{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/controls/vc-overview-map/index.ts"],"sourcesContent":["import type { ExtractPropTypes, VNode, WatchStopHandle, CSSProperties, PropType } from 'vue'\nimport { useCommon, useLocale } from '@vue-cesium/composables'\nimport usePosition from '@vue-cesium/composables/private/use-position'\nimport { VcBtn, VcTooltip } from '@vue-cesium/components/ui'\nimport { $ } from '@vue-cesium/utils/private/vm'\nimport type { VcBtnTooltipProps, VcComponentInternalInstance, VcReadyObject } from '@vue-cesium/utils/types'\nimport { computed, createCommentVNode, defineComponent, getCurrentInstance, h, onUnmounted, reactive, ref } from 'vue'\nimport VcViewer, { VcViewerProps } from '@vue-cesium/components/viewer'\nimport { hSlot } from '@vue-cesium/utils/private/render'\nimport { commonEmits } from '@vue-cesium/utils/emits'\n\nexport const overviewProps = {\n  position: {\n    type: String as PropType<'top-right' | 'top-left' | 'bottom-right' | 'bottom-left'>,\n    default: 'bottom-right',\n    validator: (v: string) => ['top-right', 'top-left', 'bottom-right', 'bottom-left'].includes(v)\n  },\n  offset: {\n    type: Array,\n    validator: (v: Array<string>) => v.length === 2\n  },\n  width: {\n    type: String,\n    default: '150px'\n  },\n  height: {\n    type: String,\n    default: '150px'\n  },\n  border: {\n    type: String,\n    default: 'solid 4px rgb(255, 255, 255)'\n  },\n  borderRadius: {\n    type: String\n  },\n  toggleOpts: {\n    type: Object as PropType<VcBtnTooltipProps & { show: boolean }>\n  },\n  viewerOpts: {\n    type: Object as PropType<VcViewerProps>\n  }\n}\nexport default defineComponent({\n  name: 'VcOverviewMap',\n  props: overviewProps,\n  emits: commonEmits,\n  setup(props, ctx) {\n    // state\n    const instance = getCurrentInstance() as VcComponentInternalInstance\n    instance.cesiumClass = 'VcOverviewMap'\n    instance.cesiumEvents = []\n    const commonState = useCommon(props, ctx, instance)\n    if (commonState === void 0) {\n      return\n    }\n    const { t } = useLocale()\n    const { $services } = commonState\n    const rootRef = ref<HTMLElement | null>(null)\n    const rootStyle = reactive<CSSProperties>({})\n    const toggleBtnRef = ref<typeof VcBtn | null>(null)\n    const tooltipRef = ref<typeof VcTooltip | null>(null)\n    const viewerRef = ref<typeof VcViewer | null>(null)\n    const positionState = usePosition(props, $services)\n    let minimized = false\n    let unwatchFns: Array<WatchStopHandle> = []\n    let overviewViewer: Cesium.Viewer\n\n    // computed\n    const toggleOpts = computed(() => {\n      return Object.assign(\n        {},\n        {\n          show: true,\n          color: '#fff',\n          background: '#3f4854',\n          icon: 'vc-icons-overview-toggle',\n          size: '15px',\n          tooltip: {\n            delay: 500,\n            anchor: 'bottom middle',\n            offset: [0, 20],\n            tip: void 0\n          }\n        },\n        props.toggleOpts\n      )\n    })\n\n    const viewerOpts = computed(() => {\n      return Object.assign(\n        {},\n        {\n          removeCesiumScript: false,\n          showCredit: false,\n          sceneMode: 2\n        },\n        props.viewerOpts\n      )\n    })\n    // watch\n\n    // methods\n    instance.createCesiumObject = async () => {\n      const { viewer } = $services\n      const viewerElement = (viewer as any)._element\n      viewerElement.appendChild($(rootRef))\n      return [$(rootRef), $(viewerRef)]\n    }\n\n    instance.mount = async () => {\n      updateRootStyle()\n      const { viewer } = $services\n      viewer.clock.onTick.addEventListener(onClockTick)\n      return true\n    }\n\n    instance.unmount = async () => {\n      const { viewer } = $services\n      const viewerElement = (viewer as any)._element\n      viewer.clock.onTick.removeEventListener(onClockTick)\n      viewerElement.contains($(rootRef)) && viewerElement.removeChild($(rootRef))\n      return true\n    }\n\n    const onClockTick = () => {\n      const { viewer } = $services\n      overviewViewer &&\n        overviewViewer.camera.flyTo({\n          destination: viewer.camera.position,\n          orientation: {\n            heading: viewer.camera.heading,\n            pitch: viewer.camera.pitch,\n            roll: viewer.camera.roll\n          },\n          duration: 0.0\n        })\n    }\n\n    const onViewerReady = ({ viewer }) => {\n      overviewViewer = viewer\n      const control = viewer.scene.screenSpaceCameraController\n      control.enableRotate = false\n      control.enableTranslate = false\n      control.enableZoom = false\n      control.enableTilt = false\n      control.enableLook = false\n    }\n\n    const updateRootStyle = () => {\n      const css: CSSProperties = positionState.style.value\n      rootStyle.left = css.left\n      rootStyle.top = css.top\n      rootStyle.transform = css.transform\n\n      css.borderRadius = props.borderRadius\n      css.border = props.border\n      css.width = props.width\n      css.height = props.height\n      minimized = false\n\n      Object.assign(rootStyle, css)\n    }\n\n    // const onTooltipBeforeShow = () => {\n\n    // }\n\n    const onToggle = () => {\n      if (!minimized) {\n        minimize()\n      } else {\n        restore()\n      }\n\n      minimized = !minimized\n    }\n\n    const minimize = () => {\n      if (toggleOpts.value.show) {\n        const reg = /(\\d+)/g\n        const regResult = reg.exec(props.border)\n        const boder = regResult?.length ? parseFloat(regResult[0]) : 0\n        const toggleBtnRefStyle = getComputedStyle($(toggleBtnRef)?.$el)\n        rootStyle.width = `${parseFloat(toggleBtnRefStyle.width) + parseFloat(toggleBtnRefStyle.padding) + boder}px`\n        rootStyle.height = `${parseFloat(toggleBtnRefStyle.height) + parseFloat(toggleBtnRefStyle.padding) + boder}px`\n      } else {\n        rootStyle.display = 'block'\n      }\n    }\n\n    const restore = () => {\n      if (toggleOpts.value.show) {\n        rootStyle.width = props.width\n        rootStyle.height = props.height\n      } else {\n        rootStyle.display = 'none'\n      }\n    }\n\n    // life cycle\n    onUnmounted(() => {\n      unwatchFns.forEach(item => item())\n      unwatchFns = []\n    })\n\n    return () => {\n      const children: Array<VNode> = []\n      children.push(\n        h(\n          VcBtn,\n          {\n            ref: toggleBtnRef,\n            class: 'toggle toggle-' + props.position + (minimized ? ' minimized ' : ''),\n            flat: true,\n            dense: true,\n            icon: toggleOpts.value.icon,\n            size: toggleOpts.value.size,\n            style: { color: toggleOpts.value.color, background: toggleOpts.value.background },\n            onClick: onToggle\n          },\n          () =>\n            toggleOpts.value.tooltip\n              ? h(\n                  VcTooltip,\n                  {\n                    ref: tooltipRef,\n                    ...toggleOpts.value.tooltip\n                    // onBeforeShow: onTooltipBeforeShow\n                  },\n                  () => h('strong', {}, toggleOpts.value.tooltip.tip || t(`vc.overview.${minimized ? 'show' : 'hidden'}`))\n                )\n              : createCommentVNode('v-if')\n        )\n      )\n      children.push(\n        h(\n          VcViewer,\n          {\n            ref: viewerRef,\n            ...viewerOpts.value,\n            onReady: onViewerReady\n          },\n          () => hSlot(ctx.slots.default)\n        )\n      )\n      return h(\n        'div',\n        {\n          ref: rootRef,\n          class: 'vc-overview-map ' + positionState.classes.value,\n          style: rootStyle\n        },\n        children\n      )\n    }\n  }\n})\n\n// export type VcOverviewMapProps = ExtractPropTypes<typeof overviewProps>\n// export type VcOverviewMapEmits = typeof emits\nexport type VcOverviewMapProps = {\n  /**\n   * Specify the position of the VcOverviewMap.\n   * Default value: bottom-right\n   */\n  position?: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'top' | 'right' | 'bottom' | 'left'\n  /**\n   * An array of two numbers to offset the VcOverviewMap horizontally and vertically in pixels.\n   * Default value: [0, 0]\n   */\n  offset?: [number, number]\n  /**\n   * Specify the width of the overviewmap component.\n   * Default value: 150px\n   */\n  width?: string\n  /**\n   * Specify the height of the overviewmap component.\n   * Default value: 150px\n   */\n  height?: string\n  /**\n   * Specify the border of the overviewmap component.\n   * Default value: solid 4px rgb(255, 255, 255)\n   */\n  border?: string\n  /**\n   * Specify the border radius of the overviewmap component.\n   */\n  borderRadius?: string\n  /**\n   * Specify the toggle button options of the overviewmap component.\n   */\n  toggleOpts?: VcBtnTooltipProps & { show: boolean }\n  /**\n   * Specify the vc-viewer component options in the overviewmap component.\n   */\n  viewerOpts?: VcViewerProps\n  /**\n   * Triggers before the VcOverviewMap is loaded.\n   * @param instance\n   */\n  onBeforeLoad?: (instance: VcComponentInternalInstance) => void\n  /**\n   * Triggers when the VcOverviewMap is successfully loaded.\n   */\n  onReady?: (readyObject: VcReadyObject) => void\n  /**\n   * Triggers when the VcOverviewMap is destroyed.\n   */\n  onDestroyed?: (instance: VcComponentInternalInstance) => void\n}\n\nexport interface VcOverviewMapSlots {\n  /**\n   * Default slot content of the component\n   */\n  default: () => VNode[]\n}\n"],"names":["VcViewer"],"mappings":";;;;;;;;;;;AAQY,MAAC,aAAa,GAAG;AAC7B,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,cAAc;AAC3B,IAAI,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1F,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,KAAK;AACf,IAAI,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;AACpC,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,8BAA8B;AAC3C,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE;AACF,kBAAe,eAAe,CAAC;AAC/B,EAAE,IAAI,EAAE,eAAe;AACvB,EAAE,KAAK,EAAE,aAAa;AACtB,EAAE,KAAK,EAAE,WAAW;AACpB,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE;AACpB,IAAI,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;AAC1C,IAAI,QAAQ,CAAC,WAAW,GAAG,eAAe,CAAC;AAC3C,IAAI,QAAQ,CAAC,YAAY,GAAG,EAAE,CAAC;AAC/B,IAAI,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;AACxD,IAAI,IAAI,WAAW,KAAK,KAAK,CAAC,EAAE;AAChC,MAAM,OAAO;AACb,KAAK;AACL,IAAI,MAAM,EAAE,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC;AAC9B,IAAI,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC;AACtC,IAAI,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;AAC9B,IAAI,MAAM,SAAS,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;AACnC,IAAI,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;AACnC,IAAI,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;AACjC,IAAI,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;AAChC,IAAI,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AACxD,IAAI,IAAI,SAAS,GAAG,KAAK,CAAC;AAC1B,IAAI,IAAI,UAAU,GAAG,EAAE,CAAC;AACxB,IAAI,IAAI,cAAc,CAAC;AACvB,IAAI,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM;AACtC,MAAM,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE;AAC/B,QAAQ,IAAI,EAAE,IAAI;AAClB,QAAQ,KAAK,EAAE,MAAM;AACrB,QAAQ,UAAU,EAAE,SAAS;AAC7B,QAAQ,IAAI,EAAE,0BAA0B;AACxC,QAAQ,IAAI,EAAE,MAAM;AACpB,QAAQ,OAAO,EAAE;AACjB,UAAU,KAAK,EAAE,GAAG;AACpB,UAAU,MAAM,EAAE,eAAe;AACjC,UAAU,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;AACzB,UAAU,GAAG,EAAE,KAAK,CAAC;AACrB,SAAS;AACT,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;AAC3B,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM;AACtC,MAAM,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE;AAC/B,QAAQ,kBAAkB,EAAE,KAAK;AACjC,QAAQ,UAAU,EAAE,KAAK;AACzB,QAAQ,SAAS,EAAE,CAAC;AACpB,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;AAC3B,KAAK,CAAC,CAAC;AACP,IAAI,QAAQ,CAAC,kBAAkB,GAAG,YAAY;AAC9C,MAAM,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;AACnC,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC5C,MAAM,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAC5C,MAAM,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AACxC,KAAK,CAAC;AACN,IAAI,QAAQ,CAAC,KAAK,GAAG,YAAY;AACjC,MAAM,eAAe,EAAE,CAAC;AACxB,MAAM,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;AACnC,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;AACxD,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK,CAAC;AACN,IAAI,QAAQ,CAAC,OAAO,GAAG,YAAY;AACnC,MAAM,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;AACnC,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC5C,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;AAC3D,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAClF,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK,CAAC;AACN,IAAI,MAAM,WAAW,GAAG,MAAM;AAC9B,MAAM,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;AACnC,MAAM,cAAc,IAAI,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC;AACpD,QAAQ,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ;AAC3C,QAAQ,WAAW,EAAE;AACrB,UAAU,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;AACxC,UAAU,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK;AACpC,UAAU,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;AAClC,SAAS;AACT,QAAQ,QAAQ,EAAE,CAAC;AACnB,OAAO,CAAC,CAAC;AACT,KAAK,CAAC;AACN,IAAI,MAAM,aAAa,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK;AAC1C,MAAM,cAAc,GAAG,MAAM,CAAC;AAC9B,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC;AAC/D,MAAM,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC;AACnC,MAAM,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC;AACtC,MAAM,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC;AACjC,MAAM,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC;AACjC,MAAM,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC;AACjC,KAAK,CAAC;AACN,IAAI,MAAM,eAAe,GAAG,MAAM;AAClC,MAAM,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;AAC5C,MAAM,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;AAChC,MAAM,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;AAC9B,MAAM,SAAS,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;AAC1C,MAAM,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;AAC5C,MAAM,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;AAChC,MAAM,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;AAC9B,MAAM,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;AAChC,MAAM,SAAS,GAAG,KAAK,CAAC;AACxB,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AACpC,KAAK,CAAC;AACN,IAAI,MAAM,QAAQ,GAAG,MAAM;AAC3B,MAAM,IAAI,CAAC,SAAS,EAAE;AACtB,QAAQ,QAAQ,EAAE,CAAC;AACnB,OAAO,MAAM;AACb,QAAQ,OAAO,EAAE,CAAC;AAClB,OAAO;AACP,MAAM,SAAS,GAAG,CAAC,SAAS,CAAC;AAC7B,KAAK,CAAC;AACN,IAAI,MAAM,QAAQ,GAAG,MAAM;AAC3B,MAAM,IAAI,EAAE,CAAC;AACb,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE;AACjC,QAAQ,MAAM,GAAG,GAAG,QAAQ,CAAC;AAC7B,QAAQ,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACjD,QAAQ,MAAM,KAAK,GAAG,CAAC,SAAS,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,SAAS,CAAC,MAAM,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACrG,QAAQ,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;AACrG,QAAQ,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;AACrH,QAAQ,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;AACvH,OAAO,MAAM;AACb,QAAQ,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;AACpC,OAAO;AACP,KAAK,CAAC;AACN,IAAI,MAAM,OAAO,GAAG,MAAM;AAC1B,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE;AACjC,QAAQ,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;AACtC,QAAQ,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;AACxC,OAAO,MAAM;AACb,QAAQ,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;AACnC,OAAO;AACP,KAAK,CAAC;AACN,IAAI,WAAW,CAAC,MAAM;AACtB,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC,CAAC;AAC3C,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,MAAM;AACjB,MAAM,MAAM,QAAQ,GAAG,EAAE,CAAC;AAC1B,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;AAC7B,QAAQ,GAAG,EAAE,YAAY;AACzB,QAAQ,KAAK,EAAE,gBAAgB,GAAG,KAAK,CAAC,QAAQ,IAAI,SAAS,GAAG,aAAa,GAAG,EAAE,CAAC;AACnF,QAAQ,IAAI,EAAE,IAAI;AAClB,QAAQ,KAAK,EAAE,IAAI;AACnB,QAAQ,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI;AACnC,QAAQ,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI;AACnC,QAAQ,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE;AACzF,QAAQ,OAAO,EAAE,QAAQ;AACzB,OAAO,EAAE,MAAM,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,SAAS,EAAE;AACvD,QAAQ,GAAG,EAAE,UAAU;AACvB,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO;AACnC,OAAO,EAAE,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAClJ,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAACA,OAAQ,EAAE;AAChC,QAAQ,GAAG,EAAE,SAAS;AACtB,QAAQ,GAAG,UAAU,CAAC,KAAK;AAC3B,QAAQ,OAAO,EAAE,aAAa;AAC9B,OAAO,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC1C,MAAM,OAAO,CAAC,CAAC,KAAK,EAAE;AACtB,QAAQ,GAAG,EAAE,OAAO;AACpB,QAAQ,KAAK,EAAE,kBAAkB,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK;AAC/D,QAAQ,KAAK,EAAE,SAAS;AACxB,OAAO,EAAE,QAAQ,CAAC,CAAC;AACnB,KAAK,CAAC;AACN,GAAG;AACH,CAAC,CAAC;;;;"}