{"version":3,"file":"index.mjs","sources":["../../../../../../../../packages/components/visualized/charts/pie-chart/src/index.vue"],"sourcesContent":["<template>\n  <hl-group full=\"full-x\" align=\"items-middle\" gap=\"var(--md)\" style=\"height: 100%\">\n    <div\n      ref=\"chartContainer\"\n      class=\"static\"\n      :style=\"`min-height: ${showLabel ? height : '100%'}; min-width: ${showLabel ? height : '100%'}`\"\n    ></div>\n    <hl-group\n      v-if=\"showLabel\"\n      dir=\"vertical\"\n      align=\"items-center\"\n      :gap=\"legend.gapY\"\n      class=\"static p-r-md\"\n      style=\"width: 45%; height:100%; overflow-y:auto\"\n    >\n      <hl-group\n        v-for=\"(item, index) in chartData\"\n        :key=\"index\"\n        :gap=\"legend.gapX\"\n        align=\"items-middle items-between\"\n        :class=\"['cursor-pointer static', isHighlights[index] ? 'is-checked' : '']\"\n        :style=\"`opacity:${isHides[index] ? 0.2 : 1}`\"\n        @click=\"hideSerie(index)\"\n      >\n        <span class=\"echart-fill-rect static\" :style=\"`background-color:${item.color}`\"></span>\n        <span class=\"text-secondary font-md w-full checked:text-link\">{{ item.label }}</span>\n        <h3 class=\"font-lg font-din static\">{{ item.value }}</h3>\n      </hl-group>\n    </hl-group>\n  </hl-group>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref, onMounted, PropType } from 'vue'\nimport { useEChart } from 'hongluan-hooks'\nimport { HlGroup } from 'hongluan-ui'\nimport * as echarts from 'echarts/core'\nimport { PieChart } from 'echarts/charts'\nimport {\n  TitleComponent,\n  TooltipComponent,\n  LegendComponent,\n  GridComponent,\n  DataZoomComponent,\n} from 'echarts/components'\nimport { CanvasRenderer } from 'echarts/renderers'\nimport { useRenderChart, useResponsiveChart } from '@fx-front-framework/hooks'\nimport { merge } from 'lodash-es'\n\nimport type { PieChartData } from './types'\n\necharts.use([\n  PieChart,\n  LegendComponent,\n  TitleComponent,\n  TooltipComponent,\n  GridComponent,\n  DataZoomComponent,\n  CanvasRenderer,\n])\n\nexport default defineComponent({\n  name: 'VPieChart',\n  components: { HlGroup },\n  props: {\n    chartData: {\n      type: Array as PropType<PieChartData[]>,\n      default: () => [],\n    },\n    height: {\n      type: String,\n      default: 'calc(var(--xxl) * 5)',\n    },\n    radius: {\n      type: Array as PropType<string[]>,\n      default: () => ['20%', '70%'],\n    },\n    legend: {\n      type: Object as PropType<{ gap: string; }>,\n      default: () => ({ gapX: 'var(--sm)', gapY: 'var(--sm)' }),\n    },\n    title: {\n      type: String,\n      default: '',\n    },\n    fullTitle: {\n      type: Object,\n      default: () => ({}),\n    },\n    showLabel: {\n      type: Boolean,\n      default: true,\n    },\n    // echarts.tooltip\n    tooltip: {\n      type: Object,\n      default: () => ({}),\n    },\n  },\n  setup(props) {\n    const { chartContainer, setChartOption, addChartEvent } = useEChart()\n    const { updateOptionToResponsive } = useResponsiveChart()\n\n    const isHides = ref<boolean[]>([])\n    const isHighlights = ref<boolean[]>([])\n    const color = ref([] as string[])\n\n    const setColor = () => {\n      color.value = []\n      props.chartData.forEach((item, index) => {\n        if (item.value !== 0 && !isHides.value[index]) {\n          color.value.push(item.color, 'transparent')\n        }\n      })\n    }\n    const setChartData = (data: PieChartData[]) => {\n      const data1 = [] as PieChartData[]\n      const sum = data.reduce((prev, cur) => prev + cur.value, 0)\n      const nonZeroCount = data.filter(d => d.value).length\n      // 给每个数据后添加特定的透明的数据形成间隔\n      data.forEach((item, idx) => {\n        if (item.value !== 0 && !isHides.value[idx]) {\n          data1.push(item, {\n            label: '',\n            value: nonZeroCount <= 1 ? 0 : sum / 70, // 根据总值算间隔大小\n            color: '',\n            labelLine: {\n              show: false,\n              lineStyle: {\n                color: 'transparent',\n              },\n            },\n            itemStyle: {\n              color: 'transparent',\n            },\n          })\n        }\n      })\n      return data1\n    }\n    const renderChart = () => {\n      setColor()\n      const data1 = setChartData(props.chartData)\n      // 每层圆环大小\n      const radius2 = [Number(props.radius[1].split('%')[0]) - 10 + '%', Number(props.radius[1].split('%')[0]) + 4 + '%']\n      const radius3 = [Number(props.radius[1].split('%')[0]) + 4 + '%', Number(props.radius[1].split('%')[0]) + 8 + '%']\n\n      const option = {\n        tooltip: merge({\n          confine: true,\n          axisPointer: {\n            type: 'none',\n          },\n          extraCssText: 'border-radius: 0;',\n          formatter: (params: any) => {\n            return params.seriesIndex <= 1 && params.componentType === 'series' ? `\n              <div class=\"font-md\" style=\"background-color:#fff;border-raduis:0;\">\n                ${params.marker}\n                <span>${params.data.label} <span style=\"font-weight: bold; margin-left: var(--md)\">${params.data.value}</span></span>\n              </div>\n            ` : ''\n          },\n        }, props.tooltip),\n        title: [\n          merge({\n            text: props.title,\n            top: 'center',\n            left: 'center',\n            textStyle: {\n              color: '#6F8EA8',\n              fontSize: 14,\n            },\n          }, props.fullTitle),\n        ],\n        series: [\n          // 最外层圆环\n          {\n            type: 'pie',\n            radius: radius3,\n            center: ['50%', '50%'],\n            startAngle: 90,\n            selectedMode: 'single',\n            selectedOffset: 0,\n            itemStyle: {\n              color: (params: any) => color.value[params.dataIndex],\n            },\n            emptyCircleStyle: {\n              color: 'rgba(47,71,110,0.12)',\n            },\n            label: {\n              show: false,\n            },\n            data: data1,\n            emphasis: {\n              scale: true,\n            },\n          },\n          {\n            type: 'pie',\n            radius: radius2,\n            center: ['50%', '50%'],\n            startAngle: 90,\n            selectedMode: 'single',\n            selectedOffset: 0,\n            itemStyle: {\n              color: (params: any) => color.value[params.dataIndex],\n              opacity: 0.16,\n            },\n            emptyCircleStyle: {\n              color: 'rgba(47,71,110,0.12)',\n            },\n            label: {\n              show: false,\n            },\n            emphasis: {\n              scale: false,\n            },\n            data: data1,\n          },\n          {\n            type: 'pie',\n            radius: ['49%', '50%'],\n            center: ['50%', '50%'],\n            startAngle: 90,\n            selectedMode: 'single',\n            selectedOffset: 0,\n            itemStyle: {\n              color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [\n                { offset: 0, color: 'rgba(64,83,112,0.6)' },\n                { offset: 0.5, color: 'rgba(0,0,0,0.00)' },\n                { offset: 1, color: 'rgba(64,83,112,0.6)' },\n              ]),\n            },\n            label: {\n              show: false,\n            },\n            emphasis: {\n              scale: false,\n            },\n            data: [100],\n          },\n          {\n            type: 'pie',\n            radius: '50%',\n            center: ['50%', '50%'],\n            startAngle: 90,\n            selectedMode: 'single',\n            selectedOffset: 0,\n            itemStyle: {\n              color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [\n                { offset: 0, color: 'rgba(64,83,112,0.23)' },\n                { offset: 0.5, color: 'rgba(0,0,0,0)' },\n                { offset: 1, color: 'rgba(64,83,112,0.23)' },\n              ]),\n            },\n            label: {\n              show: false,\n            },\n            emphasis: {\n              scale: false,\n            },\n            data: [100],\n          },\n        ],\n      }\n      updateOptionToResponsive(option)\n      setChartOption(option)\n    }\n    const hideSerie = (idx: number) => {\n      isHides.value[idx] = !isHides.value[idx]\n      renderChart()\n    }\n\n    useRenderChart(renderChart, props)\n\n    onMounted(() => {\n      addChartEvent('click', (params: any) => {\n        if (params.componentType === 'series' && params.seriesIndex === 0) {\n          const idx = props.chartData.findIndex(c => c.label === params.data.label)\n          if (idx > -1) {\n            isHighlights.value.fill(false)\n            isHighlights.value[idx] = true\n          }\n        }\n      })\n    })\n\n    return {\n      chartContainer,\n      isHides,\n      isHighlights,\n      hideSerie,\n    }\n  },\n})\n</script>\n"],"names":["_createBlock","_createElementVNode","_normalizeStyle","_openBlock","_createElementBlock","_Fragment","_renderList","_normalizeClass","_toDisplayString"],"mappings":";;;;;;;;;;;;;AAkDA,OAAA,CAAQ,GAAI,CAAA;AAAA,EACV,QAAA;AAAA,EACA,eAAA;AAAA,EACA,cAAA;AAAA,EACA,gBAAA;AAAA,EACA,aAAA;AAAA,EACA,iBAAA;AAAA,EACA,cAAA;AACF,CAAC,CAAA,CAAA;AAED,MAAK,YAAa,eAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,WAAA;AAAA,EACN,UAAA,EAAY,EAAE,OAAQ,EAAA;AAAA,EACtB,KAAO,EAAA;AAAA,IACL,SAAW,EAAA;AAAA,MACT,IAAM,EAAA,KAAA;AAAA,MACN,OAAA,EAAS,MAAM,EAAC;AAAA,KAClB;AAAA,IACA,MAAQ,EAAA;AAAA,MACN,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,sBAAA;AAAA,KACX;AAAA,IACA,MAAQ,EAAA;AAAA,MACN,IAAM,EAAA,KAAA;AAAA,MACN,OAAS,EAAA,MAAM,CAAC,KAAA,EAAO,KAAK,CAAA;AAAA,KAC9B;AAAA,IACA,MAAQ,EAAA;AAAA,MACN,IAAM,EAAA,MAAA;AAAA,MACN,SAAS,OAAO,EAAE,IAAM,EAAA,WAAA,EAAa,MAAM,WAAY,EAAA,CAAA;AAAA,KACzD;AAAA,IACA,KAAO,EAAA;AAAA,MACL,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,EAAA;AAAA,KACX;AAAA,IACA,SAAW,EAAA;AAAA,MACT,IAAM,EAAA,MAAA;AAAA,MACN,OAAA,EAAS,OAAO,EAAC,CAAA;AAAA,KACnB;AAAA,IACA,SAAW,EAAA;AAAA,MACT,IAAM,EAAA,OAAA;AAAA,MACN,OAAS,EAAA,IAAA;AAAA,KACX;AAAA,IAEA,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,MAAA;AAAA,MACN,OAAA,EAAS,OAAO,EAAC,CAAA;AAAA,KACnB;AAAA,GACF;AAAA,EACA,MAAM,KAAO,EAAA;AACX,IAAA,MAAM,EAAE,cAAA,EAAgB,cAAgB,EAAA,aAAA,KAAkB,SAAU,EAAA,CAAA;AACpE,IAAM,MAAA,EAAE,wBAAyB,EAAA,GAAI,kBAAmB,EAAA,CAAA;AAExD,IAAM,MAAA,OAAA,GAAU,GAAe,CAAA,EAAE,CAAA,CAAA;AACjC,IAAM,MAAA,YAAA,GAAe,GAAe,CAAA,EAAE,CAAA,CAAA;AACtC,IAAM,MAAA,KAAA,GAAQ,GAAI,CAAA,EAAc,CAAA,CAAA;AAEhC,IAAA,MAAM,WAAW,MAAM;AACrB,MAAA,KAAA,CAAM,QAAQ,EAAC,CAAA;AACf,MAAA,KAAA,CAAM,SAAU,CAAA,OAAA,CAAQ,CAAC,IAAA,EAAM,KAAU,KAAA;AACvC,QAAA,IAAI,KAAK,KAAU,KAAA,CAAA,IAAK,CAAC,OAAA,CAAQ,MAAM,KAAQ,CAAA,EAAA;AAC7C,UAAA,KAAA,CAAM,KAAM,CAAA,IAAA,CAAK,IAAK,CAAA,KAAA,EAAO,aAAa,CAAA,CAAA;AAAA,SAC5C;AAAA,OACD,CAAA,CAAA;AAAA,KACH,CAAA;AACA,IAAM,MAAA,YAAA,GAAe,CAAC,IAAyB,KAAA;AAC7C,MAAA,MAAM,QAAQ,EAAC,CAAA;AACf,MAAM,MAAA,GAAA,GAAM,KAAK,MAAO,CAAA,CAAC,MAAM,GAAQ,KAAA,IAAA,GAAO,GAAI,CAAA,KAAA,EAAO,CAAC,CAAA,CAAA;AAC1D,MAAA,MAAM,eAAe,IAAK,CAAA,MAAA,CAAO,CAAK,CAAA,KAAA,CAAA,CAAE,KAAK,CAAE,CAAA,MAAA,CAAA;AAE/C,MAAK,IAAA,CAAA,OAAA,CAAQ,CAAC,IAAA,EAAM,GAAQ,KAAA;AAC1B,QAAA,IAAI,KAAK,KAAU,KAAA,CAAA,IAAK,CAAC,OAAA,CAAQ,MAAM,GAAM,CAAA,EAAA;AAC3C,UAAA,KAAA,CAAM,KAAK,IAAM,EAAA;AAAA,YACf,KAAO,EAAA,EAAA;AAAA,YACP,KAAO,EAAA,YAAA,IAAgB,CAAI,GAAA,CAAA,GAAI,GAAM,GAAA,EAAA;AAAA,YACrC,KAAO,EAAA,EAAA;AAAA,YACP,SAAW,EAAA;AAAA,cACT,IAAM,EAAA,KAAA;AAAA,cACN,SAAW,EAAA;AAAA,gBACT,KAAO,EAAA,aAAA;AAAA,eACT;AAAA,aACF;AAAA,YACA,SAAW,EAAA;AAAA,cACT,KAAO,EAAA,aAAA;AAAA,aACT;AAAA,WACD,CAAA,CAAA;AAAA,SACH;AAAA,OACD,CAAA,CAAA;AACD,MAAO,OAAA,KAAA,CAAA;AAAA,KACT,CAAA;AACA,IAAA,MAAM,cAAc,MAAM;AACxB,MAAS,QAAA,EAAA,CAAA;AACT,MAAM,MAAA,KAAA,GAAQ,YAAa,CAAA,KAAA,CAAM,SAAS,CAAA,CAAA;AAE1C,MAAM,MAAA,OAAA,GAAU,CAAC,MAAO,CAAA,KAAA,CAAM,OAAO,CAAG,CAAA,CAAA,KAAA,CAAM,GAAG,CAAA,CAAE,CAAE,CAAA,CAAA,GAAI,KAAK,GAAK,EAAA,MAAA,CAAO,KAAM,CAAA,MAAA,CAAO,CAAG,CAAA,CAAA,KAAA,CAAM,GAAG,CAAE,CAAA,CAAA,CAAE,CAAI,GAAA,CAAA,GAAI,GAAG,CAAA,CAAA;AAClH,MAAM,MAAA,OAAA,GAAU,CAAC,MAAO,CAAA,KAAA,CAAM,OAAO,CAAG,CAAA,CAAA,KAAA,CAAM,GAAG,CAAA,CAAE,CAAE,CAAA,CAAA,GAAI,IAAI,GAAK,EAAA,MAAA,CAAO,KAAM,CAAA,MAAA,CAAO,CAAG,CAAA,CAAA,KAAA,CAAM,GAAG,CAAE,CAAA,CAAA,CAAE,CAAI,GAAA,CAAA,GAAI,GAAG,CAAA,CAAA;AAEjH,MAAA,MAAM,MAAS,GAAA;AAAA,QACb,SAAS,KAAM,CAAA;AAAA,UACb,OAAS,EAAA,IAAA;AAAA,UACT,WAAa,EAAA;AAAA,YACX,IAAM,EAAA,MAAA;AAAA,WACR;AAAA,UACA,YAAc,EAAA,mBAAA;AAAA,UACd,SAAA,EAAW,CAAC,MAAgB,KAAA;AAC1B,YAAA,OAAO,MAAO,CAAA,WAAA,IAAe,CAAK,IAAA,MAAA,CAAO,kBAAkB,QAAW,GAAA,CAAA;AAAA;AAAA,gBAAA,EAEhE,MAAO,CAAA,MAAA,CAAA;AAAA,sBAAA,EACD,MAAO,CAAA,IAAA,CAAK,KAAiE,CAAA,yDAAA,EAAA,MAAA,CAAO,IAAK,CAAA,KAAA,CAAA;AAAA;AAAA,YAEjG,CAAA,GAAA,EAAA,CAAA;AAAA,WACN;AAAA,SACF,EAAG,MAAM,OAAO,CAAA;AAAA,QAChB,KAAO,EAAA;AAAA,UACL,KAAM,CAAA;AAAA,YACJ,MAAM,KAAM,CAAA,KAAA;AAAA,YACZ,GAAK,EAAA,QAAA;AAAA,YACL,IAAM,EAAA,QAAA;AAAA,YACN,SAAW,EAAA;AAAA,cACT,KAAO,EAAA,SAAA;AAAA,cACP,QAAU,EAAA,EAAA;AAAA,aACZ;AAAA,WACF,EAAG,MAAM,SAAS,CAAA;AAAA,SACpB;AAAA,QACA,MAAQ,EAAA;AAAA,UAEN;AAAA,YACE,IAAM,EAAA,KAAA;AAAA,YACN,MAAQ,EAAA,OAAA;AAAA,YACR,MAAA,EAAQ,CAAC,KAAA,EAAO,KAAK,CAAA;AAAA,YACrB,UAAY,EAAA,EAAA;AAAA,YACZ,YAAc,EAAA,QAAA;AAAA,YACd,cAAgB,EAAA,CAAA;AAAA,YAChB,SAAW,EAAA;AAAA,cACT,KAAO,EAAA,CAAC,MAAgB,KAAA,KAAA,CAAM,MAAM,MAAO,CAAA,SAAA,CAAA;AAAA,aAC7C;AAAA,YACA,gBAAkB,EAAA;AAAA,cAChB,KAAO,EAAA,sBAAA;AAAA,aACT;AAAA,YACA,KAAO,EAAA;AAAA,cACL,IAAM,EAAA,KAAA;AAAA,aACR;AAAA,YACA,IAAM,EAAA,KAAA;AAAA,YACN,QAAU,EAAA;AAAA,cACR,KAAO,EAAA,IAAA;AAAA,aACT;AAAA,WACF;AAAA,UACA;AAAA,YACE,IAAM,EAAA,KAAA;AAAA,YACN,MAAQ,EAAA,OAAA;AAAA,YACR,MAAA,EAAQ,CAAC,KAAA,EAAO,KAAK,CAAA;AAAA,YACrB,UAAY,EAAA,EAAA;AAAA,YACZ,YAAc,EAAA,QAAA;AAAA,YACd,cAAgB,EAAA,CAAA;AAAA,YAChB,SAAW,EAAA;AAAA,cACT,KAAO,EAAA,CAAC,MAAgB,KAAA,KAAA,CAAM,MAAM,MAAO,CAAA,SAAA,CAAA;AAAA,cAC3C,OAAS,EAAA,IAAA;AAAA,aACX;AAAA,YACA,gBAAkB,EAAA;AAAA,cAChB,KAAO,EAAA,sBAAA;AAAA,aACT;AAAA,YACA,KAAO,EAAA;AAAA,cACL,IAAM,EAAA,KAAA;AAAA,aACR;AAAA,YACA,QAAU,EAAA;AAAA,cACR,KAAO,EAAA,KAAA;AAAA,aACT;AAAA,YACA,IAAM,EAAA,KAAA;AAAA,WACR;AAAA,UACA;AAAA,YACE,IAAM,EAAA,KAAA;AAAA,YACN,MAAA,EAAQ,CAAC,KAAA,EAAO,KAAK,CAAA;AAAA,YACrB,MAAA,EAAQ,CAAC,KAAA,EAAO,KAAK,CAAA;AAAA,YACrB,UAAY,EAAA,EAAA;AAAA,YACZ,YAAc,EAAA,QAAA;AAAA,YACd,cAAgB,EAAA,CAAA;AAAA,YAChB,SAAW,EAAA;AAAA,cACT,KAAA,EAAO,IAAI,OAAQ,CAAA,OAAA,CAAQ,eAAe,CAAG,EAAA,CAAA,EAAG,GAAG,CAAG,EAAA;AAAA,gBACpD,EAAE,MAAA,EAAQ,CAAG,EAAA,KAAA,EAAO,qBAAsB,EAAA;AAAA,gBAC1C,EAAE,MAAA,EAAQ,GAAK,EAAA,KAAA,EAAO,kBAAmB,EAAA;AAAA,gBACzC,EAAE,MAAA,EAAQ,CAAG,EAAA,KAAA,EAAO,qBAAsB,EAAA;AAAA,eAC3C,CAAA;AAAA,aACH;AAAA,YACA,KAAO,EAAA;AAAA,cACL,IAAM,EAAA,KAAA;AAAA,aACR;AAAA,YACA,QAAU,EAAA;AAAA,cACR,KAAO,EAAA,KAAA;AAAA,aACT;AAAA,YACA,IAAA,EAAM,CAAC,GAAG,CAAA;AAAA,WACZ;AAAA,UACA;AAAA,YACE,IAAM,EAAA,KAAA;AAAA,YACN,MAAQ,EAAA,KAAA;AAAA,YACR,MAAA,EAAQ,CAAC,KAAA,EAAO,KAAK,CAAA;AAAA,YACrB,UAAY,EAAA,EAAA;AAAA,YACZ,YAAc,EAAA,QAAA;AAAA,YACd,cAAgB,EAAA,CAAA;AAAA,YAChB,SAAW,EAAA;AAAA,cACT,KAAA,EAAO,IAAI,OAAQ,CAAA,OAAA,CAAQ,eAAe,CAAG,EAAA,CAAA,EAAG,GAAG,CAAG,EAAA;AAAA,gBACpD,EAAE,MAAA,EAAQ,CAAG,EAAA,KAAA,EAAO,sBAAuB,EAAA;AAAA,gBAC3C,EAAE,MAAA,EAAQ,GAAK,EAAA,KAAA,EAAO,eAAgB,EAAA;AAAA,gBACtC,EAAE,MAAA,EAAQ,CAAG,EAAA,KAAA,EAAO,sBAAuB,EAAA;AAAA,eAC5C,CAAA;AAAA,aACH;AAAA,YACA,KAAO,EAAA;AAAA,cACL,IAAM,EAAA,KAAA;AAAA,aACR;AAAA,YACA,QAAU,EAAA;AAAA,cACR,KAAO,EAAA,KAAA;AAAA,aACT;AAAA,YACA,IAAA,EAAM,CAAC,GAAG,CAAA;AAAA,WACZ;AAAA,SACF;AAAA,OACF,CAAA;AACA,MAAA,wBAAA,CAAyB,MAAM,CAAA,CAAA;AAC/B,MAAA,cAAA,CAAe,MAAM,CAAA,CAAA;AAAA,KACvB,CAAA;AACA,IAAM,MAAA,SAAA,GAAY,CAAC,GAAgB,KAAA;AACjC,MAAA,OAAA,CAAQ,KAAM,CAAA,GAAA,CAAA,GAAO,CAAC,OAAA,CAAQ,KAAM,CAAA,GAAA,CAAA,CAAA;AACpC,MAAY,WAAA,EAAA,CAAA;AAAA,KACd,CAAA;AAEA,IAAA,cAAA,CAAe,aAAa,KAAK,CAAA,CAAA;AAEjC,IAAA,SAAA,CAAU,MAAM;AACd,MAAc,aAAA,CAAA,OAAA,EAAS,CAAC,MAAgB,KAAA;AACtC,QAAA,IAAI,MAAO,CAAA,aAAA,KAAkB,QAAY,IAAA,MAAA,CAAO,gBAAgB,CAAG,EAAA;AACjE,UAAM,MAAA,GAAA,GAAM,MAAM,SAAU,CAAA,SAAA,CAAU,OAAK,CAAE,CAAA,KAAA,KAAU,MAAO,CAAA,IAAA,CAAK,KAAK,CAAA,CAAA;AACxE,UAAA,IAAI,MAAM,CAAI,CAAA,EAAA;AACZ,YAAa,YAAA,CAAA,KAAA,CAAM,KAAK,KAAK,CAAA,CAAA;AAC7B,YAAA,YAAA,CAAa,MAAM,GAAO,CAAA,GAAA,IAAA,CAAA;AAAA,WAC5B;AAAA,SACF;AAAA,OACD,CAAA,CAAA;AAAA,KACF,CAAA,CAAA;AAED,IAAO,OAAA;AAAA,MACL,cAAA;AAAA,MACA,OAAA;AAAA,MACA,YAAA;AAAA,MACA,SAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AA5Qa,MAAA,UAAA,GAAA,EAAA,KAAA,EAAM,iDAAiD,EAAA,CAAA;AACzD,MAAA,UAAA,GAAA,EAAA,KAAA,EAAM,yBAAyB,EAAA,CAAA;;;sBAzBzCA,WA4BW,CAAA,mBAAA,EAAA;AAAA,IA5BD,IAAK,EAAA,QAAA;AAAA,IAAS,KAAM,EAAA,cAAA;AAAA,IAAe,GAAI,EAAA,WAAA;AAAA,IAAY,KAAA,EAAA,EAAA,QAAA,EAAA,MAAA,EAAA;AAAA,GAAA,EAAA;qBAC3D,MAIO;AAAA,MAJPC,kBAIO,CAAA,KAAA,EAAA;AAAA,QAHL,GAAI,EAAA,gBAAA;AAAA,QACJ,KAAM,EAAA,QAAA;AAAA,QACL,OAAKC,cAAiB,CAAA,CAAA,YAAA,EAAA,IAAA,CAAA,SAAA,GAAY,IAAM,CAAA,MAAA,GAAA,MAAA,CAAA,aAAA,EAAyB,iBAAY,IAAM,CAAA,MAAA,GAAA,MAAA,CAAA,CAAA,CAAA;AAAA,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA;AAG9E,MAAA,IAAA,CAAA,SAAA,IAAAC,SAAA,EAAA,EADRH,WAqBW,CAAA,mBAAA,EAAA;AAAA,QAAA,GAAA,EAAA,CAAA;QAnBT,GAAI,EAAA,UAAA;AAAA,QACJ,KAAM,EAAA,cAAA;AAAA,QACL,KAAK,IAAO,CAAA,MAAA,CAAA,IAAA;AAAA,QACb,KAAM,EAAA,eAAA;AAAA,QACN,KAAA,EAAA,EAAA,OAAA,EAAA,KAAA,EAAA,QAAA,EAAA,MAAA,EAAA,YAAA,EAAA,MAAA,EAAA;AAAA,OAAA,EAAA;yBAGE,MAAkC;AAAA,WAAAG,SAAA,CAAA,IAAA,CAAA,EADpCC,kBAYW,CAAAC,QAAA,EAAA,IAAA,EAAAC,UAAA,CAXe,IAAS,CAAA,SAAA,EAAA,CAAzB,MAAM,KAAK,KAAA;gCADrBN,WAYW,CAAA,mBAAA,EAAA;AAAA,cAVR,GAAK,EAAA,KAAA;AAAA,cACL,KAAK,IAAO,CAAA,MAAA,CAAA,IAAA;AAAA,cACb,KAAM,EAAA,4BAAA;AAAA,cACL,KAAA,EAAKO,cAA4B,CAAA,CAAA,uBAAA,EAAA,IAAA,CAAA,YAAA,CAAa,KAAK,CAAA,GAAA,YAAA,GAAA,EAAA,CAAA,CAAA;AAAA,cACnD,KAAA,EAAKL,cAAa,CAAA,CAAA,QAAA,EAAA,IAAA,CAAA,OAAA,CAAQ,KAAK,CAAA,GAAA,GAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AAAA,cAC/B,OAAA,EAAK,CAAE,MAAA,KAAA,IAAA,CAAA,SAAA,CAAU,KAAK,CAAA;AAAA,aAAA,EAAA;+BAEvB,MAAuF;AAAA,gBAAvFD,kBAAuF,CAAA,MAAA,EAAA;AAAA,kBAAjF,KAAM,EAAA,yBAAA;AAAA,kBAA2B,KAAA,EAAKC,cAAsB,CAAA,CAAA,iBAAA,EAAA,IAAA,CAAK,KAAK,CAAA,CAAA,CAAA;AAAA,iBAAA,EAAA,IAAA,EAAA,CAAA,CAAA;AAC5E,gBAAAD,kBAAA,CAAqF,MAArF,EAAA,UAAA,EAAqFO,eAApB,CAAA,IAAA,CAAK,KAAK,CAAA,EAAA,CAAA,CAAA;AAAA,gBAC3EP,kBAAyD,CAAA,IAAA,EAAzD,UAAyD,EAAAO,eAAA,CAAlB,KAAK,KAAK,CAAA,EAAA,CAAA,CAAA;AAAA,eAAA,CAAA;;;;;;;;;;;;;;;"}