@netless/fastboard-ui 1.1.2-beta.9 → 1.1.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.svelte.mjs","sources":["../src/inline-sass-content:./src/style.scss","../src/components/Icon/Icon.svelte","../src/components/Icons/Apps.svelte","../src/components/Icons/Arrow.svelte","../src/components/Icons/ArrowBolded.svelte","../src/components/Icons/Balloon.svelte","../src/components/Icons/BalloonBolded.svelte","../src/components/Icons/Circle.svelte","../src/components/Icons/CircleBolded.svelte","../src/components/Icons/Clear.svelte","../src/components/Icons/Click.svelte","../src/components/Icons/ClickFilled.svelte","../src/components/Icons/Diamond.svelte","../src/components/Icons/Down.svelte","../src/components/Icons/Drag.svelte","../src/components/Icons/DragFilled.svelte","../src/components/Icons/Eraser.svelte","../src/components/Icons/EraserFilled.svelte","../src/components/Icons/Laser.svelte","../src/components/Icons/LaserFilled.svelte","../src/components/Icons/Left.svelte","../src/components/Icons/Line.svelte","../src/components/Icons/LineBolded.svelte","../src/components/Icons/Minus.svelte","../src/components/Icons/Pencil.svelte","../src/components/Icons/PencilFilled.svelte","../src/components/Icons/Plus.svelte","../src/components/Icons/Rectangle.svelte","../src/components/Icons/RectangleBolded.svelte","../src/components/Icons/Redo.svelte","../src/components/Icons/Reset.svelte","../src/components/Icons/Rhombus.svelte","../src/components/Icons/RhombusBolded.svelte","../src/components/Icons/Right.svelte","../src/components/Icons/Selector.svelte","../src/components/Icons/SelectorFilled.svelte","../src/components/Icons/SpeechBalloon.svelte","../src/components/Icons/Star.svelte","../src/components/Icons/StarBolded.svelte","../src/components/Icons/Text.svelte","../src/components/Icons/TextFilled.svelte","../src/components/Icons/Triangle.svelte","../src/components/Icons/TriangleBolded.svelte","../src/components/Icons/Undo.svelte","../src/components/Icons/Up.svelte","../src/components/Icons/WhiteboardAdd.svelte","../src/components/Icons/Play.svelte","../src/components/Icons/Pause.svelte","../src/components/Icons/Loading.svelte","../src/components/Icons/LaserPen.svelte","../src/components/Icons/LaserPenFilled.svelte","../src/components/Icons/MarkPen.svelte","../src/components/Icons/MarkPenFilled.svelte","../src/components/Icons/EraserBitmap.svelte","../src/components/Icons/EraserBitmapFilled.svelte","../src/components/Icons/index.ts","../src/actions/tippy.ts","../src/components/Button/Button.svelte","../src/components/RedoUndo/RedoUndo.svelte","../src/components/PageControl/PageControl.svelte","../src/components/helpers.ts","../src/components/ZoomControl/ZoomControl.svelte","../src/actions/height.ts","../src/components/Toolbar/components/constants.ts","../src/actions/scroll.ts","../src/behaviors/apps.ts","../src/components/Toolbar/components/helper.ts","../src/components/Toolbar/components/Slider.svelte","../src/components/Toolbar/components/StrokeWidth.svelte","../src/components/Toolbar/components/StrokeColor.svelte","../src/components/Toolbar/components/TextColor.svelte","../src/components/Toolbar/components/SelectShapes.svelte","../src/components/Toolbar/definitions/Clicker.svelte","../src/components/Toolbar/definitions/Selector.svelte","../src/components/Toolbar/definitions/Pencil.svelte","../src/components/Toolbar/definitions/Text.svelte","../src/components/Toolbar/definitions/Shapes.svelte","../src/components/Toolbar/definitions/Eraser.svelte","../src/components/Toolbar/definitions/Clear.svelte","../src/components/Toolbar/definitions/Hand.svelte","../src/components/Toolbar/definitions/Laser.svelte","../src/components/Toolbar/components/EraserSize.svelte","../src/components/Toolbar/components/Contents.svelte","../src/components/Toolbar/Toolbar.svelte","../src/components/PlayerControl/PlayerControl.svelte","../src/components/Fastboard/ReplayFastboard.svelte","../src/components/Fastboard/Fastboard.svelte","../src/helpers/index.ts"],"sourcesContent":[".tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:\"\";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}.tippy-box[data-theme~=light]{color:#26323d;box-shadow:0 0 20px 4px #9aa1b126,0 4px 80px -8px #24282f40,0 4px 4px -2px #5b5e6926;background-color:#fff}.tippy-box[data-theme~=light][data-placement^=top]>.tippy-arrow:before{border-top-color:#fff}.tippy-box[data-theme~=light][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#fff}.tippy-box[data-theme~=light][data-placement^=left]>.tippy-arrow:before{border-left-color:#fff}.tippy-box[data-theme~=light][data-placement^=right]>.tippy-arrow:before{border-right-color:#fff}.tippy-box[data-theme~=light]>.tippy-backdrop{background-color:#fff}.tippy-box[data-theme~=light]>.tippy-svg-arrow{fill:#fff}.fastboard-icon.light .fastboard-icon-stroke-color{stroke:var(--fastboard-color, #5d6066)}.fastboard-icon.light .fastboard-icon-fill-color{fill:var(--fastboard-color, #5d6066)}.fastboard-icon.light.is-active .fastboard-icon-stroke-color{stroke:var(--fastboard-active-color, #3381ff)}.fastboard-icon.light.is-active .fastboard-icon-fill-color{fill:var(--fastboard-active-color, #3381ff)}.fastboard-icon.dark .fastboard-icon-stroke-color{stroke:var(--fastboard-color, #7b7e84)}.fastboard-icon.dark .fastboard-icon-fill-color{fill:var(--fastboard-color, #7b7e84)}.fastboard-icon.dark.is-active .fastboard-icon-stroke-color{stroke:var(--fastboard-active-color, #2867cc)}.fastboard-icon.dark.is-active .fastboard-icon-fill-color{fill:var(--fastboard-active-color, #2867cc)}.fastboard-redo-undo{box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid;border-radius:4px;font-size:14px;font-family:system-ui;pointer-events:auto;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.fastboard-redo-undo *{box-sizing:inherit}.fastboard-redo-undo.light{color:var(--fastboard-color, #5d6066);background-color:var(--fastboard-bg-color, rgba(255, 255, 255, .9));border-color:var(--fastboard-border-color, #e5e8f0)}.fastboard-redo-undo.dark{color:var(--fastboard-color, #7b7e84);background-color:var(--fastboard-bg-color, rgba(20, 24, 30, .9));border-color:var(--fastboard-border-color, #383b42)}.fastboard-redo-undo-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:0;width:24px;height:24px;background-color:#0000;border-radius:4px;font-size:0;line-height:1;flex-shrink:0}.fastboard-redo-undo-btn svg,.fastboard-redo-undo-btn img{width:100%;height:100%;pointer-events:none}.fastboard-redo-undo-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-redo-undo-btn.light:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-redo-undo-btn.dark:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-zoom-control{box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid;border-radius:4px;font-size:14px;font-family:system-ui;pointer-events:auto;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.fastboard-zoom-control *{box-sizing:inherit}.fastboard-zoom-control.light{color:var(--fastboard-color, #5d6066);background-color:var(--fastboard-bg-color, rgba(255, 255, 255, .9));border-color:var(--fastboard-border-color, #e5e8f0)}.fastboard-zoom-control.dark{color:var(--fastboard-color, #7b7e84);background-color:var(--fastboard-bg-color, rgba(20, 24, 30, .9));border-color:var(--fastboard-border-color, #383b42)}.fastboard-zoom-control-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:0;width:24px;height:24px;background-color:#0000;border-radius:4px;font-size:0;line-height:1;flex-shrink:0}.fastboard-zoom-control-btn svg,.fastboard-zoom-control-btn img{width:100%;height:100%;pointer-events:none}.fastboard-zoom-control-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-zoom-control-btn.light:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-zoom-control-btn.dark:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-zoom-control-text{font-variant-numeric:tabular-nums}.fastboard-page-control{box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid;border-radius:4px;font-size:14px;font-family:system-ui;pointer-events:auto;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.fastboard-page-control *{box-sizing:inherit}.fastboard-page-control.light{color:var(--fastboard-color, #5d6066);background-color:var(--fastboard-bg-color, rgba(255, 255, 255, .9));border-color:var(--fastboard-border-color, #e5e8f0)}.fastboard-page-control.dark{color:var(--fastboard-color, #7b7e84);background-color:var(--fastboard-bg-color, rgba(20, 24, 30, .9));border-color:var(--fastboard-border-color, #383b42)}.fastboard-page-control-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:0;width:24px;height:24px;background-color:#0000;border-radius:4px;font-size:0;line-height:1;flex-shrink:0}.fastboard-page-control-btn svg,.fastboard-page-control-btn img{width:100%;height:100%;pointer-events:none}.fastboard-page-control-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-page-control-btn.light:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-page-control-btn.dark:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-page-control-text{font-variant-numeric:tabular-nums}.fastboard-player-control{box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid;border-radius:4px;font-size:14px;font-family:system-ui;pointer-events:auto;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);width:100%}.fastboard-player-control *{box-sizing:inherit}.fastboard-player-control.light{color:var(--fastboard-color, #5d6066);background-color:var(--fastboard-bg-color, rgba(255, 255, 255, .9));border-color:var(--fastboard-border-color, #e5e8f0)}.fastboard-player-control.dark{color:var(--fastboard-color, #7b7e84);background-color:var(--fastboard-bg-color, rgba(20, 24, 30, .9));border-color:var(--fastboard-border-color, #383b42)}.fastboard-player-control-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:0;width:24px;height:24px;background-color:#0000;border-radius:4px;font-size:0;line-height:1;flex-shrink:0;display:inline}.fastboard-player-control-btn svg,.fastboard-player-control-btn img{width:100%;height:100%;pointer-events:none}.fastboard-player-control-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-player-control-btn.light:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-player-control-btn.dark:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-player-control-btn.loading svg,.fastboard-player-control-btn.loading img{animation:fastboard-player-control-rotate .5s linear infinite}@keyframes fastboard-player-control-rotate{to{transform:rotate(360deg)}}.fastboard-player-control-btn.speed{width:auto;padding:4px;text-align:right;font-size:14px;font-variant-numeric:tabular-nums}.fastboard-player-control-btn.is-active.light{color:var(--fastboard-active-color, #3381ff)}.fastboard-player-control-btn.is-active.dark{color:var(--fastboard-active-color, #2867cc)}.fastboard-player-control-speed-text,.fastboard-player-control-progress{font-size:14px;font-variant-numeric:tabular-nums;line-height:16px}.fastboard-player-control-progress{display:inline-flex;align-items:center}.fastboard-player-control-panel.speed{display:flex;flex-direction:column}.fastboard-toolbar{height:100%;display:flex;align-items:center;position:relative;transform:translate(0);transition:transform .5s cubic-bezier(.34,1.56,.64,1);pointer-events:none}.fastboard-toolbar.collapsed{transform:translate(-100%)}.fastboard-toolbar-handler{position:absolute;left:100%;width:17px;font-size:0;border-radius:3px;cursor:pointer;pointer-events:auto}.fastboard-toolbar-handler:focus-visible{outline:2px solid -webkit-focus-ring-color}.fastboard-toolbar-handler input[type=checkbox]{position:absolute;top:0;left:0;appearance:none;margin:0;width:100%;height:100%;cursor:pointer;opacity:0;z-index:-1}.fastboard-toolbar-handler svg{opacity:0;transition:opacity .5s 1s;pointer-events:none}.fastboard-toolbar-handler.light .fastboard-toolbar-handler-bg-color{fill:var(--fastboard-bg-color, rgba(255, 255, 255, .9))}.fastboard-toolbar-handler.light .fastboard-toolbar-handler-border-color{stroke:var(--fastboard-border-color, #e5e8f0)}.fastboard-toolbar-handler.light .fastboard-toolbar-handler-image-stroke-color{stroke:var(--fastboard-color, #5d6066)}.fastboard-toolbar-handler.light .fastboard-toolbar-handler-image-fill-color{fill:var(--fastboard-color, #5d6066)}.fastboard-toolbar-handler.dark .fastboard-toolbar-handler-bg-color{fill:var(--fastboard-bg-color, rgba(20, 24, 30, .9))}.fastboard-toolbar-handler.dark .fastboard-toolbar-handler-border-color{stroke:var(--fastboard-border-color, #383b42)}.fastboard-toolbar-handler.dark .fastboard-toolbar-handler-image-stroke-color{stroke:var(--fastboard-color, #7b7e84)}.fastboard-toolbar-handler.dark .fastboard-toolbar-handler-image-fill-color{fill:var(--fastboard-color, #7b7e84)}.fastboard-toolbar:hover .fastboard-toolbar-handler svg,.fastboard-toolbar.collapsed .fastboard-toolbar-handler svg{opacity:1;transition:opacity .2s}.fastboard-toolbar-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:4px;width:32px;height:32px;background-color:#0000;border-radius:4px;font-size:0;line-height:1;flex-shrink:0}.fastboard-toolbar-btn svg,.fastboard-toolbar-btn img{width:100%;height:100%;pointer-events:none}.fastboard-toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-toolbar-btn.light:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-toolbar-btn.dark:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-slider{box-sizing:border-box;position:relative;width:100%;height:100%;display:flex;align-items:center}.fastboard-slider *{box-sizing:inherit}.fastboard-slider-track{appearance:none;background:rgba(0,0,0,0);border:0;border-radius:26px;flex:1;display:block;height:19px;margin:0;width:0;min-width:0;padding:0;transition:box-shadow .3s ease;cursor:pointer;touch-action:manipulation}.fastboard-slider-track::-webkit-slider-runnable-track{border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;user-select:none;background-color:#80808040;-webkit-user-select:none;background-image:linear-gradient(to right,currentColor var(--value, 0%),transparent var(--value, 0%))}.fastboard-slider-track::-webkit-slider-thumb{background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px #23292f26,0 0 0 1px #23292f33;width:13px;height:13px;position:relative;transition:all .2s ease;cursor:grab;appearance:none;margin-top:-4px}.fastboard-slider-track::-moz-range-track{border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;user-select:none;background-color:#80808040;-webkit-user-select:none}.fastboard-slider-track::-moz-range-thumb{appearance:none;background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px #23292f26,0 0 0 1px #23292f33;width:13px;height:13px;position:relative;transition:all .2s ease;cursor:grab}.fastboard-slider-track::-moz-range-progress{background:currentColor;border-radius:2.5px;height:5px}.fastboard-slider-track::-ms-track{border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;user-select:none;background-color:#80808040;-webkit-user-select:none;color:#0000}.fastboard-slider-track::-ms-thumb{appearance:none;background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px #23292f26,0 0 0 1px #23292f33;width:13px;height:13px;position:relative;transition:all .2s ease;cursor:grab;margin-top:0}.fastboard-slider-track::-ms-tooltip{display:none}.fastboard-slider-track::-moz-focus-outer{border:0}.fastboard-slider-track.grabbing::-webkit-slider-thumb{cursor:grabbing}.fastboard-slider-track.light{color:var(--fastboard-active-color, #3381ff)}.fastboard-slider-track.dark{color:var(--fastboard-active-color, #2867cc)}.fastboard-toolbar-contents{box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;border:1px solid;border-radius:4px;font-size:14px;font-family:system-ui;pointer-events:auto;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);padding:2px 0;gap:0;flex-direction:column}.fastboard-toolbar-contents *{box-sizing:inherit}.fastboard-toolbar-contents.light{color:var(--fastboard-color, #5d6066);background-color:var(--fastboard-bg-color, rgba(255, 255, 255, .9));border-color:var(--fastboard-border-color, #e5e8f0)}.fastboard-toolbar-contents.dark{color:var(--fastboard-color, #7b7e84);background-color:var(--fastboard-bg-color, rgba(20, 24, 30, .9));border-color:var(--fastboard-border-color, #383b42)}.fastboard-toolbar-contents>.fastboard-toolbar-btn{margin:2px 4px}.fastboard-toolbar-btn-interactive{position:relative}.fastboard-toolbar-triangle{width:0px;height:0px;border-bottom:4px solid;border-left:4px solid rgba(0,0,0,0);position:absolute;bottom:0;right:0}.fastboard-toolbar-btn:focus+.fastboard-toolbar-triangle{opacity:0}.fastboard-toolbar-scrollable{padding:2px 4px;overflow:hidden;display:flex;flex-direction:column;gap:4px}.fastboard-toolbar-tooltip{display:inline-flex;align-items:center;gap:4px}.fastboard-toolbar-hotkey{display:inline-flex;margin-right:-4px;width:24px;height:24px;align-items:center;justify-content:center;background-color:#ffffff1a;border-radius:4px}.fastboard-toolbar-panel-wrapper{display:none}.fastboard-toolbar-panel-switch-pencil{display:flex}.fastboard-toolbar-panel-switch-btn{width:24px;height:24px}.fastboard-toolbar-panel{display:flex;flex-direction:column}.fastboard-toolbar-panel-divider{height:.5px;width:100%;margin:4px 0;background-color:#ffffff26}.fastboard-toolbar-colors,.fastboard-toolbar-shapes{display:grid;align-self:center;grid-template:repeat(2,1fr)/repeat(4,1fr);align-items:center;justify-items:center;gap:4px}.fastboard-toolbar-shape-btn,.fastboard-toolbar-color-btn{width:24px;height:24px;padding:0;display:inline-flex;align-items:center;justify-content:center}.fastboard-toolbar-color-btn{border:1px solid rgba(0,0,0,0)}.fastboard-toolbar-color-btn.light.is-active{border-color:var(--fastboard-active-color, #3381ff)}.fastboard-toolbar-color-btn.dark.is-active{border-color:var(--fastboard-active-color, #2867cc)}.fastboard-toolbar-color-item{display:inline-block;width:16px;height:16px;border-radius:4px;pointer-events:none}.fastboard-toolbar-panel.apps{display:grid;grid-template-columns:repeat(min(var(--n, 3),3),minmax(max-content,1fr));gap:4px}.fastboard-toolbar-app-btn{margin:0;border:0;border-radius:2px;padding:4px 6px;background-color:#0000;display:inline-flex;flex-direction:column;align-items:center;gap:4px;font-size:0}.fastboard-toolbar-app-btn:disabled{opacity:.8}.fastboard-toolbar-app-btn-icon{width:32px;height:32px;pointer-events:none}.fastboard-toolbar-app-btn-text{font-size:14px;line-height:1;max-width:100%;overflow:hidden;text-overflow:ellipsis}.fastboard-toolbar-app-btn.is-loading{cursor:progress}.fastboard-toolbar-app-btn.is-failed{cursor:not-allowed;opacity:.5}.fastboard-toolbar-app-btn:not(:disabled,.is-loading,.is-failed):hover.light{cursor:pointer;background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-toolbar-app-btn-text.light{color:var(--fastboard-color, #5d6066)}.fastboard-toolbar-app-btn:not(:disabled,.is-loading,.is-failed):hover.dark{cursor:pointer;background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-toolbar-app-btn-text.dark{color:var(--fastboard-color, #7b7e84)}.fastboard-right .fastboard-toolbar-triangle{right:auto;left:0;border-left:0;border-right:4px solid rgba(0,0,0,0)}.fastboard-right .fastboard-toolbar.collapsed{transform:translate(100%)}.fastboard-right .fastboard-toolbar-handler{left:auto;right:100%;transform:rotate(180deg)}.fastboard-root{position:relative;width:100%;height:100%;overflow:hidden}.fastboard-view{position:absolute;top:0;left:0;width:100%;height:100%}.fastboard-left,.fastboard-right{display:flex;align-items:center;position:absolute;bottom:62px;top:8px;left:0;z-index:200;pointer-events:none}.fastboard-left .fastboard-toolbar,.fastboard-right .fastboard-toolbar{padding-left:16px}.fastboard-right{left:auto;right:0}.fastboard-right .fastboard-toolbar{padding-left:0;padding-right:16px}.fastboard-bottom-left,.fastboard-bottom,.fastboard-bottom-right{display:flex;gap:10px;position:absolute;bottom:8px;left:8px;padding:8px;z-index:200;pointer-events:none}.fastboard-bottom-right{left:auto;right:8px}.fastboard-bottom{right:8px}.fastboard-left.hidden *,.hidden.fastboard-right *,.fastboard-bottom.hidden *,.fastboard-bottom-left.hidden *,.fastboard-bottom-right.hidden *{opacity:0;pointer-events:none}.fastboard-tip{font-family:inherit;color:#d5d9e0;background-color:#03060d}.fastboard-tip[data-placement^=right]>.tippy-arrow:before{top:4px;border-width:4px;border-right-color:#03060d}.fastboard-tip[data-placement^=top]>.tippy-arrow:before{left:4px;border-width:4px;border-top-color:#03060d}.fastboard-panel .tippy-content{padding:8px}.netless-whiteboard:focus-visible{outline:none}","<script lang=\"ts\">\n export let src = \"\";\n export let alt = \"\";\n export let title = \"\";\n</script>\n\n{#if src}\n <img {src} {alt} title={title || alt} />\n{:else}\n <slot />\n{/if}\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <rect\n x=\"5\"\n y=\"5\"\n width=\"6\"\n height=\"6\"\n stroke=\"#5D6066\"\n stroke-width=\"1.25\"\n stroke-linejoin=\"round\"\n class=\"fastboard-icon-stroke-color\"\n />\n <rect\n x=\"13\"\n y=\"5\"\n width=\"6\"\n height=\"6\"\n stroke=\"#5D6066\"\n stroke-width=\"1.25\"\n stroke-linejoin=\"round\"\n class=\"fastboard-icon-stroke-color\"\n />\n <rect\n x=\"5\"\n y=\"13\"\n width=\"6\"\n height=\"6\"\n stroke=\"#5D6066\"\n stroke-width=\"1.25\"\n stroke-linejoin=\"round\"\n class=\"fastboard-icon-stroke-color\"\n />\n <rect\n x=\"13\"\n y=\"13\"\n width=\"6\"\n height=\"6\"\n stroke=\"#5D6066\"\n stroke-width=\"1.25\"\n stroke-linejoin=\"round\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"M5 19 15.5 8.5M17 12l2-7-7 2 3.5 1.5L17 12Z\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.75\"\n d=\"M5 19 15.5 8.5\"\n class=\"fastboard-icon-stroke-color\"\n />\n <path fill=\"#5D6066\" d=\"m17 12 2-7-7 2 3.5 1.5L17 12Z\" class=\"fastboard-icon-fill-color\" />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"M19 7a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h2v3l2.414-2.414A2 2 0 0 1 12.828 16H17a2 2 0 0 0 2-2V7Z\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.75\"\n d=\"M19 7a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h2v3l2.414-2.414A2 2 0 0 1 12.828 16H17a2 2 0 0 0 2-2V7Z\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <rect\n width=\"16\"\n height=\"16\"\n x=\"4\"\n y=\"4\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n rx=\"8\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <rect\n width=\"16\"\n height=\"16\"\n x=\"4\"\n y=\"4\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.75\"\n rx=\"8\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n d=\"M19.6567 4.34323L13.9999 10.0001\"\n stroke=\"#5D6066\"\n stroke-width=\"1.25\"\n stroke-linejoin=\"round\"\n class=\"fastboard-icon-stroke-color\"\n />\n <path\n d=\"M8.34296 10.0001C9.90506 8.43799 12.4377 8.43799 13.9998 10.0001V10.0001C15.5619 11.5622 15.5619 14.0948 13.9998 15.6569V15.6569L8.34296 10.0001V10.0001Z\"\n stroke=\"#5D6066\"\n stroke-width=\"1.25\"\n stroke-linejoin=\"round\"\n class=\"fastboard-icon-stroke-color\"\n />\n <path\n d=\"M8.34292 10.0001L13.9998 15.6569L11.5856 19.8996L4.10028 11.4143L8.34292 10.0001Z\"\n stroke=\"#5D6066\"\n stroke-width=\"1.25\"\n stroke-linejoin=\"round\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"M10 18 6 6l12 4-6 2-2 6Z\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path fill=\"#5D6066\" d=\"M10 18 6 6l12 4-6 2-2 6Z\" class=\"fastboard-icon-fill-color\" />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n class=\"fastboard-icon-stroke-color\"\n d=\"M4.222 12 12 4.222 19.778 12 12 19.778z\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n class=\"fastboard-icon-stroke-color\"\n d=\"m16 10-2 2-2 2-2-2-2-2\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n d=\"M17.143 8.143v2.571h-3.857V6.857h2.571L12 3 8.143 6.857h2.571v3.857H6.857V8.143L3 12l1.286 1.286 2.571 2.571v-2.571h3.857v3.857H8.143L12 21l1.286-1.286 2.571-2.571h-2.571v-3.857h3.857v2.571L21 12l-3.857-3.857Z\"\n stroke=\"#5D6066\"\n stroke-width=\"1.25\"\n stroke-linejoin=\"round\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n d=\"M17.143 8.143v2.571h-3.857V6.857h2.571L12 3 8.143 6.857h2.571v3.857H6.857V8.143L3 12l1.286 1.286 2.571 2.571v-2.571h3.857v3.857H8.143L12 21l1.286-1.286 2.571-2.571h-2.571v-3.857h3.857v2.571L21 12l-3.857-3.857Z\"\n fill=\"#5D6066\"\n class=\"fastboard-icon-fill-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"M13.414 4.929a2 2 0 0 1 2.829 0l2.828 2.828a2 2 0 0 1 0 2.829L12 17.656a4 4 0 0 1-5.657 0L4.93 16.244a2 2 0 0 1 0-2.829l8.485-8.485ZM12 6.343 17.657 12m-1.414-7.071-2.829 2.828m4.243-1.414-2.829 2.829m4.243-1.415-2.828 2.829\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n fill=\"#5D6066\"\n fill-rule=\"evenodd\"\n d=\"M16.242 4.929a2 2 0 0 0-2.828 0L4.93 13.414a2 2 0 0 0 0 2.829l1.414 1.414a4 4 0 0 0 5.657 0l5.215-5.215-5.657-5.657.884-.884 5.657 5.657.972-.972a2 2 0 0 0 0-2.829l-2.83-2.827Z\"\n clip-rule=\"evenodd\"\n class=\"fastboard-icon-fill-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n d=\"m11.48 10.033 2.695 2.696m-2.695-2.696-7.375 7.379a.364.364 0 0 0 0 .515l2.18 2.182a.361.361 0 0 0 .514 0l7.376-7.38m-2.695-2.696 2.438-2.438a.363.363 0 0 1 .514 0l2.18 2.182v-.001a.363.363 0 0 1 0 .514l-2.437 2.439\"\n stroke=\"#5D6066\"\n stroke-width=\"1.25\"\n stroke-linejoin=\"round\"\n class=\"fastboard-icon-stroke-color\"\n />\n <path\n d=\"M10.895 6.652a.363.363 0 0 0-.13-.182c-.348-.399-.338-1.264.032-1.634a.362.362 0 1 0-.513-.514c-.18.18-.491.286-.834.286-.343 0-.654-.107-.833-.286a.363.363 0 1 0-.514.514c.38.382.38 1.286 0 1.667a.364.364 0 0 0 .514.515c.179-.18.49-.287.833-.287.343 0 .654.107.834.287a.362.362 0 0 0 .256.106h.008a.363.363 0 0 0 .347-.472Zm6.294-.149a.366.366 0 0 0 .118.594.363.363 0 0 0 .396-.079c.18-.18.49-.287.834-.287.343 0 .654.107.832.287a.362.362 0 0 0 .258.106h.007a.363.363 0 0 0 .218-.654c-.35-.399-.338-1.264.032-1.634a.363.363 0 1 0-.515-.514c-.178.18-.49.286-.832.286-.343 0-.654-.107-.834-.286a.364.364 0 0 0-.514.514c.382.382.382 1.286 0 1.667Zm2.794 9.239a.363.363 0 0 0-.13-.182c-.35-.398-.34-1.263.03-1.633a.363.363 0 1 0-.514-.515c-.178.18-.49.287-.832.287-.343 0-.654-.107-.834-.287a.365.365 0 0 0-.514.515c.382.38.382 1.285 0 1.667a.364.364 0 0 0 .514.514c.18-.18.49-.286.834-.286.343 0 .654.107.832.286a.363.363 0 0 0 .258.107h.007a.363.363 0 0 0 .349-.473Z\"\n fill=\"#5D6066\"\n class=\"fastboard-icon-fill-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n d=\"m11.48 10.033 2.695 2.696-7.376 7.38a.361.361 0 0 1-.514 0l-2.18-2.182a.362.362 0 0 1 0-.515l7.375-7.379Zm5.133-.257a.363.363 0 0 1 0 .514l-1.925 1.925-2.694-2.696 1.924-1.924a.363.363 0 0 1 .514 0l2.18 2.182v-.001Zm-5.718-3.124a.363.363 0 0 0-.13-.182c-.348-.399-.338-1.264.032-1.634a.362.362 0 1 0-.513-.514c-.18.18-.491.286-.834.286-.343 0-.654-.107-.833-.286a.363.363 0 1 0-.514.514c.38.382.38 1.286 0 1.667a.364.364 0 0 0 .514.515c.179-.18.49-.287.833-.287.343 0 .654.107.834.287a.362.362 0 0 0 .256.106h.008a.363.363 0 0 0 .347-.472Zm6.294-.149a.366.366 0 0 0 .118.594.363.363 0 0 0 .396-.079c.18-.18.49-.287.834-.287.343 0 .654.107.832.287a.362.362 0 0 0 .258.106h.007a.363.363 0 0 0 .218-.654c-.35-.399-.338-1.264.032-1.634a.363.363 0 1 0-.515-.514c-.178.18-.49.286-.832.286-.343 0-.654-.107-.834-.286a.364.364 0 0 0-.514.514c.382.382.382 1.286 0 1.667Zm2.794 9.239a.363.363 0 0 0-.13-.182c-.35-.398-.34-1.263.03-1.633a.363.363 0 1 0-.514-.515c-.178.18-.49.287-.832.287-.343 0-.654-.107-.834-.287a.365.365 0 0 0-.514.515c.382.38.382 1.285 0 1.667a.364.364 0 0 0 .514.514c.18-.18.49-.286.834-.286.343 0 .654.107.832.286a.363.363 0 0 0 .258.107h.007a.363.363 0 0 0 .349-.473Z\"\n fill=\"#5D6066\"\n class=\"fastboard-icon-fill-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n d=\"m14 8-2 2-2 2 2 2 2 2\"\n class=\"fastboard-icon-stroke-color\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"M5 19 19 5\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.75\"\n d=\"M5 19 19 5\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n d=\"M5 12h14\"\n class=\"fastboard-icon-stroke-color\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"M15.536 4.222a2 2 0 0 1 2.828 0l1.414 1.414a2 2 0 0 1 0 2.828l-9.9 9.9-4.95.707.708-4.95 9.9-9.9Z\"\n class=\"fastboard-icon-stroke-color\"\n />\n <path\n stroke=\"#5D6066\"\n stroke-width=\"1.25\"\n d=\"m14.121 5.636 4.243 4.243\"\n class=\"fastboard-icon-stroke-color\"\n />\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"m16.243 7.757-5.657 5.657m-3.536.707v1.415h1.415v1.414h1.414\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n fill=\"#5D6066\"\n fill-rule=\"evenodd\"\n d=\"M18.364 4.222a2 2 0 0 0-2.828 0l-9.9 9.9-.707 4.95 4.95-.708 8.132-8.132-.008-.007-.008-.008-.007-.008-.008-.007-.008-.008-.008-.008-.007-.008-.008-.008-.008-.007-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.009-.009-.008-.008-.008-.008-.008-.008-.008-.009-.009-.008-.008-.008-.009-.009-.008-.008-.008-.009-.009-.008-.008-.008-.009-.009-.008-.008-.009-.009-.008-.009-.009-.008-.009-.009-.008-.008-.009-.01-.009-.008-.008-.009-.01-.008-.008-.01-.009-.008-.008-.009-.01-.009-.008-.008-.01-.01-.008-.008-.009-.01-.009-.008-.009-.01-.009-.008-.009-.01-.009-.008-.009-.01-.01-.008-.008-.01-.01-.009-.009-.009-.009-.009-.009-.01-.01-.008-.008-.01-.01-.009-.009-.01-.01-.009-.009-.009-.009-.01-.01-.009-.009-.009-.01-.01-.008-.009-.01-.01-.01-.009-.009-.01-.01-.009-.009-.01-.01-.009-.009-.01-.01-.009-.01-.01-.009-.009-.01-.01-.009-.01-.01-.009-.01-.01-.01-.01-.009-.009-.01-.01-.01-.01-.009-.01-.01-.009-.01-.01-.01-.01-.01-.01-.009-.01-.01-.01-.01-.009-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.011-.01-.01-.011-.01-.01-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.011-.011-.01-.01-.01-.011-.011-.01-.01-.01-.01-.011-.011-.01-.01-.01-.011-.011-.01-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.01-.011-.011-.01-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.011-.01-.01-.011-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.009-.01-.01-.009-.01-.01-.01-.01-.009-.01-.01-.009-.01-.01-.01-.01-.009-.009-.01-.01-.01-.01-.009-.009-.01-.01-.009-.01-.01-.009-.009-.01-.01-.009-.009-.01-.01-.009-.009-.01-.01-.009-.009-.01-.01-.009-.009-.009-.009-.01-.01-.009-.009-.009-.009-.01-.01-.009-.009-.009-.009-.01-.01-.008-.008-.01-.01-.009-.009-.009-.009-.01-.009-.008-.01-.01-.008-.008-.01-.01-.008-.009-.01-.009-.008-.009-.01-.009-.008-.008-.01-.01-.008-.008-.009-.01-.009-.008-.009-.009-.008-.009-.01-.008-.008-.01L14.777 7l-.008-.009-.01-.008-.008-.01-.008-.008-.01-.008-.008-.009-.008-.008-.009-.009-.008-.009-.009-.008-.008-.008-.009-.009-.008-.008-.008-.009-.009-.008-.008-.008-.008-.009-.009-.008-.008-.008-.008-.008-.008-.009-.008-.008-.009-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.007-.008-.008-.007-.008-.008-.008-.008-.007-.008-.008-.007-.008-.008-.007-.008-.008-.007-.008-.008-.007-.007-.008-.008-.007-.007-.008-.008-.007-.007-.007-.008-.008-.007-.007-.007-.007-.007-.008-.008-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.006-.007-.007-.007-.007-.006-.007-.007-.006-.007-.007-.006-.007-.007-.006-.006-.007-.007-.006-.006-.007-.007-.006-.006-.006-.007-.007-.006-.006-.006-.006-.006-.006-.007-.007-.006-.006-.006-.006-.006-.006-.006-.006-.006-.006-.006-.006-.006-.006-.006-.006-.006-.005-.006-.006-.005-.006-.006-.006-.006-.005-.006-.006-.005-.005-.006-.006-.005-.006-.006-.005-.005-.005-.006-.006-.005-.005-.005-.005-.006-.006-.005-.005-.005-.005-.005-.005-.005-.005-.005-.005-.006-.005-.005-.005-.004-.005-.005-.005-.005-.005-.005-.005-.005-.004-.005-.005-.004-.005-.005-.004-.005-.005-.004-.004-.005-.005-.004-.004-.004-.005-.005-.004-.004-.004-.004-.005-.005-.004-.004-.004-.004-.004-.004-.004-.004-.004-.004-.004-.004-.004-.004-.004-.004-.004-.004-.003-.004-.004-.003-.004-.004-.003-.004-.004-.003-.004-.004-.003-.003-.003-.004-.004-.003-.003-.003-.003-.004-.004-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.002-.003-.003-.002-.003-.003-.002-.002-.003-.003-.002-.003-.003-.002-.002-.002-.002-.003-.003-.002-.002-.002-.002-.002-.002-.002-.002-.002L13.779 6l-.002-.002-.002-.002-.002-.002-.002-.002-.002-.002-.001-.001.707-.708.002.002.001.002.002.002.002.002.002.001.002.002.002.002.002.002.002.003.002.002.002.002.003.002.002.003.002.002.003.002.002.003.003.002.002.003.003.003.003.002.002.003.003.003.003.003.003.003.003.003.003.002.003.004.003.003.003.003.003.003.004.003.003.003.003.004.004.003.003.004.004.003.003.004.004.003.003.004.004.004.004.003.004.004.003.004.004.004.004.004.004.004.004.004.004.004.004.004.004.004.005.004.004.004.004.005.005.004.004.004.004.005.005.004.004.005.005.004.004.005.005.005.005.004.005.005.004.005.005.005.005.005.005.004.005.005.005.005.005.005.005.005.005.006.005.005.005.005.006.005.005.006.005.005.006.005.005.006.006.005.005.006.006.005.005.006.006.005.006.006.005.006.006.005.006.006.006.006.005.006.006.006.006.006.006.006.006.006.006.006.006.006.007.006.006.006.006.006.006.007.007.006.006.006.006.007.007.006.006.007.007.006.006.007.007.006.006.007.007.006.006.007.007.007.007.006.007.007.006.007.007.007.007.007.007.007.007.006.007.007.007.007.007.007.007.008.007.007.007.007.007.007.008.007.007.007.007.008.007.007.008.007.007.008.008.007.007.008.008.007.007.008.008.007.007.008.008.007.007.008.008.008.008.007.007.008.008.008.008.007.008.008.008.008.008.008.007.008.008.008.008.008.008.008.008.008.008.008.008.008.008.008.009.008.008.008.008.008.008.009.008.008.009.008.008.009.008.008.009.008.008.009.009.008.008.008.008.009.009.008.008.009.009.008.008.009.01.009.008.008.008.009.009.009.009.008.008.009.01.009.008.008.009.01.009.008.008.009.01.009.008.009.009.008.009.01.009.008.009.01.009.008.009.01.009.008.009.01.009.009.01.009.008.009.01.009.009.01.009.008.009.01.01.009.008.009.01.01.01.009.008.009.01.01.01.009.008.009.01.01.01.009.009.01.01.009.009.01.01.009.009.01.01.009.009.01.01.009.009.01.01.009.01.01.009.01.01.009.009.01.01.01.01.009.01.01.009.01.01.01.01.009.01.01.009.01.01.01.01.01.01.009.01.01.01.01.009.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.011.01.01.01.01.011.01.01.01.01.011.01.01.01.01.011.01.01.011.01.01.011.01.01.011.01.01.01.01.011.01.01.011.01.01.011.011.01.01.01.01.011.011.01.01.01.01.011.011.01.01.011.011.01.01.01.01.011.011.01.01.011.011.01.01.011.01.01.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.01.01.011.01.01.011.011.01.01.011.011.01.01.011.01.01.011.01.01.011.011.01.01.01.01.011.011.01.01.011.01.01.011.01.01.011.01.01.011.01.01.011.01.01.011.01.01.01.01.011.01.01.011.01.01.01.01.011.01.01.011.01.01.01.01.01.01.011.01.01.01.01.011.01.01.01.01.01.01.011.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.009.01.01.009.01.01.01.01.009.009.01.01.01.01.009.01.01.009.01.01.009.009.01.01.01.01.009.009.01.01.009.009.01.01.009.009.01.01.009.009.01.009.009.01.009.009.01.01.009.008.009.01.01.01.009.008.009.01.01.009.008.01.01.008.009.01.01.009.008.009.01.009.008.01.01.008.009.01.009.008.009.01.009.008.009.01.009.008.009.009.009.009.008.009.01.009.008.008.009.01.009.008.009.009.008.008.01.01.008.008.008.008.01.01.008.008.008.008.009.009.008.008.009.009.008.008.009.009.008.008.009.009.008.008.009.008.008.009.008.008.008.008.009.008.008.009.008.008.008.008.008.008.009.008.008.008.008.008.008.008.008.008.008.008.008.008.008.008.008.008.007.008.008.008.008.007.008.008.007.008.008.007.008.008.008.008.007 1.06-1.06a2 2 0 0 0 0-2.829l-1.414-1.414Zm-9.9 10.689c.346 0 .626.28.626.625v.789h.789v1.25H8.465a.625.625 0 0 1-.625-.625v-.79h-.79a.625.625 0 0 1-.625-.624V14.12h1.25v.79h.79Z\"\n clip-rule=\"evenodd\"\n class=\"fastboard-icon-fill-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n d=\"M5 12h14m-7-7v14\"\n class=\"fastboard-icon-stroke-color\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"M5 5h14v14H5z\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.75\"\n d=\"M5 5h14v14H5z\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path fill=\"#5D6066\" d=\"m14 5 6 4-6 4 2-4-2-4Z\" class=\"fastboard-icon-fill-color\" />\n <path\n fill=\"#5D6066\"\n d=\"M8 8.375h8v1.25H8v-1.25Zm0 8h12v1.25H8v-1.25ZM3.375 13A4.625 4.625 0 0 1 8 8.375v1.25A3.375 3.375 0 0 0 4.625 13h-1.25Zm1.25 0A3.375 3.375 0 0 0 8 16.375v1.25A4.625 4.625 0 0 1 3.375 13h1.25Z\"\n class=\"fastboard-icon-fill-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <circle cx=\"12\" cy=\"12\" fill=\"#5D6066\" r=\"2\" class=\"fastboard-icon-fill-color\" />\n <path\n d=\"M12 3v4m0 10v4m9-9h-4M7 12H3\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n class=\"fastboard-icon-stroke-color\"\n />\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"7\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"M3.515 12 12 3.514 20.485 12 12 20.485z\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.75\"\n d=\"M3.515 12 12 3.514 20.485 12 12 20.485z\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n d=\"m10 8 2 2 2 2-2 2-2 2\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-dasharray=\"1.25 1.25\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"M18 11V4H4v14h7\"\n class=\"fastboard-icon-stroke-color\"\n />\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"m15 20-2-7 7 2-3.5 1.5L15 20Z\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-dasharray=\"1.25 1.25\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"M18 11V4H4v14h7\"\n class=\"fastboard-icon-stroke-color\"\n />\n <path fill=\"#5D6066\" d=\"m15 20-2-7 7 2-3.5 1.5L15 20Z\" class=\"fastboard-icon-fill-color\" />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n d=\"M17 4.5c.414 0 .79.168 1.06.44.272.27.44.646.44 1.06v9c0 .414-.168.79-.44 1.06a1.49 1.49 0 0 1-1.06.44h-4.207l-2.715 2.715-1.81-2.715H7a1.49 1.49 0 0 1-1.06-.44A1.495 1.495 0 0 1 5.5 15V6c0-.414.168-.79.44-1.06A1.49 1.49 0 0 1 7 4.5Z\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"m12 4 1.88 5.411 5.728.117-4.565 3.46 1.66 5.484L12 15.2l-4.702 3.272 1.659-5.483-4.565-3.461 5.727-.117L12 4Z\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.75\"\n d=\"m12 4 1.88 5.411 5.728.117-4.565 3.46 1.66 5.484L12 15.2l-4.702 3.272 1.659-5.483-4.565-3.461 5.727-.117L12 4Z\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"M6 7V5h5m7 2V5h-5M8 19h3m5 0h-3m-2 0V5m0 14h2M11 5h2m0 0v14\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path fill=\"#3381FF\" stroke=\"#5D6066\" d=\"M11.5 5.5h1v13h-1z\" class=\"fastboard-icon-stroke-color\" />\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"M6 7V5h5m7 2V5h-5M8 19h3m5 0h-3m-2 0V5m0 14h2M11 5h2m0 0v14\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"m12 5 8 14H4l8-14Z\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.75\"\n d=\"m12 5 8 14H4l8-14Z\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path fill=\"#5D6066\" d=\"M10 5 4 9l6 4-2-4 2-4Z\" class=\"fastboard-icon-fill-color\" />\n <path\n fill=\"#5D6066\"\n d=\"M16 8.375H8v1.25h8v-1.25Zm0 8H4v1.25h12v-1.25ZM20.625 13A4.625 4.625 0 0 0 16 8.375v1.25A3.375 3.375 0 0 1 19.375 13h1.25Zm-1.25 0A3.375 3.375 0 0 1 16 16.375v1.25A4.625 4.625 0 0 0 20.625 13h-1.25Z\"\n class=\"fastboard-icon-fill-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n d=\"m16 14-2-2-2-2-2 2-2 2\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n d=\"M4 20h16M4 6h16\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n class=\"fastboard-icon-stroke-color\"\n />\n <rect\n height=\"10\"\n rx=\"1\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n width=\"14\"\n x=\"5\"\n y=\"8\"\n class=\"fastboard-icon-stroke-color\"\n />\n <path\n d=\"M12 4v2m-3 7h6m-3-3v6\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path fill=\"#5D6066\" d=\"M8 5.14v14l11-7l-11-7z\" class=\"fastboard-icon-fill-color\" />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path fill=\"#5D6066\" d=\"M14 19h4V5h-4M6 19h4V5H6v14z\" class=\"fastboard-icon-fill-color\" />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path fill=\"#5D6066\" d=\"M12 4V2A10 10 0 0 0 2 12h2a8 8 0 0 1 8-8z\" class=\"fastboard-icon-fill-color\" />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <g stroke-width=\"1.25\" stroke-linecap=\"round\" stroke-linejoin=\"round\" transform=\"rotate(0 10 10)\">\n <path\n class=\"fastboard-icon-stroke-color\"\n clip-rule=\"evenodd\"\n d=\"m9.644 13.69 7.774-7.773a2.357 2.357 0 0 0-3.334-3.334l-7.773 7.774L8 12l1.643 1.69Z\"\n />\n <path\n class=\"fastboard-icon-stroke-color\"\n d=\"m13.25 3.417 3.333 3.333M10 10l2-2M5 15l3-3M2.156 17.894l1-1M5.453 19.029l-.144-1.407M2.377 11.887l.866 1.118M8.354 17.273l-1.194-.758M.953 14.652l1.408.13\"\n />\n </g>\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <g stroke-width=\"1.25\" stroke-linecap=\"round\" stroke-linejoin=\"round\" transform=\"rotate(0 10 10)\">\n <path\n class=\"fastboard-icon-fill-color\"\n clip-rule=\"evenodd\"\n d=\"m9.644 13.69 7.774-7.773a2.357 2.357 0 0 0-3.334-3.334l-7.773 7.774L8 12l1.643 1.69Z\"\n />\n <path\n class=\"fastboard-icon-stroke-color\"\n d=\"m13.25 3.417 3.333 3.333M10 10l2-2M5 15l3-3M2.156 17.894l1-1M5.453 19.029l-.144-1.407M2.377 11.887l.866 1.118M8.354 17.273l-1.194-.758M.953 14.652l1.408.13\"\n />\n </g>\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <g\n stroke-width=\"1\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n transform=\"scale(0.85 0.9) translate(2, 0)\"\n >\n <path\n class=\"fastboard-icon-stroke-color\"\n d=\"m15.95 2.39l5.657 5.657a1 1 0 0 1 0 1.414l-7.778 7.778l-2.122.707l-1.414 1.415a1 1 0 0 1-1.414 0l-4.243-4.243a1 1 0 0 1 0-1.414L6.05 12.29l.707-2.122l7.779-7.778a1 1 0 0 1 1.414 0m.707 3.536l-6.364 6.364l1.414 1.414l6.364-6.364zM4.283 16.886l2.828 2.828l-1.414 1.415l-4.243-1.415z\"\n />\n </g>\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <g\n stroke-width=\"1\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n transform=\"scale(0.85 0.9) translate(2, 0)\"\n >\n <path\n class=\"fastboard-icon-fill-color\"\n d=\"m15.95 2.39l5.657 5.657a1 1 0 0 1 0 1.414l-7.778 7.778l-2.122.707l-1.414 1.415a1 1 0 0 1-1.414 0l-4.243-4.243a1 1 0 0 1 0-1.414L6.05 12.29l.707-2.122l7.779-7.778a1 1 0 0 1 1.414 0m.707 3.536l-6.364 6.364l1.414 1.414l6.364-6.364zM4.283 16.886l2.828 2.828l-1.414 1.415l-4.243-1.415z\"\n />\n </g>\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <g fill=\"none\">\n <path\n fill=\"#5D6066\"\n d=\"m5.505 11.41l.53.53zM3 14.952h-.75zM9.048 21v.75zM11.41 5.505l-.53-.53zm1.831 12.34a.75.75 0 0 0 1.06-1.061zM7.216 9.697a.75.75 0 1 0-1.06 1.061zm10.749 2.362l-5.905 5.905l1.06 1.06l5.905-5.904zm-11.93-.12l5.905-5.905l-1.06-1.06l-5.905 5.904zm0 6.025c-.85-.85-1.433-1.436-1.812-1.933c-.367-.481-.473-.79-.473-1.08h-1.5c0 .749.312 1.375.78 1.99c.455.596 1.125 1.263 1.945 2.083zm-1.06-7.086c-.82.82-1.49 1.488-1.945 2.084c-.468.614-.78 1.24-.78 1.99h1.5c0-.29.106-.6.473-1.08c.38-.498.962-1.083 1.812-1.933zm7.085 7.086c-.85.85-1.435 1.433-1.933 1.813c-.48.366-.79.472-1.08.472v1.5c.75 0 1.376-.312 1.99-.78c.596-.455 1.264-1.125 2.084-1.945zm-7.085 1.06c.82.82 1.487 1.49 2.084 1.945c.614.468 1.24.78 1.989.78v-1.5c-.29 0-.599-.106-1.08-.473c-.497-.38-1.083-.962-1.933-1.812zm12.99-12.99c.85.85 1.433 1.436 1.813 1.933c.366.481.472.79.472 1.08h1.5c0-.749-.312-1.375-.78-1.99c-.455-.596-1.125-1.263-1.945-2.083zm1.06 7.086c.82-.82 1.49-1.488 1.945-2.084c.468-.614.78-1.24.78-1.99h-1.5c0 .29-.106.6-.473 1.08c-.38.498-.962 1.083-1.812 1.933zm0-8.146c-.82-.82-1.487-1.49-2.084-1.945c-.614-.468-1.24-.78-1.989-.78v1.5c.29 0 .599.106 1.08.473c.497.38 1.083.962 1.933 1.812zm-7.085 1.06c.85-.85 1.435-1.433 1.933-1.812c.48-.367.79-.473 1.08-.473v-1.5c-.75 0-1.376.312-1.99.78c-.596.455-1.264 1.125-2.084 1.945zm2.362 10.749L7.216 9.698l-1.06 1.061l7.085 7.085z\"\n class=\"fastboard-icon-fill-color\"\n />\n <path\n stroke=\"#5D6066\"\n stroke-linecap=\"round\"\n stroke-width=\"1.5\"\n d=\"M9 21h12\"\n class=\"fastboard-icon-stroke-color\"\n />\n </g>\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <g fill=\"none\">\n <path\n fill=\"#5D6066\"\n d=\"m5.505 11.41l.53.53zM3 14.952h-.75zM9.048 21v.75zM11.41 5.505l-.53-.53zm1.831 12.34a.75.75 0 0 0 1.06-1.061zM7.216 9.697a.75.75 0 1 0-1.06 1.061zm10.749 2.362l-5.905 5.905l1.06 1.06l5.905-5.904zm-11.93-.12l5.905-5.905l-1.06-1.06l-5.905 5.904zm0 6.025c-.85-.85-1.433-1.436-1.812-1.933c-.367-.481-.473-.79-.473-1.08h-1.5c0 .749.312 1.375.78 1.99c.455.596 1.125 1.263 1.945 2.083zm-1.06-7.086c-.82.82-1.49 1.488-1.945 2.084c-.468.614-.78 1.24-.78 1.99h1.5c0-.29.106-.6.473-1.08c.38-.498.962-1.083 1.812-1.933zm7.085 7.086c-.85.85-1.435 1.433-1.933 1.813c-.48.366-.79.472-1.08.472v1.5c.75 0 1.376-.312 1.99-.78c.596-.455 1.264-1.125 2.084-1.945zm-7.085 1.06c.82.82 1.487 1.49 2.084 1.945c.614.468 1.24.78 1.989.78v-1.5c-.29 0-.599-.106-1.08-.473c-.497-.38-1.083-.962-1.933-1.812zm12.99-12.99c.85.85 1.433 1.436 1.813 1.933c.366.481.472.79.472 1.08h1.5c0-.749-.312-1.375-.78-1.99c-.455-.596-1.125-1.263-1.945-2.083zm1.06 7.086c.82-.82 1.49-1.488 1.945-2.084c.468-.614.78-1.24.78-1.99h-1.5c0 .29-.106.6-.473 1.08c-.38.498-.962 1.083-1.812 1.933zm0-8.146c-.82-.82-1.487-1.49-2.084-1.945c-.614-.468-1.24-.78-1.989-.78v1.5c.29 0 .599.106 1.08.473c.497.38 1.083.962 1.933 1.812zm-7.085 1.06c.85-.85 1.435-1.433 1.933-1.812c.48-.367.79-.473 1.08-.473v-1.5c-.75 0-1.376.312-1.99.78c-.596.455-1.264 1.125-2.084 1.945zm2.362 10.749L7.216 9.698l-1.06 1.061l7.085 7.085z\"\n class=\"fastboard-icon-fill-color\"\n />\n <path\n stroke=\"#5D6066\"\n stroke-linecap=\"round\"\n stroke-width=\"1.5\"\n d=\"M9 21h12\"\n class=\"fastboard-icon-stroke-color\"\n />\n </g>\n</svg>\n","import Apps from \"./Apps.svelte\";\nimport Arrow from \"./Arrow.svelte\";\nimport ArrowBolded from \"./ArrowBolded.svelte\";\nimport Balloon from \"./Balloon.svelte\";\nimport BalloonBolded from \"./BalloonBolded.svelte\";\nimport Circle from \"./Circle.svelte\";\nimport CircleBolded from \"./CircleBolded.svelte\";\nimport Clear from \"./Clear.svelte\";\nimport Click from \"./Click.svelte\";\nimport ClickFilled from \"./ClickFilled.svelte\";\nimport Diamond from \"./Diamond.svelte\";\nimport Down from \"./Down.svelte\";\nimport Drag from \"./Drag.svelte\";\nimport DragFilled from \"./DragFilled.svelte\";\nimport Eraser from \"./Eraser.svelte\";\nimport EraserFilled from \"./EraserFilled.svelte\";\nimport Laser from \"./Laser.svelte\";\nimport LaserFilled from \"./LaserFilled.svelte\";\nimport Left from \"./Left.svelte\";\nimport Line from \"./Line.svelte\";\nimport LineBolded from \"./LineBolded.svelte\";\nimport Minus from \"./Minus.svelte\";\nimport Pencil from \"./Pencil.svelte\";\nimport PencilFilled from \"./PencilFilled.svelte\";\nimport Plus from \"./Plus.svelte\";\nimport Rectangle from \"./Rectangle.svelte\";\nimport RectangleBolded from \"./RectangleBolded.svelte\";\nimport Redo from \"./Redo.svelte\";\nimport Reset from \"./Reset.svelte\";\nimport Rhombus from \"./Rhombus.svelte\";\nimport RhombusBolded from \"./RhombusBolded.svelte\";\nimport Right from \"./Right.svelte\";\nimport Selector from \"./Selector.svelte\";\nimport SelectorFilled from \"./SelectorFilled.svelte\";\nimport SpeechBalloon from \"./SpeechBalloon.svelte\";\nimport Star from \"./Star.svelte\";\nimport StarBolded from \"./StarBolded.svelte\";\nimport Text from \"./Text.svelte\";\nimport TextFilled from \"./TextFilled.svelte\";\nimport Triangle from \"./Triangle.svelte\";\nimport TriangleBolded from \"./TriangleBolded.svelte\";\nimport Undo from \"./Undo.svelte\";\nimport Up from \"./Up.svelte\";\nimport WhiteboardAdd from \"./WhiteboardAdd.svelte\";\nimport Play from \"./Play.svelte\";\nimport Pause from \"./Pause.svelte\";\nimport Loading from \"./Loading.svelte\";\nimport LaserPen from \"./LaserPen.svelte\";\nimport LaserPenFilled from \"./LaserPenFilled.svelte\";\nimport MarkPen from \"./MarkPen.svelte\";\nimport MarkPenFilled from \"./MarkPenFilled.svelte\";\nimport EraserBitmap from \"./EraserBitmap.svelte\";\nimport EraserBitmapFilled from \"./EraserBitmapFilled.svelte\";\n\nconst Icons = {\n Apps,\n Arrow,\n ArrowBolded,\n Balloon,\n BalloonBolded,\n Circle,\n CircleBolded,\n Clear,\n Click,\n ClickFilled,\n Diamond,\n Down,\n Drag,\n DragFilled,\n Eraser,\n EraserFilled,\n Laser,\n LaserFilled,\n Left,\n Line,\n LineBolded,\n Minus,\n Pencil,\n PencilFilled,\n Plus,\n Rectangle,\n RectangleBolded,\n Redo,\n Reset,\n Rhombus,\n RhombusBolded,\n Right,\n Selector,\n SelectorFilled,\n SpeechBalloon,\n Star,\n StarBolded,\n Text,\n TextFilled,\n Triangle,\n TriangleBolded,\n Undo,\n Up,\n WhiteboardAdd,\n Play,\n Pause,\n Loading,\n LaserPen,\n LaserPenFilled,\n MarkPen,\n MarkPenFilled,\n EraserBitmap,\n EraserBitmapFilled,\n};\n\nexport default Icons;\n","import type { Instance, Props } from \"tippy.js\";\nimport type { SvelteAction } from \"../typings\";\n\nimport Tippy from \"tippy.js\";\n\nif (typeof window !== \"undefined\") {\n Tippy.setDefaultProps({\n delay: [1000, 400],\n duration: 300,\n offset: [0, 11],\n theme: \"dark\",\n plugins: [\n {\n name: \"className\",\n defaultValue: \"\",\n fn(instance) {\n function add() {\n const el = instance.popper.firstElementChild;\n if (el) {\n el.classList.add(\"fastboard-tip\");\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const extra = ((instance.props as any).className || \"\").trim();\n if (extra) {\n el.classList.add(extra);\n }\n }\n }\n\n function remove() {\n instance.popper.firstElementChild?.classList.remove(\"fastboard-tip\");\n }\n\n return {\n onCreate: add,\n onBeforeUpdate: remove,\n onAfterUpdate: add,\n };\n },\n },\n ],\n });\n}\n\nexport const tippy: SvelteAction<Partial<Props & { className: string }>> = function (node, props) {\n const instance = Tippy(node, props);\n\n return {\n update(props: Partial<Props & { className: string }>) {\n instance.setProps(props);\n },\n destroy() {\n instance.destroy();\n },\n };\n};\n\nexport function tippy_hide_all() {\n document.querySelectorAll(\"[data-tippy-root]\").forEach(el => {\n const instance = (el as unknown as { _tippy: Instance })._tippy;\n if (instance) instance.hide();\n });\n}\n\nexport const tippy_menu: Partial<Props> = {\n delay: 0,\n duration: [50, 300],\n placement: \"right-start\",\n interactive: true,\n trigger: \"click\",\n};\n","<script lang=\"ts\">\n import type { Content, Placement } from \"tippy.js\";\n import type { Theme } from \"../../typings\";\n import { tippy, tippy_menu } from \"../../actions/tippy\";\n\n let className = \"\";\n export { className as class };\n export let name = \"fastboard-ui\";\n export let theme: Theme = \"light\";\n export let disabled = false;\n export let content: Content = \"\";\n export let placement: Placement = \"top\";\n export let menu: Content = \"\";\n export let menu_placement: Placement = \"right-start\";\n</script>\n\n{#if content}\n {#if menu}\n <span class=\"{name}-btn-interactive {theme}\" use:tippy={{ content, placement, className }}>\n <button\n class=\"{name}-btn {className} {theme}\"\n {disabled}\n on:click\n use:tippy={{\n content: menu,\n ...tippy_menu,\n placement: menu_placement,\n appendTo: document.body,\n theme,\n className: \"fastboard-panel\",\n }}\n >\n <slot />\n </button>\n <span class=\"{name}-triangle\" />\n </span>\n {:else}\n <button\n class=\"{name}-btn {className} {theme}\"\n {disabled}\n on:click\n use:tippy={{ content, placement, className }}\n >\n <slot />\n </button>\n {/if}\n{:else}\n <button class=\"{name}-btn {className} {theme}\" {disabled} on:click>\n <slot />\n </button>\n{/if}\n","<script lang=\"ts\" context=\"module\">\n import type { FastboardApp } from \"@netless/fastboard-core\";\n import type { GenericIcon, I18nData, IconType, Language, Theme } from \"../../typings\";\n const i18n: I18nData<\"redo\" | \"undo\"> = {\n en: {\n redo: \"Redo\",\n undo: \"Undo\",\n },\n \"zh-CN\": {\n redo: \"重做\",\n undo: \"撤销\",\n },\n };\n</script>\n\n<script lang=\"ts\">\n import Icon from \"../Icon\";\n import Icons from \"../Icons\";\n import Button from \"../Button\";\n\n export let app: FastboardApp | null | undefined = null;\n export let theme: Theme = \"light\";\n export let language: Language = \"en\";\n export let icons: GenericIcon<\"undo\" | \"redo\"> | undefined = undefined;\n\n const name = \"fastboard-redo-undo\";\n\n $: writable = app?.writable;\n $: phase = app?.phase;\n $: disabled = !($writable && $phase === \"connected\");\n $: t = i18n[language];\n\n let type: IconType;\n $: type = disabled ? \"disable\" : \"normal\";\n\n $: undoSteps = app?.canUndoSteps;\n $: redoSteps = app?.canRedoSteps;\n $: undo_disabled = disabled || !$undoSteps;\n $: redo_disabled = disabled || !$redoSteps;\n\n function undo() {\n app?.undo();\n }\n\n function redo() {\n app?.redo();\n }\n</script>\n\n<div class=\"{name} {theme}\">\n <Button class=\"undo\" {name} {theme} disabled={undo_disabled} on:click={undo} content={t.undo}>\n <Icon src={icons?.undo[type]} alt=\"[undo]\">\n <Icons.Undo {theme} />\n </Icon>\n </Button>\n <Button class=\"redo\" {name} {theme} disabled={redo_disabled} on:click={redo} content={t.redo}>\n <Icon src={icons?.redo[type]} alt=\"[redo]\">\n <Icons.Redo {theme} />\n </Icon>\n </Button>\n</div>\n","<script lang=\"ts\" context=\"module\">\n import type { FastboardApp } from \"@netless/fastboard-core\";\n import type { GenericIcon, I18nData, IconType, Language, Theme } from \"../../typings\";\n const i18n: I18nData<\"prev\" | \"next\" | \"add\"> = {\n en: {\n prev: \"Prev Page\",\n next: \"Next Page\",\n add: \"Add Page\",\n },\n \"zh-CN\": {\n prev: \"上一页\",\n next: \"下一页\",\n add: \"添加页面\",\n },\n };\n</script>\n\n<script lang=\"ts\">\n import Icon from \"../Icon\";\n import Icons from \"../Icons\";\n import Button from \"../Button\";\n\n export let app: FastboardApp | null | undefined = null;\n export let theme: Theme = \"light\";\n export let language: Language = \"en\";\n export let icons: GenericIcon<\"prev\" | \"next\" | \"add\"> | undefined = undefined;\n\n const name = \"fastboard-page-control\";\n\n $: writable = app?.writable;\n $: phase = app?.phase;\n $: disabled = !($writable && $phase === \"connected\");\n $: t = i18n[language];\n\n let type: IconType;\n $: type = disabled ? \"disable\" : \"normal\";\n\n $: index = app?.sceneIndex;\n $: length = app?.sceneLength;\n $: prev_disabled = disabled || !$index;\n $: next_disabled = disabled || $length == null || $index === $length - 1;\n\n function prevPage() {\n app?.prevPage();\n }\n\n function nextPage() {\n app?.nextPage();\n }\n\n function addPage() {\n app?.addPage({ after: true });\n app?.nextPage();\n }\n</script>\n\n<div class=\"{name} {theme}\">\n <Button class=\"prev\" {name} {theme} disabled={prev_disabled} on:click={prevPage} content={t.prev}>\n <Icon src={icons?.prev[type]} alt=\"[prev]\">\n <Icons.Left {theme} />\n </Icon>\n </Button>\n <span class=\"{name}-text {theme}\">\n {#if $index == null || $length == null}\n &hellip;\n {:else}\n {$index + 1}/{$length}\n {/if}\n </span>\n <Button class=\"next\" {name} {theme} disabled={next_disabled} on:click={nextPage} content={t.next}>\n <Icon src={icons?.next[type]} alt=\"[next]\">\n <Icons.Right {theme} />\n </Icon>\n </Button>\n <Button class=\"add\" {name} {theme} {disabled} on:click={addPage} content={t.add}>\n <Icon src={icons?.add[type]} alt=\"[add]\">\n <Icons.WhiteboardAdd {theme} />\n </Icon>\n </Button>\n</div>\n","export function clamp(value: number, min: number, max: number) {\n return value < min ? min : value > max ? max : value;\n}\n","<script lang=\"ts\" context=\"module\">\n import type { FastboardApp } from \"@netless/fastboard-core\";\n import type { GenericIcon, I18nData, IconType, Language, Theme } from \"../../typings\";\n import { clamp } from \"../helpers\";\n\n const i18n: I18nData<\"plus\" | \"minus\" | \"reset\"> = {\n en: {\n plus: \"Zoom In\",\n minus: \"Zoom Out\",\n reset: \"Reset\",\n },\n \"zh-CN\": {\n plus: \"放大\",\n minus: \"缩小\",\n reset: \"重置\",\n },\n };\n\n const scales: readonly number[] = [\n 0.3, 0.4096000000000002, 0.5120000000000001, 0.6400000000000001, 0.8, 1, 1.26, 1.5876000000000001,\n 2.000376, 2.5204737600000002, 3,\n ];\n\n function next_scale(scale: number, delta: 1 | -1) {\n const { length } = scales;\n const last = length - 1;\n if (scale < scales[0]) return scales[0];\n if (scale > scales[last]) return scales[last];\n for (let i = 0; i < length; ++i) {\n const cur = scales[i];\n const prev = i === 0 ? -Infinity : (scales[i - 1] + cur) / 2;\n const next = i === last ? Infinity : (scales[i + 1] + cur) / 2;\n if (prev <= scale && scale <= next) return scales[clamp(i + delta, 0, last)];\n }\n return 1;\n }\n</script>\n\n<script lang=\"ts\">\n import Icon from \"../Icon\";\n import Icons from \"../Icons\";\n import Button from \"../Button\";\n\n export let app: FastboardApp | null | undefined = null;\n export let theme: Theme = \"light\";\n export let language: Language = \"en\";\n export let icons: GenericIcon<\"plus\" | \"minus\" | \"reset\"> | undefined = undefined;\n\n const name = \"fastboard-zoom-control\";\n\n $: writable = app?.writable;\n $: phase = app?.phase;\n $: disabled = !($writable && $phase === \"connected\");\n $: t = i18n[language];\n\n let type: IconType;\n $: type = disabled ? \"disable\" : \"normal\";\n\n $: camera = app?.camera;\n $: scale = $camera?.scale ?? 1;\n $: plus_disabled = disabled || next_scale(scale, 1) === scale;\n $: minus_disabled = disabled || next_scale(scale, -1) === scale;\n\n function plus() {\n app?.moveCamera({ scale: next_scale(scale, 1), centerX: 0, centerY: 0 });\n }\n\n function minus() {\n app?.moveCamera({ scale: next_scale(scale, -1), centerX: 0, centerY: 0 });\n }\n\n function reset() {\n app?.moveCamera({ scale: 1, centerX: 0, centerY: 0 });\n }\n</script>\n\n<div class=\"{name} {theme}\">\n <Button class=\"plus\" {name} {theme} disabled={plus_disabled} on:click={plus} content={t.plus}>\n <Icon src={icons?.plus[type]} alt=\"[plus]\">\n <Icons.Plus {theme} />\n </Icon>\n </Button>\n <span class=\"{name}-text {theme}\">\n {#if $camera == null}\n &hellip;\n {:else}\n {Math.ceil(scale * 100)}%\n {/if}\n </span>\n <Button class=\"minus\" {name} {theme} disabled={minus_disabled} on:click={minus} content={t.minus}>\n <Icon src={icons?.minus[type]} alt=\"[minus]\">\n <Icons.Minus {theme} />\n </Icon>\n </Button>\n <Button class=\"reset\" {name} {theme} {disabled} on:click={reset} content={t.reset}>\n <Icon src={icons?.reset[type]} alt=\"[reset]\">\n <Icons.Reset {theme} />\n </Icon>\n </Button>\n</div>\n","import type { Writable } from \"svelte/store\";\nimport type { SvelteAction } from \"../typings\";\n\nexport const height: SvelteAction<Writable<number>> = function (node, height) {\n const styles = getComputedStyle(node);\n const paddings =\n (parseInt(styles.paddingTop) || 0) +\n (parseInt(styles.paddingBottom) || 0) +\n (parseInt(styles.borderTopWidth) || 0) +\n (parseInt(styles.borderBottomWidth) || 0);\n\n const observer = new ResizeObserver(() => {\n height.set(node.getBoundingClientRect().height - paddings);\n });\n\n observer.observe(node);\n\n return {\n update(new_height) {\n height = new_height;\n },\n destroy() {\n observer.disconnect();\n },\n };\n};\n\nexport const scrollHeight: SvelteAction<Writable<number>> = function (node, height) {\n const observer = new ResizeObserver(() => {\n height.set(node.scrollHeight);\n });\n\n observer.observe(node);\n\n return {\n update(new_height) {\n height = new_height;\n },\n destroy() {\n observer.disconnect();\n },\n };\n};\n","import type { Appliance, Color } from \"@netless/fastboard-core\";\nimport type { I18nData, ToolbarItem } from \"../../../typings\";\nimport Icons from \"../../Icons\";\n\nexport const default_items: ToolbarItem[] = [\n \"clicker\",\n \"selector\",\n \"pencil\",\n \"text\",\n \"shapes\",\n \"eraser\",\n \"clear\",\n];\n\nexport const colors: Record<string, Color> = {\n \"#E02020\": [224, 32, 32],\n \"#F7B500\": [247, 181, 0],\n \"#6DD400\": [109, 212, 0],\n \"#32C5FF\": [50, 197, 255],\n \"#0091FF\": [0, 145, 255],\n \"#6236FF\": [98, 54, 255],\n \"#B620E0\": [182, 32, 224],\n \"#6D7278\": [109, 114, 120],\n};\n\nexport const colorKeys = Object.keys(colors);\n\nexport const default_colors: Color[] = Object.values(colors);\n\nexport const shapes = [\n \"rectangle\",\n \"ellipse\",\n \"straight\",\n \"arrow\",\n \"pentagram\",\n \"rhombus\",\n \"triangle\",\n \"speechBalloon\",\n] as const;\n\nexport type Shape = (typeof shapes)[number];\n\nexport const applianceShapes = shapes.slice(0, 4) as Appliance[];\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const shapesIcon: Record<Shape, any> = {\n rectangle: Icons.Rectangle,\n ellipse: Icons.Circle,\n straight: Icons.Line,\n arrow: Icons.Arrow,\n pentagram: Icons.Star,\n rhombus: Icons.Rhombus,\n triangle: Icons.Triangle,\n speechBalloon: Icons.Balloon,\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const shapesIconActive: Record<Shape, any> = {\n rectangle: Icons.RectangleBolded,\n ellipse: Icons.CircleBolded,\n straight: Icons.LineBolded,\n arrow: Icons.ArrowBolded,\n pentagram: Icons.StarBolded,\n rhombus: Icons.RhombusBolded,\n triangle: Icons.TriangleBolded,\n speechBalloon: Icons.BalloonBolded,\n};\n\nexport const i18n: I18nData<ToolbarItem | \"apps\"> = {\n en: {\n clicker: \"clicker\",\n selector: \"selector\",\n pencil: \"pencil\",\n eraser: \"eraser\",\n text: \"text\",\n shapes: \"shapes\",\n clear: \"clear\",\n apps: \"apps\",\n hand: \"hand\",\n laserPointer: \"laser pointer\",\n },\n \"zh-CN\": {\n clicker: \"点击\",\n selector: \"选择\",\n pencil: \"铅笔\",\n eraser: \"橡皮\",\n text: \"文字\",\n shapes: \"形状\",\n clear: \"清屏\",\n apps: \"Apps\",\n hand: \"抓手\",\n laserPointer: \"激光笔\",\n },\n};\n","import type { Writable } from \"svelte/store\";\nimport type { SvelteAction } from \"../typings\";\n\nexport const scrollTop: SvelteAction<Writable<number>> = function (node, value) {\n const listener = (top: number) => {\n node.scrollTo({ top, behavior: \"smooth\" });\n };\n\n let timer = 0;\n\n function on_scroll() {\n clearTimeout(timer);\n timer = window.setTimeout(() => value.set(node.scrollTop), 200);\n }\n\n node.addEventListener(\"scroll\", on_scroll);\n\n let unsubscribe = value.subscribe(listener);\n\n return {\n update(new_value) {\n unsubscribe();\n unsubscribe = (value = new_value).subscribe(listener);\n },\n destroy() {\n clearTimeout(timer);\n node.removeEventListener(\"scroll\", on_scroll);\n unsubscribe();\n },\n };\n};\n","import type { FastboardApp } from \"@netless/fastboard-core\";\nimport code_editor_svg from \"./icons/visual-studio-code.svg\";\nimport geogebra_svg from \"./icons/geogebra.svg\";\nimport countdown_svg from \"./icons/countdown.svg\";\n\nexport interface AppInToolbar {\n kind: string;\n icon: string;\n label: string;\n onClick: (app: FastboardApp) => void;\n}\n\nclass AppsInToolbar {\n _listeners: Array<(data: AppInToolbar[]) => void> = [];\n constructor(private _data: AppInToolbar[]) {}\n get data() {\n return this._data;\n }\n get length() {\n return this._data.length;\n }\n subscribe(fn: (data: AppInToolbar[]) => void) {\n this._listeners.push(fn);\n fn(this._data);\n return () => {\n this._listeners = this._listeners.filter(item => item !== fn);\n };\n }\n push(...data: AppInToolbar[]) {\n this._data.push(...data);\n this._listeners.forEach(fn => fn(this._data));\n }\n insert(data: AppInToolbar, index: number) {\n this._data.splice(index, 0, data);\n this._listeners.forEach(fn => fn(this._data));\n }\n delete(filter: (data: AppInToolbar) => boolean) {\n this._data = this._data.filter(item => !filter(item));\n this._listeners.forEach(fn => fn(this._data));\n }\n clear() {\n this._data.length = 0;\n this._listeners.forEach(fn => fn(this._data));\n }\n}\n\nexport type { AppsInToolbar };\n\nexport const apps = new AppsInToolbar([\n {\n kind: \"Monaco\",\n icon: code_editor_svg,\n label: \"Code Editor\",\n onClick(app) {\n app.manager.addApp({\n kind: \"Monaco\",\n options: { title: \"Code Editor\" },\n });\n },\n },\n {\n kind: \"GeoGebra\",\n icon: geogebra_svg,\n label: \"GeoGebra\",\n onClick(app) {\n app.manager.addApp({\n kind: \"GeoGebra\",\n options: { title: \"GeoGebra\" },\n });\n },\n },\n {\n kind: \"Countdown\",\n icon: countdown_svg,\n label: \"Countdown\",\n onClick(app) {\n app.manager.addApp({\n kind: \"Countdown\",\n options: { title: \"Countdown\" },\n });\n },\n },\n]);\n","import type { Color, HotKey } from \"@netless/fastboard-core\";\nimport { element, attr, append } from \"svelte/internal\";\n\n/**\n * ```svelte\n * <span class=\"fastboard-toolbar-tooltip\">\n * <span>{text}</span>\n * <span class=\"fastboard-toolbar-hotkey\">{hotkey.toUpperCase()}</span>\n * </span>\n * ```\n */\nexport function tooltip(text: string, hotkey?: HotKey) {\n if (!hotkey || typeof hotkey !== \"string\") return text;\n const outer = element(\"span\");\n const inner = element(\"span\");\n inner.textContent = text;\n const hotkey_span = element(\"span\");\n hotkey_span.textContent = hotkey.toUpperCase();\n attr(outer, \"class\", \"fastboard-toolbar-tooltip\");\n attr(hotkey_span, \"class\", \"fastboard-toolbar-hotkey\");\n append(outer, inner);\n append(outer, hotkey_span);\n return outer;\n}\n\nexport function rgbToHex(r: number, g: number, b: number) {\n const hex = ((r << 16) + (g << 8) + b).toString(16).padStart(6, \"0\");\n return \"#\" + hex;\n}\n\nexport function hexToRgb(hex: string): Color {\n // 移除可能存在的 # 符号\n hex = hex.replace(/^#/, \"\");\n\n // 确保 hex 是 6 位\n if (hex.length !== 6) {\n throw new Error(\"Invalid hex color\");\n }\n\n // 解析每两个字符为一个十进制数\n const r = parseInt(hex.slice(0, 2), 16);\n const g = parseInt(hex.slice(2, 4), 16);\n const b = parseInt(hex.slice(4, 6), 16);\n\n return [r, g, b];\n}\n","<script lang=\"ts\">\n import type { Theme } from \"../../../typings\";\n import { createEventDispatcher } from \"svelte\";\n\n const dispatch = createEventDispatcher<{ change: number }>();\n\n let className = \"\";\n export { className as class };\n export let theme: Theme = \"light\";\n export let min = 0;\n export let max = 100;\n export let step = 0.01;\n export let value = 30;\n export let disabled = false;\n\n const name = \"fastboard-slider\";\n\n let real_value = value;\n let grabbing = false;\n\n function on_down() {\n grabbing = true;\n }\n\n function on_change() {\n grabbing = false;\n value = real_value;\n dispatch(\"change\", value);\n }\n\n $: if (value !== real_value && !grabbing) {\n real_value = value;\n }\n $: percent = (100 * (real_value - min)) / (max - min);\n</script>\n\n<div class=\"{name} {className} {theme}\" style=\"--value:{percent}%\">\n <input\n class=\"{name}-track {theme}\"\n class:grabbing\n type=\"range\"\n {disabled}\n {min}\n {max}\n {step}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={value}\n bind:value={real_value}\n on:pointerdown={on_down}\n on:change={on_change}\n />\n</div>\n","<script lang=\"ts\">\n import type { FastboardApp } from \"@netless/fastboard-core\";\n import type { Theme } from \"../../../typings\";\n import Slider from \"./Slider.svelte\";\n\n export let app: FastboardApp | null | undefined = null;\n export let theme: Theme = \"light\";\n export let disabled = false;\n\n $: memberState = app?.memberState;\n $: value = $memberState?.strokeWidth ?? 1;\n\n $: props = { value, theme, disabled };\n\n function set_stroke_width({ detail: value }: CustomEvent<number>) {\n app?.setStrokeWidth(value);\n }\n</script>\n\n<Slider class=\"fastboard-toolbar-slider\" {...props} min={1} max={32} on:change={set_stroke_width} />\n","<script lang=\"ts\">\n import type { Color, FastboardApp } from \"@netless/fastboard-core\";\n import type { Theme } from \"../../../typings\";\n import { default_colors } from \"./constants\";\n import { hexToRgb, rgbToHex } from \"./helper\";\n\n export let app: FastboardApp | null | undefined = null;\n export let theme: Theme = \"light\";\n export let disabled = false;\n export let colors: Color[] = default_colors;\n\n $: memberState = app?.memberState;\n $: strokeColor = $memberState?.strokeColor;\n\n function is_equal_color(a?: Color, b?: Color) {\n return a && b && a.every((v, i) => v === b[i]);\n }\n\n function set_stroke_color(ev: MouseEvent) {\n let button = ev.target as HTMLButtonElement | null;\n if (button && button.dataset.colorKey) {\n let color = button.dataset.colorKey;\n if (color && app) {\n app.setStrokeColor(hexToRgb(color));\n }\n }\n }\n</script>\n\n<!-- svelte-ignore a11y-click-events-have-key-events -->\n<div class=\"fastboard-toolbar-colors {theme}\" on:click={set_stroke_color}>\n {#each colors as color}\n <button\n class=\"fastboard-toolbar-btn fastboard-toolbar-color-btn {theme}\"\n class:is-active={is_equal_color(strokeColor, color)}\n data-color-key={rgbToHex(color[0], color[1], color[2])}\n {disabled}\n >\n <span\n class=\"fastboard-toolbar-color-item\"\n style:background-color={rgbToHex(color[0], color[1], color[2])}\n />\n </button>\n {/each}\n</div>\n","<script lang=\"ts\">\n import type { Color, FastboardApp } from \"@netless/fastboard-core\";\n import type { Theme } from \"../../../typings\";\n import { default_colors } from \"./constants\";\n import { hexToRgb, rgbToHex } from \"./helper\";\n\n export let app: FastboardApp | null | undefined = null;\n export let theme: Theme = \"light\";\n export let disabled = false;\n export let colors: Color[] = default_colors;\n\n $: memberState = app?.memberState;\n $: textColor = $memberState?.textColor;\n\n function is_equal_color(a?: Color, b?: Color) {\n return a && b && a.every((v, i) => v === b[i]);\n }\n\n function set_stroke_color(ev: MouseEvent) {\n let button = ev.target as HTMLButtonElement | null;\n if (button && button.dataset.colorKey) {\n let color = button.dataset.colorKey;\n if (color && app) {\n app.setTextColor(hexToRgb(color));\n }\n }\n }\n</script>\n\n<!-- svelte-ignore a11y-click-events-have-key-events -->\n<div class=\"fastboard-toolbar-colors {theme}\" on:click={set_stroke_color}>\n {#each colors as color}\n <button\n class=\"fastboard-toolbar-btn fastboard-toolbar-color-btn {theme}\"\n class:is-active={is_equal_color(textColor, color)}\n data-color-key={rgbToHex(color[0], color[1], color[2])}\n {disabled}\n >\n <span\n class=\"fastboard-toolbar-color-item\"\n style:background-color={rgbToHex(color[0], color[1], color[2])}\n />\n </button>\n {/each}\n</div>\n","<script lang=\"ts\" context=\"module\">\n import type { I18nData, Language, Theme } from \"../../../typings\";\n import type { Shape } from \"./constants\";\n\n const i18n: I18nData<Shape> = {\n en: {\n rectangle: \"Rectangle\",\n ellipse: \"Ellipse\",\n straight: \"Line\",\n arrow: \"Arrow\",\n pentagram: \"Star\",\n rhombus: \"Diamond\",\n triangle: \"Triangle\",\n speechBalloon: \"Balloon\",\n },\n \"zh-CN\": {\n rectangle: \"矩形\",\n ellipse: \"椭圆\",\n straight: \"直线\",\n arrow: \"箭头\",\n pentagram: \"五角星\",\n rhombus: \"菱形\",\n triangle: \"三角形\",\n speechBalloon: \"气泡\",\n },\n };\n</script>\n\n<script lang=\"ts\">\n import type { Appliance, FastboardApp, HotKey } from \"@netless/fastboard-core\";\n import { tippy } from \"../../../actions/tippy\";\n import { shapes, shapesIcon, shapesIconActive, applianceShapes } from \"./constants\";\n import { tooltip } from \"./helper\";\n\n export let app: FastboardApp | null | undefined = null;\n export let theme: Theme = \"light\";\n export let language: Language = \"en\";\n export let disabled = false;\n\n $: t = i18n[language];\n $: memberState = app?.memberState;\n $: appliance = $memberState?.currentApplianceName;\n $: shape = $memberState?.shapeType;\n $: hotkeys = app?.hotKeys;\n let c: Partial<Record<Shape, HotKey>>;\n $: c = {\n rectangle: hotkeys?.changeToRectangle,\n ellipse: hotkeys?.changeToEllipse,\n straight: hotkeys?.changeToStraight,\n arrow: hotkeys?.changeToArrow,\n };\n\n function set_appliance_or_shape(ev: MouseEvent) {\n let button = ev.target as HTMLButtonElement | null;\n if (button && button.dataset.shapeKey) {\n let shape = button.dataset.shapeKey as Shape;\n if (shape && app) {\n if (applianceShapes.includes(shape as Appliance)) {\n app.setAppliance(shape as Appliance);\n } else {\n app.setAppliance(\"shape\", shape as Exclude<Shape, Appliance>);\n }\n }\n }\n }\n</script>\n\n<!-- svelte-ignore a11y-click-events-have-key-events -->\n<div class=\"fastboard-toolbar-shapes {theme}\" on:click={set_appliance_or_shape}>\n {#each shapes as key (key)}\n {@const is_selected = appliance === \"shape\" ? shape === key : appliance === key}\n <button\n class=\"fastboard-toolbar-btn fastboard-toolbar-shape-btn {theme} {key}\"\n class:is-active={is_selected}\n data-shape-key={key}\n {disabled}\n use:tippy={{ content: tooltip(t[key], c[key]), placement: \"top\" }}\n >\n {#if is_selected}\n <svelte:component this={shapesIconActive[key]} {theme} active />\n {:else}\n <svelte:component this={shapesIcon[key]} {theme} />\n {/if}\n </button>\n {/each}\n</div>\n","<script lang=\"ts\">\n import type { ApplianceNames } from \"@netless/fastboard-core\";\n import type { Theme } from \"../../../typings\";\n import Button, { type ButtonProps } from \"../../Button\";\n import Icons from \"../../Icons\";\n\n export let btn_props: Partial<ButtonProps> = {};\n export let content: ButtonProps[\"content\"] | undefined;\n export let appliance: ApplianceNames | undefined;\n export let theme: Theme = \"light\";\n</script>\n\n<Button class=\"clicker\" {...btn_props} on:click {content}>\n {#if appliance === \"clicker\"}\n <Icons.ClickFilled {theme} active />\n {:else}\n <Icons.Click {theme} />\n {/if}\n</Button>\n","<script lang=\"ts\">\n import type { ApplianceNames } from \"@netless/fastboard-core\";\n import type { Theme } from \"../../../typings\";\n import Button, { type ButtonProps } from \"../../Button\";\n import Icons from \"../../Icons\";\n\n export let btn_props: Partial<ButtonProps> = {};\n export let content: ButtonProps[\"content\"] | undefined;\n export let appliance: ApplianceNames | undefined;\n export let theme: Theme = \"light\";\n</script>\n\n<Button class=\"selector\" {...btn_props} on:click {content}>\n {#if appliance === \"selector\"}\n <Icons.SelectorFilled {theme} active />\n {:else}\n <Icons.Selector {theme} />\n {/if}\n</Button>\n","<script lang=\"ts\">\n import type { ApplianceNames } from \"@netless/fastboard-core\";\n import type { Theme } from \"../../../typings\";\n import Button, { type ButtonProps } from \"../../Button\";\n import Icons from \"../../Icons\";\n\n export let btn_props: Partial<ButtonProps> = {};\n export let content: ButtonProps[\"content\"] | undefined;\n export let menu: ButtonProps[\"menu\"] | undefined;\n export let appliance: ApplianceNames | undefined;\n export let theme: Theme = \"light\";\n export let pencilType: string = \"pencil\";\n</script>\n\n<Button class=\"pencil\" {...btn_props} on:click {content} {menu}>\n {#if pencilType === \"mark\"}\n {#if appliance === \"pencil\"}\n <Icons.MarkPenFilled {theme} active />\n {:else}\n <Icons.MarkPen {theme} />\n {/if}\n {:else if pencilType === \"laser\"}\n {#if appliance === \"pencil\"}\n <Icons.LaserPenFilled {theme} active />\n {:else}\n <Icons.LaserPen {theme} />\n {/if}\n {:else if pencilType === \"pencil\"}\n {#if appliance === \"pencil\"}\n <Icons.PencilFilled {theme} active />\n {:else}\n <Icons.Pencil {theme} />\n {/if}\n {/if}\n</Button>\n","<script lang=\"ts\">\n import type { ApplianceNames } from \"@netless/fastboard-core\";\n import type { Theme } from \"../../../typings\";\n import Button, { type ButtonProps } from \"../../Button\";\n import Icons from \"../../Icons\";\n\n export let btn_props: Partial<ButtonProps> = {};\n export let content: ButtonProps[\"content\"] | undefined;\n export let menu: ButtonProps[\"menu\"] | undefined;\n export let appliance: ApplianceNames | undefined;\n export let theme: Theme = \"light\";\n</script>\n\n<Button class=\"text\" {...btn_props} on:click {content} {menu}>\n {#if appliance === \"text\"}\n <Icons.TextFilled {theme} active />\n {:else}\n <Icons.Text {theme} />\n {/if}\n</Button>\n","<script lang=\"ts\">\n import type { Appliance, ApplianceNames, FastboardApp } from \"@netless/fastboard-core\";\n import type { Theme } from \"../../../typings\";\n import { applianceShapes, shapesIcon, shapesIconActive, type Shape } from \"../components/constants\";\n import Button, { type ButtonProps } from \"../../Button\";\n\n export let app: FastboardApp | null | undefined = null;\n export let btn_props: Partial<ButtonProps> = {};\n export let content: ButtonProps[\"content\"] | undefined;\n export let menu: ButtonProps[\"menu\"] | undefined;\n export let appliance: ApplianceNames | undefined;\n export let theme: Theme = \"light\";\n\n $: memberState = app?.memberState;\n $: appliance = $memberState?.currentApplianceName;\n $: shape = $memberState?.shapeType;\n\n let last_shape: Shape = \"rectangle\";\n\n $: if (applianceShapes.includes(appliance as Appliance)) {\n last_shape = appliance as Shape;\n } else if (shape) {\n last_shape = shape;\n }\n\n function select_last_shape() {\n if (applianceShapes.includes(last_shape as Appliance)) {\n app?.setAppliance(last_shape as Appliance);\n } else {\n app?.setAppliance(\"shape\", last_shape as Exclude<Shape, Appliance>);\n }\n }\n</script>\n\n<Button class=\"shapes\" {...btn_props} on:click={select_last_shape} {content} {menu}>\n {#if appliance === last_shape || (appliance === \"shape\" && shape === last_shape)}\n <svelte:component this={shapesIconActive[last_shape]} {theme} active />\n {:else}\n <svelte:component this={shapesIcon[last_shape]} {theme} />\n {/if}\n</Button>\n","<script lang=\"ts\">\n import type { ApplianceNames } from \"@netless/fastboard-core\";\n import type { Theme } from \"../../../typings\";\n import Button, { type ButtonProps } from \"../../Button\";\n import Icons from \"../../Icons\";\n\n export let btn_props: Partial<ButtonProps> = {};\n export let content: ButtonProps[\"content\"] | undefined;\n export let appliance: ApplianceNames | undefined;\n export let theme: Theme = \"light\";\n export let menu: ButtonProps[\"menu\"] | undefined;\n export let eraserType: string = \"eraser\";\n</script>\n\n<Button class=\"eraser\" {...btn_props} on:click {content} {menu}>\n {#if eraserType === \"eraser\"}\n {#if appliance === \"eraser\"}\n <Icons.EraserFilled {theme} active />\n {:else}\n <Icons.Eraser {theme} />\n {/if}\n {:else if eraserType === \"pencilEraser\"}\n {#if appliance === \"pencilEraser\"}\n <Icons.EraserBitmapFilled {theme} active />\n {:else}\n <Icons.EraserBitmap {theme} />\n {/if}\n {/if}\n</Button>\n","<script lang=\"ts\">\n import type { Theme } from \"../../../typings\";\n import Button, { type ButtonProps } from \"../../Button\";\n import Icons from \"../../Icons\";\n\n export let btn_props: Partial<ButtonProps> = {};\n export let content: ButtonProps[\"content\"] | undefined;\n export let theme: Theme = \"light\";\n</script>\n\n<Button class=\"clear\" {...btn_props} on:click {content}>\n <Icons.Clear {theme} />\n</Button>\n","<script lang=\"ts\">\n import type { ApplianceNames } from \"@netless/fastboard-core\";\n import type { Theme } from \"../../../typings\";\n import Button, { type ButtonProps } from \"../../Button\";\n import Icons from \"../../Icons\";\n\n export let btn_props: Partial<ButtonProps> = {};\n export let content: ButtonProps[\"content\"] | undefined;\n export let appliance: ApplianceNames | undefined;\n export let theme: Theme = \"light\";\n</script>\n\n<Button class=\"hand\" {...btn_props} on:click {content}>\n {#if appliance === \"hand\"}\n <Icons.DragFilled {theme} active />\n {:else}\n <Icons.Drag {theme} />\n {/if}\n</Button>\n","<script lang=\"ts\">\n import type { ApplianceNames } from \"@netless/fastboard-core\";\n import type { Theme } from \"../../../typings\";\n import Button, { type ButtonProps } from \"../../Button\";\n import Icons from \"../../Icons\";\n\n export let btn_props: Partial<ButtonProps> = {};\n export let content: ButtonProps[\"content\"] | undefined;\n export let appliance: ApplianceNames | undefined;\n export let theme: Theme = \"light\";\n</script>\n\n<Button class=\"laserPointer\" {...btn_props} on:click {content}>\n {#if appliance === \"laserPointer\"}\n <Icons.LaserFilled {theme} active />\n {:else}\n <Icons.Laser {theme} />\n {/if}\n</Button>\n","<script lang=\"ts\">\n import type { FastboardApp, ExtendMemberState } from \"@netless/fastboard-core\";\n import type { Theme } from \"../../../typings\";\n import Slider from \"./Slider.svelte\";\n\n export let app: FastboardApp | null | undefined = null;\n export let theme: Theme = \"light\";\n export let disabled = false;\n\n $: memberState = app?.memberState;\n $: value = $memberState?.pencilEraserSize ?? 1;\n\n $: props = { value, theme, disabled };\n\n function set_eraser_size({ detail: value }: CustomEvent<number>) {\n app?.appliancePlugin?.setMemberState({\n pencilEraserSize: value,\n } as ExtendMemberState);\n }\n</script>\n\n<Slider class=\"fastboard-toolbar-slider\" {...props} min={1} max={4} on:change={set_eraser_size} />\n","<script lang=\"ts\">\n import type { FastboardApp, ExtendMemberState } from \"@netless/fastboard-core\";\n import type { Writable } from \"svelte/store\";\n import type { Language, Theme, ToolbarItem } from \"../../../typings\";\n import { writable } from \"svelte/store\";\n import { scrollHeight } from \"../../../actions/height\";\n import { scrollTop } from \"../../../actions/scroll\";\n import { tippy_hide_all } from \"../../../actions/tippy\";\n import { clamp } from \"../../helpers\";\n import { default_colors, default_items, i18n } from \"./constants\";\n import { apps } from \"../../../behaviors\";\n import { tooltip } from \"./helper\";\n import Icons from \"../../Icons\";\n import Button, { type ButtonProps } from \"../../Button\";\n\n import StrokeWidth from \"./StrokeWidth.svelte\";\n import StrokeColor from \"./StrokeColor.svelte\";\n import TextColor from \"./TextColor.svelte\";\n import SelectShapes from \"./SelectShapes.svelte\";\n\n import Clicker from \"../definitions/Clicker.svelte\";\n import Selector from \"../definitions/Selector.svelte\";\n import Pencil from \"../definitions/Pencil.svelte\";\n import Text from \"../definitions/Text.svelte\";\n import Shapes from \"../definitions/Shapes.svelte\";\n import Eraser from \"../definitions/Eraser.svelte\";\n import Clear from \"../definitions/Clear.svelte\";\n import Hand from \"../definitions/Hand.svelte\";\n import Laser from \"../definitions/Laser.svelte\";\n import EraserSize from \"./EraserSize.svelte\";\n\n export let app: FastboardApp | null | undefined = null;\n export let theme: Theme = \"light\";\n export let language: Language = \"en\";\n export let disabled = false;\n export let scroll_height: Writable<number>;\n export let computed_height = 0;\n export let scrollable = false;\n export let placement: \"left\" | \"right\" = \"left\";\n export let items: ToolbarItem[] = default_items;\n export let hide_apps = false;\n export let colors = default_colors;\n\n const name = \"fastboard-toolbar\";\n\n let pencil_panel: HTMLDivElement;\n let text_panel: HTMLDivElement;\n let shapes_panel: HTMLDivElement;\n let apps_panel: HTMLDivElement;\n let eraser_panel: HTMLDivElement;\n\n let btn_props: Partial<ButtonProps>;\n $: btn_props = {\n name,\n theme,\n disabled,\n placement: placement === \"left\" ? \"right\" : \"left\",\n menu_placement: placement === \"left\" ? \"right-start\" : \"left-start\",\n };\n\n $: t = i18n[language];\n $: hotkeys = app?.hotKeys;\n $: c = {\n clicker: tooltip(t.clicker, hotkeys?.changeToClick),\n selector: tooltip(t.selector, hotkeys?.changeToSelector),\n pencil: tooltip(t.pencil, hotkeys?.changeToPencil),\n eraser: tooltip(t.eraser, hotkeys?.changeToEraser),\n text: tooltip(t.text, hotkeys?.changeToText),\n hand: tooltip(t.hand, hotkeys?.changeToHand),\n laserPointer: tooltip(t.laserPointer, hotkeys?.changeToLaserPointer),\n };\n\n $: memberState = app?.memberState;\n $: appliance = $memberState?.currentApplianceName;\n $: status = app?.appsStatus;\n\n $: max_scroll = scrollable ? $scroll_height + (32 + 8) * 2 - computed_height : 0;\n\n $: hasAppliancePlugin = !!app?.appliancePlugin;\n $: hasUseLaserPen = (hasAppliancePlugin && ($memberState as ExtendMemberState)?.useLaserPen) || false;\n $: hasUseMarkPen =\n (hasAppliancePlugin && ($memberState as ExtendMemberState)?.strokeOpacity === 0.5) || false;\n $: pencilType = hasUseLaserPen ? \"laser\" : hasUseMarkPen ? \"mark\" : \"pencil\";\n $: hasUseEraserBitmap = hasAppliancePlugin && ($memberState as ExtendMemberState)?.isLine === false;\n $: eraserType = hasUseEraserBitmap ? \"pencilEraser\" : \"eraser\";\n\n let top = writable(0);\n\n function scroll_up() {\n $top = clamp($top - 32 - 4, 0, max_scroll);\n }\n function scroll_down() {\n $top = clamp($top + 32 + 4, 0, max_scroll);\n }\n\n function clicker() {\n app?.setAppliance(\"clicker\");\n }\n function selector() {\n app?.setAppliance(\"selector\");\n }\n function pencil() {\n if (hasAppliancePlugin) {\n if (appliance !== \"pencil\") {\n if (pencilType === \"mark\") {\n useMarkPen();\n } else if (pencilType === \"laser\") {\n useLaserPen();\n } else {\n usePencil();\n }\n }\n } else {\n usePencil();\n }\n }\n function text() {\n app?.setAppliance(\"text\");\n }\n function eraser() {\n if (hasAppliancePlugin) {\n if (appliance !== \"eraser\") {\n if (eraserType === \"pencilEraser\") {\n useEraserBitmap();\n } else {\n useEraser();\n }\n }\n } else {\n useEraser();\n }\n }\n function hand() {\n app?.setAppliance(\"hand\");\n }\n function laserPointer() {\n app?.setAppliance(\"laserPointer\");\n }\n function clear() {\n app?.cleanCurrentScene();\n }\n function usePencil() {\n if (hasAppliancePlugin) {\n app?.appliancePlugin?.setMemberState({\n currentApplianceName: \"pencil\",\n strokeType: \"Stroke\",\n useLaserPen: false,\n strokeOpacity: 1,\n } as ExtendMemberState);\n } else {\n app?.setAppliance(\"pencil\");\n }\n }\n function useLaserPen() {\n app?.appliancePlugin?.setMemberState({\n currentApplianceName: \"laserPen\",\n useLaserPen: true,\n strokeOpacity: 1,\n } as ExtendMemberState);\n }\n function useMarkPen() {\n app?.appliancePlugin?.setMemberState({\n currentApplianceName: \"pencil\",\n useLaserPen: false,\n strokeOpacity: 0.5,\n } as ExtendMemberState);\n }\n function useEraser() {\n if (hasAppliancePlugin) {\n app?.appliancePlugin?.setMemberState({\n currentApplianceName: \"eraser\",\n isLine: true,\n } as ExtendMemberState);\n } else {\n app?.setAppliance(\"eraser\");\n }\n }\n function useEraserBitmap() {\n app?.appliancePlugin?.setMemberState({\n currentApplianceName: \"pencilEraser\",\n isLine: false,\n } as ExtendMemberState);\n }\n</script>\n\n{#if scrollable}\n <Button class=\"scroll-up\" {...btn_props} on:click={scroll_up}>\n <Icons.Up {theme} />\n </Button>\n{/if}\n<div class=\"{name}-scrollable\" class:scrollable use:scrollHeight={scroll_height} use:scrollTop={top}>\n {#each items as item}\n {#if item === \"clicker\"}\n <Clicker {appliance} {theme} {btn_props} on:click={clicker} content={c.clicker} />\n {:else if item === \"selector\"}\n <Selector {appliance} {theme} {btn_props} on:click={selector} content={c.selector} />\n {:else if item === \"pencil\"}\n <Pencil\n {pencilType}\n {appliance}\n {theme}\n {btn_props}\n on:click={pencil}\n content={c.pencil}\n menu={pencil_panel}\n />\n {:else if item === \"text\"}\n <Text {appliance} {theme} {btn_props} on:click={text} content={c.text} menu={text_panel} />\n {:else if item === \"shapes\"}\n <Shapes {app} {appliance} {theme} {btn_props} content={t.shapes} menu={shapes_panel} />\n {:else if item === \"eraser\"}\n <Eraser\n {eraserType}\n {appliance}\n {theme}\n {btn_props}\n on:click={eraser}\n content={c.eraser}\n menu={hasAppliancePlugin ? eraser_panel : undefined}\n />\n {:else if item === \"clear\"}\n <Clear {theme} {btn_props} on:click={clear} content={t.clear} />\n {:else if item === \"hand\"}\n <Hand {appliance} {theme} {btn_props} on:click={hand} content={c.hand} />\n {:else if item === \"laserPointer\"}\n <Laser {appliance} {theme} {btn_props} on:click={laserPointer} content={c.laserPointer} />\n {/if}\n {/each}\n {#if !hide_apps}\n <Button\n class=\"apps\"\n {...btn_props}\n content={t.apps}\n menu={apps_panel}\n menu_placement={placement === \"left\" ? \"right-end\" : \"left-end\"}\n >\n <Icons.Apps {theme} />\n </Button>\n {/if}\n</div>\n{#if scrollable}\n <Button class=\"scroll-down\" {name} {theme} {disabled} on:click={scroll_down}>\n <Icons.Down {theme} />\n </Button>\n{/if}\n\n<div class=\"{name}-panel-wrapper\" style=\"display:none\">\n <div class=\"{name}-panel pencil\" bind:this={pencil_panel}>\n <div class=\"{name}-panel-switch-pencil\">\n {#if !!app?.appliancePlugin}\n {#if pencilType !== \"pencil\"}\n <Button class=\"{name}-panel-switch-btn\" {...btn_props} on:click={usePencil}>\n <Icons.Pencil {theme} />\n </Button>\n {:else if pencilType === \"pencil\"}\n <Button class=\"{name}-panel-switch-btn\" {...btn_props}>\n <Icons.PencilFilled {theme} active />\n </Button>\n {/if}\n\n {#if pencilType === \"laser\"}\n <Button class=\"{name}-panel-switch-btn\" {...btn_props}>\n <Icons.LaserPenFilled {theme} active />\n </Button>\n {:else if pencilType !== \"laser\"}\n <Button class=\"{name}-panel-switch-btn\" {...btn_props} on:click={useLaserPen}>\n <Icons.LaserPen {theme} />\n </Button>\n {/if}\n\n {#if pencilType === \"mark\"}\n <Button class=\"{name}-panel-switch-btn\" {...btn_props}>\n <Icons.MarkPenFilled {theme} active />\n </Button>\n {:else if pencilType !== \"mark\"}\n <Button class=\"{name}-panel-switch-btn\" {...btn_props} on:click={useMarkPen}>\n <Icons.MarkPen {theme} />\n </Button>\n {/if}\n {/if}\n </div>\n <StrokeWidth {app} {theme} {disabled} />\n <div class=\"{name}-panel-divider\" />\n <StrokeColor {app} {theme} {disabled} {colors} />\n </div>\n <div class=\"{name}-panel text\" bind:this={text_panel}>\n <TextColor {app} {theme} {disabled} {colors} />\n </div>\n <div class=\"{name}-panel shapes\" bind:this={shapes_panel}>\n <SelectShapes {app} {theme} {language} {disabled} />\n <div class=\"{name}-panel-divider\" />\n <StrokeWidth {app} {theme} {disabled} />\n <div class=\"{name}-panel-divider\" />\n <StrokeColor {app} {theme} {disabled} {colors} />\n </div>\n <div class=\"{name}-panel earser\" bind:this={eraser_panel}>\n <div class=\"{name}-panel-switch-earser\">\n {#if !!app?.appliancePlugin}\n {#if eraserType !== \"eraser\"}\n <Button class=\"{name}-panel-switch-btn\" {...btn_props} on:click={useEraser}>\n <Icons.Eraser {theme} />\n </Button>\n {:else if eraserType === \"eraser\"}\n <Button class=\"{name}-panel-switch-btn\" {...btn_props}>\n <Icons.EraserFilled {theme} active />\n </Button>\n {/if}\n\n {#if eraserType === \"pencilEraser\"}\n <Button class=\"{name}-panel-switch-btn\" {...btn_props}>\n <Icons.EraserBitmap {theme} active />\n </Button>\n {:else if eraserType !== \"pencilEraser\"}\n <Button class=\"{name}-panel-switch-btn\" {...btn_props} on:click={useEraserBitmap}>\n <Icons.EraserBitmapFilled {theme} />\n </Button>\n {/if}\n {/if}\n </div>\n <EraserSize {app} {theme} {disabled} />\n </div>\n <div class=\"{name}-panel apps\" style=\"--n:{$apps.length}\" bind:this={apps_panel}>\n {#each $apps as netless_app}\n {@const { icon, label, kind, onClick } = netless_app}\n {@const state = $status && $status[kind]}\n {@const on_click = () => {\n app && onClick(app);\n tippy_hide_all();\n }}\n <button\n class=\"{name}-app-btn {kind} {theme}\"\n class:is-loading={state && state.status === \"loading\"}\n class:is-failed={state && state.status === \"failed\"}\n title={label + (state && state.reason ? \": \" + state.reason : \"\")}\n data-app-kind={netless_app.kind}\n disabled={state && state.status !== \"idle\"}\n on:click={on_click}\n >\n <img class=\"{name}-app-btn-icon {theme}\" src={icon} alt={kind} title={label} />\n <span class=\"{name}-app-btn-text {theme}\">{label}</span>\n </button>\n {/each}\n </div>\n</div>\n","<script lang=\"ts\">\n import type { Color, FastboardApp } from \"@netless/fastboard-core\";\n import type { Language, Theme, ToolbarConfig } from \"../../typings\";\n import { writable as svelte_writable } from \"svelte/store\";\n import { height } from \"../../actions/height\";\n import { clamp } from \"../helpers\";\n import { default_items, default_colors } from \"./components/constants\";\n import Contents from \"./components/Contents.svelte\";\n\n export let app: FastboardApp | null | undefined = null;\n export let theme: Theme = \"light\";\n export let language: Language = \"en\";\n export let config: ToolbarConfig = {};\n export let colors: Color[] | undefined = undefined;\n\n const name = \"fastboard-toolbar\";\n const extra_height = (32 + 4 + 4) * 2;\n\n $: writable = app?.writable;\n $: phase = app?.phase;\n $: disabled = !($writable && $phase === \"connected\");\n\n let collapsed = config.collapsed;\n let container_height = svelte_writable(0);\n let scroll_height = svelte_writable(0);\n\n $: computed_height = clamp($container_height, extra_height, $scroll_height + extra_height);\n $: scrollable = $scroll_height + extra_height > $container_height;\n\n $: placement = config.placement || \"left\";\n $: items = config.items || default_items;\n $: hide_apps = config.apps?.enable === false;\n\n $: if (app?.manager && app?.manager.room) {\n if (colors && !config.colors?.length) {\n const floatBarOptions = (app?.manager.room as any).floatBarOptions as { colors?: Color[] };\n if (floatBarOptions?.colors) {\n colors = floatBarOptions.colors as Color[];\n }\n } else {\n colors = config.colors;\n }\n } else {\n colors = default_colors;\n }\n</script>\n\n<div class=\"{name} {theme}\" class:collapsed use:height={container_height}>\n <div class=\"{name}-contents {theme}\" style:height={scrollable ? computed_height + \"px\" : \"auto\"}>\n <Contents\n {app}\n {theme}\n {language}\n {disabled}\n {scroll_height}\n {computed_height}\n {scrollable}\n {placement}\n {items}\n {hide_apps}\n {colors}\n />\n </div>\n <label class=\"{name}-handler {theme}\">\n <input type=\"checkbox\" bind:checked={collapsed} />\n <svg fill=\"none\" stroke-width=\"2\" viewBox=\"0 0 32 120\">\n <path\n fill=\"#fff\"\n stroke=\"none\"\n d=\"m0 0 24 16q6 4 6 14v60q0 10-6 14L0 120\"\n class=\"{name}-handler-bg-color\"\n />\n <path stroke=\"#000\" d=\"m0 0 24 16q6 4 6 14v60q0 10-6 14L0 120\" class=\"{name}-handler-border-color\" />\n {#if collapsed}\n <path stroke=\"#000\" d=\"M10 52v16\" class=\"{name}-handler-image-stroke-color\" />\n <path fill=\"#000\" stroke=\"none\" d=\"M14 52v16l8-8z\" class=\"{name}-handler-image-fill-color\" />\n {:else}\n <path stroke=\"#000\" d=\"M20 52v16\" class=\"{name}-handler-image-stroke-color\" />\n <path fill=\"#000\" stroke=\"none\" d=\"M16 52v16l-8-8z\" class=\"{name}-handler-image-fill-color\" />\n {/if}\n </svg>\n </label>\n</div>\n","<script lang=\"ts\" context=\"module\">\n import type { FastboardPlayer } from \"@netless/fastboard-core\";\n import type { GenericIcon, I18nData, IconType, Language, Theme } from \"../../typings\";\n\n const speeds = [2.0, 1.5, 1.25, 1.0, 0.75, 0.5];\n\n const i18n: I18nData<\"play\" | \"pause\" | \"speed\"> = {\n en: {\n play: \"Play\",\n pause: \"Pause\",\n speed: \"Speed\",\n },\n \"zh-CN\": {\n play: \"播放\",\n pause: \"暂停\",\n speed: \"速度\",\n },\n };\n\n function format(ms: number) {\n const s = Math.floor(ms / 1000);\n const m = Math.floor(s / 60);\n return String(m).padStart(2, \"0\") + \":\" + String(s % 60).padStart(2, \"0\");\n }\n</script>\n\n<script lang=\"ts\">\n import Icon from \"../Icon\";\n import Icons from \"../Icons\";\n import Button from \"../Button\";\n import Slider from \"../Toolbar/components/Slider.svelte\";\n\n export let player: FastboardPlayer | null | undefined = null;\n export let theme: Theme = \"light\";\n export let language: Language = \"en\";\n export let icons: GenericIcon<\"play\" | \"pause\" | \"loading\"> | undefined = undefined;\n\n const name = \"fastboard-player-control\";\n\n $: t = i18n[language];\n\n let type: IconType;\n $: type = disabled ? \"disable\" : \"normal\";\n\n $: canPlay = player?.canplay;\n $: disabled = !canPlay;\n $: duration = player?.duration;\n $: current = player?.currentTime;\n $: playbackRate = player?.playbackRate;\n\n $: phase = player?.phase;\n $: loading = $phase === \"waitingFirstFrame\" || $phase === \"buffering\";\n $: playing = $phase === \"playing\";\n $: className = [loading ? \"loading\" : \"\", playing ? \"pause\" : \"play\"].filter(Boolean).join(\" \");\n\n let speed_panel: HTMLDivElement;\n\n function toggle() {\n if (!player) return;\n switch (player.player.phase) {\n case \"waitingFirstFrame\":\n case \"pause\":\n case \"ended\": {\n player.play();\n break;\n }\n case \"playing\": {\n player.pause();\n break;\n }\n }\n }\n\n function seek({ detail: seconds }: CustomEvent<number>) {\n if (!player) return;\n player.seek(seconds * 1000);\n }\n\n function setPlaybackRate(speed: number) {\n if (!player) return;\n player.setPlaybackRate(speed);\n }\n</script>\n\n<div class=\"{name} {theme}\">\n <Button\n class={className}\n {name}\n {theme}\n {disabled}\n on:click={toggle}\n content={loading ? \"\" : playing ? t.pause : t.play}\n >\n {#if loading}\n <Icon src={icons?.loading[type]} alt=\"[loading]\">\n <Icons.Loading {theme} />\n </Icon>\n {:else if playing}\n <Icon src={icons?.pause[type]} alt=\"[pause]\">\n <Icons.Pause {theme} />\n </Icon>\n {:else}\n <Icon src={icons?.play[type]} alt=\"[play]\">\n <Icons.Play {theme} />\n </Icon>\n {/if}\n </Button>\n {#if $current == null || $duration == null || $duration === 0}\n <Slider class=\"{name}-slider\" disabled />\n <span class=\"{name}-progress loading\">&hellip;/&hellip;</span>\n {:else}\n <Slider\n class=\"{name}-slider\"\n {theme}\n value={$current / 1000}\n min={0}\n max={$duration / 1000}\n on:change={seek}\n />\n <span class=\"{name}-progress\">\n <span class=\"{name}-current\">{format($current)}</span>\n <span class=\"{name}-slash\">/</span>\n <span class=\"{name}-duration\">{format($duration)}</span>\n </span>\n {/if}\n <Button\n class=\"speed\"\n {name}\n {theme}\n {disabled}\n content={t.speed}\n menu={speed_panel}\n menu_placement=\"top-end\"\n >\n <span class=\"{name}-speed-text\">{$playbackRate || 1}x</span>\n </Button>\n</div>\n\n<div style=\"display:none\">\n <div class=\"{name}-panel speed\" bind:this={speed_panel}>\n {#each speeds as s (s)}\n <Button\n class=\"speed {s === $playbackRate ? 'is-active' : ''}\"\n {name}\n {theme}\n {disabled}\n on:click={() => setPlaybackRate(s)}\n >\n {s}x\n </Button>\n {/each}\n </div>\n</div>\n","<svelte:options immutable />\n\n<script lang=\"ts\">\n import type { FastboardPlayer } from \"@netless/fastboard-core\";\n import type { Language, ReplayFastboardUIConfig, Theme } from \"../../typings\";\n import { onMount } from \"svelte\";\n import { tippy_hide_all } from \"../../actions/tippy\";\n import PlayerControl from \"../PlayerControl\";\n\n export let player: FastboardPlayer | null | undefined = null;\n export let theme: Theme = \"light\";\n export let language: Language = \"en\";\n export let containerRef: ((element: HTMLDivElement | null) => void) | undefined = undefined;\n export let config: ReplayFastboardUIConfig = {};\n\n const name = \"fastboard\";\n\n let container: HTMLDivElement;\n let mounted = false;\n\n $: try {\n if (player && container) {\n player.bindContainer(container);\n mounted = true;\n }\n } catch (err) {\n console.error(\"[fastboard] An error occurred while binding container\");\n console.error(err);\n }\n\n $: if (player && theme && mounted) {\n player.manager.setPrefersColorScheme(theme);\n }\n\n onMount(() => {\n if (containerRef) {\n containerRef(container);\n return () => {\n if (containerRef) containerRef(null);\n };\n }\n });\n\n function focus_me() {\n tippy_hide_all();\n // workaround for some devices that enabled \"windows ink\"\n let a = document.activeElement as HTMLElement | null;\n a && a.blur && a.blur();\n }\n</script>\n\n<div class=\"{name}-root\" class:loading={!player}>\n <div class=\"{name}-view\" bind:this={container} on:touchstart|capture={focus_me} />\n <div class=\"{name}-bottom\">\n {#if config.player_control?.enable !== false}\n <PlayerControl {player} {theme} {language} />\n {/if}\n </div>\n</div>\n","<svelte:options immutable />\n\n<script lang=\"ts\">\n import type { FastboardApp } from \"@netless/fastboard-core\";\n import type { Language, Theme, FastboardUIConfig } from \"../../typings\";\n import { onMount } from \"svelte\";\n import { tippy_hide_all } from \"../../actions/tippy\";\n import RedoUndo from \"../RedoUndo\";\n import ZoomControl from \"../ZoomControl\";\n import PageControl from \"../PageControl\";\n import Toolbar from \"../Toolbar\";\n\n export let app: FastboardApp | null | undefined = null;\n export let theme: Theme = \"light\";\n export let language: Language = \"en\";\n export let containerRef: ((element: HTMLDivElement | null) => void) | undefined = undefined;\n export let config: FastboardUIConfig = {};\n export let force_show_toolbar: boolean | undefined = undefined;\n export let force_show_redo_undo: boolean | undefined = undefined;\n export let force_show_zoom_control: boolean | undefined = undefined;\n export let force_show_page_control: boolean | undefined = undefined;\n\n const name = \"fastboard\";\n const AppsShowToolbar = [\"DocsViewer\", \"Slide\", \"PDFjs\"];\n\n let container: HTMLDivElement;\n let layout: \"hidden\" | \"toolbar-only\" | \"visible\" = \"hidden\";\n let mounted = false;\n\n $: writable = app?.writable;\n $: boxState = app?.boxState;\n $: focusedApp = app?.focusedApp;\n $: visibleApps = app?.visibleApps;\n\n $: if (!$writable) {\n layout = \"hidden\";\n } else if (app?.appInMainViewPlugin) {\n if ($visibleApps && $visibleApps.size > 0) {\n if ( $boxState === \"maximized\" ) {\n if (AppsShowToolbar.some(kind => ($focusedApp || \"\").includes(kind))) {\n layout = \"toolbar-only\";\n } else {\n layout = \"hidden\";\n }\n } else {\n layout = \"visible\";\n }\n } else {\n layout = \"visible\";\n }\n } else if ($boxState === \"maximized\") {\n if ($focusedApp && AppsShowToolbar.some(kind => ($focusedApp || \"\").includes(kind))) {\n layout = \"toolbar-only\";\n } else {\n layout = \"hidden\";\n }\n } else {\n layout = \"visible\";\n }\n\n $: toolbar_has_items =\n !config.toolbar ||\n !config.toolbar.items ||\n !config.toolbar.apps ||\n config.toolbar.items.length > 0 ||\n config.toolbar.apps.enable !== false;\n\n $: try {\n if (app && container) {\n app.bindContainer(container);\n mounted = true;\n }\n } catch (err) {\n console.error(\"[fastboard] An error occurred while binding container\");\n console.error(err);\n }\n\n $: if (app && theme && mounted) {\n app.manager.setPrefersColorScheme(theme);\n }\n\n let hidden_toolbar = false;\n $: if (force_show_toolbar === false) {\n hidden_toolbar = true;\n } else if (force_show_toolbar === true) {\n hidden_toolbar = false;\n } else {\n hidden_toolbar = !toolbar_has_items || !(layout === \"visible\" || layout === \"toolbar-only\");\n }\n\n let hidden_redo_undo = false;\n $: if (force_show_redo_undo === false) {\n hidden_redo_undo = true;\n } else if (force_show_redo_undo === true) {\n hidden_redo_undo = false;\n } else {\n hidden_redo_undo = layout !== \"visible\";\n }\n\n let hidden_zoom_control = false;\n $: if (force_show_zoom_control === false) {\n hidden_zoom_control = true;\n } else if (force_show_zoom_control === true) {\n hidden_zoom_control = false;\n } else {\n hidden_zoom_control = layout !== \"visible\";\n }\n\n let hidden_page_control = false;\n $: if (force_show_page_control === false) {\n hidden_page_control = true;\n } else if (force_show_page_control === true) {\n hidden_page_control = false;\n } else {\n hidden_page_control = layout !== \"visible\";\n }\n \n onMount(() => {\n if (containerRef) {\n containerRef(container);\n return () => {\n if (containerRef) containerRef(null);\n };\n }\n });\n\n function focus_me() {\n tippy_hide_all();\n // workaround for some devices that enabled \"windows ink\"\n let a = document.activeElement as HTMLElement | null;\n a && a.blur && a.blur();\n }\n</script>\n\n<div class=\"{name}-root\" class:loading={!app}>\n <div class=\"{name}-view\" bind:this={container} on:touchstart|capture={focus_me} />\n <div\n class=\"{name}-{config.toolbar?.placement || 'left'}\"\n class:hidden={hidden_toolbar}\n >\n {#if config.toolbar?.enable !== false}\n <Toolbar {app} {theme} {language} config={config.toolbar || {}} />\n {/if}\n </div>\n <div class=\"{name}-bottom-left\" class:hidden={hidden_toolbar && hidden_redo_undo}>\n {#if config.redo_undo?.enable !== false && !hidden_redo_undo}\n <RedoUndo {app} {theme} {language} />\n {/if}\n {#if config.zoom_control?.enable !== false && !hidden_zoom_control}\n <ZoomControl {app} {theme} {language} />\n {/if}\n </div>\n <div class=\"{name}-bottom-right\" class:hidden={hidden_page_control}>\n {#if config.page_control?.enable !== false}\n <PageControl {app} {theme} {language} />\n {/if}\n </div>\n</div>\n","import type { Color, FastboardApp, FastboardPlayer } from \"@netless/fastboard-core\";\nimport type { FastboardProps, ReplayFastboardProps } from \"../components/Fastboard\";\n\nimport { Fastboard, ReplayFastboard } from \"../components/Fastboard\";\n\nexport interface UI {\n /** render UI to div */\n mount(div: Element, props?: FastboardProps): UI;\n /** update UI (theme, language, etc.) */\n update(props?: FastboardProps): void;\n /** remove UI */\n destroy(): void;\n /** force show toolbar */\n forceShowToolbar(): void;\n /** force hide toolbar */\n forceHideToolbar(): void;\n /** recover show toolbar */\n recoverToolbar(): void;\n /** force show redo undo */\n forceShowRedoUndo(): void;\n /** force hide redo undo */\n forceHideRedoUndo(): void;\n /** recover show redo undo */\n recoverRedoUndo(): void;\n /** force show zoom control */\n forceShowZoomControl(): void;\n /** force hide zoom control */\n forceHideZoomControl(): void;\n /** recover show zoom control */\n recoverZoomControl(): void;\n /** force show page control */\n forceShowPageControl(): void;\n /** force hide page control */\n forceHidePageControl(): void;\n /** recover show page control */\n recoverPageControl(): void;\n}\n\n/**\n * @example\n * let ui = createUI(fastboardApp, document.getElementById(\"whiteboard\"));\n * ui.update({ theme: \"dark\" })\n */\nexport function createUI(app?: FastboardApp | null, div?: Element): UI {\n let fastboard: Fastboard | undefined;\n let colors: Color[] | undefined;\n\n if (app?.manager && app.manager.room) {\n const floatBarOptions = (app.manager.room as any).floatBarOptions as { colors?: Color[] };\n if (floatBarOptions?.colors) {\n colors = floatBarOptions.colors as Color[];\n }\n }\n const ui: UI = {\n mount(div: Element, props?: FastboardProps) {\n if (fastboard) {\n fastboard.$destroy();\n }\n if (colors && props?.config && !props.config.toolbar?.colors) {\n if (!props?.config.toolbar) {\n props.config.toolbar = {};\n }\n props.config.toolbar.colors = colors;\n }\n fastboard = new Fastboard({ target: div, props: { app, ...props } });\n return ui;\n },\n update(props?: FastboardProps) {\n if (fastboard && props) {\n if (colors && props?.config && !props.config.toolbar?.colors) {\n if (!props?.config.toolbar) {\n props.config.toolbar = {};\n }\n props.config.toolbar.colors = colors;\n }\n fastboard.$set(props);\n }\n },\n destroy() {\n if (fastboard) {\n fastboard.$destroy();\n }\n fastboard = undefined;\n },\n forceShowToolbar() {\n if (fastboard) {\n fastboard.$set({ force_show_toolbar: true });\n }\n },\n forceHideToolbar() {\n if (fastboard) {\n fastboard.$set({ force_show_toolbar: false });\n }\n },\n recoverToolbar() {\n if (fastboard) {\n fastboard.$set({ force_show_toolbar: undefined });\n }\n },\n forceShowPageControl() {\n if (fastboard) {\n fastboard.$set({ force_show_page_control: true });\n }\n },\n forceHidePageControl() {\n if (fastboard) {\n fastboard.$set({ force_show_page_control: false });\n }\n },\n recoverPageControl() {\n if (fastboard) {\n fastboard.$set({ force_show_page_control: undefined });\n }\n },\n forceShowRedoUndo() {\n if (fastboard) {\n fastboard.$set({ force_show_redo_undo: true });\n }\n },\n forceHideRedoUndo() {\n if (fastboard) {\n fastboard.$set({ force_show_redo_undo: false });\n }\n },\n recoverRedoUndo() {\n if (fastboard) {\n fastboard.$set({ force_show_redo_undo: undefined });\n }\n },\n forceShowZoomControl() {\n if (fastboard) {\n fastboard.$set({ force_show_zoom_control: true });\n }\n },\n forceHideZoomControl() {\n if (fastboard) {\n fastboard.$set({ force_show_zoom_control: false });\n }\n },\n recoverZoomControl() {\n if (fastboard) {\n fastboard.$set({ force_show_zoom_control: undefined });\n }\n },\n };\n\n if (div) {\n ui.mount(div, { app });\n }\n\n return ui;\n}\n\nexport interface ReplayUI {\n /** render UI to div */\n mount(div: Element, props?: ReplayFastboardProps): ReplayUI;\n /** update UI (theme, language, etc.) */\n update(props?: ReplayFastboardProps): void;\n /** remove UI */\n destroy(): void;\n}\n\n/**\n * @example\n * let ui = createReplayUI(fastboardPlayer, document.getElementById(\"whiteboard\"));\n * ui.update({ theme: \"dark\" })\n */\nexport function createReplayUI(player?: FastboardPlayer | null, div?: Element): ReplayUI {\n let fastboard: ReplayFastboard | undefined;\n\n const ui: ReplayUI = {\n mount(div: Element, props?: ReplayFastboardProps) {\n if (fastboard) {\n fastboard.$destroy();\n }\n fastboard = new ReplayFastboard({ target: div, props: { player, ...props } });\n return ui;\n },\n update(props?: ReplayFastboardProps) {\n if (fastboard && props) {\n fastboard.$set(props);\n }\n },\n destroy() {\n if (fastboard) {\n fastboard.$destroy();\n }\n fastboard = undefined;\n },\n };\n\n if (div) {\n ui.mount(div, { player });\n }\n\n return ui;\n}\n"],"names":["ctx","insert","append","instance","props","name","_a","writable","create_if_block","i18n","set_data","height","text","element","attr","value","set_style2","attr61","toggle_class55","colors","set_style3","attr62","is_equal_color","shape","create_if_block_13","create_if_block_12","create_if_block_5","_b","svelte_writable","create_if_block_3","create_if_block_2","create_if_block_1","_c","_d","onMount","div"],"mappings":"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"}
1
+ {"version":3,"file":"index.svelte.mjs","sources":["../src/inline-sass-content:./src/style.scss","../src/components/Icon/Icon.svelte","../src/components/Icons/Apps.svelte","../src/components/Icons/Arrow.svelte","../src/components/Icons/ArrowBolded.svelte","../src/components/Icons/Balloon.svelte","../src/components/Icons/BalloonBolded.svelte","../src/components/Icons/Circle.svelte","../src/components/Icons/CircleBolded.svelte","../src/components/Icons/Clear.svelte","../src/components/Icons/Click.svelte","../src/components/Icons/ClickFilled.svelte","../src/components/Icons/Diamond.svelte","../src/components/Icons/Down.svelte","../src/components/Icons/Drag.svelte","../src/components/Icons/DragFilled.svelte","../src/components/Icons/Eraser.svelte","../src/components/Icons/EraserFilled.svelte","../src/components/Icons/Laser.svelte","../src/components/Icons/LaserFilled.svelte","../src/components/Icons/Left.svelte","../src/components/Icons/Line.svelte","../src/components/Icons/LineBolded.svelte","../src/components/Icons/Minus.svelte","../src/components/Icons/Pencil.svelte","../src/components/Icons/PencilFilled.svelte","../src/components/Icons/Plus.svelte","../src/components/Icons/Rectangle.svelte","../src/components/Icons/RectangleBolded.svelte","../src/components/Icons/Redo.svelte","../src/components/Icons/Reset.svelte","../src/components/Icons/Rhombus.svelte","../src/components/Icons/RhombusBolded.svelte","../src/components/Icons/Right.svelte","../src/components/Icons/Selector.svelte","../src/components/Icons/SelectorFilled.svelte","../src/components/Icons/SpeechBalloon.svelte","../src/components/Icons/Star.svelte","../src/components/Icons/StarBolded.svelte","../src/components/Icons/Text.svelte","../src/components/Icons/TextFilled.svelte","../src/components/Icons/Triangle.svelte","../src/components/Icons/TriangleBolded.svelte","../src/components/Icons/Undo.svelte","../src/components/Icons/Up.svelte","../src/components/Icons/WhiteboardAdd.svelte","../src/components/Icons/Play.svelte","../src/components/Icons/Pause.svelte","../src/components/Icons/Loading.svelte","../src/components/Icons/LaserPen.svelte","../src/components/Icons/LaserPenFilled.svelte","../src/components/Icons/MarkPen.svelte","../src/components/Icons/MarkPenFilled.svelte","../src/components/Icons/EraserBitmap.svelte","../src/components/Icons/EraserBitmapFilled.svelte","../src/components/Icons/index.ts","../src/actions/tippy.ts","../src/components/Button/Button.svelte","../src/components/RedoUndo/RedoUndo.svelte","../src/components/PageControl/PageControl.svelte","../src/components/helpers.ts","../src/components/ZoomControl/ZoomControl.svelte","../src/actions/height.ts","../src/components/Toolbar/components/constants.ts","../src/actions/scroll.ts","../src/behaviors/apps.ts","../src/components/Toolbar/components/helper.ts","../src/components/Toolbar/components/Slider.svelte","../src/components/Toolbar/components/StrokeWidth.svelte","../src/components/Toolbar/components/StrokeColor.svelte","../src/components/Toolbar/components/TextColor.svelte","../src/components/Toolbar/components/SelectShapes.svelte","../src/components/Toolbar/definitions/Clicker.svelte","../src/components/Toolbar/definitions/Selector.svelte","../src/components/Toolbar/definitions/Pencil.svelte","../src/components/Toolbar/definitions/Text.svelte","../src/components/Toolbar/definitions/Shapes.svelte","../src/components/Toolbar/definitions/Eraser.svelte","../src/components/Toolbar/definitions/Clear.svelte","../src/components/Toolbar/definitions/Hand.svelte","../src/components/Toolbar/definitions/Laser.svelte","../src/components/Toolbar/components/EraserSize.svelte","../src/components/Toolbar/components/Contents.svelte","../src/components/Toolbar/Toolbar.svelte","../src/components/PlayerControl/PlayerControl.svelte","../src/components/Fastboard/ReplayFastboard.svelte","../src/components/Fastboard/Fastboard.svelte","../src/helpers/index.ts"],"sourcesContent":[".tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:\"\";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}.tippy-box[data-theme~=light]{color:#26323d;box-shadow:0 0 20px 4px #9aa1b126,0 4px 80px -8px #24282f40,0 4px 4px -2px #5b5e6926;background-color:#fff}.tippy-box[data-theme~=light][data-placement^=top]>.tippy-arrow:before{border-top-color:#fff}.tippy-box[data-theme~=light][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#fff}.tippy-box[data-theme~=light][data-placement^=left]>.tippy-arrow:before{border-left-color:#fff}.tippy-box[data-theme~=light][data-placement^=right]>.tippy-arrow:before{border-right-color:#fff}.tippy-box[data-theme~=light]>.tippy-backdrop{background-color:#fff}.tippy-box[data-theme~=light]>.tippy-svg-arrow{fill:#fff}.fastboard-icon.light .fastboard-icon-stroke-color{stroke:var(--fastboard-color, #5d6066)}.fastboard-icon.light .fastboard-icon-fill-color{fill:var(--fastboard-color, #5d6066)}.fastboard-icon.light.is-active .fastboard-icon-stroke-color{stroke:var(--fastboard-active-color, #3381ff)}.fastboard-icon.light.is-active .fastboard-icon-fill-color{fill:var(--fastboard-active-color, #3381ff)}.fastboard-icon.dark .fastboard-icon-stroke-color{stroke:var(--fastboard-color, #7b7e84)}.fastboard-icon.dark .fastboard-icon-fill-color{fill:var(--fastboard-color, #7b7e84)}.fastboard-icon.dark.is-active .fastboard-icon-stroke-color{stroke:var(--fastboard-active-color, #2867cc)}.fastboard-icon.dark.is-active .fastboard-icon-fill-color{fill:var(--fastboard-active-color, #2867cc)}.fastboard-redo-undo{box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid;border-radius:4px;font-size:14px;font-family:system-ui;pointer-events:auto;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.fastboard-redo-undo *{box-sizing:inherit}.fastboard-redo-undo.light{color:var(--fastboard-color, #5d6066);background-color:var(--fastboard-bg-color, rgba(255, 255, 255, .9));border-color:var(--fastboard-border-color, #e5e8f0)}.fastboard-redo-undo.dark{color:var(--fastboard-color, #7b7e84);background-color:var(--fastboard-bg-color, rgba(20, 24, 30, .9));border-color:var(--fastboard-border-color, #383b42)}.fastboard-redo-undo-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:0;width:24px;height:24px;background-color:#0000;border-radius:4px;font-size:0;line-height:1;flex-shrink:0}.fastboard-redo-undo-btn svg,.fastboard-redo-undo-btn img{width:100%;height:100%;pointer-events:none}.fastboard-redo-undo-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-redo-undo-btn.light:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-redo-undo-btn.dark:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-zoom-control{box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid;border-radius:4px;font-size:14px;font-family:system-ui;pointer-events:auto;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.fastboard-zoom-control *{box-sizing:inherit}.fastboard-zoom-control.light{color:var(--fastboard-color, #5d6066);background-color:var(--fastboard-bg-color, rgba(255, 255, 255, .9));border-color:var(--fastboard-border-color, #e5e8f0)}.fastboard-zoom-control.dark{color:var(--fastboard-color, #7b7e84);background-color:var(--fastboard-bg-color, rgba(20, 24, 30, .9));border-color:var(--fastboard-border-color, #383b42)}.fastboard-zoom-control-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:0;width:24px;height:24px;background-color:#0000;border-radius:4px;font-size:0;line-height:1;flex-shrink:0}.fastboard-zoom-control-btn svg,.fastboard-zoom-control-btn img{width:100%;height:100%;pointer-events:none}.fastboard-zoom-control-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-zoom-control-btn.light:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-zoom-control-btn.dark:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-zoom-control-text{font-variant-numeric:tabular-nums}.fastboard-page-control{box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid;border-radius:4px;font-size:14px;font-family:system-ui;pointer-events:auto;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.fastboard-page-control *{box-sizing:inherit}.fastboard-page-control.light{color:var(--fastboard-color, #5d6066);background-color:var(--fastboard-bg-color, rgba(255, 255, 255, .9));border-color:var(--fastboard-border-color, #e5e8f0)}.fastboard-page-control.dark{color:var(--fastboard-color, #7b7e84);background-color:var(--fastboard-bg-color, rgba(20, 24, 30, .9));border-color:var(--fastboard-border-color, #383b42)}.fastboard-page-control-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:0;width:24px;height:24px;background-color:#0000;border-radius:4px;font-size:0;line-height:1;flex-shrink:0}.fastboard-page-control-btn svg,.fastboard-page-control-btn img{width:100%;height:100%;pointer-events:none}.fastboard-page-control-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-page-control-btn.light:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-page-control-btn.dark:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-page-control-text{font-variant-numeric:tabular-nums}.fastboard-player-control{box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid;border-radius:4px;font-size:14px;font-family:system-ui;pointer-events:auto;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);width:100%}.fastboard-player-control *{box-sizing:inherit}.fastboard-player-control.light{color:var(--fastboard-color, #5d6066);background-color:var(--fastboard-bg-color, rgba(255, 255, 255, .9));border-color:var(--fastboard-border-color, #e5e8f0)}.fastboard-player-control.dark{color:var(--fastboard-color, #7b7e84);background-color:var(--fastboard-bg-color, rgba(20, 24, 30, .9));border-color:var(--fastboard-border-color, #383b42)}.fastboard-player-control-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:0;width:24px;height:24px;background-color:#0000;border-radius:4px;font-size:0;line-height:1;flex-shrink:0;display:inline}.fastboard-player-control-btn svg,.fastboard-player-control-btn img{width:100%;height:100%;pointer-events:none}.fastboard-player-control-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-player-control-btn.light:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-player-control-btn.dark:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-player-control-btn.loading svg,.fastboard-player-control-btn.loading img{animation:fastboard-player-control-rotate .5s linear infinite}@keyframes fastboard-player-control-rotate{to{transform:rotate(360deg)}}.fastboard-player-control-btn.speed{width:auto;padding:4px;text-align:right;font-size:14px;font-variant-numeric:tabular-nums}.fastboard-player-control-btn.is-active.light{color:var(--fastboard-active-color, #3381ff)}.fastboard-player-control-btn.is-active.dark{color:var(--fastboard-active-color, #2867cc)}.fastboard-player-control-speed-text,.fastboard-player-control-progress{font-size:14px;font-variant-numeric:tabular-nums;line-height:16px}.fastboard-player-control-progress{display:inline-flex;align-items:center}.fastboard-player-control-panel.speed{display:flex;flex-direction:column}.fastboard-toolbar{height:100%;display:flex;align-items:center;position:relative;transform:translate(0);transition:transform .5s cubic-bezier(.34,1.56,.64,1);pointer-events:none}.fastboard-toolbar.collapsed{transform:translate(-100%)}.fastboard-toolbar-handler{position:absolute;left:100%;width:17px;font-size:0;border-radius:3px;cursor:pointer;pointer-events:auto}.fastboard-toolbar-handler:focus-visible{outline:2px solid -webkit-focus-ring-color}.fastboard-toolbar-handler input[type=checkbox]{position:absolute;top:0;left:0;appearance:none;margin:0;width:100%;height:100%;cursor:pointer;opacity:0;z-index:-1}.fastboard-toolbar-handler svg{opacity:0;transition:opacity .5s 1s;pointer-events:none}.fastboard-toolbar-handler.light .fastboard-toolbar-handler-bg-color{fill:var(--fastboard-bg-color, rgba(255, 255, 255, .9))}.fastboard-toolbar-handler.light .fastboard-toolbar-handler-border-color{stroke:var(--fastboard-border-color, #e5e8f0)}.fastboard-toolbar-handler.light .fastboard-toolbar-handler-image-stroke-color{stroke:var(--fastboard-color, #5d6066)}.fastboard-toolbar-handler.light .fastboard-toolbar-handler-image-fill-color{fill:var(--fastboard-color, #5d6066)}.fastboard-toolbar-handler.dark .fastboard-toolbar-handler-bg-color{fill:var(--fastboard-bg-color, rgba(20, 24, 30, .9))}.fastboard-toolbar-handler.dark .fastboard-toolbar-handler-border-color{stroke:var(--fastboard-border-color, #383b42)}.fastboard-toolbar-handler.dark .fastboard-toolbar-handler-image-stroke-color{stroke:var(--fastboard-color, #7b7e84)}.fastboard-toolbar-handler.dark .fastboard-toolbar-handler-image-fill-color{fill:var(--fastboard-color, #7b7e84)}.fastboard-toolbar:hover .fastboard-toolbar-handler svg,.fastboard-toolbar.collapsed .fastboard-toolbar-handler svg{opacity:1;transition:opacity .2s}.fastboard-toolbar-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:4px;width:32px;height:32px;background-color:#0000;border-radius:4px;font-size:0;line-height:1;flex-shrink:0}.fastboard-toolbar-btn svg,.fastboard-toolbar-btn img{width:100%;height:100%;pointer-events:none}.fastboard-toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-toolbar-btn.light:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-toolbar-btn.dark:not(:disabled):hover{background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-slider{box-sizing:border-box;position:relative;width:100%;height:100%;display:flex;align-items:center}.fastboard-slider *{box-sizing:inherit}.fastboard-slider-track{appearance:none;background:rgba(0,0,0,0);border:0;border-radius:26px;flex:1;display:block;height:19px;margin:0;width:0;min-width:0;padding:0;transition:box-shadow .3s ease;cursor:pointer;touch-action:manipulation}.fastboard-slider-track::-webkit-slider-runnable-track{border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;user-select:none;background-color:#80808040;-webkit-user-select:none;background-image:linear-gradient(to right,currentColor var(--value, 0%),transparent var(--value, 0%))}.fastboard-slider-track::-webkit-slider-thumb{background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px #23292f26,0 0 0 1px #23292f33;width:13px;height:13px;position:relative;transition:all .2s ease;cursor:grab;appearance:none;margin-top:-4px}.fastboard-slider-track::-moz-range-track{border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;user-select:none;background-color:#80808040;-webkit-user-select:none}.fastboard-slider-track::-moz-range-thumb{appearance:none;background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px #23292f26,0 0 0 1px #23292f33;width:13px;height:13px;position:relative;transition:all .2s ease;cursor:grab}.fastboard-slider-track::-moz-range-progress{background:currentColor;border-radius:2.5px;height:5px}.fastboard-slider-track::-ms-track{border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;user-select:none;background-color:#80808040;-webkit-user-select:none;color:#0000}.fastboard-slider-track::-ms-thumb{appearance:none;background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px #23292f26,0 0 0 1px #23292f33;width:13px;height:13px;position:relative;transition:all .2s ease;cursor:grab;margin-top:0}.fastboard-slider-track::-ms-tooltip{display:none}.fastboard-slider-track::-moz-focus-outer{border:0}.fastboard-slider-track.grabbing::-webkit-slider-thumb{cursor:grabbing}.fastboard-slider-track.light{color:var(--fastboard-active-color, #3381ff)}.fastboard-slider-track.dark{color:var(--fastboard-active-color, #2867cc)}.fastboard-toolbar-contents{box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;border:1px solid;border-radius:4px;font-size:14px;font-family:system-ui;pointer-events:auto;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);padding:2px 0;gap:0;flex-direction:column}.fastboard-toolbar-contents *{box-sizing:inherit}.fastboard-toolbar-contents.light{color:var(--fastboard-color, #5d6066);background-color:var(--fastboard-bg-color, rgba(255, 255, 255, .9));border-color:var(--fastboard-border-color, #e5e8f0)}.fastboard-toolbar-contents.dark{color:var(--fastboard-color, #7b7e84);background-color:var(--fastboard-bg-color, rgba(20, 24, 30, .9));border-color:var(--fastboard-border-color, #383b42)}.fastboard-toolbar-contents>.fastboard-toolbar-btn{margin:2px 4px}.fastboard-toolbar-btn-interactive{position:relative}.fastboard-toolbar-triangle{width:0px;height:0px;border-bottom:4px solid;border-left:4px solid rgba(0,0,0,0);position:absolute;bottom:0;right:0}.fastboard-toolbar-btn:focus+.fastboard-toolbar-triangle{opacity:0}.fastboard-toolbar-scrollable{padding:2px 4px;overflow:hidden;display:flex;flex-direction:column;gap:4px}.fastboard-toolbar-tooltip{display:inline-flex;align-items:center;gap:4px}.fastboard-toolbar-hotkey{display:inline-flex;margin-right:-4px;width:24px;height:24px;align-items:center;justify-content:center;background-color:#ffffff1a;border-radius:4px}.fastboard-toolbar-panel-wrapper{display:none}.fastboard-toolbar-panel-switch-pencil{display:flex}.fastboard-toolbar-panel-switch-btn{width:24px;height:24px}.fastboard-toolbar-panel{display:flex;flex-direction:column}.fastboard-toolbar-panel-divider{height:.5px;width:100%;margin:4px 0;background-color:#ffffff26}.fastboard-toolbar-colors,.fastboard-toolbar-shapes{display:grid;align-self:center;grid-template:repeat(2,1fr)/repeat(4,1fr);align-items:center;justify-items:center;gap:4px}.fastboard-toolbar-shape-btn,.fastboard-toolbar-color-btn{width:24px;height:24px;padding:0;display:inline-flex;align-items:center;justify-content:center}.fastboard-toolbar-color-btn{border:1px solid rgba(0,0,0,0)}.fastboard-toolbar-color-btn.light.is-active{border-color:var(--fastboard-active-color, #3381ff)}.fastboard-toolbar-color-btn.dark.is-active{border-color:var(--fastboard-active-color, #2867cc)}.fastboard-toolbar-color-item{display:inline-block;width:16px;height:16px;border-radius:4px;pointer-events:none}.fastboard-toolbar-panel.apps{display:grid;grid-template-columns:repeat(min(var(--n, 3),3),minmax(max-content,1fr));gap:4px}.fastboard-toolbar-app-btn{margin:0;border:0;border-radius:2px;padding:4px 6px;background-color:#0000;display:inline-flex;flex-direction:column;align-items:center;gap:4px;font-size:0}.fastboard-toolbar-app-btn:disabled{opacity:.8}.fastboard-toolbar-app-btn-icon{width:32px;height:32px;pointer-events:none}.fastboard-toolbar-app-btn-text{font-size:14px;line-height:1;max-width:100%;overflow:hidden;text-overflow:ellipsis}.fastboard-toolbar-app-btn.is-loading{cursor:progress}.fastboard-toolbar-app-btn.is-failed{cursor:not-allowed;opacity:.5}.fastboard-toolbar-app-btn:not(:disabled,.is-loading,.is-failed):hover.light{cursor:pointer;background-color:var(--fastboard-hover-bg-color, #ebf2ff)}.fastboard-toolbar-app-btn-text.light{color:var(--fastboard-color, #5d6066)}.fastboard-toolbar-app-btn:not(:disabled,.is-loading,.is-failed):hover.dark{cursor:pointer;background-color:var(--fastboard-hover-bg-color, #383b42)}.fastboard-toolbar-app-btn-text.dark{color:var(--fastboard-color, #7b7e84)}.fastboard-right .fastboard-toolbar-triangle{right:auto;left:0;border-left:0;border-right:4px solid rgba(0,0,0,0)}.fastboard-right .fastboard-toolbar.collapsed{transform:translate(100%)}.fastboard-right .fastboard-toolbar-handler{left:auto;right:100%;transform:rotate(180deg)}.fastboard-root{position:relative;width:100%;height:100%;overflow:hidden}.fastboard-view{position:absolute;top:0;left:0;width:100%;height:100%}.fastboard-left,.fastboard-right{display:flex;align-items:center;position:absolute;bottom:62px;top:8px;left:0;z-index:200;pointer-events:none}.fastboard-left .fastboard-toolbar,.fastboard-right .fastboard-toolbar{padding-left:16px}.fastboard-right{left:auto;right:0}.fastboard-right .fastboard-toolbar{padding-left:0;padding-right:16px}.fastboard-bottom-left,.fastboard-bottom,.fastboard-bottom-right{display:flex;gap:10px;position:absolute;bottom:8px;left:8px;padding:8px;z-index:200;pointer-events:none}.fastboard-bottom-right{left:auto;right:8px}.fastboard-bottom{right:8px}.fastboard-left.hidden *,.hidden.fastboard-right *,.fastboard-bottom.hidden *,.fastboard-bottom-left.hidden *,.fastboard-bottom-right.hidden *{opacity:0;pointer-events:none}.fastboard-tip{font-family:inherit;color:#d5d9e0;background-color:#03060d}.fastboard-tip[data-placement^=right]>.tippy-arrow:before{top:4px;border-width:4px;border-right-color:#03060d}.fastboard-tip[data-placement^=top]>.tippy-arrow:before{left:4px;border-width:4px;border-top-color:#03060d}.fastboard-panel .tippy-content{padding:8px}.netless-whiteboard:focus-visible{outline:none}","<script lang=\"ts\">\n export let src = \"\";\n export let alt = \"\";\n export let title = \"\";\n</script>\n\n{#if src}\n <img {src} {alt} title={title || alt} />\n{:else}\n <slot />\n{/if}\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <rect\n x=\"5\"\n y=\"5\"\n width=\"6\"\n height=\"6\"\n stroke=\"#5D6066\"\n stroke-width=\"1.25\"\n stroke-linejoin=\"round\"\n class=\"fastboard-icon-stroke-color\"\n />\n <rect\n x=\"13\"\n y=\"5\"\n width=\"6\"\n height=\"6\"\n stroke=\"#5D6066\"\n stroke-width=\"1.25\"\n stroke-linejoin=\"round\"\n class=\"fastboard-icon-stroke-color\"\n />\n <rect\n x=\"5\"\n y=\"13\"\n width=\"6\"\n height=\"6\"\n stroke=\"#5D6066\"\n stroke-width=\"1.25\"\n stroke-linejoin=\"round\"\n class=\"fastboard-icon-stroke-color\"\n />\n <rect\n x=\"13\"\n y=\"13\"\n width=\"6\"\n height=\"6\"\n stroke=\"#5D6066\"\n stroke-width=\"1.25\"\n stroke-linejoin=\"round\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"M5 19 15.5 8.5M17 12l2-7-7 2 3.5 1.5L17 12Z\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.75\"\n d=\"M5 19 15.5 8.5\"\n class=\"fastboard-icon-stroke-color\"\n />\n <path fill=\"#5D6066\" d=\"m17 12 2-7-7 2 3.5 1.5L17 12Z\" class=\"fastboard-icon-fill-color\" />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"M19 7a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h2v3l2.414-2.414A2 2 0 0 1 12.828 16H17a2 2 0 0 0 2-2V7Z\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.75\"\n d=\"M19 7a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h2v3l2.414-2.414A2 2 0 0 1 12.828 16H17a2 2 0 0 0 2-2V7Z\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <rect\n width=\"16\"\n height=\"16\"\n x=\"4\"\n y=\"4\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n rx=\"8\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <rect\n width=\"16\"\n height=\"16\"\n x=\"4\"\n y=\"4\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.75\"\n rx=\"8\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n d=\"M19.6567 4.34323L13.9999 10.0001\"\n stroke=\"#5D6066\"\n stroke-width=\"1.25\"\n stroke-linejoin=\"round\"\n class=\"fastboard-icon-stroke-color\"\n />\n <path\n d=\"M8.34296 10.0001C9.90506 8.43799 12.4377 8.43799 13.9998 10.0001V10.0001C15.5619 11.5622 15.5619 14.0948 13.9998 15.6569V15.6569L8.34296 10.0001V10.0001Z\"\n stroke=\"#5D6066\"\n stroke-width=\"1.25\"\n stroke-linejoin=\"round\"\n class=\"fastboard-icon-stroke-color\"\n />\n <path\n d=\"M8.34292 10.0001L13.9998 15.6569L11.5856 19.8996L4.10028 11.4143L8.34292 10.0001Z\"\n stroke=\"#5D6066\"\n stroke-width=\"1.25\"\n stroke-linejoin=\"round\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"M10 18 6 6l12 4-6 2-2 6Z\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path fill=\"#5D6066\" d=\"M10 18 6 6l12 4-6 2-2 6Z\" class=\"fastboard-icon-fill-color\" />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n class=\"fastboard-icon-stroke-color\"\n d=\"M4.222 12 12 4.222 19.778 12 12 19.778z\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n class=\"fastboard-icon-stroke-color\"\n d=\"m16 10-2 2-2 2-2-2-2-2\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n d=\"M17.143 8.143v2.571h-3.857V6.857h2.571L12 3 8.143 6.857h2.571v3.857H6.857V8.143L3 12l1.286 1.286 2.571 2.571v-2.571h3.857v3.857H8.143L12 21l1.286-1.286 2.571-2.571h-2.571v-3.857h3.857v2.571L21 12l-3.857-3.857Z\"\n stroke=\"#5D6066\"\n stroke-width=\"1.25\"\n stroke-linejoin=\"round\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n d=\"M17.143 8.143v2.571h-3.857V6.857h2.571L12 3 8.143 6.857h2.571v3.857H6.857V8.143L3 12l1.286 1.286 2.571 2.571v-2.571h3.857v3.857H8.143L12 21l1.286-1.286 2.571-2.571h-2.571v-3.857h3.857v2.571L21 12l-3.857-3.857Z\"\n fill=\"#5D6066\"\n class=\"fastboard-icon-fill-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"M13.414 4.929a2 2 0 0 1 2.829 0l2.828 2.828a2 2 0 0 1 0 2.829L12 17.656a4 4 0 0 1-5.657 0L4.93 16.244a2 2 0 0 1 0-2.829l8.485-8.485ZM12 6.343 17.657 12m-1.414-7.071-2.829 2.828m4.243-1.414-2.829 2.829m4.243-1.415-2.828 2.829\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n fill=\"#5D6066\"\n fill-rule=\"evenodd\"\n d=\"M16.242 4.929a2 2 0 0 0-2.828 0L4.93 13.414a2 2 0 0 0 0 2.829l1.414 1.414a4 4 0 0 0 5.657 0l5.215-5.215-5.657-5.657.884-.884 5.657 5.657.972-.972a2 2 0 0 0 0-2.829l-2.83-2.827Z\"\n clip-rule=\"evenodd\"\n class=\"fastboard-icon-fill-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n d=\"m11.48 10.033 2.695 2.696m-2.695-2.696-7.375 7.379a.364.364 0 0 0 0 .515l2.18 2.182a.361.361 0 0 0 .514 0l7.376-7.38m-2.695-2.696 2.438-2.438a.363.363 0 0 1 .514 0l2.18 2.182v-.001a.363.363 0 0 1 0 .514l-2.437 2.439\"\n stroke=\"#5D6066\"\n stroke-width=\"1.25\"\n stroke-linejoin=\"round\"\n class=\"fastboard-icon-stroke-color\"\n />\n <path\n d=\"M10.895 6.652a.363.363 0 0 0-.13-.182c-.348-.399-.338-1.264.032-1.634a.362.362 0 1 0-.513-.514c-.18.18-.491.286-.834.286-.343 0-.654-.107-.833-.286a.363.363 0 1 0-.514.514c.38.382.38 1.286 0 1.667a.364.364 0 0 0 .514.515c.179-.18.49-.287.833-.287.343 0 .654.107.834.287a.362.362 0 0 0 .256.106h.008a.363.363 0 0 0 .347-.472Zm6.294-.149a.366.366 0 0 0 .118.594.363.363 0 0 0 .396-.079c.18-.18.49-.287.834-.287.343 0 .654.107.832.287a.362.362 0 0 0 .258.106h.007a.363.363 0 0 0 .218-.654c-.35-.399-.338-1.264.032-1.634a.363.363 0 1 0-.515-.514c-.178.18-.49.286-.832.286-.343 0-.654-.107-.834-.286a.364.364 0 0 0-.514.514c.382.382.382 1.286 0 1.667Zm2.794 9.239a.363.363 0 0 0-.13-.182c-.35-.398-.34-1.263.03-1.633a.363.363 0 1 0-.514-.515c-.178.18-.49.287-.832.287-.343 0-.654-.107-.834-.287a.365.365 0 0 0-.514.515c.382.38.382 1.285 0 1.667a.364.364 0 0 0 .514.514c.18-.18.49-.286.834-.286.343 0 .654.107.832.286a.363.363 0 0 0 .258.107h.007a.363.363 0 0 0 .349-.473Z\"\n fill=\"#5D6066\"\n class=\"fastboard-icon-fill-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n d=\"m11.48 10.033 2.695 2.696-7.376 7.38a.361.361 0 0 1-.514 0l-2.18-2.182a.362.362 0 0 1 0-.515l7.375-7.379Zm5.133-.257a.363.363 0 0 1 0 .514l-1.925 1.925-2.694-2.696 1.924-1.924a.363.363 0 0 1 .514 0l2.18 2.182v-.001Zm-5.718-3.124a.363.363 0 0 0-.13-.182c-.348-.399-.338-1.264.032-1.634a.362.362 0 1 0-.513-.514c-.18.18-.491.286-.834.286-.343 0-.654-.107-.833-.286a.363.363 0 1 0-.514.514c.38.382.38 1.286 0 1.667a.364.364 0 0 0 .514.515c.179-.18.49-.287.833-.287.343 0 .654.107.834.287a.362.362 0 0 0 .256.106h.008a.363.363 0 0 0 .347-.472Zm6.294-.149a.366.366 0 0 0 .118.594.363.363 0 0 0 .396-.079c.18-.18.49-.287.834-.287.343 0 .654.107.832.287a.362.362 0 0 0 .258.106h.007a.363.363 0 0 0 .218-.654c-.35-.399-.338-1.264.032-1.634a.363.363 0 1 0-.515-.514c-.178.18-.49.286-.832.286-.343 0-.654-.107-.834-.286a.364.364 0 0 0-.514.514c.382.382.382 1.286 0 1.667Zm2.794 9.239a.363.363 0 0 0-.13-.182c-.35-.398-.34-1.263.03-1.633a.363.363 0 1 0-.514-.515c-.178.18-.49.287-.832.287-.343 0-.654-.107-.834-.287a.365.365 0 0 0-.514.515c.382.38.382 1.285 0 1.667a.364.364 0 0 0 .514.514c.18-.18.49-.286.834-.286.343 0 .654.107.832.286a.363.363 0 0 0 .258.107h.007a.363.363 0 0 0 .349-.473Z\"\n fill=\"#5D6066\"\n class=\"fastboard-icon-fill-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n d=\"m14 8-2 2-2 2 2 2 2 2\"\n class=\"fastboard-icon-stroke-color\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"M5 19 19 5\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.75\"\n d=\"M5 19 19 5\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n d=\"M5 12h14\"\n class=\"fastboard-icon-stroke-color\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"M15.536 4.222a2 2 0 0 1 2.828 0l1.414 1.414a2 2 0 0 1 0 2.828l-9.9 9.9-4.95.707.708-4.95 9.9-9.9Z\"\n class=\"fastboard-icon-stroke-color\"\n />\n <path\n stroke=\"#5D6066\"\n stroke-width=\"1.25\"\n d=\"m14.121 5.636 4.243 4.243\"\n class=\"fastboard-icon-stroke-color\"\n />\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"m16.243 7.757-5.657 5.657m-3.536.707v1.415h1.415v1.414h1.414\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n fill=\"#5D6066\"\n fill-rule=\"evenodd\"\n d=\"M18.364 4.222a2 2 0 0 0-2.828 0l-9.9 9.9-.707 4.95 4.95-.708 8.132-8.132-.008-.007-.008-.008-.007-.008-.008-.007-.008-.008-.008-.008-.007-.008-.008-.008-.008-.007-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.009-.009-.008-.008-.008-.008-.008-.008-.008-.009-.009-.008-.008-.008-.009-.009-.008-.008-.008-.009-.009-.008-.008-.008-.009-.009-.008-.008-.009-.009-.008-.009-.009-.008-.009-.009-.008-.008-.009-.01-.009-.008-.008-.009-.01-.008-.008-.01-.009-.008-.008-.009-.01-.009-.008-.008-.01-.01-.008-.008-.009-.01-.009-.008-.009-.01-.009-.008-.009-.01-.009-.008-.009-.01-.01-.008-.008-.01-.01-.009-.009-.009-.009-.009-.009-.01-.01-.008-.008-.01-.01-.009-.009-.01-.01-.009-.009-.009-.009-.01-.01-.009-.009-.009-.01-.01-.008-.009-.01-.01-.01-.009-.009-.01-.01-.009-.009-.01-.01-.009-.009-.01-.01-.009-.01-.01-.009-.009-.01-.01-.009-.01-.01-.009-.01-.01-.01-.01-.009-.009-.01-.01-.01-.01-.009-.01-.01-.009-.01-.01-.01-.01-.01-.01-.009-.01-.01-.01-.01-.009-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.011-.01-.01-.011-.01-.01-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.011-.011-.01-.01-.01-.011-.011-.01-.01-.01-.01-.011-.011-.01-.01-.01-.011-.011-.01-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.01-.011-.011-.01-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.01-.01-.011-.011-.01-.01-.011-.011-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.01-.01-.01-.01-.011-.011-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.011-.01-.01-.011-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.01-.009-.01-.01-.009-.01-.01-.01-.01-.009-.01-.01-.009-.01-.01-.01-.01-.009-.009-.01-.01-.01-.01-.009-.009-.01-.01-.009-.01-.01-.009-.009-.01-.01-.009-.009-.01-.01-.009-.009-.01-.01-.009-.009-.01-.01-.009-.009-.009-.009-.01-.01-.009-.009-.009-.009-.01-.01-.009-.009-.009-.009-.01-.01-.008-.008-.01-.01-.009-.009-.009-.009-.01-.009-.008-.01-.01-.008-.008-.01-.01-.008-.009-.01-.009-.008-.009-.01-.009-.008-.008-.01-.01-.008-.008-.009-.01-.009-.008-.009-.009-.008-.009-.01-.008-.008-.01L14.777 7l-.008-.009-.01-.008-.008-.01-.008-.008-.01-.008-.008-.009-.008-.008-.009-.009-.008-.009-.009-.008-.008-.008-.009-.009-.008-.008-.008-.009-.009-.008-.008-.008-.008-.009-.009-.008-.008-.008-.008-.008-.008-.009-.008-.008-.009-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.008-.007-.008-.008-.007-.008-.008-.008-.008-.007-.008-.008-.007-.008-.008-.007-.008-.008-.007-.008-.008-.007-.007-.008-.008-.007-.007-.008-.008-.007-.007-.007-.008-.008-.007-.007-.007-.007-.007-.008-.008-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.007-.006-.007-.007-.007-.007-.006-.007-.007-.006-.007-.007-.006-.007-.007-.006-.006-.007-.007-.006-.006-.007-.007-.006-.006-.006-.007-.007-.006-.006-.006-.006-.006-.006-.007-.007-.006-.006-.006-.006-.006-.006-.006-.006-.006-.006-.006-.006-.006-.006-.006-.006-.006-.005-.006-.006-.005-.006-.006-.006-.006-.005-.006-.006-.005-.005-.006-.006-.005-.006-.006-.005-.005-.005-.006-.006-.005-.005-.005-.005-.006-.006-.005-.005-.005-.005-.005-.005-.005-.005-.005-.005-.006-.005-.005-.005-.004-.005-.005-.005-.005-.005-.005-.005-.005-.004-.005-.005-.004-.005-.005-.004-.005-.005-.004-.004-.005-.005-.004-.004-.004-.005-.005-.004-.004-.004-.004-.005-.005-.004-.004-.004-.004-.004-.004-.004-.004-.004-.004-.004-.004-.004-.004-.004-.004-.004-.004-.003-.004-.004-.003-.004-.004-.003-.004-.004-.003-.004-.004-.003-.003-.003-.004-.004-.003-.003-.003-.003-.004-.004-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.003-.002-.003-.003-.002-.003-.003-.002-.002-.003-.003-.002-.003-.003-.002-.002-.002-.002-.003-.003-.002-.002-.002-.002-.002-.002-.002-.002-.002L13.779 6l-.002-.002-.002-.002-.002-.002-.002-.002-.002-.002-.001-.001.707-.708.002.002.001.002.002.002.002.002.002.001.002.002.002.002.002.002.002.003.002.002.002.002.003.002.002.003.002.002.003.002.002.003.003.002.002.003.003.003.003.002.002.003.003.003.003.003.003.003.003.003.003.002.003.004.003.003.003.003.003.003.004.003.003.003.003.004.004.003.003.004.004.003.003.004.004.003.003.004.004.004.004.003.004.004.003.004.004.004.004.004.004.004.004.004.004.004.004.004.004.004.005.004.004.004.004.005.005.004.004.004.004.005.005.004.004.005.005.004.004.005.005.005.005.004.005.005.004.005.005.005.005.005.005.004.005.005.005.005.005.005.005.005.005.006.005.005.005.005.006.005.005.006.005.005.006.005.005.006.006.005.005.006.006.005.005.006.006.005.006.006.005.006.006.005.006.006.006.006.005.006.006.006.006.006.006.006.006.006.006.006.006.006.007.006.006.006.006.006.006.007.007.006.006.006.006.007.007.006.006.007.007.006.006.007.007.006.006.007.007.006.006.007.007.007.007.006.007.007.006.007.007.007.007.007.007.007.007.006.007.007.007.007.007.007.007.008.007.007.007.007.007.007.008.007.007.007.007.008.007.007.008.007.007.008.008.007.007.008.008.007.007.008.008.007.007.008.008.007.007.008.008.008.008.007.007.008.008.008.008.007.008.008.008.008.008.008.007.008.008.008.008.008.008.008.008.008.008.008.008.008.008.008.009.008.008.008.008.008.008.009.008.008.009.008.008.009.008.008.009.008.008.009.009.008.008.008.008.009.009.008.008.009.009.008.008.009.01.009.008.008.008.009.009.009.009.008.008.009.01.009.008.008.009.01.009.008.008.009.01.009.008.009.009.008.009.01.009.008.009.01.009.008.009.01.009.008.009.01.009.009.01.009.008.009.01.009.009.01.009.008.009.01.01.009.008.009.01.01.01.009.008.009.01.01.01.009.008.009.01.01.01.009.009.01.01.009.009.01.01.009.009.01.01.009.009.01.01.009.009.01.01.009.01.01.009.01.01.009.009.01.01.01.01.009.01.01.009.01.01.01.01.009.01.01.009.01.01.01.01.01.01.009.01.01.01.01.009.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.011.01.01.01.01.011.01.01.01.01.011.01.01.01.01.011.01.01.011.01.01.011.01.01.011.01.01.01.01.011.01.01.011.01.01.011.011.01.01.01.01.011.011.01.01.01.01.011.011.01.01.011.011.01.01.01.01.011.011.01.01.011.011.01.01.011.01.01.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.011.01.01.011.01.01.011.01.01.011.011.01.01.011.011.01.01.011.01.01.011.01.01.011.011.01.01.01.01.011.011.01.01.011.01.01.011.01.01.011.01.01.011.01.01.011.01.01.011.01.01.01.01.011.01.01.011.01.01.01.01.011.01.01.011.01.01.01.01.01.01.011.01.01.01.01.011.01.01.01.01.01.01.011.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.01.009.01.01.009.01.01.01.01.009.009.01.01.01.01.009.01.01.009.01.01.009.009.01.01.01.01.009.009.01.01.009.009.01.01.009.009.01.01.009.009.01.009.009.01.009.009.01.01.009.008.009.01.01.01.009.008.009.01.01.009.008.01.01.008.009.01.01.009.008.009.01.009.008.01.01.008.009.01.009.008.009.01.009.008.009.01.009.008.009.009.009.009.008.009.01.009.008.008.009.01.009.008.009.009.008.008.01.01.008.008.008.008.01.01.008.008.008.008.009.009.008.008.009.009.008.008.009.009.008.008.009.009.008.008.009.008.008.009.008.008.008.008.009.008.008.009.008.008.008.008.008.008.009.008.008.008.008.008.008.008.008.008.008.008.008.008.008.008.008.008.007.008.008.008.008.007.008.008.007.008.008.007.008.008.008.008.007 1.06-1.06a2 2 0 0 0 0-2.829l-1.414-1.414Zm-9.9 10.689c.346 0 .626.28.626.625v.789h.789v1.25H8.465a.625.625 0 0 1-.625-.625v-.79h-.79a.625.625 0 0 1-.625-.624V14.12h1.25v.79h.79Z\"\n clip-rule=\"evenodd\"\n class=\"fastboard-icon-fill-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n d=\"M5 12h14m-7-7v14\"\n class=\"fastboard-icon-stroke-color\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"M5 5h14v14H5z\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.75\"\n d=\"M5 5h14v14H5z\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path fill=\"#5D6066\" d=\"m14 5 6 4-6 4 2-4-2-4Z\" class=\"fastboard-icon-fill-color\" />\n <path\n fill=\"#5D6066\"\n d=\"M8 8.375h8v1.25H8v-1.25Zm0 8h12v1.25H8v-1.25ZM3.375 13A4.625 4.625 0 0 1 8 8.375v1.25A3.375 3.375 0 0 0 4.625 13h-1.25Zm1.25 0A3.375 3.375 0 0 0 8 16.375v1.25A4.625 4.625 0 0 1 3.375 13h1.25Z\"\n class=\"fastboard-icon-fill-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <circle cx=\"12\" cy=\"12\" fill=\"#5D6066\" r=\"2\" class=\"fastboard-icon-fill-color\" />\n <path\n d=\"M12 3v4m0 10v4m9-9h-4M7 12H3\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n class=\"fastboard-icon-stroke-color\"\n />\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"7\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"M3.515 12 12 3.514 20.485 12 12 20.485z\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.75\"\n d=\"M3.515 12 12 3.514 20.485 12 12 20.485z\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n d=\"m10 8 2 2 2 2-2 2-2 2\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-dasharray=\"1.25 1.25\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"M18 11V4H4v14h7\"\n class=\"fastboard-icon-stroke-color\"\n />\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"m15 20-2-7 7 2-3.5 1.5L15 20Z\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-dasharray=\"1.25 1.25\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"M18 11V4H4v14h7\"\n class=\"fastboard-icon-stroke-color\"\n />\n <path fill=\"#5D6066\" d=\"m15 20-2-7 7 2-3.5 1.5L15 20Z\" class=\"fastboard-icon-fill-color\" />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n d=\"M17 4.5c.414 0 .79.168 1.06.44.272.27.44.646.44 1.06v9c0 .414-.168.79-.44 1.06a1.49 1.49 0 0 1-1.06.44h-4.207l-2.715 2.715-1.81-2.715H7a1.49 1.49 0 0 1-1.06-.44A1.495 1.495 0 0 1 5.5 15V6c0-.414.168-.79.44-1.06A1.49 1.49 0 0 1 7 4.5Z\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"m12 4 1.88 5.411 5.728.117-4.565 3.46 1.66 5.484L12 15.2l-4.702 3.272 1.659-5.483-4.565-3.461 5.727-.117L12 4Z\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.75\"\n d=\"m12 4 1.88 5.411 5.728.117-4.565 3.46 1.66 5.484L12 15.2l-4.702 3.272 1.659-5.483-4.565-3.461 5.727-.117L12 4Z\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"M6 7V5h5m7 2V5h-5M8 19h3m5 0h-3m-2 0V5m0 14h2M11 5h2m0 0v14\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path fill=\"#3381FF\" stroke=\"#5D6066\" d=\"M11.5 5.5h1v13h-1z\" class=\"fastboard-icon-stroke-color\" />\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"M6 7V5h5m7 2V5h-5M8 19h3m5 0h-3m-2 0V5m0 14h2M11 5h2m0 0v14\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n d=\"m12 5 8 14H4l8-14Z\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.75\"\n d=\"m12 5 8 14H4l8-14Z\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path fill=\"#5D6066\" d=\"M10 5 4 9l6 4-2-4 2-4Z\" class=\"fastboard-icon-fill-color\" />\n <path\n fill=\"#5D6066\"\n d=\"M16 8.375H8v1.25h8v-1.25Zm0 8H4v1.25h12v-1.25ZM20.625 13A4.625 4.625 0 0 0 16 8.375v1.25A3.375 3.375 0 0 1 19.375 13h1.25Zm-1.25 0A3.375 3.375 0 0 1 16 16.375v1.25A4.625 4.625 0 0 0 20.625 13h-1.25Z\"\n class=\"fastboard-icon-fill-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n d=\"m16 14-2-2-2-2-2 2-2 2\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path\n d=\"M4 20h16M4 6h16\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n class=\"fastboard-icon-stroke-color\"\n />\n <rect\n height=\"10\"\n rx=\"1\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n width=\"14\"\n x=\"5\"\n y=\"8\"\n class=\"fastboard-icon-stroke-color\"\n />\n <path\n d=\"M12 4v2m-3 7h6m-3-3v6\"\n stroke=\"#5D6066\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.25\"\n class=\"fastboard-icon-stroke-color\"\n />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path fill=\"#5D6066\" d=\"M8 5.14v14l11-7l-11-7z\" class=\"fastboard-icon-fill-color\" />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path fill=\"#5D6066\" d=\"M14 19h4V5h-4M6 19h4V5H6v14z\" class=\"fastboard-icon-fill-color\" />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <path fill=\"#5D6066\" d=\"M12 4V2A10 10 0 0 0 2 12h2a8 8 0 0 1 8-8z\" class=\"fastboard-icon-fill-color\" />\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <g stroke-width=\"1.25\" stroke-linecap=\"round\" stroke-linejoin=\"round\" transform=\"rotate(0 10 10)\">\n <path\n class=\"fastboard-icon-stroke-color\"\n clip-rule=\"evenodd\"\n d=\"m9.644 13.69 7.774-7.773a2.357 2.357 0 0 0-3.334-3.334l-7.773 7.774L8 12l1.643 1.69Z\"\n />\n <path\n class=\"fastboard-icon-stroke-color\"\n d=\"m13.25 3.417 3.333 3.333M10 10l2-2M5 15l3-3M2.156 17.894l1-1M5.453 19.029l-.144-1.407M2.377 11.887l.866 1.118M8.354 17.273l-1.194-.758M.953 14.652l1.408.13\"\n />\n </g>\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <g stroke-width=\"1.25\" stroke-linecap=\"round\" stroke-linejoin=\"round\" transform=\"rotate(0 10 10)\">\n <path\n class=\"fastboard-icon-fill-color\"\n clip-rule=\"evenodd\"\n d=\"m9.644 13.69 7.774-7.773a2.357 2.357 0 0 0-3.334-3.334l-7.773 7.774L8 12l1.643 1.69Z\"\n />\n <path\n class=\"fastboard-icon-stroke-color\"\n d=\"m13.25 3.417 3.333 3.333M10 10l2-2M5 15l3-3M2.156 17.894l1-1M5.453 19.029l-.144-1.407M2.377 11.887l.866 1.118M8.354 17.273l-1.194-.758M.953 14.652l1.408.13\"\n />\n </g>\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <g\n stroke-width=\"1\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n transform=\"scale(0.85 0.9) translate(2, 0)\"\n >\n <path\n class=\"fastboard-icon-stroke-color\"\n d=\"m15.95 2.39l5.657 5.657a1 1 0 0 1 0 1.414l-7.778 7.778l-2.122.707l-1.414 1.415a1 1 0 0 1-1.414 0l-4.243-4.243a1 1 0 0 1 0-1.414L6.05 12.29l.707-2.122l7.779-7.778a1 1 0 0 1 1.414 0m.707 3.536l-6.364 6.364l1.414 1.414l6.364-6.364zM4.283 16.886l2.828 2.828l-1.414 1.415l-4.243-1.415z\"\n />\n </g>\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg fill=\"none\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <g\n stroke-width=\"1\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n transform=\"scale(0.85 0.9) translate(2, 0)\"\n >\n <path\n class=\"fastboard-icon-fill-color\"\n d=\"m15.95 2.39l5.657 5.657a1 1 0 0 1 0 1.414l-7.778 7.778l-2.122.707l-1.414 1.415a1 1 0 0 1-1.414 0l-4.243-4.243a1 1 0 0 1 0-1.414L6.05 12.29l.707-2.122l7.779-7.778a1 1 0 0 1 1.414 0m.707 3.536l-6.364 6.364l1.414 1.414l6.364-6.364zM4.283 16.886l2.828 2.828l-1.414 1.415l-4.243-1.415z\"\n />\n </g>\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <g fill=\"none\">\n <path\n fill=\"#5D6066\"\n d=\"m5.505 11.41l.53.53zM3 14.952h-.75zM9.048 21v.75zM11.41 5.505l-.53-.53zm1.831 12.34a.75.75 0 0 0 1.06-1.061zM7.216 9.697a.75.75 0 1 0-1.06 1.061zm10.749 2.362l-5.905 5.905l1.06 1.06l5.905-5.904zm-11.93-.12l5.905-5.905l-1.06-1.06l-5.905 5.904zm0 6.025c-.85-.85-1.433-1.436-1.812-1.933c-.367-.481-.473-.79-.473-1.08h-1.5c0 .749.312 1.375.78 1.99c.455.596 1.125 1.263 1.945 2.083zm-1.06-7.086c-.82.82-1.49 1.488-1.945 2.084c-.468.614-.78 1.24-.78 1.99h1.5c0-.29.106-.6.473-1.08c.38-.498.962-1.083 1.812-1.933zm7.085 7.086c-.85.85-1.435 1.433-1.933 1.813c-.48.366-.79.472-1.08.472v1.5c.75 0 1.376-.312 1.99-.78c.596-.455 1.264-1.125 2.084-1.945zm-7.085 1.06c.82.82 1.487 1.49 2.084 1.945c.614.468 1.24.78 1.989.78v-1.5c-.29 0-.599-.106-1.08-.473c-.497-.38-1.083-.962-1.933-1.812zm12.99-12.99c.85.85 1.433 1.436 1.813 1.933c.366.481.472.79.472 1.08h1.5c0-.749-.312-1.375-.78-1.99c-.455-.596-1.125-1.263-1.945-2.083zm1.06 7.086c.82-.82 1.49-1.488 1.945-2.084c.468-.614.78-1.24.78-1.99h-1.5c0 .29-.106.6-.473 1.08c-.38.498-.962 1.083-1.812 1.933zm0-8.146c-.82-.82-1.487-1.49-2.084-1.945c-.614-.468-1.24-.78-1.989-.78v1.5c.29 0 .599.106 1.08.473c.497.38 1.083.962 1.933 1.812zm-7.085 1.06c.85-.85 1.435-1.433 1.933-1.812c.48-.367.79-.473 1.08-.473v-1.5c-.75 0-1.376.312-1.99.78c-.596.455-1.264 1.125-2.084 1.945zm2.362 10.749L7.216 9.698l-1.06 1.061l7.085 7.085z\"\n class=\"fastboard-icon-fill-color\"\n />\n <path\n stroke=\"#5D6066\"\n stroke-linecap=\"round\"\n stroke-width=\"1.5\"\n d=\"M9 21h12\"\n class=\"fastboard-icon-stroke-color\"\n />\n </g>\n</svg>\n","<script lang=\"ts\">\n import type { Theme } from \"../../typings\";\n\n export let theme: Theme = \"light\";\n export let active = false;\n</script>\n\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" class=\"fastboard-icon {theme}\" class:is-active={active}>\n <g fill=\"none\">\n <path\n fill=\"#5D6066\"\n d=\"m5.505 11.41l.53.53zM3 14.952h-.75zM9.048 21v.75zM11.41 5.505l-.53-.53zm1.831 12.34a.75.75 0 0 0 1.06-1.061zM7.216 9.697a.75.75 0 1 0-1.06 1.061zm10.749 2.362l-5.905 5.905l1.06 1.06l5.905-5.904zm-11.93-.12l5.905-5.905l-1.06-1.06l-5.905 5.904zm0 6.025c-.85-.85-1.433-1.436-1.812-1.933c-.367-.481-.473-.79-.473-1.08h-1.5c0 .749.312 1.375.78 1.99c.455.596 1.125 1.263 1.945 2.083zm-1.06-7.086c-.82.82-1.49 1.488-1.945 2.084c-.468.614-.78 1.24-.78 1.99h1.5c0-.29.106-.6.473-1.08c.38-.498.962-1.083 1.812-1.933zm7.085 7.086c-.85.85-1.435 1.433-1.933 1.813c-.48.366-.79.472-1.08.472v1.5c.75 0 1.376-.312 1.99-.78c.596-.455 1.264-1.125 2.084-1.945zm-7.085 1.06c.82.82 1.487 1.49 2.084 1.945c.614.468 1.24.78 1.989.78v-1.5c-.29 0-.599-.106-1.08-.473c-.497-.38-1.083-.962-1.933-1.812zm12.99-12.99c.85.85 1.433 1.436 1.813 1.933c.366.481.472.79.472 1.08h1.5c0-.749-.312-1.375-.78-1.99c-.455-.596-1.125-1.263-1.945-2.083zm1.06 7.086c.82-.82 1.49-1.488 1.945-2.084c.468-.614.78-1.24.78-1.99h-1.5c0 .29-.106.6-.473 1.08c-.38.498-.962 1.083-1.812 1.933zm0-8.146c-.82-.82-1.487-1.49-2.084-1.945c-.614-.468-1.24-.78-1.989-.78v1.5c.29 0 .599.106 1.08.473c.497.38 1.083.962 1.933 1.812zm-7.085 1.06c.85-.85 1.435-1.433 1.933-1.812c.48-.367.79-.473 1.08-.473v-1.5c-.75 0-1.376.312-1.99.78c-.596.455-1.264 1.125-2.084 1.945zm2.362 10.749L7.216 9.698l-1.06 1.061l7.085 7.085z\"\n class=\"fastboard-icon-fill-color\"\n />\n <path\n stroke=\"#5D6066\"\n stroke-linecap=\"round\"\n stroke-width=\"1.5\"\n d=\"M9 21h12\"\n class=\"fastboard-icon-stroke-color\"\n />\n </g>\n</svg>\n","import Apps from \"./Apps.svelte\";\nimport Arrow from \"./Arrow.svelte\";\nimport ArrowBolded from \"./ArrowBolded.svelte\";\nimport Balloon from \"./Balloon.svelte\";\nimport BalloonBolded from \"./BalloonBolded.svelte\";\nimport Circle from \"./Circle.svelte\";\nimport CircleBolded from \"./CircleBolded.svelte\";\nimport Clear from \"./Clear.svelte\";\nimport Click from \"./Click.svelte\";\nimport ClickFilled from \"./ClickFilled.svelte\";\nimport Diamond from \"./Diamond.svelte\";\nimport Down from \"./Down.svelte\";\nimport Drag from \"./Drag.svelte\";\nimport DragFilled from \"./DragFilled.svelte\";\nimport Eraser from \"./Eraser.svelte\";\nimport EraserFilled from \"./EraserFilled.svelte\";\nimport Laser from \"./Laser.svelte\";\nimport LaserFilled from \"./LaserFilled.svelte\";\nimport Left from \"./Left.svelte\";\nimport Line from \"./Line.svelte\";\nimport LineBolded from \"./LineBolded.svelte\";\nimport Minus from \"./Minus.svelte\";\nimport Pencil from \"./Pencil.svelte\";\nimport PencilFilled from \"./PencilFilled.svelte\";\nimport Plus from \"./Plus.svelte\";\nimport Rectangle from \"./Rectangle.svelte\";\nimport RectangleBolded from \"./RectangleBolded.svelte\";\nimport Redo from \"./Redo.svelte\";\nimport Reset from \"./Reset.svelte\";\nimport Rhombus from \"./Rhombus.svelte\";\nimport RhombusBolded from \"./RhombusBolded.svelte\";\nimport Right from \"./Right.svelte\";\nimport Selector from \"./Selector.svelte\";\nimport SelectorFilled from \"./SelectorFilled.svelte\";\nimport SpeechBalloon from \"./SpeechBalloon.svelte\";\nimport Star from \"./Star.svelte\";\nimport StarBolded from \"./StarBolded.svelte\";\nimport Text from \"./Text.svelte\";\nimport TextFilled from \"./TextFilled.svelte\";\nimport Triangle from \"./Triangle.svelte\";\nimport TriangleBolded from \"./TriangleBolded.svelte\";\nimport Undo from \"./Undo.svelte\";\nimport Up from \"./Up.svelte\";\nimport WhiteboardAdd from \"./WhiteboardAdd.svelte\";\nimport Play from \"./Play.svelte\";\nimport Pause from \"./Pause.svelte\";\nimport Loading from \"./Loading.svelte\";\nimport LaserPen from \"./LaserPen.svelte\";\nimport LaserPenFilled from \"./LaserPenFilled.svelte\";\nimport MarkPen from \"./MarkPen.svelte\";\nimport MarkPenFilled from \"./MarkPenFilled.svelte\";\nimport EraserBitmap from \"./EraserBitmap.svelte\";\nimport EraserBitmapFilled from \"./EraserBitmapFilled.svelte\";\n\nconst Icons = {\n Apps,\n Arrow,\n ArrowBolded,\n Balloon,\n BalloonBolded,\n Circle,\n CircleBolded,\n Clear,\n Click,\n ClickFilled,\n Diamond,\n Down,\n Drag,\n DragFilled,\n Eraser,\n EraserFilled,\n Laser,\n LaserFilled,\n Left,\n Line,\n LineBolded,\n Minus,\n Pencil,\n PencilFilled,\n Plus,\n Rectangle,\n RectangleBolded,\n Redo,\n Reset,\n Rhombus,\n RhombusBolded,\n Right,\n Selector,\n SelectorFilled,\n SpeechBalloon,\n Star,\n StarBolded,\n Text,\n TextFilled,\n Triangle,\n TriangleBolded,\n Undo,\n Up,\n WhiteboardAdd,\n Play,\n Pause,\n Loading,\n LaserPen,\n LaserPenFilled,\n MarkPen,\n MarkPenFilled,\n EraserBitmap,\n EraserBitmapFilled,\n};\n\nexport default Icons;\n","import type { Instance, Props } from \"tippy.js\";\nimport type { SvelteAction } from \"../typings\";\n\nimport Tippy from \"tippy.js\";\n\nif (typeof window !== \"undefined\") {\n Tippy.setDefaultProps({\n delay: [1000, 400],\n duration: 300,\n offset: [0, 11],\n theme: \"dark\",\n plugins: [\n {\n name: \"className\",\n defaultValue: \"\",\n fn(instance) {\n function add() {\n const el = instance.popper.firstElementChild;\n if (el) {\n el.classList.add(\"fastboard-tip\");\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const extra = ((instance.props as any).className || \"\").trim();\n if (extra) {\n el.classList.add(extra);\n }\n }\n }\n\n function remove() {\n instance.popper.firstElementChild?.classList.remove(\"fastboard-tip\");\n }\n\n return {\n onCreate: add,\n onBeforeUpdate: remove,\n onAfterUpdate: add,\n };\n },\n },\n ],\n });\n}\n\nexport const tippy: SvelteAction<Partial<Props & { className: string }>> = function (node, props) {\n const instance = Tippy(node, props);\n\n return {\n update(props: Partial<Props & { className: string }>) {\n instance.setProps(props);\n },\n destroy() {\n instance.destroy();\n },\n };\n};\n\nexport function tippy_hide_all() {\n document.querySelectorAll(\"[data-tippy-root]\").forEach(el => {\n const instance = (el as unknown as { _tippy: Instance })._tippy;\n if (instance) instance.hide();\n });\n}\n\nexport const tippy_menu: Partial<Props> = {\n delay: 0,\n duration: [50, 300],\n placement: \"right-start\",\n interactive: true,\n trigger: \"click\",\n};\n","<script lang=\"ts\">\n import type { Content, Placement } from \"tippy.js\";\n import type { Theme } from \"../../typings\";\n import { tippy, tippy_menu } from \"../../actions/tippy\";\n\n let className = \"\";\n export { className as class };\n export let name = \"fastboard-ui\";\n export let theme: Theme = \"light\";\n export let disabled = false;\n export let content: Content = \"\";\n export let placement: Placement = \"top\";\n export let menu: Content = \"\";\n export let menu_placement: Placement = \"right-start\";\n</script>\n\n{#if content}\n {#if menu}\n <span class=\"{name}-btn-interactive {theme}\" use:tippy={{ content, placement, className }}>\n <button\n class=\"{name}-btn {className} {theme}\"\n {disabled}\n on:click\n use:tippy={{\n content: menu,\n ...tippy_menu,\n placement: menu_placement,\n appendTo: document.body,\n theme,\n className: \"fastboard-panel\",\n }}\n >\n <slot />\n </button>\n <span class=\"{name}-triangle\" />\n </span>\n {:else}\n <button\n class=\"{name}-btn {className} {theme}\"\n {disabled}\n on:click\n use:tippy={{ content, placement, className }}\n >\n <slot />\n </button>\n {/if}\n{:else}\n <button class=\"{name}-btn {className} {theme}\" {disabled} on:click>\n <slot />\n </button>\n{/if}\n","<script lang=\"ts\" context=\"module\">\n import type { FastboardApp } from \"@netless/fastboard-core\";\n import type { GenericIcon, I18nData, IconType, Language, Theme } from \"../../typings\";\n const i18n: I18nData<\"redo\" | \"undo\"> = {\n en: {\n redo: \"Redo\",\n undo: \"Undo\",\n },\n \"zh-CN\": {\n redo: \"重做\",\n undo: \"撤销\",\n },\n };\n</script>\n\n<script lang=\"ts\">\n import Icon from \"../Icon\";\n import Icons from \"../Icons\";\n import Button from \"../Button\";\n\n export let app: FastboardApp | null | undefined = null;\n export let theme: Theme = \"light\";\n export let language: Language = \"en\";\n export let icons: GenericIcon<\"undo\" | \"redo\"> | undefined = undefined;\n\n const name = \"fastboard-redo-undo\";\n\n $: writable = app?.writable;\n $: phase = app?.phase;\n $: disabled = !($writable && $phase === \"connected\");\n $: t = i18n[language];\n\n let type: IconType;\n $: type = disabled ? \"disable\" : \"normal\";\n\n $: undoSteps = app?.canUndoSteps;\n $: redoSteps = app?.canRedoSteps;\n $: undo_disabled = disabled || !$undoSteps;\n $: redo_disabled = disabled || !$redoSteps;\n\n function undo() {\n app?.undo();\n }\n\n function redo() {\n app?.redo();\n }\n</script>\n\n<div class=\"{name} {theme}\">\n <Button class=\"undo\" {name} {theme} disabled={undo_disabled} on:click={undo} content={t.undo}>\n <Icon src={icons?.undo[type]} alt=\"[undo]\">\n <Icons.Undo {theme} />\n </Icon>\n </Button>\n <Button class=\"redo\" {name} {theme} disabled={redo_disabled} on:click={redo} content={t.redo}>\n <Icon src={icons?.redo[type]} alt=\"[redo]\">\n <Icons.Redo {theme} />\n </Icon>\n </Button>\n</div>\n","<script lang=\"ts\" context=\"module\">\n import type { FastboardApp } from \"@netless/fastboard-core\";\n import type { GenericIcon, I18nData, IconType, Language, Theme } from \"../../typings\";\n const i18n: I18nData<\"prev\" | \"next\" | \"add\"> = {\n en: {\n prev: \"Prev Page\",\n next: \"Next Page\",\n add: \"Add Page\",\n },\n \"zh-CN\": {\n prev: \"上一页\",\n next: \"下一页\",\n add: \"添加页面\",\n },\n };\n</script>\n\n<script lang=\"ts\">\n import Icon from \"../Icon\";\n import Icons from \"../Icons\";\n import Button from \"../Button\";\n\n export let app: FastboardApp | null | undefined = null;\n export let theme: Theme = \"light\";\n export let language: Language = \"en\";\n export let icons: GenericIcon<\"prev\" | \"next\" | \"add\"> | undefined = undefined;\n\n const name = \"fastboard-page-control\";\n\n $: writable = app?.writable;\n $: phase = app?.phase;\n $: disabled = !($writable && $phase === \"connected\");\n $: t = i18n[language];\n\n let type: IconType;\n $: type = disabled ? \"disable\" : \"normal\";\n\n $: index = app?.sceneIndex;\n $: length = app?.sceneLength;\n $: prev_disabled = disabled || !$index;\n $: next_disabled = disabled || $length == null || $index === $length - 1;\n\n function prevPage() {\n app?.prevPage();\n }\n\n function nextPage() {\n app?.nextPage();\n }\n\n function addPage() {\n app?.addPage({ after: true });\n app?.nextPage();\n }\n</script>\n\n<div class=\"{name} {theme}\">\n <Button class=\"prev\" {name} {theme} disabled={prev_disabled} on:click={prevPage} content={t.prev}>\n <Icon src={icons?.prev[type]} alt=\"[prev]\">\n <Icons.Left {theme} />\n </Icon>\n </Button>\n <span class=\"{name}-text {theme}\">\n {#if $index == null || $length == null}\n &hellip;\n {:else}\n {$index + 1}/{$length}\n {/if}\n </span>\n <Button class=\"next\" {name} {theme} disabled={next_disabled} on:click={nextPage} content={t.next}>\n <Icon src={icons?.next[type]} alt=\"[next]\">\n <Icons.Right {theme} />\n </Icon>\n </Button>\n <Button class=\"add\" {name} {theme} {disabled} on:click={addPage} content={t.add}>\n <Icon src={icons?.add[type]} alt=\"[add]\">\n <Icons.WhiteboardAdd {theme} />\n </Icon>\n </Button>\n</div>\n","export function clamp(value: number, min: number, max: number) {\n return value < min ? min : value > max ? max : value;\n}\n","<script lang=\"ts\" context=\"module\">\n import type { FastboardApp } from \"@netless/fastboard-core\";\n import type { GenericIcon, I18nData, IconType, Language, Theme } from \"../../typings\";\n import { clamp } from \"../helpers\";\n\n const i18n: I18nData<\"plus\" | \"minus\" | \"reset\"> = {\n en: {\n plus: \"Zoom In\",\n minus: \"Zoom Out\",\n reset: \"Reset\",\n },\n \"zh-CN\": {\n plus: \"放大\",\n minus: \"缩小\",\n reset: \"重置\",\n },\n };\n\n const scales: readonly number[] = [\n 0.3, 0.4096000000000002, 0.5120000000000001, 0.6400000000000001, 0.8, 1, 1.26, 1.5876000000000001,\n 2.000376, 2.5204737600000002, 3,\n ];\n\n function next_scale(scale: number, delta: 1 | -1) {\n const { length } = scales;\n const last = length - 1;\n if (scale < scales[0]) return scales[0];\n if (scale > scales[last]) return scales[last];\n for (let i = 0; i < length; ++i) {\n const cur = scales[i];\n const prev = i === 0 ? -Infinity : (scales[i - 1] + cur) / 2;\n const next = i === last ? Infinity : (scales[i + 1] + cur) / 2;\n if (prev <= scale && scale <= next) return scales[clamp(i + delta, 0, last)];\n }\n return 1;\n }\n</script>\n\n<script lang=\"ts\">\n import Icon from \"../Icon\";\n import Icons from \"../Icons\";\n import Button from \"../Button\";\n\n export let app: FastboardApp | null | undefined = null;\n export let theme: Theme = \"light\";\n export let language: Language = \"en\";\n export let icons: GenericIcon<\"plus\" | \"minus\" | \"reset\"> | undefined = undefined;\n\n const name = \"fastboard-zoom-control\";\n\n $: writable = app?.writable;\n $: phase = app?.phase;\n $: disabled = !($writable && $phase === \"connected\");\n $: t = i18n[language];\n\n let type: IconType;\n $: type = disabled ? \"disable\" : \"normal\";\n\n $: camera = app?.camera;\n $: scale = $camera?.scale ?? 1;\n $: plus_disabled = disabled || next_scale(scale, 1) === scale;\n $: minus_disabled = disabled || next_scale(scale, -1) === scale;\n\n function plus() {\n app?.moveCamera({ scale: next_scale(scale, 1), centerX: 0, centerY: 0 });\n }\n\n function minus() {\n app?.moveCamera({ scale: next_scale(scale, -1), centerX: 0, centerY: 0 });\n }\n\n function reset() {\n app?.moveCamera({ scale: 1, centerX: 0, centerY: 0 });\n }\n</script>\n\n<div class=\"{name} {theme}\">\n <Button class=\"plus\" {name} {theme} disabled={plus_disabled} on:click={plus} content={t.plus}>\n <Icon src={icons?.plus[type]} alt=\"[plus]\">\n <Icons.Plus {theme} />\n </Icon>\n </Button>\n <span class=\"{name}-text {theme}\">\n {#if $camera == null}\n &hellip;\n {:else}\n {Math.ceil(scale * 100)}%\n {/if}\n </span>\n <Button class=\"minus\" {name} {theme} disabled={minus_disabled} on:click={minus} content={t.minus}>\n <Icon src={icons?.minus[type]} alt=\"[minus]\">\n <Icons.Minus {theme} />\n </Icon>\n </Button>\n <Button class=\"reset\" {name} {theme} {disabled} on:click={reset} content={t.reset}>\n <Icon src={icons?.reset[type]} alt=\"[reset]\">\n <Icons.Reset {theme} />\n </Icon>\n </Button>\n</div>\n","import type { Writable } from \"svelte/store\";\nimport type { SvelteAction } from \"../typings\";\n\nexport const height: SvelteAction<Writable<number>> = function (node, height) {\n const styles = getComputedStyle(node);\n const paddings =\n (parseInt(styles.paddingTop) || 0) +\n (parseInt(styles.paddingBottom) || 0) +\n (parseInt(styles.borderTopWidth) || 0) +\n (parseInt(styles.borderBottomWidth) || 0);\n\n const observer = new ResizeObserver(() => {\n height.set(node.getBoundingClientRect().height - paddings);\n });\n\n observer.observe(node);\n\n return {\n update(new_height) {\n height = new_height;\n },\n destroy() {\n observer.disconnect();\n },\n };\n};\n\nexport const scrollHeight: SvelteAction<Writable<number>> = function (node, height) {\n const observer = new ResizeObserver(() => {\n height.set(node.scrollHeight);\n });\n\n observer.observe(node);\n\n return {\n update(new_height) {\n height = new_height;\n },\n destroy() {\n observer.disconnect();\n },\n };\n};\n","import type { Appliance, Color } from \"@netless/fastboard-core\";\nimport type { I18nData, ToolbarItem } from \"../../../typings\";\nimport Icons from \"../../Icons\";\n\nexport const default_items: ToolbarItem[] = [\n \"clicker\",\n \"selector\",\n \"pencil\",\n \"text\",\n \"shapes\",\n \"eraser\",\n \"clear\",\n];\n\nexport const colors: Record<string, Color> = {\n \"#E02020\": [224, 32, 32],\n \"#F7B500\": [247, 181, 0],\n \"#6DD400\": [109, 212, 0],\n \"#32C5FF\": [50, 197, 255],\n \"#0091FF\": [0, 145, 255],\n \"#6236FF\": [98, 54, 255],\n \"#B620E0\": [182, 32, 224],\n \"#6D7278\": [109, 114, 120],\n};\n\nexport const colorKeys = Object.keys(colors);\n\nexport const default_colors: Color[] = Object.values(colors);\n\nexport const shapes = [\n \"rectangle\",\n \"ellipse\",\n \"straight\",\n \"arrow\",\n \"pentagram\",\n \"rhombus\",\n \"triangle\",\n \"speechBalloon\",\n] as const;\n\nexport type Shape = (typeof shapes)[number];\n\nexport const applianceShapes = shapes.slice(0, 4) as Appliance[];\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const shapesIcon: Record<Shape, any> = {\n rectangle: Icons.Rectangle,\n ellipse: Icons.Circle,\n straight: Icons.Line,\n arrow: Icons.Arrow,\n pentagram: Icons.Star,\n rhombus: Icons.Rhombus,\n triangle: Icons.Triangle,\n speechBalloon: Icons.Balloon,\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const shapesIconActive: Record<Shape, any> = {\n rectangle: Icons.RectangleBolded,\n ellipse: Icons.CircleBolded,\n straight: Icons.LineBolded,\n arrow: Icons.ArrowBolded,\n pentagram: Icons.StarBolded,\n rhombus: Icons.RhombusBolded,\n triangle: Icons.TriangleBolded,\n speechBalloon: Icons.BalloonBolded,\n};\n\nexport const i18n: I18nData<ToolbarItem | \"apps\"> = {\n en: {\n clicker: \"clicker\",\n selector: \"selector\",\n pencil: \"pencil\",\n eraser: \"eraser\",\n text: \"text\",\n shapes: \"shapes\",\n clear: \"clear\",\n apps: \"apps\",\n hand: \"hand\",\n laserPointer: \"laser pointer\",\n },\n \"zh-CN\": {\n clicker: \"点击\",\n selector: \"选择\",\n pencil: \"铅笔\",\n eraser: \"橡皮\",\n text: \"文字\",\n shapes: \"形状\",\n clear: \"清屏\",\n apps: \"Apps\",\n hand: \"抓手\",\n laserPointer: \"激光笔\",\n },\n};\n","import type { Writable } from \"svelte/store\";\nimport type { SvelteAction } from \"../typings\";\n\nexport const scrollTop: SvelteAction<Writable<number>> = function (node, value) {\n const listener = (top: number) => {\n node.scrollTo({ top, behavior: \"smooth\" });\n };\n\n let timer = 0;\n\n function on_scroll() {\n clearTimeout(timer);\n timer = window.setTimeout(() => value.set(node.scrollTop), 200);\n }\n\n node.addEventListener(\"scroll\", on_scroll);\n\n let unsubscribe = value.subscribe(listener);\n\n return {\n update(new_value) {\n unsubscribe();\n unsubscribe = (value = new_value).subscribe(listener);\n },\n destroy() {\n clearTimeout(timer);\n node.removeEventListener(\"scroll\", on_scroll);\n unsubscribe();\n },\n };\n};\n","import type { FastboardApp } from \"@netless/fastboard-core\";\nimport code_editor_svg from \"./icons/visual-studio-code.svg\";\nimport geogebra_svg from \"./icons/geogebra.svg\";\nimport countdown_svg from \"./icons/countdown.svg\";\n\nexport interface AppInToolbar {\n kind: string;\n icon: string;\n label: string;\n onClick: (app: FastboardApp) => void;\n}\n\nclass AppsInToolbar {\n _listeners: Array<(data: AppInToolbar[]) => void> = [];\n constructor(private _data: AppInToolbar[]) {}\n get data() {\n return this._data;\n }\n get length() {\n return this._data.length;\n }\n subscribe(fn: (data: AppInToolbar[]) => void) {\n this._listeners.push(fn);\n fn(this._data);\n return () => {\n this._listeners = this._listeners.filter(item => item !== fn);\n };\n }\n push(...data: AppInToolbar[]) {\n this._data.push(...data);\n this._listeners.forEach(fn => fn(this._data));\n }\n insert(data: AppInToolbar, index: number) {\n this._data.splice(index, 0, data);\n this._listeners.forEach(fn => fn(this._data));\n }\n delete(filter: (data: AppInToolbar) => boolean) {\n this._data = this._data.filter(item => !filter(item));\n this._listeners.forEach(fn => fn(this._data));\n }\n clear() {\n this._data.length = 0;\n this._listeners.forEach(fn => fn(this._data));\n }\n}\n\nexport type { AppsInToolbar };\n\nexport const apps = new AppsInToolbar([\n {\n kind: \"Monaco\",\n icon: code_editor_svg,\n label: \"Code Editor\",\n onClick(app) {\n app.manager.addApp({\n kind: \"Monaco\",\n options: { title: \"Code Editor\" },\n });\n },\n },\n {\n kind: \"GeoGebra\",\n icon: geogebra_svg,\n label: \"GeoGebra\",\n onClick(app) {\n app.manager.addApp({\n kind: \"GeoGebra\",\n options: { title: \"GeoGebra\" },\n });\n },\n },\n {\n kind: \"Countdown\",\n icon: countdown_svg,\n label: \"Countdown\",\n onClick(app) {\n app.manager.addApp({\n kind: \"Countdown\",\n options: { title: \"Countdown\" },\n });\n },\n },\n]);\n","import type { Color, HotKey } from \"@netless/fastboard-core\";\nimport { element, attr, append } from \"svelte/internal\";\n\n/**\n * ```svelte\n * <span class=\"fastboard-toolbar-tooltip\">\n * <span>{text}</span>\n * <span class=\"fastboard-toolbar-hotkey\">{hotkey.toUpperCase()}</span>\n * </span>\n * ```\n */\nexport function tooltip(text: string, hotkey?: HotKey) {\n if (!hotkey || typeof hotkey !== \"string\") return text;\n const outer = element(\"span\");\n const inner = element(\"span\");\n inner.textContent = text;\n const hotkey_span = element(\"span\");\n hotkey_span.textContent = hotkey.toUpperCase();\n attr(outer, \"class\", \"fastboard-toolbar-tooltip\");\n attr(hotkey_span, \"class\", \"fastboard-toolbar-hotkey\");\n append(outer, inner);\n append(outer, hotkey_span);\n return outer;\n}\n\nexport function rgbToHex(r: number, g: number, b: number) {\n const hex = ((r << 16) + (g << 8) + b).toString(16).padStart(6, \"0\");\n return \"#\" + hex;\n}\n\nexport function hexToRgb(hex: string): Color {\n // 移除可能存在的 # 符号\n hex = hex.replace(/^#/, \"\");\n\n // 确保 hex 是 6 位\n if (hex.length !== 6) {\n throw new Error(\"Invalid hex color\");\n }\n\n // 解析每两个字符为一个十进制数\n const r = parseInt(hex.slice(0, 2), 16);\n const g = parseInt(hex.slice(2, 4), 16);\n const b = parseInt(hex.slice(4, 6), 16);\n\n return [r, g, b];\n}\n","<script lang=\"ts\">\n import type { Theme } from \"../../../typings\";\n import { createEventDispatcher } from \"svelte\";\n\n const dispatch = createEventDispatcher<{ change: number }>();\n\n let className = \"\";\n export { className as class };\n export let theme: Theme = \"light\";\n export let min = 0;\n export let max = 100;\n export let step = 0.01;\n export let value = 30;\n export let disabled = false;\n\n const name = \"fastboard-slider\";\n\n let real_value = value;\n let grabbing = false;\n\n function on_down() {\n grabbing = true;\n }\n\n function on_change() {\n grabbing = false;\n value = real_value;\n dispatch(\"change\", value);\n }\n\n $: if (value !== real_value && !grabbing) {\n real_value = value;\n }\n $: percent = (100 * (real_value - min)) / (max - min);\n</script>\n\n<div class=\"{name} {className} {theme}\" style=\"--value:{percent}%\">\n <input\n class=\"{name}-track {theme}\"\n class:grabbing\n type=\"range\"\n {disabled}\n {min}\n {max}\n {step}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={value}\n bind:value={real_value}\n on:pointerdown={on_down}\n on:change={on_change}\n />\n</div>\n","<script lang=\"ts\">\n import type { FastboardApp } from \"@netless/fastboard-core\";\n import type { Theme } from \"../../../typings\";\n import Slider from \"./Slider.svelte\";\n\n export let app: FastboardApp | null | undefined = null;\n export let theme: Theme = \"light\";\n export let disabled = false;\n\n $: memberState = app?.memberState;\n $: value = $memberState?.strokeWidth ?? 1;\n\n $: props = { value, theme, disabled };\n\n function set_stroke_width({ detail: value }: CustomEvent<number>) {\n app?.setStrokeWidth(value);\n }\n</script>\n\n<Slider class=\"fastboard-toolbar-slider\" {...props} min={1} max={32} on:change={set_stroke_width} />\n","<script lang=\"ts\">\n import type { Color, FastboardApp } from \"@netless/fastboard-core\";\n import type { Theme } from \"../../../typings\";\n import { default_colors } from \"./constants\";\n import { hexToRgb, rgbToHex } from \"./helper\";\n\n export let app: FastboardApp | null | undefined = null;\n export let theme: Theme = \"light\";\n export let disabled = false;\n export let colors: Color[] = default_colors;\n\n $: memberState = app?.memberState;\n $: strokeColor = $memberState?.strokeColor;\n\n function is_equal_color(a?: Color, b?: Color) {\n return a && b && a.every((v, i) => v === b[i]);\n }\n\n function set_stroke_color(ev: MouseEvent) {\n let button = ev.target as HTMLButtonElement | null;\n if (button && button.dataset.colorKey) {\n let color = button.dataset.colorKey;\n if (color && app) {\n app.setStrokeColor(hexToRgb(color));\n }\n }\n }\n</script>\n\n<!-- svelte-ignore a11y-click-events-have-key-events -->\n<div class=\"fastboard-toolbar-colors {theme}\" on:click={set_stroke_color}>\n {#each colors as color}\n <button\n class=\"fastboard-toolbar-btn fastboard-toolbar-color-btn {theme}\"\n class:is-active={is_equal_color(strokeColor, color)}\n data-color-key={rgbToHex(color[0], color[1], color[2])}\n {disabled}\n >\n <span\n class=\"fastboard-toolbar-color-item\"\n style:background-color={rgbToHex(color[0], color[1], color[2])}\n />\n </button>\n {/each}\n</div>\n","<script lang=\"ts\">\n import type { Color, FastboardApp } from \"@netless/fastboard-core\";\n import type { Theme } from \"../../../typings\";\n import { default_colors } from \"./constants\";\n import { hexToRgb, rgbToHex } from \"./helper\";\n\n export let app: FastboardApp | null | undefined = null;\n export let theme: Theme = \"light\";\n export let disabled = false;\n export let colors: Color[] = default_colors;\n\n $: memberState = app?.memberState;\n $: textColor = $memberState?.textColor;\n\n function is_equal_color(a?: Color, b?: Color) {\n return a && b && a.every((v, i) => v === b[i]);\n }\n\n function set_stroke_color(ev: MouseEvent) {\n let button = ev.target as HTMLButtonElement | null;\n if (button && button.dataset.colorKey) {\n let color = button.dataset.colorKey;\n if (color && app) {\n app.setTextColor(hexToRgb(color));\n }\n }\n }\n</script>\n\n<!-- svelte-ignore a11y-click-events-have-key-events -->\n<div class=\"fastboard-toolbar-colors {theme}\" on:click={set_stroke_color}>\n {#each colors as color}\n <button\n class=\"fastboard-toolbar-btn fastboard-toolbar-color-btn {theme}\"\n class:is-active={is_equal_color(textColor, color)}\n data-color-key={rgbToHex(color[0], color[1], color[2])}\n {disabled}\n >\n <span\n class=\"fastboard-toolbar-color-item\"\n style:background-color={rgbToHex(color[0], color[1], color[2])}\n />\n </button>\n {/each}\n</div>\n","<script lang=\"ts\" context=\"module\">\n import type { I18nData, Language, Theme } from \"../../../typings\";\n import type { Shape } from \"./constants\";\n\n const i18n: I18nData<Shape> = {\n en: {\n rectangle: \"Rectangle\",\n ellipse: \"Ellipse\",\n straight: \"Line\",\n arrow: \"Arrow\",\n pentagram: \"Star\",\n rhombus: \"Diamond\",\n triangle: \"Triangle\",\n speechBalloon: \"Balloon\",\n },\n \"zh-CN\": {\n rectangle: \"矩形\",\n ellipse: \"椭圆\",\n straight: \"直线\",\n arrow: \"箭头\",\n pentagram: \"五角星\",\n rhombus: \"菱形\",\n triangle: \"三角形\",\n speechBalloon: \"气泡\",\n },\n };\n</script>\n\n<script lang=\"ts\">\n import type { Appliance, FastboardApp, HotKey } from \"@netless/fastboard-core\";\n import { tippy } from \"../../../actions/tippy\";\n import { shapes, shapesIcon, shapesIconActive, applianceShapes } from \"./constants\";\n import { tooltip } from \"./helper\";\n\n export let app: FastboardApp | null | undefined = null;\n export let theme: Theme = \"light\";\n export let language: Language = \"en\";\n export let disabled = false;\n\n $: t = i18n[language];\n $: memberState = app?.memberState;\n $: appliance = $memberState?.currentApplianceName;\n $: shape = $memberState?.shapeType;\n $: hotkeys = app?.hotKeys;\n let c: Partial<Record<Shape, HotKey>>;\n $: c = {\n rectangle: hotkeys?.changeToRectangle,\n ellipse: hotkeys?.changeToEllipse,\n straight: hotkeys?.changeToStraight,\n arrow: hotkeys?.changeToArrow,\n };\n\n function set_appliance_or_shape(ev: MouseEvent) {\n let button = ev.target as HTMLButtonElement | null;\n if (button && button.dataset.shapeKey) {\n let shape = button.dataset.shapeKey as Shape;\n if (shape && app) {\n if (applianceShapes.includes(shape as Appliance)) {\n app.setAppliance(shape as Appliance);\n } else {\n app.setAppliance(\"shape\", shape as Exclude<Shape, Appliance>);\n }\n }\n }\n }\n</script>\n\n<!-- svelte-ignore a11y-click-events-have-key-events -->\n<div class=\"fastboard-toolbar-shapes {theme}\" on:click={set_appliance_or_shape}>\n {#each shapes as key (key)}\n {@const is_selected = appliance === \"shape\" ? shape === key : appliance === key}\n <button\n class=\"fastboard-toolbar-btn fastboard-toolbar-shape-btn {theme} {key}\"\n class:is-active={is_selected}\n data-shape-key={key}\n {disabled}\n use:tippy={{ content: tooltip(t[key], c[key]), placement: \"top\" }}\n >\n {#if is_selected}\n <svelte:component this={shapesIconActive[key]} {theme} active />\n {:else}\n <svelte:component this={shapesIcon[key]} {theme} />\n {/if}\n </button>\n {/each}\n</div>\n","<script lang=\"ts\">\n import type { ApplianceNames } from \"@netless/fastboard-core\";\n import type { Theme } from \"../../../typings\";\n import Button, { type ButtonProps } from \"../../Button\";\n import Icons from \"../../Icons\";\n\n export let btn_props: Partial<ButtonProps> = {};\n export let content: ButtonProps[\"content\"] | undefined;\n export let appliance: ApplianceNames | undefined;\n export let theme: Theme = \"light\";\n</script>\n\n<Button class=\"clicker\" {...btn_props} on:click {content}>\n {#if appliance === \"clicker\"}\n <Icons.ClickFilled {theme} active />\n {:else}\n <Icons.Click {theme} />\n {/if}\n</Button>\n","<script lang=\"ts\">\n import type { ApplianceNames } from \"@netless/fastboard-core\";\n import type { Theme } from \"../../../typings\";\n import Button, { type ButtonProps } from \"../../Button\";\n import Icons from \"../../Icons\";\n\n export let btn_props: Partial<ButtonProps> = {};\n export let content: ButtonProps[\"content\"] | undefined;\n export let appliance: ApplianceNames | undefined;\n export let theme: Theme = \"light\";\n</script>\n\n<Button class=\"selector\" {...btn_props} on:click {content}>\n {#if appliance === \"selector\"}\n <Icons.SelectorFilled {theme} active />\n {:else}\n <Icons.Selector {theme} />\n {/if}\n</Button>\n","<script lang=\"ts\">\n import type { ApplianceNames } from \"@netless/fastboard-core\";\n import type { Theme } from \"../../../typings\";\n import Button, { type ButtonProps } from \"../../Button\";\n import Icons from \"../../Icons\";\n\n export let btn_props: Partial<ButtonProps> = {};\n export let content: ButtonProps[\"content\"] | undefined;\n export let menu: ButtonProps[\"menu\"] | undefined;\n export let appliance: ApplianceNames | undefined;\n export let theme: Theme = \"light\";\n export let pencilType: string = \"pencil\";\n</script>\n\n<Button class=\"pencil\" {...btn_props} on:click {content} {menu}>\n {#if pencilType === \"mark\"}\n {#if appliance === \"pencil\"}\n <Icons.MarkPenFilled {theme} active />\n {:else}\n <Icons.MarkPen {theme} />\n {/if}\n {:else if pencilType === \"laser\"}\n {#if appliance === \"pencil\"}\n <Icons.LaserPenFilled {theme} active />\n {:else}\n <Icons.LaserPen {theme} />\n {/if}\n {:else if pencilType === \"pencil\"}\n {#if appliance === \"pencil\"}\n <Icons.PencilFilled {theme} active />\n {:else}\n <Icons.Pencil {theme} />\n {/if}\n {/if}\n</Button>\n","<script lang=\"ts\">\n import type { ApplianceNames } from \"@netless/fastboard-core\";\n import type { Theme } from \"../../../typings\";\n import Button, { type ButtonProps } from \"../../Button\";\n import Icons from \"../../Icons\";\n\n export let btn_props: Partial<ButtonProps> = {};\n export let content: ButtonProps[\"content\"] | undefined;\n export let menu: ButtonProps[\"menu\"] | undefined;\n export let appliance: ApplianceNames | undefined;\n export let theme: Theme = \"light\";\n</script>\n\n<Button class=\"text\" {...btn_props} on:click {content} {menu}>\n {#if appliance === \"text\"}\n <Icons.TextFilled {theme} active />\n {:else}\n <Icons.Text {theme} />\n {/if}\n</Button>\n","<script lang=\"ts\">\n import type { Appliance, ApplianceNames, FastboardApp } from \"@netless/fastboard-core\";\n import type { Theme } from \"../../../typings\";\n import { applianceShapes, shapesIcon, shapesIconActive, type Shape } from \"../components/constants\";\n import Button, { type ButtonProps } from \"../../Button\";\n\n export let app: FastboardApp | null | undefined = null;\n export let btn_props: Partial<ButtonProps> = {};\n export let content: ButtonProps[\"content\"] | undefined;\n export let menu: ButtonProps[\"menu\"] | undefined;\n export let appliance: ApplianceNames | undefined;\n export let theme: Theme = \"light\";\n\n $: memberState = app?.memberState;\n $: appliance = $memberState?.currentApplianceName;\n $: shape = $memberState?.shapeType;\n\n let last_shape: Shape = \"rectangle\";\n\n $: if (applianceShapes.includes(appliance as Appliance)) {\n last_shape = appliance as Shape;\n } else if (shape) {\n last_shape = shape;\n }\n\n function select_last_shape() {\n if (applianceShapes.includes(last_shape as Appliance)) {\n app?.setAppliance(last_shape as Appliance);\n } else {\n app?.setAppliance(\"shape\", last_shape as Exclude<Shape, Appliance>);\n }\n }\n</script>\n\n<Button class=\"shapes\" {...btn_props} on:click={select_last_shape} {content} {menu}>\n {#if appliance === last_shape || (appliance === \"shape\" && shape === last_shape)}\n <svelte:component this={shapesIconActive[last_shape]} {theme} active />\n {:else}\n <svelte:component this={shapesIcon[last_shape]} {theme} />\n {/if}\n</Button>\n","<script lang=\"ts\">\n import type { ApplianceNames } from \"@netless/fastboard-core\";\n import type { Theme } from \"../../../typings\";\n import Button, { type ButtonProps } from \"../../Button\";\n import Icons from \"../../Icons\";\n\n export let btn_props: Partial<ButtonProps> = {};\n export let content: ButtonProps[\"content\"] | undefined;\n export let appliance: ApplianceNames | undefined;\n export let theme: Theme = \"light\";\n export let menu: ButtonProps[\"menu\"] | undefined;\n export let eraserType: string = \"eraser\";\n</script>\n\n<Button class=\"eraser\" {...btn_props} on:click {content} {menu}>\n {#if eraserType === \"eraser\"}\n {#if appliance === \"eraser\"}\n <Icons.EraserFilled {theme} active />\n {:else}\n <Icons.Eraser {theme} />\n {/if}\n {:else if eraserType === \"pencilEraser\"}\n {#if appliance === \"pencilEraser\"}\n <Icons.EraserBitmapFilled {theme} active />\n {:else}\n <Icons.EraserBitmap {theme} />\n {/if}\n {/if}\n</Button>\n","<script lang=\"ts\">\n import type { Theme } from \"../../../typings\";\n import Button, { type ButtonProps } from \"../../Button\";\n import Icons from \"../../Icons\";\n\n export let btn_props: Partial<ButtonProps> = {};\n export let content: ButtonProps[\"content\"] | undefined;\n export let theme: Theme = \"light\";\n</script>\n\n<Button class=\"clear\" {...btn_props} on:click {content}>\n <Icons.Clear {theme} />\n</Button>\n","<script lang=\"ts\">\n import type { ApplianceNames } from \"@netless/fastboard-core\";\n import type { Theme } from \"../../../typings\";\n import Button, { type ButtonProps } from \"../../Button\";\n import Icons from \"../../Icons\";\n\n export let btn_props: Partial<ButtonProps> = {};\n export let content: ButtonProps[\"content\"] | undefined;\n export let appliance: ApplianceNames | undefined;\n export let theme: Theme = \"light\";\n</script>\n\n<Button class=\"hand\" {...btn_props} on:click {content}>\n {#if appliance === \"hand\"}\n <Icons.DragFilled {theme} active />\n {:else}\n <Icons.Drag {theme} />\n {/if}\n</Button>\n","<script lang=\"ts\">\n import type { ApplianceNames } from \"@netless/fastboard-core\";\n import type { Theme } from \"../../../typings\";\n import Button, { type ButtonProps } from \"../../Button\";\n import Icons from \"../../Icons\";\n\n export let btn_props: Partial<ButtonProps> = {};\n export let content: ButtonProps[\"content\"] | undefined;\n export let appliance: ApplianceNames | undefined;\n export let theme: Theme = \"light\";\n</script>\n\n<Button class=\"laserPointer\" {...btn_props} on:click {content}>\n {#if appliance === \"laserPointer\"}\n <Icons.LaserFilled {theme} active />\n {:else}\n <Icons.Laser {theme} />\n {/if}\n</Button>\n","<script lang=\"ts\">\n import type { FastboardApp, ExtendMemberState } from \"@netless/fastboard-core\";\n import type { Theme } from \"../../../typings\";\n import Slider from \"./Slider.svelte\";\n\n export let app: FastboardApp | null | undefined = null;\n export let theme: Theme = \"light\";\n export let disabled = false;\n\n $: memberState = app?.memberState;\n $: value = $memberState?.pencilEraserSize ?? 1;\n\n $: props = { value, theme, disabled };\n\n function set_eraser_size({ detail: value }: CustomEvent<number>) {\n app?.appliancePlugin?.setMemberState({\n pencilEraserSize: value,\n } as ExtendMemberState);\n }\n</script>\n\n<Slider class=\"fastboard-toolbar-slider\" {...props} min={1} max={4} on:change={set_eraser_size} />\n","<script lang=\"ts\">\n import type { FastboardApp, ExtendMemberState } from \"@netless/fastboard-core\";\n import type { Writable } from \"svelte/store\";\n import type { Language, Theme, ToolbarItem } from \"../../../typings\";\n import { writable } from \"svelte/store\";\n import { scrollHeight } from \"../../../actions/height\";\n import { scrollTop } from \"../../../actions/scroll\";\n import { tippy_hide_all } from \"../../../actions/tippy\";\n import { clamp } from \"../../helpers\";\n import { default_colors, default_items, i18n } from \"./constants\";\n import { apps } from \"../../../behaviors\";\n import { tooltip } from \"./helper\";\n import Icons from \"../../Icons\";\n import Button, { type ButtonProps } from \"../../Button\";\n\n import StrokeWidth from \"./StrokeWidth.svelte\";\n import StrokeColor from \"./StrokeColor.svelte\";\n import TextColor from \"./TextColor.svelte\";\n import SelectShapes from \"./SelectShapes.svelte\";\n\n import Clicker from \"../definitions/Clicker.svelte\";\n import Selector from \"../definitions/Selector.svelte\";\n import Pencil from \"../definitions/Pencil.svelte\";\n import Text from \"../definitions/Text.svelte\";\n import Shapes from \"../definitions/Shapes.svelte\";\n import Eraser from \"../definitions/Eraser.svelte\";\n import Clear from \"../definitions/Clear.svelte\";\n import Hand from \"../definitions/Hand.svelte\";\n import Laser from \"../definitions/Laser.svelte\";\n import EraserSize from \"./EraserSize.svelte\";\n\n export let app: FastboardApp | null | undefined = null;\n export let theme: Theme = \"light\";\n export let language: Language = \"en\";\n export let disabled = false;\n export let scroll_height: Writable<number>;\n export let computed_height = 0;\n export let scrollable = false;\n export let placement: \"left\" | \"right\" = \"left\";\n export let items: ToolbarItem[] = default_items;\n export let hide_apps = false;\n export let colors = default_colors;\n\n const name = \"fastboard-toolbar\";\n\n let pencil_panel: HTMLDivElement;\n let text_panel: HTMLDivElement;\n let shapes_panel: HTMLDivElement;\n let apps_panel: HTMLDivElement;\n let eraser_panel: HTMLDivElement;\n\n let btn_props: Partial<ButtonProps>;\n $: btn_props = {\n name,\n theme,\n disabled,\n placement: placement === \"left\" ? \"right\" : \"left\",\n menu_placement: placement === \"left\" ? \"right-start\" : \"left-start\",\n };\n\n $: t = i18n[language];\n $: hotkeys = app?.hotKeys;\n $: c = {\n clicker: tooltip(t.clicker, hotkeys?.changeToClick),\n selector: tooltip(t.selector, hotkeys?.changeToSelector),\n pencil: tooltip(t.pencil, hotkeys?.changeToPencil),\n eraser: tooltip(t.eraser, hotkeys?.changeToEraser),\n text: tooltip(t.text, hotkeys?.changeToText),\n hand: tooltip(t.hand, hotkeys?.changeToHand),\n laserPointer: tooltip(t.laserPointer, hotkeys?.changeToLaserPointer),\n };\n\n $: memberState = app?.memberState;\n $: appliance = $memberState?.currentApplianceName;\n $: status = app?.appsStatus;\n\n $: max_scroll = scrollable ? $scroll_height + (32 + 8) * 2 - computed_height : 0;\n\n $: hasAppliancePlugin = !!app?.appliancePlugin;\n $: showLaserPen =\n (app?.appliancePlugin && !app?.appliancePlugin.currentManager?.pluginOptions.extras.useSimple) || false;\n $: hasUseLaserPen = (hasAppliancePlugin && ($memberState as ExtendMemberState)?.useLaserPen) || false;\n $: hasUseMarkPen =\n (hasAppliancePlugin && ($memberState as ExtendMemberState)?.strokeOpacity === 0.5) || false;\n $: pencilType = hasUseLaserPen ? \"laser\" : hasUseMarkPen ? \"mark\" : \"pencil\";\n $: hasUseEraserBitmap = hasAppliancePlugin && ($memberState as ExtendMemberState)?.isLine === false;\n $: eraserType = hasUseEraserBitmap ? \"pencilEraser\" : \"eraser\";\n\n let top = writable(0);\n\n function scroll_up() {\n $top = clamp($top - 32 - 4, 0, max_scroll);\n }\n function scroll_down() {\n $top = clamp($top + 32 + 4, 0, max_scroll);\n }\n\n function clicker() {\n app?.setAppliance(\"clicker\");\n }\n function selector() {\n app?.setAppliance(\"selector\");\n }\n function pencil() {\n if (hasAppliancePlugin) {\n if (appliance !== \"pencil\") {\n if (pencilType === \"mark\") {\n useMarkPen();\n } else if (pencilType === \"laser\") {\n useLaserPen();\n } else {\n usePencil();\n }\n }\n } else {\n usePencil();\n }\n }\n function text() {\n app?.setAppliance(\"text\");\n }\n function eraser() {\n if (hasAppliancePlugin) {\n if (appliance !== \"eraser\") {\n if (eraserType === \"pencilEraser\") {\n useEraserBitmap();\n } else {\n useEraser();\n }\n }\n } else {\n useEraser();\n }\n }\n function hand() {\n app?.setAppliance(\"hand\");\n }\n function laserPointer() {\n app?.setAppliance(\"laserPointer\");\n }\n function clear() {\n app?.cleanCurrentScene();\n }\n function usePencil() {\n if (hasAppliancePlugin) {\n app?.appliancePlugin?.setMemberState({\n currentApplianceName: \"pencil\",\n strokeType: \"Stroke\",\n useLaserPen: false,\n strokeOpacity: 1,\n } as ExtendMemberState);\n } else {\n app?.setAppliance(\"pencil\");\n }\n }\n function useLaserPen() {\n app?.appliancePlugin?.setMemberState({\n currentApplianceName: \"laserPen\",\n useLaserPen: true,\n strokeOpacity: 1,\n } as ExtendMemberState);\n }\n function useMarkPen() {\n app?.appliancePlugin?.setMemberState({\n currentApplianceName: \"pencil\",\n useLaserPen: false,\n strokeOpacity: 0.5,\n } as ExtendMemberState);\n }\n function useEraser() {\n if (hasAppliancePlugin) {\n app?.appliancePlugin?.setMemberState({\n currentApplianceName: \"eraser\",\n isLine: true,\n } as ExtendMemberState);\n } else {\n app?.setAppliance(\"eraser\");\n }\n }\n function useEraserBitmap() {\n app?.appliancePlugin?.setMemberState({\n currentApplianceName: \"pencilEraser\",\n isLine: false,\n } as ExtendMemberState);\n }\n</script>\n\n{#if scrollable}\n <Button class=\"scroll-up\" {...btn_props} on:click={scroll_up}>\n <Icons.Up {theme} />\n </Button>\n{/if}\n<div class=\"{name}-scrollable\" class:scrollable use:scrollHeight={scroll_height} use:scrollTop={top}>\n {#each items as item}\n {#if item === \"clicker\"}\n <Clicker {appliance} {theme} {btn_props} on:click={clicker} content={c.clicker} />\n {:else if item === \"selector\"}\n <Selector {appliance} {theme} {btn_props} on:click={selector} content={c.selector} />\n {:else if item === \"pencil\"}\n <Pencil\n {pencilType}\n {appliance}\n {theme}\n {btn_props}\n on:click={pencil}\n content={c.pencil}\n menu={pencil_panel}\n />\n {:else if item === \"text\"}\n <Text {appliance} {theme} {btn_props} on:click={text} content={c.text} menu={text_panel} />\n {:else if item === \"shapes\"}\n <Shapes {app} {appliance} {theme} {btn_props} content={t.shapes} menu={shapes_panel} />\n {:else if item === \"eraser\"}\n <Eraser\n {eraserType}\n {appliance}\n {theme}\n {btn_props}\n on:click={eraser}\n content={c.eraser}\n menu={hasAppliancePlugin ? eraser_panel : undefined}\n />\n {:else if item === \"clear\"}\n <Clear {theme} {btn_props} on:click={clear} content={t.clear} />\n {:else if item === \"hand\"}\n <Hand {appliance} {theme} {btn_props} on:click={hand} content={c.hand} />\n {:else if item === \"laserPointer\"}\n <Laser {appliance} {theme} {btn_props} on:click={laserPointer} content={c.laserPointer} />\n {/if}\n {/each}\n {#if !hide_apps}\n <Button\n class=\"apps\"\n {...btn_props}\n content={t.apps}\n menu={apps_panel}\n menu_placement={placement === \"left\" ? \"right-end\" : \"left-end\"}\n >\n <Icons.Apps {theme} />\n </Button>\n {/if}\n</div>\n{#if scrollable}\n <Button class=\"scroll-down\" {name} {theme} {disabled} on:click={scroll_down}>\n <Icons.Down {theme} />\n </Button>\n{/if}\n\n<div class=\"{name}-panel-wrapper\" style=\"display:none\">\n <div class=\"{name}-panel pencil\" bind:this={pencil_panel}>\n <div class=\"{name}-panel-switch-pencil\">\n {#if !!app?.appliancePlugin}\n {#if pencilType !== \"pencil\"}\n <Button class=\"{name}-panel-switch-btn\" {...btn_props} on:click={usePencil}>\n <Icons.Pencil {theme} />\n </Button>\n {:else if pencilType === \"pencil\"}\n <Button class=\"{name}-panel-switch-btn\" {...btn_props}>\n <Icons.PencilFilled {theme} active />\n </Button>\n {/if}\n\n {#if showLaserPen && pencilType === \"laser\"}\n <Button class=\"{name}-panel-switch-btn\" {...btn_props}>\n <Icons.LaserPenFilled {theme} active />\n </Button>\n {:else if showLaserPen && pencilType !== \"laser\"}\n <Button class=\"{name}-panel-switch-btn\" {...btn_props} on:click={useLaserPen}>\n <Icons.LaserPen {theme} />\n </Button>\n {/if}\n\n {#if pencilType === \"mark\"}\n <Button class=\"{name}-panel-switch-btn\" {...btn_props}>\n <Icons.MarkPenFilled {theme} active />\n </Button>\n {:else if pencilType !== \"mark\"}\n <Button class=\"{name}-panel-switch-btn\" {...btn_props} on:click={useMarkPen}>\n <Icons.MarkPen {theme} />\n </Button>\n {/if}\n {/if}\n </div>\n <StrokeWidth {app} {theme} {disabled} />\n <div class=\"{name}-panel-divider\" />\n <StrokeColor {app} {theme} {disabled} {colors} />\n </div>\n <div class=\"{name}-panel text\" bind:this={text_panel}>\n <TextColor {app} {theme} {disabled} {colors} />\n </div>\n <div class=\"{name}-panel shapes\" bind:this={shapes_panel}>\n <SelectShapes {app} {theme} {language} {disabled} />\n <div class=\"{name}-panel-divider\" />\n <StrokeWidth {app} {theme} {disabled} />\n <div class=\"{name}-panel-divider\" />\n <StrokeColor {app} {theme} {disabled} {colors} />\n </div>\n <div class=\"{name}-panel earser\" bind:this={eraser_panel}>\n <div class=\"{name}-panel-switch-earser\">\n {#if !!app?.appliancePlugin}\n {#if eraserType !== \"eraser\"}\n <Button class=\"{name}-panel-switch-btn\" {...btn_props} on:click={useEraser}>\n <Icons.Eraser {theme} />\n </Button>\n {:else if eraserType === \"eraser\"}\n <Button class=\"{name}-panel-switch-btn\" {...btn_props}>\n <Icons.EraserFilled {theme} active />\n </Button>\n {/if}\n\n {#if eraserType === \"pencilEraser\"}\n <Button class=\"{name}-panel-switch-btn\" {...btn_props}>\n <Icons.EraserBitmap {theme} active />\n </Button>\n {:else if eraserType !== \"pencilEraser\"}\n <Button class=\"{name}-panel-switch-btn\" {...btn_props} on:click={useEraserBitmap}>\n <Icons.EraserBitmapFilled {theme} />\n </Button>\n {/if}\n {/if}\n </div>\n <EraserSize {app} {theme} {disabled} />\n </div>\n <div class=\"{name}-panel apps\" style=\"--n:{$apps.length}\" bind:this={apps_panel}>\n {#each $apps as netless_app}\n {@const { icon, label, kind, onClick } = netless_app}\n {@const state = $status && $status[kind]}\n {@const on_click = () => {\n app && onClick(app);\n tippy_hide_all();\n }}\n <button\n class=\"{name}-app-btn {kind} {theme}\"\n class:is-loading={state && state.status === \"loading\"}\n class:is-failed={state && state.status === \"failed\"}\n title={label + (state && state.reason ? \": \" + state.reason : \"\")}\n data-app-kind={netless_app.kind}\n disabled={state && state.status !== \"idle\"}\n on:click={on_click}\n >\n <img class=\"{name}-app-btn-icon {theme}\" src={icon} alt={kind} title={label} />\n <span class=\"{name}-app-btn-text {theme}\">{label}</span>\n </button>\n {/each}\n </div>\n</div>\n","<script lang=\"ts\">\n import type { Color, FastboardApp } from \"@netless/fastboard-core\";\n import type { Language, Theme, ToolbarConfig } from \"../../typings\";\n import { writable as svelte_writable } from \"svelte/store\";\n import { height } from \"../../actions/height\";\n import { clamp } from \"../helpers\";\n import { default_items, default_colors } from \"./components/constants\";\n import Contents from \"./components/Contents.svelte\";\n\n export let app: FastboardApp | null | undefined = null;\n export let theme: Theme = \"light\";\n export let language: Language = \"en\";\n export let config: ToolbarConfig = {};\n export let colors: Color[] | undefined = undefined;\n\n const name = \"fastboard-toolbar\";\n const extra_height = (32 + 4 + 4) * 2;\n\n $: writable = app?.writable;\n $: phase = app?.phase;\n $: disabled = !($writable && $phase === \"connected\");\n\n let collapsed = config.collapsed;\n let container_height = svelte_writable(0);\n let scroll_height = svelte_writable(0);\n\n $: computed_height = clamp($container_height, extra_height, $scroll_height + extra_height);\n $: scrollable = $scroll_height + extra_height > $container_height;\n\n $: placement = config.placement || \"left\";\n $: items = config.items || default_items;\n $: hide_apps = config.apps?.enable === false;\n\n $: if (app?.manager && app?.manager.room) {\n if (colors && !config.colors?.length) {\n const floatBarOptions = (app?.manager.room as any).floatBarOptions as { colors?: Color[] };\n if (floatBarOptions?.colors) {\n colors = floatBarOptions.colors as Color[];\n }\n } else {\n colors = config.colors;\n }\n } else {\n colors = default_colors;\n }\n</script>\n\n<div class=\"{name} {theme}\" class:collapsed use:height={container_height}>\n <div class=\"{name}-contents {theme}\" style:height={scrollable ? computed_height + \"px\" : \"auto\"}>\n <Contents\n {app}\n {theme}\n {language}\n {disabled}\n {scroll_height}\n {computed_height}\n {scrollable}\n {placement}\n {items}\n {hide_apps}\n {colors}\n />\n </div>\n <label class=\"{name}-handler {theme}\">\n <input type=\"checkbox\" bind:checked={collapsed} />\n <svg fill=\"none\" stroke-width=\"2\" viewBox=\"0 0 32 120\">\n <path\n fill=\"#fff\"\n stroke=\"none\"\n d=\"m0 0 24 16q6 4 6 14v60q0 10-6 14L0 120\"\n class=\"{name}-handler-bg-color\"\n />\n <path stroke=\"#000\" d=\"m0 0 24 16q6 4 6 14v60q0 10-6 14L0 120\" class=\"{name}-handler-border-color\" />\n {#if collapsed}\n <path stroke=\"#000\" d=\"M10 52v16\" class=\"{name}-handler-image-stroke-color\" />\n <path fill=\"#000\" stroke=\"none\" d=\"M14 52v16l8-8z\" class=\"{name}-handler-image-fill-color\" />\n {:else}\n <path stroke=\"#000\" d=\"M20 52v16\" class=\"{name}-handler-image-stroke-color\" />\n <path fill=\"#000\" stroke=\"none\" d=\"M16 52v16l-8-8z\" class=\"{name}-handler-image-fill-color\" />\n {/if}\n </svg>\n </label>\n</div>\n","<script lang=\"ts\" context=\"module\">\n import type { FastboardPlayer } from \"@netless/fastboard-core\";\n import type { GenericIcon, I18nData, IconType, Language, Theme } from \"../../typings\";\n\n const speeds = [2.0, 1.5, 1.25, 1.0, 0.75, 0.5];\n\n const i18n: I18nData<\"play\" | \"pause\" | \"speed\"> = {\n en: {\n play: \"Play\",\n pause: \"Pause\",\n speed: \"Speed\",\n },\n \"zh-CN\": {\n play: \"播放\",\n pause: \"暂停\",\n speed: \"速度\",\n },\n };\n\n function format(ms: number) {\n const s = Math.floor(ms / 1000);\n const m = Math.floor(s / 60);\n return String(m).padStart(2, \"0\") + \":\" + String(s % 60).padStart(2, \"0\");\n }\n</script>\n\n<script lang=\"ts\">\n import Icon from \"../Icon\";\n import Icons from \"../Icons\";\n import Button from \"../Button\";\n import Slider from \"../Toolbar/components/Slider.svelte\";\n\n export let player: FastboardPlayer | null | undefined = null;\n export let theme: Theme = \"light\";\n export let language: Language = \"en\";\n export let icons: GenericIcon<\"play\" | \"pause\" | \"loading\"> | undefined = undefined;\n\n const name = \"fastboard-player-control\";\n\n $: t = i18n[language];\n\n let type: IconType;\n $: type = disabled ? \"disable\" : \"normal\";\n\n $: canPlay = player?.canplay;\n $: disabled = !canPlay;\n $: duration = player?.duration;\n $: current = player?.currentTime;\n $: playbackRate = player?.playbackRate;\n\n $: phase = player?.phase;\n $: loading = $phase === \"waitingFirstFrame\" || $phase === \"buffering\";\n $: playing = $phase === \"playing\";\n $: className = [loading ? \"loading\" : \"\", playing ? \"pause\" : \"play\"].filter(Boolean).join(\" \");\n\n let speed_panel: HTMLDivElement;\n\n function toggle() {\n if (!player) return;\n switch (player.player.phase) {\n case \"waitingFirstFrame\":\n case \"pause\":\n case \"ended\": {\n player.play();\n break;\n }\n case \"playing\": {\n player.pause();\n break;\n }\n }\n }\n\n function seek({ detail: seconds }: CustomEvent<number>) {\n if (!player) return;\n player.seek(seconds * 1000);\n }\n\n function setPlaybackRate(speed: number) {\n if (!player) return;\n player.setPlaybackRate(speed);\n }\n</script>\n\n<div class=\"{name} {theme}\">\n <Button\n class={className}\n {name}\n {theme}\n {disabled}\n on:click={toggle}\n content={loading ? \"\" : playing ? t.pause : t.play}\n >\n {#if loading}\n <Icon src={icons?.loading[type]} alt=\"[loading]\">\n <Icons.Loading {theme} />\n </Icon>\n {:else if playing}\n <Icon src={icons?.pause[type]} alt=\"[pause]\">\n <Icons.Pause {theme} />\n </Icon>\n {:else}\n <Icon src={icons?.play[type]} alt=\"[play]\">\n <Icons.Play {theme} />\n </Icon>\n {/if}\n </Button>\n {#if $current == null || $duration == null || $duration === 0}\n <Slider class=\"{name}-slider\" disabled />\n <span class=\"{name}-progress loading\">&hellip;/&hellip;</span>\n {:else}\n <Slider\n class=\"{name}-slider\"\n {theme}\n value={$current / 1000}\n min={0}\n max={$duration / 1000}\n on:change={seek}\n />\n <span class=\"{name}-progress\">\n <span class=\"{name}-current\">{format($current)}</span>\n <span class=\"{name}-slash\">/</span>\n <span class=\"{name}-duration\">{format($duration)}</span>\n </span>\n {/if}\n <Button\n class=\"speed\"\n {name}\n {theme}\n {disabled}\n content={t.speed}\n menu={speed_panel}\n menu_placement=\"top-end\"\n >\n <span class=\"{name}-speed-text\">{$playbackRate || 1}x</span>\n </Button>\n</div>\n\n<div style=\"display:none\">\n <div class=\"{name}-panel speed\" bind:this={speed_panel}>\n {#each speeds as s (s)}\n <Button\n class=\"speed {s === $playbackRate ? 'is-active' : ''}\"\n {name}\n {theme}\n {disabled}\n on:click={() => setPlaybackRate(s)}\n >\n {s}x\n </Button>\n {/each}\n </div>\n</div>\n","<svelte:options immutable />\n\n<script lang=\"ts\">\n import type { FastboardPlayer } from \"@netless/fastboard-core\";\n import type { Language, ReplayFastboardUIConfig, Theme } from \"../../typings\";\n import { onMount } from \"svelte\";\n import { tippy_hide_all } from \"../../actions/tippy\";\n import PlayerControl from \"../PlayerControl\";\n\n export let player: FastboardPlayer | null | undefined = null;\n export let theme: Theme = \"light\";\n export let language: Language = \"en\";\n export let containerRef: ((element: HTMLDivElement | null) => void) | undefined = undefined;\n export let config: ReplayFastboardUIConfig = {};\n\n const name = \"fastboard\";\n\n let container: HTMLDivElement;\n let mounted = false;\n\n $: try {\n if (player && container) {\n player.bindContainer(container);\n mounted = true;\n }\n } catch (err) {\n console.error(\"[fastboard] An error occurred while binding container\");\n console.error(err);\n }\n\n $: if (player && theme && mounted) {\n player.manager.setPrefersColorScheme(theme);\n }\n\n onMount(() => {\n if (containerRef) {\n containerRef(container);\n return () => {\n if (containerRef) containerRef(null);\n };\n }\n });\n\n function focus_me() {\n tippy_hide_all();\n // workaround for some devices that enabled \"windows ink\"\n let a = document.activeElement as HTMLElement | null;\n a && a.blur && a.blur();\n }\n</script>\n\n<div class=\"{name}-root\" class:loading={!player}>\n <div class=\"{name}-view\" bind:this={container} on:touchstart|capture={focus_me} />\n <div class=\"{name}-bottom\">\n {#if config.player_control?.enable !== false}\n <PlayerControl {player} {theme} {language} />\n {/if}\n </div>\n</div>\n","<svelte:options immutable />\n\n<script lang=\"ts\">\n import type { FastboardApp } from \"@netless/fastboard-core\";\n import type { Language, Theme, FastboardUIConfig } from \"../../typings\";\n import { onMount } from \"svelte\";\n import { tippy_hide_all } from \"../../actions/tippy\";\n import RedoUndo from \"../RedoUndo\";\n import ZoomControl from \"../ZoomControl\";\n import PageControl from \"../PageControl\";\n import Toolbar from \"../Toolbar\";\n\n export let app: FastboardApp | null | undefined = null;\n export let theme: Theme = \"light\";\n export let language: Language = \"en\";\n export let containerRef: ((element: HTMLDivElement | null) => void) | undefined = undefined;\n export let config: FastboardUIConfig = {};\n export let force_show_toolbar: boolean | undefined = undefined;\n export let force_show_redo_undo: boolean | undefined = undefined;\n export let force_show_zoom_control: boolean | undefined = undefined;\n export let force_show_page_control: boolean | undefined = undefined;\n\n const name = \"fastboard\";\n const AppsShowToolbar = [\"DocsViewer\", \"Slide\", \"PDFjs\"];\n\n let container: HTMLDivElement;\n let layout: \"hidden\" | \"toolbar-only\" | \"visible\" = \"hidden\";\n let mounted = false;\n\n $: writable = app?.writable;\n $: boxState = app?.boxState;\n $: focusedApp = app?.focusedApp;\n $: visibleApps = app?.visibleApps;\n\n $: if (!$writable) {\n layout = \"hidden\";\n } else if (app?.appInMainViewPlugin) {\n if ($visibleApps && $visibleApps.size > 0) {\n if ( $boxState === \"maximized\" ) {\n if (AppsShowToolbar.some(kind => ($focusedApp || \"\").includes(kind))) {\n layout = \"toolbar-only\";\n } else {\n layout = \"hidden\";\n }\n } else {\n layout = \"visible\";\n }\n } else {\n layout = \"visible\";\n }\n } else if ($boxState === \"maximized\") {\n if ($focusedApp && AppsShowToolbar.some(kind => ($focusedApp || \"\").includes(kind))) {\n layout = \"toolbar-only\";\n } else {\n layout = \"hidden\";\n }\n } else {\n layout = \"visible\";\n }\n\n $: toolbar_has_items =\n !config.toolbar ||\n !config.toolbar.items ||\n !config.toolbar.apps ||\n config.toolbar.items.length > 0 ||\n config.toolbar.apps.enable !== false;\n\n $: try {\n if (app && container) {\n app.bindContainer(container);\n mounted = true;\n }\n } catch (err) {\n console.error(\"[fastboard] An error occurred while binding container\");\n console.error(err);\n }\n\n $: if (app && theme && mounted) {\n app.manager.setPrefersColorScheme(theme);\n }\n\n let hidden_toolbar = false;\n $: if (force_show_toolbar === false) {\n hidden_toolbar = true;\n } else if (force_show_toolbar === true) {\n hidden_toolbar = false;\n } else {\n hidden_toolbar = !toolbar_has_items || !(layout === \"visible\" || layout === \"toolbar-only\");\n }\n\n let hidden_redo_undo = false;\n $: if (force_show_redo_undo === false) {\n hidden_redo_undo = true;\n } else if (force_show_redo_undo === true) {\n hidden_redo_undo = false;\n } else {\n hidden_redo_undo = layout !== \"visible\";\n }\n\n let hidden_zoom_control = false;\n $: if (force_show_zoom_control === false) {\n hidden_zoom_control = true;\n } else if (force_show_zoom_control === true) {\n hidden_zoom_control = false;\n } else {\n hidden_zoom_control = layout !== \"visible\";\n }\n\n let hidden_page_control = false;\n $: if (force_show_page_control === false) {\n hidden_page_control = true;\n } else if (force_show_page_control === true) {\n hidden_page_control = false;\n } else {\n hidden_page_control = layout !== \"visible\";\n }\n \n onMount(() => {\n if (containerRef) {\n containerRef(container);\n return () => {\n if (containerRef) containerRef(null);\n };\n }\n });\n\n function focus_me() {\n tippy_hide_all();\n // workaround for some devices that enabled \"windows ink\"\n let a = document.activeElement as HTMLElement | null;\n a && a.blur && a.blur();\n }\n</script>\n\n<div class=\"{name}-root\" class:loading={!app}>\n <div class=\"{name}-view\" bind:this={container} on:touchstart|capture={focus_me} />\n <div\n class=\"{name}-{config.toolbar?.placement || 'left'}\"\n class:hidden={hidden_toolbar}\n >\n {#if config.toolbar?.enable !== false}\n <Toolbar {app} {theme} {language} config={config.toolbar || {}} />\n {/if}\n </div>\n <div class=\"{name}-bottom-left\" class:hidden={hidden_toolbar && hidden_redo_undo}>\n {#if config.redo_undo?.enable !== false && !hidden_redo_undo}\n <RedoUndo {app} {theme} {language} />\n {/if}\n {#if config.zoom_control?.enable !== false && !hidden_zoom_control}\n <ZoomControl {app} {theme} {language} />\n {/if}\n </div>\n <div class=\"{name}-bottom-right\" class:hidden={hidden_page_control}>\n {#if config.page_control?.enable !== false}\n <PageControl {app} {theme} {language} />\n {/if}\n </div>\n</div>\n","import type { Color, FastboardApp, FastboardPlayer } from \"@netless/fastboard-core\";\nimport type { FastboardProps, ReplayFastboardProps } from \"../components/Fastboard\";\n\nimport { Fastboard, ReplayFastboard } from \"../components/Fastboard\";\n\nexport interface UI {\n /** render UI to div */\n mount(div: Element, props?: FastboardProps): UI;\n /** update UI (theme, language, etc.) */\n update(props?: FastboardProps): void;\n /** remove UI */\n destroy(): void;\n /** force show toolbar */\n forceShowToolbar(): void;\n /** force hide toolbar */\n forceHideToolbar(): void;\n /** recover show toolbar */\n recoverToolbar(): void;\n /** force show redo undo */\n forceShowRedoUndo(): void;\n /** force hide redo undo */\n forceHideRedoUndo(): void;\n /** recover show redo undo */\n recoverRedoUndo(): void;\n /** force show zoom control */\n forceShowZoomControl(): void;\n /** force hide zoom control */\n forceHideZoomControl(): void;\n /** recover show zoom control */\n recoverZoomControl(): void;\n /** force show page control */\n forceShowPageControl(): void;\n /** force hide page control */\n forceHidePageControl(): void;\n /** recover show page control */\n recoverPageControl(): void;\n}\n\n/**\n * @example\n * let ui = createUI(fastboardApp, document.getElementById(\"whiteboard\"));\n * ui.update({ theme: \"dark\" })\n */\nexport function createUI(app?: FastboardApp | null, div?: Element): UI {\n let fastboard: Fastboard | undefined;\n let colors: Color[] | undefined;\n\n if (app?.manager && app.manager.room) {\n const floatBarOptions = (app.manager.room as any).floatBarOptions as { colors?: Color[] };\n if (floatBarOptions?.colors) {\n colors = floatBarOptions.colors as Color[];\n }\n }\n const ui: UI = {\n mount(div: Element, props?: FastboardProps) {\n if (fastboard) {\n fastboard.$destroy();\n }\n if (colors && props?.config && !props.config.toolbar?.colors) {\n if (!props?.config.toolbar) {\n props.config.toolbar = {};\n }\n props.config.toolbar.colors = colors;\n }\n fastboard = new Fastboard({ target: div, props: { app, ...props } });\n return ui;\n },\n update(props?: FastboardProps) {\n if (fastboard && props) {\n if (colors && props?.config && !props.config.toolbar?.colors) {\n if (!props?.config.toolbar) {\n props.config.toolbar = {};\n }\n props.config.toolbar.colors = colors;\n }\n fastboard.$set(props);\n }\n },\n destroy() {\n if (fastboard) {\n fastboard.$destroy();\n }\n fastboard = undefined;\n },\n forceShowToolbar() {\n if (fastboard) {\n fastboard.$set({ force_show_toolbar: true });\n }\n },\n forceHideToolbar() {\n if (fastboard) {\n fastboard.$set({ force_show_toolbar: false });\n }\n },\n recoverToolbar() {\n if (fastboard) {\n fastboard.$set({ force_show_toolbar: undefined });\n }\n },\n forceShowPageControl() {\n if (fastboard) {\n fastboard.$set({ force_show_page_control: true });\n }\n },\n forceHidePageControl() {\n if (fastboard) {\n fastboard.$set({ force_show_page_control: false });\n }\n },\n recoverPageControl() {\n if (fastboard) {\n fastboard.$set({ force_show_page_control: undefined });\n }\n },\n forceShowRedoUndo() {\n if (fastboard) {\n fastboard.$set({ force_show_redo_undo: true });\n }\n },\n forceHideRedoUndo() {\n if (fastboard) {\n fastboard.$set({ force_show_redo_undo: false });\n }\n },\n recoverRedoUndo() {\n if (fastboard) {\n fastboard.$set({ force_show_redo_undo: undefined });\n }\n },\n forceShowZoomControl() {\n if (fastboard) {\n fastboard.$set({ force_show_zoom_control: true });\n }\n },\n forceHideZoomControl() {\n if (fastboard) {\n fastboard.$set({ force_show_zoom_control: false });\n }\n },\n recoverZoomControl() {\n if (fastboard) {\n fastboard.$set({ force_show_zoom_control: undefined });\n }\n },\n };\n\n if (div) {\n ui.mount(div, { app });\n }\n\n return ui;\n}\n\nexport interface ReplayUI {\n /** render UI to div */\n mount(div: Element, props?: ReplayFastboardProps): ReplayUI;\n /** update UI (theme, language, etc.) */\n update(props?: ReplayFastboardProps): void;\n /** remove UI */\n destroy(): void;\n}\n\n/**\n * @example\n * let ui = createReplayUI(fastboardPlayer, document.getElementById(\"whiteboard\"));\n * ui.update({ theme: \"dark\" })\n */\nexport function createReplayUI(player?: FastboardPlayer | null, div?: Element): ReplayUI {\n let fastboard: ReplayFastboard | undefined;\n\n const ui: ReplayUI = {\n mount(div: Element, props?: ReplayFastboardProps) {\n if (fastboard) {\n fastboard.$destroy();\n }\n fastboard = new ReplayFastboard({ target: div, props: { player, ...props } });\n return ui;\n },\n update(props?: ReplayFastboardProps) {\n if (fastboard && props) {\n fastboard.$set(props);\n }\n },\n destroy() {\n if (fastboard) {\n fastboard.$destroy();\n }\n fastboard = undefined;\n },\n };\n\n if (div) {\n ui.mount(div, { player });\n }\n\n return ui;\n}\n"],"names":["ctx","insert","append","instance","props","name","_a","writable","create_if_block","i18n","set_data","height","text","element","attr","value","set_style2","attr61","toggle_class55","colors","set_style3","attr62","is_equal_color","shape","create_if_block_13","create_if_block_12","create_if_block_5","_b","svelte_writable","create_if_block_3","create_if_block_2","create_if_block_1","_c","_d","onMount","div"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAA,aAAA,GAAA,kikBAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACO0B,MAAA,GAAA,CAAK,CAAA,CAAA;AAAI,MAAA,GAAA,CAAG,CAAA,CAAA,CAAA,CAAA;;;AAApC,MAAuC,MAAA,CAAA,MAAA,EAAA,KAAA,MAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;AAAfA,MAAAA,IAAAA,CAAK,CAAA,CAAA;AAAIA,MAAAA,IAAAA,CAAG,CAAA,CAAA,CAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;AADjCA,MAAAA,IAAAA,CAAG,CAAA,CAAA;;AAAA,MAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AALK,EAAA,IAAA,EAAA,GAAA,GAAM,IAAA,GAAA,OAAA,CAAA;AACN,EAAA,IAAA,EAAA,GAAA,GAAM,IAAA,GAAA,OAAA,CAAA;AACN,EAAA,IAAA,EAAA,KAAA,GAAQ,IAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACIuC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAyCK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAxCH,MAAA,MAAA,CASC,KAAA,KAAA,CAAA,CAAA;AACD,MAAA,MAAA,CASC,KAAA,KAAA,CAAA,CAAA;AACD,MAAA,MAAA,CASC,KAAA,KAAA,CAAA,CAAA;AACD,MAAA,MAAA,CASC,KAAA,KAAA,CAAA,CAAA;;;;;AAxCyDD,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAQK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAPH,MAAAC,MAAAA,CAMC,KAAA,IAAA,CAAA,CAAA;;;;;AAPyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CASK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AARH,MAAAC,MAAAA,CAMC,KAAA,KAAA,CAAA,CAAA;AACD,MAAAA,MAAAA,CAA0F,KAAA,KAAA,CAAA,CAAA;;;;;AARhCF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAQK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAPH,MAAAC,MAAAA,CAMC,KAAA,IAAA,CAAA,CAAA;;;;;AAPyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAQK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAPH,MAAAC,MAAAA,CAMC,KAAA,IAAA,CAAA,CAAA;;;;;AAPyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAYK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAXH,MAAAC,MAAAA,CAUC,KAAA,IAAA,CAAA,CAAA;;;;;AAXyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAYK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAXH,MAAAC,MAAAA,CAUC,KAAA,IAAA,CAAA,CAAA;;;;;AAXyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAsBK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AArBH,MAAAC,MAAAA,CAMC,KAAA,KAAA,CAAA,CAAA;AACD,MAAAA,MAAAA,CAMC,KAAA,KAAA,CAAA,CAAA;AACD,MAAAA,MAAAA,CAMC,KAAA,KAAA,CAAA,CAAA;;;;;AArByDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAQK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAPH,MAAAC,MAAAA,CAMC,KAAA,IAAA,CAAA,CAAA;;;;;AAPyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAEK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AADH,MAAAC,MAAAA,CAAqF,KAAA,IAAA,CAAA,CAAA;;;;;AAD3BF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAQK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAPH,MAAAC,MAAAA,CAMC,KAAA,IAAA,CAAA,CAAA;;;;;AAPyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAQK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAPH,MAAAC,MAAAA,CAMC,KAAA,IAAA,CAAA,CAAA;;;;;AAPyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAQK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAPH,MAAAC,MAAAA,CAMC,KAAA,IAAA,CAAA,CAAA;;;;;AAPyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAMK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AALH,MAAAC,MAAAA,CAIC,KAAA,IAAA,CAAA,CAAA;;;;;AALyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAQK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAPH,MAAAC,MAAAA,CAMC,KAAA,IAAA,CAAA,CAAA;;;;;AAPyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAQK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAPH,MAAAC,MAAAA,CAMC,KAAA,IAAA,CAAA,CAAA;;;;;AAPyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAaK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAZH,MAAAC,MAAAA,CAMC,KAAA,KAAA,CAAA,CAAA;AACD,MAAAA,MAAAA,CAIC,KAAA,KAAA,CAAA,CAAA;;;;;AAZyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAMK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AALH,MAAAC,MAAAA,CAIC,KAAA,IAAA,CAAA,CAAA;;;;;AALyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAQK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAPH,MAAAC,MAAAA,CAMC,KAAA,IAAA,CAAA,CAAA;;;;;AAPyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAQK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAPH,MAAAC,MAAAA,CAMC,KAAA,IAAA,CAAA,CAAA;;;;;AAPyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAQK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAPH,MAAAC,MAAAA,CAMC,KAAA,IAAA,CAAA,CAAA;;;;;AAPyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAQK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAPH,MAAAC,MAAAA,CAMC,KAAA,IAAA,CAAA,CAAA;;;;;AAPyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAqBK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AApBH,MAAAC,MAAAA,CAMC,KAAA,KAAA,CAAA,CAAA;AACD,MAAAA,MAAAA,CAKC,KAAA,KAAA,CAAA,CAAA;AACD,MAAAA,MAAAA,CAMC,KAAA,KAAA,CAAA,CAAA;;;;;AApByDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAQK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAPH,MAAAC,MAAAA,CAMC,KAAA,IAAA,CAAA,CAAA;;;;;AAPyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAQK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAPH,MAAAC,MAAAA,CAMC,KAAA,IAAA,CAAA,CAAA;;;;;AAPyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAQK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAPH,MAAAC,MAAAA,CAMC,KAAA,IAAA,CAAA,CAAA;;;;;AAPyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAQK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAPH,MAAAC,MAAAA,CAMC,KAAA,IAAA,CAAA,CAAA;;;;;AAPyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAOK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AANH,MAAAC,MAAAA,CAAmF,KAAA,KAAA,CAAA,CAAA;AACnF,MAAAA,MAAAA,CAIC,KAAA,KAAA,CAAA,CAAA;;;;;AANyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAkBK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAjBH,MAAAC,MAAAA,CAAgF,KAAA,OAAA,CAAA,CAAA;AAChF,MAAAA,MAAAA,CAMC,KAAA,IAAA,CAAA,CAAA;AACD,MAAAA,MAAAA,CAQC,KAAA,OAAA,CAAA,CAAA;;;;;AAjByDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAQK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAPH,MAAAC,MAAAA,CAMC,KAAA,IAAA,CAAA,CAAA;;;;;AAPyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAQK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAPH,MAAAC,MAAAA,CAMC,KAAA,IAAA,CAAA,CAAA;;;;;AAPyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAQK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAPH,MAAAC,MAAAA,CAMC,KAAA,IAAA,CAAA,CAAA;;;;;AAPyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAgBK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAfH,MAAAC,MAAAA,CAOC,KAAA,KAAA,CAAA,CAAA;AACD,MAAAA,MAAAA,CAMC,KAAA,KAAA,CAAA,CAAA;;;;;AAfyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAUK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AATH,MAAAC,MAAAA,CAOC,KAAA,KAAA,CAAA,CAAA;AACD,MAAAA,MAAAA,CAA0F,KAAA,KAAA,CAAA,CAAA;;;;;AAThCF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAQK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAPH,MAAAC,MAAAA,CAMC,KAAA,IAAA,CAAA,CAAA;;;;;AAPyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAQK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAPH,MAAAC,MAAAA,CAMC,KAAA,IAAA,CAAA,CAAA;;;;;AAPyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAQK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAPH,MAAAC,MAAAA,CAMC,KAAA,IAAA,CAAA,CAAA;;;;;AAPyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAQK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAPH,MAAAC,MAAAA,CAMC,KAAA,IAAA,CAAA,CAAA;;;;;AAPyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CASK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AARH,MAAAC,MAAAA,CAAkG,KAAA,KAAA,CAAA,CAAA;AAClG,MAAAA,MAAAA,CAMC,KAAA,KAAA,CAAA,CAAA;;;;;AARyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAQK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAPH,MAAAC,MAAAA,CAMC,KAAA,IAAA,CAAA,CAAA;;;;;AAPyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAQK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAPH,MAAAC,MAAAA,CAMC,KAAA,IAAA,CAAA,CAAA;;;;;AAPyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAOK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AANH,MAAAC,MAAAA,CAAmF,KAAA,KAAA,CAAA,CAAA;AACnF,MAAAA,MAAAA,CAIC,KAAA,KAAA,CAAA,CAAA;;;;;AANyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAQK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAPH,MAAAC,MAAAA,CAMC,KAAA,IAAA,CAAA,CAAA;;;;;AAPyDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CA0BK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAzBH,MAAAC,MAAAA,CAMC,KAAA,KAAA,CAAA,CAAA;AACD,MAAAA,MAAAA,CAUC,KAAA,IAAA,CAAA,CAAA;AACD,MAAAA,MAAAA,CAMC,KAAA,KAAA,CAAA,CAAA;;;;;AAzByDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAEK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AADH,MAAAC,MAAAA,CAAmF,KAAA,IAAA,CAAA,CAAA;;;;;AADzBF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAEK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AADH,MAAAC,MAAAA,CAAyF,KAAA,IAAA,CAAA,CAAA;;;;;AAD/BF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAEK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AADH,MAAAC,MAAAA,CAAsG,KAAA,IAAA,CAAA,CAAA;;;;;AAD5CF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAYK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAXH,MAAAC,MAAAA,CAUG,KAAA,CAAA,CAAA,CAAA;AATD,MAAAA,MAAAA,CAIC,GAAA,KAAA,CAAA,CAAA;AACD,MAAAA,MAAAA,CAGC,GAAA,KAAA,CAAA,CAAA;;;;;AAVuDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAYK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAXH,MAAAC,MAAAA,CAUG,KAAA,CAAA,CAAA,CAAA;AATD,MAAAA,MAAAA,CAIC,GAAA,KAAA,CAAA,CAAA;AACD,MAAAA,MAAAA,CAGC,GAAA,KAAA,CAAA,CAAA;;;;;AAVuDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAYK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAXH,MAAAC,MAAAA,CAUG,KAAA,CAAA,CAAA,CAAA;AAJD,MAAAA,MAAAA,CAGC,GAAA,IAAA,CAAA,CAAA;;;;;AAVuDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGsC,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAA3F,MAAAC,MAAAA,CAYK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAXH,MAAAC,MAAAA,CAUG,KAAA,CAAA,CAAA,CAAA;AAJD,MAAAA,MAAAA,CAGC,GAAA,IAAA,CAAA,CAAA;;;;;AAVuDF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJ9E,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGiD,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAAtG,MAAAC,MAAAA,CAeK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAdH,MAAAC,MAAAA,CAaG,KAAA,CAAA,CAAA,CAAA;AAZD,MAAAA,MAAAA,CAIC,GAAA,KAAA,CAAA,CAAA;AACD,MAAAA,MAAAA,CAMC,GAAA,KAAA,CAAA,CAAA;;;;;AAbkEF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJzF,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGiD,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAoB,QAAA,GAAA,CAAM,CAAA,CAAA;AAAA,OAAA,CAAA;;;AAAtG,MAAAC,MAAAA,CAeK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAdH,MAAAC,MAAAA,CAaG,KAAA,CAAA,CAAA,CAAA;AAZD,MAAAA,MAAAA,CAIC,GAAA,KAAA,CAAA,CAAA;AACD,MAAAA,MAAAA,CAMC,GAAA,KAAA,CAAA,CAAA;;;;;AAbkEF,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAoBA,UAAAA,IAAAA,CAAM,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAJzF,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,MAAA,GAAS,OAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;ACkDtB,IAAM,KAAQ,GAAA;AAAA,EACZ,IAAA,EAAA,YAAA;AAAA,EACA,KAAA,EAAA,aAAA;AAAA,EACA,WAAA,EAAA,mBAAA;AAAA,EACA,OAAA,EAAA,eAAA;AAAA,EACA,aAAA,EAAA,qBAAA;AAAA,EACA,MAAA,EAAA,cAAA;AAAA,EACA,YAAA,EAAA,oBAAA;AAAA,EACA,KAAA,EAAA,aAAA;AAAA,EACA,KAAA,EAAA,aAAA;AAAA,EACA,WAAA,EAAA,mBAAA;AAAA,EACA,OAAA,EAAA,eAAA;AAAA,EACA,IAAA,EAAA,YAAA;AAAA,EACA,IAAA,EAAA,YAAA;AAAA,EACA,UAAA,EAAA,kBAAA;AAAA,EACA,MAAA,EAAA,cAAA;AAAA,EACA,YAAA,EAAA,oBAAA;AAAA,EACA,KAAA,EAAA,aAAA;AAAA,EACA,WAAA,EAAA,mBAAA;AAAA,EACA,IAAA,EAAA,YAAA;AAAA,EACA,IAAA,EAAA,YAAA;AAAA,EACA,UAAA,EAAA,kBAAA;AAAA,EACA,KAAA,EAAA,aAAA;AAAA,EACA,MAAA,EAAA,cAAA;AAAA,EACA,YAAA,EAAA,oBAAA;AAAA,EACA,IAAA,EAAA,YAAA;AAAA,EACA,SAAA,EAAA,iBAAA;AAAA,EACA,eAAA,EAAA,uBAAA;AAAA,EACA,IAAA,EAAA,YAAA;AAAA,EACA,KAAA,EAAA,aAAA;AAAA,EACA,OAAA,EAAA,eAAA;AAAA,EACA,aAAA,EAAA,qBAAA;AAAA,EACA,KAAA,EAAA,aAAA;AAAA,EACA,QAAA,EAAA,gBAAA;AAAA,EACA,cAAA,EAAA,sBAAA;AAAA,EACA,aAAA,EAAA,qBAAA;AAAA,EACA,IAAA,EAAA,YAAA;AAAA,EACA,UAAA,EAAA,kBAAA;AAAA,EACA,IAAA,EAAA,YAAA;AAAA,EACA,UAAA,EAAA,kBAAA;AAAA,EACA,QAAA,EAAA,gBAAA;AAAA,EACA,cAAA,EAAA,sBAAA;AAAA,EACA,IAAA,EAAA,YAAA;AAAA,EACA,EAAA,EAAA,UAAA;AAAA,EACA,aAAA,EAAA,qBAAA;AAAA,EACA,IAAA,EAAA,YAAA;AAAA,EACA,KAAA,EAAA,aAAA;AAAA,EACA,OAAA,EAAA,eAAA;AAAA,EACA,QAAA,EAAA,gBAAA;AAAA,EACA,cAAA,EAAA,sBAAA;AAAA,EACA,OAAA,EAAA,eAAA;AAAA,EACA,aAAA,EAAA,qBAAA;AAAA,EACA,YAAA,EAAA,oBAAA;AAAA,EACA,kBAAA,EAAA,0BAAA;AACF,CAAA,CAAA;AAEA,IAAO,aAAQ,GAAA,KAAA,CAAA;ACzGf,IAAI,OAAO,WAAW,WAAa,EAAA;AACjC,EAAA,KAAA,CAAM,eAAgB,CAAA;AAAA,IACpB,KAAA,EAAO,CAAC,GAAA,EAAM,GAAG,CAAA;AAAA,IACjB,QAAU,EAAA,GAAA;AAAA,IACV,MAAA,EAAQ,CAAC,CAAA,EAAG,EAAE,CAAA;AAAA,IACd,KAAO,EAAA,MAAA;AAAA,IACP,OAAS,EAAA;AAAA,MACP;AAAA,QACE,IAAM,EAAA,WAAA;AAAA,QACN,YAAc,EAAA,EAAA;AAAA,QACd,GAAGG,UAAU,EAAA;AACX,UAAA,SAAS,GAAM,GAAA;AACb,YAAM,MAAA,EAAA,GAAKA,WAAS,MAAO,CAAA,iBAAA,CAAA;AAC3B,YAAA,IAAI,EAAI,EAAA;AACN,cAAG,EAAA,CAAA,SAAA,CAAU,IAAI,eAAe,CAAA,CAAA;AAEhC,cAAA,MAAM,KAAUA,GAAAA,CAAAA,UAAAA,CAAS,KAAc,CAAA,SAAA,IAAa,IAAI,IAAK,EAAA,CAAA;AAC7D,cAAA,IAAI,KAAO,EAAA;AACT,gBAAG,EAAA,CAAA,SAAA,CAAU,IAAI,KAAK,CAAA,CAAA;AAAA,eACxB;AAAA,aACF;AAAA,WACF;AAEA,UAAA,SAAS,MAAS,GAAA;AA5B5B,YAAA,IAAA,EAAA,CAAA;AA6BY,YAAA,CAAA,EAAA,GAAAA,UAAS,CAAA,MAAA,CAAO,iBAAhB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAmC,UAAU,MAAO,CAAA,eAAA,CAAA,CAAA;AAAA,WACtD;AAEA,UAAO,OAAA;AAAA,YACL,QAAU,EAAA,GAAA;AAAA,YACV,cAAgB,EAAA,MAAA;AAAA,YAChB,aAAe,EAAA,GAAA;AAAA,WACjB,CAAA;AAAA,SACF;AAAA,OACF;AAAA,KACF;AAAA,GACD,CAAA,CAAA;AACH,CAAA;AAEO,IAAM,KAAA,GAA8D,SAAU,IAAA,EAAM,KAAO,EAAA;AAChG,EAAMA,MAAAA,UAAAA,GAAW,KAAM,CAAA,IAAA,EAAM,KAAK,CAAA,CAAA;AAElC,EAAO,OAAA;AAAA,IACL,OAAOC,MAA+C,EAAA;AACpD,MAAAD,UAAAA,CAAS,SAASC,MAAK,CAAA,CAAA;AAAA,KACzB;AAAA,IACA,OAAU,GAAA;AACR,MAAAD,WAAS,OAAQ,EAAA,CAAA;AAAA,KACnB;AAAA,GACF,CAAA;AACF,CAAA,CAAA;AAEO,SAAS,cAAiB,GAAA;AAC/B,EAAA,QAAA,CAAS,gBAAiB,CAAA,mBAAmB,CAAE,CAAA,OAAA,CAAQ,CAAM,EAAA,KAAA;AAC3D,IAAA,MAAMA,aAAY,EAAuC,CAAA,MAAA,CAAA;AACzD,IAAIA,IAAAA,UAAAA;AAAU,MAAAA,WAAS,IAAK,EAAA,CAAA;AAAA,GAC7B,CAAA,CAAA;AACH,CAAA;AAEO,IAAM,UAA6B,GAAA;AAAA,EACxC,KAAO,EAAA,CAAA;AAAA,EACP,QAAA,EAAU,CAAC,EAAA,EAAI,GAAG,CAAA;AAAA,EAClB,SAAW,EAAA,aAAA;AAAA,EACX,WAAa,EAAA,IAAA;AAAA,EACb,OAAS,EAAA,OAAA;AACX,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBkB,MAAA,GAAA,CAAI,CAAA,CAAA,GAAA,OAAA;AAAO,MAAA,GAAA,CAAS,CAAA,CAAA,GAAA,GAAA;AAAG,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAA5C,MAAAF,MAAAA,CAEQ,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAFQD,MAAAA,IAAAA,CAAI,CAAA,CAAA,GAAA,OAAA;AAAOA,MAAAA,IAAAA,CAAS,CAAA,CAAA,GAAA,GAAA;AAAGA,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA9BvCA,MAAAA,IAAAA,CAAI,CAAA,CAAA;;AAAA,MAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBG,MAAA,GAAA,CAAI,CAAA,CAAA,GAAA,OAAA;AAAO,MAAA,GAAA,CAAS,CAAA,CAAA,GAAA,GAAA;AAAG,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AADtC,MAAAC,MAAAA,CAOQ,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA;;;;;;;;;;;;;;AAHO,YAAA,OAAA;;AAAA,cAAA,GAAA,CAAO,CAAA,CAAA;;AAAE,YAAA,SAAA;;AAAA,cAAA,GAAA,CAAS,CAAA,CAAA;;AAAE,YAAA,SAAA;;AAAA,cAAA,GAAA,CAAS,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAHlCD,MAAAA,IAAAA,CAAI,CAAA,CAAA,GAAA,OAAA;AAAOA,MAAAA,IAAAA,CAAS,CAAA,CAAA,GAAA,GAAA;AAAGA,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;;;AAGvB,UAAA,OAAA;;AAAAA,YAAAA,IAAAA,CAAO,CAAA,CAAA;;AAAE,UAAA,SAAA;;AAAAA,YAAAA,IAAAA,CAAS,CAAA,CAAA;;AAAE,UAAA,SAAA;;AAAAA,YAAAA,IAAAA,CAAS,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AArBhC,MAAA,GAAA,CAAI,CAAA,CAAA,GAAA,OAAA;AAAO,MAAA,GAAA,CAAS,CAAA,CAAA,GAAA,GAAA;AAAG,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;MAcxB,GAAI,CAAA,CAAA,IAAA,WAAA,CAAA,CAAA;;AAhBN,MAAA,GAAA,CAAI,CAAA,CAAA,GAAA,mBAAA;AAAmB,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;AAA1C,MAAAC,MAAAA,CAiBM,MAAA,EAAA,KAAA,EAAA,MAAA,CAAA,CAAA;AAhBJ,MAAAC,MAAAA,CAcQ,OAAA,MAAA,CAAA,CAAA;;;;;AACR,MAAAA,MAAAA,CAA+B,OAAA,KAAA,CAAA,CAAA;;;;;;;;;;;AAV3B,YAAA,OAAA;;AAAS,cAAA,GAAA,CAAI,CAAA,CAAA;;AACV,WAAA,EAAA,UAAA,CAAA,EAAA;AACH,YAAA,SAAA;;AAAW,cAAA,GAAA,CAAc,CAAA,CAAA;;AACzB,YAAA,QAAA,EAAU,QAAS,CAAA,IAAA;AACnB,YAAA,KAAA;;AAAA,cAAA,GAAA,CAAK,CAAA,CAAA;;YACL,SAAW,EAAA,iBAAA;;;AAXyC,YAAA,OAAA;;AAAA,cAAA,GAAA,CAAO,CAAA,CAAA;;AAAE,YAAA,SAAA;;AAAA,cAAA,GAAA,CAAS,CAAA,CAAA;;AAAE,YAAA,SAAA;;AAAA,cAAA,GAAA,CAAS,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE3EF,MAAAA,IAAAA,CAAI,CAAA,CAAA,GAAA,OAAA;AAAOA,MAAAA,IAAAA,CAAS,CAAA,CAAA,GAAA,GAAA;AAAGA,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;;;AAIlC,UAAA,OAAA;;AAASA,YAAAA,IAAAA,CAAI,CAAA,CAAA;;AACV,SAAA,EAAA,UAAA,CAAA,EAAA;AACH,UAAA,SAAA;;AAAWA,YAAAA,IAAAA,CAAc,CAAA,CAAA;;AACzB,UAAA,QAAA,EAAU,QAAS,CAAA,IAAA;AACnB,UAAA,KAAA;;AAAAA,YAAAA,IAAAA,CAAK,CAAA,CAAA;;UACL,SAAW,EAAA,iBAAA;;;;MAKDA,IAAI,CAAA,CAAA,IAAA,WAAA,CAAA,EAAA;;;;;AAhBNA,MAAAA,IAAAA,CAAI,CAAA,CAAA,GAAA,mBAAA;AAAmBA,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;AAAgB,UAAA,OAAA;;AAAAA,YAAAA,IAAAA,CAAO,CAAA,CAAA;;AAAE,UAAA,SAAA;;AAAAA,YAAAA,IAAAA,CAAS,CAAA,CAAA;;AAAE,UAAA,SAAA;;AAAAA,YAAAA,IAAAA,CAAS,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAFtFA,MAAAA,IAAAA,CAAO,CAAA,CAAA;;AAAA,MAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAXN,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,GAAY,IAAA,GAAA,OAAA,CAAA;QAEL,IAAAK,EAAAA,MAAAA,GAAO,gBAAA,GAAA,OAAA,CAAA;AACP,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,QAAA,GAAW,OAAA,GAAA,OAAA,CAAA;AACX,EAAA,IAAA,EAAA,OAAA,GAAmB,IAAA,GAAA,OAAA,CAAA;AACnB,EAAA,IAAA,EAAA,SAAA,GAAuB,OAAA,GAAA,OAAA,CAAA;AACvB,EAAA,IAAA,EAAA,IAAA,GAAgB,IAAA,GAAA,OAAA,CAAA;AAChB,EAAA,IAAA,EAAA,cAAA,GAA4B,eAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SCsC1B,EAAK,GAAA,GAAA,CAAA,CAAA,MAAL,IAAO,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA;;AAAK,UAAA,GAAA,CAAI,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;AAAhBC,QAAAA,CAAAA,GAAAA,GAAAN,IAAK,CAAA,CAAA,CAAL,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAM,GAAO,CAAA,IAAA;;AAAKN,UAAAA,IAAAA,CAAI,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAKhB,EAAK,GAAA,GAAA,CAAA,CAAA,MAAL,IAAO,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA;;AAAK,UAAA,GAAA,CAAI,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;AAAhBM,QAAAA,CAAAA,GAAAA,GAAAN,IAAK,CAAA,CAAA,CAAL,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAM,GAAO,CAAA,IAAA;;AAAKN,UAAAA,IAAAA,CAAI,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AANiB,QAAA,GAAA,CAAa,CAAA,CAAA;;;;AAA2B,QAAA,GAAA,CAAC,CAAA,CAAC,CAAA,IAAA;;;;;;;;;AAAjB,IAAA,GAAA,CAAI,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;AAK7B,QAAA,GAAA,CAAa,CAAA,CAAA;;;;AAA2B,QAAA,GAAA,CAAC,CAAA,CAAC,CAAA,IAAA;;;;;;;;;AAAjB,IAAA,GAAA,CAAI,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;2CANhE,IAAI,GAAA,GAAA;AAAG,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;AAAzB,MAAAC,MAAAA,CAWK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;;;;;;;;;;;;;;;AAV2CD,QAAAA,IAAAA,CAAa,CAAA,CAAA,CAAA;;;;AAA2BA,QAAAA,IAAAA,CAAC,CAAA,CAAC,CAAA,IAAA,CAAA;;;;;;;;;;;;;;AAK1CA,QAAAA,IAAAA,CAAa,CAAA,CAAA,CAAA;;;;AAA2BA,QAAAA,IAAAA,CAAC,CAAA,CAAC,CAAA,IAAA,CAAA;;;;;;;kDAN7E,IAAI,GAAA,GAAA;AAAGA,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;IA9CjB,IAAA,GAAA;AACJ,EAAA,EAAA,EAAA,EACE,IAAA,EAAM,MACN,EAAA,IAAA,EAAM,MAAA,EAAA;AAER,EAAA,OAAA,EAAA,EACE,IAAA,EAAM,cACN,EAAA,IAAA,EAAM,cAAA,EAAA;;IAeJ,IAAO,GAAA,qBAAA,CAAA;;;;;;;;;;;;;;;;;;AALF,EAAA,IAAA,EAAA,GAAA,GAAuC,MAAA,GAAA,OAAA,CAAA;AACvC,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,QAAA,GAAqB,MAAA,GAAA,OAAA,CAAA;AACrB,EAAA,IAAA,EAAA,KAAA,GAAA,QAAkD,GAAA,OAAA,CAAA;AASzD,EAAA,IAAA,IAAA,CAAA;WAQK,IAAA,GAAA;AACP,IAAK,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,EAAA,CAAA;;WAGE,IAAA,GAAA;AACP,IAAK,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,EAAA,CAAA;;;;;;;;;;;;;;;AAlBP,MAAA,oBAAA,CAAA,YAAA,CAAA,CAAA,EAAGO,SAAW,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,QAAA,CAAA,CAAA,CAAA;;;;AACnB,MAAA,iBAAA,CAAA,YAAA,CAAA,CAAA,EAAG,KAAQ,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,KAAA,CAAA,CAAA,CAAA;;;;AAChB,MAAA,YAAA,CAAA,EAAG,EAAA,QAAA,GAAA,EAAa,SAAA,IAAa,WAAW,WAAA,CAAA,CAAA,CAAA;;;;AACxC,MAAA,YAAA,CAAA,CAAG,EAAA,CAAA,GAAI,IAAK,CAAA,QAAQ,CAAA,CAAA,CAAA;;;;AAGpB,MAAA,YAAA,CAAA,CAAG,EAAA,IAAA,GAAO,QAAW,GAAA,SAAA,GAAY,QAAA,CAAA,CAAA;;;;AAEjC,MAAA,qBAAA,CAAA,YAAA,CAAA,CAAA,EAAG,SAAY,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,YAAA,CAAA,CAAA,CAAA;;;;AACpB,MAAA,qBAAA,CAAA,YAAA,CAAA,CAAA,EAAG,SAAY,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,YAAA,CAAA,CAAA,CAAA;;;;AACpB,MAAA,YAAA,CAAA,CAAG,EAAA,aAAA,GAAgB,QAAA,IAAA,CAAa,UAAA,CAAA,CAAA;;;;AAChC,MAAA,YAAA,CAAA,CAAG,EAAA,aAAA,GAAgB,QAAA,IAAA,CAAa,UAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SCoBnB,EAAK,GAAA,GAAA,CAAA,CAAA,MAAL,IAAO,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA;;AAAK,UAAA,GAAA,CAAI,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;AAAhBD,QAAAA,CAAAA,GAAAA,GAAAN,IAAK,CAAA,CAAA,CAAL,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAM,GAAO,CAAA,IAAA;;AAAKN,UAAAA,IAAAA,CAAI,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;IAQxB,GAAM,CAAA,CAAA,IAAG,CAAC,GAAA,EAAA;;;;;;;;gBAAC,GAAC,CAAA,CAAA;;;AAAC,QAAA,GAAA,CAAO,CAAA,CAAA;AAAA,OAAA,CAAA;;;;;;;;;;MAApBA,IAAM,CAAA,CAAA,IAAG,CAAC,GAAA,EAAA,CAAA;AAAA,QAAA,QAAA,CAAA,IAAA,QAAA,CAAA,CAAA;;;;;;AAAGA,UAAAA,IAAAA,CAAO,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;;;;;iBAHe,QAEtC,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAKW,EAAK,GAAA,GAAA,CAAA,CAAA,MAAL,IAAO,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA;;AAAK,UAAA,GAAA,CAAI,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;AAAhBM,QAAAA,CAAAA,GAAAA,GAAAN,IAAK,CAAA,CAAA,CAAL,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAM,GAAO,CAAA,IAAA;;AAAKN,UAAAA,IAAAA,CAAI,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAKhB,EAAK,GAAA,GAAA,CAAA,CAAA,MAAL,IAAO,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA;;AAAI,UAAA,GAAA,CAAI,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;AAAfM,QAAAA,CAAAA,GAAAA,GAAAN,IAAK,CAAA,CAAA,CAAL,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAM,GAAO,CAAA,GAAA;;AAAIN,UAAAA,IAAAA,CAAI,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAlBkB,QAAA,GAAA,CAAa,CAAA,CAAA;;;;AAA+B,QAAA,GAAA,CAAC,EAAA,CAAC,CAAA,IAAA;;;;;;;;;AAArB,IAAA,GAAA,CAAQ,EAAA,CAAA;AAAA,GAAA,CAAA;;;;AAMxEA,MAAAA,IAAAA,CAAM,CAAA,CAAI,IAAA,IAAA;AAAQA,MAAAA,IAAAA,CAAO,CAAA,CAAI,IAAA,IAAA;;AAAI,MAAAQ,OAAAA,gBAAAA,CAAAA;;;;;;;;;;;;;;;AAMM,QAAA,GAAA,CAAa,CAAA,CAAA;;;;AAA+B,QAAA,GAAA,CAAC,EAAA,CAAC,CAAA,IAAA;;;;;;;;;AAArB,IAAA,GAAA,CAAQ,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;;;AAKL,QAAA,GAAA,CAAC,EAAA,CAAC,CAAA,GAAA;;;;;;;;;AAApB,IAAA,GAAA,CAAO,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;6CAZjDH,KAAI,GAAA,QAAA;AAAQ,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;2CANpBA,KAAI,GAAA,GAAA;AAAG,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;AAAzB,MAAAJ,MAAAA,CAuBK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;;;AAjBH,MAAAC,MAAAA,CAMM,KAAA,IAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;AAXwCF,QAAAA,IAAAA,CAAa,CAAA,CAAA,CAAA;;;;AAA+BA,QAAAA,IAAAA,CAAC,EAAA,CAAC,CAAA,IAAA,CAAA;;;;;;;;;;;;;;;;;oDAK9EK,KAAI,GAAA,QAAA;AAAQL,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;;;AAOeA,QAAAA,IAAAA,CAAa,CAAA,CAAA,CAAA;;;;AAA+BA,QAAAA,IAAAA,CAAC,EAAA,CAAC,CAAA,IAAA,CAAA;;;;;;;;;;;;;;;;;;AAKlBA,QAAAA,IAAAA,CAAC,EAAA,CAAC,CAAA,GAAA,CAAA;;;;;;;kDAlBjEK,KAAI,GAAA,GAAA;AAAGL,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;IArDjBS,KAAA,GAAA;EACJ,EAAA,EAAA;IACE,IAAM,EAAA,WAAA;IACN,IAAM,EAAA,WAAA;IACN,GAAK,EAAA,UAAA;;AAEP,EAAA,OAAA,EAAA,EACE,IAAM,EAAA,oBAAA,EACN,IAAM,EAAA,oBAAA,EACN,KAAK,0BAAA,EAAA;;IAeHJ,KAAO,GAAA,wBAAA,CAAA;;;;;;;;;;;;;;;;;;AALF,EAAA,IAAA,EAAA,GAAA,GAAuC,MAAA,GAAA,OAAA,CAAA;AACvC,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,QAAA,GAAqB,MAAA,GAAA,OAAA,CAAA;AACrB,EAAA,IAAA,EAAA,KAAA,GAAA,QAA0D,GAAA,OAAA,CAAA;AASjE,EAAA,IAAA,IAAA,CAAA;WAQK,QAAA,GAAA;AACP,IAAK,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,QAAA,EAAA,CAAA;;WAGE,QAAA,GAAA;AACP,IAAK,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,QAAA,EAAA,CAAA;;WAGE,OAAA,GAAA;AACP,IAAK,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,OAAA,CAAA,EAAU,KAAA,EAAO,IAAA,EAAA,CAAA,CAAA;AACtB,IAAK,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;AAvBP,MAAA,oBAAA,CAAA,YAAA,CAAA,EAAA,EAAGE,SAAW,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,QAAA,CAAA,CAAA,CAAA;;;;AACnB,MAAA,iBAAA,CAAA,YAAA,CAAA,EAAA,EAAG,KAAQ,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,KAAA,CAAA,CAAA,CAAA;;;;AAChB,MAAA,YAAA,CAAA,CAAG,EAAA,QAAA,GAAA,EAAa,SAAA,IAAa,WAAW,WAAA,CAAA,CAAA,CAAA;;;;AACxC,MAAA,YAAA,CAAA,EAAG,EAAA,CAAA,GAAIE,KAAK,CAAA,QAAQ,CAAA,CAAA,CAAA;;;;AAGpB,MAAA,YAAA,CAAA,CAAG,EAAA,IAAA,GAAO,QAAW,GAAA,SAAA,GAAY,QAAA,CAAA,CAAA;;;;AAEjC,MAAA,iBAAA,CAAA,YAAA,CAAA,CAAA,EAAG,KAAQ,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,UAAA,CAAA,CAAA,CAAA;;;;AAChB,MAAA,kBAAA,CAAA,YAAA,CAAA,CAAA,EAAG,MAAS,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,WAAA,CAAA,CAAA,CAAA;;;;AACjB,MAAA,YAAA,CAAA,CAAG,EAAA,aAAA,GAAgB,QAAA,IAAA,CAAa,MAAA,CAAA,CAAA;;;;AAChC,MAAA,YAAA,CAAA,GAAG,aAAgB,GAAA,QAAA,IAAY,WAAW,IAAQ,IAAA,MAAA,KAAW,UAAU,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxClE,SAAS,KAAA,CAAM,KAAe,EAAA,GAAA,EAAa,GAAa,EAAA;AAC7D,EAAA,OAAO,KAAQ,GAAA,GAAA,GAAM,GAAM,GAAA,KAAA,GAAQ,MAAM,GAAM,GAAA,KAAA,CAAA;AACjD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SC4Ee,EAAK,GAAA,GAAA,CAAA,CAAA,MAAL,IAAO,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA;;AAAK,UAAA,GAAA,CAAI,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;AAAhBH,QAAAA,CAAAA,GAAAA,GAAAN,IAAK,CAAA,CAAA,CAAL,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAM,GAAO,CAAA,IAAA;;AAAKN,UAAAA,IAAAA,CAAI,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;iBAQxB,IAAK,CAAA,IAAA;;AAAK,IAAA,GAAA,CAAK,CAAA,CAAG,GAAA,GAAA;GAAG,GAAA,EAAA,CAAA;;;;;;gBAAE,GAC1B,CAAA,CAAA;;;;;;;;oCADG,IAAK,CAAA,IAAA;;AAAKA,QAAAA,IAAAA,CAAK,CAAA,CAAG,GAAA,GAAA;OAAG,GAAA,EAAA,CAAA;AAAA,QAAAU,QAAAA,CAAA,IAAA,QAAA,CAAA,CAAA;;;;;;;;;;;;;;iBAHJ,QAEpB,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAKW,EAAK,GAAA,GAAA,CAAA,CAAA,MAAL,IAAO,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA;;AAAM,UAAA,GAAA,CAAI,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;AAAjBJ,QAAAA,CAAAA,GAAAA,GAAAN,IAAK,CAAA,CAAA,CAAL,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAM,GAAO,CAAA,KAAA;;AAAMN,UAAAA,IAAAA,CAAI,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAKjB,EAAK,GAAA,GAAA,CAAA,CAAA,MAAL,IAAO,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA;;AAAM,UAAA,GAAA,CAAI,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;AAAjBM,QAAAA,CAAAA,GAAAA,GAAAN,IAAK,CAAA,CAAA,CAAL,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAM,GAAO,CAAA,KAAA;;AAAMN,UAAAA,IAAAA,CAAI,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAlBgB,QAAA,GAAA,CAAa,CAAA,CAAA;;;;AAA2B,QAAA,GAAA,CAAC,CAAA,CAAC,CAAA,IAAA;;;;;;;;;AAAjB,IAAA,GAAA,CAAI,EAAA,CAAA;AAAA,GAAA,CAAA;;;;AAMpEA,MAAAA,IAAAA,CAAO,CAAA,CAAI,IAAA,IAAA;;AAAI,MAAAQ,OAAAA,gBAAAA,CAAAA;;;;;;;;;;;;;;;AAMyB,QAAA,GAAA,CAAc,CAAA,CAAA;;;;AAA4B,QAAA,GAAA,CAAC,CAAA,CAAC,CAAA,KAAA;;;;;;;;;AAAlB,IAAA,GAAA,CAAK,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;;;AAKJ,QAAA,GAAA,CAAC,CAAA,CAAC,CAAA,KAAA;;;;;;;;;AAAlB,IAAA,GAAA,CAAK,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;6CAZjDH,KAAI,GAAA,QAAA;AAAQ,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;2CANpBA,KAAI,GAAA,GAAA;AAAG,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;AAAzB,MAAAJ,MAAAA,CAuBK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;;;AAjBH,MAAAC,MAAAA,CAMM,KAAA,IAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;AAXwCF,QAAAA,IAAAA,CAAa,CAAA,CAAA,CAAA;;;;AAA2BA,QAAAA,IAAAA,CAAC,CAAA,CAAC,CAAA,IAAA,CAAA;;;;;;;;;;;;;;;;;oDAK1EK,KAAI,GAAA,QAAA;AAAQL,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;;;AAOgBA,QAAAA,IAAAA,CAAc,CAAA,CAAA,CAAA;;;;AAA4BA,QAAAA,IAAAA,CAAC,CAAA,CAAC,CAAA,KAAA,CAAA;;;;;;;;;;;;;;;;;;AAKjBA,QAAAA,IAAAA,CAAC,CAAA,CAAC,CAAA,KAAA,CAAA;;;;;;;kDAlBjEK,KAAI,GAAA,GAAA;AAAGL,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAvEjBS,KAAA,GAAA;EACJ,EAAA,EAAA;IACE,IAAM,EAAA,SAAA;IACN,KAAO,EAAA,UAAA;IACP,KAAO,EAAA,OAAA;;AAET,EAAA,OAAA,EAAA,EACE,IAAM,EAAA,cAAA,EACN,KAAO,EAAA,cAAA,EACP,OAAO,cAAA,EAAA;;IAIL,MAAA,GAAA;AACJ,EAAA,GAAA;AAAK,EAAA,kBAAA;AAAoB,EAAA,kBAAA;AAAoB,EAAA,kBAAA;AAAoB,EAAA,GAAA;AAAK,EAAA,CAAA;AAAG,EAAA,IAAA;AAAM,EAAA,kBAAA;AAC/E,EAAA,QAAA;AAAU,EAAA,kBAAA;AAAoB,EAAA,CAAA;;AAGvB,SAAA,UAAA,CAAW,OAAe,KAAA,EAAA;AACzB,EAAA,MAAA,EAAA,MAAA,EAAW,GAAA,MAAA,CAAA;AACb,EAAA,MAAA,IAAA,GAAO,MAAS,GAAA,CAAA,CAAA;AAClB,EAAA,IAAA,KAAA,GAAQ,OAAO,CAAC,CAAA;AAAA,IAAA,OAAU,OAAO,CAAC,CAAA,CAAA;AAClC,EAAA,IAAA,KAAA,GAAQ,OAAO,IAAI,CAAA;AAAA,IAAA,OAAU,OAAO,IAAI,CAAA,CAAA;AACnC,EAAA,KAAA,IAAA,CAAA,GAAI,CAAG,EAAA,CAAA,GAAI,MAAA,EAAA,EAAU,CAAA,EAAA;AACtB,IAAA,MAAA,GAAA,GAAM,OAAO,CAAC,CAAA,CAAA;AACd,IAAA,MAAA,IAAA,GAAO,MAAM,CAAA,GAAA,CAAA,QAAA,GAAA,CAAiB,OAAO,CAAI,GAAA,CAAC,IAAI,GAAO,IAAA,CAAA,CAAA;AACrD,IAAA,MAAA,IAAA,GAAO,MAAM,IAAO,GAAA,QAAA,GAAA,CAAY,OAAO,CAAI,GAAA,CAAC,IAAI,GAAO,IAAA,CAAA,CAAA;AACzD,IAAA,IAAA,IAAA,IAAQ,SAAS,KAAS,IAAA,IAAA;AAAA,MAAA,OAAa,OAAO,KAAM,CAAA,CAAA,GAAI,KAAO,EAAA,CAAA,EAAG,IAAI,CAAA,CAAA,CAAA;;AAErE,EAAA,OAAA,CAAA,CAAA;;IAcHJ,KAAO,GAAA,wBAAA,CAAA;;;;;;;;;;;;;;;;AALF,EAAA,IAAA,EAAA,GAAA,GAAuC,MAAA,GAAA,OAAA,CAAA;AACvC,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,QAAA,GAAqB,MAAA,GAAA,OAAA,CAAA;AACrB,EAAA,IAAA,EAAA,KAAA,GAAA,QAA6D,GAAA,OAAA,CAAA;AASpE,EAAA,IAAA,IAAA,CAAA;WAQK,IAAA,GAAA;AACP,IAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,UAAA,CAAA;MAAa,KAAO,EAAA,UAAA,CAAW,OAAO,CAAC,CAAA;MAAG,OAAS,EAAA,CAAA;MAAG,OAAS,EAAA,CAAA;;;WAG7D,KAAA,GAAA;AACP,IAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,UAAA,CAAA;MAAa,KAAO,EAAA,UAAA,CAAW,OAAA,CAAS,CAAA,CAAA;MAAG,OAAS,EAAA,CAAA;MAAG,OAAS,EAAA,CAAA;;;WAG9D,KAAA,GAAA;AACP,IAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,WAAA,EAAa,KAAA,EAAO,GAAG,OAAS,EAAA,CAAA,EAAG,SAAS,CAAA,EAAA,CAAA,CAAA;;;;;;;;;;;;;;;;AAtBnD,MAAA,oBAAA,CAAA,YAAA,CAAA,EAAA,EAAGE,SAAW,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,QAAA,CAAA,CAAA,CAAA;;;;AACnB,MAAA,iBAAA,CAAA,YAAA,CAAA,EAAA,EAAG,KAAQ,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,KAAA,CAAA,CAAA,CAAA;;;;AAChB,MAAA,YAAA,CAAA,CAAG,EAAA,QAAA,GAAA,EAAa,SAAA,IAAa,WAAW,WAAA,CAAA,CAAA,CAAA;;;;AACxC,MAAA,YAAA,CAAA,CAAG,EAAA,CAAA,GAAIE,KAAK,CAAA,QAAQ,CAAA,CAAA,CAAA;;;;AAGpB,MAAA,YAAA,CAAA,CAAG,EAAA,IAAA,GAAO,QAAW,GAAA,SAAA,GAAY,QAAA,CAAA,CAAA;;;;AAEjC,MAAA,kBAAA,CAAA,YAAA,CAAA,CAAA,EAAG,MAAS,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,MAAA,CAAA,CAAA,CAAA;;;;AACjB,MAAA,YAAA,CAAA,CAAG,EAAA,KAAA,GAAA,CAAQ,EAAS,GAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,KAAA,KAAT,YAAkB,CAAA,CAAA,CAAA;;;;AAC7B,MAAA,YAAA,CAAA,GAAG,aAAgB,GAAA,QAAA,IAAY,WAAW,KAAO,EAAA,CAAC,MAAM,KAAA,CAAA,CAAA;;;;AACxD,MAAA,YAAA,CAAA,GAAG,cAAiB,GAAA,QAAA,IAAY,WAAW,KAAA,EAAA,CAAA,CAAS,MAAM,KAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1DrD,IAAM,MAAA,GAAyC,SAAU,IAAA,EAAME,OAAQ,EAAA;AAC5E,EAAM,MAAA,MAAA,GAAS,iBAAiB,IAAI,CAAA,CAAA;AACpC,EAAA,MAAM,YACH,QAAS,CAAA,MAAA,CAAO,UAAU,CAAK,IAAA,CAAA,KAC/B,SAAS,MAAO,CAAA,aAAa,KAAK,CAClC,CAAA,IAAA,QAAA,CAAS,OAAO,cAAc,CAAA,IAAK,MACnC,QAAS,CAAA,MAAA,CAAO,iBAAiB,CAAK,IAAA,CAAA,CAAA,CAAA;AAEzC,EAAM,MAAA,QAAA,GAAW,IAAI,cAAA,CAAe,MAAM;AACxC,IAAAA,QAAO,GAAI,CAAA,IAAA,CAAK,qBAAsB,EAAA,CAAE,SAAS,QAAQ,CAAA,CAAA;AAAA,GAC1D,CAAA,CAAA;AAED,EAAA,QAAA,CAAS,QAAQ,IAAI,CAAA,CAAA;AAErB,EAAO,OAAA;AAAA,IACL,OAAO,UAAY,EAAA;AACjB,MAAAA,OAAS,GAAA,UAAA,CAAA;AAAA,KACX;AAAA,IACA,OAAU,GAAA;AACR,MAAA,QAAA,CAAS,UAAW,EAAA,CAAA;AAAA,KACtB;AAAA,GACF,CAAA;AACF,CAAA,CAAA;AAEO,IAAM,YAAA,GAA+C,SAAU,IAAA,EAAMA,OAAQ,EAAA;AAClF,EAAM,MAAA,QAAA,GAAW,IAAI,cAAA,CAAe,MAAM;AACxC,IAAAA,OAAAA,CAAO,GAAI,CAAA,IAAA,CAAK,YAAY,CAAA,CAAA;AAAA,GAC7B,CAAA,CAAA;AAED,EAAA,QAAA,CAAS,QAAQ,IAAI,CAAA,CAAA;AAErB,EAAO,OAAA;AAAA,IACL,OAAO,UAAY,EAAA;AACjB,MAAAA,OAAS,GAAA,UAAA,CAAA;AAAA,KACX;AAAA,IACA,OAAU,GAAA;AACR,MAAA,QAAA,CAAS,UAAW,EAAA,CAAA;AAAA,KACtB;AAAA,GACF,CAAA;AACF,CAAA,CAAA;;;ACtCO,IAAM,aAA+B,GAAA;AAAA,EAC1C,SAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AACF,CAAA,CAAA;AAEO,IAAM,MAAgC,GAAA;AAAA,EAC3C,SAAW,EAAA,CAAC,GAAK,EAAA,EAAA,EAAI,EAAE,CAAA;AAAA,EACvB,SAAW,EAAA,CAAC,GAAK,EAAA,GAAA,EAAK,CAAC,CAAA;AAAA,EACvB,SAAW,EAAA,CAAC,GAAK,EAAA,GAAA,EAAK,CAAC,CAAA;AAAA,EACvB,SAAW,EAAA,CAAC,EAAI,EAAA,GAAA,EAAK,GAAG,CAAA;AAAA,EACxB,SAAW,EAAA,CAAC,CAAG,EAAA,GAAA,EAAK,GAAG,CAAA;AAAA,EACvB,SAAW,EAAA,CAAC,EAAI,EAAA,EAAA,EAAI,GAAG,CAAA;AAAA,EACvB,SAAW,EAAA,CAAC,GAAK,EAAA,EAAA,EAAI,GAAG,CAAA;AAAA,EACxB,SAAW,EAAA,CAAC,GAAK,EAAA,GAAA,EAAK,GAAG,CAAA;AAC3B,CAAA,CAAA;AAIO,IAAM,cAAA,GAA0B,MAAO,CAAA,MAAA,CAAO,MAAM,CAAA,CAAA;AAEpD,IAAM,MAAS,GAAA;AAAA,EACpB,WAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,OAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,eAAA;AACF,CAAA,CAAA;AAIO,IAAM,eAAkB,GAAA,MAAA,CAAO,KAAM,CAAA,CAAA,EAAG,CAAC,CAAA,CAAA;AAGzC,IAAM,UAAiC,GAAA;AAAA,EAC5C,WAAW,aAAM,CAAA,SAAA;AAAA,EACjB,SAAS,aAAM,CAAA,MAAA;AAAA,EACf,UAAU,aAAM,CAAA,IAAA;AAAA,EAChB,OAAO,aAAM,CAAA,KAAA;AAAA,EACb,WAAW,aAAM,CAAA,IAAA;AAAA,EACjB,SAAS,aAAM,CAAA,OAAA;AAAA,EACf,UAAU,aAAM,CAAA,QAAA;AAAA,EAChB,eAAe,aAAM,CAAA,OAAA;AACvB,CAAA,CAAA;AAGO,IAAM,gBAAuC,GAAA;AAAA,EAClD,WAAW,aAAM,CAAA,eAAA;AAAA,EACjB,SAAS,aAAM,CAAA,YAAA;AAAA,EACf,UAAU,aAAM,CAAA,UAAA;AAAA,EAChB,OAAO,aAAM,CAAA,WAAA;AAAA,EACb,WAAW,aAAM,CAAA,UAAA;AAAA,EACjB,SAAS,aAAM,CAAA,aAAA;AAAA,EACf,UAAU,aAAM,CAAA,cAAA;AAAA,EAChB,eAAe,aAAM,CAAA,aAAA;AACvB,CAAA,CAAA;AAEO,IAAMF,KAAuC,GAAA;AAAA,EAClD,EAAI,EAAA;AAAA,IACF,OAAS,EAAA,SAAA;AAAA,IACT,QAAU,EAAA,UAAA;AAAA,IACV,MAAQ,EAAA,QAAA;AAAA,IACR,MAAQ,EAAA,QAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,MAAQ,EAAA,QAAA;AAAA,IACR,KAAO,EAAA,OAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,YAAc,EAAA,eAAA;AAAA,GAChB;AAAA,EACA,OAAS,EAAA;AAAA,IACP,OAAS,EAAA,cAAA;AAAA,IACT,QAAU,EAAA,cAAA;AAAA,IACV,MAAQ,EAAA,cAAA;AAAA,IACR,MAAQ,EAAA,cAAA;AAAA,IACR,IAAM,EAAA,cAAA;AAAA,IACN,MAAQ,EAAA,cAAA;AAAA,IACR,KAAO,EAAA,cAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,IACN,IAAM,EAAA,cAAA;AAAA,IACN,YAAc,EAAA,oBAAA;AAAA,GAChB;AACF,CAAA,CAAA;;;AC1FO,IAAM,SAAA,GAA4C,SAAU,IAAA,EAAM,KAAO,EAAA;AAC9E,EAAM,MAAA,QAAA,GAAW,CAAC,GAAgB,KAAA;AAChC,IAAA,IAAA,CAAK,QAAS,CAAA,EAAE,GAAK,EAAA,QAAA,EAAU,UAAU,CAAA,CAAA;AAAA,GAC3C,CAAA;AAEA,EAAA,IAAI,KAAQ,GAAA,CAAA,CAAA;AAEZ,EAAA,SAAS,SAAY,GAAA;AACnB,IAAA,YAAA,CAAa,KAAK,CAAA,CAAA;AAClB,IAAQ,KAAA,GAAA,MAAA,CAAO,WAAW,MAAM,KAAA,CAAM,IAAI,IAAK,CAAA,SAAS,GAAG,GAAG,CAAA,CAAA;AAAA,GAChE;AAEA,EAAK,IAAA,CAAA,gBAAA,CAAiB,UAAU,SAAS,CAAA,CAAA;AAEzC,EAAI,IAAA,WAAA,GAAc,KAAM,CAAA,SAAA,CAAU,QAAQ,CAAA,CAAA;AAE1C,EAAO,OAAA;AAAA,IACL,OAAO,SAAW,EAAA;AAChB,MAAY,WAAA,EAAA,CAAA;AACZ,MAAe,WAAA,GAAA,CAAA,KAAA,GAAQ,SAAW,EAAA,SAAA,CAAU,QAAQ,CAAA,CAAA;AAAA,KACtD;AAAA,IACA,OAAU,GAAA;AACR,MAAA,YAAA,CAAa,KAAK,CAAA,CAAA;AAClB,MAAK,IAAA,CAAA,mBAAA,CAAoB,UAAU,SAAS,CAAA,CAAA;AAC5C,MAAY,WAAA,EAAA,CAAA;AAAA,KACd;AAAA,GACF,CAAA;AACF,CAAA,CAAA;;;;;;;;;;;;AClBA,IAAM,gBAAN,MAAoB;AAAA,EAElB,YAAoB,KAAuB,EAAA;AAAvB,IAAA,IAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AADpB,IAAA,aAAA,CAAA,IAAA,EAAA,YAAA,EAAoD,EAAC,CAAA,CAAA;AAAA,GACT;AAAA,EAC5C,IAAI,IAAO,GAAA;AACT,IAAA,OAAO,IAAK,CAAA,KAAA,CAAA;AAAA,GACd;AAAA,EACA,IAAI,MAAS,GAAA;AACX,IAAA,OAAO,KAAK,KAAM,CAAA,MAAA,CAAA;AAAA,GACpB;AAAA,EACA,UAAU,EAAoC,EAAA;AAC5C,IAAK,IAAA,CAAA,UAAA,CAAW,KAAK,EAAE,CAAA,CAAA;AACvB,IAAA,EAAA,CAAG,KAAK,KAAK,CAAA,CAAA;AACb,IAAA,OAAO,MAAM;AACX,MAAA,IAAA,CAAK,aAAa,IAAK,CAAA,UAAA,CAAW,MAAO,CAAA,CAAA,IAAA,KAAQ,SAAS,EAAE,CAAA,CAAA;AAAA,KAC9D,CAAA;AAAA,GACF;AAAA,EACA,QAAQ,IAAsB,EAAA;AAC5B,IAAK,IAAA,CAAA,KAAA,CAAM,IAAK,CAAA,GAAG,IAAI,CAAA,CAAA;AACvB,IAAA,IAAA,CAAK,WAAW,OAAQ,CAAA,CAAA,EAAA,KAAM,EAAG,CAAA,IAAA,CAAK,KAAK,CAAC,CAAA,CAAA;AAAA,GAC9C;AAAA,EACA,MAAA,CAAO,MAAoB,KAAe,EAAA;AACxC,IAAA,IAAA,CAAK,KAAM,CAAA,MAAA,CAAO,KAAO,EAAA,CAAA,EAAG,IAAI,CAAA,CAAA;AAChC,IAAA,IAAA,CAAK,WAAW,OAAQ,CAAA,CAAA,EAAA,KAAM,EAAG,CAAA,IAAA,CAAK,KAAK,CAAC,CAAA,CAAA;AAAA,GAC9C;AAAA,EACA,OAAO,MAAyC,EAAA;AAC9C,IAAK,IAAA,CAAA,KAAA,GAAQ,KAAK,KAAM,CAAA,MAAA,CAAO,UAAQ,CAAC,MAAA,CAAO,IAAI,CAAC,CAAA,CAAA;AACpD,IAAA,IAAA,CAAK,WAAW,OAAQ,CAAA,CAAA,EAAA,KAAM,EAAG,CAAA,IAAA,CAAK,KAAK,CAAC,CAAA,CAAA;AAAA,GAC9C;AAAA,EACA,KAAQ,GAAA;AACN,IAAA,IAAA,CAAK,MAAM,MAAS,GAAA,CAAA,CAAA;AACpB,IAAA,IAAA,CAAK,WAAW,OAAQ,CAAA,CAAA,EAAA,KAAM,EAAG,CAAA,IAAA,CAAK,KAAK,CAAC,CAAA,CAAA;AAAA,GAC9C;AACF,CAAA,CAAA;AAIa,IAAA,IAAA,GAAO,IAAI,aAAc,CAAA;AAAA,EACpC;AAAA,IACE,IAAM,EAAA,QAAA;AAAA,IACN,IAAM,EAAA,0BAAA;AAAA,IACN,KAAO,EAAA,aAAA;AAAA,IACP,QAAQ,GAAK,EAAA;AACX,MAAA,GAAA,CAAI,QAAQ,MAAO,CAAA;AAAA,QACjB,IAAM,EAAA,QAAA;AAAA,QACN,OAAA,EAAS,EAAE,KAAA,EAAO,aAAc,EAAA;AAAA,OACjC,CAAA,CAAA;AAAA,KACH;AAAA,GACF;AAAA,EACA;AAAA,IACE,IAAM,EAAA,UAAA;AAAA,IACN,IAAM,EAAA,gBAAA;AAAA,IACN,KAAO,EAAA,UAAA;AAAA,IACP,QAAQ,GAAK,EAAA;AACX,MAAA,GAAA,CAAI,QAAQ,MAAO,CAAA;AAAA,QACjB,IAAM,EAAA,UAAA;AAAA,QACN,OAAA,EAAS,EAAE,KAAA,EAAO,UAAW,EAAA;AAAA,OAC9B,CAAA,CAAA;AAAA,KACH;AAAA,GACF;AAAA,EACA;AAAA,IACE,IAAM,EAAA,WAAA;AAAA,IACN,IAAM,EAAA,iBAAA;AAAA,IACN,KAAO,EAAA,WAAA;AAAA,IACP,QAAQ,GAAK,EAAA;AACX,MAAA,GAAA,CAAI,QAAQ,MAAO,CAAA;AAAA,QACjB,IAAM,EAAA,WAAA;AAAA,QACN,OAAA,EAAS,EAAE,KAAA,EAAO,WAAY,EAAA;AAAA,OAC/B,CAAA,CAAA;AAAA,KACH;AAAA,GACF;AACF,CAAC,EAAA;ACvEM,SAAS,OAAA,CAAQG,OAAc,MAAiB,EAAA;AACrD,EAAI,IAAA,CAAC,MAAU,IAAA,OAAO,MAAW,KAAA,QAAA;AAAU,IAAOA,OAAAA,KAAAA,CAAAA;AAClD,EAAM,MAAA,KAAA,GAAQC,QAAQ,MAAM,CAAA,CAAA;AAC5B,EAAM,MAAA,KAAA,GAAQA,QAAQ,MAAM,CAAA,CAAA;AAC5B,EAAA,KAAA,CAAM,WAAcD,GAAAA,KAAAA,CAAAA;AACpB,EAAM,MAAA,WAAA,GAAcC,QAAQ,MAAM,CAAA,CAAA;AAClC,EAAY,WAAA,CAAA,WAAA,GAAc,OAAO,WAAY,EAAA,CAAA;AAC7C,EAAAC,IAAAA,CAAK,KAAO,EAAA,OAAA,EAAS,2BAA2B,CAAA,CAAA;AAChD,EAAAA,IAAAA,CAAK,WAAa,EAAA,OAAA,EAAS,0BAA0B,CAAA,CAAA;AACrD,EAAAZ,MAAAA,CAAO,OAAO,KAAK,CAAA,CAAA;AACnB,EAAAA,MAAAA,CAAO,OAAO,WAAW,CAAA,CAAA;AACzB,EAAO,OAAA,KAAA,CAAA;AACT,CAAA;AAEO,SAAS,QAAA,CAAS,CAAW,EAAA,CAAA,EAAW,CAAW,EAAA;AACxD,EAAM,MAAA,GAAA,GAAA,CAAA,CAAQ,CAAK,IAAA,EAAA,KAAO,CAAK,IAAA,CAAA,CAAA,GAAK,CAAG,EAAA,QAAA,CAAS,EAAE,CAAA,CAAE,QAAS,CAAA,CAAA,EAAG,GAAG,CAAA,CAAA;AACnE,EAAA,OAAO,GAAM,GAAA,GAAA,CAAA;AACf,CAAA;AAEO,SAAS,SAAS,GAAoB,EAAA;AAE3C,EAAM,GAAA,GAAA,GAAA,CAAI,OAAQ,CAAA,IAAA,EAAM,EAAE,CAAA,CAAA;AAG1B,EAAI,IAAA,GAAA,CAAI,WAAW,CAAG,EAAA;AACpB,IAAM,MAAA,IAAI,MAAM,mBAAmB,CAAA,CAAA;AAAA,GACrC;AAGA,EAAA,MAAM,IAAI,QAAS,CAAA,GAAA,CAAI,MAAM,CAAG,EAAA,CAAC,GAAG,EAAE,CAAA,CAAA;AACtC,EAAA,MAAM,IAAI,QAAS,CAAA,GAAA,CAAI,MAAM,CAAG,EAAA,CAAC,GAAG,EAAE,CAAA,CAAA;AACtC,EAAA,MAAM,IAAI,QAAS,CAAA,GAAA,CAAI,MAAM,CAAG,EAAA,CAAC,GAAG,EAAE,CAAA,CAAA;AAEtC,EAAO,OAAA,CAAC,CAAG,EAAA,CAAA,EAAG,CAAC,CAAA,CAAA;AACjB,CAAA;;;;;;;;;;;;+CCPYG,KAAI,GAAA,SAAA;AAAS,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AAOX,QAAA,GAAA,CAAG,CAAA,CAAA;AAAA,OAAA,CAAA;;;;;AACH,QAAA,GAAA,CAAG,CAAA,CAAA;AAAA,OAAA,CAAA;;;;;AACH,QAAA,GAAA,CAAK,CAAA,CAAA;AAAA,OAAA,CAAA;;;;;;;2CAXXA,KAAI,GAAA,GAAA;AAAG,MAAA,GAAA,CAAS,CAAA,CAAA,GAAA,GAAA;AAAG,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAmB,QAAA,GAAA,CAAO,CAAA,CAAA,GAAA,GAAA;AAAA,OAAA,CAAA;;;AAA/D,MAAAJ,MAAAA,CAgBK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AAfH,MAAAC,MAAAA,CAcC,KAAA,KAAA,CAAA,CAAA;;;;AAHa,QAAA,GAAA,CAAU,CAAA,CAAA;AAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;AACN,YAAA,GAAA,CAAO,EAAA,CAAA;AAAA,WAAA;;;;;AACZ,YAAA,GAAA,CAAS,EAAA,CAAA;AAAA,WAAA;;;;;;;sDAZZG,KAAI,GAAA,SAAA;AAASL,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOXA,UAAAA,IAAAA,CAAG,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;AACHA,UAAAA,IAAAA,CAAG,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;AACHA,UAAAA,IAAAA,CAAK,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;AACRA,UAAAA,IAAAA,CAAU,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;kDAZbK,KAAI,GAAA,GAAA;AAAGL,MAAAA,IAAAA,CAAS,CAAA,CAAA,GAAA,GAAA;AAAGA,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAmBA,UAAAA,IAAAA,CAAO,CAAA,CAAA,GAAA,GAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;;IArBvDK,KAAO,GAAA,kBAAA,CAAA;;;AAXP,EAAA,MAAA,QAAA,GAAW,qBAAA,EAAA,CAAA;AAEb,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,GAAY,IAAA,GAAA,OAAA,CAAA;AAEL,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,GAAA,GAAM,GAAA,GAAA,OAAA,CAAA;AACN,EAAA,IAAA,EAAA,GAAA,GAAM,KAAA,GAAA,OAAA,CAAA;AACN,EAAA,IAAA,EAAA,IAAA,GAAO,MAAA,GAAA,OAAA,CAAA;AACP,EAAA,IAAA,EAAA,KAAA,GAAQ,IAAA,GAAA,OAAA,CAAA;AACR,EAAA,IAAA,EAAA,QAAA,GAAW,OAAA,GAAA,OAAA,CAAA;MAIlB,UAAa,GAAA,KAAA,CAAA;MACb,QAAW,GAAA,KAAA,CAAA;WAEN,OAAA,GAAA;AACP,IAAA,YAAA,CAAA,CAAA,EAAA,QAAA,GAAW,IAAA,CAAA,CAAA;;WAGJ,SAAA,GAAA;AACP,IAAA,YAAA,CAAA,CAAA,EAAA,QAAA,GAAW,KAAA,CAAA,CAAA;AACX,IAAA,YAAA,CAAA,CAAA,EAAA,KAAA,GAAQ,UAAA,CAAA,CAAA;AACR,IAAA,QAAA,CAAS,UAAU,KAAK,CAAA,CAAA;;;AAqBZ,IAAU,UAAA,GAAA,SAAA,CAAA,KAAA,KAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;AAlBxB,MAAO,IAAA,KAAA,KAAU,UAAA,IAAA,CAAe,QAAA,EAAA;AAC9B,UAAA,YAAA,CAAA,CAAA,EAAA,UAAA,GAAa,KAAA,CAAA,CAAA;;;;;AAEf,MAAA,YAAA,CAAA,GAAG,OAAW,GAAA,GAAA,IAAO,UAAa,GAAA,GAAA,CAAA,IAAS,MAAM,GAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdN,IAAA,GAAA,CAAK,CAAA,CAAA;WAAO,CAAC,EAAA;WAAO,EAAE,EAAA;;;;;;;;;;AAAa,IAAA,GAAA,CAAgB,CAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;;;AAAnDL,UAAAA,IAAAA,CAAK,CAAA,CAAA;AAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAdrC,EAAA,IAAA,EAAA,GAAA,GAAuC,MAAA,GAAA,OAAA,CAAA;AACvC,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,QAAA,GAAW,OAAA,GAAA,OAAA,CAAA;WAOb,gBAAA,CAAA,EAAmB,MAAQe,EAAAA,MAAAA,EAAAA,EAAAA;AAClC,IAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,cAAeA,CAAAA,MAAAA,CAAAA,CAAAA;;;;;;;;;;;;;;AANtB,MAAA,uBAAA,CAAA,YAAA,CAAA,CAAA,EAAG,WAAc,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,WAAA,CAAA,CAAA,CAAA;;;;AACtB,MAAA,YAAA,CAAA,CAAG,EAAA,KAAA,GAAA,CAAQ,EAAc,GAAA,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAA,WAAA,KAAd,YAA6B,CAAA,CAAA,CAAA;;;;AAExC,MAAA,YAAA,CAAA,GAAG,KAAA,GAAA,EAAU,KAAO,EAAA,KAAA,EAAO,UAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC4BG,MAAAC,SAAA,CAAA,IAAA,EAAA,kBAAA,EAAA,QAAA;;QAAS,GAAK,CAAA,CAAA,EAAC,CAAC,CAAA;;QAAG,GAAK,CAAA,CAAA,EAAC,CAAC,CAAA;;QAAG,GAAK,CAAA,CAAA,EAAC,CAAC,CAAA;OAAA,CAAA,CAAA;;AAPJ,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;AAE/C,MAAAC,IAAA,CAAA,MAAA,EAAA,gBAAA,EAAA,2BAAA,GAAA,QAAA;;QAAS,GAAK,CAAA,CAAA,EAAC,CAAC,CAAA;;QAAG,GAAK,CAAA,CAAA,EAAC,CAAC,CAAA;;QAAG,GAAK,CAAA,CAAA,EAAC,CAAC,CAAA;OAAA,CAAA,CAAA;;;AADnC,MAAAC,YAAA,CAAA,MAAA,EAAA,WAAA,EAAA,cAAA;;AAAe,QAAA,GAAA,CAAW,CAAA,CAAA;;AAAE,QAAA,GAAA,CAAK,CAAA,CAAA;OAAA,CAAA,CAAA;;;AAFpD,MAAAjB,MAAAA,CAUQ,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA;AAJN,MAAAC,MAAAA,CAGC,QAAA,IAAA,CAAA,CAAA;;;;;;AADyB,QAAAc,SAAA,CAAA,IAAA,EAAA,kBAAA,EAAA,QAAA;;UAAShB,IAAK,CAAA,CAAA,EAAC,CAAC,CAAA;;UAAGA,IAAK,CAAA,CAAA,EAAC,CAAC,CAAA;;UAAGA,IAAK,CAAA,CAAA,EAAC,CAAC,CAAA;SAAA,CAAA,CAAA;;;;AAPJA,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;AAE/C,MAAA,CAAA,IAAA,2BAAA,MAAA,2BAAA,GAAA,QAAA;;QAASA,IAAK,CAAA,CAAA,EAAC,CAAC,CAAA;;QAAGA,IAAK,CAAA,CAAA,EAAC,CAAC,CAAA;;QAAGA,IAAK,CAAA,CAAA,EAAC,CAAC,CAAA;OAAA,CAAA,EAAA;;;;;;;;;;AADnC,QAAAkB,YAAA,CAAA,MAAA,EAAA,WAAA,EAAA,cAAA;;AAAelB,UAAAA,IAAAA,CAAW,CAAA,CAAA;;AAAEA,UAAAA,IAAAA,CAAK,CAAA,CAAA;SAAA,CAAA,CAAA;;;;;;;;;;;;;;;;AAH/C,IAAA,GAAA,CAAM,CAAA,CAAA;;;AAAX,EAAA,KAAA,IAAA,CAAA,GAAA,CAAA,EAAA,CAAA,GAAA,UAAA,CAAA,MAAA,EAAI,KAAA,CAAA,EAAA;;;;;;;;;;AAD8B,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;AAA3C,MAAAC,MAAAA,CAcK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;;;;;;;;;;;AAdmD,UAAA,GAAA,CAAgB,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;AAC/DD,QAAAA,IAAAA,CAAM,CAAA,CAAA,CAAA;;AAAX,QAAA,KAAA,CAAA,GAAA,CAAA,EAAA,CAAA,GAAA,UAAA,CAAA,MAAA,EAAI,KAAA,CAAA,EAAA;;;;;;;;;;;;;AAAJ,QAAA,WAAA,CAAA,MAAA,GAAA,UAAA,CAAA,MAAA,CAAA;;;;AADkCA,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;;;;;;;AAhBhC,SAAA,cAAA,CAAe,GAAW,CAAA,EAAA;SAC1B,CAAK,IAAA,CAAA,IAAK,EAAE,KAAA,CAAA,CAAO,GAAG,CAAM,KAAA,CAAA,KAAM,CAAE,CAAA,CAAC,CAAA,CAAA,CAAA;;;;;;;AATnC,EAAA,IAAA,EAAA,GAAA,GAAuC,MAAA,GAAA,OAAA,CAAA;AACvC,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,QAAA,GAAW,OAAA,GAAA,OAAA,CAAA;QACX,MAAAmB,EAAAA,OAAAA,GAAkB,gBAAA,GAAA,OAAA,CAAA;AASpB,EAAA,SAAA,gBAAA,CAAiB,EAAA,EAAA;AACpB,IAAA,IAAA,MAAA,GAAS,EAAG,CAAA,MAAA,CAAA;QACZ,MAAU,IAAA,MAAA,CAAO,QAAQ,QAAA,EAAA;AACvB,MAAA,IAAA,KAAA,GAAQ,OAAO,OAAQ,CAAA,QAAA,CAAA;AACvB,MAAA,IAAA,KAAA,IAAS,GAAA,EAAA;AACX,QAAI,GAAA,CAAA,cAAA,CAAe,QAAS,CAAA,KAAK,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;AAZvC,MAAA,uBAAA,CAAA,YAAA,CAAA,CAAA,EAAG,WAAc,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,WAAA,CAAA,CAAA,CAAA;;;;AACtB,MAAA,YAAA,CAAA,CAAA,EAAG,WAAc,GAAA,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAc,WAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC4BD,MAAAC,SAAA,CAAA,IAAA,EAAA,kBAAA,EAAA,QAAA;;QAAS,GAAK,CAAA,CAAA,EAAC,CAAC,CAAA;;QAAG,GAAK,CAAA,CAAA,EAAC,CAAC,CAAA;;QAAG,GAAK,CAAA,CAAA,EAAC,CAAC,CAAA;OAAA,CAAA,CAAA;;AAPJ,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;AAE/C,MAAAC,IAAA,CAAA,MAAA,EAAA,gBAAA,EAAA,2BAAA,GAAA,QAAA;;QAAS,GAAK,CAAA,CAAA,EAAC,CAAC,CAAA;;QAAG,GAAK,CAAA,CAAA,EAAC,CAAC,CAAA;;QAAG,GAAK,CAAA,CAAA,EAAC,CAAC,CAAA;OAAA,CAAA,CAAA;;;AADnCC,MAAAA,YAAAA,CAAAA,MAAAA,EAAAA,WAAAA,EAAAA,eAAAA;;AAAe,QAAA,GAAA,CAAS,CAAA,CAAA;;AAAE,QAAA,GAAA,CAAK,CAAA,CAAA;OAAA,CAAA,CAAA;;;AAFlD,MAAArB,MAAAA,CAUQ,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA;AAJN,MAAAC,MAAAA,CAGC,QAAA,IAAA,CAAA,CAAA;;;;;;AADyB,QAAAkB,SAAA,CAAA,IAAA,EAAA,kBAAA,EAAA,QAAA;;UAASpB,IAAK,CAAA,CAAA,EAAC,CAAC,CAAA;;UAAGA,IAAK,CAAA,CAAA,EAAC,CAAC,CAAA;;UAAGA,IAAK,CAAA,CAAA,EAAC,CAAC,CAAA;SAAA,CAAA,CAAA;;;;AAPJA,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;AAE/C,MAAA,CAAA,IAAA,2BAAA,MAAA,2BAAA,GAAA,QAAA;;QAASA,IAAK,CAAA,CAAA,EAAC,CAAC,CAAA;;QAAGA,IAAK,CAAA,CAAA,EAAC,CAAC,CAAA;;QAAGA,IAAK,CAAA,CAAA,EAAC,CAAC,CAAA;OAAA,CAAA,EAAA;;;;;;;;;;AADnCsB,QAAAA,YAAAA,CAAAA,MAAAA,EAAAA,WAAAA,EAAAA,eAAAA;;AAAetB,UAAAA,IAAAA,CAAS,CAAA,CAAA;;AAAEA,UAAAA,IAAAA,CAAK,CAAA,CAAA;SAAA,CAAA,CAAA;;;;;;;;;;;;;;;;AAH7C,IAAA,GAAA,CAAM,CAAA,CAAA;;;AAAX,EAAA,KAAA,IAAA,CAAA,GAAA,CAAA,EAAA,CAAA,GAAA,UAAA,CAAA,MAAA,EAAI,KAAA,CAAA,EAAA;;;;;;;;;;AAD8B,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;AAA3C,MAAAC,MAAAA,CAcK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;;;;;;;;;;;AAdmD,UAAA,GAAA,CAAgB,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;AAC/DD,QAAAA,IAAAA,CAAM,CAAA,CAAA,CAAA;;AAAX,QAAA,KAAA,CAAA,GAAA,CAAA,EAAA,CAAA,GAAA,UAAA,CAAA,MAAA,EAAI,KAAA,CAAA,EAAA;;;;;;;;;;;;;AAAJ,QAAA,WAAA,CAAA,MAAA,GAAA,UAAA,CAAA,MAAA,CAAA;;;;AADkCA,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;;;;;;;AAhBhCsB,SAAAA,eAAAA,CAAe,GAAW,CAAA,EAAA;SAC1B,CAAK,IAAA,CAAA,IAAK,EAAE,KAAA,CAAA,CAAO,GAAG,CAAM,KAAA,CAAA,KAAM,CAAE,CAAA,CAAC,CAAA,CAAA,CAAA;;;;;;;AATnC,EAAA,IAAA,EAAA,GAAA,GAAuC,MAAA,GAAA,OAAA,CAAA;AACvC,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,QAAA,GAAW,OAAA,GAAA,OAAA,CAAA;QACX,MAAAH,EAAAA,OAAAA,GAAkB,gBAAA,GAAA,OAAA,CAAA;AASpB,EAAA,SAAA,gBAAA,CAAiB,EAAA,EAAA;AACpB,IAAA,IAAA,MAAA,GAAS,EAAG,CAAA,MAAA,CAAA;QACZ,MAAU,IAAA,MAAA,CAAO,QAAQ,QAAA,EAAA;AACvB,MAAA,IAAA,KAAA,GAAQ,OAAO,OAAQ,CAAA,QAAA,CAAA;AACvB,MAAA,IAAA,KAAA,IAAS,GAAA,EAAA;AACX,QAAI,GAAA,CAAA,YAAA,CAAa,QAAS,CAAA,KAAK,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;AAZrC,MAAA,uBAAA,CAAA,YAAA,CAAA,CAAA,EAAG,WAAc,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,WAAA,CAAA,CAAA,CAAA;;;;AACtB,MAAA,YAAA,CAAA,CAAA,EAAG,SAAY,GAAA,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAc,SAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AC0DL,IAAA,SAAA,CAAS,CAAA,CAAK,KAAA,OAAA;;AAAU,MAAA,SAAA,CAAK,CAAA,CAAA;AAAK,MAAA,SAAA,CAAG,EAAA,CAAA;;;AAAG,MAAA,SAAA,CAAS,CAAA,CAAA;AAAK,MAAA,SAAA,CAAG,EAAA,CAAA;;;;;;;;;;AAWnD,EAAA,IAAA,YAAA,GAAA,UAAA;;AAAW,IAAA,GAAA,CAAG,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAd,MAAA,IAAA,YAAA,MAAA,YAAA,GAAA,UAAA;;AAAWnB,QAAAA,IAAAA,CAAG,EAAA,CAAA;OAAA,CAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAFd,EAAA,IAAA,YAAA,GAAA,gBAAA;;AAAiB,IAAA,GAAA,CAAG,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAApB,MAAA,IAAA,YAAA,MAAA,YAAA,GAAA,gBAAA;;AAAiBA,QAAAA,IAAAA,CAAG,EAAA,CAAA;OAAA,CAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AADzCA,MAAAA,IAAAA,CAAW,EAAA,CAAA;;AAAA,MAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;AAN0C,MAAA,GAAA,CAAK,CAAA,CAAA,GAAA,GAAA;AAAG,MAAA,GAAA,CAAG,EAAA,CAAA,CAAA,CAAA;;AAErD,MAAA,GAAA,CAAG,EAAA,CAAA,CAAA,CAAA;;;;;;;AADF,QAAA,GAAA,CAAW,EAAA,CAAA;AAAA,OAAA,CAAA;;;;AAF9B,MAAAC,MAAAA,CAYQ,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA;;;;;;UAPO,OAAS,EAAA,OAAA;;AAAQ,YAAA,GAAA,CAAC,CAAA,CAAA;;AAAC,cAAA,GAAA,CAAG,EAAA,CAAA;AAAA,aAAA;;AAAG,YAAA,GAAA,CAAC,CAAA,CAAA;;AAAC,cAAA,GAAA,CAAG,EAAA,CAAA;AAAA,aAAA;AAAA,WAAA;UAAI,SAAW,EAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAJA,MAAA,GAAA,CAAK,CAAA,CAAA,GAAA,GAAA;AAAG,MAAA,GAAA,CAAG,EAAA,CAAA,CAAA,EAAA;;;;;;;;;;;UAIxD,OAAS,EAAA,OAAA;;AAAQ,YAAA,GAAA,CAAC,CAAA,CAAA;;AAAC,cAAA,GAAA,CAAG,EAAA,CAAA;AAAA,aAAA;;AAAG,YAAA,GAAA,CAAC,CAAA,CAAA;;AAAC,cAAA,GAAA,CAAG,EAAA,CAAA;AAAA,aAAA;AAAA,WAAA;UAAI,SAAW,EAAA,KAAA;;;;;;;;AAHzC,UAAA,GAAA,CAAW,EAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAJzB,EAAA,IAAA,UAAA,GAAA,MAAA,CAAA;;;AAAeD,IAAAA,IAAAA,CAAG,EAAA,CAAA;;AAAvB,EAAA,KAAA,IAAA,CAAA,GAAA,CAAA,EAAA,CAAA,GAAA,UAAA,CAAA,MAAA,EAAI,KAAA,CAAA,EAAA;;;;;;;;;;;;AAD8B,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;AAA3C,MAAAC,MAAAA,CAiBK,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;;;;;;;;;;;;AAjBmD,UAAA,GAAA,CAAsB,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;AACrE,QAAA,UAAA,GAAA,MAAA,CAAA;;;;;;;AAD6BD,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;AACvC,MAAA,KAAA,IAAA,CAAA,GAAA,CAAA,EAAA,CAAA,GAAA,UAAA,CAAA,MAAA,EAAI,KAAA,CAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;IAjEAS,KAAA,GAAA;EACJ,EAAA,EAAA;IACE,SAAW,EAAA,WAAA;IACX,OAAS,EAAA,SAAA;IACT,QAAU,EAAA,MAAA;IACV,KAAO,EAAA,OAAA;IACP,SAAW,EAAA,MAAA;IACX,OAAS,EAAA,SAAA;IACT,QAAU,EAAA,UAAA;IACV,aAAe,EAAA,SAAA;;EAEjB,OAAA,EAAA;IACE,SAAW,EAAA,cAAA;IACX,OAAS,EAAA,cAAA;IACT,QAAU,EAAA,cAAA;IACV,KAAO,EAAA,cAAA;IACP,SAAW,EAAA,oBAAA;IACX,OAAS,EAAA,cAAA;IACT,QAAU,EAAA,oBAAA;IACV,aAAe,EAAA,cAAA;;;;;;;;;;;AAWR,EAAA,IAAA,EAAA,GAAA,GAAuC,MAAA,GAAA,OAAA,CAAA;AACvC,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,QAAA,GAAqB,MAAA,GAAA,OAAA,CAAA;AACrB,EAAA,IAAA,EAAA,QAAA,GAAW,OAAA,GAAA,OAAA,CAAA;AAOlB,EAAA,IAAA,CAAA,CAAA;AAQK,EAAA,SAAA,sBAAA,CAAuB,EAAA,EAAA;AAC1B,IAAA,IAAA,MAAA,GAAS,EAAG,CAAA,MAAA,CAAA;QACZ,MAAU,IAAA,MAAA,CAAO,QAAQ,QAAA,EAAA;AACvBc,MAAAA,IAAAA,MAAAA,GAAQ,OAAO,OAAQ,CAAA,QAAA,CAAA;AACvBA,MAAAA,IAAAA,MAAAA,IAAS,GAAA,EAAA;YACP,eAAgB,CAAA,QAAA,CAASA,MAAkB,CAAA,EAAA;AAC7C,UAAA,GAAA,CAAI,aAAaA,MAAkB,CAAA,CAAA;;AAEnC,UAAI,GAAA,CAAA,YAAA,CAAa,SAASA,MAAkC,CAAA,CAAA;;;;;;;;;;;;;;;;;;AArBpE,MAAA,YAAA,CAAA,CAAG,EAAA,CAAA,GAAId,KAAK,CAAA,QAAQ,CAAA,CAAA,CAAA;;;;AACpB,MAAA,uBAAA,CAAA,YAAA,CAAA,CAAA,EAAG,WAAc,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,WAAA,CAAA,CAAA,CAAA;;;;AACtB,MAAA,YAAA,CAAA,CAAA,EAAG,SAAY,GAAA,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAc,oBAAA,CAAA,CAAA;;;;AAC7B,MAAA,YAAA,CAAA,CAAA,EAAG,KAAQ,GAAA,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAc,SAAA,CAAA,CAAA;;;;AACzB,MAAA,YAAA,CAAA,EAAA,EAAG,OAAU,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,OAAA,CAAA,CAAA;;;;AAElB,MAAA,YAAA,CAAA,GAAG,CAAA,GAAA;AACD,UAAA,SAAA,EAAW,OAAS,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,iBAAA;AACpB,UAAA,OAAA,EAAS,OAAS,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,eAAA;AAClB,UAAA,QAAA,EAAU,OAAS,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,gBAAA;AACnB,UAAA,KAAA,EAAO,OAAS,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,aAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpCbT,MAAAA,IAAAA,CAAS,CAAA,CAAK,KAAA,SAAA;;AAAS,MAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AADF,IAAA,GAAA,CAAS,CAAA,CAAA;IAAA,EAAA,OAAA;;AAAA,MAAA,GAAA,CAAA,CAAA,CAAA;AAAA,KAAA,EAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAATA,UAAAA,IAAAA,CAAS,CAAA,CAAA;AAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QANxB,SAAA,GAAA,IAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,OAAA,EAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,SAAA,EAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACIrBA,MAAAA,IAAAA,CAAS,CAAA,CAAK,KAAA,UAAA;;AAAU,MAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AADF,IAAA,GAAA,CAAS,CAAA,CAAA;IAAA,EAAA,OAAA;;AAAA,MAAA,GAAA,CAAA,CAAA,CAAA;AAAA,KAAA,EAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAATA,UAAAA,IAAAA,CAAS,CAAA,CAAA;AAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QANzB,SAAA,GAAA,IAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,OAAA,EAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,SAAA,EAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACmBnBA,MAAAA,IAAAA,CAAS,CAAA,CAAK,KAAA,QAAA;;AAAQ,MAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AANtBA,MAAAA,IAAAA,CAAS,CAAA,CAAK,KAAA,QAAA;;AAAQ,MAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AANtBA,MAAAA,IAAAA,CAAS,CAAA,CAAK,KAAA,QAAA;;AAAQ,MAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AADxBA,MAAAA,IAAAA,CAAU,CAAA,CAAK,KAAA,MAAA;;AAAM,MAAA,OAAA,CAAA,CAAA;;;AAMhBA,MAAAA,IAAAA,CAAU,CAAA,CAAK,KAAA,OAAA;;AAAO,MAAA,OAAA,CAAA,CAAA;;;AAMtBA,MAAAA,IAAAA,CAAU,CAAA,CAAK,KAAA,QAAA;;AAAQ,MAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAbR,IAAA,GAAA,CAAS,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAATA,UAAAA,IAAAA,CAAS,CAAA,CAAA;AAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QARvB,SAAA,GAAA,IAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,OAAA,EAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,IAAA,EAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,SAAA,EAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,UAAA,GAAqB,UAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACG3BA,MAAAA,IAAAA,CAAS,CAAA,CAAK,KAAA,MAAA;;AAAM,MAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AADF,IAAA,GAAA,CAAS,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAATA,UAAAA,IAAAA,CAAS,CAAA,CAAA;AAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAPrB,SAAA,GAAA,IAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,OAAA,EAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,IAAA,EAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,SAAA,EAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC4BA,EAAA,IAAA,YAAA,GAAA,UAAA;;AAAW,IAAA,GAAA,CAAU,CAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAArB,MAAA,EAAA,IAAA,YAAA,MAAA,YAAA,GAAA,UAAA;;AAAWA,QAAAA,IAAAA,CAAU,CAAA,CAAA;OAAA,CAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAFrB,EAAA,IAAA,YAAA,GAAA,gBAAA;;AAAiB,IAAA,GAAA,CAAU,CAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAA3B,MAAA,EAAA,IAAA,YAAA,MAAA,YAAA,GAAA,gBAAA;;AAAiBA,QAAAA,IAAAA,CAAU,CAAA,CAAA;OAAA,CAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AADhDA,MAAAA,IAAAA,CAAS,CAAA,CAAA;AAAKA,MAAAA,IAAAA,CAAU,CAAA,CAAA;AAAKA,MAAAA,IAAAA,CAAS,CAAA,CAAK,KAAA,OAAA;AAAWA,MAAAA,IAAAA,CAAK,CAAA,CAAA;AAAKA,MAAAA,IAAAA,CAAU,CAAA,CAAA;;AAAA,MAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AADtD,IAAA,GAAA,CAAS,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;AAAY,IAAA,GAAA,CAAiB,CAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;;;;AAAtCA,UAAAA,IAAAA,CAAS,CAAA,CAAA;AAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA5BvB,EAAA,IAAA,EAAA,GAAA,GAAuC,MAAA,GAAA,OAAA,CAAA;QACvC,SAAA,GAAA,IAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,OAAA,EAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,IAAA,EAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,SAAA,EAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;MAMtB,UAAoB,GAAA,WAAA,CAAA;WAQf,iBAAA,GAAA;QACH,eAAgB,CAAA,QAAA,CAAS,UAAuB,CAAA,EAAA;AAClD,MAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,YAAa,CAAA,UAAA,CAAA,CAAA;;AAElB,MAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,aAAa,OAAS,EAAA,UAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;AAhB/B,MAAA,uBAAA,CAAA,YAAA,CAAA,CAAA,EAAG,WAAc,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,WAAA,CAAA,CAAA,CAAA;;;;AACtB,MAAA,YAAA,CAAA,CAAA,EAAG,SAAY,GAAA,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAc,oBAAA,CAAA,CAAA;;;;AAC7B,MAAA,YAAA,CAAA,CAAA,EAAG,KAAQ,GAAA,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAc,SAAA,CAAA,CAAA;;;;AAIzB,MAAO,IAAA,eAAA,CAAgB,QAAS,CAAA,SAAsB,CAAA,EAAA;AACpD,UAAA,YAAA,CAAA,CAAA,EAAA,UAAA,GAAa,SAAA,CAAA,CAAA;mBACJ,KAAA,EAAA;AACT,UAAA,YAAA,CAAA,CAAA,EAAA,UAAA,GAAa,KAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACARA,MAAAA,IAAAA,CAAS,CAAA,CAAK,KAAA,cAAA;;AAAc,MAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAN5BA,MAAAA,IAAAA,CAAS,CAAA,CAAK,KAAA,QAAA;;AAAQ,MAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AADxBA,MAAAA,IAAAA,CAAU,CAAA,CAAK,KAAA,QAAA;;AAAQ,MAAA,OAAA,CAAA,CAAA;;;AAMlBA,MAAAA,IAAAA,CAAU,CAAA,CAAK,KAAA,cAAA;;AAAc,MAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAPd,IAAA,GAAA,CAAS,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAATA,UAAAA,IAAAA,CAAS,CAAA,CAAA;AAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QARvB,SAAA,GAAA,IAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,OAAA,EAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,SAAA,EAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,IAAA,EAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,UAAA,GAAqB,UAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDR,IAAA,GAAA,CAAS,CAAA,CAAA;IAAA,EAAA,OAAA;;AAAA,MAAA,GAAA,CAAA,CAAA,CAAA;AAAA,KAAA,EAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAATA,UAAAA,IAAAA,CAAS,CAAA,CAAA;AAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QALtB,SAAA,GAAA,IAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,OAAA,EAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACMrBA,MAAAA,IAAAA,CAAS,CAAA,CAAK,KAAA,MAAA;;AAAM,MAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AADF,IAAA,GAAA,CAAS,CAAA,CAAA;IAAA,EAAA,OAAA;;AAAA,MAAA,GAAA,CAAA,CAAA,CAAA;AAAA,KAAA,EAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAATA,UAAAA,IAAAA,CAAS,CAAA,CAAA;AAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QANrB,SAAA,GAAA,IAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,OAAA,EAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,SAAA,EAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACIrBA,MAAAA,IAAAA,CAAS,CAAA,CAAK,KAAA,cAAA;;AAAc,MAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AADF,IAAA,GAAA,CAAS,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAATA,UAAAA,IAAAA,CAAS,CAAA,CAAA;AAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAN7B,SAAA,GAAA,IAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,OAAA,EAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,SAAA,EAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACYiB,IAAA,GAAA,CAAK,CAAA,CAAA;WAAO,CAAC,EAAA;WAAO,CAAC,EAAA;;;;;;;;;;AAAa,IAAA,GAAA,CAAe,CAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;;;AAAjDA,UAAAA,IAAAA,CAAK,CAAA,CAAA;AAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAhBrC,EAAA,IAAA,EAAA,GAAA,GAAuC,MAAA,GAAA,OAAA,CAAA;AACvC,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,QAAA,GAAW,OAAA,GAAA,OAAA,CAAA;WAOb,eAAA,CAAA,EAAkB,MAAQe,EAAAA,MAAAA,EAAAA,EAAAA;;AACjC,IAAA,CAAA,EAAA,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,eAAL,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAsB,cAAA,CAAA,EACpB,kBAAkBA,MAAAA,EAAAA,CAAAA,CAAAA;;;;;;;;;;;;;;AAPtB,MAAA,uBAAA,CAAA,YAAA,CAAA,CAAA,EAAG,WAAc,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,WAAA,CAAA,CAAA,CAAA;;;;AACtB,MAAA,YAAA,CAAA,CAAG,EAAA,KAAA,GAAA,CAAQ,EAAc,GAAA,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAA,gBAAA,KAAd,YAAkC,CAAA,CAAA,CAAA;;;;AAE7C,MAAA,YAAA,CAAA,GAAG,KAAA,GAAA,EAAU,KAAO,EAAA,KAAA,EAAO,UAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;ACyTkB,IAAA,SAAA,CAAW,EAAA,CAAA;;;;;;;;AACpC,IAAA,SAAA,CAAO,EAAA,CAAA;AAAI,IAAA,SAAA,CAAO,EAAA,CAAA;;AAAC,MAAA,SAAA,CAAI,EAAA,CAAA;AAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AA1Ib,IAAA,GAAA,CAAS,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;AAAY,IAAA,GAAA,CAAS,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;AAA9Bf,QAAAA,IAAAA,CAAS,EAAA,CAAA;AAAA,OAAA,CAAA,CAAA,GAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCqC,QAAA,GAAA,CAAC,EAAA,CAAC,CAAA,YAAA;;;;;;;AAAzB,IAAA,GAAA,CAAY,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AAAWA,QAAAA,IAAAA,CAAC,EAAA,CAAC,CAAA,YAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAFX,QAAA,GAAA,CAAC,EAAA,CAAC,CAAA,IAAA;;;;;;;AAAjB,IAAA,GAAA,CAAI,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AAAWA,QAAAA,IAAAA,CAAC,EAAA,CAAC,CAAA,IAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAFZ,QAAA,GAAA,CAAC,EAAA,CAAC,CAAA,KAAA;;;;;;;AAAlB,IAAA,GAAA,CAAK,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;AAAWA,QAAAA,IAAAA,CAAC,EAAA,CAAC,CAAA,KAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAJ5C,QAAA,GAAA,CAAC,EAAA,CAAC,CAAA,MAAA;;;;AACL,QAAA,GAAA,CAAkB,EAAA,CAAA;;AAAG,UAAA,GAAA,CAAY,EAAA,CAAA;AAAG,YAAA,KAAA,CAAA;;;;;;;AAFhC,IAAA,GAAA,CAAM,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACPA,QAAAA,IAAAA,CAAC,EAAA,CAAC,CAAA,MAAA,CAAA;;;;AACLA,QAAAA,IAAAA,CAAkB,EAAA,CAAA;;AAAGA,UAAAA,IAAAA,CAAY,EAAA,CAAA;AAAG,YAAA,KAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AATW,QAAA,GAAA,CAAC,EAAA,CAAC,CAAA,MAAA;;;;AAAc,QAAA,GAAA,CAAY,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAA5BA,QAAAA,IAAAA,CAAC,EAAA,CAAC,CAAA,MAAA,CAAA;;;;AAAcA,QAAAA,IAAAA,CAAY,EAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAFpB,QAAA,GAAA,CAAC,EAAA,CAAC,CAAA,IAAA;;;;AAAY,QAAA,GAAA,CAAU,EAAA,CAAA;;;;;;;AAAvC,IAAA,GAAA,CAAI,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AAAWA,QAAAA,IAAAA,CAAC,EAAA,CAAC,CAAA,IAAA,CAAA;;;;AAAYA,QAAAA,IAAAA,CAAU,EAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAJ5E,QAAA,GAAA,CAAC,EAAA,CAAC,CAAA,MAAA;;;;AACL,QAAA,GAAA,CAAY,EAAA,CAAA;;;;;;;AAFR,IAAA,GAAA,CAAM,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACPA,QAAAA,IAAAA,CAAC,EAAA,CAAC,CAAA,MAAA,CAAA;;;;AACLA,QAAAA,IAAAA,CAAY,EAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AATmD,QAAA,GAAA,CAAC,EAAA,CAAC,CAAA,QAAA;;;;;;;AAArB,IAAA,GAAA,CAAQ,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AAAWA,QAAAA,IAAAA,CAAC,EAAA,CAAC,CAAA,QAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAFJ,QAAA,GAAA,CAAC,EAAA,CAAC,CAAA,OAAA;;;;;;;AAApB,IAAA,GAAA,CAAO,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AAAWA,QAAAA,IAAAA,CAAC,EAAA,CAAC,CAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AADpEA,MAAAA,IAAAA,CAAI,EAAA,CAAK,KAAA,SAAA;;AAAS,MAAA,OAAA,CAAA,CAAA;;;AAEbA,MAAAA,IAAAA,CAAI,EAAA,CAAK,KAAA,UAAA;;AAAU,MAAA,OAAA,CAAA,CAAA;;;AAEnBA,MAAAA,IAAAA,CAAI,EAAA,CAAK,KAAA,QAAA;;AAAQ,MAAA,OAAA,CAAA,CAAA;;;AAUjBA,MAAAA,IAAAA,CAAI,EAAA,CAAK,KAAA,MAAA;;AAAM,MAAA,OAAA,CAAA,CAAA;;;AAEfA,MAAAA,IAAAA,CAAI,EAAA,CAAK,KAAA,QAAA;;AAAQ,MAAA,OAAA,CAAA,CAAA;;;AAEjBA,MAAAA,IAAAA,CAAI,EAAA,CAAK,KAAA,QAAA;;AAAQ,MAAA,OAAA,CAAA,CAAA;;;AAUjBA,MAAAA,IAAAA,CAAI,EAAA,CAAK,KAAA,OAAA;;AAAO,MAAA,OAAA,CAAA,CAAA;;;AAEhBA,MAAAA,IAAAA,CAAI,EAAA,CAAK,KAAA,MAAA;;AAAM,MAAA,OAAA,CAAA,CAAA;;;AAEfA,MAAAA,IAAAA,CAAI,EAAA,CAAK,KAAA,cAAA;;AAAc,MAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAO3B,IAAA,GAAA,CAAS,EAAA,CAAA;;;AACJ,MAAA,GAAA,CAAC,EAAA,CAAC,CAAA,IAAA;AAAI,KAAA,EAAA;;;AACT,MAAA,GAAA,CAAU,EAAA,CAAA;AAAA,KAAA,EAAA;;;;QACA,GAAS,CAAA,CAAA,CAAK,KAAA,MAAA,GAAS,WAAc,GAAA,UAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAHjDA,UAAAA,IAAAA,CAAS,EAAA,CAAA;AAAA,SAAA;;;;AACJA,UAAAA,IAAAA,CAAC,EAAA,CAAC,CAAA,IAAA;AAAI,SAAA,EAAA;;;;AACTA,UAAAA,IAAAA,CAAU,EAAA,CAAA;AAAA,SAAA,EAAA;;;;;YACAA,IAAS,CAAA,CAAA,CAAK,KAAA,MAAA,GAAS,WAAc,GAAA,UAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOO,IAAA,GAAA,CAAW,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAShEA,MAAAA,IAAAA,CAAU,EAAA,CAAK,KAAA,QAAA;;AAAQ,MAAA,OAAA,CAAA,CAAA;;;AAIlBA,MAAAA,IAAAA,CAAU,EAAA,CAAK,KAAA,QAAA;;AAAQ,MAAA,OAAA,CAAA,CAAA;;;;;;;;;;;AAM5BA,MAAAA,IAAAA,CAAY,EAAA,CAAA;AAAIA,MAAAA,IAAAA,CAAU,EAAA,CAAK,KAAA,OAAA;;AAAO,MAAA,OAAA,CAAA,CAAA;;;AAIjCA,MAAAA,IAAAA,CAAY,EAAA,CAAA;AAAIA,MAAAA,IAAAA,CAAU,EAAA,CAAK,KAAA,OAAA;;AAAO,MAAA,OAAA,CAAA,CAAA;;;;;;;;;;;AAM3CA,MAAAA,IAAAA,CAAU,EAAA,CAAK,KAAA,MAAA;;AAAM,MAAA,OAAA,CAAA,CAAA;;;AAIhBA,MAAAA,IAAAA,CAAU,EAAA,CAAK,KAAA,MAAA;;AAAM,MAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAnBbK,IAAAA,EAAAA,KAAAA,EAAAA,KAAAA,GAAI,mBAAA,EAAA;;AAAwB,IAAA,GAAA,CAAS,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;;;;;;;;;AAArCA,QAAAA,CAAAA,IAAAA,EAAAA,KAAAA,EAAAA,KAAAA,GAAI,mBAAA,EAAA;;;;AAAwBL,UAAAA,IAAAA,CAAS,EAAA,CAAA;AAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAJrCK,IAAAA,EAAAA,KAAAA,EAAAA,KAAAA,GAAI,mBAAA,EAAA;;AAAwB,IAAA,GAAA,CAAS,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;AAAY,IAAA,GAAA,CAAS,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;AAA1DA,QAAAA,CAAAA,IAAAA,EAAAA,KAAAA,EAAAA,KAAAA,GAAI,mBAAA,EAAA;;;;AAAwBL,UAAAA,IAAAA,CAAS,EAAA,CAAA;AAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcrCK,IAAAA,EAAAA,KAAAA,EAAAA,KAAAA,GAAI,mBAAA,EAAA;;AAAwB,IAAA,GAAA,CAAS,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;AAAY,IAAA,GAAA,CAAW,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;AAA5DA,QAAAA,CAAAA,IAAAA,EAAAA,KAAAA,EAAAA,KAAAA,GAAI,mBAAA,EAAA;;;;AAAwBL,UAAAA,IAAAA,CAAS,EAAA,CAAA;AAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAJrCK,IAAAA,EAAAA,KAAAA,EAAAA,KAAAA,GAAI,mBAAA,EAAA;;AAAwB,IAAA,GAAA,CAAS,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;;;;;;;;;AAArCA,QAAAA,CAAAA,IAAAA,EAAAA,KAAAA,EAAAA,KAAAA,GAAI,mBAAA,EAAA;;;;AAAwBL,UAAAA,IAAAA,CAAS,EAAA,CAAA;AAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcrCK,IAAAA,EAAAA,KAAAA,EAAAA,KAAAA,GAAI,mBAAA,EAAA;;AAAwB,IAAA,GAAA,CAAS,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;AAAY,IAAA,GAAA,CAAU,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;AAA3DA,QAAAA,CAAAA,IAAAA,EAAAA,KAAAA,EAAAA,KAAAA,GAAI,mBAAA,EAAA;;;;AAAwBL,UAAAA,IAAAA,CAAS,EAAA,CAAA;AAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAJrCK,IAAAA,EAAAA,KAAAA,EAAAA,KAAAA,GAAI,mBAAA,EAAA;;AAAwB,IAAA,GAAA,CAAS,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;;;;;;;;;AAArCA,QAAAA,CAAAA,IAAAA,EAAAA,KAAAA,EAAAA,KAAAA,GAAI,mBAAA,EAAA;;;;AAAwBL,UAAAA,IAAAA,CAAS,EAAA,CAAA;AAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BlDA,MAAAA,IAAAA,CAAU,EAAA,CAAK,KAAA,QAAA;;AAAQ,MAAA,OAAA,CAAA,CAAA;;;AAIlBA,MAAAA,IAAAA,CAAU,EAAA,CAAK,KAAA,QAAA;;AAAQ,MAAA,OAAA,CAAA,CAAA;;;;;;;;;;;AAM5BA,MAAAA,IAAAA,CAAU,EAAA,CAAK,KAAA,cAAA;;AAAc,MAAA,OAAA,CAAA,CAAA;;;AAIxBA,MAAAA,IAAAA,CAAU,EAAA,CAAK,KAAA,cAAA;;AAAc,MAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AATrBK,IAAAA,EAAAA,KAAAA,EAAAA,KAAAA,GAAI,mBAAA,EAAA;;AAAwB,IAAA,GAAA,CAAS,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;;;;;;;;;AAArCA,QAAAA,CAAAA,IAAAA,EAAAA,KAAAA,EAAAA,KAAAA,GAAI,mBAAA,EAAA;;;;AAAwBL,UAAAA,IAAAA,CAAS,EAAA,CAAA;AAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAJrCK,IAAAA,EAAAA,KAAAA,EAAAA,KAAAA,GAAI,mBAAA,EAAA;;AAAwB,IAAA,GAAA,CAAS,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;AAAY,IAAA,GAAA,CAAS,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;AAA1DA,QAAAA,CAAAA,IAAAA,EAAAA,KAAAA,EAAAA,KAAAA,GAAI,mBAAA,EAAA;;;;AAAwBL,UAAAA,IAAAA,CAAS,EAAA,CAAA;AAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcrCK,IAAAA,EAAAA,KAAAA,EAAAA,KAAAA,GAAI,mBAAA,EAAA;;AAAwB,IAAA,GAAA,CAAS,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;AAAY,IAAA,GAAA,CAAe,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;AAAhEA,QAAAA,CAAAA,IAAAA,EAAAA,KAAAA,EAAAA,KAAAA,GAAI,mBAAA,EAAA;;;;AAAwBL,UAAAA,IAAAA,CAAS,EAAA,CAAA;AAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAJrCK,IAAAA,EAAAA,KAAAA,EAAAA,KAAAA,GAAI,mBAAA,EAAA;;AAAwB,IAAA,GAAA,CAAS,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;;;;;;;;;;;;AAArCA,QAAAA,CAAAA,IAAAA,EAAAA,KAAAA,EAAAA,KAAAA,GAAI,mBAAA,EAAA;;;;AAAwBL,UAAAA,IAAAA,CAAS,EAAA,CAAA;AAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BZ,IAAA,GAAA,CAAK,EAAA,CAAA,GAAA,EAAA;;;;;;;;;;;;;;;;;;;2CADnCK,KAAI,GAAA,gBAAA;AAAgB,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;AAAQ,MAAA,GAAA,CAAI,EAAA,CAAA,CAAA;AAAA,QAAAS,IAAAA,CAAA,GAAA,EAAA,KAAA,EAAA,aAAA,CAAA,CAAA;;AAAO,MAAA,GAAA,CAAI,EAAA,CAAA,CAAA,CAAA;;AAAS,MAAA,GAAA,CAAK,EAAA,CAAA,CAAA,CAAA;6CAC7DT,KAAI,GAAA,gBAAA;AAAgB,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;iDAT/BA,KAAI,GAAA,WAAA;AAAW,MAAA,GAAA,CAAI,EAAA,CAAA,GAAA,GAAA;AAAG,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;AAG5B,MAAA,GAAA,CAAK,EAAA,CAAA;AAAI,OAAA,GAAA,CAAK,EAAA,CAAA;MAAI,GAAK,CAAA,EAAA,EAAC,MAAS,GAAA,IAAA;MAAO,GAAK,CAAA,EAAA,CAAC,CAAA,MAAA,GAAS,EAAE,CAAA,CAAA,CAAA;;MACjD,GAAW,CAAA,EAAA,EAAC,IAAI,CAAA,CAAA;;AACrB,MAAA,GAAA,CAAK,EAAA,CAAA;MAAI,GAAK,CAAA,EAAA,EAAC,MAAW,KAAA,MAAA,CAAA;;;;;AAJlB,QAAA,GAAA,CAAK,EAAA,CAAA;QAAI,GAAK,CAAA,EAAA,EAAC,MAAW,KAAA,SAAA;AAAS,OAAA,CAAA;;;;;AACpC,QAAA,GAAA,CAAK,EAAA,CAAA;QAAI,GAAK,CAAA,EAAA,EAAC,MAAW,KAAA,QAAA;AAAQ,OAAA,CAAA;;;AAHrD,MAAAJ,MAAAA,CAWQ,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA;AAFN,MAAAC,MAAAA,CAA8E,QAAA,GAAA,CAAA,CAAA;;AAC9E,MAAAA,MAAAA,CAAuD,QAAA,IAAA,CAAA,CAAA;;;;;;;AAH7C,YAAA,GAAA,CAAQ,EAAA,CAAA;AAAA,WAAA;AAAR,YAAA,GAAA,CAAQ,EAAA,CAAA,CAAA,KAAA,CAAA,IAAA,EAAA,SAAA,CAAA,CAAA;;;;;;;;kDAELG,KAAI,GAAA,gBAAA;AAAgB,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;MAAQ,GAAI,CAAA,EAAA,CAAA,CAAA,EAAA;;;;;AAAO,MAAA,GAAA,CAAI,EAAA,CAAA,CAAA,EAAA;;;;;AAAS,MAAA,GAAA,CAAK,EAAA,CAAA,CAAA,EAAA;;;;;AAChC,MAAA,GAAA,CAAK,EAAA,CAAA,GAAA,EAAA,CAAA;AAAA,QAAAK,QAAAA,CAAA,IAAA,QAAA,CAAA,CAAA;;oDAAlCL,KAAI,GAAA,gBAAA;AAAgB,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;+DAT/BA,KAAI,GAAA,WAAA;AAAW,MAAA,GAAA,CAAI,EAAA,CAAA,GAAA,GAAA;AAAG,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;AAG5B,MAAA,GAAA,CAAK,EAAA,CAAA;AAAI,OAAA,GAAA,CAAK,EAAA,CAAA;MAAI,GAAK,CAAA,EAAA,EAAC,MAAS,GAAA,IAAA;MAAO,GAAK,CAAA,EAAA,CAAC,CAAA,MAAA,GAAS,EAAE,CAAA,CAAA,EAAA;;;;;MACjD,GAAW,CAAA,EAAA,EAAC,IAAI,CAAA,EAAA;;;;;AACrB,MAAA,GAAA,CAAK,EAAA,CAAA;MAAI,GAAK,CAAA,EAAA,CAAC,CAAA,MAAA,KAAW,MAAM,CAAA,EAAA;;;;;;;;;AAJxB,UAAA,GAAA,CAAK,EAAA,CAAA;UAAI,GAAK,CAAA,EAAA,EAAC,MAAW,KAAA,SAAA;AAAS,SAAA,CAAA;;;;;;;;AACpC,UAAA,GAAA,CAAK,EAAA,CAAA;UAAI,GAAK,CAAA,EAAA,EAAC,MAAW,KAAA,QAAA;AAAQ,SAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAnJtD,GAAU,CAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,GAAA,CAAA;;;;AAMN,IAAA,GAAA,CAAK,CAAA,CAAA;;;AAAV,EAAA,KAAA,IAAA,CAAA,GAAA,CAAA,EAAA,CAAA,GAAA,YAAA,CAAA,MAAA,EAAI,KAAA,CAAA,EAAA;;;;;;;EAqCA,GAAS,CAAA,CAAA,CAAAmB,IAAAA,mBAAAA,CAAA,GAAA,CAAA,CAAA;;;IAYZ,GAAU,CAAA,CAAA,CAAAC,IAAAA,mBAAAA,CAAA,GAAA,CAAA;;;AASF,GAAA,CAAA,EAAA,GAAA,GAAA,CAAG,CAAA,CAAA,KAAH,IAAK,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,eAAA,CAAA,IAAeC,mBAAA,GAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDpB,GAAA,CAAA,EAAA,GAAA,GAAA,CAAG,CAAA,CAAA,KAAH,IAAK,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,eAAA,CAAA,IAAelB,kBAAA,GAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;AAyBtB,IAAA,GAAA,CAAK,EAAA,CAAA;;;AAAV,EAAA,KAAA,IAAA,CAAA,GAAA,CAAA,EAAA,CAAA,GAAA,UAAA,CAAA,MAAA,EAAI,KAAA,CAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AApIGH,MAAAA,IAAAA,CAAAA,IAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,aAAA,CAAA,CAAA;;;;;;;AA0DAA,MAAAA,IAAAA,CAAAA,IAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,sBAAA,CAAA,CAAA;AAkCJA,MAAAA,IAAAA,CAAAA,IAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,gBAAA,CAAA,CAAA;AAnCNA,MAAAA,IAAAA,CAAAA,IAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,eAAA,CAAA,CAAA;AAsCJA,MAAAA,IAAAA,CAAAA,IAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,aAAA,CAAA,CAAA;AAKFA,MAAAA,IAAAA,CAAAA,IAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,gBAAA,CAAA,CAAA;AAEJA,MAAAA,IAAAA,CAAAA,IAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,gBAAA,CAAA,CAAA;AAJNA,MAAAA,IAAAA,CAAAA,IAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,eAAA,CAAA,CAAA;AAQFA,MAAAA,IAAAA,CAAAA,IAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,sBAAA,CAAA,CAAA;AADNA,MAAAA,IAAAA,CAAAA,IAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,eAAA,CAAA,CAAA;AA0BJA,MAAAA,IAAAA,CAAAA,KAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,aAAA,CAAA,CAAA;;;;;AAA0B,QAAA,GAAA,CAAK,EAAA,CAAC,CAAA,MAAA;AAAM,OAAA,CAAA;AA3E5CA,MAAAA,IAAAA,CAAAA,KAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,gBAAA,CAAA,CAAA;;;;;;;AAxDjB,MAAAJ,MAAAA,CAiDK,MAAA,EAAA,IAAA,EAAA,MAAA,CAAA,CAAA;;;;;;;;;;;;;AAOL,MAAAA,MAAAA,CAiGK,MAAA,EAAA,KAAA,EAAA,MAAA,CAAA,CAAA;AAhGH,MAAAC,MAAAA,CAqCK,OAAA,IAAA,CAAA,CAAA;AApCH,MAAAA,MAAAA,CAgCK,MAAA,IAAA,CAAA,CAAA;;;;;;AAEL,MAAAA,MAAAA,CAAmC,MAAA,IAAA,CAAA,CAAA;;;;;AAGrC,MAAAA,MAAAA,CAEK,OAAA,IAAA,CAAA,CAAA;;;;AACL,MAAAA,MAAAA,CAMK,OAAA,IAAA,CAAA,CAAA;;;AAJH,MAAAA,MAAAA,CAAmC,MAAA,IAAA,CAAA,CAAA;;;;AAEnC,MAAAA,MAAAA,CAAmC,MAAA,IAAA,CAAA,CAAA;;;;;AAGrC,MAAAA,MAAAA,CAyBK,OAAA,IAAA,CAAA,CAAA;AAxBH,MAAAA,MAAAA,CAsBK,MAAA,IAAA,CAAA,CAAA;;;;;;;AAGP,MAAAA,MAAAA,CAqBK,OAAA,KAAA,CAAA,CAAA;;;;;;;;;;;;;;AAxJ2D,YAAA,GAAA,CAAa,CAAA,CAAA;WAAA,CAAA;;;;;AAAiB,YAAA,GAAA,CAAG,EAAA,CAAA;WAAA,CAAA;;;;;;;;;AAL9FF,QAAAA,IAAAA,CAAU,CAAA,CAAA;AAAA,QAAA;;;;;;;;;;;;;;;;;;;;;;;;AAMNA,QAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA;;AAAV,QAAA,KAAA,CAAA,GAAA,CAAA,EAAA,CAAA,GAAA,YAAA,CAAA,MAAA,EAAI,KAAA,CAAA,EAAA;;;;;;;;;;;;;AAAJ,QAAA,KAAA,CAAA,GAAA,YAAA,CAAA,MAAA,EAAI,CAAA,GAAA,aAAA,CAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA;;;;;;AAqCAA,MAAAA,IAAAA,CAAS,CAAA,CAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;AAtCiDA,UAAAA,IAAAA,CAAa,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;;AAkD1EA,QAAAA,IAAAA,CAAU,CAAA,CAAA;AAAA,QAAA;;;;;;;;;;;;;;;;;;;;;AASFM,OAAAA,CAAAA,GAAAA,GAAAN,IAAG,CAAA,CAAA,CAAH,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAM,IAAK,eAAe,CAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDpBqB,OAAAA,CAAAA,GAAAA,GAAA3B,IAAG,CAAA,CAAA,CAAH,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA2B,IAAK,eAAe,CAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBtB3B,QAAAA,IAAAA,CAAK,EAAA,CAAA,CAAA;;AAAV,QAAA,KAAA,CAAA,GAAA,CAAA,EAAA,CAAA,GAAA,UAAA,CAAA,MAAA,EAAI,KAAA,CAAA,EAAA;;;;;;;;;;;;;AAAJ,QAAA,WAAA,CAAA,MAAA,GAAA,UAAA,CAAA,MAAA,CAAA;;;;;;;;AADuCA,UAAAA,IAAAA,CAAK,EAAA,CAAC,CAAA,MAAA;AAAM,SAAA,CAAA;;;;;;;AAlIrD,MAAA,KAAA,IAAA,CAAA,GAAA,CAAA,EAAA,CAAA,GAAA,YAAA,CAAA,MAAA,EAAI,KAAA,CAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAtJAK,KAAO,GAAA,mBAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;AAZF,EAAA,IAAA,EAAA,GAAA,GAAuC,MAAA,GAAA,OAAA,CAAA;AACvC,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,QAAA,GAAqB,MAAA,GAAA,OAAA,CAAA;AACrB,EAAA,IAAA,EAAA,QAAA,GAAW,OAAA,GAAA,OAAA,CAAA;AACX,EAAA,IAAA,EAAA,aAAA,EAAA,GAAA,OAAA,CAAA;;AACA,EAAA,IAAA,EAAA,eAAA,GAAkB,GAAA,GAAA,OAAA,CAAA;AAClB,EAAA,IAAA,EAAA,UAAA,GAAa,OAAA,GAAA,OAAA,CAAA;AACb,EAAA,IAAA,EAAA,SAAA,GAA8B,QAAA,GAAA,OAAA,CAAA;AAC9B,EAAA,IAAA,EAAA,KAAA,GAAuB,eAAA,GAAA,OAAA,CAAA;AACvB,EAAA,IAAA,EAAA,SAAA,GAAY,OAAA,GAAA,OAAA,CAAA;QACZ,MAAAc,EAAAA,OAAAA,GAAS,gBAAA,GAAA,OAAA,CAAA;AAIhB,EAAA,IAAA,YAAA,CAAA;AACA,EAAA,IAAA,UAAA,CAAA;AACA,EAAA,IAAA,YAAA,CAAA;AACA,EAAA,IAAA,UAAA,CAAA;AACA,EAAA,IAAA,YAAA,CAAA;AAEA,EAAA,IAAA,SAAA,CAAA;AAqCA,EAAA,IAAA,GAAA,GAAM,SAAS,CAAC,CAAA,CAAA;;WAEX,SAAA,GAAA;AACP,IAAA,eAAA,CAAA,GAAA,EAAA,IAAA,GAAO,MAAM,IAAO,GAAA,EAAA,GAAK,GAAG,CAAG,EAAA,UAAU,GAAA,IAAA,CAAA,CAAA;;WAElC,WAAA,GAAA;AACP,IAAA,eAAA,CAAA,GAAA,EAAA,IAAA,GAAO,MAAM,IAAO,GAAA,EAAA,GAAK,GAAG,CAAG,EAAA,UAAU,GAAA,IAAA,CAAA,CAAA;;WAGlC,OAAA,GAAA;AACP,IAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,YAAa,CAAA,SAAA,CAAA,CAAA;;WAEX,QAAA,GAAA;AACP,IAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,YAAa,CAAA,UAAA,CAAA,CAAA;;WAEX,MAAA,GAAA;QACH,kBAAA,EAAA;AACE,MAAA,IAAA,SAAA,KAAc,QAAA,EAAA;AACZ,QAAA,IAAA,UAAA,KAAe,MAAA,EAAA;AACjB,UAAA,UAAA,EAAA,CAAA;AACS,SAAA,MAAA,IAAA,UAAA,KAAe,OAAA,EAAA;AACxB,UAAA,WAAA,EAAA,CAAA;;AAEA,UAAA,SAAA,EAAA,CAAA;;;;AAIJ,MAAA,SAAA,EAAA,CAAA;;;WAGKP,KAAA,GAAA;AACP,IAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,YAAa,CAAA,MAAA,CAAA,CAAA;;WAEX,MAAA,GAAA;QACH,kBAAA,EAAA;AACE,MAAA,IAAA,SAAA,KAAc,QAAA,EAAA;AACZ,QAAA,IAAA,UAAA,KAAe,cAAA,EAAA;AACjB,UAAA,eAAA,EAAA,CAAA;;AAEA,UAAA,SAAA,EAAA,CAAA;;;;AAIJ,MAAA,SAAA,EAAA,CAAA;;;WAGK,IAAA,GAAA;AACP,IAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,YAAa,CAAA,MAAA,CAAA,CAAA;;WAEX,YAAA,GAAA;AACP,IAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,YAAa,CAAA,cAAA,CAAA,CAAA;;WAEX,KAAA,GAAA;AACP,IAAK,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,iBAAA,EAAA,CAAA;;WAEE,SAAA,GAAA;;QACH,kBAAA,EAAA;AACF,MAAK,CAAA,EAAA,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,eAAA,KAAL,mBAAsB,cAAA,CAAA;QACpB,oBAAsB,EAAA,QAAA;QACtB,UAAY,EAAA,QAAA;QACZ,WAAa,EAAA,KAAA;QACb,aAAe,EAAA,CAAA;;;AAGjB,MAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,YAAa,CAAA,QAAA,CAAA,CAAA;;;WAGb,WAAA,GAAA;;AACP,IAAK,CAAA,EAAA,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,eAAA,KAAL,mBAAsB,cAAA,CAAA;MACpB,oBAAsB,EAAA,UAAA;MACtB,WAAa,EAAA,IAAA;MACb,aAAe,EAAA,CAAA;;;WAGV,UAAA,GAAA;;AACP,IAAK,CAAA,EAAA,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,eAAA,KAAL,mBAAsB,cAAA,CAAA;MACpB,oBAAsB,EAAA,QAAA;MACtB,WAAa,EAAA,KAAA;MACb,aAAe,EAAA,GAAA;;;WAGV,SAAA,GAAA;;QACH,kBAAA,EAAA;AACF,MAAK,CAAA,EAAA,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,eAAA,KAAL,mBAAsB,cAAA,CAAA;QACpB,oBAAsB,EAAA,QAAA;QACtB,MAAQ,EAAA,IAAA;;;AAGV,MAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,YAAa,CAAA,QAAA,CAAA,CAAA;;;WAGb,eAAA,GAAA;;AACP,IAAK,CAAA,EAAA,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,eAAA,KAAL,mBAAsB,cAAA,CAAA;MACpB,oBAAsB,EAAA,cAAA;MACtB,MAAQ,EAAA,KAAA;;;;;AAmEgC,MAAY,YAAA,GAAA,OAAA,CAAA;;;;;;AAsCd,MAAU,UAAA,GAAA,OAAA,CAAA;;;;;;AAGR,MAAY,YAAA,GAAA,OAAA,CAAA;;;;;;AAOZ,MAAY,YAAA,GAAA,OAAA,CAAA;;;;;AA+BlD,IAAA,GAAA,IAAO,QAAQ,GAAG,CAAA,CAAA;AAClB,IAAc,cAAA,EAAA,CAAA;;;;AANiD,MAAU,UAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA/Q/E,MAAA,YAAA,CAAA,IAAG,SAAA,GAAA;UACD,IAAAP,EAAAA,KAAAA;AACA,UAAA,KAAA;AACA,UAAA,QAAA;UACA,SAAW,EAAA,SAAA,KAAc,SAAS,OAAU,GAAA,MAAA;UAC5C,cAAgB,EAAA,SAAA,KAAc,SAAS,aAAgB,GAAA,YAAA;;;;;AAGzD,MAAA,YAAA,CAAA,EAAG,EAAA,CAAA,GAAII,KAAK,CAAA,QAAQ,CAAA,CAAA,CAAA;;;;AACpB,MAAA,YAAA,CAAA,EAAA,EAAG,OAAU,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,OAAA,CAAA,CAAA;;;;;AAClB,MAAA,YAAA,CAAA,IAAG,CAAA,GAAA;AACD,UAAA,OAAA,EAAS,OAAQ,CAAA,CAAA,CAAE,OAAS,EAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAS,aAAa,CAAA;AAClD,UAAA,QAAA,EAAU,OAAQ,CAAA,CAAA,CAAE,QAAU,EAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAS,gBAAgB,CAAA;AACvD,UAAA,MAAA,EAAQ,OAAQ,CAAA,CAAA,CAAE,MAAQ,EAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAS,cAAc,CAAA;AACjD,UAAA,MAAA,EAAQ,OAAQ,CAAA,CAAA,CAAE,MAAQ,EAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAS,cAAc,CAAA;AACjD,UAAA,IAAA,EAAM,OAAQ,CAAA,CAAA,CAAE,IAAM,EAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAS,YAAY,CAAA;AAC3C,UAAA,IAAA,EAAM,OAAQ,CAAA,CAAA,CAAE,IAAM,EAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAS,YAAY,CAAA;AAC3C,UAAA,YAAA,EAAc,OAAQ,CAAA,CAAA,CAAE,YAAc,EAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAS,oBAAoB,CAAA;;;;;AAGrE,MAAA,uBAAA,CAAA,YAAA,CAAA,EAAA,EAAG,WAAc,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,WAAA,CAAA,CAAA,CAAA;;;;AACtB,MAAA,YAAA,CAAA,EAAA,EAAG,SAAY,GAAA,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAc,oBAAA,CAAA,CAAA;;;;AAC7B,MAAA,kBAAA,CAAA,YAAA,CAAA,EAAA,EAAG,MAAS,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,UAAA,CAAA,CAAA,CAAA;;;;;AAEjB,MAAG,UAAA,GAAa,UAAa,GAAA,cAAA,GAAA,CAAkB,EAAK,GAAA,CAAA,IAAK,IAAI,eAAkB,GAAA,CAAA,CAAA;;;;AAE/E,MAAA,YAAA,CAAA,EAAG,EAAA,kBAAA,GAAA,CAAA,EAAuB,2BAAK,eAAA,CAAA,CAAA,CAAA;;;;AAC/B,MAAA,YAAA,CAAA,EAAG,EAAA,YAAA,GAAA,CACA,GAAK,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,eAAA,KAAA,EAAoB,CAAA,EAAA,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,eAAgB,CAAA,cAAA,KAArB,IAAqC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,aAAA,CAAc,MAAO,CAAA,SAAA,CAAA,IAAc,KAAA,CAAA,CAAA;;;;;AACpG,MAAA,YAAA,CAAA,EAAG,EAAA,cAAA,GAAkB,kBAAuB,KAAA,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAoC,gBAAgB,KAAA,CAAA,CAAA;;;;;AAChG,MAAA,YAAA,CAAA,IAAG,aACA,GAAA,kBAAA,IAAA,CAAuB,YAAoC,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAA,aAAA,MAAkB,OAAQ,KAAA,CAAA,CAAA;;;;AACxF,MAAA,YAAA,CAAA,IAAG,UAAa,GAAA,cAAA,GAAiB,OAAU,GAAA,aAAA,GAAgB,SAAS,QAAA,CAAA,CAAA;;;;;AACpE,MAAA,YAAA,CAAA,EAAG,EAAA,kBAAA,GAAqB,kBAAuB,IAAA,CAAA,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAoC,YAAW,KAAA,CAAA,CAAA;;;;AAC9F,MAAA,YAAA,CAAA,EAAG,EAAA,UAAA,GAAa,kBAAqB,GAAA,cAAA,GAAiB,QAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTNJ,MAAAA,IAAAA,CAAAA,KAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,6BAAA,CAAA,CAAA;;;;AACcA,MAAAA,IAAAA,CAAAA,KAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,2BAAA,CAAA,CAAA;;;AADhE,MAAAJ,MAAAA,CAA6E,MAAA,EAAA,KAAA,EAAA,MAAA,CAAA,CAAA;AAC7E,MAAAA,MAAAA,CAA6F,MAAA,EAAA,KAAA,EAAA,MAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;AAJnDI,MAAAA,IAAAA,CAAAA,KAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,6BAAA,CAAA,CAAA;;;;AACaA,MAAAA,IAAAA,CAAAA,KAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,2BAAA,CAAA,CAAA;;;AAD/D,MAAAJ,MAAAA,CAA6E,MAAA,EAAA,KAAA,EAAA,MAAA,CAAA,CAAA;AAC7E,MAAAA,MAAAA,CAA4F,MAAA,EAAA,KAAA,EAAA,MAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAFzFD,MAAAA,IAAAA,CAAS,CAAA,CAAA;;AAAA,MAAAQ,OAAAA,iBAAAA,CAAAA;;;;;;;;;;;;;;;;;;6CAzBLH,KAAI,GAAA,YAAA;AAAY,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;AAAiB,QAAA,GAAA,CAAU,CAAA,CAAA;;AAAG,UAAA,GAAA,CAAe,CAAA,CAAG,GAAA,IAAA;AAAO,YAAA,MAAA;AAAM,OAAA,CAAA;;;;;AAsBjFA,MAAAA,IAAAA,CAAAA,KAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,mBAAA,CAAA,CAAA;;;AAEyDA,MAAAA,IAAAA,CAAAA,KAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,uBAAA,CAAA,CAAA;;;;+CAThEA,KAAI,GAAA,WAAA;AAAW,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;6CAhBxBA,KAAI,GAAA,GAAA;AAAG,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;;;;;;;;;AAAzB,MAAAJ,MAAAA,CAmCK,MAAA,EAAA,IAAA,EAAA,MAAA,CAAA,CAAA;AAlCH,MAAAC,MAAAA,CAcK,MAAA,IAAA,CAAA,CAAA;;;AACL,MAAAA,MAAAA,CAkBO,MAAA,KAAA,CAAA,CAAA;AAjBL,MAAAA,MAAAA,CAAiD,OAAA,KAAA,CAAA,CAAA;;AAAZ,MAAA,GAAA,CAAS,CAAA,CAAA,CAAA;;AAC9C,MAAAA,MAAAA,CAeK,OAAA,GAAA,CAAA,CAAA;AAdH,MAAAA,MAAAA,CAKC,KAAA,KAAA,CAAA,CAAA;AACD,MAAAA,MAAAA,CAAoG,KAAA,KAAA,CAAA,CAAA;;;;;;;;;;;;;;;AAzBlD,YAAA,GAAA,CAAgB,EAAA,CAAA;WAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oDACzDG,KAAI,GAAA,YAAA;AAAYL,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;AAAiBA,UAAAA,IAAAA,CAAU,CAAA,CAAA;;AAAGA,YAAAA,IAAAA,CAAe,CAAA,CAAG,GAAA,IAAA;AAAO,cAAA,MAAA;AAAM,SAAA,CAAA;;;;;AAgBxDA,QAAAA,IAAAA,CAAS,CAAA,CAAA,CAAA;;;;;;;;;;;;;sDADjCK,KAAI,GAAA,WAAA;AAAWL,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;oDAhBxBK,KAAI,GAAA,GAAA;AAAGL,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAhCjBK,KAAO,GAAA,mBAAA,CAAA;;;;;;;;;;;;;;;;AANF,EAAA,IAAA,EAAA,GAAA,GAAuC,MAAA,GAAA,OAAA,CAAA;AACvC,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,QAAA,GAAqB,MAAA,GAAA,OAAA,CAAA;QACrB,MAAA,GAAA,IAAA,GAAA,OAAA,CAAA;QACA,MAAAc,EAAAA,OAAAA,GAAA,QAA8B,GAAA,OAAA,CAAA;QAGnC,YAAgB,GAAA,CAAA,EAAA,GAAK,IAAI,CAAK,IAAA,CAAA,CAAA;AAMhC,EAAA,IAAA,SAAA,GAAY,MAAO,CAAA,SAAA,CAAA;AACnB,EAAA,IAAA,gBAAA,GAAmBS,SAAgB,CAAC,CAAA,CAAA;;AACpC,EAAA,IAAA,aAAA,GAAgBA,SAAgB,CAAC,CAAA,CAAA;;;AAwCE,IAAA,SAAA,GAAS,IAAA,CAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;AA9ChD,MAAA,oBAAA,CAAA,YAAA,CAAA,EAAA,EAAGrB,SAAW,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,QAAA,CAAA,CAAA,CAAA;;;;AACnB,MAAA,iBAAA,CAAA,YAAA,CAAA,EAAA,EAAG,KAAQ,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,KAAA,CAAA,CAAA,CAAA;;;;AAChB,MAAA,YAAA,CAAA,EAAG,EAAA,QAAA,GAAA,EAAa,SAAA,IAAa,WAAW,WAAA,CAAA,CAAA,CAAA;;;;AAMxC,MAAA,YAAA,CAAA,GAAG,eAAkB,GAAA,KAAA,CAAM,mBAAmB,YAAc,EAAA,cAAA,GAAiB,YAAY,CAAA,CAAA,CAAA;;;;AACzF,MAAA,YAAA,CAAA,CAAG,EAAA,UAAA,GAAa,cAAiB,GAAA,YAAA,GAAe,iBAAA,CAAA,CAAA;;;;AAEhD,MAAA,YAAA,CAAA,CAAG,EAAA,SAAA,GAAY,MAAO,CAAA,SAAA,IAAa,MAAA,CAAA,CAAA;;;;AACnC,MAAA,YAAA,CAAA,CAAG,EAAA,KAAA,GAAQ,MAAO,CAAA,KAAA,IAAS,aAAA,CAAA,CAAA;;;;AAC3B,MAAA,YAAA,CAAA,GAAG,SAAY,GAAA,CAAA,CAAA,EAAA,GAAA,MAAA,CAAO,IAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAa,YAAW,KAAA,CAAA,CAAA;;;;AAEvC,MAAA,IAAA,CAAO,GAAK,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,OAAA,MAAW,GAAK,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,OAAA,CAAQ,IAAA,CAAA,EAAA;AAC9BY,UAAAA,IAAAA,OAAAA,IAAA,EAAW,CAAA,EAAA,GAAA,MAAA,CAAO,MAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAe,MAAA,CAAA,EAAA;kBACtB,eAAmB,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,QAAQ,IAAa,CAAA,eAAA,CAAA;AAC/C,YAAA,IAAA,eAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAiB,MAAA,EAAA;AACnBA,cAAAA,YAAAA,CAAAA,CAAAA,EAAAA,OAAAA,GAAS,gBAAgB,MAAA,CAAA,CAAA;;;AAG3BA,YAAAA,YAAAA,CAAAA,CAAAA,EAAAA,OAAAA,GAAS,OAAO,MAAA,CAAA,CAAA;;;AAGlBA,UAAAA,YAAAA,CAAAA,CAAAA,EAAAA,OAAAA,GAAS,cAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SC2DI,EAAK,GAAA,GAAA,CAAA,CAAA,MAAL,IAAO,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA;;AAAK,UAAA,GAAA,CAAI,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;AAAhBb,QAAAA,CAAAA,GAAAA,GAAAN,IAAK,CAAA,CAAA,CAAL,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAM,GAAO,CAAA,IAAA;;AAAKN,UAAAA,IAAAA,CAAI,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAJhB,EAAK,GAAA,GAAA,CAAA,CAAA,MAAL,IAAO,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA;;AAAM,UAAA,GAAA,CAAI,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;AAAjBM,QAAAA,CAAAA,GAAAA,GAAAN,IAAK,CAAA,CAAA,CAAL,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAM,GAAO,CAAA,KAAA;;AAAMN,UAAAA,IAAAA,CAAI,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAJjB,EAAK,GAAA,GAAA,CAAA,CAAA,MAAL,IAAO,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAA;;AAAQ,UAAA,GAAA,CAAI,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;AAAnBM,QAAAA,CAAAA,GAAAA,GAAAN,IAAK,CAAA,CAAA,CAAL,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAM,GAAO,CAAA,OAAA;;AAAQN,UAAAA,IAAAA,CAAI,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAD3BA,MAAAA,IAAAA,CAAO,CAAA,CAAA;;AAAA,MAAA,OAAA,CAAA,CAAA;;;AAIFA,MAAAA,IAAAA,CAAO,CAAA,CAAA;;AAAA,MAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBe,EAAA,IAAA,QAAA,GAAA,MAAA;;AAAO,IAAA,GAAA,CAAQ,EAAA,CAAA;GAAA,GAAA,EAAA,CAAA;;;;;;;AAEd,EAAA,IAAA,QAAA,GAAA,MAAA;;AAAO,IAAA,GAAA,CAAS,EAAA,CAAA;GAAA,GAAA,EAAA,CAAA;;;;;aAVvCK,KAAI,GAAA,SAAA;;;;;;;AAEL,QAAA,GAAA,CAAQ,EAAA,CAAG,GAAA,GAAA;;AACb,MAAA,GAAA,EAAA,CAAA;;;AACA,QAAA,GAAA,CAAS,EAAA,CAAG,GAAA,GAAA;;;;;;;AACN,IAAA,GAAA,CAAI,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;;;;;gBAIY,GAAC,CAAA,CAAA;;;;AADdA,MAAAA,IAAAA,CAAAA,KAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,UAAA,CAAA,CAAA;AACJA,MAAAA,IAAAA,CAAAA,KAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,QAAA,CAAA,CAAA;AACJA,MAAAA,IAAAA,CAAAA,KAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,WAAA,CAAA,CAAA;AAHNA,MAAAA,IAAAA,CAAAA,KAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,WAAA,CAAA,CAAA;;;;;AAAlB,MAAAJ,MAAAA,CAIM,MAAA,EAAA,KAAA,EAAA,MAAA,CAAA,CAAA;AAHJ,MAAAC,MAAAA,CAAqD,OAAA,KAAA,CAAA,CAAA;;;AACrD,MAAAA,MAAAA,CAAkC,OAAA,KAAA,CAAA,CAAA;;;AAClC,MAAAA,MAAAA,CAAuD,OAAA,KAAA,CAAA,CAAA;;;;;;;;;;;;;AARhDF,QAAAA,IAAAA,CAAQ,EAAA,CAAG,GAAA,GAAA,CAAA;;;;AAEbA,QAAAA,IAAAA,CAAS,EAAA,CAAG,GAAA,GAAA,CAAA;;;AAIa,MAAA,IAAA,KAAA,QAAA,MAAA,QAAA,GAAA,MAAA;;AAAOA,QAAAA,IAAAA,CAAQ,EAAA,CAAA;OAAA,GAAA,EAAA,CAAA;AAAA,QAAAU,QAAAA,CAAA,IAAA,QAAA,CAAA,CAAA;;AAEd,MAAA,KAAA,KAAA,QAAA,MAAA,QAAA,GAAA,MAAA;;AAAOV,QAAAA,IAAAA,CAAS,EAAA,CAAA;OAAA,GAAA,EAAA,CAAA;AAAA,QAAAU,QAAAA,CAAA,IAAA,QAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAdjCL,KAAI,GAAA,SAAA;;;;;;;;;gBACkB,eAAiB,CAAA,CAAA;AAAzCA,MAAAA,IAAAA,CAAAA,IAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,mBAAA,CAAA,CAAA;;;;;AAAlB,MAAAJ,MAAAA,CAA6D,MAAA,EAAA,IAAA,EAAA,MAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAyB5B,GAAa,CAAA,EAAA,KAAI,CAAC,IAAA,EAAA;;;;;;;;gBAAC,GAAC,CAAA,CAAA;AAAvCI,MAAAA,IAAAA,CAAAA,IAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,aAAA,CAAA,CAAA;;;AAAlB,MAAAJ,MAAAA,CAA2D,MAAA,EAAA,IAAA,EAAA,MAAA,CAAA,CAAA;;;;;;;OAA1BD,IAAa,CAAA,EAAA,KAAI,CAAC,IAAA,EAAA,CAAA;AAAA,QAAAU,QAAAA,CAAA,IAAA,QAAA,CAAA,CAAA;;;;;;;;;;;AAc9C,IAAA,GAAA,CAAC,EAAA,CAAA,GAAA,EAAA;;;;;;;gBAAC,WACL,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAPgB,OAAA,GAAA,CAAC,EAAA,CAAA;MAAK,GAAa,CAAA,EAAA,IAAG,WAAc,GAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAApC,SAAA,GAAA,CAAC,EAAA,CAAA;QAAK,GAAa,CAAA,EAAA,IAAG,WAAc,GAAA,EAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAxD/C,QAAA,GAAA,CAAS,CAAA,CAAA;;;;;;;;;;;;;AAKP,QAAA,GAAA,CAAO,CAAA,CAAG,GAAA,EAAA;;AAAK,UAAA,GAAA,CAAO,CAAA,CAAA;;AAAG,YAAA,GAAA,CAAC,EAAA,CAAC,CAAA,KAAA;;;AAAQ,YAAA,GAAA,CAAC,EAAA,CAAC,CAAA,IAAA;;;;;;;;;;;AADpC,IAAA,GAAA,CAAM,EAAA,CAAA;AAAA,GAAA,CAAA;;;;;;AAiBbV,MAAAA,IAAAA,CAAQ,EAAA,CAAI,IAAA,IAAA;AAAQA,MAAAA,IAAAA,CAAS,EAAA,CAAI,IAAA,IAAA;AAAQA,MAAAA,IAAAA,CAAS,EAAA,CAAK,KAAA,CAAA;;AAAC,MAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;AAuBlD,QAAA,GAAA,CAAC,EAAA,CAAC,CAAA,KAAA;;;;AACL,QAAA,GAAA,CAAW,CAAA,CAAA;;;;;;;AASV,EAAA,IAAA,UAAA,GAAA,MAAA,CAAA;;;AAAaA,IAAAA,IAAAA,CAAC,EAAA,CAAA;;AAAnB,EAAA,KAAA,IAAA,CAAA,GAAA,CAAA,EAAA,CAAA,GAAA,UAAA,CAAA,MAAA,EAAI,KAAA,CAAA,EAAA;;;;;;;;;;;;;;;;;;;6CAxDGK,KAAI,GAAA,GAAA;AAAG,MAAA,GAAA,CAAK,CAAA,CAAA,CAAA,CAAA;AAuDVA,MAAAA,IAAAA,CAAAA,IAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,cAAA,CAAA,CAAA;;;;AAvDnB,MAAAJ,MAAAA,CAoDK,MAAA,EAAA,IAAA,EAAA,MAAA,CAAA,CAAA;;;;;;;AAEL,MAAAA,MAAAA,CAcK,MAAA,EAAA,IAAA,EAAA,MAAA,CAAA,CAAA;AAbH,MAAAC,MAAAA,CAYK,MAAA,IAAA,CAAA,CAAA;;;;;;;;;;;;;;AAjEIF,QAAAA,IAAAA,CAAS,CAAA,CAAA,CAAA;;;;;;;;;;;;AAKPA,QAAAA,IAAAA,CAAO,CAAA,CAAG,GAAA,EAAA;;AAAKA,UAAAA,IAAAA,CAAO,CAAA,CAAA;;AAAGA,YAAAA,IAAAA,CAAC,EAAA,CAAC,CAAA,KAAA;;;AAAQA,YAAAA,IAAAA,CAAC,EAAA,CAAC,CAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCrCA,QAAAA,IAAAA,CAAC,EAAA,CAAC,CAAA,KAAA,CAAA;;;;AACLA,QAAAA,IAAAA,CAAW,CAAA,CAAA,CAAA;;;;;;;oDA/CRK,KAAI,GAAA,GAAA;AAAGL,MAAAA,IAAAA,CAAK,CAAA,CAAA,CAAA,EAAA;;;;;AAwDd,QAAA,UAAA,GAAA,MAAA,CAAA;;;;;;;;;;;;AAAL,MAAA,KAAA,IAAA,CAAA,GAAA,CAAA,EAAA,CAAA,GAAA,UAAA,CAAA,MAAA,EAAI,KAAA,CAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAxIF,IAAA,MAAA,GAAA,CAAU,CAAK,EAAA,GAAA,EAAK,IAAM,EAAA,CAAA,EAAK,MAAM,GAAG,CAAA,CAAA;IAExCS,KAAA,GAAA;EACJ,EAAA,EAAA;IACE,IAAM,EAAA,MAAA;IACN,KAAO,EAAA,OAAA;IACP,KAAO,EAAA,OAAA;;AAET,EAAA,OAAA,EAAA,EACE,IAAM,EAAA,cAAA,EACN,KAAO,EAAA,cAAA,EACP,OAAO,cAAA,EAAA;;AAIF,SAAA,MAAA,CAAO,EAAA,EAAA;QACR,CAAI,GAAA,IAAA,CAAK,KAAM,CAAA,EAAA,GAAK,GAAI,CAAA,CAAA;QACxB,CAAI,GAAA,IAAA,CAAK,KAAM,CAAA,CAAA,GAAI,EAAE,CAAA,CAAA;AACpB,EAAA,OAAA,MAAA,CAAO,CAAC,CAAA,CAAE,QAAS,CAAA,CAAA,EAAG,GAAG,CAAA,GAAI,GAAM,GAAA,MAAA,CAAO,CAAI,GAAA,EAAE,CAAE,CAAA,QAAA,CAAS,GAAG,GAAG,CAAA,CAAA;;IAepEJ,KAAO,GAAA,0BAAA,CAAA;;;;;;;;;;;;;;;;;;;;AALF,EAAA,IAAA,EAAA,MAAA,GAA6C,MAAA,GAAA,OAAA,CAAA;AAC7C,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,QAAA,GAAqB,MAAA,GAAA,OAAA,CAAA;AACrB,EAAA,IAAA,EAAA,KAAA,GAAA,QAA+D,GAAA,OAAA,CAAA;AAMtE,EAAA,IAAA,IAAA,CAAA;AAcA,EAAA,IAAA,WAAA,CAAA;WAEK,MAAA,GAAA;AACF,IAAA,IAAA,CAAA,MAAA;AAAA,MAAA,OAAA;AACG,IAAA,QAAA,MAAA,CAAO,OAAO,KAAA;AACf,MAAA,KAAA,mBAAA,CAAA;AACA,MAAA,KAAA,OAAA,CAAA;AACA,MAAA,KAAA,OAAA,EAAA;AACH,QAAA,MAAA,CAAO,IAAA,EAAA,CAAA;;;AAGJ,MAAA,KAAA,SAAA,EAAA;AACH,QAAA,MAAA,CAAO,KAAA,EAAA,CAAA;;;;;WAMJ,IAAA,CAAA,EAAO,MAAQ,EAAA,OAAA,EAAA,EAAA;AACjB,IAAA,IAAA,CAAA,MAAA;AAAA,MAAA,OAAA;AACL,IAAO,MAAA,CAAA,IAAA,CAAK,UAAU,GAAI,CAAA,CAAA;;AAGnB,EAAA,SAAA,eAAA,CAAgB,KAAA,EAAA;AAClB,IAAA,IAAA,CAAA,MAAA;AAAA,MAAA,OAAA;AACL,IAAA,MAAA,CAAO,gBAAgB,KAAK,CAAA,CAAA;;AAkER,EAAA,MAAA,aAAA,GAAA,CAAA,CAAA,KAAA,eAAA,CAAgB,CAAC,CAAA,CAAA;;;AAPI,MAAW,WAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;AApGtD,MAAA,YAAA,CAAA,EAAG,EAAA,CAAA,GAAII,KAAK,CAAA,QAAQ,CAAA,CAAA,CAAA;;;;AAKpB,MAAA,YAAA,CAAA,EAAA,EAAG,OAAU,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,OAAA,CAAA,CAAA;;;;AACrB,MAAA,YAAA,CAAA,CAAA,EAAG,QAAA,GAAA,CAAY,OAAA,CAAA,CAAA;;;;AAHf,MAAA,YAAA,CAAA,CAAG,EAAA,IAAA,GAAO,QAAW,GAAA,SAAA,GAAY,QAAA,CAAA,CAAA;;;;AAIjC,MAAA,oBAAA,CAAA,YAAA,CAAA,EAAA,EAAG,QAAW,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,QAAA,CAAA,CAAA,CAAA;;;;AACtB,MAAA,mBAAA,CAAA,YAAA,CAAA,EAAA,EAAG,OAAU,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,WAAA,CAAA,CAAA,CAAA;;;;AACrB,MAAA,wBAAA,CAAA,YAAA,CAAA,CAAA,EAAG,YAAe,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,YAAA,CAAA,CAAA,CAAA;;;;AAE1B,MAAA,iBAAA,CAAA,YAAA,CAAA,CAAA,EAAG,KAAQ,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,KAAA,CAAA,CAAA,CAAA;;;;AACnB,MAAA,YAAA,CAAA,CAAG,EAAA,OAAA,GAAU,MAAW,KAAA,mBAAA,IAAuB,WAAW,WAAA,CAAA,CAAA;;;;AAC1D,MAAA,YAAA,CAAA,CAAA,EAAG,OAAU,GAAA,MAAA,KAAW,SAAA,CAAA,CAAA;;;;AACxB,MAAA,YAAA,CAAA,CAAG,EAAA,SAAA,GAAA,CAAa,OAAA,GAAU,YAAY,EAAI,EAAA,OAAA,GAAU,OAAU,GAAA,MAAM,EAAE,MAAO,CAAA,OAAO,CAAE,CAAA,IAAA,CAAK,GAAG,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACCvF,IAAA,CAAA,CAAA,EAAA,GAAA,GAAA,CAAM,CAAA,CAAC,CAAA,cAAA,KAAP,mBAAuB,MAAW,MAAA,KAAA,IAAKD,kBAAA,GAAA,CAAA;;;;;;;;;;AAFjCH,MAAAA,IAAAA,CAAAA,IAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,OAAA,CAAA,CAAA;AACJA,MAAAA,IAAAA,CAAAA,IAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,SAAA,CAAA,CAAA;AAFNA,MAAAA,IAAAA,CAAAA,IAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,OAAA,CAAA,CAAA;;AAAwB,MAAA,GAAA,CAAM,CAAA,CAAA,CAAA,CAAA;;;AAA/C,MAAAJ,MAAAA,CAOK,MAAA,EAAA,IAAA,EAAA,MAAA,CAAA,CAAA;AANH,MAAAC,MAAAA,CAAiF,MAAA,IAAA,CAAA,CAAA;;;AACjF,MAAAA,MAAAA,CAIK,MAAA,IAAA,CAAA,CAAA;;;;;;;;;AALiE,UAAA,GAAA,CAAQ,CAAA,CAAA;UAAA,EAAA,OAAA,EAAA,IAAA,EAAA,OAAA,EAAA,IAAA,EAAA;AAAA,SAAA,CAAA;;;;;;;;AAEvEI,QAAAA,CAAAA,CAAAA,GAAAA,GAAAN,KAAM,CAAA,CAAA,CAAC,cAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAM,IAAuB,MAAW,MAAA,KAAA;AAAK,QAAA;;;;;;;;;;;;;;;;;;;;;;;AAHPN,QAAAA,IAAAA,CAAM,CAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;IApCvCK,KAAO,GAAA,WAAA,CAAA;;AANF,EAAA,IAAA,EAAA,MAAA,GAA6C,MAAA,GAAA,OAAA,CAAA;AAC7C,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,QAAA,GAAqB,MAAA,GAAA,OAAA,CAAA;AACrB,EAAA,IAAA,EAAA,YAAA,GAAA,QAAuE,GAAA,OAAA,CAAA;QACvE,MAAA,GAAA,IAAA,GAAA,OAAA,CAAA;AAIP,EAAA,IAAA,SAAA,CAAA;MACA,OAAU,GAAA,KAAA,CAAA;AAgBd,EAAA,OAAA,CAAA,MAAA;QACM,YAAA,EAAA;AACF,MAAA,YAAA,CAAa,SAAS,CAAA,CAAA;;AAEhB,QAAA,IAAA,YAAA;AAAc,UAAA,YAAA,CAAa,IAAI,CAAA,CAAA;;;;WAKhC,QAAA,GAAA;AACP,IAAA,cAAA,EAAA,CAAA;AAEI,IAAA,IAAA,CAAA,GAAI,QAAS,CAAA,aAAA,CAAA;AACjB,IAAK,CAAA,IAAA,CAAA,CAAE,IAAQ,IAAA,CAAA,CAAE,IAAA,EAAA,CAAA;;;;AAKiB,MAAS,SAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;AAhC7C,MAAA,IAAA;AACM,UAAA,IAAA,MAAA,IAAU,SAAA,EAAA;AACZ,YAAA,MAAA,CAAO,cAAc,SAAS,CAAA,CAAA;AAC9B,YAAA,YAAA,CAAA,CAAA,EAAA,OAAA,GAAU,IAAA,CAAA,CAAA;;iBAEL,GAAA,EAAA;AACP,UAAA,OAAA,CAAQ,MAAM,uDAAuD,CAAA,CAAA;AACrE,UAAA,OAAA,CAAQ,MAAM,GAAG,CAAA,CAAA;;;;;AAGnB,MAAO,IAAA,MAAA,IAAU,SAAS,OAAA,EAAA;AACxB,UAAO,MAAA,CAAA,OAAA,CAAQ,sBAAsB,KAAK,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QC8GE,GAAM,CAAA,CAAA,CAAC,CAAA,OAAA,IAAO,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAAdL,IAAM,CAAA,CAAA,CAAC,CAAA,OAAA,IAAO,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AADrD,IAAA,CAAA,CAAA,EAAA,GAAA,GAAA,CAAM,CAAA,CAAC,CAAA,OAAA,KAAP,mBAAgB,MAAW,MAAA,KAAA,IAAK6B,mBAAA,GAAA,CAAA;;;;AAKhC,IAAA,CAAA,CAAA,EAAA,GAAA,GAAA,CAAM,CAAA,CAAA,CAAC,SAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAkB,YAAW,KAAK,IAAA;IAAK,GAAgB,CAAA,CAAA,CAAAC,IAAAA,kBAAAA,CAAA,GAAA,CAAA;;;;AAGvD,IAAA,CAAA,CAAA,EAAA,GAAA,GAAA,CAAM,CAAA,CAAA,CAAC,YAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAqB,YAAW,KAAK,IAAA;IAAK,GAAmB,CAAA,CAAA,CAAAC,IAAAA,mBAAAA,CAAA,GAAA,CAAA;;;;AAK7D,IAAA,CAAA,CAAA,EAAA,GAAA,GAAA,CAAM,CAAA,CAAC,CAAA,YAAA,KAAP,mBAAqB,MAAW,MAAA,KAAA,IAAKvB,kBAAA,GAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;AAlB/BH,MAAAA,IAAAA,CAAAA,IAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,OAAA,CAAA,CAAA;6CAEPA,KAAI,GAAA,GAAA;AAAGC,OAAAA,CAAAA,CAAAA,GAAAA,GAAA,IAAM,CAAA,CAAA,CAAC,YAAP,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAgB,cAAa,MAAM,CAAA,CAAA,CAAA;;;;;AACpC,QAAA,GAAA,CAAc,CAAA,CAAA;AAAA,OAAA,CAAA;AAMjBD,MAAAA,IAAAA,CAAAA,IAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,cAAA,CAAA,CAAA;;;;;AAA6B,QAAA,GAAA,CAAc,CAAA,CAAA;AAAI,QAAA,GAAA,CAAgB,CAAA,CAAA;AAAA,OAAA,CAAA;AAQnEA,MAAAA,IAAAA,CAAAA,IAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,eAAA,CAAA,CAAA;;;;;AAA8B,QAAA,GAAA,CAAmB,CAAA,CAAA;AAAA,OAAA,CAAA;AAlBvDA,MAAAA,IAAAA,CAAAA,IAAAA,EAAAA,OAAAA,EAAAA,KAAAA,GAAI,OAAA,CAAA,CAAA;;AAAwB,MAAA,GAAA,CAAG,CAAA,CAAA,CAAA,CAAA;;;AAA5C,MAAAJ,MAAAA,CAuBK,MAAA,EAAA,IAAA,EAAA,MAAA,CAAA,CAAA;AAtBH,MAAAC,MAAAA,CAAiF,MAAA,IAAA,CAAA,CAAA;;;AACjF,MAAAA,MAAAA,CAOK,MAAA,IAAA,CAAA,CAAA;;;;AACL,MAAAA,MAAAA,CAOK,MAAA,IAAA,CAAA,CAAA;;;;;;;AACL,MAAAA,MAAAA,CAIK,MAAA,IAAA,CAAA,CAAA;;;;;;;;;AArBiE,UAAA,GAAA,CAAQ,EAAA,CAAA;UAAA,EAAA,OAAA,EAAA,IAAA,EAAA,OAAA,EAAA,IAAA,EAAA;AAAA,SAAA,CAAA;;;;;;;;AAKvEI,QAAAA,CAAAA,CAAAA,GAAAA,GAAAN,KAAM,CAAA,CAAA,CAAC,OAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAM,IAAgB,MAAW,MAAA,KAAA;AAAK,QAAA;;;;;;;;;;;;;;;;;;;;;oDAH7BD,KAAI,GAAA,GAAA;AAAGsB,OAAAA,CAAAA,CAAAA,GAAAA,GAAA3B,KAAM,CAAA,CAAA,CAAC,YAAP,IAAA2B,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAgB,cAAa,MAAM,CAAA,CAAA,EAAA;;;;;;;;;AACpC3B,UAAAA,IAAAA,CAAc,CAAA,CAAA;AAAA,SAAA,CAAA;;;;AAOvBgC,QAAAA,CAAAA,CAAAA,GAAAA,GAAAhC,KAAM,CAAA,CAAA,CAAC,cAAP,IAAAgC,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAkB,YAAW,KAAK,IAAA;AAAKhC,QAAAA,IAAAA,CAAgB,CAAA,CAAA;AAAA,QAAA;;;;;;;;;;;;;;;;;;;;;;AAGvDiC,QAAAA,CAAAA,CAAAA,GAAAA,GAAAjC,KAAM,CAAA,CAAA,CAAC,iBAAP,IAAAiC,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAqB,YAAW,KAAK,IAAA;AAAKjC,QAAAA,IAAAA,CAAmB,CAAA,CAAA;AAAA,QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AAJtBA,UAAAA,IAAAA,CAAc,CAAA,CAAA;AAAIA,UAAAA,IAAAA,CAAgB,CAAA,CAAA;AAAA,SAAA,CAAA;;;;AASzE,QAAA,CAAA,CAAA,EAAA,GAAAA,IAAM,CAAA,CAAA,CAAC,CAAA,YAAA,KAAP,mBAAqB,MAAW,MAAA,KAAA;AAAK,QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AADGA,UAAAA,IAAAA,CAAmB,CAAA,CAAA;AAAA,SAAA,CAAA;;;;;AAlB3BA,QAAAA,IAAAA,CAAG,CAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAhHpCK,KAAO,GAAA,WAAA,CAAA;;;;;;;;;;;;;;;AAVF,EAAA,IAAA,EAAA,GAAA,GAAuC,MAAA,GAAA,OAAA,CAAA;AACvC,EAAA,IAAA,EAAA,KAAA,GAAe,SAAA,GAAA,OAAA,CAAA;AACf,EAAA,IAAA,EAAA,QAAA,GAAqB,MAAA,GAAA,OAAA,CAAA;AACrB,EAAA,IAAA,EAAA,YAAA,GAAA,QAAuE,GAAA,OAAA,CAAA;QACvE,MAAA,GAAA,IAAA,GAAA,OAAA,CAAA;AACA,EAAA,IAAA,EAAA,kBAAA,GAAA,QAA0C,GAAA,OAAA,CAAA;AAC1C,EAAA,IAAA,EAAA,oBAAA,GAAA,QAA4C,GAAA,OAAA,CAAA;AAC5C,EAAA,IAAA,EAAA,uBAAA,GAAA,QAA+C,GAAA,OAAA,CAAA;AAC/C,EAAA,IAAA,EAAA,uBAAA,GAAA,QAA+C,GAAA,OAAA,CAAA;QAGpD,eAAA,GAAA,CAAmB,YAAc,EAAA,OAAA,EAAS,OAAO,CAAA,CAAA;AAEnD,EAAA,IAAA,SAAA,CAAA;MACA,MAAgD,GAAA,QAAA,CAAA;MAChD,OAAU,GAAA,KAAA,CAAA;MAsDV,cAAiB,GAAA,KAAA,CAAA;MASjB,gBAAmB,GAAA,KAAA,CAAA;MASnB,mBAAsB,GAAA,KAAA,CAAA;MAStB,mBAAsB,GAAA,KAAA,CAAA;AAS1B,EAAA6B,QAAA,MAAA;QACM,YAAA,EAAA;AACF,MAAA,YAAA,CAAa,SAAS,CAAA,CAAA;;AAEhB,QAAA,IAAA,YAAA;AAAc,UAAA,YAAA,CAAa,IAAI,CAAA,CAAA;;;;WAKhC,QAAA,GAAA;AACP,IAAA,cAAA,EAAA,CAAA;AAEI,IAAA,IAAA,CAAA,GAAI,QAAS,CAAA,aAAA,CAAA;AACjB,IAAK,CAAA,IAAA,CAAA,CAAE,IAAQ,IAAA,CAAA,CAAE,IAAA,EAAA,CAAA;;;;AAKiB,MAAS,SAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AA1G7C,MAAA,oBAAA,CAAA,YAAA,CAAA,EAAA,EAAG3B,SAAW,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,QAAA,CAAA,CAAA,CAAA;;;;AACnB,MAAA,oBAAA,CAAA,YAAA,CAAA,EAAA,EAAG,QAAW,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,QAAA,CAAA,CAAA,CAAA;;;;AACnB,MAAA,sBAAA,CAAA,YAAA,CAAA,EAAA,EAAG,UAAa,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,UAAA,CAAA,CAAA,CAAA;;;;AACrB,MAAA,uBAAA,CAAA,YAAA,CAAA,CAAA,EAAG,WAAc,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,WAAA,CAAA,CAAA,CAAA;;;;AAEtB,MAAA,IAAA,CAAQ,SAAA,EAAA;AACN,UAAA,YAAA,CAAA,EAAA,EAAA,MAAA,GAAS,QAAA,CAAA,CAAA;AACA,SAAA,MAAA,IAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,mBAAA,EAAA;cACV,YAAgB,IAAA,YAAA,CAAa,OAAO,CAAA,EAAA;AACjC,YAAA,IAAA,SAAA,KAAc,WAAA,EAAA;AACb,cAAA,IAAA,eAAA,CAAgB,KAAK,CAAS,IAAA,KAAA,CAAA,WAAA,IAAe,IAAI,QAAS,CAAA,IAAI,CAAA,CAAA,EAAA;AAChE,gBAAA,YAAA,CAAA,EAAA,EAAA,MAAA,GAAS,cAAA,CAAA,CAAA;;AAET,gBAAA,YAAA,CAAA,EAAA,EAAA,MAAA,GAAS,QAAA,CAAA,CAAA;;;AAGX,cAAA,YAAA,CAAA,EAAA,EAAA,MAAA,GAAS,SAAA,CAAA,CAAA;;;AAGX,YAAA,YAAA,CAAA,EAAA,EAAA,MAAA,GAAS,SAAA,CAAA,CAAA;;AAEF,SAAA,MAAA,IAAA,SAAA,KAAc,WAAA,EAAA;cACnB,WAAe,IAAA,eAAA,CAAgB,KAAK,CAAS,IAAA,KAAA,CAAA,WAAA,IAAe,IAAI,QAAS,CAAA,IAAI,CAAA,CAAA,EAAA;AAC/E,YAAA,YAAA,CAAA,EAAA,EAAA,MAAA,GAAS,cAAA,CAAA,CAAA;;AAET,YAAA,YAAA,CAAA,EAAA,EAAA,MAAA,GAAS,QAAA,CAAA,CAAA;;;AAGX,UAAA,YAAA,CAAA,EAAA,EAAA,MAAA,GAAS,SAAA,CAAA,CAAA;;;;;AAGX,MAAA,YAAA,CAAA,EAAA,EAAG,oBAAA,CACA,MAAA,CAAO,WAAA,CACP,MAAA,CAAO,OAAQ,CAAA,KAAA,IAAA,CACf,MAAA,CAAO,QAAQ,IAChB,IAAA,MAAA,CAAO,QAAQ,KAAM,CAAA,MAAA,GAAS,KAC9B,MAAO,CAAA,OAAA,CAAQ,IAAK,CAAA,MAAA,KAAW,KAAA,CAAA,CAAA;;;;AAEjC,MAAA,IAAA;AACM,UAAA,IAAA,GAAA,IAAO,SAAA,EAAA;AACT,YAAA,GAAA,CAAI,cAAc,SAAS,CAAA,CAAA;AAC3B,YAAA,YAAA,CAAA,EAAA,EAAA,OAAA,GAAU,IAAA,CAAA,CAAA;;iBAEL,GAAA,EAAA;AACP,UAAA,OAAA,CAAQ,MAAM,uDAAuD,CAAA,CAAA;AACrE,UAAA,OAAA,CAAQ,MAAM,GAAG,CAAA,CAAA;;;;;AAGnB,MAAO,IAAA,GAAA,IAAO,SAAS,OAAA,EAAA;AACrB,UAAI,GAAA,CAAA,OAAA,CAAQ,sBAAsB,KAAK,CAAA,CAAA;;;;;AAIzC,MAAA,IAAO,uBAAuB,KAAA,EAAA;AAC5B,UAAA,YAAA,CAAA,CAAA,EAAA,cAAA,GAAiB,IAAA,CAAA,CAAA;AACR,SAAA,MAAA,IAAA,kBAAA,KAAuB,IAAA,EAAA;AAChC,UAAA,YAAA,CAAA,CAAA,EAAA,cAAA,GAAiB,KAAA,CAAA,CAAA;;AAEjB,UAAA,YAAA,CAAA,CAAA,EAAA,cAAA,GAAA,CAAkB,iBAAA,IAAA,EAAuB,MAAW,KAAA,SAAA,IAAa,WAAW,cAAA,CAAA,CAAA,CAAA;;;;;AAI9E,MAAA,IAAO,yBAAyB,KAAA,EAAA;AAC9B,UAAA,YAAA,CAAA,CAAA,EAAA,gBAAA,GAAmB,IAAA,CAAA,CAAA;AACV,SAAA,MAAA,IAAA,oBAAA,KAAyB,IAAA,EAAA;AAClC,UAAA,YAAA,CAAA,CAAA,EAAA,gBAAA,GAAmB,KAAA,CAAA,CAAA;;AAEnB,UAAA,YAAA,CAAA,CAAA,EAAA,gBAAA,GAAmB,WAAW,SAAA,CAAA,CAAA;;;;;AAIhC,MAAA,IAAO,4BAA4B,KAAA,EAAA;AACjC,UAAA,YAAA,CAAA,CAAA,EAAA,mBAAA,GAAsB,IAAA,CAAA,CAAA;AACb,SAAA,MAAA,IAAA,uBAAA,KAA4B,IAAA,EAAA;AACrC,UAAA,YAAA,CAAA,CAAA,EAAA,mBAAA,GAAsB,KAAA,CAAA,CAAA;;AAEtB,UAAA,YAAA,CAAA,CAAA,EAAA,mBAAA,GAAsB,WAAW,SAAA,CAAA,CAAA;;;;;AAInC,MAAA,IAAO,4BAA4B,KAAA,EAAA;AACjC,UAAA,YAAA,CAAA,CAAA,EAAA,mBAAA,GAAsB,IAAA,CAAA,CAAA;AACb,SAAA,MAAA,IAAA,uBAAA,KAA4B,IAAA,EAAA;AACrC,UAAA,YAAA,CAAA,CAAA,EAAA,mBAAA,GAAsB,KAAA,CAAA,CAAA;;AAEtB,UAAA,YAAA,CAAA,CAAA,EAAA,mBAAA,GAAsB,WAAW,SAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvE9B,SAAS,QAAA,CAAS,KAA2B,GAAmB,EAAA;AACrE,EAAI,IAAA,SAAA,CAAA;AACJ,EAAIY,IAAAA,OAAAA,CAAAA;AAEJ,EAAA,IAAA,CAAI,GAAK,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,OAAA,KAAW,GAAI,CAAA,OAAA,CAAQ,IAAM,EAAA;AACpC,IAAM,MAAA,eAAA,GAAmB,GAAI,CAAA,OAAA,CAAQ,IAAa,CAAA,eAAA,CAAA;AAClD,IAAA,IAAI,mDAAiB,MAAQ,EAAA;AAC3B,MAAAA,UAAS,eAAgB,CAAA,MAAA,CAAA;AAAA,KAC3B;AAAA,GACF;AACA,EAAA,MAAM,EAAS,GAAA;AAAA,IACb,KAAA,CAAMgB,MAAc,KAAwB,EAAA;AAtDhD,MAAA,IAAA,EAAA,CAAA;AAuDM,MAAA,IAAI,SAAW,EAAA;AACb,QAAA,SAAA,CAAU,QAAS,EAAA,CAAA;AAAA,OACrB;AACA,MAAIhB,IAAAA,OAAAA,KAAU,+BAAO,MAAU,CAAA,IAAA,EAAA,CAAC,WAAM,MAAO,CAAA,OAAA,KAAb,mBAAsB,MAAQ,CAAA,EAAA;AAC5D,QAAI,IAAA,EAAC,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,MAAA,CAAO,OAAS,CAAA,EAAA;AAC1B,UAAM,KAAA,CAAA,MAAA,CAAO,UAAU,EAAC,CAAA;AAAA,SAC1B;AACA,QAAM,KAAA,CAAA,MAAA,CAAO,QAAQ,MAASA,GAAAA,OAAAA,CAAAA;AAAA,OAChC;AACA,MAAY,SAAA,GAAA,IAAI,kBAAU,EAAE,MAAA,EAAQgB,MAAK,KAAO,EAAA,cAAA,CAAA,EAAE,GAAQ,EAAA,EAAA,KAAA,CAAA,EAAS,CAAA,CAAA;AACnE,MAAO,OAAA,EAAA,CAAA;AAAA,KACT;AAAA,IACA,OAAO,KAAwB,EAAA;AAnEnC,MAAA,IAAA,EAAA,CAAA;AAoEM,MAAA,IAAI,aAAa,KAAO,EAAA;AACtB,QAAIhB,IAAAA,OAAAA,KAAU,+BAAO,MAAU,CAAA,IAAA,EAAA,CAAC,WAAM,MAAO,CAAA,OAAA,KAAb,mBAAsB,MAAQ,CAAA,EAAA;AAC5D,UAAI,IAAA,EAAC,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,MAAA,CAAO,OAAS,CAAA,EAAA;AAC1B,YAAM,KAAA,CAAA,MAAA,CAAO,UAAU,EAAC,CAAA;AAAA,WAC1B;AACA,UAAM,KAAA,CAAA,MAAA,CAAO,QAAQ,MAASA,GAAAA,OAAAA,CAAAA;AAAA,SAChC;AACA,QAAA,SAAA,CAAU,KAAK,KAAK,CAAA,CAAA;AAAA,OACtB;AAAA,KACF;AAAA,IACA,OAAU,GAAA;AACR,MAAA,IAAI,SAAW,EAAA;AACb,QAAA,SAAA,CAAU,QAAS,EAAA,CAAA;AAAA,OACrB;AACA,MAAY,SAAA,GAAA,KAAA,CAAA,CAAA;AAAA,KACd;AAAA,IACA,gBAAmB,GAAA;AACjB,MAAA,IAAI,SAAW,EAAA;AACb,QAAA,SAAA,CAAU,IAAK,CAAA,EAAE,kBAAoB,EAAA,IAAA,EAAM,CAAA,CAAA;AAAA,OAC7C;AAAA,KACF;AAAA,IACA,gBAAmB,GAAA;AACjB,MAAA,IAAI,SAAW,EAAA;AACb,QAAA,SAAA,CAAU,IAAK,CAAA,EAAE,kBAAoB,EAAA,KAAA,EAAO,CAAA,CAAA;AAAA,OAC9C;AAAA,KACF;AAAA,IACA,cAAiB,GAAA;AACf,MAAA,IAAI,SAAW,EAAA;AACb,QAAA,SAAA,CAAU,IAAK,CAAA,EAAE,kBAAoB,EAAA,KAAA,CAAA,EAAW,CAAA,CAAA;AAAA,OAClD;AAAA,KACF;AAAA,IACA,oBAAuB,GAAA;AACrB,MAAA,IAAI,SAAW,EAAA;AACb,QAAA,SAAA,CAAU,IAAK,CAAA,EAAE,uBAAyB,EAAA,IAAA,EAAM,CAAA,CAAA;AAAA,OAClD;AAAA,KACF;AAAA,IACA,oBAAuB,GAAA;AACrB,MAAA,IAAI,SAAW,EAAA;AACb,QAAA,SAAA,CAAU,IAAK,CAAA,EAAE,uBAAyB,EAAA,KAAA,EAAO,CAAA,CAAA;AAAA,OACnD;AAAA,KACF;AAAA,IACA,kBAAqB,GAAA;AACnB,MAAA,IAAI,SAAW,EAAA;AACb,QAAA,SAAA,CAAU,IAAK,CAAA,EAAE,uBAAyB,EAAA,KAAA,CAAA,EAAW,CAAA,CAAA;AAAA,OACvD;AAAA,KACF;AAAA,IACA,iBAAoB,GAAA;AAClB,MAAA,IAAI,SAAW,EAAA;AACb,QAAA,SAAA,CAAU,IAAK,CAAA,EAAE,oBAAsB,EAAA,IAAA,EAAM,CAAA,CAAA;AAAA,OAC/C;AAAA,KACF;AAAA,IACA,iBAAoB,GAAA;AAClB,MAAA,IAAI,SAAW,EAAA;AACb,QAAA,SAAA,CAAU,IAAK,CAAA,EAAE,oBAAsB,EAAA,KAAA,EAAO,CAAA,CAAA;AAAA,OAChD;AAAA,KACF;AAAA,IACA,eAAkB,GAAA;AAChB,MAAA,IAAI,SAAW,EAAA;AACb,QAAA,SAAA,CAAU,IAAK,CAAA,EAAE,oBAAsB,EAAA,KAAA,CAAA,EAAW,CAAA,CAAA;AAAA,OACpD;AAAA,KACF;AAAA,IACA,oBAAuB,GAAA;AACrB,MAAA,IAAI,SAAW,EAAA;AACb,QAAA,SAAA,CAAU,IAAK,CAAA,EAAE,uBAAyB,EAAA,IAAA,EAAM,CAAA,CAAA;AAAA,OAClD;AAAA,KACF;AAAA,IACA,oBAAuB,GAAA;AACrB,MAAA,IAAI,SAAW,EAAA;AACb,QAAA,SAAA,CAAU,IAAK,CAAA,EAAE,uBAAyB,EAAA,KAAA,EAAO,CAAA,CAAA;AAAA,OACnD;AAAA,KACF;AAAA,IACA,kBAAqB,GAAA;AACnB,MAAA,IAAI,SAAW,EAAA;AACb,QAAA,SAAA,CAAU,IAAK,CAAA,EAAE,uBAAyB,EAAA,KAAA,CAAA,EAAW,CAAA,CAAA;AAAA,OACvD;AAAA,KACF;AAAA,GACF,CAAA;AAEA,EAAA,IAAI,GAAK,EAAA;AACP,IAAA,EAAA,CAAG,KAAM,CAAA,GAAA,EAAK,EAAE,GAAA,EAAK,CAAA,CAAA;AAAA,GACvB;AAEA,EAAO,OAAA,EAAA,CAAA;AACT,CAAA;AAgBO,SAAS,cAAA,CAAe,QAAiC,GAAyB,EAAA;AACvF,EAAI,IAAA,SAAA,CAAA;AAEJ,EAAA,MAAM,EAAe,GAAA;AAAA,IACnB,KAAA,CAAMgB,MAAc,KAA8B,EAAA;AAChD,MAAA,IAAI,SAAW,EAAA;AACb,QAAA,SAAA,CAAU,QAAS,EAAA,CAAA;AAAA,OACrB;AACA,MAAY,SAAA,GAAA,IAAI,wBAAgB,EAAE,MAAA,EAAQA,MAAK,KAAO,EAAA,cAAA,CAAA,EAAE,MAAW,EAAA,EAAA,KAAA,CAAA,EAAS,CAAA,CAAA;AAC5E,MAAO,OAAA,EAAA,CAAA;AAAA,KACT;AAAA,IACA,OAAO,KAA8B,EAAA;AACnC,MAAA,IAAI,aAAa,KAAO,EAAA;AACtB,QAAA,SAAA,CAAU,KAAK,KAAK,CAAA,CAAA;AAAA,OACtB;AAAA,KACF;AAAA,IACA,OAAU,GAAA;AACR,MAAA,IAAI,SAAW,EAAA;AACb,QAAA,SAAA,CAAU,QAAS,EAAA,CAAA;AAAA,OACrB;AACA,MAAY,SAAA,GAAA,KAAA,CAAA,CAAA;AAAA,KACd;AAAA,GACF,CAAA;AAEA,EAAA,IAAI,GAAK,EAAA;AACP,IAAA,EAAA,CAAG,KAAM,CAAA,GAAA,EAAK,EAAE,MAAA,EAAQ,CAAA,CAAA;AAAA,GAC1B;AAEA,EAAO,OAAA,EAAA,CAAA;AACT;;;;"}