From aabe9009a2ec87e6fbe4f84fb520b344bde85346 Mon Sep 17 00:00:00 2001 From: fredzhu Date: Tue, 6 Feb 2024 15:24:52 +0800 Subject: [PATCH 1/3] feat(annotator): change model api & improve editor interface detail --- .../components/EditorStatus/index.less | 2 + .../components/ModelSelectModal/index.tsx | 97 +- .../SmartAnnotationControl/index.tsx | 74 +- packages/components/src/Annotator/editor.tsx | 22 +- .../src/Annotator/hooks/useActions.tsx | 898 +----------------- .../src/Annotator/hooks/useAiModels.ts | 792 +++++++++++++++ .../src/Annotator/hooks/useMouseEvents.tsx | 20 +- .../src/Annotator/hooks/useSubtools.tsx | 46 +- .../src/Annotator/hooks/useToolActions.ts | 167 +++- .../src/Annotator/hooks/useTopTools.tsx | 3 + packages/components/src/Annotator/index.less | 1 + .../components/src/Annotator/sevices/index.ts | 94 +- .../components/src/Annotator/tools/base.ts | 2 +- .../src/Annotator/tools/usePolygon.ts | 5 + .../src/Annotator/tools/useRectangle.ts | 1 + packages/components/src/Annotator/type.ts | 9 +- .../components/src/Annotator/utils/compute.ts | 12 +- 17 files changed, 1098 insertions(+), 1147 deletions(-) create mode 100644 packages/components/src/Annotator/hooks/useAiModels.ts diff --git a/packages/components/src/Annotator/components/EditorStatus/index.less b/packages/components/src/Annotator/components/EditorStatus/index.less index 2abf72f..e1e15b1 100644 --- a/packages/components/src/Annotator/components/EditorStatus/index.less +++ b/packages/components/src/Annotator/components/EditorStatus/index.less @@ -10,6 +10,8 @@ font-size: 14px; font-weight: 500; border-radius: 5px; + white-space: nowrap; + text-overflow: ellipsis; svg { width: 20px; diff --git a/packages/components/src/Annotator/components/ModelSelectModal/index.tsx b/packages/components/src/Annotator/components/ModelSelectModal/index.tsx index 5141f45..0130548 100644 --- a/packages/components/src/Annotator/components/ModelSelectModal/index.tsx +++ b/packages/components/src/Annotator/components/ModelSelectModal/index.tsx @@ -5,6 +5,7 @@ import { useLocale } from 'dds-utils'; import { memo, useMemo } from 'react'; import { EnumModelType, MODEL_INTRO_MAP } from '../../constants'; +import { FloatWrapper } from '../FloatWrapper'; import './index.less'; @@ -42,54 +43,56 @@ const ModelSelectModal: React.FC = memo( }, [AIAnnotation, modelOptions, selectedModel]); return ( - -
- {modelOptions.map((model, index) => { - const intro = MODEL_INTRO_MAP[model]; - if (!intro) return <>; - return ( -
onSelectModel(model)} - key={index} - > - -
- {localeText(intro.name)} + + +
+ {modelOptions.map((model, index) => { + const intro = MODEL_INTRO_MAP[model]; + if (!intro) return <>; + return ( +
onSelectModel(model)} + key={index} + > + +
+ {localeText(intro.name)} +
+
+ {localeText(intro.description)} +
+ {intro.hightlight && ( + + {'New'} + + )}
-
- {localeText(intro.description)} -
- {intro.hightlight && ( - - {'New'} - - )} -
- ); - })} -
- + ); + })} +
+ + ); }, ); diff --git a/packages/components/src/Annotator/components/SmartAnnotationControl/index.tsx b/packages/components/src/Annotator/components/SmartAnnotationControl/index.tsx index 9175867..525b00c 100644 --- a/packages/components/src/Annotator/components/SmartAnnotationControl/index.tsx +++ b/packages/components/src/Annotator/components/SmartAnnotationControl/index.tsx @@ -1,9 +1,9 @@ import { CloseOutlined } from '@ant-design/icons'; import Icon from '@ant-design/icons/lib/components/Icon'; -import { Button, Card, Select, Slider, Space } from 'antd'; +import { Button, Card, Input, Slider, Space } from 'antd'; import classNames from 'classnames'; import { useLocale } from 'dds-utils/locale'; -import { useMemo, memo, useState } from 'react'; +import { useMemo, memo } from 'react'; import { useImmer } from 'use-immer'; import { ReactComponent as DragToolIcon } from '../../assets/drag.svg'; @@ -19,8 +19,7 @@ import { EToolType, EnumModelType, } from '../../constants'; -import { OnAiAnnotationFunc } from '../../hooks/useActions'; -import { Category } from '../../type'; +import { OnAiAnnotationFunc } from '../../hooks/useAiModels'; import { FloatWrapper } from '../FloatWrapper'; import './index.less'; @@ -36,7 +35,6 @@ interface IProps { naturalSize: ISize; aiLabels?: string; limitConf: number; - categories: Category[]; setAiLabels: (labels?: string) => void; forceChangeTool: (tool: EBasicToolItem, subtool: ESubToolItem) => void; onExitAIAnnotation: () => void; @@ -56,7 +54,6 @@ const SmartAnnotationControl: React.FC = memo( isBatchEditing, isCtrlPressed, aiLabels, - categories, naturalSize, limitConf, setAiLabels, @@ -69,7 +66,6 @@ const SmartAnnotationControl: React.FC = memo( forceChangeTool, }) => { const { localeText } = useLocale(); - const [inputText, setInputText] = useState(''); /** Parameters for requesting segmemt everything API */ const [samParams, setSamParams] = useImmer({ @@ -109,29 +105,6 @@ const SmartAnnotationControl: React.FC = memo( }, }; - const labelOptions = useMemo(() => { - if (selectedTool === EBasicToolItem.Rectangle) { - let options = categories?.map((c) => c.name); - options = - inputText && !options.includes(inputText) - ? [inputText, ...options] - : options; - return options.map((text) => ( - - {text} - - )); - } else if (selectedTool === EBasicToolItem.Polygon) { - return []; - } else if (selectedTool === EBasicToolItem.Skeleton) { - return ['person'].map((label) => ( - - {label} - - )); - } - }, [selectedTool, categories, inputText]); - const mouseEventHandler = (event: React.MouseEvent) => { if ( event.type === 'mouseup' && @@ -183,11 +156,6 @@ const SmartAnnotationControl: React.FC = memo( isCtrlPressed, ]); - const onApplyCurrMaskObjs = () => { - onAcceptValidObjects(); - forceChangeTool(EBasicToolItem.Drag, ESubToolItem.PenAdd); - }; - const aiDetectionTip = useMemo(() => { if ( selectedTool === EBasicToolItem.Rectangle && @@ -296,27 +264,16 @@ const SmartAnnotationControl: React.FC = memo(
) : (
- + onChange={(e) => setAiLabels(e.target.value)} + onKeyUp={(event) => event.stopPropagation()} + onKeyDown={(event) => event.stopPropagation()} + /> - diff --git a/packages/components/src/Annotator/editor.tsx b/packages/components/src/Annotator/editor.tsx index f9a4daf..b3805fd 100755 --- a/packages/components/src/Annotator/editor.tsx +++ b/packages/components/src/Annotator/editor.tsx @@ -16,6 +16,7 @@ import SmartAnnotationControl from './components/SmartAnnotationControl'; import { TopPagination } from './components/TopPagination'; import { DisplayOption, EBasicToolItem, TOOL_MODELS_MAP } from './constants'; import useActions from './hooks/useActions'; +import useAiModels from './hooks/useAiModels'; import useAttributes from './hooks/useAttributes'; import useCanvasContainer from './hooks/useCanvasContainer'; import useCanvasRender from './hooks/useCanvasRender'; @@ -268,8 +269,19 @@ const Edit: React.FC = (props) => { updateAllObjectWithoutHistory, }); + const { onAiAnnotation } = useAiModels({ + currImageItem, + drawData, + setDrawData, + setDrawDataWithHistory, + editState, + setEditState, + naturalSize, + clientSize, + getAnnotColor, + }); + const { - onAiAnnotation, onSaveAnnotations, onCommitAnnotations, onCancelAnnotations, @@ -281,16 +293,9 @@ const Edit: React.FC = (props) => { currImageItem, modal, drawData, - setDrawData, - setDrawDataWithHistory, editState, setEditState, - naturalSize, - clientSize, - imagePos, - containerMouse, hadChangeRecord, - getAnnotColor, categories, translateObject, flagSaved, @@ -623,7 +628,6 @@ const Edit: React.FC = (props) => { limitConf={drawData.limitConf} aiLabels={aiLabels} naturalSize={naturalSize} - categories={categories} setAiLabels={setAiLabels} forceChangeTool={forceChangeTool} onAiAnnotation={onAiAnnotation} diff --git a/packages/components/src/Annotator/hooks/useActions.tsx b/packages/components/src/Annotator/hooks/useActions.tsx index f190c1c..ce32e14 100644 --- a/packages/components/src/Annotator/hooks/useActions.tsx +++ b/packages/components/src/Annotator/hooks/useActions.tsx @@ -1,49 +1,17 @@ -import { useModel } from '@umijs/max'; -import { CursorState } from 'ahooks/lib/useMouse'; -import { Modal, message } from 'antd'; +import { Modal } from 'antd'; import { ModalStaticFunctions } from 'antd/es/modal/confirm'; import { useLocale } from 'dds-utils/locale'; import { useCallback } from 'react'; import { Updater } from 'use-immer'; -import { - BODY_TEMPLATE, - EBasicToolItem, - EBasicToolTypeMap, - EnumModelType, - EObjectType, - ESubToolItem, -} from '../constants'; -import { NsApiAnnotator, fetchModelResults } from '../sevices'; -import { rleToCanvas } from '../tools/useMask'; import { DrawData, AnnoItem, EditState, EditorMode, - IAnnotationObject, - PromptItem, - EObjectStatus, Category, VideoFramesData, - EPromptType, - ReqPromptItem, - IMask, } from '../type'; -import { getImageBase64, getServerAddressableUrl } from '../utils/base64'; -import { - getVisibleAreaForImage, - translateBoundingBoxToRect, - translatePointsToPointObjs, - translatePointZoom, - translateRectToAbsBbox, - getCanvasPoint, - getNaturalPoint, - translateRectToBoundingBox, - translatePointObjsToPointAttrs, - translateRectZoom, - translateAbsBBoxToRect, -} from '../utils/compute'; interface IProps { mode: EditorMode; @@ -51,16 +19,9 @@ interface IProps { modal: Omit; framesData?: VideoFramesData; drawData: DrawData; - setDrawData: Updater; - setDrawDataWithHistory: Updater; editState: EditState; setEditState: Updater; - naturalSize: ISize; - clientSize: ISize; - containerMouse: CursorState; - imagePos: React.MutableRefObject; hadChangeRecord: boolean; - getAnnotColor: (category: string, forceColorByCategory?: boolean) => string; categories: Category[]; translateObject?: (object: any) => any; flagSaved?: () => void; @@ -85,44 +46,16 @@ interface IProps { classificationOptions?: Category[]; } -export type OnAiAnnotationFunc = ({ - type, - drawData, - aiLabels, - bbox, - promptsQueue, - segmentationClicks, - segmentEverythingParams, -}: { - type?: EObjectType; - drawData?: DrawData; - aiLabels?: string; - bbox?: IBoundingBox; - promptsQueue?: PromptItem[]; - segmentationClicks?: { - point: IPoint; - isPositive: boolean; - }[]; - segmentEverythingParams?: NsApiAnnotator.SegmentEverythingParams; -}) => Promise; - const useActions = ({ mode, currImageItem, modal, framesData, drawData: editorDrawData, - setDrawData, - setDrawDataWithHistory, editState, setEditState, - naturalSize, - clientSize, - imagePos, - containerMouse, hadChangeRecord, categories, - getAnnotColor, translateObject, flagSaved, onCancel, @@ -134,840 +67,12 @@ const useActions = ({ classificationOptions, }: IProps) => { const { localeText } = useLocale(); - const { setLoading } = useModel('global'); const { isRequiring } = editState; const setIsRequiring = (requiring: boolean) => setEditState((s) => { s.isRequiring = requiring; }); - const requestAiDetection = async (aiLabels: string) => { - if (!currImageItem) return; - - try { - setLoading(true); - const { result } = await fetchModelResults( - EnumModelType.Detection, - { - image: await getImageBase64(currImageItem.url), - text: aiLabels, - }, - ); - - if (result) { - const { objects, suggestThreshold } = result; - const limitConf = suggestThreshold || 0; - const newObjects: IAnnotationObject[] = objects - .map((item) => { - // mouse.elementW is not necessarily identical to the size during initialization transformation - const rect = { - ...translateBoundingBoxToRect(item.boundingBox, clientSize), - }; - return { - rect: { ...rect, visible: true }, - labelId: editState.latestLabelId, - type: EObjectType.Rectangle, - hidden: false, - status: - item.normalizedScore >= limitConf - ? EObjectStatus.Checked - : EObjectStatus.Unchecked, - conf: item.normalizedScore, - color: getAnnotColor(editState.latestLabelId, true), - }; - }) - .reverse(); - setDrawDataWithHistory((s) => { - s.isBatchEditing = true; - s.limitConf = limitConf; - const commitedObjects = s.objectList.filter( - (obj) => obj?.status === EObjectStatus.Commited, - ); - s.objectList = [...commitedObjects, ...newObjects]; - if (s.creatingObject && s.objectList[s.activeObjectIndex]) { - s.creatingObject = { ...s.objectList[s.activeObjectIndex] }; - } - }); - message.success(localeText('DDSAnnotator.smart.msg.success')); - } - } catch (error: any) { - message.error(localeText('DDSAnnotator.smart.msg.error')); - } finally { - setLoading(false); - } - }; - - const convertPromptFormat = (prompt: PromptItem[]): ReqPromptItem[] => { - const newPromptArr = prompt.map((item) => { - const { type, isPositive, point, rect, stroke, radius, polygons } = item; - - const newItem = { type, isPositive }; - - if (rect) { - const { xmax, xmin, ymax, ymin } = translateRectToAbsBbox(rect); - const topleftPoint = getNaturalPoint( - [xmin, ymin], - naturalSize, - clientSize, - ); - const bottomRightPoint = getNaturalPoint( - [xmax, ymax], - naturalSize, - clientSize, - ); - Object.assign(newItem, { - rect: [ - topleftPoint.x, - topleftPoint.y, - bottomRightPoint.x, - bottomRightPoint.y, - ], - }); - } - - if (point) { - const naturalPoint = getNaturalPoint( - [point.x, point.y], - naturalSize, - clientSize, - ); - Object.assign(newItem, { - point: [naturalPoint.x, naturalPoint.y], - }); - } - - if (stroke) { - const points = stroke.reduce((acc: number[], point: IPoint) => { - const { x, y } = point; - const naturalPoint = getNaturalPoint([x, y], naturalSize, clientSize); - return acc.concat([naturalPoint.x, naturalPoint.y]); - }, []); - Object.assign(newItem, { - stroke: points, - radius, - }); - } - - if (polygons) { - const transformedPolygons = polygons.map((polygon) => { - const res = []; - for (let i = 0; i < polygon.length; i += 2) { - const transformedPoint = getNaturalPoint( - [polygon[i], polygon[i + 1]], - naturalSize, - clientSize, - ); - res.push(transformedPoint.x, transformedPoint.y); - } - return res; - }); - Object.assign(newItem, { - polygons: transformedPolygons, - }); - } - - return newItem; - }); - - return newPromptArr; - }; - - const requestIvpDetection = async ( - drawData: DrawData, - promptsQueue?: PromptItem[], - ) => { - if (!currImageItem || !promptsQueue) return; - - if (promptsQueue.every((prompt) => !prompt.isPositive)) { - message.error(localeText('DDSAnnotator.smart.msg.positivePrompt')); - setDrawDataWithHistory((s) => { - s.prompt.creatingPrompt = undefined; - }); - return; - } - - try { - setLoading(true); - const reqParams = { - prompts: convertPromptFormat(promptsQueue || []), - labelTypes: ['bbox'], - }; - if (drawData.prompt.sessionId) { - Object.assign(reqParams, { sessionId: drawData.prompt.sessionId }); - } else { - const url = await getServerAddressableUrl(currImageItem.url); - Object.assign(reqParams, { - promptImage: url, - inferImage: url, - }); - } - - const { result, sessionId } = await fetchModelResults( - EnumModelType.IVP, - reqParams, - ); - - if (result) { - const { objects } = result; - const limitConf = 0.3; - const newObjects: IAnnotationObject[] = objects - .filter((item) => { - return item.bbox; - }) - .map((item) => { - const [xmin, ymin, xmax, ymax] = item.bbox!; - const rect = translateRectZoom( - translateAbsBBoxToRect({ xmin, ymin, xmax, ymax }), - naturalSize, - clientSize, - ); - return { - rect: { ...rect, visible: true }, - labelId: editState.latestLabelId, - type: EObjectType.Rectangle, - hidden: false, - status: - item.score >= limitConf - ? EObjectStatus.Checked - : EObjectStatus.Unchecked, - conf: item.score, - color: getAnnotColor(editState.latestLabelId, true), - }; - }) - .reverse(); - - setDrawDataWithHistory((s) => { - s.isBatchEditing = true; - s.limitConf = limitConf; - const commitedObjects = s.objectList.filter( - (obj) => obj.status === EObjectStatus.Commited, - ); - s.objectList = [...commitedObjects, ...newObjects]; - if (s.creatingObject && s.objectList[s.activeObjectIndex]) { - s.creatingObject = { ...s.objectList[s.activeObjectIndex] }; - } - s.prompt.promptsQueue = promptsQueue; - s.prompt.sessionId = sessionId; - s.prompt.creatingPrompt = undefined; - }); - message.success(localeText('DDSAnnotator.smart.msg.success')); - } - } catch (error: any) { - message.error(localeText('DDSAnnotator.smart.msg.error')); - setDrawDataWithHistory((s) => { - s.prompt.creatingPrompt = undefined; - }); - } finally { - setLoading(false); - } - }; - - const requestIvpMask = async ( - drawData: DrawData, - promptsQueue?: PromptItem[], - ) => { - if (!currImageItem || !promptsQueue) return; - - if (promptsQueue.every((prompt) => !prompt.isPositive)) { - message.error(localeText('DDSAnnotator.smart.msg.positivePrompt')); - setDrawDataWithHistory((s) => { - s.prompt.creatingPrompt = undefined; - }); - return; - } - - try { - setLoading(true); - const reqParams = { - prompts: convertPromptFormat(promptsQueue || []), - labelTypes: ['mask'], - }; - if (drawData.prompt.sessionId) { - Object.assign(reqParams, { sessionId: drawData.prompt.sessionId }); - } else { - const url = await getServerAddressableUrl(currImageItem.url); - Object.assign(reqParams, { - promptImage: url, - inferImage: url, - }); - } - - const { result, sessionId } = await fetchModelResults( - EnumModelType.IVP, - reqParams, - ); - - if (result) { - // Display mask in different color - setEditState((s) => { - s.annotsDisplayOptions.colorByCategory = false; - }); - - const { objects } = result; - const newObjects: IAnnotationObject[] = objects - .filter((item) => !!item.mask) - .map((item) => { - const color = getAnnotColor(editState.latestLabelId); - const maskRleStr = item.mask?.counts || ''; - return { - type: EObjectType.Mask, - hidden: false, - labelId: editState.latestLabelId, - maskRle: maskRleStr, - maskCanvasElement: rleToCanvas(maskRleStr, naturalSize, color), - status: EObjectStatus.Checked, - conf: item.score, - color: getAnnotColor(editState.latestLabelId, true), - }; - }); - - setDrawDataWithHistory((s) => { - s.isBatchEditing = true; - const commitedObjects = s.objectList.filter( - (obj) => obj.status === EObjectStatus.Commited, - ); - s.objectList = [...commitedObjects, ...newObjects]; - if (s.creatingObject && s.objectList[s.activeObjectIndex]) { - s.creatingObject = { ...s.objectList[s.activeObjectIndex] }; - } - s.prompt.promptsQueue = promptsQueue; - s.prompt.sessionId = sessionId; - s.prompt.creatingPrompt = undefined; - }); - message.success(localeText('DDSAnnotator.smart.msg.success')); - } - } catch (error: any) { - message.error(localeText('DDSAnnotator.smart.msg.error')); - setDrawDataWithHistory((s) => { - s.prompt.creatingPrompt = undefined; - }); - } finally { - setLoading(false); - } - }; - - const getCurrVisibleBbox = () => { - // record visible area currently for model prediction - const { xmin, ymin, xmax, ymax } = getVisibleAreaForImage( - imagePos.current, - clientSize, - containerMouse, - ); - let area = [0, 0, naturalSize.width, naturalSize.height]; - if (xmax > 0 && ymax > 0) { - const { x: x1, y: y1 } = translatePointZoom( - { - x: xmin, - y: ymin, - }, - clientSize, - naturalSize, - ); - const { x: x2, y: y2 } = translatePointZoom( - { - x: xmax, - y: ymax, - }, - clientSize, - naturalSize, - ); - area = [Math.round(x1), Math.round(y1), Math.round(x2), Math.round(y2)]; - } - return area; - }; - - const requestAiSegmentByPolygon = async ( - drawData: DrawData, - promptsQueue?: PromptItem[], - ) => { - if (!currImageItem || !promptsQueue) return; - - const reqParams = { - image: editState.imageCacheIdForPolygon - ? `image_id://${editState.imageCacheIdForPolygon}` - : await getImageBase64(currImageItem.url), - density: drawData.pointResolution, - area: getCurrVisibleBbox(), - prompts: convertPromptFormat(promptsQueue || []), - }; - - if (drawData.prompt.sessionId) { - Object.assign(reqParams, { sessionId: drawData.prompt.sessionId }); - } - - try { - setLoading(true); - const { result } = - await fetchModelResults( - EnumModelType.SegmentByPolygon, - reqParams, - ); - if (result) { - const { image, polygons, sessionId } = result; - - if (polygons && polygons.length > 0) { - const predictPolygons = polygons - .filter((item) => { - return item.length >= 6; - }) - .map((item) => { - const result: IPolygon = []; - for (let i = 0; i < item.length; i += 2) { - const x = item[i]; - const y = item[i + 1]; - const canvasPoint = getCanvasPoint( - [x, y], - naturalSize, - clientSize, - ); - result.push(canvasPoint); - } - return result; - }); - - const creatingObj = { - type: EObjectType.Polygon, - hidden: false, - labelId: editState.latestLabelId, - color: - drawData.creatingObject?.color || - getAnnotColor(editState.latestLabelId), - currIndex: -1, - polygon: { - visible: true, - group: predictPolygons, - }, - status: EObjectStatus.Checked, - }; - - setDrawDataWithHistory((s) => { - s.creatingObject = creatingObj; - s.prompt.promptsQueue = promptsQueue; - s.prompt.sessionId = sessionId; - s.prompt.creatingPrompt = undefined; - }); - setEditState((s) => { - s.imageCacheIdForPolygon = image.replace(/^image_id:\/\//, ''); - }); - message.success(localeText('DDSAnnotator.smart.msg.success')); - } - } - } catch (error: any) { - message.error(localeText('DDSAnnotator.smart.msg.error')); - setDrawDataWithHistory((s) => { - s.prompt.creatingPrompt = undefined; - }); - } finally { - setLoading(false); - } - }; - - const requestAiSegmentByMask = async ( - drawData: DrawData, - promptsQueue?: PromptItem[], - ) => { - if (!promptsQueue || !currImageItem) return; - - const reqParams: NsApiAnnotator.FetchAIMaskSegmentReq = { - prompts: convertPromptFormat(promptsQueue || []), - }; - if (drawData.prompt.sessionId) { - Object.assign(reqParams, { sessionId: drawData.prompt.sessionId }); - } else { - Object.assign(reqParams, { - image: await getServerAddressableUrl(currImageItem.url), - }); - } - - try { - setLoading(true); - const { result, sessionId } = - await fetchModelResults( - EnumModelType.SegmentByMask, - reqParams, - ); - if (result) { - const { mask } = result; - const color = - drawData.creatingObject?.color || - getAnnotColor(editState.latestLabelId); - const maskRleStr = mask.counts || ''; - const creatingObj = { - type: EObjectType.Mask, - hidden: false, - labelId: editState.latestLabelId, - currIndex: -1, - maskCanvasElement: rleToCanvas(maskRleStr, naturalSize, color), - maskRle: maskRleStr, - status: EObjectStatus.Checked, - color, - }; - setDrawDataWithHistory((s) => { - s.creatingObject = creatingObj; - s.prompt.promptsQueue = promptsQueue; - s.prompt.sessionId = sessionId; - s.prompt.creatingPrompt = undefined; - }); - message.success(localeText('DDSAnnotator.smart.msg.success')); - } - } catch (error: any) { - message.error(localeText('DDSAnnotator.smart.msg.error')); - setDrawDataWithHistory((s) => { - s.prompt.creatingPrompt = undefined; - }); - } finally { - setLoading(false); - } - }; - - const requestAiPoseEstimation = async ( - drawData: DrawData, - aiLabels: string, - ) => { - if (!currImageItem) return; - - // TODO: Integrate custom templates - const { lines, pointNames, pointColors } = BODY_TEMPLATE; - const reqParams = { - image: await getImageBase64(currImageItem.url), - targets: aiLabels, - template: { - lines, - pointNames, - pointColors, - }, - }; - - if (drawData.isBatchEditing) { - const objectList = [...drawData.objectList]; - if ( - drawData.activeObjectIndex > -1 && - objectList[drawData.activeObjectIndex] && - drawData.creatingObject - ) { - // update creating object - objectList[drawData.activeObjectIndex] = { - ...objectList[drawData.activeObjectIndex], - ...drawData.creatingObject, - }; - } - const skeletonObjs = objectList.filter( - (obj) => - obj.type === EObjectType.Skeleton && - obj.status === EObjectStatus.Checked, - ); - if (skeletonObjs.length > 0) { - const objects = skeletonObjs.map((item) => { - return { - categoryName: aiLabels, - points: item.keypoints - ? translatePointObjsToPointAttrs( - item.keypoints.points, - naturalSize, - clientSize, - ).points - : undefined, - boundingBox: item.rect - ? translateRectToBoundingBox(item.rect, clientSize) - : undefined, - }; - }); - Object.assign(reqParams, { objects }); - } - } - - try { - setLoading(true); - const { result } = await fetchModelResults( - EnumModelType.Pose, - reqParams, - ); - - if (result) { - const { objects } = result; - - if (objects && objects.length > 0) { - const skeletonObjs = objects.map((obj) => { - let { boundingBox, points, conf } = obj; - const newObj: IAnnotationObject = { - labelId: editState.latestLabelId, - color: getAnnotColor(editState.latestLabelId), - type: EObjectType.Skeleton, - hidden: false, - conf, - status: EObjectStatus.Checked, - }; - if (boundingBox) { - const rect = translateBoundingBoxToRect(boundingBox!, clientSize); - Object.assign(newObj, { rect: { visible: true, ...rect } }); - } - if (points && lines && pointColors && pointNames) { - const pointObjs = translatePointsToPointObjs( - points, - pointNames, - pointColors, - naturalSize, - clientSize, - ); - Object.assign(newObj, { - keypoints: { - points: pointObjs, - lines, - }, - }); - } - return newObj; - }); - - setDrawDataWithHistory((s) => { - if (!s.isBatchEditing) { - s.isBatchEditing = true; - } - const commitedObjects = s.objectList.filter( - (obj) => obj.status === EObjectStatus.Commited, - ); - s.objectList = [...commitedObjects, ...skeletonObjs]; - if (s.creatingObject && s.objectList[s.activeObjectIndex]) { - s.creatingObject = { ...s.objectList[s.activeObjectIndex] }; - } - }); - - message.success(localeText('DDSAnnotator.smart.msg.success')); - } - } - } catch (error: any) { - message.error(localeText('DDSAnnotator.smart.msg.error')); - } finally { - setLoading(false); - } - }; - - const requestEdgeStitchingForMask = async (drawData: DrawData) => { - if ( - !currImageItem || - !drawData.prompt.creatingPrompt?.stroke || - !drawData.prompt.creatingPrompt?.radius - ) - return; - - const { stroke, radius } = drawData.prompt.creatingPrompt; - - const maskObjects = drawData.objectList.filter( - (item) => item.type === EObjectType.Mask, - ); - - if (maskObjects.length < 2) { - message.error( - 'To ensure valid results when using intelligent edge stitching, make sure to use at least 2 mask objects.', - ); - setDrawData((s) => { - s.prompt.creatingPrompt = undefined; - }); - return; - } - - const masks: IMask[] = maskObjects.map((item) => ({ - counts: item.maskRle || '', - size: [naturalSize.height, naturalSize.width], - })); - - const points = stroke.reduce((acc: number[], point: IPoint) => { - const { x, y } = point; - const naturalPoint = getNaturalPoint([x, y], naturalSize, clientSize); - return acc.concat([naturalPoint.x, naturalPoint.y]); - }, []); - - const reqParams: NsApiAnnotator.FetchEdgeStitchingReq = { - masks, - prompts: [ - { - type: EPromptType.Stroke, - stroke: points, - radius, - }, - ], - }; - if (drawData.prompt.sessionId) { - Object.assign(reqParams, { sessionId: drawData.prompt.sessionId }); - } else { - Object.assign(reqParams, { - image: await getServerAddressableUrl(currImageItem.url), - }); - } - - try { - setLoading(true); - const { result, sessionId } = - await fetchModelResults( - EnumModelType.MaskEdgeStitching, - reqParams, - ); - if (result && result.masks?.length > 0) { - const newMaskObjects = maskObjects.map((item, index) => { - const maskRleStr = result.masks?.[index]?.counts || ''; - return { - ...item, - maskRle: maskRleStr, - maskCanvasElement: rleToCanvas(maskRleStr, naturalSize, item.color), - }; - }); - - // Replace all instances of the mask type - const leftObjs = drawData.objectList.filter( - (obj) => obj.type !== EObjectType.Mask, - ); - - setDrawDataWithHistory((s) => { - s.objectList = [...leftObjs, ...newMaskObjects]; - s.prompt.creatingPrompt = undefined; - s.prompt.sessionId = sessionId; - }); - - message.success(localeText('DDSAnnotator.smart.msg.success')); - } - } catch (error: any) { - message.error(localeText('DDSAnnotator.smart.msg.error')); - setDrawDataWithHistory((s) => { - s.prompt.creatingPrompt = undefined; - }); - } finally { - setLoading(false); - } - }; - - const requestSegmentEverything = async ( - params?: NsApiAnnotator.SegmentEverythingParams, - ) => { - if (!currImageItem) return; - - const reqParams: NsApiAnnotator.FetchSegmentEverythingReq = { - image: await getServerAddressableUrl(currImageItem.url), - ...params, - }; - - try { - setLoading(true); - const { result } = - await fetchModelResults( - EnumModelType.SegmentEverything, - reqParams, - ); - if (result && result.masks?.length > 0) { - // change to display different color - setEditState((s) => { - s.annotsDisplayOptions.colorByCategory = false; - }); - const maskObjects: IAnnotationObject[] = result.masks.map((item) => { - const color = getAnnotColor(editState.latestLabelId); - const maskRleStr = item?.counts || ''; - return { - type: EObjectType.Mask, - hidden: false, - labelId: editState.latestLabelId, - maskRle: maskRleStr, - maskCanvasElement: rleToCanvas(maskRleStr, naturalSize, color), - conf: 1, - status: EObjectStatus.Checked, - color, - }; - }); - setDrawDataWithHistory((s) => { - s.objectList = maskObjects; - s.isBatchEditing = true; - }); - message.success(localeText('DDSAnnotator.smart.msg.success')); - } - } catch (error: any) { - message.error(localeText('DDSAnnotator.smart.msg.error')); - } finally { - setLoading(false); - } - }; - - const onAiAnnotation: OnAiAnnotationFunc = useCallback( - async ({ - type, - drawData: propsDrawData, - aiLabels, - promptsQueue, - segmentEverythingParams, - }) => { - if (isRequiring) return; - - const drawData = propsDrawData || editorDrawData; - - if ( - !aiLabels && - (drawData.selectedTool === EBasicToolItem.Skeleton || - (drawData.selectedTool === EBasicToolItem.Rectangle && - drawData.selectedModel[drawData.selectedTool] === - EnumModelType.Detection)) - ) { - message.warning(localeText('DDSAnnotator.smart.msg.labelRequired')); - return; - } - - const hide = message.loading( - localeText('DDSAnnotator.smart.msg.loading'), - 100000, - ); - try { - setIsRequiring(true); - const aiType = type || EBasicToolTypeMap[drawData.selectedTool]; - switch (aiType) { - case EObjectType.Rectangle: { - if ( - drawData.selectedModel[drawData.selectedTool] === - EnumModelType.Detection - ) { - await requestAiDetection(aiLabels || ''); - } else { - await requestIvpDetection(drawData, promptsQueue); - } - break; - } - case EObjectType.Skeleton: { - await requestAiPoseEstimation(drawData, aiLabels || ''); - break; - } - case EObjectType.Polygon: { - await requestAiSegmentByPolygon(drawData, promptsQueue); - break; - } - case EObjectType.Mask: { - const model = drawData.selectedModel[drawData.selectedTool]; - if (model === EnumModelType.SegmentEverything) { - if (drawData.selectedSubTool === ESubToolItem.AutoEdgeStitching) { - await requestEdgeStitchingForMask(drawData); - } else if ( - drawData.selectedSubTool === ESubToolItem.AutoSegmentEverything - ) { - await requestSegmentEverything(segmentEverythingParams); - } - } else if (model === EnumModelType.IVP) { - await requestIvpMask(drawData, promptsQueue); - } else { - await requestAiSegmentByMask(drawData, promptsQueue); - } - break; - } - default: - message.warning('Plan to Support!'); - break; - } - } catch (error) { - message.error(localeText('DDSAnnotator.smart.msg.error')); - } finally { - setIsRequiring(false); - setDrawData((s) => { - s.prompt.activeRectWhileLoading = undefined; - }); - hide(); - } - }, - [editorDrawData], - ); - const translateDrawData = useCallback( (drawData: DrawData): [string, any[], any] => { let objectList = []; @@ -1131,7 +236,6 @@ const useActions = ({ }; return { - onAiAnnotation, onSaveAnnotations, onCommitAnnotations, onCancelAnnotations, diff --git a/packages/components/src/Annotator/hooks/useAiModels.ts b/packages/components/src/Annotator/hooks/useAiModels.ts new file mode 100644 index 0000000..de7bce4 --- /dev/null +++ b/packages/components/src/Annotator/hooks/useAiModels.ts @@ -0,0 +1,792 @@ +import { useModel } from '@umijs/max'; +import { message } from 'antd'; +import { useLocale } from 'dds-utils/locale'; +import { useCallback } from 'react'; +import { Updater } from 'use-immer'; + +import { + BODY_TEMPLATE, + EBasicToolTypeMap, + EnumModelType, + EObjectType, + ESubToolItem, +} from '../constants'; +import { NsApiAnnotator, fetchModelResults } from '../sevices'; +import { rleToCanvas } from '../tools/useMask'; +import { + DrawData, + AnnoItem, + EditState, + IAnnotationObject, + PromptItem, + EObjectStatus, + EPromptType, + ReqPromptItem, + IMask, +} from '../type'; +import { getServerAddressableUrl } from '../utils/base64'; +import { + translateRectToAbsBbox, + getCanvasPoint, + getNaturalPoint, + translateRectZoom, + translateAbsBBoxToRect, + translatePointsToRect, + translateRectToPointsArray, + newTranslatePointsToPointObjs, + newTranslatePointObjsToPointAttrs, +} from '../utils/compute'; + +interface IProps { + currImageItem?: AnnoItem; + drawData: DrawData; + setDrawData: Updater; + setDrawDataWithHistory: Updater; + editState: EditState; + setEditState: Updater; + naturalSize: ISize; + clientSize: ISize; + getAnnotColor: (category: string, forceColorByCategory?: boolean) => string; +} + +export type OnAiAnnotationFunc = ({ + type, + drawData, + aiLabels, + bbox, + promptsQueue, + segmentationClicks, + segmentEverythingParams, +}: { + type?: EObjectType; + drawData?: DrawData; + aiLabels?: string; + bbox?: IBoundingBox; + promptsQueue?: PromptItem[]; + segmentationClicks?: { + point: IPoint; + isPositive: boolean; + }[]; + segmentEverythingParams?: NsApiAnnotator.FetchSegmentEverythingReq; +}) => Promise; + +const useAiModels = ({ + currImageItem, + drawData: editorDrawData, + setDrawData, + setDrawDataWithHistory, + editState, + setEditState, + naturalSize, + clientSize, + getAnnotColor, +}: IProps) => { + const { localeText } = useLocale(); + const { setLoading } = useModel('global'); + + const fetchCommonReqParams = async ( + drawData: DrawData, + reqParams: T, + ): Promise => { + if (drawData.prompt.sessionId) { + Object.assign(reqParams, { sessionId: drawData.prompt.sessionId }); + } else if (currImageItem) { + Object.assign(reqParams, { + image: await getServerAddressableUrl(currImageItem.url), + }); + } + return reqParams; + }; + + const convertPromptFormat = (prompt: PromptItem[]): ReqPromptItem[] => { + const newPromptArr = prompt.map((item) => { + const { type, isPositive, point, rect, stroke, radius, polygons } = item; + + const newItem = { type, isPositive }; + + if (rect) { + const { xmax, xmin, ymax, ymin } = translateRectToAbsBbox(rect); + const topleftPoint = getNaturalPoint( + [xmin, ymin], + naturalSize, + clientSize, + ); + const bottomRightPoint = getNaturalPoint( + [xmax, ymax], + naturalSize, + clientSize, + ); + Object.assign(newItem, { + rect: [ + topleftPoint.x, + topleftPoint.y, + bottomRightPoint.x, + bottomRightPoint.y, + ], + }); + } + + if (point) { + const naturalPoint = getNaturalPoint( + [point.x, point.y], + naturalSize, + clientSize, + ); + Object.assign(newItem, { + point: [naturalPoint.x, naturalPoint.y], + }); + } + + if (stroke) { + const points = stroke.reduce((acc: number[], point: IPoint) => { + const { x, y } = point; + const naturalPoint = getNaturalPoint([x, y], naturalSize, clientSize); + return acc.concat([naturalPoint.x, naturalPoint.y]); + }, []); + Object.assign(newItem, { + stroke: points, + radius, + }); + } + + if (polygons) { + const transformedPolygons = polygons.map((polygon) => { + const res = []; + for (let i = 0; i < polygon.length; i += 2) { + const transformedPoint = getNaturalPoint( + [polygon[i], polygon[i + 1]], + naturalSize, + clientSize, + ); + res.push(transformedPoint.x, transformedPoint.y); + } + return res; + }); + Object.assign(newItem, { + polygons: transformedPolygons, + }); + } + + return newItem; + }); + + return newPromptArr; + }; + + const requestAiDetection = async (drawData: DrawData, aiLabels: string) => { + if (!aiLabels) { + message.warning(localeText('DDSAnnotator.smart.msg.labelRequired')); + return; + } + + const reqParams = await fetchCommonReqParams(drawData, { + prompts: [ + { + type: EPromptType.Text, + text: aiLabels, + }, + ], + }); + + const { result, sessionId } = + await fetchModelResults( + EnumModelType.Detection, + reqParams, + ); + + if (result) { + const { objects, suggestThreshold } = result; + const limitConf = suggestThreshold || 0; + const maxScore = objects.reduce( + (max, item) => (item.score > max ? item.score : max), + objects[0]?.score || 0, + ); + const newObjects: IAnnotationObject[] = objects + .map((item) => { + // mouse.elementW is not necessarily identical to the size during initialization transformation + const rect = { + ...translatePointsToRect(item.bbox, naturalSize, clientSize), + }; + const conf = item.score / maxScore; + return { + rect: { ...rect, visible: true }, + labelId: editState.latestLabelId, + type: EObjectType.Rectangle, + hidden: false, + status: + conf >= limitConf + ? EObjectStatus.Checked + : EObjectStatus.Unchecked, + conf, + color: getAnnotColor(editState.latestLabelId, true), + }; + }) + .reverse(); + setDrawDataWithHistory((s) => { + s.isBatchEditing = true; + s.limitConf = limitConf; + const commitedObjects = s.objectList.filter( + (obj) => obj?.status === EObjectStatus.Commited, + ); + s.objectList = [...commitedObjects, ...newObjects]; + if (s.creatingObject && s.objectList[s.activeObjectIndex]) { + s.creatingObject = { ...s.objectList[s.activeObjectIndex] }; + } + s.prompt.sessionId = sessionId; + }); + return true; + } + }; + + const requestIvpDetection = async ( + drawData: DrawData, + promptsQueue?: PromptItem[], + ) => { + if (!currImageItem || !promptsQueue) return; + + const reqParams = { + prompts: convertPromptFormat(promptsQueue || []), + labelTypes: ['bbox'], + }; + if (drawData.prompt.sessionId) { + Object.assign(reqParams, { sessionId: drawData.prompt.sessionId }); + } else { + const url = await getServerAddressableUrl(currImageItem.url); + Object.assign(reqParams, { + promptImage: url, + inferImage: url, + }); + } + + const { result, sessionId } = await fetchModelResults( + EnumModelType.IVP, + reqParams, + ); + + if (result) { + const { objects } = result; + const limitConf = 0.3; + const newObjects: IAnnotationObject[] = objects + .filter((item) => { + return item.bbox; + }) + .map((item) => { + const [xmin, ymin, xmax, ymax] = item.bbox!; + const rect = translateRectZoom( + translateAbsBBoxToRect({ xmin, ymin, xmax, ymax }), + naturalSize, + clientSize, + ); + return { + rect: { ...rect, visible: true }, + labelId: editState.latestLabelId, + type: EObjectType.Rectangle, + hidden: false, + status: + item.score >= limitConf + ? EObjectStatus.Checked + : EObjectStatus.Unchecked, + conf: item.score, + color: getAnnotColor(editState.latestLabelId, true), + }; + }) + .reverse(); + + setDrawDataWithHistory((s) => { + s.isBatchEditing = true; + s.limitConf = limitConf; + const commitedObjects = s.objectList.filter( + (obj) => obj.status === EObjectStatus.Commited, + ); + s.objectList = [...commitedObjects, ...newObjects]; + if (s.creatingObject && s.objectList[s.activeObjectIndex]) { + s.creatingObject = { ...s.objectList[s.activeObjectIndex] }; + } + s.prompt.promptsQueue = promptsQueue; + s.prompt.sessionId = sessionId; + s.prompt.creatingPrompt = undefined; + }); + return true; + } + }; + + const requestIvpMask = async ( + drawData: DrawData, + promptsQueue?: PromptItem[], + ) => { + if (!currImageItem || !promptsQueue) return; + + const reqParams = { + prompts: convertPromptFormat(promptsQueue || []), + labelTypes: ['mask'], + }; + if (drawData.prompt.sessionId) { + Object.assign(reqParams, { sessionId: drawData.prompt.sessionId }); + } else { + const url = await getServerAddressableUrl(currImageItem.url); + Object.assign(reqParams, { + promptImage: url, + inferImage: url, + }); + } + + const { result, sessionId } = await fetchModelResults( + EnumModelType.IVP, + reqParams, + ); + + if (result) { + // Display mask in different color + setEditState((s) => { + s.annotsDisplayOptions.colorByCategory = false; + }); + + const { objects } = result; + const newObjects: IAnnotationObject[] = objects + .filter((item) => !!item.mask) + .map((item) => { + const color = getAnnotColor(editState.latestLabelId); + const maskRleStr = item.mask?.counts || ''; + return { + type: EObjectType.Mask, + hidden: false, + labelId: editState.latestLabelId, + maskRle: maskRleStr, + maskCanvasElement: rleToCanvas(maskRleStr, naturalSize, color), + status: EObjectStatus.Checked, + conf: item.score, + color: getAnnotColor(editState.latestLabelId, true), + }; + }); + + setDrawDataWithHistory((s) => { + s.isBatchEditing = true; + const commitedObjects = s.objectList.filter( + (obj) => obj.status === EObjectStatus.Commited, + ); + s.objectList = [...commitedObjects, ...newObjects]; + if (s.creatingObject && s.objectList[s.activeObjectIndex]) { + s.creatingObject = { ...s.objectList[s.activeObjectIndex] }; + } + s.prompt.promptsQueue = promptsQueue; + s.prompt.sessionId = sessionId; + s.prompt.creatingPrompt = undefined; + }); + return true; + } + }; + + const requestAiSegmentByPolygon = async ( + drawData: DrawData, + promptsQueue?: PromptItem[], + ) => { + if (!promptsQueue) return; + + const reqParams = await fetchCommonReqParams(drawData, { + density: drawData.pointResolution, + prompts: convertPromptFormat(promptsQueue || []), + }); + + const { result, sessionId } = + await fetchModelResults( + EnumModelType.SegmentByPolygon, + reqParams, + ); + if (result) { + const { polygons } = result; + + if (polygons && polygons.length > 0) { + const predictPolygons = polygons + .filter((item) => { + return item.length >= 6; + }) + .map((item) => { + const result: IPolygon = []; + for (let i = 0; i < item.length; i += 2) { + const x = item[i]; + const y = item[i + 1]; + const canvasPoint = getCanvasPoint( + [x, y], + naturalSize, + clientSize, + ); + result.push(canvasPoint); + } + return result; + }); + + const creatingObj = { + type: EObjectType.Polygon, + hidden: false, + labelId: editState.latestLabelId, + color: + drawData.creatingObject?.color || + getAnnotColor(editState.latestLabelId), + currIndex: -1, + polygon: { + visible: true, + group: predictPolygons, + }, + status: EObjectStatus.Checked, + }; + + setDrawDataWithHistory((s) => { + s.creatingObject = creatingObj; + s.prompt.promptsQueue = promptsQueue; + s.prompt.sessionId = sessionId; + s.prompt.creatingPrompt = undefined; + }); + return true; + } + } + }; + + const requestAiSegmentByMask = async ( + drawData: DrawData, + promptsQueue?: PromptItem[], + ) => { + if (!promptsQueue) return; + + const reqParams = await fetchCommonReqParams(drawData, { + prompts: convertPromptFormat(promptsQueue || []), + }); + + const { result, sessionId } = + await fetchModelResults( + EnumModelType.SegmentByMask, + reqParams, + ); + if (result) { + const { mask } = result; + const color = + drawData.creatingObject?.color || + getAnnotColor(editState.latestLabelId); + const maskRleStr = mask.counts || ''; + const creatingObj = { + type: EObjectType.Mask, + hidden: false, + labelId: editState.latestLabelId, + currIndex: -1, + maskCanvasElement: rleToCanvas(maskRleStr, naturalSize, color), + maskRle: maskRleStr, + status: EObjectStatus.Checked, + color, + }; + setDrawDataWithHistory((s) => { + s.creatingObject = creatingObj; + s.prompt.promptsQueue = promptsQueue; + s.prompt.sessionId = sessionId; + s.prompt.creatingPrompt = undefined; + }); + return true; + } + }; + + const requestAiPoseEstimation = async (drawData: DrawData) => { + // TODO: Integrate custom templates + const { lines, pointNames, pointColors } = BODY_TEMPLATE; + const reqParams = await fetchCommonReqParams(drawData, {}); + if (drawData.isBatchEditing) { + const objectList = [...drawData.objectList]; + if ( + drawData.activeObjectIndex > -1 && + objectList[drawData.activeObjectIndex] && + drawData.creatingObject + ) { + // update creating object + objectList[drawData.activeObjectIndex] = { + ...objectList[drawData.activeObjectIndex], + ...drawData.creatingObject, + }; + } + const skeletonObjs = objectList.filter( + (obj) => + obj.type === EObjectType.Skeleton && + obj.status === EObjectStatus.Checked, + ); + if (skeletonObjs.length > 0) { + const objects = skeletonObjs.map((item) => { + return { + keypoints: item.keypoints + ? newTranslatePointObjsToPointAttrs( + item.keypoints.points, + naturalSize, + clientSize, + ).points + : undefined, + bbox: item.rect + ? translateRectToPointsArray(item.rect, clientSize, naturalSize) + : undefined, + }; + }); + Object.assign(reqParams, { objects }); + } + } + + const { result, sessionId } = await fetchModelResults( + EnumModelType.Pose, + reqParams, + ); + + if (result) { + const { objects } = result; + if (objects && objects.length > 0) { + const skeletonObjs = objects.map((obj) => { + let { bbox, keypoints, score } = obj; + const newObj: IAnnotationObject = { + labelId: editState.latestLabelId, + color: getAnnotColor(editState.latestLabelId), + type: EObjectType.Skeleton, + hidden: false, + conf: score, + status: EObjectStatus.Checked, + }; + if (bbox) { + const rect = translatePointsToRect(bbox, naturalSize, clientSize); + Object.assign(newObj, { rect: { visible: true, ...rect } }); + } + if (keypoints && lines && pointColors && pointNames) { + const pointObjs = newTranslatePointsToPointObjs( + keypoints, + pointNames, + pointColors, + naturalSize, + clientSize, + ); + Object.assign(newObj, { + keypoints: { + points: pointObjs, + lines, + }, + }); + } + return newObj; + }); + + setDrawDataWithHistory((s) => { + if (!s.isBatchEditing) { + s.isBatchEditing = true; + } + const commitedObjects = s.objectList.filter( + (obj) => obj.status === EObjectStatus.Commited, + ); + s.objectList = [...commitedObjects, ...skeletonObjs]; + if (s.creatingObject && s.objectList[s.activeObjectIndex]) { + s.creatingObject = { ...s.objectList[s.activeObjectIndex] }; + } + s.prompt.sessionId = sessionId; + }); + return true; + } + } + }; + + const requestEdgeStitchingForMask = async (drawData: DrawData) => { + if ( + !drawData.prompt.creatingPrompt?.stroke || + !drawData.prompt.creatingPrompt?.radius + ) + return; + + const { stroke, radius } = drawData.prompt.creatingPrompt; + + const maskObjects = drawData.objectList.filter( + (item) => item.type === EObjectType.Mask, + ); + + if (maskObjects.length < 2) { + message.error(localeText('DDSAnnotator.smart.tip.edgeStitchError')); + setDrawData((s) => { + s.prompt.creatingPrompt = undefined; + }); + return; + } + + const masks: IMask[] = maskObjects.map((item) => ({ + counts: item.maskRle || '', + size: [naturalSize.height, naturalSize.width], + })); + + const points = stroke.reduce((acc: number[], point: IPoint) => { + const { x, y } = point; + const naturalPoint = getNaturalPoint([x, y], naturalSize, clientSize); + return acc.concat([naturalPoint.x, naturalPoint.y]); + }, []); + + const reqParams = await fetchCommonReqParams(drawData, { + masks, + prompts: [ + { + type: EPromptType.Stroke, + stroke: points, + radius, + }, + ], + }); + + const { result, sessionId } = + await fetchModelResults( + EnumModelType.MaskEdgeStitching, + reqParams, + ); + if (result && result.masks?.length > 0) { + const newMaskObjects = maskObjects.map((item, index) => { + const maskRleStr = result.masks?.[index]?.counts || ''; + return { + ...item, + maskRle: maskRleStr, + maskCanvasElement: rleToCanvas(maskRleStr, naturalSize, item.color), + }; + }); + + // Replace all instances of the mask type + const leftObjs = drawData.objectList.filter( + (obj) => obj.type !== EObjectType.Mask, + ); + + setDrawDataWithHistory((s) => { + s.objectList = [...leftObjs, ...newMaskObjects]; + s.prompt.creatingPrompt = undefined; + s.prompt.sessionId = sessionId; + }); + return true; + } + }; + + const requestSegmentEverything = async ( + params?: NsApiAnnotator.FetchSegmentEverythingReq, + ) => { + if (!currImageItem) return; + + const reqParams = { + image: await getServerAddressableUrl(currImageItem.url), + ...params, + }; + + const { result } = await fetchModelResults( + EnumModelType.SegmentEverything, + reqParams, + ); + if (result && result.masks?.length > 0) { + // change to display different color + setEditState((s) => { + s.annotsDisplayOptions.colorByCategory = false; + }); + const maskObjects: IAnnotationObject[] = result.masks.map((item) => { + const color = getAnnotColor(editState.latestLabelId); + const maskRleStr = item?.counts || ''; + return { + type: EObjectType.Mask, + hidden: false, + labelId: editState.latestLabelId, + maskRle: maskRleStr, + maskCanvasElement: rleToCanvas(maskRleStr, naturalSize, color), + conf: 1, + status: EObjectStatus.Checked, + color, + }; + }); + setDrawDataWithHistory((s) => { + s.objectList = maskObjects; + s.isBatchEditing = true; + }); + return true; + } + }; + + const onAiAnnotation: OnAiAnnotationFunc = useCallback( + async ({ + type, + drawData: propsDrawData, + aiLabels, + promptsQueue, + segmentEverythingParams, + }) => { + if (editState.isRequiring || !currImageItem) return; + + const drawData = propsDrawData || editorDrawData; + + const hide = message.loading( + localeText('DDSAnnotator.smart.msg.loading'), + 100000, + ); + try { + setLoading(true); + setEditState((s) => { + s.isRequiring = true; + }); + const aiType = type || EBasicToolTypeMap[drawData.selectedTool]; + let isSuccess; + switch (aiType) { + case EObjectType.Rectangle: { + if ( + drawData.selectedModel[drawData.selectedTool] === + EnumModelType.Detection + ) { + isSuccess = await requestAiDetection(drawData, aiLabels || ''); + } else { + isSuccess = await requestIvpDetection(drawData, promptsQueue); + } + break; + } + case EObjectType.Skeleton: { + isSuccess = await requestAiPoseEstimation(drawData); + break; + } + case EObjectType.Polygon: { + isSuccess = await requestAiSegmentByPolygon(drawData, promptsQueue); + break; + } + case EObjectType.Mask: { + const model = drawData.selectedModel[drawData.selectedTool]; + if (model === EnumModelType.SegmentEverything) { + if (drawData.selectedSubTool === ESubToolItem.AutoEdgeStitching) { + isSuccess = await requestEdgeStitchingForMask(drawData); + } else if ( + drawData.selectedSubTool === ESubToolItem.AutoSegmentEverything + ) { + isSuccess = await requestSegmentEverything( + segmentEverythingParams, + ); + } + } else if (model === EnumModelType.IVP) { + isSuccess = await requestIvpMask(drawData, promptsQueue); + } else { + isSuccess = await requestAiSegmentByMask(drawData, promptsQueue); + } + break; + } + default: + message.warning('Plan to Support!'); + break; + } + if (isSuccess) { + message.success(localeText('DDSAnnotator.smart.msg.success')); + } + } catch (error) { + setDrawDataWithHistory((s) => { + if (s.prompt.creatingPrompt) { + s.prompt.creatingPrompt = undefined; + } + }); + message.error(localeText('DDSAnnotator.smart.msg.error')); + } finally { + setLoading(false); + setEditState((s) => { + s.isRequiring = false; + }); + setDrawData((s) => { + s.prompt.activeRectWhileLoading = undefined; + }); + hide(); + } + }, + [editorDrawData], + ); + + return { + onAiAnnotation, + }; +}; + +export default useAiModels; diff --git a/packages/components/src/Annotator/hooks/useMouseEvents.tsx b/packages/components/src/Annotator/hooks/useMouseEvents.tsx index 19a230d..ec25be2 100644 --- a/packages/components/src/Annotator/hooks/useMouseEvents.tsx +++ b/packages/components/src/Annotator/hooks/useMouseEvents.tsx @@ -162,7 +162,6 @@ const useMouseEvents = ({ } else { setMoveVisibleAreaInterval(undefined); } - updateRender(); }; const getFocusFilter = () => { @@ -273,9 +272,9 @@ const useMouseEvents = ({ }); } else { s.activeObjectIndex = index; - if (!drawData.objectList[index].frameEmpty) { + if (!s.objectList[index]?.frameEmpty) { s.creatingObject = { - ...drawData.objectList[index], + ...s.objectList[index], currIndex: undefined, startPoint: undefined, tempMaskSteps: [], @@ -445,7 +444,13 @@ const useMouseEvents = ({ }, ) ) { - checkContainerVisibleArea(); + const noUnfinishedMaskStep = + drawData.creatingObject.type === EObjectType.Mask && + !drawData.creatingObject?.maskStep; + if (!noUnfinishedMaskStep) { + checkContainerVisibleArea(); + } + updateRender(); return; } } else if ( @@ -461,7 +466,12 @@ const useMouseEvents = ({ object: drawData.creatingObject, }) ) { - checkContainerVisibleArea(); + const noUnfinishedMaskStep = + objectType === EObjectType.Mask && !drawData.creatingObject?.maskStep; + if (!noUnfinishedMaskStep) { + checkContainerVisibleArea(); + } + updateRender(); return; } } diff --git a/packages/components/src/Annotator/hooks/useSubtools.tsx b/packages/components/src/Annotator/hooks/useSubtools.tsx index c28cc87..9a33827 100644 --- a/packages/components/src/Annotator/hooks/useSubtools.tsx +++ b/packages/components/src/Annotator/hooks/useSubtools.tsx @@ -55,46 +55,36 @@ const useSubTools = ({ drawData, onChangePointResolution }: IProps) => { ); }, [drawData.objectList, drawData.creatingObject, drawData.isBatchEditing]); - const isManualAvailable = useMemo(() => { - return ( - !drawData.prompt.sessionId && - !( - drawData.prompt.promptsQueue && drawData.prompt.promptsQueue.length > 0 - ) && - !drawData.isBatchEditing - ); - }, [drawData.prompt, drawData.isBatchEditing]); - const basicMaskTools: TToolItem[] = useMemo( () => [ { key: ESubToolItem.PenAdd, name: localeText('DDSAnnotator.subtoolbar.mask.penAdd'), icon: , - available: isManualAvailable, + available: true, }, { key: ESubToolItem.PenErase, name: localeText('DDSAnnotator.subtoolbar.mask.penErase'), icon: , - available: isManualAvailable && !!drawData.creatingObject, + available: !!drawData.creatingObject, }, { key: ESubToolItem.BrushAdd, name: localeText('DDSAnnotator.subtoolbar.mask.brushAdd'), icon: , - available: isManualAvailable, + available: true, withSize: true, }, { key: ESubToolItem.BrushErase, name: localeText('DDSAnnotator.subtoolbar.mask.brushErase'), icon: , - available: isManualAvailable && !!drawData.creatingObject, + available: !!drawData.creatingObject, withSize: true, }, ], - [isManualAvailable, drawData.creatingObject], + [drawData.creatingObject], ); const isgTools: TToolItem[] = useMemo(() => { @@ -160,10 +150,12 @@ const useSubTools = ({ drawData, onChangePointResolution }: IProps) => { key: ESubToolItem.NegativeVisualPrompt, name: localeText('DDSAnnotator.subtoolbar.visualprompt.negative'), icon: , - available: true, + available: !!drawData.prompt.promptsQueue?.some( + (item) => item.isPositive, + ), }, ]; - }, []); + }, [drawData.prompt]); const samTools: TToolItem[] = useMemo(() => { return [ @@ -187,26 +179,26 @@ const useSubTools = ({ drawData, onChangePointResolution }: IProps) => { }, [isSegEverythingAvailable]); const showSubTools = useMemo(() => { - if (drawData.selectedTool === EBasicToolItem.Mask) return true; + const { selectedTool, creatingObject, AIAnnotation, selectedModel } = + drawData; if ( - drawData.selectedTool === EBasicToolItem.Polygon && - drawData.AIAnnotation + selectedTool === EBasicToolItem.Mask || + creatingObject?.type === EObjectType.Mask ) return true; if ( - drawData.selectedTool === EBasicToolItem.Rectangle && - drawData.AIAnnotation && - drawData.selectedModel[drawData.selectedTool] === EnumModelType.IVP + selectedTool === EBasicToolItem.Rectangle && + AIAnnotation && + selectedModel[selectedTool] === EnumModelType.IVP ) return true; - if (drawData.creatingObject?.type === EObjectType.Mask) return true; - if ( - drawData.creatingObject?.type === EObjectType.Polygon && - drawData.AIAnnotation + (selectedTool === EBasicToolItem.Polygon || + creatingObject?.type === EObjectType.Polygon) && + AIAnnotation ) return true; diff --git a/packages/components/src/Annotator/hooks/useToolActions.ts b/packages/components/src/Annotator/hooks/useToolActions.ts index 087f456..84fe78c 100644 --- a/packages/components/src/Annotator/hooks/useToolActions.ts +++ b/packages/components/src/Annotator/hooks/useToolActions.ts @@ -9,6 +9,7 @@ import { EnumModelType, EObjectType, ESubToolItem, + TOOL_MODELS_MAP, } from '../constants'; import { objectToRle, rleToCanvas } from '../tools/useMask'; import { @@ -21,7 +22,7 @@ import { IAnnotsDisplayOptions, } from '../type'; -import { OnAiAnnotationFunc } from './useActions'; +import { OnAiAnnotationFunc } from './useAiModels'; interface IProps { mode: EditorMode; @@ -187,28 +188,24 @@ const useToolActions = ({ s.creatingObject = undefined; s.prompt = {}; s.activeObjectIndex = -1; - if ( - [ESubToolItem.PenErase, ESubToolItem.BrushErase].includes( - s.selectedSubTool, - ) - ) { + if (s.selectedSubTool === ESubToolItem.PenErase) { s.selectedSubTool = ESubToolItem.PenAdd; + } else if (s.selectedSubTool === ESubToolItem.BrushErase) { + s.selectedSubTool = ESubToolItem.BrushAdd; } }); setEditState((s) => { s.latestLabelId = labelId; }); }, - [drawData.creatingObject, drawData.activeObjectIndex, drawData.objectList], + [ + drawData.creatingObject, + drawData.activeObjectIndex, + drawData.objectList, + drawData.selectedSubTool, + ], ); - const onCloseAnnotationEditor = useCallback(() => { - setDrawData((s) => { - s.creatingObject = undefined; - s.activeObjectIndex = -1; - }); - }, []); - const onAcceptValidObjects = useCallback(() => { setDrawDataWithHistory((s) => { const validObjs = cloneDeep(drawData.objectList) @@ -244,9 +241,61 @@ const useToolActions = ({ }); }, [drawData.objectList]); + const isInAiSession = useCallback(() => { + const { + selectedTool, + AIAnnotation, + selectedModel, + selectedSubTool, + isBatchEditing, + creatingObject, + } = drawData; + + if (!AIAnnotation) return false; + + if (selectedTool === EBasicToolItem.Rectangle) { + return isBatchEditing; + } + + if (selectedTool === EBasicToolItem.Polygon) { + return creatingObject; + } + + if (selectedTool === EBasicToolItem.Skeleton) { + return isBatchEditing; + } + + if (selectedTool === EBasicToolItem.Mask) { + const currModel = selectedModel[selectedTool]; + if (currModel === EnumModelType.IVP) { + return isBatchEditing; + } + + if ( + currModel === EnumModelType.SegmentEverything && + selectedSubTool === ESubToolItem.AutoSegmentEverything + ) { + return isBatchEditing; + } + + if (currModel === EnumModelType.SegmentByMask) { + return creatingObject; + } + + return false; + } + return false; + }, [ + drawData.selectedTool, + drawData.selectedModel, + drawData.AIAnnotation, + drawData.selectedSubTool, + drawData.isBatchEditing, + drawData.creatingObject, + ]); + const selectTool = useCallback( (tool: EBasicToolItem) => { - console.log(drawData.selectedTool, drawData.AIAnnotation, tool); if ( mode !== EditorMode.Edit || (tool === drawData.selectedTool && !drawData.AIAnnotation) || @@ -254,6 +303,8 @@ const useToolActions = ({ ) return; + if (isInAiSession()) return; + setDrawData((s) => { s.selectedTool = tool; s.AIAnnotation = false; @@ -268,34 +319,46 @@ const useToolActions = ({ drawData.selectedTool, drawData.isBatchEditing, drawData.AIAnnotation, + isInAiSession, ], ); const selectSubTool = useCallback( - (tool: ESubToolItem) => { - if (mode !== EditorMode.Edit || tool === drawData.selectedSubTool) return; + (subtool: ESubToolItem) => { + const { + selectedTool, + selectedModel, + selectedSubTool, + AIAnnotation, + isBatchEditing, + } = drawData; + + if (mode !== EditorMode.Edit || subtool === selectedSubTool) return; + + // TODO: check subtool belong to current tool & model if ( - drawData.selectedTool === EBasicToolItem.Mask && - drawData.selectedModel[drawData.selectedTool] === - EnumModelType.SegmentEverything && - drawData.isBatchEditing + selectedTool === EBasicToolItem.Mask && + AIAnnotation && + selectedModel[selectedTool] === EnumModelType.SegmentEverything && + isBatchEditing ) { return; } setDrawData((s) => { - s.selectedSubTool = tool; + s.selectedSubTool = subtool; }); - - // save unfinished mask object - if (tool === ESubToolItem.AutoEdgeStitching && drawData.creatingObject) { - onFinishCurrCreate( - drawData.creatingObject.labelId || editState.latestLabelId || '', - ); - } }, - [mode, drawData.selectedSubTool, drawData.isBatchEditing], + [ + mode, + drawData.selectedTool, + drawData.AIAnnotation, + drawData.selectedModel, + drawData.isBatchEditing, + drawData.selectedSubTool, + isInAiSession, + ], ); const forceChangeTool = useCallback( @@ -379,17 +442,15 @@ const useToolActions = ({ const activeAIAnnotation = useCallback( (active: boolean) => { - if (!process.env.MODEL_API_PATH && active) { - displayAIModeUnavailableModal(); - return; - } - if (mode !== EditorMode.Edit || drawData.isBatchEditing || manualMode) - return; + if (mode !== EditorMode.Edit || manualMode) return; + + if (isInAiSession()) return; + setDrawData((s) => { s.AIAnnotation = active; }); }, - [mode, drawData.isBatchEditing], + [mode, manualMode, isInAiSession], ); const onChangeSkeletonConf = useCallback( @@ -480,11 +541,32 @@ const useToolActions = ({ updateAllObject(newObjectList); }, [drawData.objectList, getAnnotColor]); - const onSelectModel = useCallback((modelKey: EnumModelType) => { - setDrawData((s) => { - s.selectedModel[s.selectedTool] = modelKey; - }); - }, []); + const checkChangeModel = useCallback( + (modelKey: EnumModelType) => { + const { selectedTool } = drawData; + + const currModels = TOOL_MODELS_MAP[selectedTool]; + if (!currModels.includes(modelKey)) return false; + + if (isInAiSession()) return false; + + return true; + }, + [TOOL_MODELS_MAP, drawData.selectedTool, isInAiSession], + ); + + const onSelectModel = useCallback( + (modelKey: EnumModelType) => { + if (!checkChangeModel(modelKey)) { + return; + } + + setDrawData((s) => { + s.selectedModel[s.selectedTool] = modelKey; + }); + }, + [checkChangeModel], + ); useEffect(() => { setDrawData((s) => { @@ -529,7 +611,6 @@ const useToolActions = ({ return { onChangeObjectLabel, onFinishCurrCreate, - onCloseAnnotationEditor, onAcceptValidObjects, onAbortBatchObjects, selectTool, diff --git a/packages/components/src/Annotator/hooks/useTopTools.tsx b/packages/components/src/Annotator/hooks/useTopTools.tsx index c5d4803..8f0c7e2 100644 --- a/packages/components/src/Annotator/hooks/useTopTools.tsx +++ b/packages/components/src/Annotator/hooks/useTopTools.tsx @@ -172,6 +172,9 @@ const useTopTools = ({ ), }); + if (mode === EditorMode.Edit && fileName) { + actions.unshift({ customElement: <>{fileName} }); + } return actions; }, [ mode, diff --git a/packages/components/src/Annotator/index.less b/packages/components/src/Annotator/index.less index 5f1e56d..1757583 100644 --- a/packages/components/src/Annotator/index.less +++ b/packages/components/src/Annotator/index.less @@ -100,6 +100,7 @@ width: 100%; height: 100vh; background-color: #000; + border-radius: 0; overflow: hidden; .editor-container { diff --git a/packages/components/src/Annotator/sevices/index.ts b/packages/components/src/Annotator/sevices/index.ts index 540164e..0275f5d 100644 --- a/packages/components/src/Annotator/sevices/index.ts +++ b/packages/components/src/Annotator/sevices/index.ts @@ -41,70 +41,53 @@ export namespace NsApiAnnotator { ? FetchAIPoseEstimationRsp : never; - export interface FetchAIDetectionReq { - image: string; - text: string; + export interface CommonReqParams { + image?: string; + sessionId?: string; + } + + export interface FetchAIDetectionReq extends CommonReqParams { + prompts: ReqPromptItem[]; } - export interface FetchIVPReq { + export interface FetchIVPReq extends CommonReqParams { promptImage?: string; inferImage?: string; labelTypes: string[]; // ["bbox", "mask"] prompts: ReqPromptItem[]; - sessionId?: string; } - export interface FetchAIPolygonSegmentReq { - image: string; // image_id:// | base64:// | http:// | https:// + export interface FetchAIPolygonSegmentReq extends CommonReqParams { density: number; // (0, 1) default 0.2 - area: number[]; // [xmin, ymin, xmax, ymax]; prompts: ReqPromptItem[]; - sessionId?: string; } - export interface FetchAIMaskSegmentReq { - image?: string; // required when first request - sessionId?: string; + export interface FetchAIMaskSegmentReq extends CommonReqParams { prompts: ReqPromptItem[]; } - export interface FetchEdgeStitchingReq { - image?: string; + export interface FetchEdgeStitchingReq extends CommonReqParams { masks: IMask[]; prompts: ReqPromptItem[]; } - export interface SegmentEverythingParams { + export interface FetchSegmentEverythingReq extends CommonReqParams { pointsPerSide?: number; // default 32 predIouThresh?: number; // default 0.89 minMaskRegionArea?: number; // default 300 } - export interface FetchSegmentEverythingReq extends SegmentEverythingParams { - image?: string; - } - - export interface FetchAIPoseEstimationReq { - image: string; - targets: string; - template: { - lines: number[]; - pointNames: string[]; - pointColors: string[]; - }; + export interface FetchAIPoseEstimationReq extends CommonReqParams { objects?: Array<{ - categoryName: string; - boundingBox: IBoundingBox; - points: number[]; + bbox: [number, number, number, number]; + keypoints: number[]; // [x, y, visible, conf, ...] }>; } export interface FetchAIDetectionRsp { objects: Array<{ - categoryName: string; - boundingBox: IBoundingBox; + bbox: [number, number, number, number]; score: number; - normalizedScore: number; }>; suggestThreshold: number; } @@ -119,8 +102,6 @@ export namespace NsApiAnnotator { } export interface FetchAIPolygonSegmentRsp { - image: string; // image_id:// - sessionId: string; polygons: number[][]; // [[x1, y1, x2, y2, ...], [xn, yn, xn+1, yn+1, ...], ....] } @@ -132,10 +113,9 @@ export namespace NsApiAnnotator { } export interface FetchAIPoseEstimationRsp { objects: Array<{ - categoryName: string; - boundingBox: IBoundingBox; - points: number[]; - conf: number; + bbox: [number, number, number, number]; + keypoints: number[]; // [x, y, visible, conf, ...] + score: number; }>; } @@ -161,31 +141,31 @@ async function fetchTaskUuid( params: any, options?: { [key: string]: any }, ) { - return request( - `${process.env.MODEL_API_PATH}/tasks/${type}`, - { - method: 'POST', - data: { - ...params, - }, - ...(options || { - hideCodeErrorMsg: true, - }), + const postUrl = process.env.MODEL_API_PATH + ? `${process.env.MODEL_API_PATH}/tasks/${type}` + : `/v1/algos/${type}`; + return request(postUrl, { + method: 'POST', + data: { + ...params, }, - ); + ...(options || { + hideCodeErrorMsg: true, + }), + }); } function fetchTaskResults( taskUuid: string, options?: { [key: string]: any }, ) { - return request>( - `${process.env.MODEL_API_PATH}/task_statuses/${taskUuid}`, - { - method: 'GET', - ...(options || {}), - }, - ); + const getUrl = process.env.MODEL_API_PATH + ? `${process.env.MODEL_API_PATH}/task_statuses/${taskUuid}` + : `/v1/algos/tasks/${taskUuid}`; + return request>(getUrl, { + method: 'GET', + ...(options || {}), + }); } export async function pollTaskResults( diff --git a/packages/components/src/Annotator/tools/base.ts b/packages/components/src/Annotator/tools/base.ts index 21ace95..d132964 100644 --- a/packages/components/src/Annotator/tools/base.ts +++ b/packages/components/src/Annotator/tools/base.ts @@ -3,7 +3,7 @@ import { CursorState } from 'ahooks/lib/useMouse'; import { Updater } from 'use-immer'; import { DisplayOption, EElementType, EObjectType } from '../constants'; -import { OnAiAnnotationFunc } from '../hooks/useActions'; +import { OnAiAnnotationFunc } from '../hooks/useAiModels'; import { Category, DrawData, diff --git a/packages/components/src/Annotator/tools/usePolygon.ts b/packages/components/src/Annotator/tools/usePolygon.ts index 8bb0ae3..90543de 100644 --- a/packages/components/src/Annotator/tools/usePolygon.ts +++ b/packages/components/src/Annotator/tools/usePolygon.ts @@ -520,6 +520,11 @@ const usePolygon: ToolInstanceHook = ({ }); return true; } + + if (drawData.creatingObject) { + return true; + } + return false; }; diff --git a/packages/components/src/Annotator/tools/useRectangle.ts b/packages/components/src/Annotator/tools/useRectangle.ts index d0579f5..1d6cf8b 100644 --- a/packages/components/src/Annotator/tools/useRectangle.ts +++ b/packages/components/src/Annotator/tools/useRectangle.ts @@ -292,6 +292,7 @@ const useRectangle: ToolInstanceHook = ({ setDrawData((s) => { const model = s.selectedModel[s.selectedTool]; if (s.AIAnnotation && model === EnumModelType.IVP) { + s.activeObjectIndex = -1; s.prompt.creatingPrompt = { type: EPromptType.Rect, startPoint: point, diff --git a/packages/components/src/Annotator/type.ts b/packages/components/src/Annotator/type.ts index 7bae8ed..76bc1b6 100644 --- a/packages/components/src/Annotator/type.ts +++ b/packages/components/src/Annotator/type.ts @@ -150,6 +150,7 @@ export enum EPromptType { Stroke = 'stroke', EdgeStitch = 'edgeStitch', Modify = 'modify', + Text = 'text', } export interface PromptItem { @@ -165,6 +166,8 @@ export interface PromptItem { radius?: number; /** Modify */ polygons?: number[][]; + /** Text */ + text?: string; } export interface ReqPromptItem { @@ -175,12 +178,13 @@ export interface ReqPromptItem { stroke?: number[]; radius?: number; polygons?: number[][]; + text?: string; } export interface IPrompt { + sessionId?: string; creatingPrompt?: PromptItem; promptsQueue?: PromptItem[]; - sessionId?: string; activeRectWhileLoading?: IRect; } @@ -256,9 +260,6 @@ export interface EditState { pointIndex: number; lineIndex: number; }; - imageCacheId?: string; - // TODO - imageCacheIdForPolygon?: string; isCtrlPressed: boolean; hideCreatingObject: boolean; imageDisplayOptions: IImageDisplayOptions; diff --git a/packages/components/src/Annotator/utils/compute.ts b/packages/components/src/Annotator/utils/compute.ts index 48d5eca..48f6722 100644 --- a/packages/components/src/Annotator/utils/compute.ts +++ b/packages/components/src/Annotator/utils/compute.ts @@ -1,5 +1,5 @@ import { CursorState } from 'ahooks/lib/useMouse'; -import { cloneDeep, isEqual, isNumber } from 'lodash'; +import { cloneDeep, isEqual, isNumber, isUndefined, omitBy } from 'lodash'; import { EElementType, @@ -1693,7 +1693,13 @@ export const convertFrameObjectsIntoFramesObjects = ( } const frameEmpty = obj?.frameEmpty || Boolean(!obj); let resultObject = obj; - if (frameIdx > activeIndex && isEqual(obj, objectframes[activeIndex])) { + if ( + frameIdx > activeIndex && + isEqual( + omitBy(obj, isUndefined), + omitBy(objectframes[activeIndex], isUndefined), + ) + ) { // [active frame, later changed frame] -> same change resultObject = item; } else if ( @@ -1719,7 +1725,7 @@ export const convertFrameObjectsIntoFramesObjects = ( customStyles: item.customStyles, attributes: item.attributes, status: item.status, - frameEmpty: obj?.frameEmpty || Boolean(!obj), + frameEmpty, }; }); }); From 6b2386174463acae3d2ae18eda74fa46d595a973 Mon Sep 17 00:00:00 2001 From: fredzhu Date: Tue, 6 Feb 2024 15:35:57 +0800 Subject: [PATCH 2/3] update(frontend): build & update frontend files --- deepdataspace/server/static/index.html | 4 +- ...js => p__Dataset__index.cc75cb8c.async.js} | 2 +- ...p__Lab__FlagTool__index.5a95f054.async.js} | 2 +- ...roject__Workspace__index.065c0c78.async.js | 1 + ...roject__Workspace__index.6c11d39f.async.js | 1 - .../{umi.30868830.css => umi.5d546bdb.css} | 4 +- ....30868830.css.map => umi.5d546bdb.css.map} | 2 +- deepdataspace/server/static/umi.83ddf177.js | 518 ++++++++++++++++++ .../server/static/umi.83ddf177.js.map | 1 + deepdataspace/server/static/umi.d587df81.js | 518 ------------------ .../server/static/umi.d587df81.js.map | 1 - deepdataspace/server/templates/index.html | 4 +- 12 files changed, 529 insertions(+), 529 deletions(-) rename deepdataspace/server/static/{p__Dataset__index.655d469e.async.js => p__Dataset__index.cc75cb8c.async.js} (77%) rename deepdataspace/server/static/{p__Lab__FlagTool__index.b0f6cd4b.async.js => p__Lab__FlagTool__index.5a95f054.async.js} (72%) create mode 100644 deepdataspace/server/static/p__Project__Workspace__index.065c0c78.async.js delete mode 100644 deepdataspace/server/static/p__Project__Workspace__index.6c11d39f.async.js rename deepdataspace/server/static/{umi.30868830.css => umi.5d546bdb.css} (65%) rename deepdataspace/server/static/{umi.30868830.css.map => umi.5d546bdb.css.map} (99%) create mode 100644 deepdataspace/server/static/umi.83ddf177.js create mode 100644 deepdataspace/server/static/umi.83ddf177.js.map delete mode 100644 deepdataspace/server/static/umi.d587df81.js delete mode 100644 deepdataspace/server/static/umi.d587df81.js.map diff --git a/deepdataspace/server/static/index.html b/deepdataspace/server/static/index.html index cfb4af9..29730a3 100644 --- a/deepdataspace/server/static/index.html +++ b/deepdataspace/server/static/index.html @@ -5,10 +5,10 @@ - +
- + \ No newline at end of file diff --git a/deepdataspace/server/static/p__Dataset__index.655d469e.async.js b/deepdataspace/server/static/p__Dataset__index.cc75cb8c.async.js similarity index 77% rename from deepdataspace/server/static/p__Dataset__index.655d469e.async.js rename to deepdataspace/server/static/p__Dataset__index.cc75cb8c.async.js index 430868e..d03a35d 100644 --- a/deepdataspace/server/static/p__Dataset__index.655d469e.async.js +++ b/deepdataspace/server/static/p__Dataset__index.cc75cb8c.async.js @@ -1 +1 @@ -"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[33],{51204:function(se,Z,e){e.d(Z,{Z:function(){return V}});var R=e(58757),j=e(59504),N=e(53357),A={wrapper:"wrapper___FtwXk"},u=e(35667),o=function(P){var i=(0,N.bU)(),s=i.localeText,p=P.categoryId,t=P.categories,h=P.onCategoryChange,y=(0,R.useMemo)(function(){return t.map(function(w){return{label:w.name,value:w.id}})},[t]);return(0,u.jsxs)("div",{className:A.wrapper,children:[s("dataset.detail.category"),":",(0,u.jsx)(j.Z,{showSearch:!0,style:{width:"160px",marginLeft:"10px"},placeholder:"Select a category",options:y,optionFilterProp:"label",value:p,onChange:h,getPopupContainer:function(){return document.getElementById("filterWrap")}})]})},V=o},85205:function(se,Z,e){e.d(Z,{Z:function(){return t}});var R=e(58757),j=e(10852),N=e(38904),A=e(57414),u={dropBtn:"dropBtn___SYvIY",displayPanel:"displayPanel___JkzSB",objectTypeOption:"objectTypeOption___O6sJL",typeTitle:"typeTitle___l97pr",displayOptions:"displayOptions___NQVYA"},o=e(87615),V=e(87608),W=e.n(V),P=e(53357),i=e(76180),s=e(35667),p=function(y){var w=(0,P.bU)(),g=w.localeText,J=y.annotationTypes,B=y.disableChangeType,H=y.displayAnnotationType,f=y.displayOptions,$=y.displayOptionsValue,K=y.onDisplayAnnotationTypeChange,S=y.onDisplayOptionsChange;return(0,s.jsx)(o.Z,{className:u.dropBtn,customOverlay:(0,s.jsxs)("div",{className:W()(u.displayPanel),children:[J.length>0&&(0,s.jsxs)("div",{className:u.objectTypeOption,children:[(0,s.jsxs)("span",{className:u.typeTitle,children:[g("dataset.detail.displayType"),":"]}),(0,s.jsx)(j.ZP.Group,{disabled:B,onChange:function(Q){return K(Q.target.value)},value:H,children:J.map(function(D){return(0,s.jsx)(j.ZP,{value:D,children:D},D)})})]}),(0,s.jsx)(N.Z.Group,{className:u.displayOptions,onChange:S,value:$,children:(0,s.jsx)(A.Z,{direction:"vertical",children:f.map(function(D){return(0,s.jsx)(N.Z,{value:D,children:g(i.Ss[D])},D)})})})]}),children:g("dataset.detail.displayOptions")})},t=p},87615:function(se,Z,e){e.d(Z,{Z:function(){return p}});var R=e(58757),j=e(38904),N=e(10852),A=e(73267),u=e(57414),o=e(12562),V=e(10130),W=e(53357),P={dropdownSelector:"dropdownSelector___gvMFq",dropdownWrap:"dropdownWrap___WWYlz",dropdownBox:"dropdownBox___lpUVf"},i=e(35667),s=function(h){var y=h.data,w=h.multiple,g=h.type,J=g===void 0?"primary":g,B=h.ghost,H=B===void 0?!0:B,f=h.value,$=h.filterOptionValue,K=h.filterOptionName,S=h.onChange,D=h.className,Q=h.children,q=h.customOverlay,F=w?j.Z:N.ZP,a=function(b){S&&S(w?b:b.target.value)};return(0,i.jsx)(A.Z,{overlayClassName:P.dropdownSelector,trigger:["click"],dropdownRender:function(){return(0,i.jsx)("div",{className:P.dropdownWrap,children:q||(0,i.jsx)(F.Group,{className:P.dropdownBox,onChange:a,value:f,children:(0,i.jsx)(u.Z,{direction:"vertical",children:y==null?void 0:y.map(function(b,_){var oe=$?$(b):b,ne=K?K(b):b;return(0,i.jsx)(F,{value:oe,children:(0,W._w)(ne)},_)})})})})},children:(0,i.jsxs)(o.ZP,{className:D,type:J,ghost:H,children:[Q,(0,i.jsx)(V.Z,{})]})})},p=s},77589:function(se,Z,e){e.d(Z,{Z:function(){return y}});var R=e(58757),j=e(38904),N=e(57414),A=e(94706),u=e(10852),o={labelsPanel:"labelsPanel___nCoUr",labels:"labels___f2KO4",labelTitle:"labelTitle___C12Si",optionRow:"optionRow___X46cn",checkbox:"checkbox___Z6wLJ",slider:"slider___GUIhq",lineStyle:"lineStyle___Kmd9H",actionBtns:"actionBtns___JfDVN",modes:"modes___HaJVD"},V=e(87615),W=e(87608),P=e.n(W),i=e(76180),s=e(74595),p=e(53357),t=e(35667),h=function(g){var J=(0,p.bU)(),B=J.localeText,H=g.showMatting,f=g.showKeyPoints,$=g.isTiledDiff,K=g.labels,S=g.selectedLabelIds,D=g.diffMode,Q=g.disableChangeDiffMode,q=g.onLabelsChange,F=g.onLabelConfidenceChange,a=g.onLabelsDiffModeChange;return(0,t.jsx)(V.Z,{customOverlay:(0,t.jsxs)("div",{className:P()(o.labelsPanel),id:"labelsPanel",children:[(0,t.jsxs)("div",{className:o.labels,children:[(0,t.jsxs)("div",{className:o.labelTitle,children:[(0,t.jsx)("div",{style:{width:"240px",paddingLeft:"24px"},children:B("dataset.detail.labelSetsName")}),!H&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{style:{width:"132px"},children:B("dataset.detail.confidence")}),(0,t.jsx)("div",{style:{width:"100px",marginLeft:"40px"},children:B("dataset.detail.style")})]})]}),(0,t.jsx)(j.Z.Group,{onChange:q,value:S,className:o.options,children:(0,t.jsx)(N.Z,{direction:"vertical",children:K.map(function(x,b){var _=(0,s.iE)(x.id,S,$),oe=_.strokeDash,ne=_.lineWidth,fe=_.colorAplha;return(0,t.jsxs)("div",{className:o.optionRow,children:[(0,t.jsx)(j.Z,{value:x.id,className:o.checkbox,disabled:!S.includes(x.id)&&S.length>=i.JQ.length,children:x.name}),!H&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(A.Z,{tooltip:{open:!0,prefixCls:"slider-tooltip",getPopupContainer:function(){return document.getElementById("labelsPanel")}},className:o.slider,range:!0,min:0,max:1,value:x.confidenceRange,step:.01,onChange:function(xe){return F(b,xe)},disabled:x.source!==i.$j.pred}),(0,t.jsx)("div",{style:{width:"100px",marginLeft:"40px"},children:S.includes(x.id)&&(0,t.jsxs)("svg",{className:o.lineStyle,children:[(0,t.jsx)("line",{x1:5,y1:5,x2:70,y2:5,strokeDasharray:oe.join(","),strokeWidth:"".concat(ne,"pt")}),f&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("circle",{cx:5,cy:5,r:3,stroke:"black",strokeWidth:1,fill:"rgba(133, 208, 252, ".concat(fe,")")}),(0,t.jsx)("circle",{cx:70,cy:5,r:3,stroke:"black",strokeWidth:1,fill:"rgba(133, 208, 252, ".concat(fe,")")})]})]})})]})]},x.id)})})})]}),!H&&!Q&&(0,t.jsx)("div",{className:o.modes,children:(0,t.jsx)(u.ZP.Group,{onChange:function(b){return a(b.target.value)},value:D,children:i.Wp.map(function(x){return(0,t.jsx)(u.ZP,{value:x,children:B(x)},x)})})})]}),children:B("dataset.detail.labelSets")})},y=h},10666:function(se,Z,e){e.r(Z),e.d(Z,{default:function(){return Be}});var R=e(24454),j=e.n(R),N=e(56592),A=e.n(N),u=e(58757),o=e(97375),V=e(28506),W=e(61845),P=e(37617),i=e(79233),s=e(6233),p=e.n(s),t=e(12562),h=e(92183),y=e(60698),w={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"defs",attrs:{},children:[{tag:"style",attrs:{}}]},{tag:"path",attrs:{d:"M956 686.5l-.1-.1-.1-.1C911.7 593 843.4 545 752.5 545s-159.2 48.1-203.4 141.3v.1a42.92 42.92 0 000 36.4C593.3 816 661.6 864 752.5 864s159.2-48.1 203.4-141.3c5.4-11.5 5.4-24.8.1-36.2zM752.5 800c-62.1 0-107.4-30-141.1-95.5C645 639 690.4 609 752.5 609c62.1 0 107.4 30 141.1 95.5C860 770 814.6 800 752.5 800z"}},{tag:"path",attrs:{d:"M697 705a56 56 0 10112 0 56 56 0 10-112 0zM136 232h704v253h72V192c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32v520c0 17.7 14.3 32 32 32h352v-72H136V232z"}},{tag:"path",attrs:{d:"M724.9 338.1l-36.8-36.8a8.03 8.03 0 00-11.3 0L493 485.3l-86.1-86.2a8.03 8.03 0 00-11.3 0L251.3 543.4a8.03 8.03 0 000 11.3l36.8 36.8c3.1 3.1 8.2 3.1 11.3 0l101.8-101.8 86.1 86.2c3.1 3.1 8.2 3.1 11.3 0l226.3-226.5c3.2-3.1 3.2-8.2 0-11.3z"}}]},name:"fund-view",theme:"outlined"},g=w,J=e(17202),B=function(v,d){return u.createElement(J.Z,(0,y.Z)({},v,{ref:d,icon:g}))},H=u.forwardRef(B),f=e(76180),$=e(23707),K=e(51204),S=e(77589),D=e(85205),Q=e(51830),q=e(53357),F={fixMenu:"fixMenu___sFkoc",filter:"filter___YLCNA",rightFilters:"rightFilters___ciVMw",backBtn:"backBtn___czLrv",dropBtn:"dropBtn___dmpsD"},a=e(35667),x=function(){var v=(0,q.bU)(),d=v.localeText,T=(0,o.useModel)("dataset.common",function(n){return{isTiledDiff:n.isTiledDiff,cloumnCount:n.pageState.cloumnCount,filters:n.pageData.filters,filterValues:n.pageState.filterValues,comparisons:n.pageState.comparisons}}),r=T.filters,M=T.filterValues,c=T.comparisons,L=T.isTiledDiff,G=T.cloumnCount,O=(0,o.useModel)("dataset.filters"),C=O.onCategoryChange,k=O.onDisplayOptionsChange,z=O.onDisplayAnnotationTypeChange,E=O.onLabelsChange,te=O.onLabelConfidenceChange,re=O.onLabelsDiffModeChange,de=O.onColumnCountChange,U=(0,o.useModel)("dataset.comparisons"),ce=U.openAnalysisModal,ee=r.labels,ue=M.selectedLabelIds,le=M.displayAnnotationType===f.JJ.Matting,ve=M.displayAnnotationType===f.JJ.KeyPoints;return(0,a.jsxs)("div",{className:F.fixMenu,id:"filterWrap",children:[(0,a.jsxs)("div",{className:F.filter,children:[(0,a.jsx)(t.ZP,{icon:(0,a.jsx)(h.Z,{}),type:"text",className:F.backBtn,onClick:function(){return(0,$.yS)("/dataset")}}),(0,a.jsx)(K.Z,{categoryId:M.categoryId,categories:r.categories,onCategoryChange:C})]}),(0,a.jsxs)("div",{className:F.rightFilters,children:[c?null:(0,a.jsx)(S.Z,{showMatting:le,showKeyPoints:ve,isTiledDiff:L,labels:ee,selectedLabelIds:ue,diffMode:M.diffMode,onLabelsChange:E,onLabelConfidenceChange:te,onLabelsDiffModeChange:re}),(0,a.jsx)(D.Z,{annotationTypes:r.annotationTypes,disableChangeType:!!c,displayAnnotationType:M.displayAnnotationType,displayOptions:r.displayOptions,displayOptionsValue:M.displayOptions,onDisplayAnnotationTypeChange:z,onDisplayOptionsChange:k}),c?null:(0,a.jsxs)(t.ZP,{className:F.dropBtn,type:"primary",onClick:ce,children:[(0,a.jsx)(H,{}),d("dataset.detail.analysis")]}),!L&&(0,a.jsx)(Q.ii,{cloumnCount:G,onColumnCountChange:de})]})]})},b=x,_=e(88205),oe=e.n(_),ne=e(84045),fe=e(62109),ye=e(59504),xe=e(10852),ie=e(38904),De=e(94706),je=e(87615),m={tools:"tools___Ug3Ea",title:"title____AI54",optionsTitle:"optionsTitle___sroju",vsText:"vsText___dPKn_",vs:"vs___zpup3",splitLine:"splitLine___SWsIk",splitLineLeft:"splitLineLeft___gVvN2",toolsBar:"toolsBar___SS4ub",text:"text___TLeEl",selector:"selector___rNXkx",scoreSlider:"scoreSlider___Dmu_I",slider:"slider___TbBwi",displayBar:"displayBar___iGMj2",anlysisModal:"anlysisModal___IPNpO"},Me=e(41260),Ne=function(){var v,d,T=(0,q.bU)(),r=T.localeText,M=(0,o.useModel)("dataset.common",function(n){return{comparisons:n.pageState.comparisons,labels:n.pageData.filters.labels}}),c=M.comparisons,L=M.labels,G=(0,u.useState)(void 0),O=oe()(G,2),C=O[0],k=O[1],z=(0,o.useModel)("dataset.comparisons"),E=z.showAnalysisModal,te=z.closeAnalysisModal,re=z.compareLabelSet,de=z.exitComparisons,U=z.onFilterComparisonsPrecision,ce=L.length>0&&L.find(function(n){return n.source===f.$j.gt})&&L.find(function(n){var l;return((l=n.comparePrecisions)===null||l===void 0?void 0:l.length)>0}),ee=L.find(function(n){return n.source===f.$j.gt}),ue=L.filter(function(n){var l;return((l=n.comparePrecisions)===null||l===void 0?void 0:l.length)>0}).map(function(n){return{value:n.id,label:n.name}}),le=function(l){k(l)},ve=function(){if(!ce){ne.ZP.warning(r("dataset.toAnalysis.unSupportWarn"));return}var l=L.find(function(pe){return pe.id===C});if(!C||!l){ne.ZP.warning(r("dataset.toAnalysis.unSelectWarn"));return}te(),re(l)};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(fe.Z,{title:r("dataset.detail.analModal.title"),footer:[(0,a.jsx)(t.ZP,{type:"primary",onClick:ve,children:r("dataset.detail.analModal.btn")},"analysis")],open:E,onCancel:te,children:(0,a.jsxs)("div",{className:m.anlysisModal,children:[(0,a.jsx)("div",{children:ee==null?void 0:ee.name}),(0,a.jsx)("div",{className:m.vs,children:"vs"}),(0,a.jsx)(ye.Z,{placeholder:r("dataset.detail.analModal.select"),style:{width:240},onChange:le,options:ue,value:C})]})}),c&&(0,a.jsxs)("div",{className:m.tools,children:[(0,a.jsxs)("div",{className:m.toolsBar,children:[(0,a.jsxs)("div",{className:m.selector,children:[(0,a.jsxs)("div",{className:m.title,children:[r("dataset.detail.analModal.sort")," :"]}),(0,a.jsx)(je.Z,{data:f.J1,value:c.orderBy,filterOptionName:function(l){return l.name},filterOptionValue:function(l){return l.value},onChange:function(l){return U("orderBy",l)},ghost:!1,type:"default",children:(v=f.J1.find(function(n){return n.value===c.orderBy}))===null||v===void 0?void 0:v.name}),(0,a.jsx)("span",{className:m.text,children:"with Confidence Precision"}),(0,a.jsxs)(je.Z,{data:c.label.comparePrecisions,value:c.precision,filterOptionName:function(l){return"".concat(l.precision," (Threshold: ").concat((0,Me.O)(l.threshold),")")},filterOptionValue:function(l){return l.precision},onChange:function(l){return U("precision",l)},ghost:!1,type:"default",children:[c.precision," (Threshold: ".concat((0,Me.O)(((d=c.label.comparePrecisions.find(function(n){return n.precision===c.precision}))===null||d===void 0?void 0:d.threshold)||0),")")]})]}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("span",{className:m.vsText,children:["GroundTruch ",(0,a.jsx)("span",{className:m.vs,children:"VS"})," ",c==null?void 0:c.label.name]}),(0,a.jsx)(t.ZP,{onClick:de,children:r("dataset.detail.analModal.exit")})]})]}),(0,a.jsxs)("div",{className:m.displayBar,children:[(0,a.jsxs)("div",{className:m.title,children:[r("dataset.detail.analModal.display")," :"]}),(0,a.jsx)(xe.ZP.Group,{options:f.Wp.map(function(n){return{label:"".concat(r(n)).concat(r("dataset.detail.analModal.diff")),value:n}}),onChange:function(l){return U("diffMode",l.target.value)},value:c.diffMode,optionType:"button"}),(0,a.jsx)("div",{className:m.splitLine}),(0,a.jsxs)(ie.Z.Group,{value:c.displays,onChange:function(l){return U("displays",l)},children:[(0,a.jsx)("span",{className:m.optionsTitle,children:"GroundTruth :"}),(0,a.jsx)(ie.Z,{value:f.$j.gt,children:"Matched"}),(0,a.jsx)(ie.Z,{value:f.BP.fn,children:"FN"}),(0,a.jsx)("div",{className:m.splitLineLeft}),(0,a.jsx)("span",{className:m.optionsTitle,children:"Prediction :"}),(0,a.jsx)(ie.Z,{value:f.$j.pred,children:"Matched"}),(0,a.jsx)(ie.Z,{value:f.BP.fp,children:"FP"})]}),(0,a.jsx)("div",{className:m.splitLineLeft}),(0,a.jsxs)("div",{className:m.scoreSlider,children:["Confidence threshold:",(0,a.jsx)(De.Z,{className:m.slider,min:0,max:1,value:c.score,step:.01,onChange:function(l){return U("score",l)}})]})]})]})]})},Se=Ne,Le=e(74595),Ce={toolsBar:"toolsBar___YbUXd",name:"name___QVqrS",vs:"vs___xuWpM"},be=function(v){var d=v.itemWidth,T=(0,o.useModel)("dataset.common",function(C){return{selectedLabelIds:C.pageState.filterValues.selectedLabelIds,displayAnnotationType:C.pageState.filterValues.displayAnnotationType,labels:C.pageData.filters.labels,comparisons:C.pageState.comparisons,isTiledDiff:C.isTiledDiff}}),r=T.comparisons,M=T.isTiledDiff,c=T.labels,L=T.selectedLabelIds,G=T.displayAnnotationType;if(r||L.length<=1)return null;var O=(0,Le.WR)(c,L,G);return(0,a.jsx)("div",{className:Ce.toolsBar,children:O.map(function(C,k){return(0,a.jsxs)(u.Fragment,{children:[!M&&k>0&&(0,a.jsx)("span",{className:Ce.vs,children:"VS"}),(0,a.jsx)("span",{className:Ce.name,style:{width:M&&k+1!==O.length?d:"auto"},children:C.name})]},C.id)})})},Ie=be,Te=e(9644),Ze=e(4394),X={page:"page___O9xsN",container:"container___rArHW",item:"item___aq9kP",itemImgWrap:"itemImgWrap___IaXgL",flagIcon:"flagIcon___Cm6rw",label:"label___spqGh",itemSelectedMask:"itemSelectedMask___CHtC_",pagination:"pagination___VE_pg",editor:"editor___Nl4nr",pageSpin:"pageSpin___zzy9v"},Ae=function(){var v=(0,o.useModel)("dataset.common"),d=v.pageState,T=v.onInitPageState,r=v.pageData,M=v.loading,c=v.displayLabelIds,L=v.isTiledDiff,G=v.displayOptionsResult,O=v.onPageContentLoaded,C=v.onPreviewIndexChange,k=v.exitPreview,z=v.displayObjectsFilter,E=(0,o.useModel)("Dataset.model"),te=E.onPageDidMount,re=E.onPageWillUnmount,de=E.clickItem,U=E.doubleClickItem,ce=E.onPageChange,ee=E.onPageSizeChange,ue=(0,o.useModel)("global"),le=ue.layoutInnerWidth,ve=d.cloumnCount,n=d.isSingleAnnotation,l=d.filterValues,pe=d.flagTools;(0,V._)({onPageDidMount:te,onPageWillUnmount:re,onInitPageState:T,pageState:d});var Oe=le?le-80:0,ge=(0,u.useMemo)(function(){return L?(0,Le.JC)(r.imgList,c,l.displayAnnotationType):r.imgList},[L,r.imgList,c]),Pe=L?ge.length/(r.imgList.length||1):ve,ae=Oe?(Oe-16*(Pe-1))/(Pe||1):0;return(0,a.jsxs)(W._z,{ghost:!0,className:X.page,pageHeaderRender:function(){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(b,{}),(0,a.jsx)(Se,{}),(0,a.jsx)(Ie,{itemWidth:ae+16})]})},fixedHeader:!0,children:[(0,a.jsx)("div",{className:X.container,children:(0,a.jsx)(P.Z,{loading:M,children:ge.length?(0,a.jsx)(p(),{options:{gutter:16,horizontalOrder:!0,transitionDuration:0},onImagesLoaded:function(){return O()},enableResizableChildren:!0,children:ge.map(function(I,he){return(0,a.jsxs)("div",{className:X.item,style:{width:ae},onClick:function(){return de(he)},onDoubleClick:function(){return U(he)},children:[(0,a.jsx)("div",{className:X.itemImgWrap,style:{width:ae,height:pe?ae*3/4:"auto"},children:(0,a.jsx)(Te.D5,{isOldMode:!0,categories:r.filters.categories,data:I,wrapWidth:ae,wrapHeight:pe?ae*3/4:void 0,minHeight:ae*3/4,objectsFilter:z,displayOptionsResult:G})}),I.flag>0&&(0,a.jsx)(Ze.r,{fill:f.a5[I.flag],className:X.flagIcon}),G.showImgDesc&&(0,a.jsxs)("div",{className:X.label,children:[" ",I.caption||I.desc," "]}),pe&&I.selected?(0,a.jsx)("div",{className:X.itemSelectedMask}):null]},"".concat(I.id,"_").concat(he))})}):null})}),!M&&(0,a.jsx)(Q.ZJ,{current:d.page,size:d.pageSize,total:r.total,onPageChange:ce,onPageSizeChange:ee}),(0,a.jsx)(Te.j5,{isOldMode:!0,visible:d.previewIndex>=0&&!n,categories:r.filters.categories,list:ge,current:d.previewIndex,onCancel:k,onNext:A()(j()().mark(function I(){return j()().wrap(function(Y){for(;;)switch(Y.prev=Y.next){case 0:d.previewIndex0&&C(d.previewIndex-1);case 1:case"end":return Y.stop()}},I)})),objectsFilter:z,displayOptionsResult:G}),r.screenLoading?(0,a.jsx)("div",{className:X.pageSpin,children:(0,a.jsx)(i.Z,{spinning:!0,tip:r.screenLoading})}):null]})},Be=Ae},4394:function(se,Z,e){e.d(Z,{r:function(){return W}});var R=e(58757),j=Object.defineProperty,N=Object.getOwnPropertySymbols,A=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable,o=(i,s,p)=>s in i?j(i,s,{enumerable:!0,configurable:!0,writable:!0,value:p}):i[s]=p,V=(i,s)=>{for(var p in s||(s={}))A.call(s,p)&&o(i,p,s[p]);if(N)for(var p of N(s))u.call(s,p)&&o(i,p,s[p]);return i};const W=i=>R.createElement("svg",V({viewBox:"0 0 16 16",fill:"#52C41A",xmlns:"http://www.w3.org/2000/svg"},i),R.createElement("path",{d:"M12.633 4.84 3.838 1.05A.599.599 0 0 0 3 1.602v12.793a.602.602 0 1 0 1.204 0v-4l8.475-4.47a.601.601 0 0 0-.046-1.086Z"}));var P="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTYgMTYiIGZpbGw9IiM1MkM0MUEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEyLjYzMyA0Ljg0IDMuODM4IDEuMDVBLjU5OS41OTkgMCAwIDAgMyAxLjYwMnYxMi43OTNhLjYwMi42MDIgMCAxIDAgMS4yMDQgMHYtNGw4LjQ3NS00LjQ3YS42MDEuNjAxIDAgMCAwLS4wNDYtMS4wODZaIi8+PC9zdmc+"}}]); +"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[33],{51204:function(se,Z,e){e.d(Z,{Z:function(){return V}});var R=e(58757),j=e(59504),N=e(53357),A={wrapper:"wrapper___FtwXk"},u=e(35667),o=function(P){var i=(0,N.bU)(),s=i.localeText,p=P.categoryId,t=P.categories,h=P.onCategoryChange,y=(0,R.useMemo)(function(){return t.map(function(w){return{label:w.name,value:w.id}})},[t]);return(0,u.jsxs)("div",{className:A.wrapper,children:[s("dataset.detail.category"),":",(0,u.jsx)(j.Z,{showSearch:!0,style:{width:"160px",marginLeft:"10px"},placeholder:"Select a category",options:y,optionFilterProp:"label",value:p,onChange:h,getPopupContainer:function(){return document.getElementById("filterWrap")}})]})},V=o},85205:function(se,Z,e){e.d(Z,{Z:function(){return t}});var R=e(58757),j=e(10852),N=e(38904),A=e(57414),u={dropBtn:"dropBtn___SYvIY",displayPanel:"displayPanel___JkzSB",objectTypeOption:"objectTypeOption___O6sJL",typeTitle:"typeTitle___l97pr",displayOptions:"displayOptions___NQVYA"},o=e(87615),V=e(87608),W=e.n(V),P=e(53357),i=e(76180),s=e(35667),p=function(y){var w=(0,P.bU)(),g=w.localeText,J=y.annotationTypes,B=y.disableChangeType,H=y.displayAnnotationType,f=y.displayOptions,$=y.displayOptionsValue,K=y.onDisplayAnnotationTypeChange,S=y.onDisplayOptionsChange;return(0,s.jsx)(o.Z,{className:u.dropBtn,customOverlay:(0,s.jsxs)("div",{className:W()(u.displayPanel),children:[J.length>0&&(0,s.jsxs)("div",{className:u.objectTypeOption,children:[(0,s.jsxs)("span",{className:u.typeTitle,children:[g("dataset.detail.displayType"),":"]}),(0,s.jsx)(j.ZP.Group,{disabled:B,onChange:function(Q){return K(Q.target.value)},value:H,children:J.map(function(D){return(0,s.jsx)(j.ZP,{value:D,children:D},D)})})]}),(0,s.jsx)(N.Z.Group,{className:u.displayOptions,onChange:S,value:$,children:(0,s.jsx)(A.Z,{direction:"vertical",children:f.map(function(D){return(0,s.jsx)(N.Z,{value:D,children:g(i.Ss[D])},D)})})})]}),children:g("dataset.detail.displayOptions")})},t=p},87615:function(se,Z,e){e.d(Z,{Z:function(){return p}});var R=e(58757),j=e(38904),N=e(10852),A=e(73267),u=e(57414),o=e(12562),V=e(10130),W=e(53357),P={dropdownSelector:"dropdownSelector___gvMFq",dropdownWrap:"dropdownWrap___WWYlz",dropdownBox:"dropdownBox___lpUVf"},i=e(35667),s=function(h){var y=h.data,w=h.multiple,g=h.type,J=g===void 0?"primary":g,B=h.ghost,H=B===void 0?!0:B,f=h.value,$=h.filterOptionValue,K=h.filterOptionName,S=h.onChange,D=h.className,Q=h.children,q=h.customOverlay,F=w?j.Z:N.ZP,a=function(b){S&&S(w?b:b.target.value)};return(0,i.jsx)(A.Z,{overlayClassName:P.dropdownSelector,trigger:["click"],dropdownRender:function(){return(0,i.jsx)("div",{className:P.dropdownWrap,children:q||(0,i.jsx)(F.Group,{className:P.dropdownBox,onChange:a,value:f,children:(0,i.jsx)(u.Z,{direction:"vertical",children:y==null?void 0:y.map(function(b,_){var oe=$?$(b):b,ne=K?K(b):b;return(0,i.jsx)(F,{value:oe,children:(0,W._w)(ne)},_)})})})})},children:(0,i.jsxs)(o.ZP,{className:D,type:J,ghost:H,children:[Q,(0,i.jsx)(V.Z,{})]})})},p=s},77589:function(se,Z,e){e.d(Z,{Z:function(){return y}});var R=e(58757),j=e(38904),N=e(57414),A=e(94706),u=e(10852),o={labelsPanel:"labelsPanel___nCoUr",labels:"labels___f2KO4",labelTitle:"labelTitle___C12Si",optionRow:"optionRow___X46cn",checkbox:"checkbox___Z6wLJ",slider:"slider___GUIhq",lineStyle:"lineStyle___Kmd9H",actionBtns:"actionBtns___JfDVN",modes:"modes___HaJVD"},V=e(87615),W=e(87608),P=e.n(W),i=e(76180),s=e(74595),p=e(53357),t=e(35667),h=function(g){var J=(0,p.bU)(),B=J.localeText,H=g.showMatting,f=g.showKeyPoints,$=g.isTiledDiff,K=g.labels,S=g.selectedLabelIds,D=g.diffMode,Q=g.disableChangeDiffMode,q=g.onLabelsChange,F=g.onLabelConfidenceChange,a=g.onLabelsDiffModeChange;return(0,t.jsx)(V.Z,{customOverlay:(0,t.jsxs)("div",{className:P()(o.labelsPanel),id:"labelsPanel",children:[(0,t.jsxs)("div",{className:o.labels,children:[(0,t.jsxs)("div",{className:o.labelTitle,children:[(0,t.jsx)("div",{style:{width:"240px",paddingLeft:"24px"},children:B("dataset.detail.labelSetsName")}),!H&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{style:{width:"132px"},children:B("dataset.detail.confidence")}),(0,t.jsx)("div",{style:{width:"100px",marginLeft:"40px"},children:B("dataset.detail.style")})]})]}),(0,t.jsx)(j.Z.Group,{onChange:q,value:S,className:o.options,children:(0,t.jsx)(N.Z,{direction:"vertical",children:K.map(function(x,b){var _=(0,s.iE)(x.id,S,$),oe=_.strokeDash,ne=_.lineWidth,fe=_.colorAplha;return(0,t.jsxs)("div",{className:o.optionRow,children:[(0,t.jsx)(j.Z,{value:x.id,className:o.checkbox,disabled:!S.includes(x.id)&&S.length>=i.JQ.length,children:x.name}),!H&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(A.Z,{tooltip:{open:!0,prefixCls:"slider-tooltip",getPopupContainer:function(){return document.getElementById("labelsPanel")}},className:o.slider,range:!0,min:0,max:1,value:x.confidenceRange,step:.01,onChange:function(xe){return F(b,xe)},disabled:x.source!==i.$j.pred}),(0,t.jsx)("div",{style:{width:"100px",marginLeft:"40px"},children:S.includes(x.id)&&(0,t.jsxs)("svg",{className:o.lineStyle,children:[(0,t.jsx)("line",{x1:5,y1:5,x2:70,y2:5,strokeDasharray:oe.join(","),strokeWidth:"".concat(ne,"pt")}),f&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("circle",{cx:5,cy:5,r:3,stroke:"black",strokeWidth:1,fill:"rgba(133, 208, 252, ".concat(fe,")")}),(0,t.jsx)("circle",{cx:70,cy:5,r:3,stroke:"black",strokeWidth:1,fill:"rgba(133, 208, 252, ".concat(fe,")")})]})]})})]})]},x.id)})})})]}),!H&&!Q&&(0,t.jsx)("div",{className:o.modes,children:(0,t.jsx)(u.ZP.Group,{onChange:function(b){return a(b.target.value)},value:D,children:i.Wp.map(function(x){return(0,t.jsx)(u.ZP,{value:x,children:B(x)},x)})})})]}),children:B("dataset.detail.labelSets")})},y=h},10666:function(se,Z,e){e.r(Z),e.d(Z,{default:function(){return Be}});var R=e(24454),j=e.n(R),N=e(56592),A=e.n(N),u=e(58757),o=e(97375),V=e(28506),W=e(61845),P=e(37617),i=e(79233),s=e(6233),p=e.n(s),t=e(12562),h=e(92183),y=e(60698),w={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"defs",attrs:{},children:[{tag:"style",attrs:{}}]},{tag:"path",attrs:{d:"M956 686.5l-.1-.1-.1-.1C911.7 593 843.4 545 752.5 545s-159.2 48.1-203.4 141.3v.1a42.92 42.92 0 000 36.4C593.3 816 661.6 864 752.5 864s159.2-48.1 203.4-141.3c5.4-11.5 5.4-24.8.1-36.2zM752.5 800c-62.1 0-107.4-30-141.1-95.5C645 639 690.4 609 752.5 609c62.1 0 107.4 30 141.1 95.5C860 770 814.6 800 752.5 800z"}},{tag:"path",attrs:{d:"M697 705a56 56 0 10112 0 56 56 0 10-112 0zM136 232h704v253h72V192c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32v520c0 17.7 14.3 32 32 32h352v-72H136V232z"}},{tag:"path",attrs:{d:"M724.9 338.1l-36.8-36.8a8.03 8.03 0 00-11.3 0L493 485.3l-86.1-86.2a8.03 8.03 0 00-11.3 0L251.3 543.4a8.03 8.03 0 000 11.3l36.8 36.8c3.1 3.1 8.2 3.1 11.3 0l101.8-101.8 86.1 86.2c3.1 3.1 8.2 3.1 11.3 0l226.3-226.5c3.2-3.1 3.2-8.2 0-11.3z"}}]},name:"fund-view",theme:"outlined"},g=w,J=e(17202),B=function(v,d){return u.createElement(J.Z,(0,y.Z)({},v,{ref:d,icon:g}))},H=u.forwardRef(B),f=e(76180),$=e(23707),K=e(51204),S=e(77589),D=e(85205),Q=e(51830),q=e(53357),F={fixMenu:"fixMenu___sFkoc",filter:"filter___YLCNA",rightFilters:"rightFilters___ciVMw",backBtn:"backBtn___czLrv",dropBtn:"dropBtn___dmpsD"},a=e(35667),x=function(){var v=(0,q.bU)(),d=v.localeText,T=(0,o.useModel)("dataset.common",function(n){return{isTiledDiff:n.isTiledDiff,cloumnCount:n.pageState.cloumnCount,filters:n.pageData.filters,filterValues:n.pageState.filterValues,comparisons:n.pageState.comparisons}}),r=T.filters,M=T.filterValues,c=T.comparisons,L=T.isTiledDiff,G=T.cloumnCount,O=(0,o.useModel)("dataset.filters"),C=O.onCategoryChange,k=O.onDisplayOptionsChange,z=O.onDisplayAnnotationTypeChange,E=O.onLabelsChange,te=O.onLabelConfidenceChange,re=O.onLabelsDiffModeChange,de=O.onColumnCountChange,U=(0,o.useModel)("dataset.comparisons"),ce=U.openAnalysisModal,ee=r.labels,ue=M.selectedLabelIds,le=M.displayAnnotationType===f.JJ.Matting,ve=M.displayAnnotationType===f.JJ.KeyPoints;return(0,a.jsxs)("div",{className:F.fixMenu,id:"filterWrap",children:[(0,a.jsxs)("div",{className:F.filter,children:[(0,a.jsx)(t.ZP,{icon:(0,a.jsx)(h.Z,{}),type:"text",className:F.backBtn,onClick:function(){return(0,$.yS)("/dataset")}}),(0,a.jsx)(K.Z,{categoryId:M.categoryId,categories:r.categories,onCategoryChange:C})]}),(0,a.jsxs)("div",{className:F.rightFilters,children:[c?null:(0,a.jsx)(S.Z,{showMatting:le,showKeyPoints:ve,isTiledDiff:L,labels:ee,selectedLabelIds:ue,diffMode:M.diffMode,onLabelsChange:E,onLabelConfidenceChange:te,onLabelsDiffModeChange:re}),(0,a.jsx)(D.Z,{annotationTypes:r.annotationTypes,disableChangeType:!!c,displayAnnotationType:M.displayAnnotationType,displayOptions:r.displayOptions,displayOptionsValue:M.displayOptions,onDisplayAnnotationTypeChange:z,onDisplayOptionsChange:k}),c?null:(0,a.jsxs)(t.ZP,{className:F.dropBtn,type:"primary",onClick:ce,children:[(0,a.jsx)(H,{}),d("dataset.detail.analysis")]}),!L&&(0,a.jsx)(Q.ii,{cloumnCount:G,onColumnCountChange:de})]})]})},b=x,_=e(88205),oe=e.n(_),ne=e(84045),fe=e(62109),ye=e(59504),xe=e(10852),ie=e(38904),De=e(94706),je=e(87615),m={tools:"tools___Ug3Ea",title:"title____AI54",optionsTitle:"optionsTitle___sroju",vsText:"vsText___dPKn_",vs:"vs___zpup3",splitLine:"splitLine___SWsIk",splitLineLeft:"splitLineLeft___gVvN2",toolsBar:"toolsBar___SS4ub",text:"text___TLeEl",selector:"selector___rNXkx",scoreSlider:"scoreSlider___Dmu_I",slider:"slider___TbBwi",displayBar:"displayBar___iGMj2",anlysisModal:"anlysisModal___IPNpO"},Me=e(41260),Ne=function(){var v,d,T=(0,q.bU)(),r=T.localeText,M=(0,o.useModel)("dataset.common",function(n){return{comparisons:n.pageState.comparisons,labels:n.pageData.filters.labels}}),c=M.comparisons,L=M.labels,G=(0,u.useState)(void 0),O=oe()(G,2),C=O[0],k=O[1],z=(0,o.useModel)("dataset.comparisons"),E=z.showAnalysisModal,te=z.closeAnalysisModal,re=z.compareLabelSet,de=z.exitComparisons,U=z.onFilterComparisonsPrecision,ce=L.length>0&&L.find(function(n){return n.source===f.$j.gt})&&L.find(function(n){var l;return((l=n.comparePrecisions)===null||l===void 0?void 0:l.length)>0}),ee=L.find(function(n){return n.source===f.$j.gt}),ue=L.filter(function(n){var l;return((l=n.comparePrecisions)===null||l===void 0?void 0:l.length)>0}).map(function(n){return{value:n.id,label:n.name}}),le=function(l){k(l)},ve=function(){if(!ce){ne.ZP.warning(r("dataset.toAnalysis.unSupportWarn"));return}var l=L.find(function(pe){return pe.id===C});if(!C||!l){ne.ZP.warning(r("dataset.toAnalysis.unSelectWarn"));return}te(),re(l)};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(fe.Z,{title:r("dataset.detail.analModal.title"),footer:[(0,a.jsx)(t.ZP,{type:"primary",onClick:ve,children:r("dataset.detail.analModal.btn")},"analysis")],open:E,onCancel:te,children:(0,a.jsxs)("div",{className:m.anlysisModal,children:[(0,a.jsx)("div",{children:ee==null?void 0:ee.name}),(0,a.jsx)("div",{className:m.vs,children:"vs"}),(0,a.jsx)(ye.Z,{placeholder:r("dataset.detail.analModal.select"),style:{width:240},onChange:le,options:ue,value:C})]})}),c&&(0,a.jsxs)("div",{className:m.tools,children:[(0,a.jsxs)("div",{className:m.toolsBar,children:[(0,a.jsxs)("div",{className:m.selector,children:[(0,a.jsxs)("div",{className:m.title,children:[r("dataset.detail.analModal.sort")," :"]}),(0,a.jsx)(je.Z,{data:f.J1,value:c.orderBy,filterOptionName:function(l){return l.name},filterOptionValue:function(l){return l.value},onChange:function(l){return U("orderBy",l)},ghost:!1,type:"default",children:(v=f.J1.find(function(n){return n.value===c.orderBy}))===null||v===void 0?void 0:v.name}),(0,a.jsx)("span",{className:m.text,children:"with Confidence Precision"}),(0,a.jsxs)(je.Z,{data:c.label.comparePrecisions,value:c.precision,filterOptionName:function(l){return"".concat(l.precision," (Threshold: ").concat((0,Me.O)(l.threshold),")")},filterOptionValue:function(l){return l.precision},onChange:function(l){return U("precision",l)},ghost:!1,type:"default",children:[c.precision," (Threshold: ".concat((0,Me.O)(((d=c.label.comparePrecisions.find(function(n){return n.precision===c.precision}))===null||d===void 0?void 0:d.threshold)||0),")")]})]}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("span",{className:m.vsText,children:["GroundTruch ",(0,a.jsx)("span",{className:m.vs,children:"VS"})," ",c==null?void 0:c.label.name]}),(0,a.jsx)(t.ZP,{onClick:de,children:r("dataset.detail.analModal.exit")})]})]}),(0,a.jsxs)("div",{className:m.displayBar,children:[(0,a.jsxs)("div",{className:m.title,children:[r("dataset.detail.analModal.display")," :"]}),(0,a.jsx)(xe.ZP.Group,{options:f.Wp.map(function(n){return{label:"".concat(r(n)).concat(r("dataset.detail.analModal.diff")),value:n}}),onChange:function(l){return U("diffMode",l.target.value)},value:c.diffMode,optionType:"button"}),(0,a.jsx)("div",{className:m.splitLine}),(0,a.jsxs)(ie.Z.Group,{value:c.displays,onChange:function(l){return U("displays",l)},children:[(0,a.jsx)("span",{className:m.optionsTitle,children:"GroundTruth :"}),(0,a.jsx)(ie.Z,{value:f.$j.gt,children:"Matched"}),(0,a.jsx)(ie.Z,{value:f.BP.fn,children:"FN"}),(0,a.jsx)("div",{className:m.splitLineLeft}),(0,a.jsx)("span",{className:m.optionsTitle,children:"Prediction :"}),(0,a.jsx)(ie.Z,{value:f.$j.pred,children:"Matched"}),(0,a.jsx)(ie.Z,{value:f.BP.fp,children:"FP"})]}),(0,a.jsx)("div",{className:m.splitLineLeft}),(0,a.jsxs)("div",{className:m.scoreSlider,children:["Confidence threshold:",(0,a.jsx)(De.Z,{className:m.slider,min:0,max:1,value:c.score,step:.01,onChange:function(l){return U("score",l)}})]})]})]})]})},Se=Ne,Le=e(74595),Ce={toolsBar:"toolsBar___YbUXd",name:"name___QVqrS",vs:"vs___xuWpM"},be=function(v){var d=v.itemWidth,T=(0,o.useModel)("dataset.common",function(C){return{selectedLabelIds:C.pageState.filterValues.selectedLabelIds,displayAnnotationType:C.pageState.filterValues.displayAnnotationType,labels:C.pageData.filters.labels,comparisons:C.pageState.comparisons,isTiledDiff:C.isTiledDiff}}),r=T.comparisons,M=T.isTiledDiff,c=T.labels,L=T.selectedLabelIds,G=T.displayAnnotationType;if(r||L.length<=1)return null;var O=(0,Le.WR)(c,L,G);return(0,a.jsx)("div",{className:Ce.toolsBar,children:O.map(function(C,k){return(0,a.jsxs)(u.Fragment,{children:[!M&&k>0&&(0,a.jsx)("span",{className:Ce.vs,children:"VS"}),(0,a.jsx)("span",{className:Ce.name,style:{width:M&&k+1!==O.length?d:"auto"},children:C.name})]},C.id)})})},Ie=be,Te=e(65104),Ze=e(4394),X={page:"page___O9xsN",container:"container___rArHW",item:"item___aq9kP",itemImgWrap:"itemImgWrap___IaXgL",flagIcon:"flagIcon___Cm6rw",label:"label___spqGh",itemSelectedMask:"itemSelectedMask___CHtC_",pagination:"pagination___VE_pg",editor:"editor___Nl4nr",pageSpin:"pageSpin___zzy9v"},Ae=function(){var v=(0,o.useModel)("dataset.common"),d=v.pageState,T=v.onInitPageState,r=v.pageData,M=v.loading,c=v.displayLabelIds,L=v.isTiledDiff,G=v.displayOptionsResult,O=v.onPageContentLoaded,C=v.onPreviewIndexChange,k=v.exitPreview,z=v.displayObjectsFilter,E=(0,o.useModel)("Dataset.model"),te=E.onPageDidMount,re=E.onPageWillUnmount,de=E.clickItem,U=E.doubleClickItem,ce=E.onPageChange,ee=E.onPageSizeChange,ue=(0,o.useModel)("global"),le=ue.layoutInnerWidth,ve=d.cloumnCount,n=d.isSingleAnnotation,l=d.filterValues,pe=d.flagTools;(0,V._)({onPageDidMount:te,onPageWillUnmount:re,onInitPageState:T,pageState:d});var Oe=le?le-80:0,ge=(0,u.useMemo)(function(){return L?(0,Le.JC)(r.imgList,c,l.displayAnnotationType):r.imgList},[L,r.imgList,c]),Pe=L?ge.length/(r.imgList.length||1):ve,ae=Oe?(Oe-16*(Pe-1))/(Pe||1):0;return(0,a.jsxs)(W._z,{ghost:!0,className:X.page,pageHeaderRender:function(){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(b,{}),(0,a.jsx)(Se,{}),(0,a.jsx)(Ie,{itemWidth:ae+16})]})},fixedHeader:!0,children:[(0,a.jsx)("div",{className:X.container,children:(0,a.jsx)(P.Z,{loading:M,children:ge.length?(0,a.jsx)(p(),{options:{gutter:16,horizontalOrder:!0,transitionDuration:0},onImagesLoaded:function(){return O()},enableResizableChildren:!0,children:ge.map(function(I,he){return(0,a.jsxs)("div",{className:X.item,style:{width:ae},onClick:function(){return de(he)},onDoubleClick:function(){return U(he)},children:[(0,a.jsx)("div",{className:X.itemImgWrap,style:{width:ae,height:pe?ae*3/4:"auto"},children:(0,a.jsx)(Te.D5,{isOldMode:!0,categories:r.filters.categories,data:I,wrapWidth:ae,wrapHeight:pe?ae*3/4:void 0,minHeight:ae*3/4,objectsFilter:z,displayOptionsResult:G})}),I.flag>0&&(0,a.jsx)(Ze.r,{fill:f.a5[I.flag],className:X.flagIcon}),G.showImgDesc&&(0,a.jsxs)("div",{className:X.label,children:[" ",I.caption||I.desc," "]}),pe&&I.selected?(0,a.jsx)("div",{className:X.itemSelectedMask}):null]},"".concat(I.id,"_").concat(he))})}):null})}),!M&&(0,a.jsx)(Q.ZJ,{current:d.page,size:d.pageSize,total:r.total,onPageChange:ce,onPageSizeChange:ee}),(0,a.jsx)(Te.j5,{isOldMode:!0,visible:d.previewIndex>=0&&!n,categories:r.filters.categories,list:ge,current:d.previewIndex,onCancel:k,onNext:A()(j()().mark(function I(){return j()().wrap(function(Y){for(;;)switch(Y.prev=Y.next){case 0:d.previewIndex0&&C(d.previewIndex-1);case 1:case"end":return Y.stop()}},I)})),objectsFilter:z,displayOptionsResult:G}),r.screenLoading?(0,a.jsx)("div",{className:X.pageSpin,children:(0,a.jsx)(i.Z,{spinning:!0,tip:r.screenLoading})}):null]})},Be=Ae},4394:function(se,Z,e){e.d(Z,{r:function(){return W}});var R=e(58757),j=Object.defineProperty,N=Object.getOwnPropertySymbols,A=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable,o=(i,s,p)=>s in i?j(i,s,{enumerable:!0,configurable:!0,writable:!0,value:p}):i[s]=p,V=(i,s)=>{for(var p in s||(s={}))A.call(s,p)&&o(i,p,s[p]);if(N)for(var p of N(s))u.call(s,p)&&o(i,p,s[p]);return i};const W=i=>R.createElement("svg",V({viewBox:"0 0 16 16",fill:"#52C41A",xmlns:"http://www.w3.org/2000/svg"},i),R.createElement("path",{d:"M12.633 4.84 3.838 1.05A.599.599 0 0 0 3 1.602v12.793a.602.602 0 1 0 1.204 0v-4l8.475-4.47a.601.601 0 0 0-.046-1.086Z"}));var P="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTYgMTYiIGZpbGw9IiM1MkM0MUEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEyLjYzMyA0Ljg0IDMuODM4IDEuMDVBLjU5OS41OTkgMCAwIDAgMyAxLjYwMnYxMi43OTNhLjYwMi42MDIgMCAxIDAgMS4yMDQgMHYtNGw4LjQ3NS00LjQ3YS42MDEuNjAxIDAgMCAwLS4wNDYtMS4wODZaIi8+PC9zdmc+"}}]); diff --git a/deepdataspace/server/static/p__Lab__FlagTool__index.b0f6cd4b.async.js b/deepdataspace/server/static/p__Lab__FlagTool__index.5a95f054.async.js similarity index 72% rename from deepdataspace/server/static/p__Lab__FlagTool__index.b0f6cd4b.async.js rename to deepdataspace/server/static/p__Lab__FlagTool__index.5a95f054.async.js index 5582701..c6bfa3c 100644 --- a/deepdataspace/server/static/p__Lab__FlagTool__index.b0f6cd4b.async.js +++ b/deepdataspace/server/static/p__Lab__FlagTool__index.5a95f054.async.js @@ -1 +1 @@ -"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[397],{51204:function(q,M,e){e.d(M,{Z:function(){return I}});var W=e(58757),m=e(59504),j=e(53357),P={wrapper:"wrapper___FtwXk"},g=e(35667),o=function(y){var l=(0,j.bU)(),t=l.localeText,c=y.categoryId,n=y.categories,h=y.onCategoryChange,s=(0,W.useMemo)(function(){return n.map(function(N){return{label:N.name,value:N.id}})},[n]);return(0,g.jsxs)("div",{className:P.wrapper,children:[t("dataset.detail.category"),":",(0,g.jsx)(m.Z,{showSearch:!0,style:{width:"160px",marginLeft:"10px"},placeholder:"Select a category",options:s,optionFilterProp:"label",value:c,onChange:h,getPopupContainer:function(){return document.getElementById("filterWrap")}})]})},I=o},85205:function(q,M,e){e.d(M,{Z:function(){return n}});var W=e(58757),m=e(10852),j=e(38904),P=e(57414),g={dropBtn:"dropBtn___SYvIY",displayPanel:"displayPanel___JkzSB",objectTypeOption:"objectTypeOption___O6sJL",typeTitle:"typeTitle___l97pr",displayOptions:"displayOptions___NQVYA"},o=e(87615),I=e(87608),Z=e.n(I),y=e(53357),l=e(76180),t=e(35667),c=function(s){var N=(0,y.bU)(),u=N.localeText,z=s.annotationTypes,L=s.disableChangeType,b=s.displayAnnotationType,A=s.displayOptions,a=s.displayOptionsValue,E=s.onDisplayAnnotationTypeChange,O=s.onDisplayOptionsChange;return(0,t.jsx)(o.Z,{className:g.dropBtn,customOverlay:(0,t.jsxs)("div",{className:Z()(g.displayPanel),children:[z.length>0&&(0,t.jsxs)("div",{className:g.objectTypeOption,children:[(0,t.jsxs)("span",{className:g.typeTitle,children:[u("dataset.detail.displayType"),":"]}),(0,t.jsx)(m.ZP.Group,{disabled:L,onChange:function(J){return E(J.target.value)},value:b,children:z.map(function(x){return(0,t.jsx)(m.ZP,{value:x,children:x},x)})})]}),(0,t.jsx)(j.Z.Group,{className:g.displayOptions,onChange:O,value:a,children:(0,t.jsx)(P.Z,{direction:"vertical",children:A.map(function(x){return(0,t.jsx)(j.Z,{value:x,children:u(l.Ss[x])},x)})})})]}),children:u("dataset.detail.displayOptions")})},n=c},87615:function(q,M,e){e.d(M,{Z:function(){return c}});var W=e(58757),m=e(38904),j=e(10852),P=e(73267),g=e(57414),o=e(12562),I=e(10130),Z=e(53357),y={dropdownSelector:"dropdownSelector___gvMFq",dropdownWrap:"dropdownWrap___WWYlz",dropdownBox:"dropdownBox___lpUVf"},l=e(35667),t=function(h){var s=h.data,N=h.multiple,u=h.type,z=u===void 0?"primary":u,L=h.ghost,b=L===void 0?!0:L,A=h.value,a=h.filterOptionValue,E=h.filterOptionName,O=h.onChange,x=h.className,J=h.children,K=h.customOverlay,Q=N?m.Z:j.ZP,_=function(S){O&&O(N?S:S.target.value)};return(0,l.jsx)(P.Z,{overlayClassName:y.dropdownSelector,trigger:["click"],dropdownRender:function(){return(0,l.jsx)("div",{className:y.dropdownWrap,children:K||(0,l.jsx)(Q.Group,{className:y.dropdownBox,onChange:_,value:A,children:(0,l.jsx)(g.Z,{direction:"vertical",children:s==null?void 0:s.map(function(S,U){var X=a?a(S):S,B=E?E(S):S;return(0,l.jsx)(Q,{value:X,children:(0,Z._w)(B)},U)})})})})},children:(0,l.jsxs)(o.ZP,{className:x,type:z,ghost:b,children:[J,(0,l.jsx)(I.Z,{})]})})},c=t},77589:function(q,M,e){e.d(M,{Z:function(){return s}});var W=e(58757),m=e(38904),j=e(57414),P=e(94706),g=e(10852),o={labelsPanel:"labelsPanel___nCoUr",labels:"labels___f2KO4",labelTitle:"labelTitle___C12Si",optionRow:"optionRow___X46cn",checkbox:"checkbox___Z6wLJ",slider:"slider___GUIhq",lineStyle:"lineStyle___Kmd9H",actionBtns:"actionBtns___JfDVN",modes:"modes___HaJVD"},I=e(87615),Z=e(87608),y=e.n(Z),l=e(76180),t=e(74595),c=e(53357),n=e(35667),h=function(u){var z=(0,c.bU)(),L=z.localeText,b=u.showMatting,A=u.showKeyPoints,a=u.isTiledDiff,E=u.labels,O=u.selectedLabelIds,x=u.diffMode,J=u.disableChangeDiffMode,K=u.onLabelsChange,Q=u.onLabelConfidenceChange,_=u.onLabelsDiffModeChange;return(0,n.jsx)(I.Z,{customOverlay:(0,n.jsxs)("div",{className:y()(o.labelsPanel),id:"labelsPanel",children:[(0,n.jsxs)("div",{className:o.labels,children:[(0,n.jsxs)("div",{className:o.labelTitle,children:[(0,n.jsx)("div",{style:{width:"240px",paddingLeft:"24px"},children:L("dataset.detail.labelSetsName")}),!b&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{style:{width:"132px"},children:L("dataset.detail.confidence")}),(0,n.jsx)("div",{style:{width:"100px",marginLeft:"40px"},children:L("dataset.detail.style")})]})]}),(0,n.jsx)(m.Z.Group,{onChange:K,value:O,className:o.options,children:(0,n.jsx)(j.Z,{direction:"vertical",children:E.map(function(p,S){var U=(0,t.iE)(p.id,O,a),X=U.strokeDash,B=U.lineWidth,F=U.colorAplha;return(0,n.jsxs)("div",{className:o.optionRow,children:[(0,n.jsx)(m.Z,{value:p.id,className:o.checkbox,disabled:!O.includes(p.id)&&O.length>=l.JQ.length,children:p.name}),!b&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(P.Z,{tooltip:{open:!0,prefixCls:"slider-tooltip",getPopupContainer:function(){return document.getElementById("labelsPanel")}},className:o.slider,range:!0,min:0,max:1,value:p.confidenceRange,step:.01,onChange:function(se){return Q(S,se)},disabled:p.source!==l.$j.pred}),(0,n.jsx)("div",{style:{width:"100px",marginLeft:"40px"},children:O.includes(p.id)&&(0,n.jsxs)("svg",{className:o.lineStyle,children:[(0,n.jsx)("line",{x1:5,y1:5,x2:70,y2:5,strokeDasharray:X.join(","),strokeWidth:"".concat(B,"pt")}),A&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("circle",{cx:5,cy:5,r:3,stroke:"black",strokeWidth:1,fill:"rgba(133, 208, 252, ".concat(F,")")}),(0,n.jsx)("circle",{cx:70,cy:5,r:3,stroke:"black",strokeWidth:1,fill:"rgba(133, 208, 252, ".concat(F,")")})]})]})})]})]},p.id)})})})]}),!b&&!J&&(0,n.jsx)("div",{className:o.modes,children:(0,n.jsx)(g.ZP.Group,{onChange:function(S){return _(S.target.value)},value:x,children:l.Wp.map(function(p){return(0,n.jsx)(g.ZP,{value:p,children:L(p)},p)})})})]}),children:L("dataset.detail.labelSets")})},s=h},14481:function(q,M,e){e.r(M),e.d(M,{default:function(){return je}});var W=e(24454),m=e.n(W),j=e(56592),P=e.n(j),g=e(58757),o=e(97375),I=e(28506),Z=e(61845),y=e(37617),l=e(79233),t=e(6233),c=e.n(t),n=e(12562),h=e(92183),s=e(76180),N=e(23707),u=e(51204),z=e(77589),L=e(85205),b=e(51830),A={fixMenu:"fixMenu___3BTI4",filter:"filter___f53Ll",rightFilters:"rightFilters___PcqUj",backBtn:"backBtn___zqjXV",dropBtn:"dropBtn___f3XQO"},a=e(35667),E=function(){var r=(0,o.useModel)("dataset.common",function(H){return{isTiledDiff:H.isTiledDiff,cloumnCount:H.pageState.cloumnCount,filters:H.pageData.filters,filterValues:H.pageState.filterValues,comparisons:H.pageState.comparisons}}),i=r.filters,f=r.filterValues,C=r.comparisons,G=r.isTiledDiff,w=r.cloumnCount,T=(0,o.useModel)("dataset.filters"),Y=T.onCategoryChange,ee=T.onDisplayOptionsChange,$=T.onDisplayAnnotationTypeChange,ae=T.onLabelsChange,d=T.onLabelConfidenceChange,v=T.onLabelsDiffModeChange,re=T.onColumnCountChange,de=i.labels,ce=f.selectedLabelIds,ge=f.displayAnnotationType===s.JJ.Matting,ue=f.displayAnnotationType===s.JJ.KeyPoints;return(0,a.jsxs)("div",{className:A.fixMenu,id:"filterWrap",children:[(0,a.jsxs)("div",{className:A.filter,children:[(0,a.jsx)(n.ZP,{icon:(0,a.jsx)(h.Z,{}),type:"text",className:A.backBtn,onClick:function(){return(0,N.yS)("/dataset")}}),(0,a.jsx)(u.Z,{categoryId:f.categoryId,categories:i.categories,onCategoryChange:Y})]}),(0,a.jsxs)("div",{className:A.rightFilters,children:[(0,a.jsx)(z.Z,{showMatting:ge,showKeyPoints:ue,isTiledDiff:G,labels:de,selectedLabelIds:ce,diffMode:s.uP.Overlay,disableChangeDiffMode:!0,onLabelsChange:ae,onLabelConfidenceChange:d,onLabelsDiffModeChange:v}),(0,a.jsx)(L.Z,{annotationTypes:i.annotationTypes,disableChangeType:!!C,displayAnnotationType:f.displayAnnotationType,displayOptions:i.displayOptions,displayOptionsValue:f.displayOptions,onDisplayAnnotationTypeChange:$,onDisplayOptionsChange:ee}),!G&&(0,a.jsx)(b.ii,{cloumnCount:w,onColumnCountChange:re})]})]})},O=E,x=e(38904),J=e(74820),K=e(60698),Q={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M168 504.2c1-43.7 10-86.1 26.9-126 17.3-41 42.1-77.7 73.7-109.4S337 212.3 378 195c42.4-17.9 87.4-27 133.9-27s91.5 9.1 133.8 27A341.5 341.5 0 01755 268.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.7 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c0-6.7-7.7-10.5-12.9-6.3l-56.4 44.1C765.8 155.1 646.2 92 511.8 92 282.7 92 96.3 275.6 92 503.8a8 8 0 008 8.2h60c4.4 0 7.9-3.5 8-7.8zm756 7.8h-60c-4.4 0-7.9 3.5-8 7.8-1 43.7-10 86.1-26.9 126-17.3 41-42.1 77.8-73.7 109.4A342.45 342.45 0 01512.1 856a342.24 342.24 0 01-243.2-100.8c-9.9-9.9-19.2-20.4-27.8-31.4l60.2-47a8 8 0 00-3-14.1l-175.7-43c-5-1.2-9.9 2.6-9.9 7.7l-.7 181c0 6.7 7.7 10.5 12.9 6.3l56.4-44.1C258.2 868.9 377.8 932 512.2 932c229.2 0 415.5-183.7 419.8-411.8a8 8 0 00-8-8.2z"}}]},name:"sync",theme:"outlined"},_=Q,p=e(17202),S=function(r,i){return g.createElement(p.Z,(0,K.Z)({},r,{ref:i,icon:_}))},U=g.forwardRef(S),X=e(4394),B=e(53357),F={toolsBar:"toolsBar___BaJ18",selector:"selector___oykI4",antiBtn:"antiBtn___BMNv_",flagTip:"flagTip___jQeUr",flag:"flag___AuDg7",flagBtn:"flagBtn___kI5rw",rightContent:"rightContent___J7I4T",lineSplit:"lineSplit___cRXnA"},oe=e(87615),se=function(){var r,i=(0,o.useModel)("dataset.common",function(d){var v;return{pageSize:d.pageState.pageSize,flagStatus:(v=d.pageState.flagTools)===null||v===void 0?void 0:v.flagStatus,flagTools:d.pageState.flagTools&&d.pageData.flagTools}}),f=i.flagTools,C=i.flagStatus,G=i.pageSize,w=(0,o.useModel)("dataset.flag"),T=w.onChangeFlagStatus,Y=w.changeSelectAll,ee=w.antiSelect,$=w.saveFlag,ae=w.updateOrder;return f?(0,a.jsxs)("div",{className:F.toolsBar,children:[(0,a.jsxs)("div",{className:F.selector,children:[(0,a.jsx)(x.Z,{indeterminate:f.count>0&&f.count!==G,checked:(f==null?void 0:f.count)===G,onChange:Y,children:f.count===0?(0,a.jsx)(B.Og,{id:"lab.toolsBar.selectAll"}):(0,a.jsx)(B.Og,{id:"lab.toolsBar.selectSome",values:{num:f.count}})}),(0,a.jsx)(n.ZP,{onClick:function(){return ee()},className:F.antiBtn,children:(0,a.jsx)(B.Og,{id:"lab.toolsBar.selectInvert"})}),(0,a.jsxs)(oe.Z,{data:s.j3,value:C,filterOptionName:function(v){return v.name},filterOptionValue:function(v){return v.value},onChange:function(v){return T(v)},ghost:!1,type:"default",className:F.antiBtn,children:[(0,a.jsx)(B.Og,{id:"lab.toolsBar.filter"})," :"," ",(r=s.j3.find(function(d){return d.value===C}))===null||r===void 0?void 0:r.name]}),(0,a.jsxs)("div",{className:F.flagTip,children:[(0,a.jsx)(B.Og,{id:"lab.toolsBar.saveAs"}),"\uFF1A"]}),s.YC.map(function(d){return(0,a.jsx)(J.Z,{placement:"bottom",title:d.tip,children:(0,a.jsx)(n.ZP,{ghost:!0,onClick:function(){return $(d.value)},className:F.flagBtn,style:{borderColor:s.a5[d.value],opacity:f.count<=0?.5:1},icon:(0,a.jsx)(X.r,{fill:s.a5[d.value]})})},d.value)})]}),(0,a.jsx)("div",{className:F.rightContent,children:(0,a.jsxs)(n.ZP,{onClick:ae,children:[(0,a.jsx)(U,{}),(0,a.jsx)(B.Og,{id:"lab.toolsBar.updateOrder"})]})})]}):null},me=se,he=e(9644),ye=e(74595),R={page:"page___gO_hp",container:"container___ZoYU1",item:"item___gLaMX",itemImgWrap:"itemImgWrap___I92CG",flagIcon:"flagIcon___snhaL",label:"label___m8WJS",itemSelectedMask:"itemSelectedMask___oYwMk",pagination:"pagination___Z13Xp",editor:"editor___ZxT8b",pageSpin:"pageSpin___kIm_a"},xe=e(95073),Ce=function(){var r=(0,o.useModel)("dataset.common"),i=r.pageState,f=r.onInitPageState,C=r.pageData,G=r.loading,w=r.displayLabelIds,T=r.isTiledDiff,Y=r.displayOptionsResult,ee=r.onPageContentLoaded,$=r.onPreviewIndexChange,ae=r.exitPreview,d=r.displayObjectsFilter,v=(0,o.useModel)("Lab.FlagTool.model"),re=v.onPageDidMount,de=v.onPageWillUnmount,ce=v.clickItem,ge=v.doubleClickItem,ue=v.onPageChange,H=v.onPageSizeChange,Oe=i.cloumnCount,Se=i.isSingleAnnotation,Te=i.filterValues,ve=i.flagTools;(0,I._)({onPageDidMount:re,onPageWillUnmount:de,onInitPageState:f,pageState:i});var le=(0,xe.Z)(function(){return document.querySelector(".ant-pro-page-container")}),fe=le!=null&&le.width?le.width-80:0,ne=(0,g.useMemo)(function(){return T?(0,ye.JC)(C.imgList,w,Te.displayAnnotationType):C.imgList},[T,C.imgList,w]),pe=T?ne.length/(C.imgList.length||1):Oe,k=fe?(fe-16*(pe-1))/(pe||1):0;return(0,a.jsxs)(Z._z,{ghost:!0,className:R.page,pageHeaderRender:function(){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(O,{}),(0,a.jsx)(me,{})]})},fixedHeader:!0,children:[(0,a.jsx)("div",{className:R.container,children:(0,a.jsx)(y.Z,{loading:G,children:ne.length?(0,a.jsx)(c(),{options:{gutter:16,horizontalOrder:!0,transitionDuration:0},onImagesLoaded:function(){return ee()},children:ne.map(function(D,te){return(0,a.jsxs)("div",{className:R.item,style:{width:k},onClick:function(){return ce(te)},onDoubleClick:function(){return ge(te)},children:[(0,a.jsx)("div",{className:R.itemImgWrap,style:{width:k,height:ve?k*3/4:"auto"},children:(0,a.jsx)(he.D5,{isOldMode:!0,categories:C.filters.categories,data:D,wrapWidth:k,wrapHeight:ve?k*3/4:void 0,minHeight:k*3/4,objectsFilter:d,displayOptionsResult:Y})}),D.flag>0&&(0,a.jsx)(X.r,{fill:s.a5[D.flag],className:R.flagIcon}),Y.showImgDesc&&(0,a.jsxs)("div",{className:R.label,children:[" ",D.caption||D.desc," "]}),ve&&D.selected?(0,a.jsx)("div",{className:R.itemSelectedMask}):null]},"".concat(D.id,"_").concat(te))})}):null})}),!G&&(0,a.jsx)(b.ZJ,{current:i.page,size:i.pageSize,total:C.total,onPageChange:ue,onPageSizeChange:H}),(0,a.jsx)(he.j5,{isOldMode:!0,visible:i.previewIndex>=0&&!Se,categories:C.filters.categories,list:ne,current:i.previewIndex,onCancel:ae,onNext:P()(m()().mark(function D(){return m()().wrap(function(V){for(;;)switch(V.prev=V.next){case 0:i.previewIndex0&&$(i.previewIndex-1);case 1:case"end":return V.stop()}},D)})),objectsFilter:d,displayOptionsResult:Y}),C.screenLoading?(0,a.jsx)("div",{className:R.pageSpin,children:(0,a.jsx)(l.Z,{spinning:!0,tip:C.screenLoading})}):null]})},je=Ce},4394:function(q,M,e){e.d(M,{r:function(){return Z}});var W=e(58757),m=Object.defineProperty,j=Object.getOwnPropertySymbols,P=Object.prototype.hasOwnProperty,g=Object.prototype.propertyIsEnumerable,o=(l,t,c)=>t in l?m(l,t,{enumerable:!0,configurable:!0,writable:!0,value:c}):l[t]=c,I=(l,t)=>{for(var c in t||(t={}))P.call(t,c)&&o(l,c,t[c]);if(j)for(var c of j(t))g.call(t,c)&&o(l,c,t[c]);return l};const Z=l=>W.createElement("svg",I({viewBox:"0 0 16 16",fill:"#52C41A",xmlns:"http://www.w3.org/2000/svg"},l),W.createElement("path",{d:"M12.633 4.84 3.838 1.05A.599.599 0 0 0 3 1.602v12.793a.602.602 0 1 0 1.204 0v-4l8.475-4.47a.601.601 0 0 0-.046-1.086Z"}));var y="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTYgMTYiIGZpbGw9IiM1MkM0MUEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEyLjYzMyA0Ljg0IDMuODM4IDEuMDVBLjU5OS41OTkgMCAwIDAgMyAxLjYwMnYxMi43OTNhLjYwMi42MDIgMCAxIDAgMS4yMDQgMHYtNGw4LjQ3NS00LjQ3YS42MDEuNjAxIDAgMCAwLS4wNDYtMS4wODZaIi8+PC9zdmc+"}}]); +"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[397],{51204:function(q,M,e){e.d(M,{Z:function(){return I}});var W=e(58757),m=e(59504),j=e(53357),P={wrapper:"wrapper___FtwXk"},g=e(35667),o=function(y){var l=(0,j.bU)(),t=l.localeText,c=y.categoryId,n=y.categories,h=y.onCategoryChange,s=(0,W.useMemo)(function(){return n.map(function(N){return{label:N.name,value:N.id}})},[n]);return(0,g.jsxs)("div",{className:P.wrapper,children:[t("dataset.detail.category"),":",(0,g.jsx)(m.Z,{showSearch:!0,style:{width:"160px",marginLeft:"10px"},placeholder:"Select a category",options:s,optionFilterProp:"label",value:c,onChange:h,getPopupContainer:function(){return document.getElementById("filterWrap")}})]})},I=o},85205:function(q,M,e){e.d(M,{Z:function(){return n}});var W=e(58757),m=e(10852),j=e(38904),P=e(57414),g={dropBtn:"dropBtn___SYvIY",displayPanel:"displayPanel___JkzSB",objectTypeOption:"objectTypeOption___O6sJL",typeTitle:"typeTitle___l97pr",displayOptions:"displayOptions___NQVYA"},o=e(87615),I=e(87608),Z=e.n(I),y=e(53357),l=e(76180),t=e(35667),c=function(s){var N=(0,y.bU)(),u=N.localeText,z=s.annotationTypes,L=s.disableChangeType,b=s.displayAnnotationType,A=s.displayOptions,a=s.displayOptionsValue,E=s.onDisplayAnnotationTypeChange,O=s.onDisplayOptionsChange;return(0,t.jsx)(o.Z,{className:g.dropBtn,customOverlay:(0,t.jsxs)("div",{className:Z()(g.displayPanel),children:[z.length>0&&(0,t.jsxs)("div",{className:g.objectTypeOption,children:[(0,t.jsxs)("span",{className:g.typeTitle,children:[u("dataset.detail.displayType"),":"]}),(0,t.jsx)(m.ZP.Group,{disabled:L,onChange:function(J){return E(J.target.value)},value:b,children:z.map(function(x){return(0,t.jsx)(m.ZP,{value:x,children:x},x)})})]}),(0,t.jsx)(j.Z.Group,{className:g.displayOptions,onChange:O,value:a,children:(0,t.jsx)(P.Z,{direction:"vertical",children:A.map(function(x){return(0,t.jsx)(j.Z,{value:x,children:u(l.Ss[x])},x)})})})]}),children:u("dataset.detail.displayOptions")})},n=c},87615:function(q,M,e){e.d(M,{Z:function(){return c}});var W=e(58757),m=e(38904),j=e(10852),P=e(73267),g=e(57414),o=e(12562),I=e(10130),Z=e(53357),y={dropdownSelector:"dropdownSelector___gvMFq",dropdownWrap:"dropdownWrap___WWYlz",dropdownBox:"dropdownBox___lpUVf"},l=e(35667),t=function(h){var s=h.data,N=h.multiple,u=h.type,z=u===void 0?"primary":u,L=h.ghost,b=L===void 0?!0:L,A=h.value,a=h.filterOptionValue,E=h.filterOptionName,O=h.onChange,x=h.className,J=h.children,K=h.customOverlay,Q=N?m.Z:j.ZP,_=function(S){O&&O(N?S:S.target.value)};return(0,l.jsx)(P.Z,{overlayClassName:y.dropdownSelector,trigger:["click"],dropdownRender:function(){return(0,l.jsx)("div",{className:y.dropdownWrap,children:K||(0,l.jsx)(Q.Group,{className:y.dropdownBox,onChange:_,value:A,children:(0,l.jsx)(g.Z,{direction:"vertical",children:s==null?void 0:s.map(function(S,U){var X=a?a(S):S,B=E?E(S):S;return(0,l.jsx)(Q,{value:X,children:(0,Z._w)(B)},U)})})})})},children:(0,l.jsxs)(o.ZP,{className:x,type:z,ghost:b,children:[J,(0,l.jsx)(I.Z,{})]})})},c=t},77589:function(q,M,e){e.d(M,{Z:function(){return s}});var W=e(58757),m=e(38904),j=e(57414),P=e(94706),g=e(10852),o={labelsPanel:"labelsPanel___nCoUr",labels:"labels___f2KO4",labelTitle:"labelTitle___C12Si",optionRow:"optionRow___X46cn",checkbox:"checkbox___Z6wLJ",slider:"slider___GUIhq",lineStyle:"lineStyle___Kmd9H",actionBtns:"actionBtns___JfDVN",modes:"modes___HaJVD"},I=e(87615),Z=e(87608),y=e.n(Z),l=e(76180),t=e(74595),c=e(53357),n=e(35667),h=function(u){var z=(0,c.bU)(),L=z.localeText,b=u.showMatting,A=u.showKeyPoints,a=u.isTiledDiff,E=u.labels,O=u.selectedLabelIds,x=u.diffMode,J=u.disableChangeDiffMode,K=u.onLabelsChange,Q=u.onLabelConfidenceChange,_=u.onLabelsDiffModeChange;return(0,n.jsx)(I.Z,{customOverlay:(0,n.jsxs)("div",{className:y()(o.labelsPanel),id:"labelsPanel",children:[(0,n.jsxs)("div",{className:o.labels,children:[(0,n.jsxs)("div",{className:o.labelTitle,children:[(0,n.jsx)("div",{style:{width:"240px",paddingLeft:"24px"},children:L("dataset.detail.labelSetsName")}),!b&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{style:{width:"132px"},children:L("dataset.detail.confidence")}),(0,n.jsx)("div",{style:{width:"100px",marginLeft:"40px"},children:L("dataset.detail.style")})]})]}),(0,n.jsx)(m.Z.Group,{onChange:K,value:O,className:o.options,children:(0,n.jsx)(j.Z,{direction:"vertical",children:E.map(function(p,S){var U=(0,t.iE)(p.id,O,a),X=U.strokeDash,B=U.lineWidth,F=U.colorAplha;return(0,n.jsxs)("div",{className:o.optionRow,children:[(0,n.jsx)(m.Z,{value:p.id,className:o.checkbox,disabled:!O.includes(p.id)&&O.length>=l.JQ.length,children:p.name}),!b&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(P.Z,{tooltip:{open:!0,prefixCls:"slider-tooltip",getPopupContainer:function(){return document.getElementById("labelsPanel")}},className:o.slider,range:!0,min:0,max:1,value:p.confidenceRange,step:.01,onChange:function(se){return Q(S,se)},disabled:p.source!==l.$j.pred}),(0,n.jsx)("div",{style:{width:"100px",marginLeft:"40px"},children:O.includes(p.id)&&(0,n.jsxs)("svg",{className:o.lineStyle,children:[(0,n.jsx)("line",{x1:5,y1:5,x2:70,y2:5,strokeDasharray:X.join(","),strokeWidth:"".concat(B,"pt")}),A&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("circle",{cx:5,cy:5,r:3,stroke:"black",strokeWidth:1,fill:"rgba(133, 208, 252, ".concat(F,")")}),(0,n.jsx)("circle",{cx:70,cy:5,r:3,stroke:"black",strokeWidth:1,fill:"rgba(133, 208, 252, ".concat(F,")")})]})]})})]})]},p.id)})})})]}),!b&&!J&&(0,n.jsx)("div",{className:o.modes,children:(0,n.jsx)(g.ZP.Group,{onChange:function(S){return _(S.target.value)},value:x,children:l.Wp.map(function(p){return(0,n.jsx)(g.ZP,{value:p,children:L(p)},p)})})})]}),children:L("dataset.detail.labelSets")})},s=h},14481:function(q,M,e){e.r(M),e.d(M,{default:function(){return je}});var W=e(24454),m=e.n(W),j=e(56592),P=e.n(j),g=e(58757),o=e(97375),I=e(28506),Z=e(61845),y=e(37617),l=e(79233),t=e(6233),c=e.n(t),n=e(12562),h=e(92183),s=e(76180),N=e(23707),u=e(51204),z=e(77589),L=e(85205),b=e(51830),A={fixMenu:"fixMenu___3BTI4",filter:"filter___f53Ll",rightFilters:"rightFilters___PcqUj",backBtn:"backBtn___zqjXV",dropBtn:"dropBtn___f3XQO"},a=e(35667),E=function(){var r=(0,o.useModel)("dataset.common",function(H){return{isTiledDiff:H.isTiledDiff,cloumnCount:H.pageState.cloumnCount,filters:H.pageData.filters,filterValues:H.pageState.filterValues,comparisons:H.pageState.comparisons}}),i=r.filters,f=r.filterValues,C=r.comparisons,G=r.isTiledDiff,w=r.cloumnCount,T=(0,o.useModel)("dataset.filters"),Y=T.onCategoryChange,ee=T.onDisplayOptionsChange,$=T.onDisplayAnnotationTypeChange,ae=T.onLabelsChange,d=T.onLabelConfidenceChange,v=T.onLabelsDiffModeChange,re=T.onColumnCountChange,de=i.labels,ce=f.selectedLabelIds,ge=f.displayAnnotationType===s.JJ.Matting,ue=f.displayAnnotationType===s.JJ.KeyPoints;return(0,a.jsxs)("div",{className:A.fixMenu,id:"filterWrap",children:[(0,a.jsxs)("div",{className:A.filter,children:[(0,a.jsx)(n.ZP,{icon:(0,a.jsx)(h.Z,{}),type:"text",className:A.backBtn,onClick:function(){return(0,N.yS)("/dataset")}}),(0,a.jsx)(u.Z,{categoryId:f.categoryId,categories:i.categories,onCategoryChange:Y})]}),(0,a.jsxs)("div",{className:A.rightFilters,children:[(0,a.jsx)(z.Z,{showMatting:ge,showKeyPoints:ue,isTiledDiff:G,labels:de,selectedLabelIds:ce,diffMode:s.uP.Overlay,disableChangeDiffMode:!0,onLabelsChange:ae,onLabelConfidenceChange:d,onLabelsDiffModeChange:v}),(0,a.jsx)(L.Z,{annotationTypes:i.annotationTypes,disableChangeType:!!C,displayAnnotationType:f.displayAnnotationType,displayOptions:i.displayOptions,displayOptionsValue:f.displayOptions,onDisplayAnnotationTypeChange:$,onDisplayOptionsChange:ee}),!G&&(0,a.jsx)(b.ii,{cloumnCount:w,onColumnCountChange:re})]})]})},O=E,x=e(38904),J=e(74820),K=e(60698),Q={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M168 504.2c1-43.7 10-86.1 26.9-126 17.3-41 42.1-77.7 73.7-109.4S337 212.3 378 195c42.4-17.9 87.4-27 133.9-27s91.5 9.1 133.8 27A341.5 341.5 0 01755 268.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.7 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c0-6.7-7.7-10.5-12.9-6.3l-56.4 44.1C765.8 155.1 646.2 92 511.8 92 282.7 92 96.3 275.6 92 503.8a8 8 0 008 8.2h60c4.4 0 7.9-3.5 8-7.8zm756 7.8h-60c-4.4 0-7.9 3.5-8 7.8-1 43.7-10 86.1-26.9 126-17.3 41-42.1 77.8-73.7 109.4A342.45 342.45 0 01512.1 856a342.24 342.24 0 01-243.2-100.8c-9.9-9.9-19.2-20.4-27.8-31.4l60.2-47a8 8 0 00-3-14.1l-175.7-43c-5-1.2-9.9 2.6-9.9 7.7l-.7 181c0 6.7 7.7 10.5 12.9 6.3l56.4-44.1C258.2 868.9 377.8 932 512.2 932c229.2 0 415.5-183.7 419.8-411.8a8 8 0 00-8-8.2z"}}]},name:"sync",theme:"outlined"},_=Q,p=e(17202),S=function(r,i){return g.createElement(p.Z,(0,K.Z)({},r,{ref:i,icon:_}))},U=g.forwardRef(S),X=e(4394),B=e(53357),F={toolsBar:"toolsBar___BaJ18",selector:"selector___oykI4",antiBtn:"antiBtn___BMNv_",flagTip:"flagTip___jQeUr",flag:"flag___AuDg7",flagBtn:"flagBtn___kI5rw",rightContent:"rightContent___J7I4T",lineSplit:"lineSplit___cRXnA"},oe=e(87615),se=function(){var r,i=(0,o.useModel)("dataset.common",function(d){var v;return{pageSize:d.pageState.pageSize,flagStatus:(v=d.pageState.flagTools)===null||v===void 0?void 0:v.flagStatus,flagTools:d.pageState.flagTools&&d.pageData.flagTools}}),f=i.flagTools,C=i.flagStatus,G=i.pageSize,w=(0,o.useModel)("dataset.flag"),T=w.onChangeFlagStatus,Y=w.changeSelectAll,ee=w.antiSelect,$=w.saveFlag,ae=w.updateOrder;return f?(0,a.jsxs)("div",{className:F.toolsBar,children:[(0,a.jsxs)("div",{className:F.selector,children:[(0,a.jsx)(x.Z,{indeterminate:f.count>0&&f.count!==G,checked:(f==null?void 0:f.count)===G,onChange:Y,children:f.count===0?(0,a.jsx)(B.Og,{id:"lab.toolsBar.selectAll"}):(0,a.jsx)(B.Og,{id:"lab.toolsBar.selectSome",values:{num:f.count}})}),(0,a.jsx)(n.ZP,{onClick:function(){return ee()},className:F.antiBtn,children:(0,a.jsx)(B.Og,{id:"lab.toolsBar.selectInvert"})}),(0,a.jsxs)(oe.Z,{data:s.j3,value:C,filterOptionName:function(v){return v.name},filterOptionValue:function(v){return v.value},onChange:function(v){return T(v)},ghost:!1,type:"default",className:F.antiBtn,children:[(0,a.jsx)(B.Og,{id:"lab.toolsBar.filter"})," :"," ",(r=s.j3.find(function(d){return d.value===C}))===null||r===void 0?void 0:r.name]}),(0,a.jsxs)("div",{className:F.flagTip,children:[(0,a.jsx)(B.Og,{id:"lab.toolsBar.saveAs"}),"\uFF1A"]}),s.YC.map(function(d){return(0,a.jsx)(J.Z,{placement:"bottom",title:d.tip,children:(0,a.jsx)(n.ZP,{ghost:!0,onClick:function(){return $(d.value)},className:F.flagBtn,style:{borderColor:s.a5[d.value],opacity:f.count<=0?.5:1},icon:(0,a.jsx)(X.r,{fill:s.a5[d.value]})})},d.value)})]}),(0,a.jsx)("div",{className:F.rightContent,children:(0,a.jsxs)(n.ZP,{onClick:ae,children:[(0,a.jsx)(U,{}),(0,a.jsx)(B.Og,{id:"lab.toolsBar.updateOrder"})]})})]}):null},me=se,he=e(65104),ye=e(74595),R={page:"page___gO_hp",container:"container___ZoYU1",item:"item___gLaMX",itemImgWrap:"itemImgWrap___I92CG",flagIcon:"flagIcon___snhaL",label:"label___m8WJS",itemSelectedMask:"itemSelectedMask___oYwMk",pagination:"pagination___Z13Xp",editor:"editor___ZxT8b",pageSpin:"pageSpin___kIm_a"},xe=e(95073),Ce=function(){var r=(0,o.useModel)("dataset.common"),i=r.pageState,f=r.onInitPageState,C=r.pageData,G=r.loading,w=r.displayLabelIds,T=r.isTiledDiff,Y=r.displayOptionsResult,ee=r.onPageContentLoaded,$=r.onPreviewIndexChange,ae=r.exitPreview,d=r.displayObjectsFilter,v=(0,o.useModel)("Lab.FlagTool.model"),re=v.onPageDidMount,de=v.onPageWillUnmount,ce=v.clickItem,ge=v.doubleClickItem,ue=v.onPageChange,H=v.onPageSizeChange,Oe=i.cloumnCount,Se=i.isSingleAnnotation,Te=i.filterValues,ve=i.flagTools;(0,I._)({onPageDidMount:re,onPageWillUnmount:de,onInitPageState:f,pageState:i});var le=(0,xe.Z)(function(){return document.querySelector(".ant-pro-page-container")}),fe=le!=null&&le.width?le.width-80:0,ne=(0,g.useMemo)(function(){return T?(0,ye.JC)(C.imgList,w,Te.displayAnnotationType):C.imgList},[T,C.imgList,w]),pe=T?ne.length/(C.imgList.length||1):Oe,k=fe?(fe-16*(pe-1))/(pe||1):0;return(0,a.jsxs)(Z._z,{ghost:!0,className:R.page,pageHeaderRender:function(){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(O,{}),(0,a.jsx)(me,{})]})},fixedHeader:!0,children:[(0,a.jsx)("div",{className:R.container,children:(0,a.jsx)(y.Z,{loading:G,children:ne.length?(0,a.jsx)(c(),{options:{gutter:16,horizontalOrder:!0,transitionDuration:0},onImagesLoaded:function(){return ee()},children:ne.map(function(D,te){return(0,a.jsxs)("div",{className:R.item,style:{width:k},onClick:function(){return ce(te)},onDoubleClick:function(){return ge(te)},children:[(0,a.jsx)("div",{className:R.itemImgWrap,style:{width:k,height:ve?k*3/4:"auto"},children:(0,a.jsx)(he.D5,{isOldMode:!0,categories:C.filters.categories,data:D,wrapWidth:k,wrapHeight:ve?k*3/4:void 0,minHeight:k*3/4,objectsFilter:d,displayOptionsResult:Y})}),D.flag>0&&(0,a.jsx)(X.r,{fill:s.a5[D.flag],className:R.flagIcon}),Y.showImgDesc&&(0,a.jsxs)("div",{className:R.label,children:[" ",D.caption||D.desc," "]}),ve&&D.selected?(0,a.jsx)("div",{className:R.itemSelectedMask}):null]},"".concat(D.id,"_").concat(te))})}):null})}),!G&&(0,a.jsx)(b.ZJ,{current:i.page,size:i.pageSize,total:C.total,onPageChange:ue,onPageSizeChange:H}),(0,a.jsx)(he.j5,{isOldMode:!0,visible:i.previewIndex>=0&&!Se,categories:C.filters.categories,list:ne,current:i.previewIndex,onCancel:ae,onNext:P()(m()().mark(function D(){return m()().wrap(function(V){for(;;)switch(V.prev=V.next){case 0:i.previewIndex0&&$(i.previewIndex-1);case 1:case"end":return V.stop()}},D)})),objectsFilter:d,displayOptionsResult:Y}),C.screenLoading?(0,a.jsx)("div",{className:R.pageSpin,children:(0,a.jsx)(l.Z,{spinning:!0,tip:C.screenLoading})}):null]})},je=Ce},4394:function(q,M,e){e.d(M,{r:function(){return Z}});var W=e(58757),m=Object.defineProperty,j=Object.getOwnPropertySymbols,P=Object.prototype.hasOwnProperty,g=Object.prototype.propertyIsEnumerable,o=(l,t,c)=>t in l?m(l,t,{enumerable:!0,configurable:!0,writable:!0,value:c}):l[t]=c,I=(l,t)=>{for(var c in t||(t={}))P.call(t,c)&&o(l,c,t[c]);if(j)for(var c of j(t))g.call(t,c)&&o(l,c,t[c]);return l};const Z=l=>W.createElement("svg",I({viewBox:"0 0 16 16",fill:"#52C41A",xmlns:"http://www.w3.org/2000/svg"},l),W.createElement("path",{d:"M12.633 4.84 3.838 1.05A.599.599 0 0 0 3 1.602v12.793a.602.602 0 1 0 1.204 0v-4l8.475-4.47a.601.601 0 0 0-.046-1.086Z"}));var y="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTYgMTYiIGZpbGw9IiM1MkM0MUEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEyLjYzMyA0Ljg0IDMuODM4IDEuMDVBLjU5OS41OTkgMCAwIDAgMyAxLjYwMnYxMi43OTNhLjYwMi42MDIgMCAxIDAgMS4yMDQgMHYtNGw4LjQ3NS00LjQ3YS42MDEuNjAxIDAgMCAwLS4wNDYtMS4wODZaIi8+PC9zdmc+"}}]); diff --git a/deepdataspace/server/static/p__Project__Workspace__index.065c0c78.async.js b/deepdataspace/server/static/p__Project__Workspace__index.065c0c78.async.js new file mode 100644 index 0000000..e49d370 --- /dev/null +++ b/deepdataspace/server/static/p__Project__Workspace__index.065c0c78.async.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[914],{87615:function(ae,S,e){e.d(S,{Z:function(){return T}});var h=e(58757),R=e(38904),w=e(10852),b=e(73267),d=e(57414),E=e(12562),O=e(10130),L=e(53357),j={dropdownSelector:"dropdownSelector___gvMFq",dropdownWrap:"dropdownWrap___WWYlz",dropdownBox:"dropdownBox___lpUVf"},o=e(35667),D=function(i){var s=i.data,y=i.multiple,N=i.type,m=N===void 0?"primary":N,C=i.ghost,V=C===void 0?!0:C,$=i.value,t=i.filterOptionValue,k=i.filterOptionName,f=i.onChange,G=i.className,x=i.children,P=i.customOverlay,u=y?R.Z:w.ZP,a=function(n){f&&f(y?n:n.target.value)};return(0,o.jsx)(b.Z,{overlayClassName:j.dropdownSelector,trigger:["click"],dropdownRender:function(){return(0,o.jsx)("div",{className:j.dropdownWrap,children:P||(0,o.jsx)(u.Group,{className:j.dropdownBox,onChange:a,value:$,children:(0,o.jsx)(d.Z,{direction:"vertical",children:s==null?void 0:s.map(function(n,B){var H=t?t(n):n,z=k?k(n):n;return(0,o.jsx)(u,{value:H,children:(0,L._w)(z)},B)})})})})},children:(0,o.jsxs)(E.ZP,{className:G,type:m,ghost:V,children:[x,(0,o.jsx)(O.Z,{})]})})},T=D},61470:function(ae,S,e){e.r(S),e.d(S,{default:function(){return f}});var h=e(58757),R=e(97375),w=e(28506),b=e(61845),d=e(12562),E=e(16951),O=e(37617),L=e(79233),j=e(18695),o={page:"page___DZyiW",header:"header___bRKb4",backBtn:"backBtn___yET2T",tabs:"tabs___weXzX",btn:"btn____fESN",line:"line___k1GQQ",item:"item___Jv55m",itemImgWrap:"itemImgWrap___bWdL3",flagIcon:"flagIcon___PULYz",label:"label___LGG_W",itemSelectedMask:"itemSelectedMask___mU2PX",topSpin:"topSpin___eLVKZ",bottomSpin:"bottomSpin___MuKRE",pagination:"pagination___WlY5J",pageSpin:"pageSpin___BAc4e",editor:"editor___YUj9q"},D=e(39378),T=e(87615),U=e(93059),i=e(65104),s=e(35459),y=e(92183),N=e(22283),m=e(1239),C=e(95073),V=e(23707),$=e(53357),t=e(35667),k=function(){var x,P=(0,R.useModel)("Project.auth"),u=P.checkPermission,a=(0,R.useModel)("Project.workspace"),r=a.pageData,n=a.pageState,B=a.loading,H=a.loadPageData,z=a.onInitPageState,oe=a.projectId,l=a.curRole,p=a.userRoles,ne=a.tabItems,Y=a.labelImages,F=a.isEditorVisible,re=a.onStatusTabChange,ie=a.onRoleChange,le=a.clickItem,se=a.loadMore,de=a.onExitEditor,ce=a.onNextImage,ue=a.onPrevImage,ve=a.onLabelSave,ge=a.onReviewAccept,me=a.onReviewReject,pe=a.onEnterEdit,X=a.onStartLabel,J=a.onStartRework,Q=a.onStartReview;(0,w._)({onInitPageState:z,pageState:n});var he=(0,$.bU)(),v=he.localeText,je=(0,w.w)(),fe=je.height,Z=(0,C.Z)(function(){return document.querySelector(".ant-pro-page-container")}),q=Z!=null&&Z.width?Z.width-80:0,xe=h.useRef(null),I=5,M=q?(q-16*(I-1))/(I||1):0,A=M*3/4,_=fe-46,Se=function(c){Math.floor(c.currentTarget.scrollHeight-c.currentTarget.scrollTop)===Math.floor(_)&&se()},K=(0,h.useMemo)(function(){return(0,D.chunk)(Y,I).map(function(W,c){return{index:c,lineImgs:W}})},[r.list]),Re=(0,h.useMemo)(function(){return r.editorMode!==i.je.View||n.taskStatus!==s.gZ.Working?[]:u(p,m.Oc.StartLabel)?n.status===s.j$.Labeling?[(0,t.jsx)(d.ZP,{type:"primary",onClick:X,children:v("proj.workspace.eTask.startLabel")},"label")]:n.status===s.j$.Reviewing?[(0,t.jsx)(d.ZP,{type:"primary",onClick:pe,children:v("proj.workspace.eTask.edit")},"edit")]:n.status===s.j$.Rejected?[(0,t.jsx)(d.ZP,{type:"primary",onClick:J,children:v("proj.workspace.eTask.startRework")},"rework")]:[]:u(p,m.Oc.StartReview)&&n.status===s.j$.Reviewing?[(0,t.jsx)(d.ZP,{type:"primary",onClick:Q,children:v("proj.workspace.eTask.startReview")},"review")]:[]},[n.status,n.taskStatus,r.editorMode,p]);return(0,t.jsxs)(b._z,{ghost:!0,className:o.page,fixedHeader:!0,pageHeaderRender:function(){return(0,t.jsxs)("div",{className:o.header,children:[(0,t.jsx)(d.ZP,{icon:(0,t.jsx)(y.Z,{}),type:"text",className:o.backBtn,onClick:function(){return(0,V.yS)("/project/".concat(oe))}}),(0,t.jsx)(E.Z,{className:o.tabs,activeKey:n.status,onChange:re,items:ne,tabBarExtraContent:(0,t.jsxs)("div",{children:[(0,t.jsx)(d.ZP,{type:"text",className:o.btn,icon:(0,t.jsx)(N.Z,{}),onClick:function(){return H()}}),l&&(l==null?void 0:l.labelNumWaiting)>0&&n.taskStatus===s.gZ.Working&&u(p,m.Oc.StartLabel)&&(0,t.jsx)(d.ZP,{type:"primary",className:o.btn,onClick:X,children:v("proj.workspace.eProj.startLabeling")}),l&&(l==null?void 0:l.reviewNumRejected)>0&&n.taskStatus===s.gZ.Working&&u(p,m.Oc.StartLabel)&&(0,t.jsx)(d.ZP,{type:"primary",className:o.btn,onClick:J,children:v("proj.workspace.eProj.startRework")}),l&&(l==null?void 0:l.reviewNumWaiting)>0&&n.taskStatus===s.gZ.Working&&u(p,m.Oc.StartReview)&&(0,t.jsx)(d.ZP,{type:"primary",className:o.btn,onClick:Q,children:v("proj.workspace.eProj.startReview")}),(0,t.jsxs)(T.Z,{data:r.taskRoles,value:n.roleId||"",filterOptionName:function(g){return"".concat(g.userName," (").concat(g.role,")")},filterOptionValue:function(g){return g.id},onChange:ie,ghost:!1,type:"default",children:[v("proj.workspace.eProj.role"),": ",l==null?void 0:l.userName,"(",l==null?void 0:l.role,")"]})]})})]})},children:[(0,t.jsx)(O.Z,{loading:B,className:o.list,children:K.length>0&&(0,t.jsx)(j.Z,{ref:xe,data:K,height:_,itemHeight:A+16,itemKey:"index",onScroll:Se,children:function(c,g){return(0,t.jsxs)(h.Fragment,{children:[(0,t.jsx)("div",{className:o.line,children:c.lineImgs.map(function(ee,te){return(0,t.jsx)("div",{className:o.item,style:{width:M},onClick:function(){return le(g*I+te)},children:(0,t.jsx)("div",{className:o.itemImgWrap,style:{width:M,height:A},children:(0,t.jsx)(i.D5,{isOldMode:!0,categories:r.categoryList,data:ee,wrapWidth:M,wrapHeight:A})})},"".concat(ee.id,"_").concat(te))})}),g===K.length-1&&r.loadingImagesType===U.D.More&&(0,t.jsx)(L.Z,{className:o.bottomSpin})]},g)}})}),F&&(0,t.jsx)("div",{className:o.editor,children:(0,t.jsx)(i.kl,{isOldMode:!0,isSeperate:!1,mode:r.editorMode,visible:F,categories:r.categoryList,list:Y,current:r.curIndex,pagination:{show:r.editorMode!==i.je.Review&&!(r.editorMode===i.je.Edit&&n.status===s.j$.Reviewing),total:r.total,customText:r.editorMode===i.je.Edit?(0,t.jsx)(t.Fragment,{}):void 0,customDisableNext:r.editorMode===i.je.Edit?!((x=r.list[r.curIndex])!==null&&x!==void 0&&x.labeled)||r.curIndex>=r.total-1:void 0},actionElements:Re,onCancel:de,onSave:ve,onReviewAccept:ge,onReviewReject:me,onNext:ce,onPrev:ue})})]})},f=k}}]); diff --git a/deepdataspace/server/static/p__Project__Workspace__index.6c11d39f.async.js b/deepdataspace/server/static/p__Project__Workspace__index.6c11d39f.async.js deleted file mode 100644 index e883c71..0000000 --- a/deepdataspace/server/static/p__Project__Workspace__index.6c11d39f.async.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[914],{87615:function(ae,S,e){e.d(S,{Z:function(){return T}});var h=e(58757),R=e(38904),w=e(10852),b=e(73267),d=e(57414),E=e(12562),O=e(10130),L=e(53357),j={dropdownSelector:"dropdownSelector___gvMFq",dropdownWrap:"dropdownWrap___WWYlz",dropdownBox:"dropdownBox___lpUVf"},o=e(35667),D=function(i){var s=i.data,y=i.multiple,N=i.type,m=N===void 0?"primary":N,C=i.ghost,V=C===void 0?!0:C,$=i.value,t=i.filterOptionValue,k=i.filterOptionName,f=i.onChange,G=i.className,x=i.children,P=i.customOverlay,u=y?R.Z:w.ZP,a=function(n){f&&f(y?n:n.target.value)};return(0,o.jsx)(b.Z,{overlayClassName:j.dropdownSelector,trigger:["click"],dropdownRender:function(){return(0,o.jsx)("div",{className:j.dropdownWrap,children:P||(0,o.jsx)(u.Group,{className:j.dropdownBox,onChange:a,value:$,children:(0,o.jsx)(d.Z,{direction:"vertical",children:s==null?void 0:s.map(function(n,B){var H=t?t(n):n,z=k?k(n):n;return(0,o.jsx)(u,{value:H,children:(0,L._w)(z)},B)})})})})},children:(0,o.jsxs)(E.ZP,{className:G,type:m,ghost:V,children:[x,(0,o.jsx)(O.Z,{})]})})},T=D},61470:function(ae,S,e){e.r(S),e.d(S,{default:function(){return f}});var h=e(58757),R=e(97375),w=e(28506),b=e(61845),d=e(12562),E=e(16951),O=e(37617),L=e(79233),j=e(18695),o={page:"page___DZyiW",header:"header___bRKb4",backBtn:"backBtn___yET2T",tabs:"tabs___weXzX",btn:"btn____fESN",line:"line___k1GQQ",item:"item___Jv55m",itemImgWrap:"itemImgWrap___bWdL3",flagIcon:"flagIcon___PULYz",label:"label___LGG_W",itemSelectedMask:"itemSelectedMask___mU2PX",topSpin:"topSpin___eLVKZ",bottomSpin:"bottomSpin___MuKRE",pagination:"pagination___WlY5J",pageSpin:"pageSpin___BAc4e",editor:"editor___YUj9q"},D=e(39378),T=e(87615),U=e(93059),i=e(9644),s=e(35459),y=e(92183),N=e(22283),m=e(1239),C=e(95073),V=e(23707),$=e(53357),t=e(35667),k=function(){var x,P=(0,R.useModel)("Project.auth"),u=P.checkPermission,a=(0,R.useModel)("Project.workspace"),r=a.pageData,n=a.pageState,B=a.loading,H=a.loadPageData,z=a.onInitPageState,oe=a.projectId,l=a.curRole,p=a.userRoles,ne=a.tabItems,Y=a.labelImages,F=a.isEditorVisible,re=a.onStatusTabChange,ie=a.onRoleChange,le=a.clickItem,se=a.loadMore,de=a.onExitEditor,ce=a.onNextImage,ue=a.onPrevImage,ve=a.onLabelSave,ge=a.onReviewAccept,me=a.onReviewReject,pe=a.onEnterEdit,X=a.onStartLabel,J=a.onStartRework,Q=a.onStartReview;(0,w._)({onInitPageState:z,pageState:n});var he=(0,$.bU)(),v=he.localeText,je=(0,w.w)(),fe=je.height,Z=(0,C.Z)(function(){return document.querySelector(".ant-pro-page-container")}),q=Z!=null&&Z.width?Z.width-80:0,xe=h.useRef(null),I=5,M=q?(q-16*(I-1))/(I||1):0,A=M*3/4,_=fe-46,Se=function(c){Math.floor(c.currentTarget.scrollHeight-c.currentTarget.scrollTop)===Math.floor(_)&&se()},K=(0,h.useMemo)(function(){return(0,D.chunk)(Y,I).map(function(W,c){return{index:c,lineImgs:W}})},[r.list]),Re=(0,h.useMemo)(function(){return r.editorMode!==i.je.View||n.taskStatus!==s.gZ.Working?[]:u(p,m.Oc.StartLabel)?n.status===s.j$.Labeling?[(0,t.jsx)(d.ZP,{type:"primary",onClick:X,children:v("proj.workspace.eTask.startLabel")},"label")]:n.status===s.j$.Reviewing?[(0,t.jsx)(d.ZP,{type:"primary",onClick:pe,children:v("proj.workspace.eTask.edit")},"edit")]:n.status===s.j$.Rejected?[(0,t.jsx)(d.ZP,{type:"primary",onClick:J,children:v("proj.workspace.eTask.startRework")},"rework")]:[]:u(p,m.Oc.StartReview)&&n.status===s.j$.Reviewing?[(0,t.jsx)(d.ZP,{type:"primary",onClick:Q,children:v("proj.workspace.eTask.startReview")},"review")]:[]},[n.status,n.taskStatus,r.editorMode,p]);return(0,t.jsxs)(b._z,{ghost:!0,className:o.page,fixedHeader:!0,pageHeaderRender:function(){return(0,t.jsxs)("div",{className:o.header,children:[(0,t.jsx)(d.ZP,{icon:(0,t.jsx)(y.Z,{}),type:"text",className:o.backBtn,onClick:function(){return(0,V.yS)("/project/".concat(oe))}}),(0,t.jsx)(E.Z,{className:o.tabs,activeKey:n.status,onChange:re,items:ne,tabBarExtraContent:(0,t.jsxs)("div",{children:[(0,t.jsx)(d.ZP,{type:"text",className:o.btn,icon:(0,t.jsx)(N.Z,{}),onClick:function(){return H()}}),l&&(l==null?void 0:l.labelNumWaiting)>0&&n.taskStatus===s.gZ.Working&&u(p,m.Oc.StartLabel)&&(0,t.jsx)(d.ZP,{type:"primary",className:o.btn,onClick:X,children:v("proj.workspace.eProj.startLabeling")}),l&&(l==null?void 0:l.reviewNumRejected)>0&&n.taskStatus===s.gZ.Working&&u(p,m.Oc.StartLabel)&&(0,t.jsx)(d.ZP,{type:"primary",className:o.btn,onClick:J,children:v("proj.workspace.eProj.startRework")}),l&&(l==null?void 0:l.reviewNumWaiting)>0&&n.taskStatus===s.gZ.Working&&u(p,m.Oc.StartReview)&&(0,t.jsx)(d.ZP,{type:"primary",className:o.btn,onClick:Q,children:v("proj.workspace.eProj.startReview")}),(0,t.jsxs)(T.Z,{data:r.taskRoles,value:n.roleId||"",filterOptionName:function(g){return"".concat(g.userName," (").concat(g.role,")")},filterOptionValue:function(g){return g.id},onChange:ie,ghost:!1,type:"default",children:[v("proj.workspace.eProj.role"),": ",l==null?void 0:l.userName,"(",l==null?void 0:l.role,")"]})]})})]})},children:[(0,t.jsx)(O.Z,{loading:B,className:o.list,children:K.length>0&&(0,t.jsx)(j.Z,{ref:xe,data:K,height:_,itemHeight:A+16,itemKey:"index",onScroll:Se,children:function(c,g){return(0,t.jsxs)(h.Fragment,{children:[(0,t.jsx)("div",{className:o.line,children:c.lineImgs.map(function(ee,te){return(0,t.jsx)("div",{className:o.item,style:{width:M},onClick:function(){return le(g*I+te)},children:(0,t.jsx)("div",{className:o.itemImgWrap,style:{width:M,height:A},children:(0,t.jsx)(i.D5,{isOldMode:!0,categories:r.categoryList,data:ee,wrapWidth:M,wrapHeight:A})})},"".concat(ee.id,"_").concat(te))})}),g===K.length-1&&r.loadingImagesType===U.D.More&&(0,t.jsx)(L.Z,{className:o.bottomSpin})]},g)}})}),F&&(0,t.jsx)("div",{className:o.editor,children:(0,t.jsx)(i.kl,{isOldMode:!0,isSeperate:!1,mode:r.editorMode,visible:F,categories:r.categoryList,list:Y,current:r.curIndex,pagination:{show:r.editorMode!==i.je.Review&&!(r.editorMode===i.je.Edit&&n.status===s.j$.Reviewing),total:r.total,customText:r.editorMode===i.je.Edit?(0,t.jsx)(t.Fragment,{}):void 0,customDisableNext:r.editorMode===i.je.Edit?!((x=r.list[r.curIndex])!==null&&x!==void 0&&x.labeled)||r.curIndex>=r.total-1:void 0},actionElements:Re,onCancel:de,onSave:ve,onReviewAccept:ge,onReviewReject:me,onNext:ce,onPrev:ue})})]})},f=k}}]); diff --git a/deepdataspace/server/static/umi.30868830.css b/deepdataspace/server/static/umi.5d546bdb.css similarity index 65% rename from deepdataspace/server/static/umi.30868830.css rename to deepdataspace/server/static/umi.5d546bdb.css index dd81a40..61c9135 100644 --- a/deepdataspace/server/static/umi.30868830.css +++ b/deepdataspace/server/static/umi.5d546bdb.css @@ -1,3 +1,3 @@ -*{margin:0;padding:0;box-sizing:border-box}body{background:#f5f5f5;overflow:overlay}#root .ant-page-header{background-color:#fff}#root .ant-pro .ant-layout-header.ant-pro-layout-header-fixed-header{padding:0 44px;background-color:#fff;border-bottom:1px solid #f0f0f0}#root .ant-pro-page-container-affix .ant-affix{top:0!important}#root .ant-pro-top-nav-header-main{padding-inline-start:0}#root .ant-pro-top-nav-header-logo>*:first-child>img{height:40px}#root .ant-image-preview-mask{z-index:900!important}#root .ant-image-preview-wrap{z-index:901!important}#root .ant-collapse>.ant-collapse-item.ant-collapse-no-arrow>.ant-collapse-header{padding:0!important}#root .ant-collapse-ghost>.ant-collapse-item>.ant-collapse-content>.ant-collapse-content-box{padding:0!important}#root .ant-collapse .ant-collapse-item-disabled>.ant-collapse-header,#root .ant-collapse .ant-collapse-item-disabled>.ant-collapse-header>.arrow{cursor:pointer!important}#root .ant-pro .ant-pro-layout .ant-pro-layout-content{margin-block:0;margin-inline:0}#root .ant-table-tbody>tr>td>.ant-space{flex-wrap:wrap}#root .ant-table-pagination.ant-pagination{margin:16px 0}html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{text-decoration:underline;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type="range"]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}.dds-lang-selector{height:34px;padding:4px 8px}.dds-lang-selector div{position:relative;width:1.2em;height:1.2em}.dds-lang-selector .cur-lang{position:absolute;font-size:1.2em;line-height:1;left:-5%;top:0;transform:scale(.7);transform-origin:0 0;z-index:1}.dds-lang-selector .cur-lang-light{color:#fff;border:1px solid rgba(0,0,0,.88);background-color:#000000e0}.dds-lang-selector .cur-lang-dark{color:#000;border:1px solid rgba(255,255,255,.88);background-color:#ffffffe0}.dds-lang-selector .change-lang{position:absolute;font-size:1.2em;line-height:1;right:-5%;bottom:0;transform:scale(.5);transform-origin:100% 100%;z-index:0}.dds-lang-selector .change-lang-light{color:#000000e0;border:1px solid rgba(0,0,0,.88)}.dds-lang-selector .change-lang-dark{color:#ffffffe0;border:1px solid rgba(255,255,255,.88)}.dds-column-settings-panel{display:flex;flex-direction:column;padding:0 16px 24px;background-color:#fff;border-radius:2px;outline:none;box-shadow:0 2px 8px #00000026;max-height:400px;overflow:scroll;scrollbar-width:none;-ms-overflow-style:none}.dds-column-settings-panel::-webkit-scrollbar{display:none}.dds-column-settings-panel .item-title{margin:24px 0;font-size:14px;line-height:22px;color:#000}.dds-column-settings-panel .item-content{display:flex;justify-content:center}.dds-column-settings-panel .slider{width:168px;margin-right:26px}.dds-column-settings-panel .num-box{display:flex;align-items:center;justify-content:center;width:94px;height:26px;border:1px solid #d9d9d9;box-shadow:0 2px #00000004;border-radius:2px 0 0 2px}.dds-column-settings-panel .num-box .num{margin:0 8px;width:32px;height:26px;line-height:26px;text-align:center;color:#262626;border:1px solid #d9d9d9}.dds-column-settings-panel .num-box svg{width:16px;height:16px;cursor:pointer}.dds-column-settings-btn{display:flex;justify-content:center;align-items:center;margin-left:16px;width:32px;height:32px;background:#f5f5f5;cursor:pointer}.dds-dynamic-pagination{position:absolute;bottom:0;left:0;margin:20px 0;width:100%;display:flex;justify-content:center}.dds-dynamic-pagination .pagesize-wrap{display:flex;align-items:center;justify-content:center;margin:0 16px}.dds-dynamic-pagination .pagesize-wrap .pagesize-label{color:#000000e0;font-size:14px}.dds-dynamic-pagination .pagesize-wrap .ant-input-number{margin-left:8px}.dds-annotator-attributes-form{width:100%;padding:12px 12px 0}.dds-annotator-attributes-form .ant-form-item{margin-bottom:14px}.dds-annotator-attributes-form .ant-form-item-label{font-weight:500}.dds-annotator-attributes-form .ant-input{border-color:#1e53f5}.dds-annotator-attributes-form-item-title{display:flex;align-items:center}.dds-annotator-attributes-form-item-title-btn{margin-left:12px;height:24px;border:0;display:flex;align-items:center;justify-items:center}.dds-annotator-attributes-form-item-title-btn svg{width:22px;height:22px;fill:#1e53f5}.dds-annotator-attributes-form-item-title .attribute-warn{fill:#f53f3f}.dds-annotator-attributes-form-dark .ant-form-item-label>label{color:#fff}.dds-annotator-attributes-form-dark .ant-radio-wrapper{color:#fff}.dds-annotator-attributes-form-dark .ant-radio-wrapper .ant-radio-disabled .ant-radio-inner{background-color:#fff}.dds-annotator-attributes-form-dark .ant-checkbox-wrapper{color:#fff}.dds-annotator-attributes-form-dark .ant-checkbox-wrapper .ant-checkbox-disabled .ant-checkbox-inner{background-color:#fff}.dds-annotator-attributes-form-dark .ant-checkbox-wrapper .ant-checkbox-disabled+span{color:#fff}.dds-annotator-attributes-form-dark .ant-input{color:#fff;background-color:transparent}.dds-annotator-attributes-form-dark .ant-input::placeholder{color:#ffffff4d}.dds-annotator-attribute-editor{position:absolute;right:1rem;top:1rem;width:320px;box-shadow:2px 2px 12px 3px #0009;opacity:1;pointer-events:all;z-index:99}.dds-annotator-attribute-editor .ant-card-head{background-color:#1e53f5;color:#fff;font-size:15px;padding:0 15px;min-height:45px}.dds-annotator-attribute-editor .ant-card-body{padding:0 4px}.dds-annotator-attribute-editor-title{display:flex;align-items:center;justify-content:space-between}.dds-annotator-attribute-editor-title-btn{border:0}.dds-annotator-attribute-editor-title-btn:hover{background-color:#fff3!important}.dds-annotator-attribute-editor-title-btn:hover svg{color:#fff}.dds-annotator-attribute-editor-content{display:flex;flex-direction:column;align-items:flex-end}.dds-annotator-attribute-editor-actions{padding:0 12px 12px}.dds-annotator-attribute-editor:hover{box-shadow:2px 2px 12px 3px #0009}.dds-annotator-classification{scrollbar-width:none;-ms-overflow-style:none}.dds-annotator-classification::-webkit-scrollbar{display:none}.dds-annotator-classification .ant-tabs{color:#ffffff80}.dds-annotator-classification .ant-tabs-tab+.ant-tabs-tab{margin:0}.dds-annotator-classification .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:#fff}.dds-annotator-classification .ant-tabs-tab{padding:12px;margin:0;font-size:16px}.dds-annotator-classification .ant-tabs-ink-bar{background:transparent}.dds-annotator-classification .ant-tabs-nav{margin:0;position:sticky;top:0;z-index:1;background:#000}.dds-annotator-classification .ant-tabs-nav:before{display:none}.dds-annotator-classification .tab-header-actions{position:absolute;right:5%;top:50%;transform:translateY(-50%);border:0}.dds-annotator-imageview-reload-cover{position:absolute;left:0;top:0;width:100%;height:100%;z-index:2}.dds-annotator-imageview-reload-cover img{display:block;position:absolute;left:0;top:0;width:100%;height:100%}.dds-annotator-imageview-reload-cover svg{position:absolute;left:0;top:0;width:100%;height:100%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.dds-annotator-imageview-reload-cover .content-box{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#f0f0f080}.dds-annotator-imageview-reload-cover .reload-trigger{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:0}.dds-annotator-imageview-reload-cover .reload-trigger span{width:24px;height:24px}.dds-annotator-imageview-canvas{position:absolute;left:0;top:0}.dds-annotator-model-selector-modal{display:flex;align-items:center;justify-content:space-between}.dds-annotator-model-selector-modal-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding-top:30px;padding-bottom:20px;padding-inline:5px;margin-block:10px;width:220px;height:200px;border:.5px solid #d6d6d6}.dds-annotator-model-selector-modal-option-icon svg{width:55px;height:55px}.dds-annotator-model-selector-modal-option-name{text-align:center;color:#000;font-size:18px;font-weight:500;user-select:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:90%}.dds-annotator-model-selector-modal-option-description{text-align:center;color:#0006;font-size:12px;font-weight:400;text-overflow:ellipsis;user-select:none}.dds-annotator-model-selector-modal-option-tag{position:absolute;top:10px;right:10px;margin:0}.dds-annotator-model-selector-modal-option:hover{background:rgba(185,206,255,.11);box-shadow:0 4px 4px #00000040}.dds-annotator-model-selector-modal-option-hightlight{border:1px solid #165cff5f;box-shadow:0 1px 2px #00000040;background:rgba(185,206,255,.3)}.dds-annotator-objectlist{scrollbar-width:none;-ms-overflow-style:none}.dds-annotator-objectlist::-webkit-scrollbar{display:none}.dds-annotator-objectlist .ant-tabs{color:#ffffff80}.dds-annotator-objectlist .ant-tabs-tab+.ant-tabs-tab{margin:0}.dds-annotator-objectlist .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:#fff}.dds-annotator-objectlist .ant-tabs-tab{padding:12px;margin:0;font-size:16px}.dds-annotator-objectlist .ant-tabs-ink-bar{background:transparent}.dds-annotator-objectlist .ant-tabs-nav{margin:0;position:sticky;top:0;z-index:1;background:#000}.dds-annotator-objectlist .ant-tabs-nav:before{display:none}.dds-annotator-objectlist .ant-collapse-item{scroll-margin:48px 0 0 0}.dds-annotator-objectlist .ant-list{color:#fff}.dds-annotator-objectlist .ant-list-item{padding:0;color:#fff}.dds-annotator-objectlist .objects-selector{width:144px;color:#fff;text-align:left;padding:0}.dds-annotator-objectlist .ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector{color:#fff}.dds-annotator-objectlist .objects-select-popup{background:#050505;color:#fff;border-radius:1px;padding:0;margin-top:-10px}.dds-annotator-objectlist .objects-select-popup .ant-select-item{color:#fff;text-align:left}.dds-annotator-objectlist .objects-select-popup .ant-select-item-option-active:not(.ant-select-item-option-disabled){background-color:#4c4c4c}.dds-annotator-objectlist .objects-select-popup .ant-select-item-option-selected:not(.ant-select-item-option-disabled){color:#fff;font-weight:600;background-color:#050505}.dds-annotator-objectlist .ant-select-multiple .ant-select-selection-item{background:rgba(0,0,0,.3);color:#ffffffe6;border-color:#ffffffb3}.dds-annotator-objectlist .ant-select-multiple .ant-select-selection-item-remove{color:#ffffffb3}.dds-annotator-objectlist .tab-header-actions{position:absolute;right:5%;top:50%;transform:translateY(-50%)}.dds-annotator-objectlist .tab-header-actions button{border:0}.dds-annotator-objectlist .tab-header-actions-color-btn{width:28px;height:28px;margin:0 .5rem;border:0;background-color:transparent;color:#fff;border-radius:5px;box-shadow:unset}.dds-annotator-objectlist .tab-header-actions-color-btn:hover{background-color:#1e53f5;transform:scale(1.2)}.dds-annotator-objectlist .tab-header-actions-color-btn-active{color:#1e53f5;background-color:#1e53f5}.dds-annotator-objectlist .tab-collapse{width:100%}.dds-annotator-objectlist .tab-collapse .collapse-header{position:relative;display:flex;align-items:center;padding:0;width:256px;font-size:14px;color:#fff;background:#1f1f1f}.dds-annotator-objectlist .tab-collapse .collapse-header .label-name{margin:0 15px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dds-annotator-objectlist .tab-collapse .collapse-header .label-count{display:inline-block;padding-inline:5px;margin-inline:10px;height:25px;min-width:25px;line-height:25px;border-radius:5px;background-color:#236bf7;font-size:12px;text-align:center}.dds-annotator-objectlist .tab-collapse .collapse-header .selected-line{position:absolute;left:0;top:0;width:4px;height:100%}.dds-annotator-objectlist .tab-collapse .collapse-header .label-icon{margin-left:14px;margin-right:14px;width:15px;height:15px}.dds-annotator-objectlist .tab-collapse .collapse-header .label-actions{position:absolute;right:5%;top:50%;transform:translateY(-50%)}.dds-annotator-objectlist .tab-collapse .collapse-header .label-btn{border:0}.dds-annotator-objectlist .tab-collapse .collapse-header .down-arrow{transform:rotate(180deg);width:10px;height:10px}.dds-annotator-objectlist .tab-collapse .collapseHeader:hover{background-color:#4b4f52}.dds-annotator-objectlist .tab-collapse .collapse-header-selected .arrow{transform:rotate(0)}.dds-annotator-objectlist .tab-collapse .collapse-item{position:relative;display:flex;justify-items:flex-start;align-items:center;height:35px;padding-left:10px;margin-left:6px;color:#fff;background:#1f1f1f;font-size:14px}.dds-annotator-objectlist .tab-collapse .collapse-item .color-hint{position:absolute;left:3%;margin-left:0;width:.5rem;height:.5rem;border:.1rem solid rgba(255,255,255,.8);border-radius:50%}.dds-annotator-objectlist .tab-collapse .collapse-item .label-icon{margin-left:15px;margin-right:12px;width:15px;height:15px}.dds-annotator-objectlist .tab-collapse .collapse-item .label{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dds-annotator-objectlist .tab-collapse .collapse-item .label-actions{margin-right:5%;display:flex;align-items:center;justify-content:center}.dds-annotator-objectlist .tab-collapse .collapse-item .label-btn,.dds-annotator-objectlist .tab-collapse .collapse-item .attr-btn{border:0}.dds-annotator-objectlist .tab-collapse .collapse-item .attr-btn svg{width:22px;height:22px;fill:#1e53f5}.dds-annotator-objectlist .tab-collapse .collapse-item .attr-btn-warn svg{fill:#f53f3f}.dds-annotator-objectlist .tab-collapse .collapse-item .frame-count{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 8px;font-size:14px}.dds-annotator-objectlist .tab-collapse .collapse-item .frame-count svg{width:14px;height:14px;fill:#fff}.dds-annotator-objectlist .tab-collapse .collapse-item:hover{background-color:#4b4f52}.item___v9XQ_{display:flex;flex-flow:row nowrap;border-radius:2px}.item___v9XQ_ .selected___H8gjQ{left:0;top:0;width:4px;height:100%;margin-right:5px}.item___v9XQ_ .info___YLqTh{width:50%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.item___v9XQ_ .action___zGuUy{flex:1 1}.item___v9XQ_ .btn___ean1l{border:0}.item___v9XQ_:hover{background-color:#f0f8ff}.dds-annotator-points-editor{position:absolute;right:1rem;top:1rem;box-shadow:2px 2px 12px 3px #0009;opacity:0;transition:opacity .15s ease;pointer-events:none;z-index:99;border-radius:6px;overflow:hidden}.dds-annotator-points-editor .ant-card-head{background-color:#1e53f5;color:#fff;font-size:15px;padding:0;min-height:auto}.dds-annotator-points-editor .ant-card-body{padding:0}.dds-annotator-points-editor .btn{border:0}.dds-annotator-points-editor .title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px;min-height:40px;cursor:pointer}.dds-annotator-points-editor .title .extra-btn{cursor:pointer}.dds-annotator-points-editor .title .extra-btn:hover{transform:scale(1.05)}.dds-annotator-points-editor .content{display:flex;flex-direction:column;gap:5px;width:280px;height:140px;overflow-y:scroll;padding:10px 0 12px 10px}.dds-annotator-points-editor:hover{box-shadow:2px 2px 12px 3px #0009}.dds-annotator-points-editor-visible{opacity:1;pointer-events:all}.dds-annotator-seg-confirm{position:absolute;right:1rem;top:1rem;width:300px;box-shadow:2px 2px 12px 3px #0009;opacity:0;transition:opacity .15s ease;pointer-events:none;z-index:99}.dds-annotator-seg-confirm .ant-card-head{background-color:#1e53f5;color:#fff;font-size:15px;padding:0 15px;min-height:45px}.dds-annotator-seg-confirm .ant-card-body{padding:12px}.dds-annotator-seg-confirm .btn{border:0}.dds-annotator-seg-confirm .title{display:flex;align-items:center;justify-content:space-between}.dds-annotator-seg-confirm .content{display:flex;align-items:center;justify-content:space-between;gap:12px}.dds-annotator-seg-confirm .content .item{display:flex;align-items:center;justify-content:space-around;gap:12px;width:100%}.dds-annotator-seg-confirm .content .selector{width:100%}.dds-annotator-seg-confirm .content .actions{display:flex;justify-content:space-between;width:100%}.dds-annotator-seg-confirm:hover{box-shadow:2px 2px 12px 3px #0009}.dds-annotator-seg-confirm-visible{opacity:1;pointer-events:all}.dds-annotator-shortcutsinfo{background:#262626!important;max-height:calc(100vh - 60px);overflow:scroll}.dds-annotator-shortcutsinfo .ant-dropdown-menu{padding:0}.dds-annotator-shortcutsinfo .ant-dropdown-menu-item-group-title{color:#fff!important;text-shadow:0 -1px 0 rgba(0,0,0,.12);background-color:#595959;font-weight:600}.dds-annotator-shortcutsinfo .ant-dropdown-menu-item{color:#ffffffe6!important;display:flex;flex-direction:row-reverse}.dds-annotator-shortcutsinfo .ant-dropdown-menu-title-content{align-self:flex-start}.dds-annotator-shortcutsinfo .ant-dropdown-menu-item-icon{margin:0 0 0 8px}.dds-annotator-shortcutsinfo-key{padding:2px 4px;height:22px;min-width:22px;color:#000;justify-content:center;align-items:center;align-self:flex-start;background:#f9fafb;border:1px solid #374151;border-radius:4px;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;display:inline-flex;flex:0 0 22px;font-size:11px;font-weight:600}.dds-annotator-shortcutsinfo-combine{color:#ffffffe6}.dds-annotator-shortcutsinfo-icon svg{margin-left:2px;margin-right:12px;fill:#fff;cursor:pointer}.dds-annotator-shortcutsinfo-icon svg:hover{fill:#1e53f5}.dds-annotator-slidertoolbar{position:relative;height:100%;background:#212121;border-radius:0;display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:12px;width:50px;pointer-events:auto;font-weight:600;padding:1rem .5rem 2rem;z-index:99;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none}.dds-annotator-slidertoolbar::-webkit-scrollbar{display:none}.dds-annotator-slidertoolbar-content{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px}.dds-annotator-slidertoolbar .slidertoolbar-btn{width:32px;height:32px;border:0;background-color:transparent;border-radius:5px}.dds-annotator-slidertoolbar .slidertoolbar-btn svg{color:#fff;fill:#fff;scale:1.2}.dds-annotator-slidertoolbar .slidertoolbar-btn:hover{background-color:#1e53f5;transform:scale(1.2)}.dds-annotator-slidertoolbar .slidertoolbar-btn-active{color:#1e53f5;background-color:#1e53f5}.dds-annotator-slidertoolbar .slidertoolbar-btn-disabled{color:#ffffff40;pointer-events:none}.dds-annotator-slidertoolbar .slidertoolbar-btn-disabled svg{fill:#ffffff40}.dds-annotator-slidertoolbar .slidertoolbar-annotool-active-wrap{display:flex;flex-direction:column;align-items:center;gap:12px;width:50px;padding:10px 0;background:#484848;border-radius:12px}.dds-annotator-slidertoolbar .slidertoolbar-scale-text{font-size:12px;font-weight:400;color:#fffc;margin:12px 0;user-select:none}.dds-annotator-slidertoolbar .slidertoolbar-divider{width:100%;margin:8px 6px;border-bottom:1px solid #bbb}.dds-annotator-slidertoolbar-popover{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.dds-annotator-slidertoolbar-popover .popover-title{font-weight:600;font-size:14px;margin-right:10px}.dds-annotator-slidertoolbar-popover .popover-key{min-width:30px;justify-content:center;border-radius:2px;padding:2px 5px;color:#000c;box-shadow:0 1px 3px #0000004d,0 1px 2px #0000001a;font-size:12px;font-weight:600}.dds-annotator-slidertoolbar-popover .popover-divider{width:100%;margin:10px 0;border-bottom:1px solid rgba(0,0,0,.1)}.dds-annotator-slidertoolbar-popover .popover-description{max-width:220px;font-size:13px;color:#000c}.dds-annotator-editor-light .dds-annotator-slidertoolbar{background:#fff}.dds-annotator-editor-light .dds-annotator-slidertoolbar .slidertoolbar-btn{box-shadow:none}.dds-annotator-editor-light .dds-annotator-slidertoolbar .slidertoolbar-btn svg{color:#000;fill:#000;scale:1.2}.dds-annotator-editor-light .dds-annotator-slidertoolbar .slidertoolbar-btn:hover svg{color:#fff;fill:#fff}.dds-annotator-editor-light .dds-annotator-slidertoolbar .slidertoolbar-btn-active svg{color:#fff;fill:#fff;scale:1.2}.dds-annotator-editor-light .dds-annotator-slidertoolbar .slidertoolbar-btn-disabled{color:#00000040}.dds-annotator-editor-light .dds-annotator-slidertoolbar .slidertoolbar-btn-disabled svg{fill:#00000040}.dds-annotator-editor-light .dds-annotator-slidertoolbar .slidertoolbar-annotool-active-wrap{background:#484848}.dds-annotator-editor-light .dds-annotator-slidertoolbar .slidertoolbar-scale-text{color:#000c}.dds-annotator-editor-light .dds-annotator-slidertoolbar .slidertoolbar-divider{border-bottom:1px solid #bbb}.dds-annotator-editor-light .dds-annotator-slidertoolbar-popover .popover-key{color:#fffc;box-shadow:0 1px 3px #ffffff4d,0 1px 2px #ffffff1a}.dds-annotator-editor-light .dds-annotator-slidertoolbar-popover .popover-divider{border-bottom:1px solid rgba(255,255,255,.1)}.dds-annotator-editor-light .dds-annotator-slidertoolbar-popover .popover-description{color:#fffc}.dds-annotator-smart-container{position:absolute;right:1rem;top:1rem;width:375px;box-shadow:2px 2px 12px 3px #0009;opacity:0;transition:opacity .15s ease;pointer-events:none;z-index:9}.dds-annotator-smart-container .ant-card-head{background-color:#1e53f5;color:#fff;font-size:15px;padding:0 15px;min-height:45px}.dds-annotator-smart-container .ant-card-body{padding:12px}.dds-annotator-smart-container-btn{border:0}.dds-annotator-smart-container-btn:hover{background-color:#fff3!important}.dds-annotator-smart-container-btn:hover svg{color:#fff}.dds-annotator-smart-container-title{display:flex;align-items:center;justify-content:space-between}.dds-annotator-smart-container-title-icon{display:flex;align-items:center;justify-content:center;gap:12px}.dds-annotator-smart-container-content{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:12px}.dds-annotator-smart-container-content-item{display:flex;align-items:center;justify-content:space-around;gap:12px;width:100%}.dds-annotator-smart-container-content-param-controls{display:flex;flex-direction:column;width:100%}.dds-annotator-smart-container-content-param-item{display:flex;flex-direction:row;justify-content:space-around}.dds-annotator-smart-container-content-param-item-title{width:100px}.dds-annotator-smart-container-content-param-item-select{flex:1 1}.dds-annotator-smart-container-content-param-item-slider{align-self:flex-end;flex:1 1}.dds-annotator-smart-container-content-instruction{font-size:13px}.dds-annotator-smart-container-content-actions{display:flex;justify-content:space-between;width:100%}.dds-annotator-smart-container-content-column-item{display:flex;flex-direction:column;align-items:flex-start;gap:12px;width:100%}.dds-annotator-smart-container-content-tip-text span{font-weight:700}.dds-annotator-smart-container:hover{box-shadow:2px 2px 12px 3px #0009}.dds-annotator-smart-container-visible{opacity:1;pointer-events:all}.dds-annotator-operation-tip{position:absolute;right:1rem;top:1rem;display:flex;flex-direction:column;gap:10px;z-index:9}.dds-annotator-operation-tip-item{display:flex;justify-content:space-between;align-items:center;padding:5px 10px;background-color:#3c56f899;border-radius:5px}.dds-annotator-operation-tip-item span{margin-right:20px;color:#fff}.dds-annotator-toppagination{display:flex;flex-direction:row;justify-content:center;align-items:center;z-index:99;border-radius:10px;padding:.4rem .5rem}.dds-annotator-toppagination-btn{width:32px;height:32px;margin:0 .5rem;border:0;background-color:transparent;color:#fff;border-radius:5px}.dds-annotator-toppagination-btn:hover{background-color:#1e53f5;transform:scale(1.2)}.dds-annotator-toppagination-btn-disabled{color:#ffffff40;pointer-events:none}.dds-annotator-toppagination-btn-disabled svg{fill:#ffffff40}.dds-annotator-toppagination-scale-text{color:#fffc;margin:0 8px}.dds-annotator-toppagination-divider{height:100%;margin:6px 8px;border-left:1px solid #bbb}.dds-annotator-popover-menu{position:absolute;display:flex;flex-direction:column;justify-content:center;background:#fff;border:2px solid #1f4dd8;border-radius:50px;color:#000000d9;font-size:14px;box-shadow:2px 2px 6px 3px #00000026;pointer-events:none}.dds-annotator-popover-menu-content{display:flex;justify-content:space-around}.dds-annotator-popover-menu-text{max-width:150px;line-height:32px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;margin:0 10px}.dds-annotator-display{cursor:pointer}.dds-annotator-display-popover{border-radius:10px}.dds-annotator-display-popover .ant-popover-inner{padding:0}.dds-annotator-display-pop-container{border-radius:10px;color:#fff;padding-bottom:8px}.dds-annotator-display-pop-container-header{display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid rgba(107,114,128);padding:8px 8px 8px 16px;margin-bottom:8px}.dds-annotator-display-pop-container-btn{width:24px;height:24px;margin:0 .25rem;border:0;background-color:transparent;color:#fff;box-shadow:unset;font-size:12px}.dds-annotator-display-pop-container-btn:hover{background-color:#1e53f5;transform:scale(1.2)}.dds-annotator-display-pop-container-btn:hover svg{fill:#000}.dds-annotator-display-pop-container-option{display:flex;flex-flow:column nowrap;padding:4px 16px;width:240px}.dds-annotator-display-pop-container-option .ant-slider{margin:5px 8px}.dds-annotator-editor-status{position:relative;height:30px;padding:0 8px;display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;font-size:14px;font-weight:500;border-radius:5px}.dds-annotator-editor-status svg{width:20px;height:20px}.dds-annotator-editor-status-1{border:1px solid #26a1f4;background:rgba(38,161,244,.38)}.dds-annotator-editor-status-2{border:1px solid #ffd305;background:rgba(255,211,5,.38)}.dds-annotator-label-selector{width:220px;margin-left:-5px}.dds-annotator-label-selector .ant-select{width:100%}.dds-annotator-label-selector .ant-select .ant-select-selector{background-color:transparent!important;color:#fff}.dds-annotator-label-selector .ant-select .ant-select-selection-item{display:flex;align-items:center}.dds-annotator-label-selector .ant-select .ant-select-selection-item svg{width:16px;height:16px;margin-right:10px}.dds-annotator-label-selector .ant-select .ant-select-arrow,.dds-annotator-label-selector .ant-select-open .ant-select-selection-item{color:#ffffff80}.dds-annotator-label-selector-option-color{width:12px;height:12px;margin-right:10px;background-color:#fff}.dds-annotator-label-selector-option .ant-select-item-option-content{display:flex;align-items:center}.dds-annotator-label-selector-option svg{width:16px;height:16px;margin-right:10px}.dds-annotator-editor-light .dds-annotator-label-selector .ant-select .ant-select-selector{color:#000;border:1px solid #acacac}.dds-annotator-editor-light .dds-annotator-label-selector .ant-select .ant-select-arrow,.dds-annotator-editor-light .dds-annotator-label-selector .ant-select-open .ant-select-selection-item{color:#00000080}.dds-annotator-editor-light .dds-annotator-label-selector-option-color{background-color:#000}.dds-annotator-model-selector{width:220px;margin-left:-5px}.dds-annotator-model-selector .ant-select{width:100%}.dds-annotator-model-selector .ant-select .ant-select-selector{background-color:transparent!important;color:#fff}.dds-annotator-model-selector .ant-select .ant-select-selection-item{display:flex;align-items:center}.dds-annotator-model-selector .ant-select .ant-select-selection-item svg{width:16px;height:16px;margin-right:10px}.dds-annotator-model-selector .ant-select .ant-select-arrow,.dds-annotator-model-selector .ant-select-open .ant-select-selection-item{color:#ffffff80}.dds-annotator-model-selector-option-color{width:12px;height:12px;margin-right:10px;background-color:#fff}.dds-annotator-model-selector-option .ant-select-item-option-content{display:flex;align-items:center}.dds-annotator-model-selector-option svg{width:16px;height:16px;margin-right:10px}.dds-annotator-editor-light .dds-annotator-model-selector .ant-select .ant-select-selector{color:#000;border:1px solid #acacac}.dds-annotator-editor-light .dds-annotator-model-selector .ant-select .ant-select-arrow,.dds-annotator-editor-light .dds-annotator-model-selector .ant-select-open .ant-select-selection-item{color:#00000080}.dds-annotator-editor-light .dds-annotator-model-selector-option-color{background-color:#000}.dds-annotator-subtoolbar{display:flex;flex-direction:row;justify-content:center;align-items:center;z-index:99;background-color:#212121;border-radius:10px;padding:.5rem;padding-left:0;height:50px;pointer-events:auto;font-weight:600}.dds-annotator-subtoolbar-btn{width:32px;height:32px;margin:0 .25rem;border:0;background-color:transparent;color:#fff;border-radius:5px}.dds-annotator-subtoolbar-btn svg{scale:1.2}.dds-annotator-subtoolbar-btn:hover{color:#fff}.dds-annotator-subtoolbar-btn-limited:hover{background-color:#1e53f5;transform:scale(1.2)}.dds-annotator-subtoolbar-btn-active{background-color:#1e53f5}.dds-annotator-subtoolbar-divider{height:65%;margin:10px 8px;border-left:1px solid #fff}.dds-annotator-subtoolbar-title{margin:0 .25rem;color:#fff}.dds-annotator-subtoolbar-slider{width:100px;margin:0 .25rem}.dds-annotator-subtoolbar-slider .ant-slider-rail{background-color:#37404a}.dds-annotator-subtoolbar-action{height:32px;margin:0 .25rem;border:0;color:#fff;border-radius:5px}.dds-annotator-subtoolbar-popover{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.dds-annotator-subtoolbar-popover-title{font-weight:500;font-size:14px}.dds-annotator-subtoolbar-popover-key{justify-content:center;border-radius:2px;margin-left:10px;padding:2px 5px;color:#000c;box-shadow:0 1px 3px #0000004d,0 1px 2px #0000001a;font-size:12px;font-weight:500}.dds-annotator-subtoolbar-popover-divider{width:100%;margin:10px 0;border-bottom:1px solid rgba(0,0,0,.1)}.dds-annnotator-toptools{position:relative;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 16px;width:100%;height:56px;color:#fff;background:#1f1f1f;border-bottom:1px solid #141414;pointer-events:auto;overflow-x:scroll;z-index:1;scrollbar-width:none;-ms-overflow-style:none}.dds-annnotator-toptools::-webkit-scrollbar{display:none}.dds-annnotator-toptools-row{display:flex;align-items:center;gap:16px;opacity:.85}.dds-annnotator-toptools-row-icon{padding:8px;color:#fff;border-radius:5px;cursor:pointer}.dds-annnotator-toptools-row-icon span{vertical-align:middle}.dds-annnotator-toptools-row-icon svg{width:20px;height:20px;fill:#fff;vertical-align:middle}.dds-annnotator-toptools-row-icon:hover{background-color:#1e53f5}.dds-annnotator-toptools-row-icon-disable{color:#ffffff40;pointer-events:none}.dds-annnotator-toptools-row-icon-disable svg{fill:#ffffff40}.dds-annnotator-toptools-row-split{margin:5px;width:1px;height:20px;background-color:#3b3838}.dds-annnotator-toptools-progress{position:absolute;left:50%;transform:translate(-50%);font-size:13px;line-height:20px;color:#fff;user-select:none}.dds-annotator-loading{position:fixed;top:0;left:0;bottom:0;right:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.2);z-index:10001}.dds-annotator-logo{margin-left:-5px;width:33px;height:33px;cursor:pointer}.dds-annotator-logo-replace{margin-left:-5px;width:33px;height:33px}.dds-annotator .edit-wrap{position:absolute;inset:0;font-size:0;user-select:none;pointer-events:auto}.dds-annotator .edit-wrap img{display:none}.dds-annotator .edit-wrap canvas{position:absolute;inset:0;cursor:crosshair}.dds-annotator-qk-actions{display:flex;align-items:center;justify-content:center;gap:18px}.dds-annotator-qk-actions svg{cursor:pointer;fill:#fff}.dds-annotator-qk-actions svg:hover{fill:#1e53f5}.dds-annotator-dropdown-options{display:flex;flex-direction:column;background-color:#fff;border-radius:5px;overflow:hidden}.dds-annotator-dropdown-options-object{position:relative;padding:5px 10px 5px 20px;min-width:120px;user-select:none;cursor:pointer}.dds-annotator-dropdown-options-object:hover{color:#1e53f5;background-color:#e2e6f9}.dds-annotator-dropdown-options-object-dot{position:absolute;top:50%;left:8px;transform:translateY(-50%);width:4px;height:4px;border-radius:50%;background-color:red}.dds-annotator-editor{position:relative;top:0;left:0;z-index:100;width:100%;height:100vh;background-color:#000;overflow:hidden}.dds-annotator-editor .editor-container{position:absolute;inset:56px 0 0;display:flex;flex-direction:row;pointer-events:auto}.dds-annotator-editor .editor-container .left-slider{position:relative;height:100%;background:#212121;padding:0;border-radius:0;border-left:1px solid black;overflow-y:scroll;overflow-x:hidden;z-index:1}.dds-annotator-editor .editor-container .center-content{position:relative;flex:1 1;height:100%;display:flex;flex-direction:column;overflow:hidden}.dds-annotator-editor .editor-container .center-content .draw-area{position:relative;flex:1 1;width:100%}.dds-annotator-editor .editor-container .right-slider{position:relative;width:256px;min-width:256px;height:100%;background:#262626;border-left:2px solid #141414;backdrop-filter:blur(12px);display:flex;flex-direction:column;z-index:1}.dds-annotator-editor .editor-container .right-slider .classifications{max-height:50%;overflow-x:hidden;overflow-y:scroll}.dds-annotator-editor .editor-container .right-slider .object-list{flex:1 1;width:100%;overflow-y:scroll;overflow-x:hidden}.dds-annotator-editor-light{background-color:#f7f7f7}.dds-annotator-editor-light .dds-annnotator-toptools{background-color:#f1f2f4;border-bottom:1px solid #f7f7f7}.dds-annotator-editor-light .dds-annnotator-toptools-row-icon{color:#000}.dds-annotator-editor-light .dds-annnotator-toptools-row-icon svg{fill:#fff}.dds-annotator-preview{position:fixed;top:0;left:0;width:100%;height:100%;z-index:100;background-color:#000000b3}.dds-annotator-preview .top-tools{background:linear-gradient(180deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,.15) 100%)!important;border:none!important}.dds-annotator-preview .switch{position:absolute;bottom:40px;display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-top:-22px;color:#ffffffd9;background:rgba(0,0,0,.5);border-radius:50%;cursor:pointer;pointer-events:auto;z-index:1}.dds-annotator-preview .switch-disable{color:#ffffff40;cursor:not-allowed}.dds-annotator-preview .switch-left{right:calc(50vw + 32px)}.dds-annotator-preview .switch-right{left:calc(50vw + 32px)}.dds-annotator-preview .info-wrap{position:absolute;right:40px;top:50%;transform:translateY(-50%);pointer-events:auto;user-select:none}.dds-annotator-preview .info-wrap .info-box{width:248px;max-height:calc(100vh - 192px);padding:24px 20px 0;display:flex;flex-direction:column;background-color:#00000073;color:#fff;border-radius:4px;pointer-events:auto;overflow-y:scroll;z-index:1;user-select:text;scrollbar-width:none;-ms-overflow-style:none}.dds-annotator-preview .info-wrap .info-box::-webkit-scrollbar{display:none}.dds-annotator-preview .info-wrap .info-box .item{max-width:100%;margin-bottom:16px;text-align:left;word-break:break-all;font-size:14px;line-height:22px}.dds-annotator-preview .info-wrap .info-box .item:last-child{margin-bottom:24px}.dds-annotator-preview .info-wrap .bottom-mask{position:absolute;bottom:0;left:0;width:100%;height:40px;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,#000 100%);opacity:.45}.dds-annotator-preview .hide-info-btn{position:absolute;right:-24px;top:50%;transform:translateY(-50%);width:24px;height:48px;line-height:48px;background-color:#00000073;border-radius:0 48px 48px 0;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;cursor:pointer;pointer-events:auto;z-index:1}.dds-annotator-preview .show-info-btn{position:absolute;right:0;top:50%;transform:translateY(-50%);width:24px;height:48px;line-height:48px;background-color:#00000073;border-radius:48px 0 0 48px;display:flex;align-items:center;justify-content:flex-start;padding-left:8px;cursor:pointer;pointer-events:auto;z-index:1}.dds-annotator-preview .show-info-btn svg{transform:rotate(180deg)}.dds-annotator-view{position:relative;display:flex}.dds-quicklabel-image-filter{display:flex;align-items:center;gap:10px}.dds-quicklabel-options-list{height:100vh}.dds-quicklabel-options-list-virtual{border-radius:8px}.dds-quicklabel-options-list-image{margin:8px 0;width:100%;height:120px;box-sizing:border-box;object-fit:cover;border-radius:8px;background-color:#fff;cursor:pointer;transition:transform .3s ease}.dds-quicklabel-options-list-image:hover{transform:scale(.95)}.dds-quicklabel-options-list-image-selected{border:3px solid #fff;border-radius:8px}.dds-upload-list{position:relative;width:100%;height:100%}.dds-upload-list .virtual-list{border-radius:8px;overflow-y:hidden}.dds-upload-list .row-container{display:flex}.dds-upload-list .preview-container{position:relative;display:flex;flex-direction:column;align-items:center;overflow:hidden;cursor:pointer;border-radius:5px}.dds-upload-list .preview-container .file-preview{box-sizing:border-box;object-fit:cover;background-color:#fff;border-radius:5px}.dds-upload-list .preview-container .file-name{width:90%;margin:5px;word-wrap:break-word;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dds-upload-list .preview-container .remove-button{display:none;position:absolute!important;top:4px;right:4px}.dds-upload-list .preview-container:hover{background-color:#f0f0f0;border-radius:5px;box-shadow:0 1px 2px #0000004d}.dds-upload-list .preview-container:hover .remove-button{display:block}.dds-upload-list .preview-container-success .file-name{color:#1e53f5}.dds-upload-list .preview-container-success .file-preview{border:1px solid #1e53f5}.dds-upload-list .preview-container-error .file-name{color:red}.dds-upload-list .preview-container-error .file-preview{border:1px solid red}.dds-upload{position:relative;width:100%;height:100%}.dds-upload-loading{position:absolute;left:0;right:0;top:0;bottom:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.3)}.dds-upload input{display:none!important}.dds-upload-title{font-size:24px;font-weight:500;line-height:1}.dds-upload-text{font-size:14px;font-weight:400;color:#c1c1c1}.dds-upload-empty{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;border-radius:5px;border:1px solid #c9cdd4;cursor:pointer}.dds-upload-empty svg{width:91px;height:75px}.dds-upload-empty .dds-upload-title{margin-top:30px}.dds-upload-content{width:100%;height:100%;border-radius:5px;border:1px solid #c9cdd4}.dds-upload-content-list{position:relative;width:100%;height:calc(100% - 64px);padding:30px 0 0}.dds-upload-content-list-count{position:absolute;left:18px;top:8px;font-size:14px;color:#00000073}.dds-upload-draging{border:1px solid #1e53f5;background:#e8efff}.dds-upload-topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-radius:0;border-bottom:1px solid #c9cdd4}.dds-upload-topbar .dds-upload-title{font-size:20px}.dds-upload-topbar .dds-upload-text{font-size:12px;margin-top:4px}.dds-quicklabel-subtitle{font-size:16px;font-weight:500;margin:20px 0 10px}.dds-quicklabel-upload{width:100%;height:360px}.dds-quicklabel-upload-tip{margin:10px 0 0;background-color:transparent;border-width:0}.dds-quicklabel-upload-preannot-btn{width:100%;height:42px;font-weight:600;border-radius:5px;background:#fff}.dds-quicklabel{position:relative;display:flex;background:#212121}.dds-quicklabel-list{display:flex;flex-direction:column;align-items:stretch;width:200px;height:100%;padding:16px;gap:8px}.dds-quicklabel-workspace{flex:1 1;height:100%}.dds-upload-pre-anno .ant-upload{width:100%}.dds-upload-pre-anno .ant-card{border:1px solid #c9cdd4;background:none}.dds-upload-pre-anno .ant-card .ant-card-meta-avatar{width:56px;height:56px;margin-right:20px}.dds-upload-pre-anno .ant-card .ant-card-meta-avatar svg{width:56px;height:56px}.dds-upload-pre-anno .ant-card .ant-card-meta-title{font-size:24px;font-weight:500}.dds-upload-pre-anno .ant-card:hover{cursor:pointer} +*{margin:0;padding:0;box-sizing:border-box}body{background:#f5f5f5;overflow:overlay}#root .ant-page-header{background-color:#fff}#root .ant-pro .ant-layout-header.ant-pro-layout-header-fixed-header{padding:0 44px;background-color:#fff;border-bottom:1px solid #f0f0f0}#root .ant-pro-page-container-affix .ant-affix{top:0!important}#root .ant-pro-top-nav-header-main{padding-inline-start:0}#root .ant-pro-top-nav-header-logo>*:first-child>img{height:40px}#root .ant-image-preview-mask{z-index:900!important}#root .ant-image-preview-wrap{z-index:901!important}#root .ant-collapse>.ant-collapse-item.ant-collapse-no-arrow>.ant-collapse-header{padding:0!important}#root .ant-collapse-ghost>.ant-collapse-item>.ant-collapse-content>.ant-collapse-content-box{padding:0!important}#root .ant-collapse .ant-collapse-item-disabled>.ant-collapse-header,#root .ant-collapse .ant-collapse-item-disabled>.ant-collapse-header>.arrow{cursor:pointer!important}#root .ant-pro .ant-pro-layout .ant-pro-layout-content{margin-block:0;margin-inline:0}#root .ant-table-tbody>tr>td>.ant-space{flex-wrap:wrap}#root .ant-table-pagination.ant-pagination{margin:16px 0}html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{text-decoration:underline;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type="range"]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}.dds-lang-selector{height:34px;padding:4px 8px}.dds-lang-selector div{position:relative;width:1.2em;height:1.2em}.dds-lang-selector .cur-lang{position:absolute;font-size:1.2em;line-height:1;left:-5%;top:0;transform:scale(.7);transform-origin:0 0;z-index:1}.dds-lang-selector .cur-lang-light{color:#fff;border:1px solid rgba(0,0,0,.88);background-color:#000000e0}.dds-lang-selector .cur-lang-dark{color:#000;border:1px solid rgba(255,255,255,.88);background-color:#ffffffe0}.dds-lang-selector .change-lang{position:absolute;font-size:1.2em;line-height:1;right:-5%;bottom:0;transform:scale(.5);transform-origin:100% 100%;z-index:0}.dds-lang-selector .change-lang-light{color:#000000e0;border:1px solid rgba(0,0,0,.88)}.dds-lang-selector .change-lang-dark{color:#ffffffe0;border:1px solid rgba(255,255,255,.88)}.dds-column-settings-panel{display:flex;flex-direction:column;padding:0 16px 24px;background-color:#fff;border-radius:2px;outline:none;box-shadow:0 2px 8px #00000026;max-height:400px;overflow:scroll;scrollbar-width:none;-ms-overflow-style:none}.dds-column-settings-panel::-webkit-scrollbar{display:none}.dds-column-settings-panel .item-title{margin:24px 0;font-size:14px;line-height:22px;color:#000}.dds-column-settings-panel .item-content{display:flex;justify-content:center}.dds-column-settings-panel .slider{width:168px;margin-right:26px}.dds-column-settings-panel .num-box{display:flex;align-items:center;justify-content:center;width:94px;height:26px;border:1px solid #d9d9d9;box-shadow:0 2px #00000004;border-radius:2px 0 0 2px}.dds-column-settings-panel .num-box .num{margin:0 8px;width:32px;height:26px;line-height:26px;text-align:center;color:#262626;border:1px solid #d9d9d9}.dds-column-settings-panel .num-box svg{width:16px;height:16px;cursor:pointer}.dds-column-settings-btn{display:flex;justify-content:center;align-items:center;margin-left:16px;width:32px;height:32px;background:#f5f5f5;cursor:pointer}.dds-dynamic-pagination{position:absolute;bottom:0;left:0;margin:20px 0;width:100%;display:flex;justify-content:center}.dds-dynamic-pagination .pagesize-wrap{display:flex;align-items:center;justify-content:center;margin:0 16px}.dds-dynamic-pagination .pagesize-wrap .pagesize-label{color:#000000e0;font-size:14px}.dds-dynamic-pagination .pagesize-wrap .ant-input-number{margin-left:8px}.dds-annotator-attributes-form{width:100%;padding:12px 12px 0}.dds-annotator-attributes-form .ant-form-item{margin-bottom:14px}.dds-annotator-attributes-form .ant-form-item-label{font-weight:500}.dds-annotator-attributes-form .ant-input{border-color:#1e53f5}.dds-annotator-attributes-form-item-title{display:flex;align-items:center}.dds-annotator-attributes-form-item-title-btn{margin-left:12px;height:24px;border:0;display:flex;align-items:center;justify-items:center}.dds-annotator-attributes-form-item-title-btn svg{width:22px;height:22px;fill:#1e53f5}.dds-annotator-attributes-form-item-title .attribute-warn{fill:#f53f3f}.dds-annotator-attributes-form-dark .ant-form-item-label>label{color:#fff}.dds-annotator-attributes-form-dark .ant-radio-wrapper{color:#fff}.dds-annotator-attributes-form-dark .ant-radio-wrapper .ant-radio-disabled .ant-radio-inner{background-color:#fff}.dds-annotator-attributes-form-dark .ant-checkbox-wrapper{color:#fff}.dds-annotator-attributes-form-dark .ant-checkbox-wrapper .ant-checkbox-disabled .ant-checkbox-inner{background-color:#fff}.dds-annotator-attributes-form-dark .ant-checkbox-wrapper .ant-checkbox-disabled+span{color:#fff}.dds-annotator-attributes-form-dark .ant-input{color:#fff;background-color:transparent}.dds-annotator-attributes-form-dark .ant-input::placeholder{color:#ffffff4d}.dds-annotator-attribute-editor{position:absolute;right:1rem;top:1rem;width:320px;box-shadow:2px 2px 12px 3px #0009;opacity:1;pointer-events:all;z-index:99}.dds-annotator-attribute-editor .ant-card-head{background-color:#1e53f5;color:#fff;font-size:15px;padding:0 15px;min-height:45px}.dds-annotator-attribute-editor .ant-card-body{padding:0 4px}.dds-annotator-attribute-editor-title{display:flex;align-items:center;justify-content:space-between}.dds-annotator-attribute-editor-title-btn{border:0}.dds-annotator-attribute-editor-title-btn:hover{background-color:#fff3!important}.dds-annotator-attribute-editor-title-btn:hover svg{color:#fff}.dds-annotator-attribute-editor-content{display:flex;flex-direction:column;align-items:flex-end}.dds-annotator-attribute-editor-actions{padding:0 12px 12px}.dds-annotator-attribute-editor:hover{box-shadow:2px 2px 12px 3px #0009}.dds-annotator-classification{scrollbar-width:none;-ms-overflow-style:none}.dds-annotator-classification::-webkit-scrollbar{display:none}.dds-annotator-classification .ant-tabs{color:#ffffff80}.dds-annotator-classification .ant-tabs-tab+.ant-tabs-tab{margin:0}.dds-annotator-classification .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:#fff}.dds-annotator-classification .ant-tabs-tab{padding:12px;margin:0;font-size:16px}.dds-annotator-classification .ant-tabs-ink-bar{background:transparent}.dds-annotator-classification .ant-tabs-nav{margin:0;position:sticky;top:0;z-index:1;background:#000}.dds-annotator-classification .ant-tabs-nav:before{display:none}.dds-annotator-classification .tab-header-actions{position:absolute;right:5%;top:50%;transform:translateY(-50%);border:0}.dds-annotator-imageview-reload-cover{position:absolute;left:0;top:0;width:100%;height:100%;z-index:2}.dds-annotator-imageview-reload-cover img{display:block;position:absolute;left:0;top:0;width:100%;height:100%}.dds-annotator-imageview-reload-cover svg{position:absolute;left:0;top:0;width:100%;height:100%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.dds-annotator-imageview-reload-cover .content-box{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#f0f0f080}.dds-annotator-imageview-reload-cover .reload-trigger{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:0}.dds-annotator-imageview-reload-cover .reload-trigger span{width:24px;height:24px}.dds-annotator-imageview-canvas{position:absolute;left:0;top:0}.dds-annotator-model-selector-modal{display:flex;align-items:center;justify-content:space-between}.dds-annotator-model-selector-modal-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding-top:30px;padding-bottom:20px;padding-inline:5px;margin-block:10px;width:220px;height:200px;border:.5px solid #d6d6d6}.dds-annotator-model-selector-modal-option-icon svg{width:55px;height:55px}.dds-annotator-model-selector-modal-option-name{text-align:center;color:#000;font-size:18px;font-weight:500;user-select:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:90%}.dds-annotator-model-selector-modal-option-description{text-align:center;color:#0006;font-size:12px;font-weight:400;text-overflow:ellipsis;user-select:none}.dds-annotator-model-selector-modal-option-tag{position:absolute;top:10px;right:10px;margin:0}.dds-annotator-model-selector-modal-option:hover{background:rgba(185,206,255,.11);box-shadow:0 4px 4px #00000040}.dds-annotator-model-selector-modal-option-hightlight{border:1px solid #165cff5f;box-shadow:0 1px 2px #00000040;background:rgba(185,206,255,.3)}.dds-annotator-objectlist{scrollbar-width:none;-ms-overflow-style:none}.dds-annotator-objectlist::-webkit-scrollbar{display:none}.dds-annotator-objectlist .ant-tabs{color:#ffffff80}.dds-annotator-objectlist .ant-tabs-tab+.ant-tabs-tab{margin:0}.dds-annotator-objectlist .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:#fff}.dds-annotator-objectlist .ant-tabs-tab{padding:12px;margin:0;font-size:16px}.dds-annotator-objectlist .ant-tabs-ink-bar{background:transparent}.dds-annotator-objectlist .ant-tabs-nav{margin:0;position:sticky;top:0;z-index:1;background:#000}.dds-annotator-objectlist .ant-tabs-nav:before{display:none}.dds-annotator-objectlist .ant-collapse-item{scroll-margin:48px 0 0 0}.dds-annotator-objectlist .ant-list{color:#fff}.dds-annotator-objectlist .ant-list-item{padding:0;color:#fff}.dds-annotator-objectlist .objects-selector{width:144px;color:#fff;text-align:left;padding:0}.dds-annotator-objectlist .ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector{color:#fff}.dds-annotator-objectlist .objects-select-popup{background:#050505;color:#fff;border-radius:1px;padding:0;margin-top:-10px}.dds-annotator-objectlist .objects-select-popup .ant-select-item{color:#fff;text-align:left}.dds-annotator-objectlist .objects-select-popup .ant-select-item-option-active:not(.ant-select-item-option-disabled){background-color:#4c4c4c}.dds-annotator-objectlist .objects-select-popup .ant-select-item-option-selected:not(.ant-select-item-option-disabled){color:#fff;font-weight:600;background-color:#050505}.dds-annotator-objectlist .ant-select-multiple .ant-select-selection-item{background:rgba(0,0,0,.3);color:#ffffffe6;border-color:#ffffffb3}.dds-annotator-objectlist .ant-select-multiple .ant-select-selection-item-remove{color:#ffffffb3}.dds-annotator-objectlist .tab-header-actions{position:absolute;right:5%;top:50%;transform:translateY(-50%)}.dds-annotator-objectlist .tab-header-actions button{border:0}.dds-annotator-objectlist .tab-header-actions-color-btn{width:28px;height:28px;margin:0 .5rem;border:0;background-color:transparent;color:#fff;border-radius:5px;box-shadow:unset}.dds-annotator-objectlist .tab-header-actions-color-btn:hover{background-color:#1e53f5;transform:scale(1.2)}.dds-annotator-objectlist .tab-header-actions-color-btn-active{color:#1e53f5;background-color:#1e53f5}.dds-annotator-objectlist .tab-collapse{width:100%}.dds-annotator-objectlist .tab-collapse .collapse-header{position:relative;display:flex;align-items:center;padding:0;width:256px;font-size:14px;color:#fff;background:#1f1f1f}.dds-annotator-objectlist .tab-collapse .collapse-header .label-name{margin:0 15px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dds-annotator-objectlist .tab-collapse .collapse-header .label-count{display:inline-block;padding-inline:5px;margin-inline:10px;height:25px;min-width:25px;line-height:25px;border-radius:5px;background-color:#236bf7;font-size:12px;text-align:center}.dds-annotator-objectlist .tab-collapse .collapse-header .selected-line{position:absolute;left:0;top:0;width:4px;height:100%}.dds-annotator-objectlist .tab-collapse .collapse-header .label-icon{margin-left:14px;margin-right:14px;width:15px;height:15px}.dds-annotator-objectlist .tab-collapse .collapse-header .label-actions{position:absolute;right:5%;top:50%;transform:translateY(-50%)}.dds-annotator-objectlist .tab-collapse .collapse-header .label-btn{border:0}.dds-annotator-objectlist .tab-collapse .collapse-header .down-arrow{transform:rotate(180deg);width:10px;height:10px}.dds-annotator-objectlist .tab-collapse .collapseHeader:hover{background-color:#4b4f52}.dds-annotator-objectlist .tab-collapse .collapse-header-selected .arrow{transform:rotate(0)}.dds-annotator-objectlist .tab-collapse .collapse-item{position:relative;display:flex;justify-items:flex-start;align-items:center;height:35px;padding-left:10px;margin-left:6px;color:#fff;background:#1f1f1f;font-size:14px}.dds-annotator-objectlist .tab-collapse .collapse-item .color-hint{position:absolute;left:3%;margin-left:0;width:.5rem;height:.5rem;border:.1rem solid rgba(255,255,255,.8);border-radius:50%}.dds-annotator-objectlist .tab-collapse .collapse-item .label-icon{margin-left:15px;margin-right:12px;width:15px;height:15px}.dds-annotator-objectlist .tab-collapse .collapse-item .label{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dds-annotator-objectlist .tab-collapse .collapse-item .label-actions{margin-right:5%;display:flex;align-items:center;justify-content:center}.dds-annotator-objectlist .tab-collapse .collapse-item .label-btn,.dds-annotator-objectlist .tab-collapse .collapse-item .attr-btn{border:0}.dds-annotator-objectlist .tab-collapse .collapse-item .attr-btn svg{width:22px;height:22px;fill:#1e53f5}.dds-annotator-objectlist .tab-collapse .collapse-item .attr-btn-warn svg{fill:#f53f3f}.dds-annotator-objectlist .tab-collapse .collapse-item .frame-count{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 8px;font-size:14px}.dds-annotator-objectlist .tab-collapse .collapse-item .frame-count svg{width:14px;height:14px;fill:#fff}.dds-annotator-objectlist .tab-collapse .collapse-item:hover{background-color:#4b4f52}.item___v9XQ_{display:flex;flex-flow:row nowrap;border-radius:2px}.item___v9XQ_ .selected___H8gjQ{left:0;top:0;width:4px;height:100%;margin-right:5px}.item___v9XQ_ .info___YLqTh{width:50%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.item___v9XQ_ .action___zGuUy{flex:1 1}.item___v9XQ_ .btn___ean1l{border:0}.item___v9XQ_:hover{background-color:#f0f8ff}.dds-annotator-points-editor{position:absolute;right:1rem;top:1rem;box-shadow:2px 2px 12px 3px #0009;opacity:0;transition:opacity .15s ease;pointer-events:none;z-index:99;border-radius:6px;overflow:hidden}.dds-annotator-points-editor .ant-card-head{background-color:#1e53f5;color:#fff;font-size:15px;padding:0;min-height:auto}.dds-annotator-points-editor .ant-card-body{padding:0}.dds-annotator-points-editor .btn{border:0}.dds-annotator-points-editor .title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px;min-height:40px;cursor:pointer}.dds-annotator-points-editor .title .extra-btn{cursor:pointer}.dds-annotator-points-editor .title .extra-btn:hover{transform:scale(1.05)}.dds-annotator-points-editor .content{display:flex;flex-direction:column;gap:5px;width:280px;height:140px;overflow-y:scroll;padding:10px 0 12px 10px}.dds-annotator-points-editor:hover{box-shadow:2px 2px 12px 3px #0009}.dds-annotator-points-editor-visible{opacity:1;pointer-events:all}.dds-annotator-seg-confirm{position:absolute;right:1rem;top:1rem;width:300px;box-shadow:2px 2px 12px 3px #0009;opacity:0;transition:opacity .15s ease;pointer-events:none;z-index:99}.dds-annotator-seg-confirm .ant-card-head{background-color:#1e53f5;color:#fff;font-size:15px;padding:0 15px;min-height:45px}.dds-annotator-seg-confirm .ant-card-body{padding:12px}.dds-annotator-seg-confirm .btn{border:0}.dds-annotator-seg-confirm .title{display:flex;align-items:center;justify-content:space-between}.dds-annotator-seg-confirm .content{display:flex;align-items:center;justify-content:space-between;gap:12px}.dds-annotator-seg-confirm .content .item{display:flex;align-items:center;justify-content:space-around;gap:12px;width:100%}.dds-annotator-seg-confirm .content .selector{width:100%}.dds-annotator-seg-confirm .content .actions{display:flex;justify-content:space-between;width:100%}.dds-annotator-seg-confirm:hover{box-shadow:2px 2px 12px 3px #0009}.dds-annotator-seg-confirm-visible{opacity:1;pointer-events:all}.dds-annotator-shortcutsinfo{background:#262626!important;max-height:calc(100vh - 60px);overflow:scroll}.dds-annotator-shortcutsinfo .ant-dropdown-menu{padding:0}.dds-annotator-shortcutsinfo .ant-dropdown-menu-item-group-title{color:#fff!important;text-shadow:0 -1px 0 rgba(0,0,0,.12);background-color:#595959;font-weight:600}.dds-annotator-shortcutsinfo .ant-dropdown-menu-item{color:#ffffffe6!important;display:flex;flex-direction:row-reverse}.dds-annotator-shortcutsinfo .ant-dropdown-menu-title-content{align-self:flex-start}.dds-annotator-shortcutsinfo .ant-dropdown-menu-item-icon{margin:0 0 0 8px}.dds-annotator-shortcutsinfo-key{padding:2px 4px;height:22px;min-width:22px;color:#000;justify-content:center;align-items:center;align-self:flex-start;background:#f9fafb;border:1px solid #374151;border-radius:4px;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;display:inline-flex;flex:0 0 22px;font-size:11px;font-weight:600}.dds-annotator-shortcutsinfo-combine{color:#ffffffe6}.dds-annotator-shortcutsinfo-icon svg{margin-left:2px;margin-right:12px;fill:#fff;cursor:pointer}.dds-annotator-shortcutsinfo-icon svg:hover{fill:#1e53f5}.dds-annotator-slidertoolbar{position:relative;height:100%;background:#212121;border-radius:0;display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:12px;width:50px;pointer-events:auto;font-weight:600;padding:1rem .5rem 2rem;z-index:99;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none}.dds-annotator-slidertoolbar::-webkit-scrollbar{display:none}.dds-annotator-slidertoolbar-content{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px}.dds-annotator-slidertoolbar .slidertoolbar-btn{width:32px;height:32px;border:0;background-color:transparent;border-radius:5px}.dds-annotator-slidertoolbar .slidertoolbar-btn svg{color:#fff;fill:#fff;scale:1.2}.dds-annotator-slidertoolbar .slidertoolbar-btn:hover{background-color:#1e53f5;transform:scale(1.2)}.dds-annotator-slidertoolbar .slidertoolbar-btn-active{color:#1e53f5;background-color:#1e53f5}.dds-annotator-slidertoolbar .slidertoolbar-btn-disabled{color:#ffffff40;pointer-events:none}.dds-annotator-slidertoolbar .slidertoolbar-btn-disabled svg{fill:#ffffff40}.dds-annotator-slidertoolbar .slidertoolbar-annotool-active-wrap{display:flex;flex-direction:column;align-items:center;gap:12px;width:50px;padding:10px 0;background:#484848;border-radius:12px}.dds-annotator-slidertoolbar .slidertoolbar-scale-text{font-size:12px;font-weight:400;color:#fffc;margin:12px 0;user-select:none}.dds-annotator-slidertoolbar .slidertoolbar-divider{width:100%;margin:8px 6px;border-bottom:1px solid #bbb}.dds-annotator-slidertoolbar-popover{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.dds-annotator-slidertoolbar-popover .popover-title{font-weight:600;font-size:14px;margin-right:10px}.dds-annotator-slidertoolbar-popover .popover-key{min-width:30px;justify-content:center;border-radius:2px;padding:2px 5px;color:#000c;box-shadow:0 1px 3px #0000004d,0 1px 2px #0000001a;font-size:12px;font-weight:600}.dds-annotator-slidertoolbar-popover .popover-divider{width:100%;margin:10px 0;border-bottom:1px solid rgba(0,0,0,.1)}.dds-annotator-slidertoolbar-popover .popover-description{max-width:220px;font-size:13px;color:#000c}.dds-annotator-editor-light .dds-annotator-slidertoolbar{background:#fff}.dds-annotator-editor-light .dds-annotator-slidertoolbar .slidertoolbar-btn{box-shadow:none}.dds-annotator-editor-light .dds-annotator-slidertoolbar .slidertoolbar-btn svg{color:#000;fill:#000;scale:1.2}.dds-annotator-editor-light .dds-annotator-slidertoolbar .slidertoolbar-btn:hover svg{color:#fff;fill:#fff}.dds-annotator-editor-light .dds-annotator-slidertoolbar .slidertoolbar-btn-active svg{color:#fff;fill:#fff;scale:1.2}.dds-annotator-editor-light .dds-annotator-slidertoolbar .slidertoolbar-btn-disabled{color:#00000040}.dds-annotator-editor-light .dds-annotator-slidertoolbar .slidertoolbar-btn-disabled svg{fill:#00000040}.dds-annotator-editor-light .dds-annotator-slidertoolbar .slidertoolbar-annotool-active-wrap{background:#484848}.dds-annotator-editor-light .dds-annotator-slidertoolbar .slidertoolbar-scale-text{color:#000c}.dds-annotator-editor-light .dds-annotator-slidertoolbar .slidertoolbar-divider{border-bottom:1px solid #bbb}.dds-annotator-editor-light .dds-annotator-slidertoolbar-popover .popover-key{color:#fffc;box-shadow:0 1px 3px #ffffff4d,0 1px 2px #ffffff1a}.dds-annotator-editor-light .dds-annotator-slidertoolbar-popover .popover-divider{border-bottom:1px solid rgba(255,255,255,.1)}.dds-annotator-editor-light .dds-annotator-slidertoolbar-popover .popover-description{color:#fffc}.dds-annotator-smart-container{position:absolute;right:1rem;top:1rem;width:375px;box-shadow:2px 2px 12px 3px #0009;opacity:0;transition:opacity .15s ease;pointer-events:none;z-index:9}.dds-annotator-smart-container .ant-card-head{background-color:#1e53f5;color:#fff;font-size:15px;padding:0 15px;min-height:45px}.dds-annotator-smart-container .ant-card-body{padding:12px}.dds-annotator-smart-container-btn{border:0}.dds-annotator-smart-container-btn:hover{background-color:#fff3!important}.dds-annotator-smart-container-btn:hover svg{color:#fff}.dds-annotator-smart-container-title{display:flex;align-items:center;justify-content:space-between}.dds-annotator-smart-container-title-icon{display:flex;align-items:center;justify-content:center;gap:12px}.dds-annotator-smart-container-content{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:12px}.dds-annotator-smart-container-content-item{display:flex;align-items:center;justify-content:space-around;gap:12px;width:100%}.dds-annotator-smart-container-content-param-controls{display:flex;flex-direction:column;width:100%}.dds-annotator-smart-container-content-param-item{display:flex;flex-direction:row;justify-content:space-around}.dds-annotator-smart-container-content-param-item-title{width:100px}.dds-annotator-smart-container-content-param-item-select{flex:1 1}.dds-annotator-smart-container-content-param-item-slider{align-self:flex-end;flex:1 1}.dds-annotator-smart-container-content-instruction{font-size:13px}.dds-annotator-smart-container-content-actions{display:flex;justify-content:space-between;width:100%}.dds-annotator-smart-container-content-column-item{display:flex;flex-direction:column;align-items:flex-start;gap:12px;width:100%}.dds-annotator-smart-container-content-tip-text span{font-weight:700}.dds-annotator-smart-container:hover{box-shadow:2px 2px 12px 3px #0009}.dds-annotator-smart-container-visible{opacity:1;pointer-events:all}.dds-annotator-operation-tip{position:absolute;right:1rem;top:1rem;display:flex;flex-direction:column;gap:10px;z-index:9}.dds-annotator-operation-tip-item{display:flex;justify-content:space-between;align-items:center;padding:5px 10px;background-color:#3c56f899;border-radius:5px}.dds-annotator-operation-tip-item span{margin-right:20px;color:#fff}.dds-annotator-toppagination{display:flex;flex-direction:row;justify-content:center;align-items:center;z-index:99;border-radius:10px;padding:.4rem .5rem}.dds-annotator-toppagination-btn{width:32px;height:32px;margin:0 .5rem;border:0;background-color:transparent;color:#fff;border-radius:5px}.dds-annotator-toppagination-btn:hover{background-color:#1e53f5;transform:scale(1.2)}.dds-annotator-toppagination-btn-disabled{color:#ffffff40;pointer-events:none}.dds-annotator-toppagination-btn-disabled svg{fill:#ffffff40}.dds-annotator-toppagination-scale-text{color:#fffc;margin:0 8px}.dds-annotator-toppagination-divider{height:100%;margin:6px 8px;border-left:1px solid #bbb}.dds-annotator-popover-menu{position:absolute;display:flex;flex-direction:column;justify-content:center;background:#fff;border:2px solid #1f4dd8;border-radius:50px;color:#000000d9;font-size:14px;box-shadow:2px 2px 6px 3px #00000026;pointer-events:none}.dds-annotator-popover-menu-content{display:flex;justify-content:space-around}.dds-annotator-popover-menu-text{max-width:150px;line-height:32px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;margin:0 10px}.dds-annotator-display{cursor:pointer}.dds-annotator-display-popover{border-radius:10px}.dds-annotator-display-popover .ant-popover-inner{padding:0}.dds-annotator-display-pop-container{border-radius:10px;color:#fff;padding-bottom:8px}.dds-annotator-display-pop-container-header{display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid rgba(107,114,128);padding:8px 8px 8px 16px;margin-bottom:8px}.dds-annotator-display-pop-container-btn{width:24px;height:24px;margin:0 .25rem;border:0;background-color:transparent;color:#fff;box-shadow:unset;font-size:12px}.dds-annotator-display-pop-container-btn:hover{background-color:#1e53f5;transform:scale(1.2)}.dds-annotator-display-pop-container-btn:hover svg{fill:#000}.dds-annotator-display-pop-container-option{display:flex;flex-flow:column nowrap;padding:4px 16px;width:240px}.dds-annotator-display-pop-container-option .ant-slider{margin:5px 8px}.dds-annotator-editor-status{position:relative;height:30px;padding:0 8px;display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;font-size:14px;font-weight:500;border-radius:5px;white-space:nowrap;text-overflow:ellipsis}.dds-annotator-editor-status svg{width:20px;height:20px}.dds-annotator-editor-status-1{border:1px solid #26a1f4;background:rgba(38,161,244,.38)}.dds-annotator-editor-status-2{border:1px solid #ffd305;background:rgba(255,211,5,.38)}.dds-annotator-label-selector{width:220px;margin-left:-5px}.dds-annotator-label-selector .ant-select{width:100%}.dds-annotator-label-selector .ant-select .ant-select-selector{background-color:transparent!important;color:#fff}.dds-annotator-label-selector .ant-select .ant-select-selection-item{display:flex;align-items:center}.dds-annotator-label-selector .ant-select .ant-select-selection-item svg{width:16px;height:16px;margin-right:10px}.dds-annotator-label-selector .ant-select .ant-select-arrow,.dds-annotator-label-selector .ant-select-open .ant-select-selection-item{color:#ffffff80}.dds-annotator-label-selector-option-color{width:12px;height:12px;margin-right:10px;background-color:#fff}.dds-annotator-label-selector-option .ant-select-item-option-content{display:flex;align-items:center}.dds-annotator-label-selector-option svg{width:16px;height:16px;margin-right:10px}.dds-annotator-editor-light .dds-annotator-label-selector .ant-select .ant-select-selector{color:#000;border:1px solid #acacac}.dds-annotator-editor-light .dds-annotator-label-selector .ant-select .ant-select-arrow,.dds-annotator-editor-light .dds-annotator-label-selector .ant-select-open .ant-select-selection-item{color:#00000080}.dds-annotator-editor-light .dds-annotator-label-selector-option-color{background-color:#000}.dds-annotator-model-selector{width:220px;margin-left:-5px}.dds-annotator-model-selector .ant-select{width:100%}.dds-annotator-model-selector .ant-select .ant-select-selector{background-color:transparent!important;color:#fff}.dds-annotator-model-selector .ant-select .ant-select-selection-item{display:flex;align-items:center}.dds-annotator-model-selector .ant-select .ant-select-selection-item svg{width:16px;height:16px;margin-right:10px}.dds-annotator-model-selector .ant-select .ant-select-arrow,.dds-annotator-model-selector .ant-select-open .ant-select-selection-item{color:#ffffff80}.dds-annotator-model-selector-option-color{width:12px;height:12px;margin-right:10px;background-color:#fff}.dds-annotator-model-selector-option .ant-select-item-option-content{display:flex;align-items:center}.dds-annotator-model-selector-option svg{width:16px;height:16px;margin-right:10px}.dds-annotator-editor-light .dds-annotator-model-selector .ant-select .ant-select-selector{color:#000;border:1px solid #acacac}.dds-annotator-editor-light .dds-annotator-model-selector .ant-select .ant-select-arrow,.dds-annotator-editor-light .dds-annotator-model-selector .ant-select-open .ant-select-selection-item{color:#00000080}.dds-annotator-editor-light .dds-annotator-model-selector-option-color{background-color:#000}.dds-annotator-subtoolbar{display:flex;flex-direction:row;justify-content:center;align-items:center;z-index:99;background-color:#212121;border-radius:10px;padding:.5rem;padding-left:0;height:50px;pointer-events:auto;font-weight:600}.dds-annotator-subtoolbar-btn{width:32px;height:32px;margin:0 .25rem;border:0;background-color:transparent;color:#fff;border-radius:5px}.dds-annotator-subtoolbar-btn svg{scale:1.2}.dds-annotator-subtoolbar-btn:hover{color:#fff}.dds-annotator-subtoolbar-btn-limited:hover{background-color:#1e53f5;transform:scale(1.2)}.dds-annotator-subtoolbar-btn-active{background-color:#1e53f5}.dds-annotator-subtoolbar-divider{height:65%;margin:10px 8px;border-left:1px solid #fff}.dds-annotator-subtoolbar-title{margin:0 .25rem;color:#fff}.dds-annotator-subtoolbar-slider{width:100px;margin:0 .25rem}.dds-annotator-subtoolbar-slider .ant-slider-rail{background-color:#37404a}.dds-annotator-subtoolbar-action{height:32px;margin:0 .25rem;border:0;color:#fff;border-radius:5px}.dds-annotator-subtoolbar-popover{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.dds-annotator-subtoolbar-popover-title{font-weight:500;font-size:14px}.dds-annotator-subtoolbar-popover-key{justify-content:center;border-radius:2px;margin-left:10px;padding:2px 5px;color:#000c;box-shadow:0 1px 3px #0000004d,0 1px 2px #0000001a;font-size:12px;font-weight:500}.dds-annotator-subtoolbar-popover-divider{width:100%;margin:10px 0;border-bottom:1px solid rgba(0,0,0,.1)}.dds-annnotator-toptools{position:relative;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 16px;width:100%;height:56px;color:#fff;background:#1f1f1f;border-bottom:1px solid #141414;pointer-events:auto;overflow-x:scroll;z-index:1;scrollbar-width:none;-ms-overflow-style:none}.dds-annnotator-toptools::-webkit-scrollbar{display:none}.dds-annnotator-toptools-row{display:flex;align-items:center;gap:16px;opacity:.85}.dds-annnotator-toptools-row-icon{padding:8px;color:#fff;border-radius:5px;cursor:pointer}.dds-annnotator-toptools-row-icon span{vertical-align:middle}.dds-annnotator-toptools-row-icon svg{width:20px;height:20px;fill:#fff;vertical-align:middle}.dds-annnotator-toptools-row-icon:hover{background-color:#1e53f5}.dds-annnotator-toptools-row-icon-disable{color:#ffffff40;pointer-events:none}.dds-annnotator-toptools-row-icon-disable svg{fill:#ffffff40}.dds-annnotator-toptools-row-split{margin:5px;width:1px;height:20px;background-color:#3b3838}.dds-annnotator-toptools-progress{position:absolute;left:50%;transform:translate(-50%);font-size:13px;line-height:20px;color:#fff;user-select:none}.dds-annotator-loading{position:fixed;top:0;left:0;bottom:0;right:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.2);z-index:10001}.dds-annotator-logo{margin-left:-5px;width:33px;height:33px;cursor:pointer}.dds-annotator-logo-replace{margin-left:-5px;width:33px;height:33px}.dds-annotator .edit-wrap{position:absolute;inset:0;font-size:0;user-select:none;pointer-events:auto}.dds-annotator .edit-wrap img{display:none}.dds-annotator .edit-wrap canvas{position:absolute;inset:0;cursor:crosshair}.dds-annotator-qk-actions{display:flex;align-items:center;justify-content:center;gap:18px}.dds-annotator-qk-actions svg{cursor:pointer;fill:#fff}.dds-annotator-qk-actions svg:hover{fill:#1e53f5}.dds-annotator-dropdown-options{display:flex;flex-direction:column;background-color:#fff;border-radius:5px;overflow:hidden}.dds-annotator-dropdown-options-object{position:relative;padding:5px 10px 5px 20px;min-width:120px;user-select:none;cursor:pointer}.dds-annotator-dropdown-options-object:hover{color:#1e53f5;background-color:#e2e6f9}.dds-annotator-dropdown-options-object-dot{position:absolute;top:50%;left:8px;transform:translateY(-50%);width:4px;height:4px;border-radius:50%;background-color:red}.dds-annotator-editor{position:relative;top:0;left:0;z-index:100;width:100%;height:100vh;background-color:#000;border-radius:0;overflow:hidden}.dds-annotator-editor .editor-container{position:absolute;inset:56px 0 0;display:flex;flex-direction:row;pointer-events:auto}.dds-annotator-editor .editor-container .left-slider{position:relative;height:100%;background:#212121;padding:0;border-radius:0;border-left:1px solid black;overflow-y:scroll;overflow-x:hidden;z-index:1}.dds-annotator-editor .editor-container .center-content{position:relative;flex:1 1;height:100%;display:flex;flex-direction:column;overflow:hidden}.dds-annotator-editor .editor-container .center-content .draw-area{position:relative;flex:1 1;width:100%}.dds-annotator-editor .editor-container .right-slider{position:relative;width:256px;min-width:256px;height:100%;background:#262626;border-left:2px solid #141414;backdrop-filter:blur(12px);display:flex;flex-direction:column;z-index:1}.dds-annotator-editor .editor-container .right-slider .classifications{max-height:50%;overflow-x:hidden;overflow-y:scroll}.dds-annotator-editor .editor-container .right-slider .object-list{flex:1 1;width:100%;overflow-y:scroll;overflow-x:hidden}.dds-annotator-editor-light{background-color:#f7f7f7}.dds-annotator-editor-light .dds-annnotator-toptools{background-color:#f1f2f4;border-bottom:1px solid #f7f7f7}.dds-annotator-editor-light .dds-annnotator-toptools-row-icon{color:#000}.dds-annotator-editor-light .dds-annnotator-toptools-row-icon svg{fill:#fff}.dds-annotator-preview{position:fixed;top:0;left:0;width:100%;height:100%;z-index:100;background-color:#000000b3}.dds-annotator-preview .top-tools{background:linear-gradient(180deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,.15) 100%)!important;border:none!important}.dds-annotator-preview .switch{position:absolute;bottom:40px;display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-top:-22px;color:#ffffffd9;background:rgba(0,0,0,.5);border-radius:50%;cursor:pointer;pointer-events:auto;z-index:1}.dds-annotator-preview .switch-disable{color:#ffffff40;cursor:not-allowed}.dds-annotator-preview .switch-left{right:calc(50vw + 32px)}.dds-annotator-preview .switch-right{left:calc(50vw + 32px)}.dds-annotator-preview .info-wrap{position:absolute;right:40px;top:50%;transform:translateY(-50%);pointer-events:auto;user-select:none}.dds-annotator-preview .info-wrap .info-box{width:248px;max-height:calc(100vh - 192px);padding:24px 20px 0;display:flex;flex-direction:column;background-color:#00000073;color:#fff;border-radius:4px;pointer-events:auto;overflow-y:scroll;z-index:1;user-select:text;scrollbar-width:none;-ms-overflow-style:none}.dds-annotator-preview .info-wrap .info-box::-webkit-scrollbar{display:none}.dds-annotator-preview .info-wrap .info-box .item{max-width:100%;margin-bottom:16px;text-align:left;word-break:break-all;font-size:14px;line-height:22px}.dds-annotator-preview .info-wrap .info-box .item:last-child{margin-bottom:24px}.dds-annotator-preview .info-wrap .bottom-mask{position:absolute;bottom:0;left:0;width:100%;height:40px;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,#000 100%);opacity:.45}.dds-annotator-preview .hide-info-btn{position:absolute;right:-24px;top:50%;transform:translateY(-50%);width:24px;height:48px;line-height:48px;background-color:#00000073;border-radius:0 48px 48px 0;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;cursor:pointer;pointer-events:auto;z-index:1}.dds-annotator-preview .show-info-btn{position:absolute;right:0;top:50%;transform:translateY(-50%);width:24px;height:48px;line-height:48px;background-color:#00000073;border-radius:48px 0 0 48px;display:flex;align-items:center;justify-content:flex-start;padding-left:8px;cursor:pointer;pointer-events:auto;z-index:1}.dds-annotator-preview .show-info-btn svg{transform:rotate(180deg)}.dds-annotator-view{position:relative;display:flex}.dds-quicklabel-image-filter{display:flex;align-items:center;gap:10px}.dds-quicklabel-options-list{height:100vh}.dds-quicklabel-options-list-virtual{border-radius:8px}.dds-quicklabel-options-list-image{margin:8px 0;width:100%;height:120px;box-sizing:border-box;object-fit:cover;border-radius:8px;background-color:#fff;cursor:pointer;transition:transform .3s ease}.dds-quicklabel-options-list-image:hover{transform:scale(.95)}.dds-quicklabel-options-list-image-selected{border:3px solid #fff;border-radius:8px}.dds-upload-list{position:relative;width:100%;height:100%}.dds-upload-list .virtual-list{border-radius:8px;overflow-y:hidden}.dds-upload-list .row-container{display:flex}.dds-upload-list .preview-container{position:relative;display:flex;flex-direction:column;align-items:center;overflow:hidden;cursor:pointer;border-radius:5px}.dds-upload-list .preview-container .file-preview{box-sizing:border-box;object-fit:cover;background-color:#fff;border-radius:5px}.dds-upload-list .preview-container .file-name{width:90%;margin:5px;word-wrap:break-word;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dds-upload-list .preview-container .remove-button{display:none;position:absolute!important;top:4px;right:4px}.dds-upload-list .preview-container:hover{background-color:#f0f0f0;border-radius:5px;box-shadow:0 1px 2px #0000004d}.dds-upload-list .preview-container:hover .remove-button{display:block}.dds-upload-list .preview-container-success .file-name{color:#1e53f5}.dds-upload-list .preview-container-success .file-preview{border:1px solid #1e53f5}.dds-upload-list .preview-container-error .file-name{color:red}.dds-upload-list .preview-container-error .file-preview{border:1px solid red}.dds-upload{position:relative;width:100%;height:100%}.dds-upload-loading{position:absolute;left:0;right:0;top:0;bottom:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.3)}.dds-upload input{display:none!important}.dds-upload-title{font-size:24px;font-weight:500;line-height:1}.dds-upload-text{font-size:14px;font-weight:400;color:#c1c1c1}.dds-upload-empty{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;border-radius:5px;border:1px solid #c9cdd4;cursor:pointer}.dds-upload-empty svg{width:91px;height:75px}.dds-upload-empty .dds-upload-title{margin-top:30px}.dds-upload-content{width:100%;height:100%;border-radius:5px;border:1px solid #c9cdd4}.dds-upload-content-list{position:relative;width:100%;height:calc(100% - 64px);padding:30px 0 0}.dds-upload-content-list-count{position:absolute;left:18px;top:8px;font-size:14px;color:#00000073}.dds-upload-draging{border:1px solid #1e53f5;background:#e8efff}.dds-upload-topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-radius:0;border-bottom:1px solid #c9cdd4}.dds-upload-topbar .dds-upload-title{font-size:20px}.dds-upload-topbar .dds-upload-text{font-size:12px;margin-top:4px}.dds-quicklabel-subtitle{font-size:16px;font-weight:500;margin:20px 0 10px}.dds-quicklabel-upload{width:100%;height:360px}.dds-quicklabel-upload-tip{margin:10px 0 0;background-color:transparent;border-width:0}.dds-quicklabel-upload-preannot-btn{width:100%;height:42px;font-weight:600;border-radius:5px;background:#fff}.dds-quicklabel{position:relative;display:flex;background:#212121}.dds-quicklabel-list{display:flex;flex-direction:column;align-items:stretch;width:200px;height:100%;padding:16px;gap:8px}.dds-quicklabel-workspace{flex:1 1;height:100%}.dds-upload-pre-anno .ant-upload{width:100%}.dds-upload-pre-anno .ant-card{border:1px solid #c9cdd4;background:none}.dds-upload-pre-anno .ant-card .ant-card-meta-avatar{width:56px;height:56px;margin-right:20px}.dds-upload-pre-anno .ant-card .ant-card-meta-avatar svg{width:56px;height:56px}.dds-upload-pre-anno .ant-card .ant-card-meta-title{font-size:24px;font-weight:500}.dds-upload-pre-anno .ant-card:hover{cursor:pointer} -/*# sourceMappingURL=umi.30868830.css.map*/ \ No newline at end of file +/*# sourceMappingURL=umi.5d546bdb.css.map*/ \ No newline at end of file diff --git a/deepdataspace/server/static/umi.30868830.css.map b/deepdataspace/server/static/umi.5d546bdb.css.map similarity index 99% rename from deepdataspace/server/static/umi.30868830.css.map rename to deepdataspace/server/static/umi.5d546bdb.css.map index cebeeab..10ac350 100644 --- a/deepdataspace/server/static/umi.30868830.css.map +++ b/deepdataspace/server/static/umi.5d546bdb.css.map @@ -1 +1 @@ -{"version":3,"file":"umi.30868830.css","mappings":"AAAA","sources":["webpack://app/./src/global.less"],"sourcesContent":["* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\nbody {\n background: #f5f5f5;\n overflow: overlay; // Scrollbar does not occupy width.\n}\n\n#root {\n .ant-page-header {\n background-color: #fff;\n }\n\n .ant-pro .ant-layout-header.ant-pro-layout-header-fixed-header {\n padding: 0 44px;\n background-color: white;\n border-bottom: 1px solid #f0f0f0;\n }\n\n .ant-pro-page-container-affix .ant-affix {\n top: 0 !important;\n }\n\n .ant-pro-top-nav-header-main {\n padding-inline-start: 0;\n }\n\n .ant-pro-top-nav-header-logo > *:first-child > img {\n height: 40px;\n }\n\n .ant-image-preview-mask {\n z-index: 900 !important;\n }\n\n .ant-image-preview-wrap {\n z-index: 901 !important;\n }\n\n .ant-collapse\n > .ant-collapse-item.ant-collapse-no-arrow\n > .ant-collapse-header {\n padding: 0 !important;\n }\n\n .ant-collapse-ghost\n > .ant-collapse-item\n > .ant-collapse-content\n > .ant-collapse-content-box {\n padding: 0 !important;\n }\n\n .ant-collapse .ant-collapse-item-disabled > .ant-collapse-header,\n .ant-collapse .ant-collapse-item-disabled > .ant-collapse-header > .arrow {\n cursor: pointer !important;\n }\n\n .ant-pro .ant-pro-layout .ant-pro-layout-content {\n margin-block: 0;\n margin-inline: 0;\n }\n\n .ant-table-tbody > tr > td > .ant-space {\n flex-wrap: wrap;\n }\n\n .ant-table-pagination.ant-pagination {\n margin: 16px 0;\n }\n}\n\n@blue: #1677ff;@purple: #722ED1;@cyan: #13C2C2;@green: #52C41A;@magenta: #EB2F96;@pink: #eb2f96;@red: #F5222D;@orange: #FA8C16;@yellow: #FADB14;@volcano: #FA541C;@geekblue: #2F54EB;@gold: #FAAD14;@lime: #A0D911;@colorPrimary: #1e53f5;@colorSuccess: #52c41a;@colorWarning: #faad14;@colorError: #ff4d4f;@colorInfo: #1677ff;@colorLink: #1677ff;@colorTextBase: #000;@colorBgBase: #fff;@fontFamily: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,\n'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\n'Noto Color Emoji';@fontFamilyCode: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;@fontSize: 14;@lineWidth: 1;@lineType: solid;@motionUnit: 0.1;@motionBase: 0;@motionEaseOutCirc: cubic-bezier(0.08, 0.82, 0.17, 1);@motionEaseInOutCirc: cubic-bezier(0.78, 0.14, 0.15, 0.86);@motionEaseOut: cubic-bezier(0.215, 0.61, 0.355, 1);@motionEaseInOut: cubic-bezier(0.645, 0.045, 0.355, 1);@motionEaseOutBack: cubic-bezier(0.12, 0.4, 0.29, 1.46);@motionEaseInBack: cubic-bezier(0.71, -0.46, 0.88, 0.6);@motionEaseInQuint: cubic-bezier(0.755, 0.05, 0.855, 0.06);@motionEaseOutQuint: cubic-bezier(0.23, 1, 0.32, 1);@borderRadius: 6;@sizeUnit: 4;@sizeStep: 4;@sizePopupArrow: 16;@controlHeight: 32;@zIndexBase: 0;@zIndexPopupBase: 1000;@opacityImage: 1;@wireframe: false;@motion: true;@blue-1: #e6f4ff;@blue1: #e6f4ff;@blue-2: #bae0ff;@blue2: #bae0ff;@blue-3: #91caff;@blue3: #91caff;@blue-4: #69b1ff;@blue4: #69b1ff;@blue-5: #4096ff;@blue5: #4096ff;@blue-6: #1677ff;@blue6: #1677ff;@blue-7: #0958d9;@blue7: #0958d9;@blue-8: #003eb3;@blue8: #003eb3;@blue-9: #002c8c;@blue9: #002c8c;@blue-10: #001d66;@blue10: #001d66;@purple-1: #f9f0ff;@purple1: #f9f0ff;@purple-2: #efdbff;@purple2: #efdbff;@purple-3: #d3adf7;@purple3: #d3adf7;@purple-4: #b37feb;@purple4: #b37feb;@purple-5: #9254de;@purple5: #9254de;@purple-6: #722ed1;@purple6: #722ed1;@purple-7: #531dab;@purple7: #531dab;@purple-8: #391085;@purple8: #391085;@purple-9: #22075e;@purple9: #22075e;@purple-10: #120338;@purple10: #120338;@cyan-1: #e6fffb;@cyan1: #e6fffb;@cyan-2: #b5f5ec;@cyan2: #b5f5ec;@cyan-3: #87e8de;@cyan3: #87e8de;@cyan-4: #5cdbd3;@cyan4: #5cdbd3;@cyan-5: #36cfc9;@cyan5: #36cfc9;@cyan-6: #13c2c2;@cyan6: #13c2c2;@cyan-7: #08979c;@cyan7: #08979c;@cyan-8: #006d75;@cyan8: #006d75;@cyan-9: #00474f;@cyan9: #00474f;@cyan-10: #002329;@cyan10: #002329;@green-1: #f6ffed;@green1: #f6ffed;@green-2: #d9f7be;@green2: #d9f7be;@green-3: #b7eb8f;@green3: #b7eb8f;@green-4: #95de64;@green4: #95de64;@green-5: #73d13d;@green5: #73d13d;@green-6: #52c41a;@green6: #52c41a;@green-7: #389e0d;@green7: #389e0d;@green-8: #237804;@green8: #237804;@green-9: #135200;@green9: #135200;@green-10: #092b00;@green10: #092b00;@magenta-1: #fff0f6;@magenta1: #fff0f6;@magenta-2: #ffd6e7;@magenta2: #ffd6e7;@magenta-3: #ffadd2;@magenta3: #ffadd2;@magenta-4: #ff85c0;@magenta4: #ff85c0;@magenta-5: #f759ab;@magenta5: #f759ab;@magenta-6: #eb2f96;@magenta6: #eb2f96;@magenta-7: #c41d7f;@magenta7: #c41d7f;@magenta-8: #9e1068;@magenta8: #9e1068;@magenta-9: #780650;@magenta9: #780650;@magenta-10: #520339;@magenta10: #520339;@pink-1: #fff0f6;@pink1: #fff0f6;@pink-2: #ffd6e7;@pink2: #ffd6e7;@pink-3: #ffadd2;@pink3: #ffadd2;@pink-4: #ff85c0;@pink4: #ff85c0;@pink-5: #f759ab;@pink5: #f759ab;@pink-6: #eb2f96;@pink6: #eb2f96;@pink-7: #c41d7f;@pink7: #c41d7f;@pink-8: #9e1068;@pink8: #9e1068;@pink-9: #780650;@pink9: #780650;@pink-10: #520339;@pink10: #520339;@red-1: #fff1f0;@red1: #fff1f0;@red-2: #ffccc7;@red2: #ffccc7;@red-3: #ffa39e;@red3: #ffa39e;@red-4: #ff7875;@red4: #ff7875;@red-5: #ff4d4f;@red5: #ff4d4f;@red-6: #f5222d;@red6: #f5222d;@red-7: #cf1322;@red7: #cf1322;@red-8: #a8071a;@red8: #a8071a;@red-9: #820014;@red9: #820014;@red-10: #5c0011;@red10: #5c0011;@orange-1: #fff7e6;@orange1: #fff7e6;@orange-2: #ffe7ba;@orange2: #ffe7ba;@orange-3: #ffd591;@orange3: #ffd591;@orange-4: #ffc069;@orange4: #ffc069;@orange-5: #ffa940;@orange5: #ffa940;@orange-6: #fa8c16;@orange6: #fa8c16;@orange-7: #d46b08;@orange7: #d46b08;@orange-8: #ad4e00;@orange8: #ad4e00;@orange-9: #873800;@orange9: #873800;@orange-10: #612500;@orange10: #612500;@yellow-1: #feffe6;@yellow1: #feffe6;@yellow-2: #ffffb8;@yellow2: #ffffb8;@yellow-3: #fffb8f;@yellow3: #fffb8f;@yellow-4: #fff566;@yellow4: #fff566;@yellow-5: #ffec3d;@yellow5: #ffec3d;@yellow-6: #fadb14;@yellow6: #fadb14;@yellow-7: #d4b106;@yellow7: #d4b106;@yellow-8: #ad8b00;@yellow8: #ad8b00;@yellow-9: #876800;@yellow9: #876800;@yellow-10: #614700;@yellow10: #614700;@volcano-1: #fff2e8;@volcano1: #fff2e8;@volcano-2: #ffd8bf;@volcano2: #ffd8bf;@volcano-3: #ffbb96;@volcano3: #ffbb96;@volcano-4: #ff9c6e;@volcano4: #ff9c6e;@volcano-5: #ff7a45;@volcano5: #ff7a45;@volcano-6: #fa541c;@volcano6: #fa541c;@volcano-7: #d4380d;@volcano7: #d4380d;@volcano-8: #ad2102;@volcano8: #ad2102;@volcano-9: #871400;@volcano9: #871400;@volcano-10: #610b00;@volcano10: #610b00;@geekblue-1: #f0f5ff;@geekblue1: #f0f5ff;@geekblue-2: #d6e4ff;@geekblue2: #d6e4ff;@geekblue-3: #adc6ff;@geekblue3: #adc6ff;@geekblue-4: #85a5ff;@geekblue4: #85a5ff;@geekblue-5: #597ef7;@geekblue5: #597ef7;@geekblue-6: #2f54eb;@geekblue6: #2f54eb;@geekblue-7: #1d39c4;@geekblue7: #1d39c4;@geekblue-8: #10239e;@geekblue8: #10239e;@geekblue-9: #061178;@geekblue9: #061178;@geekblue-10: #030852;@geekblue10: #030852;@gold-1: #fffbe6;@gold1: #fffbe6;@gold-2: #fff1b8;@gold2: #fff1b8;@gold-3: #ffe58f;@gold3: #ffe58f;@gold-4: #ffd666;@gold4: #ffd666;@gold-5: #ffc53d;@gold5: #ffc53d;@gold-6: #faad14;@gold6: #faad14;@gold-7: #d48806;@gold7: #d48806;@gold-8: #ad6800;@gold8: #ad6800;@gold-9: #874d00;@gold9: #874d00;@gold-10: #613400;@gold10: #613400;@lime-1: #fcffe6;@lime1: #fcffe6;@lime-2: #f4ffb8;@lime2: #f4ffb8;@lime-3: #eaff8f;@lime3: #eaff8f;@lime-4: #d3f261;@lime4: #d3f261;@lime-5: #bae637;@lime5: #bae637;@lime-6: #a0d911;@lime6: #a0d911;@lime-7: #7cb305;@lime7: #7cb305;@lime-8: #5b8c00;@lime8: #5b8c00;@lime-9: #3f6600;@lime9: #3f6600;@lime-10: #254000;@lime10: #254000;@colorText: rgba(0, 0, 0, 0.88);@colorTextSecondary: rgba(0, 0, 0, 0.65);@colorTextTertiary: rgba(0, 0, 0, 0.45);@colorTextQuaternary: rgba(0, 0, 0, 0.25);@colorFill: rgba(0, 0, 0, 0.15);@colorFillSecondary: rgba(0, 0, 0, 0.06);@colorFillTertiary: rgba(0, 0, 0, 0.04);@colorFillQuaternary: rgba(0, 0, 0, 0.02);@colorBgLayout: #f5f5f5;@colorBgContainer: #ffffff;@colorBgElevated: #ffffff;@colorBgSpotlight: rgba(0, 0, 0, 0.85);@colorBorder: #d9d9d9;@colorBorderSecondary: #f0f0f0;@colorPrimaryBg: #ebf3ff;@colorPrimaryBgHover: #c2d9ff;@colorPrimaryBorder: #99bdff;@colorPrimaryBorderHover: #709dff;@colorPrimaryHover: #477bff;@colorPrimaryActive: #0e38cf;@colorPrimaryTextHover: #477bff;@colorPrimaryText: #1e53f5;@colorPrimaryTextActive: #0e38cf;@colorSuccessBg: #f6ffed;@colorSuccessBgHover: #d9f7be;@colorSuccessBorder: #b7eb8f;@colorSuccessBorderHover: #95de64;@colorSuccessHover: #95de64;@colorSuccessActive: #389e0d;@colorSuccessTextHover: #73d13d;@colorSuccessText: #52c41a;@colorSuccessTextActive: #389e0d;@colorErrorBg: #fff2f0;@colorErrorBgHover: #fff1f0;@colorErrorBorder: #ffccc7;@colorErrorBorderHover: #ffa39e;@colorErrorHover: #ff7875;@colorErrorActive: #d9363e;@colorErrorTextHover: #ff7875;@colorErrorText: #ff4d4f;@colorErrorTextActive: #d9363e;@colorWarningBg: #fffbe6;@colorWarningBgHover: #fff1b8;@colorWarningBorder: #ffe58f;@colorWarningBorderHover: #ffd666;@colorWarningHover: #ffd666;@colorWarningActive: #d48806;@colorWarningTextHover: #ffc53d;@colorWarningText: #faad14;@colorWarningTextActive: #d48806;@colorInfoBg: #e6f4ff;@colorInfoBgHover: #bae0ff;@colorInfoBorder: #91caff;@colorInfoBorderHover: #69b1ff;@colorInfoHover: #69b1ff;@colorInfoActive: #0958d9;@colorInfoTextHover: #4096ff;@colorInfoText: #1677ff;@colorInfoTextActive: #0958d9;@colorLinkHover: #69b1ff;@colorLinkActive: #0958d9;@colorBgMask: rgba(0, 0, 0, 0.45);@colorWhite: #fff;@fontSizeSM: 12;@fontSizeLG: 16;@fontSizeXL: 20;@fontSizeHeading1: 38;@fontSizeHeading2: 30;@fontSizeHeading3: 24;@fontSizeHeading4: 20;@fontSizeHeading5: 16;@lineHeight: 1.5714285714285714;@lineHeightLG: 1.5;@lineHeightSM: 1.6666666666666667;@lineHeightHeading1: 1.2105263157894737;@lineHeightHeading2: 1.2666666666666666;@lineHeightHeading3: 1.3333333333333333;@lineHeightHeading4: 1.4;@lineHeightHeading5: 1.5;@sizeXXL: 48;@sizeXL: 32;@sizeLG: 24;@sizeMD: 20;@sizeMS: 16;@size: 16;@sizeSM: 12;@sizeXS: 8;@sizeXXS: 4;@controlHeightSM: 24;@controlHeightXS: 16;@controlHeightLG: 40;@motionDurationFast: 0.1s;@motionDurationMid: 0.2s;@motionDurationSlow: 0.3s;@lineWidthBold: 2;@borderRadiusXS: 2;@borderRadiusSM: 4;@borderRadiusLG: 8;@borderRadiusOuter: 4;"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"umi.5d546bdb.css","mappings":"AAAA","sources":["webpack://app/./src/global.less"],"sourcesContent":["* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\nbody {\n background: #f5f5f5;\n overflow: overlay; // Scrollbar does not occupy width.\n}\n\n#root {\n .ant-page-header {\n background-color: #fff;\n }\n\n .ant-pro .ant-layout-header.ant-pro-layout-header-fixed-header {\n padding: 0 44px;\n background-color: white;\n border-bottom: 1px solid #f0f0f0;\n }\n\n .ant-pro-page-container-affix .ant-affix {\n top: 0 !important;\n }\n\n .ant-pro-top-nav-header-main {\n padding-inline-start: 0;\n }\n\n .ant-pro-top-nav-header-logo > *:first-child > img {\n height: 40px;\n }\n\n .ant-image-preview-mask {\n z-index: 900 !important;\n }\n\n .ant-image-preview-wrap {\n z-index: 901 !important;\n }\n\n .ant-collapse\n > .ant-collapse-item.ant-collapse-no-arrow\n > .ant-collapse-header {\n padding: 0 !important;\n }\n\n .ant-collapse-ghost\n > .ant-collapse-item\n > .ant-collapse-content\n > .ant-collapse-content-box {\n padding: 0 !important;\n }\n\n .ant-collapse .ant-collapse-item-disabled > .ant-collapse-header,\n .ant-collapse .ant-collapse-item-disabled > .ant-collapse-header > .arrow {\n cursor: pointer !important;\n }\n\n .ant-pro .ant-pro-layout .ant-pro-layout-content {\n margin-block: 0;\n margin-inline: 0;\n }\n\n .ant-table-tbody > tr > td > .ant-space {\n flex-wrap: wrap;\n }\n\n .ant-table-pagination.ant-pagination {\n margin: 16px 0;\n }\n}\n\n@blue: #1677ff;@purple: #722ED1;@cyan: #13C2C2;@green: #52C41A;@magenta: #EB2F96;@pink: #eb2f96;@red: #F5222D;@orange: #FA8C16;@yellow: #FADB14;@volcano: #FA541C;@geekblue: #2F54EB;@gold: #FAAD14;@lime: #A0D911;@colorPrimary: #1e53f5;@colorSuccess: #52c41a;@colorWarning: #faad14;@colorError: #ff4d4f;@colorInfo: #1677ff;@colorLink: #1677ff;@colorTextBase: #000;@colorBgBase: #fff;@fontFamily: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,\n'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\n'Noto Color Emoji';@fontFamilyCode: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;@fontSize: 14;@lineWidth: 1;@lineType: solid;@motionUnit: 0.1;@motionBase: 0;@motionEaseOutCirc: cubic-bezier(0.08, 0.82, 0.17, 1);@motionEaseInOutCirc: cubic-bezier(0.78, 0.14, 0.15, 0.86);@motionEaseOut: cubic-bezier(0.215, 0.61, 0.355, 1);@motionEaseInOut: cubic-bezier(0.645, 0.045, 0.355, 1);@motionEaseOutBack: cubic-bezier(0.12, 0.4, 0.29, 1.46);@motionEaseInBack: cubic-bezier(0.71, -0.46, 0.88, 0.6);@motionEaseInQuint: cubic-bezier(0.755, 0.05, 0.855, 0.06);@motionEaseOutQuint: cubic-bezier(0.23, 1, 0.32, 1);@borderRadius: 6;@sizeUnit: 4;@sizeStep: 4;@sizePopupArrow: 16;@controlHeight: 32;@zIndexBase: 0;@zIndexPopupBase: 1000;@opacityImage: 1;@wireframe: false;@motion: true;@blue-1: #e6f4ff;@blue1: #e6f4ff;@blue-2: #bae0ff;@blue2: #bae0ff;@blue-3: #91caff;@blue3: #91caff;@blue-4: #69b1ff;@blue4: #69b1ff;@blue-5: #4096ff;@blue5: #4096ff;@blue-6: #1677ff;@blue6: #1677ff;@blue-7: #0958d9;@blue7: #0958d9;@blue-8: #003eb3;@blue8: #003eb3;@blue-9: #002c8c;@blue9: #002c8c;@blue-10: #001d66;@blue10: #001d66;@purple-1: #f9f0ff;@purple1: #f9f0ff;@purple-2: #efdbff;@purple2: #efdbff;@purple-3: #d3adf7;@purple3: #d3adf7;@purple-4: #b37feb;@purple4: #b37feb;@purple-5: #9254de;@purple5: #9254de;@purple-6: #722ed1;@purple6: #722ed1;@purple-7: #531dab;@purple7: #531dab;@purple-8: #391085;@purple8: #391085;@purple-9: #22075e;@purple9: #22075e;@purple-10: #120338;@purple10: #120338;@cyan-1: #e6fffb;@cyan1: #e6fffb;@cyan-2: #b5f5ec;@cyan2: #b5f5ec;@cyan-3: #87e8de;@cyan3: #87e8de;@cyan-4: #5cdbd3;@cyan4: #5cdbd3;@cyan-5: #36cfc9;@cyan5: #36cfc9;@cyan-6: #13c2c2;@cyan6: #13c2c2;@cyan-7: #08979c;@cyan7: #08979c;@cyan-8: #006d75;@cyan8: #006d75;@cyan-9: #00474f;@cyan9: #00474f;@cyan-10: #002329;@cyan10: #002329;@green-1: #f6ffed;@green1: #f6ffed;@green-2: #d9f7be;@green2: #d9f7be;@green-3: #b7eb8f;@green3: #b7eb8f;@green-4: #95de64;@green4: #95de64;@green-5: #73d13d;@green5: #73d13d;@green-6: #52c41a;@green6: #52c41a;@green-7: #389e0d;@green7: #389e0d;@green-8: #237804;@green8: #237804;@green-9: #135200;@green9: #135200;@green-10: #092b00;@green10: #092b00;@magenta-1: #fff0f6;@magenta1: #fff0f6;@magenta-2: #ffd6e7;@magenta2: #ffd6e7;@magenta-3: #ffadd2;@magenta3: #ffadd2;@magenta-4: #ff85c0;@magenta4: #ff85c0;@magenta-5: #f759ab;@magenta5: #f759ab;@magenta-6: #eb2f96;@magenta6: #eb2f96;@magenta-7: #c41d7f;@magenta7: #c41d7f;@magenta-8: #9e1068;@magenta8: #9e1068;@magenta-9: #780650;@magenta9: #780650;@magenta-10: #520339;@magenta10: #520339;@pink-1: #fff0f6;@pink1: #fff0f6;@pink-2: #ffd6e7;@pink2: #ffd6e7;@pink-3: #ffadd2;@pink3: #ffadd2;@pink-4: #ff85c0;@pink4: #ff85c0;@pink-5: #f759ab;@pink5: #f759ab;@pink-6: #eb2f96;@pink6: #eb2f96;@pink-7: #c41d7f;@pink7: #c41d7f;@pink-8: #9e1068;@pink8: #9e1068;@pink-9: #780650;@pink9: #780650;@pink-10: #520339;@pink10: #520339;@red-1: #fff1f0;@red1: #fff1f0;@red-2: #ffccc7;@red2: #ffccc7;@red-3: #ffa39e;@red3: #ffa39e;@red-4: #ff7875;@red4: #ff7875;@red-5: #ff4d4f;@red5: #ff4d4f;@red-6: #f5222d;@red6: #f5222d;@red-7: #cf1322;@red7: #cf1322;@red-8: #a8071a;@red8: #a8071a;@red-9: #820014;@red9: #820014;@red-10: #5c0011;@red10: #5c0011;@orange-1: #fff7e6;@orange1: #fff7e6;@orange-2: #ffe7ba;@orange2: #ffe7ba;@orange-3: #ffd591;@orange3: #ffd591;@orange-4: #ffc069;@orange4: #ffc069;@orange-5: #ffa940;@orange5: #ffa940;@orange-6: #fa8c16;@orange6: #fa8c16;@orange-7: #d46b08;@orange7: #d46b08;@orange-8: #ad4e00;@orange8: #ad4e00;@orange-9: #873800;@orange9: #873800;@orange-10: #612500;@orange10: #612500;@yellow-1: #feffe6;@yellow1: #feffe6;@yellow-2: #ffffb8;@yellow2: #ffffb8;@yellow-3: #fffb8f;@yellow3: #fffb8f;@yellow-4: #fff566;@yellow4: #fff566;@yellow-5: #ffec3d;@yellow5: #ffec3d;@yellow-6: #fadb14;@yellow6: #fadb14;@yellow-7: #d4b106;@yellow7: #d4b106;@yellow-8: #ad8b00;@yellow8: #ad8b00;@yellow-9: #876800;@yellow9: #876800;@yellow-10: #614700;@yellow10: #614700;@volcano-1: #fff2e8;@volcano1: #fff2e8;@volcano-2: #ffd8bf;@volcano2: #ffd8bf;@volcano-3: #ffbb96;@volcano3: #ffbb96;@volcano-4: #ff9c6e;@volcano4: #ff9c6e;@volcano-5: #ff7a45;@volcano5: #ff7a45;@volcano-6: #fa541c;@volcano6: #fa541c;@volcano-7: #d4380d;@volcano7: #d4380d;@volcano-8: #ad2102;@volcano8: #ad2102;@volcano-9: #871400;@volcano9: #871400;@volcano-10: #610b00;@volcano10: #610b00;@geekblue-1: #f0f5ff;@geekblue1: #f0f5ff;@geekblue-2: #d6e4ff;@geekblue2: #d6e4ff;@geekblue-3: #adc6ff;@geekblue3: #adc6ff;@geekblue-4: #85a5ff;@geekblue4: #85a5ff;@geekblue-5: #597ef7;@geekblue5: #597ef7;@geekblue-6: #2f54eb;@geekblue6: #2f54eb;@geekblue-7: #1d39c4;@geekblue7: #1d39c4;@geekblue-8: #10239e;@geekblue8: #10239e;@geekblue-9: #061178;@geekblue9: #061178;@geekblue-10: #030852;@geekblue10: #030852;@gold-1: #fffbe6;@gold1: #fffbe6;@gold-2: #fff1b8;@gold2: #fff1b8;@gold-3: #ffe58f;@gold3: #ffe58f;@gold-4: #ffd666;@gold4: #ffd666;@gold-5: #ffc53d;@gold5: #ffc53d;@gold-6: #faad14;@gold6: #faad14;@gold-7: #d48806;@gold7: #d48806;@gold-8: #ad6800;@gold8: #ad6800;@gold-9: #874d00;@gold9: #874d00;@gold-10: #613400;@gold10: #613400;@lime-1: #fcffe6;@lime1: #fcffe6;@lime-2: #f4ffb8;@lime2: #f4ffb8;@lime-3: #eaff8f;@lime3: #eaff8f;@lime-4: #d3f261;@lime4: #d3f261;@lime-5: #bae637;@lime5: #bae637;@lime-6: #a0d911;@lime6: #a0d911;@lime-7: #7cb305;@lime7: #7cb305;@lime-8: #5b8c00;@lime8: #5b8c00;@lime-9: #3f6600;@lime9: #3f6600;@lime-10: #254000;@lime10: #254000;@colorText: rgba(0, 0, 0, 0.88);@colorTextSecondary: rgba(0, 0, 0, 0.65);@colorTextTertiary: rgba(0, 0, 0, 0.45);@colorTextQuaternary: rgba(0, 0, 0, 0.25);@colorFill: rgba(0, 0, 0, 0.15);@colorFillSecondary: rgba(0, 0, 0, 0.06);@colorFillTertiary: rgba(0, 0, 0, 0.04);@colorFillQuaternary: rgba(0, 0, 0, 0.02);@colorBgLayout: #f5f5f5;@colorBgContainer: #ffffff;@colorBgElevated: #ffffff;@colorBgSpotlight: rgba(0, 0, 0, 0.85);@colorBorder: #d9d9d9;@colorBorderSecondary: #f0f0f0;@colorPrimaryBg: #ebf3ff;@colorPrimaryBgHover: #c2d9ff;@colorPrimaryBorder: #99bdff;@colorPrimaryBorderHover: #709dff;@colorPrimaryHover: #477bff;@colorPrimaryActive: #0e38cf;@colorPrimaryTextHover: #477bff;@colorPrimaryText: #1e53f5;@colorPrimaryTextActive: #0e38cf;@colorSuccessBg: #f6ffed;@colorSuccessBgHover: #d9f7be;@colorSuccessBorder: #b7eb8f;@colorSuccessBorderHover: #95de64;@colorSuccessHover: #95de64;@colorSuccessActive: #389e0d;@colorSuccessTextHover: #73d13d;@colorSuccessText: #52c41a;@colorSuccessTextActive: #389e0d;@colorErrorBg: #fff2f0;@colorErrorBgHover: #fff1f0;@colorErrorBorder: #ffccc7;@colorErrorBorderHover: #ffa39e;@colorErrorHover: #ff7875;@colorErrorActive: #d9363e;@colorErrorTextHover: #ff7875;@colorErrorText: #ff4d4f;@colorErrorTextActive: #d9363e;@colorWarningBg: #fffbe6;@colorWarningBgHover: #fff1b8;@colorWarningBorder: #ffe58f;@colorWarningBorderHover: #ffd666;@colorWarningHover: #ffd666;@colorWarningActive: #d48806;@colorWarningTextHover: #ffc53d;@colorWarningText: #faad14;@colorWarningTextActive: #d48806;@colorInfoBg: #e6f4ff;@colorInfoBgHover: #bae0ff;@colorInfoBorder: #91caff;@colorInfoBorderHover: #69b1ff;@colorInfoHover: #69b1ff;@colorInfoActive: #0958d9;@colorInfoTextHover: #4096ff;@colorInfoText: #1677ff;@colorInfoTextActive: #0958d9;@colorLinkHover: #69b1ff;@colorLinkActive: #0958d9;@colorBgMask: rgba(0, 0, 0, 0.45);@colorWhite: #fff;@fontSizeSM: 12;@fontSizeLG: 16;@fontSizeXL: 20;@fontSizeHeading1: 38;@fontSizeHeading2: 30;@fontSizeHeading3: 24;@fontSizeHeading4: 20;@fontSizeHeading5: 16;@lineHeight: 1.5714285714285714;@lineHeightLG: 1.5;@lineHeightSM: 1.6666666666666667;@lineHeightHeading1: 1.2105263157894737;@lineHeightHeading2: 1.2666666666666666;@lineHeightHeading3: 1.3333333333333333;@lineHeightHeading4: 1.4;@lineHeightHeading5: 1.5;@sizeXXL: 48;@sizeXL: 32;@sizeLG: 24;@sizeMD: 20;@sizeMS: 16;@size: 16;@sizeSM: 12;@sizeXS: 8;@sizeXXS: 4;@controlHeightSM: 24;@controlHeightXS: 16;@controlHeightLG: 40;@motionDurationFast: 0.1s;@motionDurationMid: 0.2s;@motionDurationSlow: 0.3s;@lineWidthBold: 2;@borderRadiusXS: 2;@borderRadiusSM: 4;@borderRadiusLG: 8;@borderRadiusOuter: 4;"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/deepdataspace/server/static/umi.83ddf177.js b/deepdataspace/server/static/umi.83ddf177.js new file mode 100644 index 0000000..e9380a3 --- /dev/null +++ b/deepdataspace/server/static/umi.83ddf177.js @@ -0,0 +1,518 @@ +!(function(){var mg=Object.defineProperty,pg=Object.defineProperties;var hg=Object.getOwnPropertyDescriptors;var Hf=Object.getOwnPropertySymbols;var yg=Object.prototype.hasOwnProperty,bg=Object.prototype.propertyIsEnumerable;var _f=(Au,Gl,Lt)=>Gl in Au?mg(Au,Gl,{enumerable:!0,configurable:!0,writable:!0,value:Lt}):Au[Gl]=Lt,Wa=(Au,Gl)=>{for(var Lt in Gl||(Gl={}))yg.call(Gl,Lt)&&_f(Au,Lt,Gl[Lt]);if(Hf)for(var Lt of Hf(Gl))bg.call(Gl,Lt)&&_f(Au,Lt,Gl[Lt]);return Au},Qs=(Au,Gl)=>pg(Au,hg(Gl));var xf=(Au,Gl,Lt)=>new Promise((If,b)=>{var y=t=>{try{a(Lt.next(t))}catch(o){b(o)}},e=t=>{try{a(Lt.throw(t))}catch(o){b(o)}},a=t=>t.done?If(t.value):Promise.resolve(t.value).then(y,e);a((Lt=Lt.apply(Au,Gl)).next())});(function(){var Au={26134:function(b,y,e){"use strict";e.r(y),e.d(y,{blue:function(){return se},cyan:function(){return ee},geekblue:function(){return Q},generate:function(){return U},gold:function(){return j},gray:function(){return H},green:function(){return _},grey:function(){return O},lime:function(){return ne},magenta:function(){return X},orange:function(){return G},presetDarkPalettes:function(){return Z},presetPalettes:function(){return N},presetPrimaryColors:function(){return T},purple:function(){return C},red:function(){return D},volcano:function(){return L},yellow:function(){return W}});var a=e(20117),t=e(76981),o=2,s=.16,n=.05,d=.05,l=.15,c=5,m=4,g=[{index:7,opacity:.15},{index:6,opacity:.25},{index:5,opacity:.3},{index:5,opacity:.45},{index:5,opacity:.65},{index:5,opacity:.85},{index:4,opacity:.9},{index:3,opacity:.95},{index:2,opacity:.97},{index:1,opacity:.98}];function M(k){var A=k.r,Y=k.g,de=k.b,me=(0,a.py)(A,Y,de);return{h:me.h*360,s:me.s,v:me.v}}function h(k){var A=k.r,Y=k.g,de=k.b;return"#".concat((0,a.vq)(A,Y,de,!1))}function S(k,A,Y){var de=Y/100,me={r:(A.r-k.r)*de+k.r,g:(A.g-k.g)*de+k.g,b:(A.b-k.b)*de+k.b};return me}function w(k,A,Y){var de;return Math.round(k.h)>=60&&Math.round(k.h)<=240?de=Y?Math.round(k.h)-o*A:Math.round(k.h)+o*A:de=Y?Math.round(k.h)+o*A:Math.round(k.h)-o*A,de<0?de+=360:de>=360&&(de-=360),de}function x(k,A,Y){if(k.h===0&&k.s===0)return k.s;var de;return Y?de=k.s-s*A:A===m?de=k.s+s:de=k.s+n*A,de>1&&(de=1),Y&&A===c&&de>.1&&(de=.1),de<.06&&(de=.06),Number(de.toFixed(2))}function z(k,A,Y){var de;return Y?de=k.v+d*A:de=k.v-l*A,de>1&&(de=1),Number(de.toFixed(2))}function U(k){for(var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Y=[],de=(0,t.uA)(k),me=c;me>0;me-=1){var ve=M(de),be=h((0,t.uA)({h:w(ve,me,!0),s:x(ve,me,!0),v:z(ve,me,!0)}));Y.push(be)}Y.push(h(de));for(var Pe=1;Pe<=m;Pe+=1){var Je=M(de),qe=h((0,t.uA)({h:w(Je,Pe),s:x(Je,Pe),v:z(Je,Pe)}));Y.push(qe)}return A.theme==="dark"?g.map(function(Xe){var mt=Xe.index,Ct=Xe.opacity,vt=h(S((0,t.uA)(A.backgroundColor||"#141414"),(0,t.uA)(Y[mt]),Ct*100));return vt}):Y}var T={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1677FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},N={},Z={};Object.keys(T).forEach(function(k){N[k]=U(T[k]),N[k].primary=N[k][5],Z[k]=U(T[k],{theme:"dark",backgroundColor:"#141414"}),Z[k].primary=Z[k][5]});var D=N.red,L=N.volcano,j=N.gold,G=N.orange,W=N.yellow,ne=N.lime,_=N.green,ee=N.cyan,se=N.blue,Q=N.geekblue,C=N.purple,X=N.magenta,O=N.grey,H=N.grey},57793:function(b,y,e){"use strict";e.d(y,{E4:function(){return yr},jG:function(){return H},t2:function(){return Ne},fp:function(){return Ae},xy:function(){return dn}});var a=e(29140),t=e(57370);function o(Gt){for(var yn=0,jn,Gn=0,br=Gt.length;br>=4;++Gn,br-=4)jn=Gt.charCodeAt(Gn)&255|(Gt.charCodeAt(++Gn)&255)<<8|(Gt.charCodeAt(++Gn)&255)<<16|(Gt.charCodeAt(++Gn)&255)<<24,jn=(jn&65535)*1540483477+((jn>>>16)*59797<<16),jn^=jn>>>24,yn=(jn&65535)*1540483477+((jn>>>16)*59797<<16)^(yn&65535)*1540483477+((yn>>>16)*59797<<16);switch(br){case 3:yn^=(Gt.charCodeAt(Gn+2)&255)<<16;case 2:yn^=(Gt.charCodeAt(Gn+1)&255)<<8;case 1:yn^=Gt.charCodeAt(Gn)&255,yn=(yn&65535)*1540483477+((yn>>>16)*59797<<16)}return yn^=yn>>>13,yn=(yn&65535)*1540483477+((yn>>>16)*59797<<16),((yn^yn>>>15)>>>0).toString(36)}var s=o,n=e(58757),d=e.t(n,2),l=e(27903),c=e(7637),m=e(60412),g=e(14346),M=e(37734),h="%",S=function(){function Gt(yn){(0,m.Z)(this,Gt),(0,M.Z)(this,"instanceId",void 0),(0,M.Z)(this,"cache",new Map),this.instanceId=yn}return(0,g.Z)(Gt,[{key:"get",value:function(jn){return this.cache.get(jn.join(h))||null}},{key:"update",value:function(jn,Gn){var br=jn.join(h),Hr=this.cache.get(br),ta=Gn(Hr);ta===null?this.cache.delete(br):this.cache.set(br,ta)}}]),Gt}(),w=S,x=null,z="data-token-hash",U="data-css-hash",T="data-cache-path",N="__cssinjs_instance__";function Z(){var Gt=Math.random().toString(12).slice(2);if(typeof document!="undefined"&&document.head&&document.body){var yn=document.body.querySelectorAll("style[".concat(U,"]"))||[],jn=document.head.firstChild;Array.from(yn).forEach(function(br){br[N]=br[N]||Gt,br[N]===Gt&&document.head.insertBefore(br,jn)});var Gn={};Array.from(document.querySelectorAll("style[".concat(U,"]"))).forEach(function(br){var Hr=br.getAttribute(U);if(Gn[Hr]){if(br[N]===Gt){var ta;(ta=br.parentNode)===null||ta===void 0||ta.removeChild(br)}}else Gn[Hr]=!0})}return new w(Gt)}var D=n.createContext({hashPriority:"low",cache:Z(),defaultCache:!0}),L=function(yn){var jn=yn.children,Gn=_objectWithoutProperties(yn,x),br=React.useContext(D),Hr=useMemo(function(){var ta=_objectSpread({},br);Object.keys(Gn).forEach(function(zr){var va=Gn[zr];Gn[zr]!==void 0&&(ta[zr]=va)});var sr=Gn.cache;return ta.cache=ta.cache||Z(),ta.defaultCache=!sr&&br.defaultCache,ta},[br,Gn],function(ta,sr){return!isEqual(ta[0],sr[0],!0)||!isEqual(ta[1],sr[1],!0)});return React.createElement(D.Provider,{value:Hr},jn)},j=D,G=e(38790),W=e(19075),ne=e(39678),_=e(28314);function ee(Gt,yn){if(Gt.length!==yn.length)return!1;for(var jn=0;jn1&&arguments[1]!==void 0?arguments[1]:!1,ta={map:this.cache};return jn.forEach(function(sr){if(!ta)ta=void 0;else{var zr,va;ta=(zr=ta)===null||zr===void 0||(va=zr.map)===null||va===void 0?void 0:va.get(sr)}}),(Gn=ta)!==null&&Gn!==void 0&&Gn.value&&Hr&&(ta.value[1]=this.cacheCallTimes++),(br=ta)===null||br===void 0?void 0:br.value}},{key:"get",value:function(jn){var Gn;return(Gn=this.internalGet(jn,!0))===null||Gn===void 0?void 0:Gn[0]}},{key:"has",value:function(jn){return!!this.internalGet(jn)}},{key:"set",value:function(jn,Gn){var br=this;if(!this.has(jn)){if(this.size()+1>Gt.MAX_CACHE_SIZE+Gt.MAX_CACHE_OFFSET){var Hr=this.keys.reduce(function(va,Sr){var xa=(0,_.Z)(va,2),Xa=xa[1];return br.internalGet(Sr)[1]0,"[Ant Design CSS-in-JS] Theme should have at least one derivative function."),C+=1}return(0,g.Z)(Gt,[{key:"getDerivativeToken",value:function(jn){return this.derivatives.reduce(function(Gn,br){return br(jn,Gn)},void 0)}}]),Gt}(),O=new se;function H(Gt){var yn=Array.isArray(Gt)?Gt:[Gt];return O.has(yn)||O.set(yn,new X(yn)),O.get(yn)}var k=new WeakMap;function A(Gt){var yn=k.get(Gt)||"";return yn||(Object.keys(Gt).forEach(function(jn){var Gn=Gt[jn];yn+=jn,Gn instanceof X?yn+=Gn.id:Gn&&(0,G.Z)(Gn)==="object"?yn+=A(Gn):yn+=Gn}),k.set(Gt,yn)),yn}function Y(Gt,yn){return s("".concat(yn,"_").concat(A(Gt)))}var de="random-".concat(Date.now(),"-").concat(Math.random()).replace(/\./g,""),me="_bAmBoO_";function ve(Gt,yn,jn){if((0,W.Z)()){var Gn,br;(0,ne.hq)(Gt,de);var Hr=document.createElement("div");Hr.style.position="fixed",Hr.style.left="0",Hr.style.top="0",yn==null||yn(Hr),document.body.appendChild(Hr);var ta=jn?jn(Hr):(Gn=getComputedStyle(Hr).content)===null||Gn===void 0?void 0:Gn.includes(me);return(br=Hr.parentNode)===null||br===void 0||br.removeChild(Hr),(0,ne.jL)(de),ta}return!1}var be=void 0;function Pe(){return be===void 0&&(be=ve("@layer ".concat(de," { .").concat(de,' { content: "').concat(me,'"!important; } }'),function(Gt){Gt.className=de})),be}var Je=void 0;function qe(){return Je===void 0&&(Je=ve(":where(.".concat(de,') { content: "').concat(me,'"!important; }'),function(Gt){Gt.className=de})),Je}var Xe=void 0;function mt(){return Xe===void 0&&(Xe=ve(".".concat(de," { inset-block: 93px !important; }"),function(Gt){Gt.className=de},function(Gt){return getComputedStyle(Gt).bottom==="93px"})),Xe}var Ct=e(81334),vt=(0,t.Z)({},d),Ht=vt.useInsertionEffect,ke=function(yn,jn,Gn){n.useMemo(yn,Gn),(0,Ct.Z)(function(){return jn(!0)},Gn)},Ve=Ht?function(Gt,yn,jn){return Ht(function(){return Gt(),yn()},jn)}:ke,ot=Ve,Ke=(0,t.Z)({},d),he=Ke.useInsertionEffect,J=function(yn){var jn=[],Gn=!1;function br(Hr){Gn||jn.push(Hr)}return n.useEffect(function(){return Gn=!1,function(){Gn=!0,jn.length&&jn.forEach(function(Hr){return Hr()})}},yn),br},V=function(){return function(yn){yn()}},R=typeof he!="undefined"?J:V,P=R;function B(){return!1}var ge=!1;function ie(){return ge}var pe=B;if(!1)var Oe,xe;function Se(Gt,yn,jn,Gn,br){var Hr=n.useContext(j),ta=Hr.cache,sr=[Gt].concat((0,a.Z)(yn)),zr=sr.join("_"),va=P([zr]),Sr=pe(),xa=function(Va){ta.update(sr,function(xo){var io=xo||[],Ca=(0,_.Z)(io,2),_a=Ca[0],Io=_a===void 0?0:_a,Yo=Ca[1],ni=Yo,co=ni||jn(),Mi=[Io,co];return Va?Va(Mi):Mi})};n.useMemo(function(){xa()},[zr]);var Xa=ta.get(sr),bo=Xa[1];return ot(function(){br==null||br(bo)},function(Oo){return xa(function(Va){var xo=(0,_.Z)(Va,2),io=xo[0],Ca=xo[1];return Oo&&io===0&&(br==null||br(bo)),[io+1,Ca]}),function(){ta.update(sr,function(Va){var xo=Va||[],io=(0,_.Z)(xo,2),Ca=io[0],_a=Ca===void 0?0:Ca,Io=io[1],Yo=_a-1;return Yo===0?(va(function(){return Gn==null?void 0:Gn(Io,!1)}),null):[_a-1,Io]})}},[zr]),bo}var $e={},re="css",oe=new Map;function q(Gt){oe.set(Gt,(oe.get(Gt)||0)+1)}function ue(Gt,yn){if(typeof document!="undefined"){var jn=document.querySelectorAll("style[".concat(z,'="').concat(Gt,'"]'));jn.forEach(function(Gn){if(Gn[N]===yn){var br;(br=Gn.parentNode)===null||br===void 0||br.removeChild(Gn)}})}}var Ee=0;function le(Gt,yn){oe.set(Gt,(oe.get(Gt)||0)-1);var jn=Array.from(oe.keys()),Gn=jn.filter(function(br){var Hr=oe.get(br)||0;return Hr<=0});jn.length-Gn.length>Ee&&Gn.forEach(function(br){ue(br,yn),oe.delete(br)})}var Ne=function(yn,jn,Gn,br){var Hr=Gn.getDerivativeToken(yn),ta=(0,t.Z)((0,t.Z)({},Hr),jn);return br&&(ta=br(ta)),ta};function Ae(Gt,yn){var jn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},Gn=(0,n.useContext)(j),br=Gn.cache.instanceId,Hr=jn.salt,ta=Hr===void 0?"":Hr,sr=jn.override,zr=sr===void 0?$e:sr,va=jn.formatToken,Sr=jn.getComputedToken,xa=n.useMemo(function(){return Object.assign.apply(Object,[{}].concat((0,a.Z)(yn)))},[yn]),Xa=n.useMemo(function(){return A(xa)},[xa]),bo=n.useMemo(function(){return A(zr)},[zr]),Oo=Se("token",[ta,Gt.id,Xa,bo],function(){var Va=Sr?Sr(xa,zr,Gt):Ne(xa,zr,Gt,va),xo=Y(Va,ta);Va._tokenKey=xo,q(xo);var io="".concat(re,"-").concat(s(xo));return Va._hashId=io,[Va,io]},function(Va){le(Va[0]._tokenKey,br)});return Oo}var we=e(60698),Re={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},st=Re,nt="-ms-",_e="-moz-",We="-webkit-",Be="comm",it="rule",Ge="decl",Ot="@page",$t="@media",wt="@import",Pt="@charset",dt="@viewport",je="@supports",tt="@document",lt="@namespace",bt="@keyframes",It="@font-face",Kt="@counter-style",zt="@font-feature-values",Mt="@layer",Le=Math.abs,Ce=String.fromCharCode,Et=Object.assign;function Tt(Gt,yn){return qt(Gt,0)^45?(((yn<<2^qt(Gt,0))<<2^qt(Gt,1))<<2^qt(Gt,2))<<2^qt(Gt,3):0}function Ye(Gt){return Gt.trim()}function et(Gt,yn){return(Gt=yn.exec(Gt))?Gt[0]:Gt}function _t(Gt,yn,jn){return Gt.replace(yn,jn)}function Ut(Gt,yn){return Gt.indexOf(yn)}function qt(Gt,yn){return Gt.charCodeAt(yn)|0}function un(Gt,yn,jn){return Gt.slice(yn,jn)}function Mn(Gt){return Gt.length}function vn(Gt){return Gt.length}function Xn(Gt,yn){return yn.push(Gt),Gt}function Vn(Gt,yn){return Gt.map(yn).join("")}function or(Gt,yn){return Gt.filter(function(jn){return!et(jn,yn)})}function er(Gt,yn){for(var jn="",Gn=0;Gn0?qt(pt,--En):0,nn--,on===10&&(nn=1,en--),on}function mn(){return on=En2||ct(on)>3?"":" "}function xn(Gt){for(;mn();)switch(ct(on)){case 0:append(Rn(En-1),Gt);break;case 2:append(kt(on),Gt);break;default:append(from(on),Gt)}return Gt}function Nn(Gt,yn){for(;--yn&&mn()&&!(on<48||on>102||on>57&&on<65||on>70&&on<97););return ut(Gt,tr()+(yn<6&&Zn()==32&&mn()==32))}function gr(Gt){for(;mn();)switch(on){case Gt:return En;case 34:case 39:Gt!==34&&Gt!==39&&gr(on);break;case 40:Gt===41&&gr(Gt);break;case 92:mn();break}return En}function nr(Gt,yn){for(;mn()&&Gt+on!==57;)if(Gt+on===84&&Zn()===47)break;return"/*"+ut(yn,En-1)+"*"+Ce(Gt===47?Gt:mn())}function Rn(Gt){for(;!ct(Zn());)mn();return ut(Gt,En)}function kr(Gt){return xt(fr("",null,null,null,[""],Gt=Dt(Gt),0,[0],Gt))}function fr(Gt,yn,jn,Gn,br,Hr,ta,sr,zr){for(var va=0,Sr=0,xa=ta,Xa=0,bo=0,Oo=0,Va=1,xo=1,io=1,Ca=0,_a="",Io=br,Yo=Hr,ni=Gn,co=_a;xo;)switch(Oo=Ca,Ca=mn()){case 40:if(Oo!=108&&qt(co,xa-1)==58){Ut(co+=_t(kt(Ca),"&","&\f"),"&\f")!=-1&&(io=-1);break}case 34:case 39:case 91:co+=kt(Ca);break;case 9:case 10:case 13:case 32:co+=tn(Oo);break;case 92:co+=Nn(tr()-1,7);continue;case 47:switch(Zn()){case 42:case 47:Xn(Pr(nr(mn(),tr()),yn,jn,zr),zr);break;default:co+="/"}break;case 123*Va:sr[va++]=Mn(co)*io;case 125*Va:case 59:case 0:switch(Ca){case 0:case 125:xo=0;case 59+Sr:io==-1&&(co=_t(co,/\f/g,"")),bo>0&&Mn(co)-xa&&Xn(bo>32?Bn(co+";",Gn,jn,xa-1,zr):Bn(_t(co," ","")+";",Gn,jn,xa-2,zr),zr);break;case 59:co+=";";default:if(Xn(ni=ua(co,yn,jn,va,Sr,br,sr,_a,Io=[],Yo=[],xa,Hr),Hr),Ca===123)if(Sr===0)fr(co,yn,ni,ni,Io,Hr,xa,sr,Yo);else switch(Xa===99&&qt(co,3)===110?100:Xa){case 100:case 108:case 109:case 115:fr(Gt,ni,ni,Gn&&Xn(ua(Gt,ni,ni,0,0,br,sr,_a,br,Io=[],xa,Yo),Yo),br,Yo,xa,sr,Gn?Io:Yo);break;default:fr(co,ni,ni,ni,[""],Yo,0,sr,Yo)}}va=Sr=bo=0,Va=io=1,_a=co="",xa=ta;break;case 58:xa=1+Mn(co),bo=Oo;default:if(Va<1){if(Ca==123)--Va;else if(Ca==125&&Va++==0&&pn()==125)continue}switch(co+=Ce(Ca),Ca*Va){case 38:io=Sr>0?1:(co+="\f",-1);break;case 44:sr[va++]=(Mn(co)-1)*io,io=1;break;case 64:Zn()===45&&(co+=kt(mn())),Xa=Zn(),Sr=xa=Mn(_a=co+=Rn(tr())),Ca++;break;case 45:Oo===45&&Mn(co)==2&&(Va=0)}}return Hr}function ua(Gt,yn,jn,Gn,br,Hr,ta,sr,zr,va,Sr,xa){for(var Xa=br-1,bo=br===0?Hr:[""],Oo=vn(bo),Va=0,xo=0,io=0;Va0?bo[Ca]+" "+_a:_t(_a,/&\f/g,bo[Ca])))&&(zr[io++]=Io);return gt(Gt,yn,jn,br===0?it:sr,zr,va,Sr,xa)}function Pr(Gt,yn,jn,Gn){return gt(Gt,yn,jn,Be,Ce(Jt()),un(Gt,2,-2),0,Gn)}function Bn(Gt,yn,jn,Gn,br){return gt(Gt,yn,jn,Ge,un(Gt,0,Gn),un(Gt,Gn+1,-1),Gn,br)}function Cn(Gt,yn){var jn=yn.path,Gn=yn.parentSelectors;devWarning(!1,"[Ant Design CSS-in-JS] ".concat(jn?"Error in ".concat(jn,": "):"").concat(Gt).concat(Gn.length?" Selector: ".concat(Gn.join(" | ")):""))}var wn=function(yn,jn,Gn){if(yn==="content"){var br=/(attr|counters?|url|(((repeating-)?(linear|radial))|conic)-gradient)\(|(no-)?(open|close)-quote/,Hr=["normal","none","initial","inherit","unset"];(typeof jn!="string"||Hr.indexOf(jn)===-1&&!br.test(jn)&&(jn.charAt(0)!==jn.charAt(jn.length-1)||jn.charAt(0)!=='"'&&jn.charAt(0)!=="'"))&&lintWarning("You seem to be using a value for 'content' without quotes, try replacing it with `content: '\"".concat(jn,"\"'`."),Gn)}},ar=null,mr=function(yn,jn,Gn){yn==="animation"&&Gn.hashId&&jn!=="none"&&lintWarning("You seem to be using hashed animation '".concat(jn,"', in which case 'animationName' with Keyframe as value is recommended."),Gn)},Qr=null;function qr(Gt){var yn,jn=((yn=Gt.match(/:not\(([^)]*)\)/))===null||yn===void 0?void 0:yn[1])||"",Gn=jn.split(/(\[[^[]*])|(?=[.#])/).filter(function(br){return br});return Gn.length>1}function ya(Gt){return Gt.parentSelectors.reduce(function(yn,jn){return yn?jn.includes("&")?jn.replace(/&/g,yn):"".concat(yn," ").concat(jn):jn},"")}var dr=function(yn,jn,Gn){var br=ya(Gn),Hr=br.match(/:not\([^)]*\)/g)||[];Hr.length>0&&Hr.some(qr)&&lintWarning("Concat ':not' selector not support in legacy browsers.",Gn)},Br=null,Ea=function(yn,jn,Gn){switch(yn){case"marginLeft":case"marginRight":case"paddingLeft":case"paddingRight":case"left":case"right":case"borderLeft":case"borderLeftWidth":case"borderLeftStyle":case"borderLeftColor":case"borderRight":case"borderRightWidth":case"borderRightStyle":case"borderRightColor":case"borderTopLeftRadius":case"borderTopRightRadius":case"borderBottomLeftRadius":case"borderBottomRightRadius":lintWarning("You seem to be using non-logical property '".concat(yn,"' which is not compatible with RTL mode. Please use logical properties and values instead. For more information: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Logical_Properties."),Gn);return;case"margin":case"padding":case"borderWidth":case"borderStyle":if(typeof jn=="string"){var br=jn.split(" ").map(function(sr){return sr.trim()});br.length===4&&br[1]!==br[3]&&lintWarning("You seem to be using '".concat(yn,"' property with different left ").concat(yn," and right ").concat(yn,", which is not compatible with RTL mode. Please use logical properties and values instead. For more information: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Logical_Properties."),Gn)}return;case"clear":case"textAlign":(jn==="left"||jn==="right")&&lintWarning("You seem to be using non-logical value '".concat(jn,"' of ").concat(yn,", which is not compatible with RTL mode. Please use logical properties and values instead. For more information: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Logical_Properties."),Gn);return;case"borderRadius":if(typeof jn=="string"){var Hr=jn.split("/").map(function(sr){return sr.trim()}),ta=Hr.reduce(function(sr,zr){if(sr)return sr;var va=zr.split(" ").map(function(Sr){return Sr.trim()});return va.length>=2&&va[0]!==va[1]||va.length===3&&va[1]!==va[2]||va.length===4&&va[2]!==va[3]?!0:sr},!1);ta&&lintWarning("You seem to be using non-logical value '".concat(jn,"' of ").concat(yn,", which is not compatible with RTL mode. Please use logical properties and values instead. For more information: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Logical_Properties."),Gn)}return;default:}},ca=null,Kn=function(yn,jn,Gn){Gn.parentSelectors.some(function(br){var Hr=br.split(",");return Hr.some(function(ta){return ta.split("&").length>2})})&&lintWarning("Should not use more than one `&` in a selector.",Gn)},zn=null,vr="data-ant-cssinjs-cache-path",ra="_FILE_STYLE__";function xr(Gt){return Object.keys(Gt).map(function(yn){var jn=Gt[yn];return"".concat(yn,":").concat(jn)}).join(";")}var jt,an=!0;function hn(Gt){var yn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;jt=Gt,an=yn}function ao(){if(!jt&&(jt={},(0,W.Z)())){var Gt=document.createElement("div");Gt.className=vr,Gt.style.position="fixed",Gt.style.visibility="hidden",Gt.style.top="-9999px",document.body.appendChild(Gt);var yn=getComputedStyle(Gt).content||"";yn=yn.replace(/^"/,"").replace(/"$/,""),yn.split(";").forEach(function(br){var Hr=br.split(":"),ta=(0,_.Z)(Hr,2),sr=ta[0],zr=ta[1];jt[sr]=zr});var jn=document.querySelector("style[".concat(vr,"]"));if(jn){var Gn;an=!1,(Gn=jn.parentNode)===null||Gn===void 0||Gn.removeChild(jn)}document.body.removeChild(Gt)}}function Mo(Gt){return ao(),!!jt[Gt]}function Ua(Gt){var yn=jt[Gt],jn=null;if(yn&&(0,W.Z)())if(an)jn=ra;else{var Gn=document.querySelector("style[".concat(U,'="').concat(jt[Gt],'"]'));Gn?jn=Gn.innerHTML:delete jt[Gt]}return[jn,yn]}var Ha=(0,W.Z)(),eo="_skip_check_",jo="_multi_value_";function Wo(Gt){var yn=er(kr(Gt),Wt);return yn.replace(/\{%%%\:[^;];}/g,";")}function Eo(Gt){return(0,G.Z)(Gt)==="object"&&Gt&&(eo in Gt||jo in Gt)}function ft(Gt,yn,jn){if(!yn)return Gt;var Gn=".".concat(yn),br=jn==="low"?":where(".concat(Gn,")"):Gn,Hr=Gt.split(",").map(function(ta){var sr,zr=ta.trim().split(/\s+/),va=zr[0]||"",Sr=((sr=va.match(/^\w+/))===null||sr===void 0?void 0:sr[0])||"";return va="".concat(Sr).concat(br).concat(va.slice(Sr.length)),[va].concat((0,a.Z)(zr.slice(1))).join(" ")});return Hr.join(",")}var Nt=function Gt(yn){var jn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Gn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{root:!0,parentSelectors:[]},br=Gn.root,Hr=Gn.injectHash,ta=Gn.parentSelectors,sr=jn.hashId,zr=jn.layer,va=jn.path,Sr=jn.hashPriority,xa=jn.transformers,Xa=xa===void 0?[]:xa,bo=jn.linters,Oo=bo===void 0?[]:bo,Va="",xo={};function io(ni){var co=ni.getName(sr);if(!xo[co]){var Mi=Gt(ni.style,jn,{root:!1,parentSelectors:ta}),ai=(0,_.Z)(Mi,1),Po=ai[0];xo[co]="@keyframes ".concat(ni.getName(sr)).concat(Po)}}function Ca(ni){var co=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return ni.forEach(function(Mi){Array.isArray(Mi)?Ca(Mi,co):Mi&&co.push(Mi)}),co}var _a=Ca(Array.isArray(yn)?yn:[yn]);if(_a.forEach(function(ni){var co=typeof ni=="string"&&!br?{}:ni;if(typeof co=="string")Va+="".concat(co,` +`);else if(co._keyframe)io(co);else{var Mi=Xa.reduce(function(ai,Po){var li;return(Po==null||(li=Po.visit)===null||li===void 0?void 0:li.call(Po,ai))||ai},co);Object.keys(Mi).forEach(function(ai){var Po=Mi[ai];if((0,G.Z)(Po)==="object"&&Po&&(ai!=="animationName"||!Po._keyframe)&&!Eo(Po)){var li=!1,Pi=ai.trim(),hi=!1;(br||Hr)&&sr?Pi.startsWith("@")?li=!0:Pi=ft(ai,sr,Sr):br&&!sr&&(Pi==="&"||Pi==="")&&(Pi="",hi=!0);var yi=Gt(Po,jn,{root:hi,injectHash:li,parentSelectors:[].concat((0,a.Z)(ta),[Pi])}),Zi=(0,_.Z)(yi,2),ji=Zi[0],oo=Zi[1];xo=(0,t.Z)((0,t.Z)({},xo),oo),Va+="".concat(Pi).concat(ji)}else{let oi=function(No,zo){var xi=No.replace(/[A-Z]/g,function(ki){return"-".concat(ki.toLowerCase())}),Ui=zo;!st[No]&&typeof Ui=="number"&&Ui!==0&&(Ui="".concat(Ui,"px")),No==="animationName"&&zo!==null&&zo!==void 0&&zo._keyframe&&(io(zo),Ui=zo.getName(sr)),Va+="".concat(xi,":").concat(Ui,";")};var Ja,ri=(Ja=Po==null?void 0:Po.value)!==null&&Ja!==void 0?Ja:Po;(0,G.Z)(Po)==="object"&&Po!==null&&Po!==void 0&&Po[jo]&&Array.isArray(ri)?ri.forEach(function(No){oi(ai,No)}):oi(ai,ri)}})}}),!br)Va="{".concat(Va,"}");else if(zr&&Pe()){var Io=zr.split(","),Yo=Io[Io.length-1].trim();Va="@layer ".concat(Yo," {").concat(Va,"}"),Io.length>1&&(Va="@layer ".concat(zr,"{%%%:%}").concat(Va))}return[Va,xo]};function Ie(Gt,yn){return s("".concat(Gt.join("%")).concat(yn))}function cn(){return null}function dn(Gt,yn){var jn=Gt.token,Gn=Gt.path,br=Gt.hashId,Hr=Gt.layer,ta=Gt.nonce,sr=Gt.clientOnly,zr=Gt.order,va=zr===void 0?0:zr,Sr=n.useContext(j),xa=Sr.autoClear,Xa=Sr.mock,bo=Sr.defaultCache,Oo=Sr.hashPriority,Va=Sr.container,xo=Sr.ssrInline,io=Sr.transformers,Ca=Sr.linters,_a=Sr.cache,Io=jn._tokenKey,Yo=[Io].concat((0,a.Z)(Gn)),ni=Ha,co=Se("style",Yo,function(){var Pi=Yo.join("|");if(Mo(Pi)){var hi=Ua(Pi),yi=(0,_.Z)(hi,2),Zi=yi[0],ji=yi[1];if(Zi)return[Zi,Io,ji,{},sr,va]}var oo=yn(),Ja=Nt(oo,{hashId:br,hashPriority:Oo,layer:Hr,path:Gn.join("-"),transformers:io,linters:Ca}),ri=(0,_.Z)(Ja,2),oi=ri[0],No=ri[1],zo=Wo(oi),xi=Ie(Yo,zo);return[zo,Io,xi,No,sr,va]},function(Pi,hi){var yi=(0,_.Z)(Pi,3),Zi=yi[2];(hi||xa)&&Ha&&(0,ne.jL)(Zi,{mark:U})},function(Pi){var hi=(0,_.Z)(Pi,4),yi=hi[0],Zi=hi[1],ji=hi[2],oo=hi[3];if(ni&&yi!==ra){var Ja={mark:U,prepend:"queue",attachTo:Va,priority:va},ri=typeof ta=="function"?ta():ta;ri&&(Ja.csp={nonce:ri});var oi=(0,ne.hq)(yi,ji,Ja);oi[N]=_a.instanceId,oi.setAttribute(z,Io),Object.keys(oo).forEach(function(No){(0,ne.hq)(Wo(oo[No]),"_effect-".concat(No),Ja)})}}),Mi=(0,_.Z)(co,3),ai=Mi[0],Po=Mi[1],li=Mi[2];return function(Pi){var hi;if(!xo||ni||!bo)hi=n.createElement(cn,null);else{var yi;hi=n.createElement("style",(0,we.Z)({},(yi={},(0,M.Z)(yi,z,Po),(0,M.Z)(yi,U,li),yi),{dangerouslySetInnerHTML:{__html:ai}}))}return n.createElement(n.Fragment,null,hi,Pi)}}function _n(Gt){var yn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,jn="style%",Gn=Array.from(Gt.cache.keys()).filter(function(va){return va.startsWith(jn)}),br={},Hr={},ta="";function sr(va,Sr,xa){var Xa,bo=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},Oo=_objectSpread(_objectSpread({},bo),{},(Xa={},_defineProperty(Xa,ATTR_TOKEN,Sr),_defineProperty(Xa,ATTR_MARK,xa),Xa)),Va=Object.keys(Oo).map(function(xo){var io=Oo[xo];return io?"".concat(xo,'="').concat(io,'"'):null}).filter(function(xo){return xo}).join(" ");return yn?va:"")}var zr=Gn.map(function(va){var Sr=va.slice(jn.length).replace(/%/g,"|"),xa=_slicedToArray(Gt.cache.get(va)[1],6),Xa=xa[0],bo=xa[1],Oo=xa[2],Va=xa[3],xo=xa[4],io=xa[5];if(xo)return null;var Ca={"data-rc-order":"prependQueue","data-rc-priority":"".concat(io)},_a=sr(Xa,bo,Oo,Ca);Hr[Sr]=Oo,Va&&Object.keys(Va).forEach(function(Yo){br[Yo]||(br[Yo]=!0,_a+=sr(Wo(Va[Yo]),bo,"_effect-".concat(Yo),Ca))});var Io=[io,_a];return Io}).filter(function(va){return va});return zr.sort(function(va,Sr){return va[0]-Sr[0]}).forEach(function(va){var Sr=_slicedToArray(va,2),xa=Sr[1];ta+=xa}),ta+=sr(".".concat(ATTR_CACHE_MAP,'{content:"').concat(serializeCacheMap(Hr),'";}'),void 0,void 0,_defineProperty({},ATTR_CACHE_MAP,ATTR_CACHE_MAP)),ta}var Tn=function(){function Gt(yn,jn){(0,m.Z)(this,Gt),(0,M.Z)(this,"name",void 0),(0,M.Z)(this,"style",void 0),(0,M.Z)(this,"_keyframe",!0),this.name=yn,this.style=jn}return(0,g.Z)(Gt,[{key:"getName",value:function(){var jn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return jn?"".concat(jn,"-").concat(this.name):this.name}}]),Gt}(),yr=Tn;function Wr(Gt){if(typeof Gt=="number")return[[Gt],!1];var yn=String(Gt).trim(),jn=yn.match(/(.*)(!important)/),Gn=(jn?jn[1]:yn).trim().split(/\s+/),br="",Hr=0;return[Gn.reduce(function(ta,sr){return sr.includes("(")?(br+=sr,Hr+=sr.split("(").length-1):sr.includes(")")?(br+=sr,Hr-=sr.split(")").length-1,Hr===0&&(ta.push(br),br="")):Hr>0?br+=sr:ta.push(sr),ta},[]),!!jn]}function Da(Gt){return Gt.notSplit=!0,Gt}var la={inset:["top","right","bottom","left"],insetBlock:["top","bottom"],insetBlockStart:["top"],insetBlockEnd:["bottom"],insetInline:["left","right"],insetInlineStart:["left"],insetInlineEnd:["right"],marginBlock:["marginTop","marginBottom"],marginBlockStart:["marginTop"],marginBlockEnd:["marginBottom"],marginInline:["marginLeft","marginRight"],marginInlineStart:["marginLeft"],marginInlineEnd:["marginRight"],paddingBlock:["paddingTop","paddingBottom"],paddingBlockStart:["paddingTop"],paddingBlockEnd:["paddingBottom"],paddingInline:["paddingLeft","paddingRight"],paddingInlineStart:["paddingLeft"],paddingInlineEnd:["paddingRight"],borderBlock:Da(["borderTop","borderBottom"]),borderBlockStart:Da(["borderTop"]),borderBlockEnd:Da(["borderBottom"]),borderInline:Da(["borderLeft","borderRight"]),borderInlineStart:Da(["borderLeft"]),borderInlineEnd:Da(["borderRight"]),borderBlockWidth:["borderTopWidth","borderBottomWidth"],borderBlockStartWidth:["borderTopWidth"],borderBlockEndWidth:["borderBottomWidth"],borderInlineWidth:["borderLeftWidth","borderRightWidth"],borderInlineStartWidth:["borderLeftWidth"],borderInlineEndWidth:["borderRightWidth"],borderBlockStyle:["borderTopStyle","borderBottomStyle"],borderBlockStartStyle:["borderTopStyle"],borderBlockEndStyle:["borderBottomStyle"],borderInlineStyle:["borderLeftStyle","borderRightStyle"],borderInlineStartStyle:["borderLeftStyle"],borderInlineEndStyle:["borderRightStyle"],borderBlockColor:["borderTopColor","borderBottomColor"],borderBlockStartColor:["borderTopColor"],borderBlockEndColor:["borderBottomColor"],borderInlineColor:["borderLeftColor","borderRightColor"],borderInlineStartColor:["borderLeftColor"],borderInlineEndColor:["borderRightColor"],borderStartStartRadius:["borderTopLeftRadius"],borderStartEndRadius:["borderTopRightRadius"],borderEndStartRadius:["borderBottomLeftRadius"],borderEndEndRadius:["borderBottomRightRadius"]};function ea(Gt,yn){var jn=Gt;return yn&&(jn="".concat(jn," !important")),{_skip_check_:!0,value:jn}}var oa={visit:function(yn){var jn={};return Object.keys(yn).forEach(function(Gn){var br=yn[Gn],Hr=la[Gn];if(Hr&&(typeof br=="number"||typeof br=="string")){var ta=Wr(br),sr=(0,_.Z)(ta,2),zr=sr[0],va=sr[1];Hr.length&&Hr.notSplit?Hr.forEach(function(Sr){jn[Sr]=ea(br,va)}):Hr.length===1?jn[Hr[0]]=ea(br,va):Hr.length===2?Hr.forEach(function(Sr,xa){var Xa;jn[Sr]=ea((Xa=zr[xa])!==null&&Xa!==void 0?Xa:zr[0],va)}):Hr.length===4?Hr.forEach(function(Sr,xa){var Xa,bo;jn[Sr]=ea((Xa=(bo=zr[xa])!==null&&bo!==void 0?bo:zr[xa-2])!==null&&Xa!==void 0?Xa:zr[0],va)}):jn[Gn]=br}else jn[Gn]=br}),jn}},Ir=null,$r=/url\([^)]+\)|var\([^)]+\)|(\d*\.?\d+)px/g;function pa(Gt,yn){var jn=Math.pow(10,yn+1),Gn=Math.floor(Gt*jn);return Math.round(Gn/10)*10/jn}var La=function(){var yn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},jn=yn.rootValue,Gn=jn===void 0?16:jn,br=yn.precision,Hr=br===void 0?5:br,ta=yn.mediaQuery,sr=ta===void 0?!1:ta,zr=function(xa,Xa){if(!Xa)return xa;var bo=parseFloat(Xa);if(bo<=1)return xa;var Oo=pa(bo/Gn,Hr);return"".concat(Oo,"rem")},va=function(xa){var Xa=_objectSpread({},xa);return Object.entries(xa).forEach(function(bo){var Oo=_slicedToArray(bo,2),Va=Oo[0],xo=Oo[1];if(typeof xo=="string"&&xo.includes("px")){var io=xo.replace($r,zr);Xa[Va]=io}!unitless[Va]&&typeof xo=="number"&&xo!==0&&(Xa[Va]="".concat(xo,"px").replace($r,zr));var Ca=Va.trim();if(Ca.startsWith("@")&&Ca.includes("px")&&sr){var _a=Va.replace($r,zr);Xa[_a]=Xa[Va],delete Xa[Va]}}),Xa};return{visit:va}},lo=null,Qa={supportModernCSS:function(){return qe()&&mt()}}},17202:function(b,y,e){"use strict";e.d(y,{Z:function(){return L}});var a=e(60698),t=e(28314),o=e(37734),s=e(47075),n=e(58757),d=e(87608),l=e.n(d),c=e(26134),m=e(71048),g=e(57370),M=e(17332),h=["icon","className","onClick","style","primaryColor","secondaryColor"],S={primaryColor:"#333",secondaryColor:"#E6E6E6",calculated:!1};function w(j){var G=j.primaryColor,W=j.secondaryColor;S.primaryColor=G,S.secondaryColor=W||(0,M.pw)(G),S.calculated=!!W}function x(){return(0,g.Z)({},S)}var z=function(G){var W=G.icon,ne=G.className,_=G.onClick,ee=G.style,se=G.primaryColor,Q=G.secondaryColor,C=(0,s.Z)(G,h),X=n.useRef(),O=S;if(se&&(O={primaryColor:se,secondaryColor:Q||(0,M.pw)(se)}),(0,M.C3)(X),(0,M.Kp)((0,M.r)(W),"icon should be icon definiton, but got ".concat(W)),!(0,M.r)(W))return null;var H=W;return H&&typeof H.icon=="function"&&(H=(0,g.Z)((0,g.Z)({},H),{},{icon:H.icon(O.primaryColor,O.secondaryColor)})),(0,M.R_)(H.icon,"svg-".concat(H.name),(0,g.Z)((0,g.Z)({className:ne,onClick:_,style:ee,"data-icon":H.name,width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true"},C),{},{ref:X}))};z.displayName="IconReact",z.getTwoToneColors=x,z.setTwoToneColors=w;var U=z;function T(j){var G=(0,M.H9)(j),W=(0,t.Z)(G,2),ne=W[0],_=W[1];return U.setTwoToneColors({primaryColor:ne,secondaryColor:_})}function N(){var j=U.getTwoToneColors();return j.calculated?[j.primaryColor,j.secondaryColor]:j.primaryColor}var Z=["className","icon","spin","rotate","tabIndex","onClick","twoToneColor"];T(c.blue.primary);var D=n.forwardRef(function(j,G){var W,ne=j.className,_=j.icon,ee=j.spin,se=j.rotate,Q=j.tabIndex,C=j.onClick,X=j.twoToneColor,O=(0,s.Z)(j,Z),H=n.useContext(m.Z),k=H.prefixCls,A=k===void 0?"anticon":k,Y=H.rootClassName,de=l()(Y,A,(W={},(0,o.Z)(W,"".concat(A,"-").concat(_.name),!!_.name),(0,o.Z)(W,"".concat(A,"-spin"),!!ee||_.name==="loading"),W),ne),me=Q;me===void 0&&C&&(me=-1);var ve=se?{msTransform:"rotate(".concat(se,"deg)"),transform:"rotate(".concat(se,"deg)")}:void 0,be=(0,M.H9)(X),Pe=(0,t.Z)(be,2),Je=Pe[0],qe=Pe[1];return n.createElement("span",(0,a.Z)({role:"img","aria-label":_.name},O,{ref:G,tabIndex:me,onClick:C,className:de}),n.createElement(U,{icon:_,primaryColor:Je,secondaryColor:qe,style:ve}))});D.displayName="AntdIcon",D.getTwoToneColor=N,D.setTwoToneColor=T;var L=D},71048:function(b,y,e){"use strict";var a=e(58757),t=(0,a.createContext)({});y.Z=t},39875:function(b,y,e){"use strict";var a=e(60698),t=e(57370),o=e(37734),s=e(47075),n=e(58757),d=e(87608),l=e.n(d),c=e(21319),m=e(71048),g=e(17332),M=["className","component","viewBox","spin","rotate","tabIndex","onClick","children"],h=n.forwardRef(function(S,w){var x=S.className,z=S.component,U=S.viewBox,T=S.spin,N=S.rotate,Z=S.tabIndex,D=S.onClick,L=S.children,j=(0,s.Z)(S,M),G=n.useRef(),W=(0,c.x1)(G,w);(0,g.Kp)(!!(z||L),"Should have `component` prop or `children`."),(0,g.C3)(G);var ne=n.useContext(m.Z),_=ne.prefixCls,ee=_===void 0?"anticon":_,se=ne.rootClassName,Q=l()(se,ee,x),C=l()((0,o.Z)({},"".concat(ee,"-spin"),!!T)),X=N?{msTransform:"rotate(".concat(N,"deg)"),transform:"rotate(".concat(N,"deg)")}:void 0,O=(0,t.Z)((0,t.Z)({},g.vD),{},{className:C,style:X,viewBox:U});U||delete O.viewBox;var H=function(){return z?n.createElement(z,O,L):L?((0,g.Kp)(!!U||n.Children.count(L)===1&&n.isValidElement(L)&&n.Children.only(L).type==="use","Make sure that you provide correct `viewBox` prop (default `0 0 1024 1024`) to the icon."),n.createElement("svg",(0,a.Z)({},O,{viewBox:U}),L)):null},k=Z;return k===void 0&&D&&(k=-1),n.createElement("span",(0,a.Z)({role:"img"},j,{ref:W,tabIndex:k,onClick:D,className:Q}),H())});h.displayName="AntdIcon",y.Z=h},92183:function(b,y,e){"use strict";e.d(y,{Z:function(){return l}});var a=e(60698),t=e(58757),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M872 474H286.9l350.2-304c5.6-4.9 2.2-14-5.2-14h-88.5c-3.9 0-7.6 1.4-10.5 3.9L155 487.8a31.96 31.96 0 000 48.3L535.1 866c1.5 1.3 3.3 2 5.2 2h91.5c7.4 0 10.8-9.2 5.2-14L286.9 550H872c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"}}]},name:"arrow-left",theme:"outlined"},s=o,n=e(17202),d=function(m,g){return t.createElement(n.Z,(0,a.Z)({},m,{ref:g,icon:s}))},l=t.forwardRef(d)},85678:function(b,y,e){"use strict";e.d(y,{Z:function(){return l}});var a=e(60698),t=e(58757),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z"}}]},name:"check-circle",theme:"filled"},s=o,n=e(17202),d=function(m,g){return t.createElement(n.Z,(0,a.Z)({},m,{ref:g,icon:s}))},l=t.forwardRef(d)},35725:function(b,y,e){"use strict";e.d(y,{Z:function(){return l}});var a=e(60698),t=e(58757),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"}}]},name:"check",theme:"outlined"},s=o,n=e(17202),d=function(m,g){return t.createElement(n.Z,(0,a.Z)({},m,{ref:g,icon:s}))},l=t.forwardRef(d)},79999:function(b,y,e){"use strict";e.d(y,{Z:function(){return l}});var a=e(60698),t=e(58757),o={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z"}}]},name:"close-circle",theme:"filled"},s=o,n=e(17202),d=function(m,g){return t.createElement(n.Z,(0,a.Z)({},m,{ref:g,icon:s}))},l=t.forwardRef(d)},52495:function(b,y,e){"use strict";e.d(y,{Z:function(){return l}});var a=e(60698),t=e(58757),o={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M799.86 166.31c.02 0 .04.02.08.06l57.69 57.7c.04.03.05.05.06.08a.12.12 0 010 .06c0 .03-.02.05-.06.09L569.93 512l287.7 287.7c.04.04.05.06.06.09a.12.12 0 010 .07c0 .02-.02.04-.06.08l-57.7 57.69c-.03.04-.05.05-.07.06a.12.12 0 01-.07 0c-.03 0-.05-.02-.09-.06L512 569.93l-287.7 287.7c-.04.04-.06.05-.09.06a.12.12 0 01-.07 0c-.02 0-.04-.02-.08-.06l-57.69-57.7c-.04-.03-.05-.05-.06-.07a.12.12 0 010-.07c0-.03.02-.05.06-.09L454.07 512l-287.7-287.7c-.04-.04-.05-.06-.06-.09a.12.12 0 010-.07c0-.02.02-.04.06-.08l57.7-57.69c.03-.04.05-.05.07-.06a.12.12 0 01.07 0c.03 0 .05.02.09.06L512 454.07l287.7-287.7c.04-.04.06-.05.09-.06a.12.12 0 01.07 0z"}}]},name:"close",theme:"outlined"},s=o,n=e(17202),d=function(m,g){return t.createElement(n.Z,(0,a.Z)({},m,{ref:g,icon:s}))},l=t.forwardRef(d)},23605:function(b,y,e){"use strict";e.d(y,{Z:function(){return l}});var a=e(60698),t=e(58757),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"}}]},name:"delete",theme:"outlined"},s=o,n=e(17202),d=function(m,g){return t.createElement(n.Z,(0,a.Z)({},m,{ref:g,icon:s}))},l=t.forwardRef(d)},10130:function(b,y,e){"use strict";e.d(y,{Z:function(){return l}});var a=e(60698),t=e(58757),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"}}]},name:"down",theme:"outlined"},s=o,n=e(17202),d=function(m,g){return t.createElement(n.Z,(0,a.Z)({},m,{ref:g,icon:s}))},l=t.forwardRef(d)},18974:function(b,y,e){"use strict";e.d(y,{Z:function(){return l}});var a=e(60698),t=e(58757),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M176 511a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"ellipsis",theme:"outlined"},s=o,n=e(17202),d=function(m,g){return t.createElement(n.Z,(0,a.Z)({},m,{ref:g,icon:s}))},l=t.forwardRef(d)},69831:function(b,y,e){"use strict";e.d(y,{Z:function(){return l}});var a=e(60698),t=e(58757),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"exclamation-circle",theme:"filled"},s=o,n=e(17202),d=function(m,g){return t.createElement(n.Z,(0,a.Z)({},m,{ref:g,icon:s}))},l=t.forwardRef(d)},83720:function(b,y,e){"use strict";e.d(y,{Z:function(){return l}});var a=e(60698),t=e(58757),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z"}},{tag:"path",attrs:{d:"M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z"}}]},name:"eye-invisible",theme:"outlined"},s=o,n=e(17202),d=function(m,g){return t.createElement(n.Z,(0,a.Z)({},m,{ref:g,icon:s}))},l=t.forwardRef(d)},56019:function(b,y,e){"use strict";e.d(y,{Z:function(){return l}});var a=e(60698),t=e(58757),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z"}}]},name:"eye",theme:"outlined"},s=o,n=e(17202),d=function(m,g){return t.createElement(n.Z,(0,a.Z)({},m,{ref:g,icon:s}))},l=t.forwardRef(d)},33064:function(b,y,e){"use strict";e.d(y,{Z:function(){return l}});var a=e(60698),t=e(58757),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"info-circle",theme:"filled"},s=o,n=e(17202),d=function(m,g){return t.createElement(n.Z,(0,a.Z)({},m,{ref:g,icon:s}))},l=t.forwardRef(d)},99142:function(b,y,e){"use strict";e.d(y,{Z:function(){return l}});var a=e(60698),t=e(58757),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"}}]},name:"left",theme:"outlined"},s=o,n=e(17202),d=function(m,g){return t.createElement(n.Z,(0,a.Z)({},m,{ref:g,icon:s}))},l=t.forwardRef(d)},25755:function(b,y,e){"use strict";e.d(y,{Z:function(){return l}});var a=e(60698),t=e(58757),o={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z"}}]},name:"loading",theme:"outlined"},s=o,n=e(17202),d=function(m,g){return t.createElement(n.Z,(0,a.Z)({},m,{ref:g,icon:s}))},l=t.forwardRef(d)},12673:function(b,y,e){"use strict";e.d(y,{Z:function(){return l}});var a=e(60698),t=e(58757),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z"}},{tag:"path",attrs:{d:"M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8z"}}]},name:"plus",theme:"outlined"},s=o,n=e(17202),d=function(m,g){return t.createElement(n.Z,(0,a.Z)({},m,{ref:g,icon:s}))},l=t.forwardRef(d)},22283:function(b,y,e){"use strict";e.d(y,{Z:function(){return l}});var a=e(60698),t=e(58757),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 00-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 01655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 01279 755.2a342.16 342.16 0 01-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 01109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z"}}]},name:"reload",theme:"outlined"},s=o,n=e(17202),d=function(m,g){return t.createElement(n.Z,(0,a.Z)({},m,{ref:g,icon:s}))},l=t.forwardRef(d)},91169:function(b,y,e){"use strict";e.d(y,{Z:function(){return l}});var a=e(60698),t=e(58757),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"}}]},name:"right",theme:"outlined"},s=o,n=e(17202),d=function(m,g){return t.createElement(n.Z,(0,a.Z)({},m,{ref:g,icon:s}))},l=t.forwardRef(d)},99534:function(b,y,e){"use strict";e.d(y,{Z:function(){return l}});var a=e(60698),t=e(58757),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"}}]},name:"search",theme:"outlined"},s=o,n=e(17202),d=function(m,g){return t.createElement(n.Z,(0,a.Z)({},m,{ref:g,icon:s}))},l=t.forwardRef(d)},39800:function(b,y,e){"use strict";e.d(y,{Z:function(){return l}});var a=e(60698),t=e(58757),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M924.8 625.7l-65.5-56c3.1-19 4.7-38.4 4.7-57.8s-1.6-38.8-4.7-57.8l65.5-56a32.03 32.03 0 009.3-35.2l-.9-2.6a443.74 443.74 0 00-79.7-137.9l-1.8-2.1a32.12 32.12 0 00-35.1-9.5l-81.3 28.9c-30-24.6-63.5-44-99.7-57.6l-15.7-85a32.05 32.05 0 00-25.8-25.7l-2.7-.5c-52.1-9.4-106.9-9.4-159 0l-2.7.5a32.05 32.05 0 00-25.8 25.7l-15.8 85.4a351.86 351.86 0 00-99 57.4l-81.9-29.1a32 32 0 00-35.1 9.5l-1.8 2.1a446.02 446.02 0 00-79.7 137.9l-.9 2.6c-4.5 12.5-.8 26.5 9.3 35.2l66.3 56.6c-3.1 18.8-4.6 38-4.6 57.1 0 19.2 1.5 38.4 4.6 57.1L99 625.5a32.03 32.03 0 00-9.3 35.2l.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1a32.12 32.12 0 0035.1 9.5l81.9-29.1c29.8 24.5 63.1 43.9 99 57.4l15.8 85.4a32.05 32.05 0 0025.8 25.7l2.7.5a449.4 449.4 0 00159 0l2.7-.5a32.05 32.05 0 0025.8-25.7l15.7-85a350 350 0 0099.7-57.6l81.3 28.9a32 32 0 0035.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l.9-2.6c4.5-12.3.8-26.3-9.3-35zM788.3 465.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9a370.03 370.03 0 01-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97a377.5 377.5 0 01-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9zM512 326c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 01512 614c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 01400 502c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8A111.6 111.6 0 01624 502c0 29.9-11.7 58-32.8 79.2z"}}]},name:"setting",theme:"outlined"},s=o,n=e(17202),d=function(m,g){return t.createElement(n.Z,(0,a.Z)({},m,{ref:g,icon:s}))},l=t.forwardRef(d)},23926:function(b,y,e){"use strict";e.d(y,{Z:function(){return l}});var a=e(60698),t=e(58757),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 00140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z"}}]},name:"up",theme:"outlined"},s=o,n=e(17202),d=function(m,g){return t.createElement(n.Z,(0,a.Z)({},m,{ref:g,icon:s}))},l=t.forwardRef(d)},98030:function(b,y,e){"use strict";e.d(y,{Z:function(){return l}});var a=e(60698),t=e(58757),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M637 443H519V309c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v134H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h118v134c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V519h118c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z"}}]},name:"zoom-in",theme:"outlined"},s=o,n=e(17202),d=function(m,g){return t.createElement(n.Z,(0,a.Z)({},m,{ref:g,icon:s}))},l=t.forwardRef(d)},2528:function(b,y,e){"use strict";e.d(y,{Z:function(){return l}});var a=e(60698),t=e(58757),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M637 443H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h312c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z"}}]},name:"zoom-out",theme:"outlined"},s=o,n=e(17202),d=function(m,g){return t.createElement(n.Z,(0,a.Z)({},m,{ref:g,icon:s}))},l=t.forwardRef(d)},17332:function(b,y,e){"use strict";e.d(y,{C3:function(){return N},H9:function(){return z},Kp:function(){return M},R_:function(){return w},pw:function(){return x},r:function(){return h},vD:function(){return U}});var a=e(57370),t=e(38790),o=e(26134),s=e(61012),n=e.n(s),d=e(39678),l=e(4171),c=e(75556),m=e(58757),g=e(71048);function M(Z,D){(0,c.ZP)(Z,"[@ant-design/icons] ".concat(D))}function h(Z){return(0,t.Z)(Z)==="object"&&typeof Z.name=="string"&&typeof Z.theme=="string"&&((0,t.Z)(Z.icon)==="object"||typeof Z.icon=="function")}function S(){var Z=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return Object.keys(Z).reduce(function(D,L){var j=Z[L];switch(L){case"class":D.className=j,delete D.class;break;default:delete D[L],D[n()(L)]=j}return D},{})}function w(Z,D,L){return L?m.createElement(Z.tag,(0,a.Z)((0,a.Z)({key:D},S(Z.attrs)),L),(Z.children||[]).map(function(j,G){return w(j,"".concat(D,"-").concat(Z.tag,"-").concat(G))})):m.createElement(Z.tag,(0,a.Z)({key:D},S(Z.attrs)),(Z.children||[]).map(function(j,G){return w(j,"".concat(D,"-").concat(Z.tag,"-").concat(G))}))}function x(Z){return(0,o.generate)(Z)[0]}function z(Z){return Z?Array.isArray(Z)?Z:[Z]:[]}var U={width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",focusable:"false"},T=` +.anticon { + display: inline-block; + color: inherit; + font-style: normal; + line-height: 0; + text-align: center; + text-transform: none; + vertical-align: -0.125em; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.anticon > * { + line-height: 1; +} + +.anticon svg { + display: inline-block; +} + +.anticon::before { + display: none; +} + +.anticon .anticon-icon { + display: block; +} + +.anticon[tabindex] { + cursor: pointer; +} + +.anticon-spin::before, +.anticon-spin { + display: inline-block; + -webkit-animation: loadingCircle 1s infinite linear; + animation: loadingCircle 1s infinite linear; +} + +@-webkit-keyframes loadingCircle { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes loadingCircle { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +`,N=function(D){var L=(0,m.useContext)(g.Z),j=L.csp,G=L.prefixCls,W=T;G&&(W=W.replace(/anticon/g,G)),(0,m.useEffect)(function(){var ne=D.current,_=(0,l.A)(ne);(0,d.hq)(W,"@ant-design-icons",{prepend:!0,csp:j,attachTo:_})},[])}},8295:function(b,y,e){"use strict";Object.defineProperty(y,"__esModule",{value:!0}),Object.defineProperty(y,"default",{enumerable:!0,get:function(){return o}});var a=e(58757),t=(0,a.createContext)({}),o=t},38875:function(b,y,e){"use strict";var a;a={value:!0},Object.defineProperty(y,"Z",{enumerable:!0,get:function(){return U}});var t=g(e(58757)),o=c(e(87608)),s=e(25697),n=c(e(8295)),d=e(96757);function l(T,N,Z){return N in T?Object.defineProperty(T,N,{value:Z,enumerable:!0,configurable:!0,writable:!0}):T[N]=Z,T}function c(T){return T&&T.__esModule?T:{default:T}}function m(T){if(typeof WeakMap!="function")return null;var N=new WeakMap,Z=new WeakMap;return(m=function(D){return D?Z:N})(T)}function g(T,N){if(!N&&T&&T.__esModule)return T;if(T===null||typeof T!="object"&&typeof T!="function")return{default:T};var Z=m(N);if(Z&&Z.has(T))return Z.get(T);var D={},L=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var j in T)if(j!=="default"&&Object.prototype.hasOwnProperty.call(T,j)){var G=L?Object.getOwnPropertyDescriptor(T,j):null;G&&(G.get||G.set)?Object.defineProperty(D,j,G):D[j]=T[j]}return D.default=T,Z&&Z.set(T,D),D}function M(T){for(var N=1;N=0)&&Object.prototype.propertyIsEnumerable.call(T,D)&&(Z[D]=T[D])}return Z}function x(T,N){if(T==null)return{};var Z={},D=Object.keys(T),L,j;for(j=0;j=0)&&(Z[L]=T[L]);return Z}var z=t.forwardRef(function(T,N){var Z=T.className,D=T.component,L=T.viewBox,j=T.spin,G=T.rotate,W=T.tabIndex,ne=T.onClick,_=T.children,ee=w(T,["className","component","viewBox","spin","rotate","tabIndex","onClick","children"]),se=t.useRef(),Q=(0,s.useComposeRef)(se,N);(0,d.warning)(!!(D||_),"Should have `component` prop or `children`."),(0,d.useInsertStyles)(se);var C=t.useContext(n.default),X=C.prefixCls,O=X===void 0?"anticon":X,H=C.rootClassName,k=(0,o.default)(H,O,Z),A=(0,o.default)(l({},"".concat(O,"-spin"),!!j)),Y=G?{msTransform:"rotate(".concat(G,"deg)"),transform:"rotate(".concat(G,"deg)")}:void 0,de=S(M({},d.svgBaseProps),{className:A,style:Y,viewBox:L});L||delete de.viewBox;var me=function(){return D?t.createElement(D,de,_):_?((0,d.warning)(!!L||t.Children.count(_)===1&&t.isValidElement(_)&&t.Children.only(_).type==="use","Make sure that you provide correct `viewBox` prop (default `0 0 1024 1024`) to the icon."),t.createElement("svg",S(M({},de),{viewBox:L}),_)):null},ve=W;return ve===void 0&&ne&&(ve=-1),t.createElement("span",S(M({role:"img"},ee),{ref:Q,tabIndex:ve,onClick:ne,className:k}),me())});z.displayName="AntdIcon";var U=z},96757:function(b,y,e){"use strict";Object.defineProperty(y,"__esModule",{value:!0});function a(j,G){for(var W in G)Object.defineProperty(j,W,{enumerable:!0,get:G[W]})}a(y,{warning:function(){return w},isIconDefinition:function(){return x},normalizeAttrs:function(){return z},generate:function(){return U},getSecondaryColor:function(){return T},normalizeTwoToneColors:function(){return N},svgBaseProps:function(){return Z},iconStyles:function(){return D},useInsertStyles:function(){return L}});var t=e(26134),o=g(e(61012)),s=e(82912),n=e(13393),d=g(e(66780)),l=h(e(58757)),c=g(e(8295));function m(j,G,W){return G in j?Object.defineProperty(j,G,{value:W,enumerable:!0,configurable:!0,writable:!0}):j[G]=W,j}function g(j){return j&&j.__esModule?j:{default:j}}function M(j){if(typeof WeakMap!="function")return null;var G=new WeakMap,W=new WeakMap;return(M=function(ne){return ne?W:G})(j)}function h(j,G){if(!G&&j&&j.__esModule)return j;if(j===null||typeof j!="object"&&typeof j!="function")return{default:j};var W=M(G);if(W&&W.has(j))return W.get(j);var ne={},_=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var ee in j)if(ee!=="default"&&Object.prototype.hasOwnProperty.call(j,ee)){var se=_?Object.getOwnPropertyDescriptor(j,ee):null;se&&(se.get||se.set)?Object.defineProperty(ne,ee,se):ne[ee]=j[ee]}return ne.default=j,W&&W.set(j,ne),ne}function S(j){for(var G=1;G0&&arguments[0]!==void 0?arguments[0]:{};return Object.keys(j).reduce(function(G,W){var ne=j[W];switch(W){case"class":G.className=ne,delete G.class;break;default:delete G[W],G[(0,o.default)(W)]=ne}return G},{})}function U(j,G,W){return W?l.default.createElement(j.tag,S({key:G},z(j.attrs),W),(j.children||[]).map(function(ne,_){return U(ne,"".concat(G,"-").concat(j.tag,"-").concat(_))})):l.default.createElement(j.tag,S({key:G},z(j.attrs)),(j.children||[]).map(function(ne,_){return U(ne,"".concat(G,"-").concat(j.tag,"-").concat(_))}))}function T(j){return(0,t.generate)(j)[0]}function N(j){return j?Array.isArray(j)?j:[j]:[]}var Z={width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",focusable:"false"},D=` +.anticon { + display: inline-block; + color: inherit; + font-style: normal; + line-height: 0; + text-align: center; + text-transform: none; + vertical-align: -0.125em; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.anticon > * { + line-height: 1; +} + +.anticon svg { + display: inline-block; +} + +.anticon::before { + display: none; +} + +.anticon .anticon-icon { + display: block; +} + +.anticon[tabindex] { + cursor: pointer; +} + +.anticon-spin::before, +.anticon-spin { + display: inline-block; + -webkit-animation: loadingCircle 1s infinite linear; + animation: loadingCircle 1s infinite linear; +} + +@-webkit-keyframes loadingCircle { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes loadingCircle { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +`,L=function(j){var G=(0,l.useContext)(c.default),W=G.csp,ne=G.prefixCls,_=D;ne&&(_=_.replace(/anticon/g,ne)),(0,l.useEffect)(function(){var ee=j.current,se=(0,n.getShadowRoot)(ee);(0,s.updateCSS)(_,"@ant-design-icons",{prepend:!0,csp:W,attachTo:se})},[])}},20117:function(b,y,e){"use strict";e.d(y,{T6:function(){return h},VD:function(){return S},WE:function(){return l},Yt:function(){return w},lC:function(){return o},py:function(){return d},rW:function(){return t},s:function(){return m},ve:function(){return n},vq:function(){return c}});var a=e(33146);function t(x,z,U){return{r:(0,a.sh)(x,255)*255,g:(0,a.sh)(z,255)*255,b:(0,a.sh)(U,255)*255}}function o(x,z,U){x=(0,a.sh)(x,255),z=(0,a.sh)(z,255),U=(0,a.sh)(U,255);var T=Math.max(x,z,U),N=Math.min(x,z,U),Z=0,D=0,L=(T+N)/2;if(T===N)D=0,Z=0;else{var j=T-N;switch(D=L>.5?j/(2-T-N):j/(T+N),T){case x:Z=(z-U)/j+(z1&&(U-=1),U<.16666666666666666?x+(z-x)*(6*U):U<.5?z:U<.6666666666666666?x+(z-x)*(.6666666666666666-U)*6:x}function n(x,z,U){var T,N,Z;if(x=(0,a.sh)(x,360),z=(0,a.sh)(z,100),U=(0,a.sh)(U,100),z===0)N=U,Z=U,T=U;else{var D=U<.5?U*(1+z):U+z-U*z,L=2*U-D;T=s(L,D,x+.3333333333333333),N=s(L,D,x),Z=s(L,D,x-.3333333333333333)}return{r:T*255,g:N*255,b:Z*255}}function d(x,z,U){x=(0,a.sh)(x,255),z=(0,a.sh)(z,255),U=(0,a.sh)(U,255);var T=Math.max(x,z,U),N=Math.min(x,z,U),Z=0,D=T,L=T-N,j=T===0?0:L/T;if(T===N)Z=0;else{switch(T){case x:Z=(z-U)/L+(z>16,g:(x&65280)>>8,b:x&255}}},53099:function(b,y,e){"use strict";e.d(y,{R:function(){return a}});var a={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"}},76981:function(b,y,e){"use strict";e.d(y,{uA:function(){return s}});var a=e(20117),t=e(53099),o=e(33146);function s(S){var w={r:0,g:0,b:0},x=1,z=null,U=null,T=null,N=!1,Z=!1;return typeof S=="string"&&(S=M(S)),typeof S=="object"&&(h(S.r)&&h(S.g)&&h(S.b)?(w=(0,a.rW)(S.r,S.g,S.b),N=!0,Z=String(S.r).substr(-1)==="%"?"prgb":"rgb"):h(S.h)&&h(S.s)&&h(S.v)?(z=(0,o.JX)(S.s),U=(0,o.JX)(S.v),w=(0,a.WE)(S.h,z,U),N=!0,Z="hsv"):h(S.h)&&h(S.s)&&h(S.l)&&(z=(0,o.JX)(S.s),T=(0,o.JX)(S.l),w=(0,a.ve)(S.h,z,T),N=!0,Z="hsl"),Object.prototype.hasOwnProperty.call(S,"a")&&(x=S.a)),x=(0,o.Yq)(x),{ok:N,format:S.format||Z,r:Math.min(255,Math.max(w.r,0)),g:Math.min(255,Math.max(w.g,0)),b:Math.min(255,Math.max(w.b,0)),a:x}}var n="[-\\+]?\\d+%?",d="[-\\+]?\\d*\\.\\d+%?",l="(?:".concat(d,")|(?:").concat(n,")"),c="[\\s|\\(]+(".concat(l,")[,|\\s]+(").concat(l,")[,|\\s]+(").concat(l,")\\s*\\)?"),m="[\\s|\\(]+(".concat(l,")[,|\\s]+(").concat(l,")[,|\\s]+(").concat(l,")[,|\\s]+(").concat(l,")\\s*\\)?"),g={CSS_UNIT:new RegExp(l),rgb:new RegExp("rgb"+c),rgba:new RegExp("rgba"+m),hsl:new RegExp("hsl"+c),hsla:new RegExp("hsla"+m),hsv:new RegExp("hsv"+c),hsva:new RegExp("hsva"+m),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function M(S){if(S=S.trim().toLowerCase(),S.length===0)return!1;var w=!1;if(t.R[S])S=t.R[S],w=!0;else if(S==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var x=g.rgb.exec(S);return x?{r:x[1],g:x[2],b:x[3]}:(x=g.rgba.exec(S),x?{r:x[1],g:x[2],b:x[3],a:x[4]}:(x=g.hsl.exec(S),x?{h:x[1],s:x[2],l:x[3]}:(x=g.hsla.exec(S),x?{h:x[1],s:x[2],l:x[3],a:x[4]}:(x=g.hsv.exec(S),x?{h:x[1],s:x[2],v:x[3]}:(x=g.hsva.exec(S),x?{h:x[1],s:x[2],v:x[3],a:x[4]}:(x=g.hex8.exec(S),x?{r:(0,a.VD)(x[1]),g:(0,a.VD)(x[2]),b:(0,a.VD)(x[3]),a:(0,a.T6)(x[4]),format:w?"name":"hex8"}:(x=g.hex6.exec(S),x?{r:(0,a.VD)(x[1]),g:(0,a.VD)(x[2]),b:(0,a.VD)(x[3]),format:w?"name":"hex"}:(x=g.hex4.exec(S),x?{r:(0,a.VD)(x[1]+x[1]),g:(0,a.VD)(x[2]+x[2]),b:(0,a.VD)(x[3]+x[3]),a:(0,a.T6)(x[4]+x[4]),format:w?"name":"hex8"}:(x=g.hex3.exec(S),x?{r:(0,a.VD)(x[1]+x[1]),g:(0,a.VD)(x[2]+x[2]),b:(0,a.VD)(x[3]+x[3]),format:w?"name":"hex"}:!1)))))))))}function h(S){return!!g.CSS_UNIT.exec(String(S))}},66671:function(b,y,e){"use strict";e.d(y,{C:function(){return n}});var a=e(20117),t=e(53099),o=e(76981),s=e(33146),n=function(){function l(c,m){c===void 0&&(c=""),m===void 0&&(m={});var g;if(c instanceof l)return c;typeof c=="number"&&(c=(0,a.Yt)(c)),this.originalInput=c;var M=(0,o.uA)(c);this.originalInput=c,this.r=M.r,this.g=M.g,this.b=M.b,this.a=M.a,this.roundA=Math.round(100*this.a)/100,this.format=(g=m.format)!==null&&g!==void 0?g:M.format,this.gradientType=m.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=M.ok}return l.prototype.isDark=function(){return this.getBrightness()<128},l.prototype.isLight=function(){return!this.isDark()},l.prototype.getBrightness=function(){var c=this.toRgb();return(c.r*299+c.g*587+c.b*114)/1e3},l.prototype.getLuminance=function(){var c=this.toRgb(),m,g,M,h=c.r/255,S=c.g/255,w=c.b/255;return h<=.03928?m=h/12.92:m=Math.pow((h+.055)/1.055,2.4),S<=.03928?g=S/12.92:g=Math.pow((S+.055)/1.055,2.4),w<=.03928?M=w/12.92:M=Math.pow((w+.055)/1.055,2.4),.2126*m+.7152*g+.0722*M},l.prototype.getAlpha=function(){return this.a},l.prototype.setAlpha=function(c){return this.a=(0,s.Yq)(c),this.roundA=Math.round(100*this.a)/100,this},l.prototype.isMonochrome=function(){var c=this.toHsl().s;return c===0},l.prototype.toHsv=function(){var c=(0,a.py)(this.r,this.g,this.b);return{h:c.h*360,s:c.s,v:c.v,a:this.a}},l.prototype.toHsvString=function(){var c=(0,a.py)(this.r,this.g,this.b),m=Math.round(c.h*360),g=Math.round(c.s*100),M=Math.round(c.v*100);return this.a===1?"hsv(".concat(m,", ").concat(g,"%, ").concat(M,"%)"):"hsva(".concat(m,", ").concat(g,"%, ").concat(M,"%, ").concat(this.roundA,")")},l.prototype.toHsl=function(){var c=(0,a.lC)(this.r,this.g,this.b);return{h:c.h*360,s:c.s,l:c.l,a:this.a}},l.prototype.toHslString=function(){var c=(0,a.lC)(this.r,this.g,this.b),m=Math.round(c.h*360),g=Math.round(c.s*100),M=Math.round(c.l*100);return this.a===1?"hsl(".concat(m,", ").concat(g,"%, ").concat(M,"%)"):"hsla(".concat(m,", ").concat(g,"%, ").concat(M,"%, ").concat(this.roundA,")")},l.prototype.toHex=function(c){return c===void 0&&(c=!1),(0,a.vq)(this.r,this.g,this.b,c)},l.prototype.toHexString=function(c){return c===void 0&&(c=!1),"#"+this.toHex(c)},l.prototype.toHex8=function(c){return c===void 0&&(c=!1),(0,a.s)(this.r,this.g,this.b,this.a,c)},l.prototype.toHex8String=function(c){return c===void 0&&(c=!1),"#"+this.toHex8(c)},l.prototype.toHexShortString=function(c){return c===void 0&&(c=!1),this.a===1?this.toHexString(c):this.toHex8String(c)},l.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},l.prototype.toRgbString=function(){var c=Math.round(this.r),m=Math.round(this.g),g=Math.round(this.b);return this.a===1?"rgb(".concat(c,", ").concat(m,", ").concat(g,")"):"rgba(".concat(c,", ").concat(m,", ").concat(g,", ").concat(this.roundA,")")},l.prototype.toPercentageRgb=function(){var c=function(m){return"".concat(Math.round((0,s.sh)(m,255)*100),"%")};return{r:c(this.r),g:c(this.g),b:c(this.b),a:this.a}},l.prototype.toPercentageRgbString=function(){var c=function(m){return Math.round((0,s.sh)(m,255)*100)};return this.a===1?"rgb(".concat(c(this.r),"%, ").concat(c(this.g),"%, ").concat(c(this.b),"%)"):"rgba(".concat(c(this.r),"%, ").concat(c(this.g),"%, ").concat(c(this.b),"%, ").concat(this.roundA,")")},l.prototype.toName=function(){if(this.a===0)return"transparent";if(this.a<1)return!1;for(var c="#"+(0,a.vq)(this.r,this.g,this.b,!1),m=0,g=Object.entries(t.R);m=0,h=!m&&M&&(c.startsWith("hex")||c==="name");return h?c==="name"&&this.a===0?this.toName():this.toRgbString():(c==="rgb"&&(g=this.toRgbString()),c==="prgb"&&(g=this.toPercentageRgbString()),(c==="hex"||c==="hex6")&&(g=this.toHexString()),c==="hex3"&&(g=this.toHexString(!0)),c==="hex4"&&(g=this.toHex8String(!0)),c==="hex8"&&(g=this.toHex8String()),c==="name"&&(g=this.toName()),c==="hsl"&&(g=this.toHslString()),c==="hsv"&&(g=this.toHsvString()),g||this.toHexString())},l.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},l.prototype.clone=function(){return new l(this.toString())},l.prototype.lighten=function(c){c===void 0&&(c=10);var m=this.toHsl();return m.l+=c/100,m.l=(0,s.V2)(m.l),new l(m)},l.prototype.brighten=function(c){c===void 0&&(c=10);var m=this.toRgb();return m.r=Math.max(0,Math.min(255,m.r-Math.round(255*-(c/100)))),m.g=Math.max(0,Math.min(255,m.g-Math.round(255*-(c/100)))),m.b=Math.max(0,Math.min(255,m.b-Math.round(255*-(c/100)))),new l(m)},l.prototype.darken=function(c){c===void 0&&(c=10);var m=this.toHsl();return m.l-=c/100,m.l=(0,s.V2)(m.l),new l(m)},l.prototype.tint=function(c){return c===void 0&&(c=10),this.mix("white",c)},l.prototype.shade=function(c){return c===void 0&&(c=10),this.mix("black",c)},l.prototype.desaturate=function(c){c===void 0&&(c=10);var m=this.toHsl();return m.s-=c/100,m.s=(0,s.V2)(m.s),new l(m)},l.prototype.saturate=function(c){c===void 0&&(c=10);var m=this.toHsl();return m.s+=c/100,m.s=(0,s.V2)(m.s),new l(m)},l.prototype.greyscale=function(){return this.desaturate(100)},l.prototype.spin=function(c){var m=this.toHsl(),g=(m.h+c)%360;return m.h=g<0?360+g:g,new l(m)},l.prototype.mix=function(c,m){m===void 0&&(m=50);var g=this.toRgb(),M=new l(c).toRgb(),h=m/100,S={r:(M.r-g.r)*h+g.r,g:(M.g-g.g)*h+g.g,b:(M.b-g.b)*h+g.b,a:(M.a-g.a)*h+g.a};return new l(S)},l.prototype.analogous=function(c,m){c===void 0&&(c=6),m===void 0&&(m=30);var g=this.toHsl(),M=360/m,h=[this];for(g.h=(g.h-(M*c>>1)+720)%360;--c;)g.h=(g.h+M)%360,h.push(new l(g));return h},l.prototype.complement=function(){var c=this.toHsl();return c.h=(c.h+180)%360,new l(c)},l.prototype.monochromatic=function(c){c===void 0&&(c=6);for(var m=this.toHsv(),g=m.h,M=m.s,h=m.v,S=[],w=1/c;c--;)S.push(new l({h:g,s:M,v:h})),h=(h+w)%1;return S},l.prototype.splitcomplement=function(){var c=this.toHsl(),m=c.h;return[this,new l({h:(m+72)%360,s:c.s,l:c.l}),new l({h:(m+216)%360,s:c.s,l:c.l})]},l.prototype.onBackground=function(c){var m=this.toRgb(),g=new l(c).toRgb(),M=m.a+g.a*(1-m.a);return new l({r:(m.r*m.a+g.r*g.a*(1-m.a))/M,g:(m.g*m.a+g.g*g.a*(1-m.a))/M,b:(m.b*m.a+g.b*g.a*(1-m.a))/M,a:M})},l.prototype.triad=function(){return this.polyad(3)},l.prototype.tetrad=function(){return this.polyad(4)},l.prototype.polyad=function(c){for(var m=this.toHsl(),g=m.h,M=[this],h=360/c,S=1;S1)&&(c=1),c}function d(c){return c<=1?"".concat(Number(c)*100,"%"):c}function l(c){return c.length===1?"0"+c:String(c)}},57127:function(b,y,e){"use strict";e.d(y,{Z:function(){return G}});var a=e(28314),t=e(58757),o=e(26736),s=e(19075),n=e(75556),d=e(21319),l=t.createContext(null),c=l,m=e(29140),g=e(81334),M=[];function h(W,ne){var _=t.useState(function(){if(!(0,s.Z)())return null;var me=document.createElement("div");return me}),ee=(0,a.Z)(_,1),se=ee[0],Q=t.useRef(!1),C=t.useContext(c),X=t.useState(M),O=(0,a.Z)(X,2),H=O[0],k=O[1],A=C||(Q.current?void 0:function(me){k(function(ve){var be=[me].concat((0,m.Z)(ve));return be})});function Y(){se.parentElement||document.body.appendChild(se),Q.current=!0}function de(){var me;(me=se.parentElement)===null||me===void 0||me.removeChild(se),Q.current=!1}return(0,g.Z)(function(){return W?C?C(Y):Y():de(),de},[W]),(0,g.Z)(function(){H.length&&(H.forEach(function(me){return me()}),k(M))},[H]),[se,A]}var S=e(39678),w=e(17502);function x(){return document.body.scrollHeight>(window.innerHeight||document.documentElement.clientHeight)&&window.innerWidth>document.body.offsetWidth}var z="rc-util-locker-".concat(Date.now()),U=0;function T(W){var ne=!!W,_=t.useState(function(){return U+=1,"".concat(z,"_").concat(U)}),ee=(0,a.Z)(_,1),se=ee[0];(0,g.Z)(function(){if(ne){var Q=(0,w.o)(document.body).width,C=x();(0,S.hq)(` +html body { + overflow-y: hidden; + `.concat(C?"width: calc(100% - ".concat(Q,"px);"):"",` +}`),se)}else(0,S.jL)(se);return function(){(0,S.jL)(se)}},[ne,se])}var N=!1;function Z(W){return typeof W=="boolean"&&(N=W),N}var D=function(ne){return ne===!1?!1:!(0,s.Z)()||!ne?null:typeof ne=="string"?document.querySelector(ne):typeof ne=="function"?ne():ne},L=t.forwardRef(function(W,ne){var _=W.open,ee=W.autoLock,se=W.getContainer,Q=W.debug,C=W.autoDestroy,X=C===void 0?!0:C,O=W.children,H=t.useState(_),k=(0,a.Z)(H,2),A=k[0],Y=k[1],de=A||_;t.useEffect(function(){(X||_)&&Y(_)},[_,X]);var me=t.useState(function(){return D(se)}),ve=(0,a.Z)(me,2),be=ve[0],Pe=ve[1];t.useEffect(function(){var Ke=D(se);Pe(Ke!=null?Ke:null)});var Je=h(de&&!be,Q),qe=(0,a.Z)(Je,2),Xe=qe[0],mt=qe[1],Ct=be!=null?be:Xe;T(ee&&_&&(0,s.Z)()&&(Ct===Xe||Ct===document.body));var vt=null;if(O&&(0,d.Yr)(O)&&ne){var Ht=O;vt=Ht.ref}var ke=(0,d.x1)(vt,ne);if(!de||!(0,s.Z)()||be===void 0)return null;var Ve=Ct===!1||Z(),ot=O;return ne&&(ot=t.cloneElement(O,{ref:ke})),t.createElement(c.Provider,{value:mt},Ve?ot:(0,o.createPortal)(ot,Ct))}),j=L,G=j},99863:function(b,y,e){"use strict";e.d(y,{Z:function(){return Ke}});var a=e(57370),t=e(28314),o=e(47075),s=e(57127),n=e(87608),d=e.n(n),l=e(19425),c=e(69188),m=e(4171),g=e(51729),M=e(97071),h=e(81334),S=e(21618),w=e(58757),x=e(26736),z=w.createContext(null),U=z;function T(he){return he?Array.isArray(he)?he:[he]:[]}function N(he,J,V,R){return w.useMemo(function(){var P=T(V!=null?V:J),B=T(R!=null?R:J),ge=new Set(P),ie=new Set(B);return he&&(ge.has("hover")&&(ge.delete("hover"),ge.add("click")),ie.has("hover")&&(ie.delete("hover"),ie.add("click"))),[ge,ie]},[he,J,V,R])}var Z=e(46499);function D(){var he=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],J=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],V=arguments.length>2?arguments[2]:void 0;return V?he[0]===J[0]:he[0]===J[0]&&he[1]===J[1]}function L(he,J,V,R){for(var P=V.points,B=Object.keys(he),ge=0;ge1&&arguments[1]!==void 0?arguments[1]:1;return Number.isNaN(he)?J:he}function _(he){return ne(parseFloat(he),0)}function ee(he,J){var V=(0,a.Z)({},he);return(J||[]).forEach(function(R){if(!(R instanceof HTMLBodyElement||R instanceof HTMLHtmlElement)){var P=G(R).getComputedStyle(R),B=P.overflow,ge=P.overflowClipMargin,ie=P.borderTopWidth,pe=P.borderBottomWidth,Oe=P.borderLeftWidth,xe=P.borderRightWidth,Se=R.getBoundingClientRect(),$e=R.offsetHeight,re=R.clientHeight,oe=R.offsetWidth,q=R.clientWidth,ue=_(ie),Ee=_(pe),le=_(Oe),Ne=_(xe),Ae=ne(Math.round(Se.width/oe*1e3)/1e3),we=ne(Math.round(Se.height/$e*1e3)/1e3),Re=(oe-q-le-Ne)*Ae,st=($e-re-ue-Ee)*we,nt=ue*we,_e=Ee*we,We=le*Ae,Be=Ne*Ae,it=0,Ge=0;if(B==="clip"){var Ot=_(ge);it=Ot*Ae,Ge=Ot*we}var $t=Se.x+We-it,wt=Se.y+nt-Ge,Pt=$t+Se.width+2*it-We-Be-Re,dt=wt+Se.height+2*Ge-nt-_e-st;V.left=Math.max(V.left,$t),V.top=Math.max(V.top,wt),V.right=Math.min(V.right,Pt),V.bottom=Math.min(V.bottom,dt)}}),V}function se(he){var J=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,V="".concat(J),R=V.match(/^(.*)\%$/);return R?he*(parseFloat(R[1])/100):parseFloat(V)}function Q(he,J){var V=J||[],R=(0,t.Z)(V,2),P=R[0],B=R[1];return[se(he.width,P),se(he.height,B)]}function C(){var he=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return[he[0],he[1]]}function X(he,J){var V=J[0],R=J[1],P,B;return V==="t"?B=he.y:V==="b"?B=he.y+he.height:B=he.y+he.height/2,R==="l"?P=he.x:R==="r"?P=he.x+he.width:P=he.x+he.width/2,{x:P,y:B}}function O(he,J){var V={t:"b",b:"t",l:"r",r:"l"};return he.map(function(R,P){return P===J?V[R]||"c":R}).join("")}function H(he,J,V,R,P,B,ge){var ie=w.useState({ready:!1,offsetX:0,offsetY:0,offsetR:0,offsetB:0,arrowX:0,arrowY:0,scaleX:1,scaleY:1,align:P[R]||{}}),pe=(0,t.Z)(ie,2),Oe=pe[0],xe=pe[1],Se=w.useRef(0),$e=w.useMemo(function(){return J?W(J):[]},[J]),re=w.useRef({}),oe=function(){re.current={}};he||oe();var q=(0,g.Z)(function(){if(J&&V&&he){let pa=function(lo,Qa){var Gt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Xn,yn=je.x+lo,jn=je.y+Qa,Gn=yn+Ce,br=jn+Le,Hr=Math.max(yn,Gt.left),ta=Math.max(jn,Gt.top),sr=Math.min(Gn,Gt.right),zr=Math.min(br,Gt.bottom);return Math.max(0,(sr-Hr)*(zr-ta))},La=function(){ar=je.y+tn,mr=ar+Le,Qr=je.x+sn,qr=Qr+Ce};var le,Ne,Ae=J,we=Ae.ownerDocument,Re=G(Ae),st=Re.getComputedStyle(Ae),nt=st.width,_e=st.height,We=st.position,Be=Ae.style.left,it=Ae.style.top,Ge=Ae.style.right,Ot=Ae.style.bottom,$t=(0,a.Z)((0,a.Z)({},P[R]),B),wt=we.createElement("div");(le=Ae.parentElement)===null||le===void 0||le.appendChild(wt),wt.style.left="".concat(Ae.offsetLeft,"px"),wt.style.top="".concat(Ae.offsetTop,"px"),wt.style.position=We,wt.style.height="".concat(Ae.offsetHeight,"px"),wt.style.width="".concat(Ae.offsetWidth,"px"),Ae.style.left="0",Ae.style.top="0",Ae.style.right="auto",Ae.style.bottom="auto";var Pt;if(Array.isArray(V))Pt={x:V[0],y:V[1],width:0,height:0};else{var dt=V.getBoundingClientRect();Pt={x:dt.x,y:dt.y,width:dt.width,height:dt.height}}var je=Ae.getBoundingClientRect(),tt=we.documentElement,lt=tt.clientWidth,bt=tt.clientHeight,It=tt.scrollWidth,Kt=tt.scrollHeight,zt=tt.scrollTop,Mt=tt.scrollLeft,Le=je.height,Ce=je.width,Et=Pt.height,Tt=Pt.width,Ye={left:0,top:0,right:lt,bottom:bt},et={left:-Mt,top:-zt,right:It-Mt,bottom:Kt-zt},_t=$t.htmlRegion,Ut="visible",qt="visibleFirst";_t!=="scroll"&&_t!==qt&&(_t=Ut);var un=_t===qt,Mn=ee(et,$e),vn=ee(Ye,$e),Xn=_t===Ut?vn:Mn,Vn=un?vn:Xn;Ae.style.left="auto",Ae.style.top="auto",Ae.style.right="0",Ae.style.bottom="0";var or=Ae.getBoundingClientRect();Ae.style.left=Be,Ae.style.top=it,Ae.style.right=Ge,Ae.style.bottom=Ot,(Ne=Ae.parentElement)===null||Ne===void 0||Ne.removeChild(wt);var er=ne(Math.round(Ce/parseFloat(nt)*1e3)/1e3),Wt=ne(Math.round(Le/parseFloat(_e)*1e3)/1e3);if(er===0||Wt===0||(0,c.S)(V)&&!(0,Z.Z)(V))return;var en=$t.offset,nn=$t.targetOffset,fn=Q(je,en),En=(0,t.Z)(fn,2),on=En[0],pt=En[1],gt=Q(Pt,nn),Xt=(0,t.Z)(gt,2),rn=Xt[0],Jt=Xt[1];Pt.x-=rn,Pt.y-=Jt;var pn=$t.points||[],mn=(0,t.Z)(pn,2),Zn=mn[0],tr=mn[1],ut=C(tr),ct=C(Zn),Dt=X(Pt,ut),xt=X(je,ct),kt=(0,a.Z)({},$t),sn=Dt.x-xt.x+on,tn=Dt.y-xt.y+pt,xn=pa(sn,tn),Nn=pa(sn,tn,vn),gr=X(Pt,["t","l"]),nr=X(je,["t","l"]),Rn=X(Pt,["b","r"]),kr=X(je,["b","r"]),fr=$t.overflow||{},ua=fr.adjustX,Pr=fr.adjustY,Bn=fr.shiftX,Cn=fr.shiftY,wn=function(Qa){return typeof Qa=="boolean"?Qa:Qa>=0},ar,mr,Qr,qr;La();var ya=wn(Pr),dr=ct[0]===ut[0];if(ya&&ct[0]==="t"&&(mr>Vn.bottom||re.current.bt)){var Br=tn;dr?Br-=Le-Et:Br=gr.y-kr.y-pt;var Ea=pa(sn,Br),ca=pa(sn,Br,vn);Ea>xn||Ea===xn&&(!un||ca>=Nn)?(re.current.bt=!0,tn=Br,pt=-pt,kt.points=[O(ct,0),O(ut,0)]):re.current.bt=!1}if(ya&&ct[0]==="b"&&(arxn||zn===xn&&(!un||vr>=Nn)?(re.current.tb=!0,tn=Kn,pt=-pt,kt.points=[O(ct,0),O(ut,0)]):re.current.tb=!1}var ra=wn(ua),xr=ct[1]===ut[1];if(ra&&ct[1]==="l"&&(qr>Vn.right||re.current.rl)){var jt=sn;xr?jt-=Ce-Tt:jt=gr.x-kr.x-on;var an=pa(jt,tn),hn=pa(jt,tn,vn);an>xn||an===xn&&(!un||hn>=Nn)?(re.current.rl=!0,sn=jt,on=-on,kt.points=[O(ct,1),O(ut,1)]):re.current.rl=!1}if(ra&&ct[1]==="r"&&(Qrxn||Mo===xn&&(!un||Ua>=Nn)?(re.current.lr=!0,sn=ao,on=-on,kt.points=[O(ct,1),O(ut,1)]):re.current.lr=!1}La();var Ha=Bn===!0?0:Bn;typeof Ha=="number"&&(Qrvn.right&&(sn-=qr-vn.right-on,Pt.x>vn.right-Ha&&(sn+=Pt.x-vn.right+Ha)));var eo=Cn===!0?0:Cn;typeof eo=="number"&&(arvn.bottom&&(tn-=mr-vn.bottom-pt,Pt.y>vn.bottom-eo&&(tn+=Pt.y-vn.bottom+eo)));var jo=je.x+sn,Wo=jo+Ce,Eo=je.y+tn,ft=Eo+Le,Nt=Pt.x,Ie=Nt+Tt,cn=Pt.y,dn=cn+Et,_n=Math.max(jo,Nt),Tn=Math.min(Wo,Ie),yr=(_n+Tn)/2,Wr=yr-jo,Da=Math.max(Eo,cn),la=Math.min(ft,dn),ea=(Da+la)/2,oa=ea-Eo;ge==null||ge(J,kt);var Ir=or.right-je.x-(sn+je.width),$r=or.bottom-je.y-(tn+je.height);xe({ready:!0,offsetX:sn/er,offsetY:tn/Wt,offsetR:Ir/er,offsetB:$r/Wt,arrowX:Wr/er,arrowY:oa/Wt,scaleX:er,scaleY:Wt,align:kt})}}),ue=function(){Se.current+=1;var Ne=Se.current;Promise.resolve().then(function(){Se.current===Ne&&q()})},Ee=function(){xe(function(Ne){return(0,a.Z)((0,a.Z)({},Ne),{},{ready:!1})})};return(0,h.Z)(Ee,[R]),(0,h.Z)(function(){he||Ee()},[he]),[Oe.ready,Oe.offsetX,Oe.offsetY,Oe.offsetR,Oe.offsetB,Oe.arrowX,Oe.arrowY,Oe.scaleX,Oe.scaleY,Oe.align,ue]}var k=e(29140);function A(he,J,V,R,P){(0,h.Z)(function(){if(he&&J&&V){let Se=function(){R(),P()};var B=J,ge=V,ie=W(B),pe=W(ge),Oe=G(ge),xe=new Set([Oe].concat((0,k.Z)(ie),(0,k.Z)(pe)));return xe.forEach(function($e){$e.addEventListener("scroll",Se,{passive:!0})}),Oe.addEventListener("resize",Se,{passive:!0}),R(),function(){xe.forEach(function($e){$e.removeEventListener("scroll",Se),Oe.removeEventListener("resize",Se)})}}},[he,J,V])}var Y=e(71219),de=e(61834);function me(he,J,V,R,P,B,ge,ie){var pe=w.useRef(he),Oe=w.useRef(!1);pe.current!==he&&(Oe.current=!0,pe.current=he),w.useEffect(function(){var xe=(0,de.Z)(function(){Oe.current=!1});return function(){de.Z.cancel(xe)}},[he]),w.useEffect(function(){if(J&&R&&(!P||B)){var xe=function(){var We=!1,Be=function(Ot){var $t=Ot.target;We=ge($t)},it=function(Ot){var $t=Ot.target;!Oe.current&&pe.current&&!We&&!ge($t)&&ie(!1)};return[Be,it]},Se=xe(),$e=(0,t.Z)(Se,2),re=$e[0],oe=$e[1],q=xe(),ue=(0,t.Z)(q,2),Ee=ue[0],le=ue[1],Ne=G(R);Ne.addEventListener("mousedown",re,!0),Ne.addEventListener("click",oe,!0),Ne.addEventListener("contextmenu",oe,!0);var Ae=(0,m.A)(V);if(Ae&&(Ae.addEventListener("mousedown",Ee,!0),Ae.addEventListener("click",le,!0),Ae.addEventListener("contextmenu",le,!0)),!1)var we,Re,st,nt;return function(){Ne.removeEventListener("mousedown",re,!0),Ne.removeEventListener("click",oe,!0),Ne.removeEventListener("contextmenu",oe,!0),Ae&&(Ae.removeEventListener("mousedown",Ee,!0),Ae.removeEventListener("click",le,!0),Ae.removeEventListener("contextmenu",le,!0))}}},[J,V,R,P,B])}var ve=e(60698),be=e(17598),Pe=e(21319);function Je(he){var J=he.prefixCls,V=he.align,R=he.arrow,P=he.arrowPos,B=R||{},ge=B.className,ie=B.content,pe=P.x,Oe=pe===void 0?0:pe,xe=P.y,Se=xe===void 0?0:xe,$e=w.useRef();if(!V||!V.points)return null;var re={position:"absolute"};if(V.autoArrow!==!1){var oe=V.points[0],q=V.points[1],ue=oe[0],Ee=oe[1],le=q[0],Ne=q[1];ue===le||!["t","b"].includes(ue)?re.top=Se:ue==="t"?re.top=0:re.bottom=0,Ee===Ne||!["l","r"].includes(Ee)?re.left=Oe:Ee==="l"?re.left=0:re.right=0}return w.createElement("div",{ref:$e,className:d()("".concat(J,"-arrow"),ge),style:re},ie)}function qe(he){var J=he.prefixCls,V=he.open,R=he.zIndex,P=he.mask,B=he.motion;return P?w.createElement(be.ZP,(0,ve.Z)({},B,{motionAppear:!0,visible:V,removeOnLeave:!0}),function(ge){var ie=ge.className;return w.createElement("div",{style:{zIndex:R},className:d()("".concat(J,"-mask"),ie)})}):null}var Xe=w.memo(function(he){var J=he.children;return J},function(he,J){return J.cache}),mt=Xe,Ct=w.forwardRef(function(he,J){var V=he.popup,R=he.className,P=he.prefixCls,B=he.style,ge=he.target,ie=he.onVisibleChanged,pe=he.open,Oe=he.keepDom,xe=he.onClick,Se=he.mask,$e=he.arrow,re=he.arrowPos,oe=he.align,q=he.motion,ue=he.maskMotion,Ee=he.forceRender,le=he.getPopupContainer,Ne=he.autoDestroy,Ae=he.portal,we=he.zIndex,Re=he.onMouseEnter,st=he.onMouseLeave,nt=he.onPointerEnter,_e=he.ready,We=he.offsetX,Be=he.offsetY,it=he.offsetR,Ge=he.offsetB,Ot=he.onAlign,$t=he.onPrepare,wt=he.stretch,Pt=he.targetWidth,dt=he.targetHeight,je=typeof V=="function"?V():V,tt=pe||Oe,lt=(le==null?void 0:le.length)>0,bt=w.useState(!le||!lt),It=(0,t.Z)(bt,2),Kt=It[0],zt=It[1];if((0,h.Z)(function(){!Kt&<&&ge&&zt(!0)},[Kt,lt,ge]),!Kt)return null;var Mt="auto",Le={left:"-1000vw",top:"-1000vh",right:Mt,bottom:Mt};if(_e||!pe){var Ce=oe.points,Et=oe._experimental,Tt=Et==null?void 0:Et.dynamicInset,Ye=Tt&&Ce[0][1]==="r",et=Tt&&Ce[0][0]==="b";Ye?(Le.right=it,Le.left=Mt):(Le.left=We,Le.right=Mt),et?(Le.bottom=Ge,Le.top=Mt):(Le.top=Be,Le.bottom=Mt)}var _t={};return wt&&(wt.includes("height")&&dt?_t.height=dt:wt.includes("minHeight")&&dt&&(_t.minHeight=dt),wt.includes("width")&&Pt?_t.width=Pt:wt.includes("minWidth")&&Pt&&(_t.minWidth=Pt)),pe||(_t.pointerEvents="none"),w.createElement(Ae,{open:Ee||tt,getContainer:le&&function(){return le(ge)},autoDestroy:Ne},w.createElement(qe,{prefixCls:P,open:pe,zIndex:we,mask:Se,motion:ue}),w.createElement(l.Z,{onResize:Ot,disabled:!pe},function(Ut){return w.createElement(be.ZP,(0,ve.Z)({motionAppear:!0,motionEnter:!0,motionLeave:!0,removeOnLeave:!1,forceRender:Ee,leavedClassName:"".concat(P,"-hidden")},q,{onAppearPrepare:$t,onEnterPrepare:$t,visible:pe,onVisibleChanged:function(un){var Mn;q==null||(Mn=q.onVisibleChanged)===null||Mn===void 0||Mn.call(q,un),ie(un)}}),function(qt,un){var Mn=qt.className,vn=qt.style,Xn=d()(P,Mn,R);return w.createElement("div",{ref:(0,Pe.sQ)(Ut,J,un),className:Xn,style:(0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({"--arrow-x":"".concat(re.x||0,"px"),"--arrow-y":"".concat(re.y||0,"px")},Le),_t),vn),{},{boxSizing:"border-box",zIndex:we},B),onMouseEnter:Re,onMouseLeave:st,onPointerEnter:nt,onClick:xe},$e&&w.createElement(Je,{prefixCls:P,arrow:$e,arrowPos:re,align:oe}),w.createElement(mt,{cache:!pe},je))})}))}),vt=Ct,Ht=w.forwardRef(function(he,J){var V=he.children,R=he.getTriggerDOMNode,P=(0,Pe.Yr)(V),B=w.useCallback(function(ie){(0,Pe.mH)(J,R?R(ie):ie)},[R]),ge=(0,Pe.x1)(B,V.ref);return P?w.cloneElement(V,{ref:ge}):V}),ke=Ht,Ve=["prefixCls","children","action","showAction","hideAction","popupVisible","defaultPopupVisible","onPopupVisibleChange","afterPopupVisibleChange","mouseEnterDelay","mouseLeaveDelay","focusDelay","blurDelay","mask","maskClosable","getPopupContainer","forceRender","autoDestroy","destroyPopupOnHide","popup","popupClassName","popupStyle","popupPlacement","builtinPlacements","popupAlign","zIndex","stretch","getPopupClassNameFromAlign","alignPoint","onPopupClick","onPopupAlign","arrow","popupMotion","maskMotion","popupTransitionName","popupAnimation","maskTransitionName","maskAnimation","className","getTriggerDOMNode"];function ot(){var he=arguments.length>0&&arguments[0]!==void 0?arguments[0]:s.Z,J=w.forwardRef(function(V,R){var P=V.prefixCls,B=P===void 0?"rc-trigger-popup":P,ge=V.children,ie=V.action,pe=ie===void 0?"hover":ie,Oe=V.showAction,xe=V.hideAction,Se=V.popupVisible,$e=V.defaultPopupVisible,re=V.onPopupVisibleChange,oe=V.afterPopupVisibleChange,q=V.mouseEnterDelay,ue=V.mouseLeaveDelay,Ee=ue===void 0?.1:ue,le=V.focusDelay,Ne=V.blurDelay,Ae=V.mask,we=V.maskClosable,Re=we===void 0?!0:we,st=V.getPopupContainer,nt=V.forceRender,_e=V.autoDestroy,We=V.destroyPopupOnHide,Be=V.popup,it=V.popupClassName,Ge=V.popupStyle,Ot=V.popupPlacement,$t=V.builtinPlacements,wt=$t===void 0?{}:$t,Pt=V.popupAlign,dt=V.zIndex,je=V.stretch,tt=V.getPopupClassNameFromAlign,lt=V.alignPoint,bt=V.onPopupClick,It=V.onPopupAlign,Kt=V.arrow,zt=V.popupMotion,Mt=V.maskMotion,Le=V.popupTransitionName,Ce=V.popupAnimation,Et=V.maskTransitionName,Tt=V.maskAnimation,Ye=V.className,et=V.getTriggerDOMNode,_t=(0,o.Z)(V,Ve),Ut=_e||We||!1,qt=w.useState(!1),un=(0,t.Z)(qt,2),Mn=un[0],vn=un[1];(0,h.Z)(function(){vn((0,S.Z)())},[]);var Xn=w.useRef({}),Vn=w.useContext(U),or=w.useMemo(function(){return{registerSubPopup:function(zr,va){Xn.current[zr]=va,Vn==null||Vn.registerSubPopup(zr,va)}}},[Vn]),er=(0,M.Z)(),Wt=w.useState(null),en=(0,t.Z)(Wt,2),nn=en[0],fn=en[1],En=(0,g.Z)(function(sr){(0,c.S)(sr)&&nn!==sr&&fn(sr),Vn==null||Vn.registerSubPopup(er,sr)}),on=w.useState(null),pt=(0,t.Z)(on,2),gt=pt[0],Xt=pt[1],rn=(0,g.Z)(function(sr){(0,c.S)(sr)&>!==sr&&Xt(sr)}),Jt=w.Children.only(ge),pn=(Jt==null?void 0:Jt.props)||{},mn={},Zn=(0,g.Z)(function(sr){var zr,va,Sr=gt;return(Sr==null?void 0:Sr.contains(sr))||((zr=(0,m.A)(Sr))===null||zr===void 0?void 0:zr.host)===sr||sr===Sr||(nn==null?void 0:nn.contains(sr))||((va=(0,m.A)(nn))===null||va===void 0?void 0:va.host)===sr||sr===nn||Object.values(Xn.current).some(function(xa){return(xa==null?void 0:xa.contains(sr))||sr===xa})}),tr=j(B,zt,Ce,Le),ut=j(B,Mt,Tt,Et),ct=w.useState($e||!1),Dt=(0,t.Z)(ct,2),xt=Dt[0],kt=Dt[1],sn=Se!=null?Se:xt,tn=(0,g.Z)(function(sr){Se===void 0&&kt(sr)});(0,h.Z)(function(){kt(Se||!1)},[Se]);var xn=w.useRef(sn);xn.current=sn;var Nn=(0,g.Z)(function(sr){(0,x.flushSync)(function(){sn!==sr&&(tn(sr),re==null||re(sr))})}),gr=w.useRef(),nr=function(){clearTimeout(gr.current)},Rn=function(zr){var va=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;nr(),va===0?Nn(zr):gr.current=setTimeout(function(){Nn(zr)},va*1e3)};w.useEffect(function(){return nr},[]);var kr=w.useState(!1),fr=(0,t.Z)(kr,2),ua=fr[0],Pr=fr[1];(0,h.Z)(function(sr){(!sr||sn)&&Pr(!0)},[sn]);var Bn=w.useState(null),Cn=(0,t.Z)(Bn,2),wn=Cn[0],ar=Cn[1],mr=w.useState([0,0]),Qr=(0,t.Z)(mr,2),qr=Qr[0],ya=Qr[1],dr=function(zr){ya([zr.clientX,zr.clientY])},Br=H(sn,nn,lt?qr:gt,Ot,wt,Pt,It),Ea=(0,t.Z)(Br,11),ca=Ea[0],Kn=Ea[1],zn=Ea[2],vr=Ea[3],ra=Ea[4],xr=Ea[5],jt=Ea[6],an=Ea[7],hn=Ea[8],ao=Ea[9],Mo=Ea[10],Ua=N(Mn,pe,Oe,xe),Ha=(0,t.Z)(Ua,2),eo=Ha[0],jo=Ha[1],Wo=eo.has("click"),Eo=jo.has("click")||jo.has("contextMenu"),ft=(0,g.Z)(function(){ua||Mo()}),Nt=function(){xn.current&<&&Eo&&Rn(!1)};A(sn,gt,nn,ft,Nt),(0,h.Z)(function(){ft()},[qr,Ot]),(0,h.Z)(function(){sn&&!(wt!=null&&wt[Ot])&&ft()},[JSON.stringify(Pt)]);var Ie=w.useMemo(function(){var sr=L(wt,B,ao,lt);return d()(sr,tt==null?void 0:tt(ao))},[ao,tt,wt,B,lt]);w.useImperativeHandle(R,function(){return{forceAlign:ft}});var cn=w.useState(0),dn=(0,t.Z)(cn,2),_n=dn[0],Tn=dn[1],yr=w.useState(0),Wr=(0,t.Z)(yr,2),Da=Wr[0],la=Wr[1],ea=function(){if(je&>){var zr=gt.getBoundingClientRect();Tn(zr.width),la(zr.height)}},oa=function(){ea(),ft()},Ir=function(zr){Pr(!1),Mo(),oe==null||oe(zr)},$r=function(){return new Promise(function(zr){ea(),ar(function(){return zr})})};(0,h.Z)(function(){wn&&(Mo(),wn(),ar(null))},[wn]);function pa(sr,zr,va,Sr){mn[sr]=function(xa){var Xa;Sr==null||Sr(xa),Rn(zr,va);for(var bo=arguments.length,Oo=new Array(bo>1?bo-1:0),Va=1;Va1?va-1:0),xa=1;xa1?va-1:0),xa=1;xaDate.now()/1e3};function n(){const{performance:x}=o;if(!x||!x.now)return;const z=Date.now()-x.now();return{now:()=>x.now(),timeOrigin:z}}function d(){try{return(0,a.l$)(b,"perf_hooks").performance}catch(x){return}}const l=(0,a.KV)()?d():n(),c=l===void 0?s:{nowSeconds:()=>(l.timeOrigin+l.now())/1e3},m=s.nowSeconds.bind(s),g=c.nowSeconds.bind(c),M=null,h=l!==void 0;let S;const w=(()=>{const{performance:x}=o;if(!x||!x.now){S="none";return}const z=3600*1e3,U=x.now(),T=Date.now(),N=x.timeOrigin?Math.abs(x.timeOrigin+U-T):z,Z=NF.getRandomValues(new Uint8Array(1))[0]:()=>Math.random()*16;return([1e7]+1e3+4e3+8e3+1e11).replace(/[018]/g,Me=>(Me^(ce()&15)>>Me/4).toString(16))}function L(K){return K.exception&&K.exception.values?K.exception.values[0]:void 0}function j(K){const{message:F,event_id:ce}=K;if(F)return F;const Me=L(K);return Me?Me.type&&Me.value?`${Me.type}: ${Me.value}`:Me.type||Me.value||ce||"":ce||""}function G(K,F,ce){const Me=K.exception=K.exception||{},ze=Me.values=Me.values||[],Qe=ze[0]=ze[0]||{};Qe.value||(Qe.value=F||""),Qe.type||(Qe.type=ce||"Error")}function W(K,F){const ce=L(K);if(!ce)return;const Me={type:"generic",handled:!0},ze=ce.mechanism;if(ce.mechanism=Wa(Wa(Wa({},Me),ze),F),F&&"data"in F){const Qe=Wa(Wa({},ze&&ze.data),F.data);ce.mechanism.data=Qe}}const ne=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;function _(K){const F=K.match(ne)||[],ce=parseInt(F[1],10),Me=parseInt(F[2],10),ze=parseInt(F[3],10);return{buildmetadata:F[5],major:isNaN(ce)?void 0:ce,minor:isNaN(Me)?void 0:Me,patch:isNaN(ze)?void 0:ze,prerelease:F[4]}}function ee(K,F,ce=5){if(F.lineno===void 0)return;const Me=K.length,ze=Math.max(Math.min(Me-1,F.lineno-1),0);F.pre_context=K.slice(Math.max(0,ze-ce),ze).map(Qe=>snipLine(Qe,0)),F.context_line=snipLine(K[Math.min(Me-1,ze)],F.colno||0),F.post_context=K.slice(Math.min(ze+1,Me),ze+1+ce).map(Qe=>snipLine(Qe,0))}function se(K){if(K&&K.__sentry_captured__)return!0;try{addNonEnumerableProperty(K,"__sentry_captured__",!0)}catch(F){}return!1}function Q(K){return Array.isArray(K)?K:[K]}var C=e(43038);const X="Sentry Logger ",O=["debug","info","warn","error","log","assert","trace"];function H(K){if(!("console"in Z.n2))return K();const F=Z.n2.console,ce={};O.forEach(Me=>{const ze=F[Me]&&F[Me].__sentry_original__;Me in F&&ze&&(ce[Me]=F[Me],F[Me]=ze)});try{return K()}finally{Object.keys(ce).forEach(Me=>{F[Me]=ce[Me]})}}function k(){let K=!1;const F={enable:()=>{K=!0},disable:()=>{K=!1}};return typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__?O.forEach(ce=>{F[ce]=(...Me)=>{K&&H(()=>{Z.n2.console[ce](`${X}[${ce}]:`,...Me)})}}):O.forEach(ce=>{F[ce]=()=>{}}),F}let A;typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__?A=(0,Z.YO)("logger",k):A=k();const Y="production",de=Object.prototype.toString;function me(K){switch(de.call(K)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return!0;default:return Ke(K,Error)}}function ve(K,F){return de.call(K)===`[object ${F}]`}function be(K){return ve(K,"ErrorEvent")}function Pe(K){return ve(K,"DOMError")}function Je(K){return ve(K,"DOMException")}function qe(K){return ve(K,"String")}function Xe(K){return K===null||typeof K!="object"&&typeof K!="function"}function mt(K){return ve(K,"Object")}function Ct(K){return typeof Event!="undefined"&&Ke(K,Event)}function vt(K){return typeof Element!="undefined"&&Ke(K,Element)}function Ht(K){return ve(K,"RegExp")}function ke(K){return!!(K&&K.then&&typeof K.then=="function")}function Ve(K){return mt(K)&&"nativeEvent"in K&&"preventDefault"in K&&"stopPropagation"in K}function ot(K){return typeof K=="number"&&K!==K}function Ke(K,F){try{return K instanceof F}catch(ce){return!1}}var he;(function(K){K[K.PENDING=0]="PENDING";const ce=1;K[K.RESOLVED=ce]="RESOLVED";const Me=2;K[K.REJECTED=Me]="REJECTED"})(he||(he={}));function J(K){return new R(F=>{F(K)})}function V(K){return new R((F,ce)=>{ce(K)})}class R{constructor(F){R.prototype.__init.call(this),R.prototype.__init2.call(this),R.prototype.__init3.call(this),R.prototype.__init4.call(this),this._state=he.PENDING,this._handlers=[];try{F(this._resolve,this._reject)}catch(ce){this._reject(ce)}}then(F,ce){return new R((Me,ze)=>{this._handlers.push([!1,Qe=>{if(!F)Me(Qe);else try{Me(F(Qe))}catch(St){ze(St)}},Qe=>{if(!ce)ze(Qe);else try{Me(ce(Qe))}catch(St){ze(St)}}]),this._executeHandlers()})}catch(F){return this.then(ce=>ce,F)}finally(F){return new R((ce,Me)=>{let ze,Qe;return this.then(St=>{Qe=!1,ze=St,F&&F()},St=>{Qe=!0,ze=St,F&&F()}).then(()=>{if(Qe){Me(ze);return}ce(ze)})})}__init(){this._resolve=F=>{this._setResult(he.RESOLVED,F)}}__init2(){this._reject=F=>{this._setResult(he.REJECTED,F)}}__init3(){this._setResult=(F,ce)=>{if(this._state===he.PENDING){if(ke(ce)){ce.then(this._resolve,this._reject);return}this._state=F,this._value=ce,this._executeHandlers()}}}__init4(){this._executeHandlers=()=>{if(this._state===he.PENDING)return;const F=this._handlers.slice();this._handlers=[],F.forEach(ce=>{ce[0]||(this._state===he.RESOLVED&&ce[1](this._value),this._state===he.REJECTED&&ce[2](this._value),ce[0]=!0)})}}}const P=(0,Z.Rf)(),B=80;function ge(K,F={}){try{let ce=K;const Me=5,ze=[];let Qe=0,St=0;const At=" > ",Yt=At.length;let ln;const Hn=Array.isArray(F)?F:F.keyAttrs,Dn=!Array.isArray(F)&&F.maxStringLength||B;for(;ce&&Qe++1&&St+ze.length*Yt+ln.length>=Dn));)ze.push(ln),St+=ln.length,ce=ce.parentNode;return ze.reverse().join(At)}catch(ce){return""}}function ie(K,F){const ce=K,Me=[];let ze,Qe,St,At,Yt;if(!ce||!ce.tagName)return"";Me.push(ce.tagName.toLowerCase());const ln=F&&F.length?F.filter(Dn=>ce.getAttribute(Dn)).map(Dn=>[Dn,ce.getAttribute(Dn)]):null;if(ln&&ln.length)ln.forEach(Dn=>{Me.push(`[${Dn[0]}="${Dn[1]}"]`)});else if(ce.id&&Me.push(`#${ce.id}`),ze=ce.className,ze&&qe(ze))for(Qe=ze.split(/\s+/),Yt=0;YtMe&&(F=Me);let ze=Math.max(F-60,0);ze<5&&(ze=0);let Qe=Math.min(ze+140,Me);return Qe>Me-5&&(Qe=Me),Qe===Me&&(ze=Math.max(Qe-140,0)),ce=ce.slice(ze,Qe),ze>0&&(ce=`'{snip} ${ce}`),Qere(K,Me,ce))}function q(K,F,ce){if(!(F in K))return;const Me=K[F],ze=ce(Me);if(typeof ze=="function")try{Ee(ze,Me)}catch(Qe){}K[F]=ze}function ue(K,F,ce){Object.defineProperty(K,F,{value:ce,writable:!0,configurable:!0})}function Ee(K,F){const ce=F.prototype||{};K.prototype=F.prototype=ce,ue(K,"__sentry_original__",F)}function le(K){return K.__sentry_original__}function Ne(K){return Object.keys(K).map(F=>`${encodeURIComponent(F)}=${encodeURIComponent(K[F])}`).join("&")}function Ae(K){if(me(K))return Wa({message:K.message,name:K.name,stack:K.stack},Re(K));if(Ct(K)){const F=Wa({type:K.type,target:we(K.target),currentTarget:we(K.currentTarget)},Re(K));return typeof CustomEvent!="undefined"&&Ke(K,CustomEvent)&&(F.detail=K.detail),F}else return K}function we(K){try{return vt(K)?ge(K):Object.prototype.toString.call(K)}catch(F){return""}}function Re(K){if(typeof K=="object"&&K!==null){const F={};for(const ce in K)Object.prototype.hasOwnProperty.call(K,ce)&&(F[ce]=K[ce]);return F}else return{}}function st(K,F=40){const ce=Object.keys(Ae(K));if(ce.sort(),!ce.length)return"[object has no keys]";if(ce[0].length>=F)return xe(ce[0],F);for(let Me=ce.length;Me>0;Me--){const ze=ce.slice(0,Me).join(", ");if(!(ze.length>F))return Me===ce.length?ze:xe(ze,F)}return""}function nt(K){return _e(K,new Map)}function _e(K,F){if(mt(K)){const ce=F.get(K);if(ce!==void 0)return ce;const Me={};F.set(K,Me);for(const ze of Object.keys(K))typeof K[ze]!="undefined"&&(Me[ze]=_e(K[ze],F));return Me}if(Array.isArray(K)){const ce=F.get(K);if(ce!==void 0)return ce;const Me=[];return F.set(K,Me),K.forEach(ze=>{Me.push(_e(ze,F))}),Me}return K}function We(K){let F;switch(!0){case K==null:F=new String(K);break;case(typeof K=="symbol"||typeof K=="bigint"):F=Object(K);break;case isPrimitive(K):F=new K.constructor(K);break;default:F=K;break}return F}function Be(K){const F=(0,C.ph)(),ce={sid:D(),init:!0,timestamp:F,started:F,duration:0,status:"ok",errors:0,ignoreDuration:!1,toJSON:()=>Ot(ce)};return K&&it(ce,K),ce}function it(K,F={}){if(F.user&&(!K.ipAddress&&F.user.ip_address&&(K.ipAddress=F.user.ip_address),!K.did&&!F.did&&(K.did=F.user.id||F.user.email||F.user.username)),K.timestamp=F.timestamp||(0,C.ph)(),F.ignoreDuration&&(K.ignoreDuration=F.ignoreDuration),F.sid&&(K.sid=F.sid.length===32?F.sid:D()),F.init!==void 0&&(K.init=F.init),!K.did&&F.did&&(K.did=`${F.did}`),typeof F.started=="number"&&(K.started=F.started),K.ignoreDuration)K.duration=void 0;else if(typeof F.duration=="number")K.duration=F.duration;else{const ce=K.timestamp-K.started;K.duration=ce>=0?ce:0}F.release&&(K.release=F.release),F.environment&&(K.environment=F.environment),!K.ipAddress&&F.ipAddress&&(K.ipAddress=F.ipAddress),!K.userAgent&&F.userAgent&&(K.userAgent=F.userAgent),typeof F.errors=="number"&&(K.errors=F.errors),F.status&&(K.status=F.status)}function Ge(K,F){let ce={};F?ce={status:F}:K.status==="ok"&&(ce={status:"exited"}),it(K,ce)}function Ot(K){return nt({sid:`${K.sid}`,init:K.init,started:new Date(K.started*1e3).toISOString(),timestamp:new Date(K.timestamp*1e3).toISOString(),status:K.status,errors:K.errors,did:typeof K.did=="number"||typeof K.did=="string"?`${K.did}`:void 0,duration:K.duration,attrs:{release:K.release,environment:K.environment,ip_address:K.ipAddress,user_agent:K.userAgent}})}const $t=100;class wt{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext=je()}static clone(F){const ce=new wt;return F&&(ce._breadcrumbs=[...F._breadcrumbs],ce._tags=Wa({},F._tags),ce._extra=Wa({},F._extra),ce._contexts=Wa({},F._contexts),ce._user=F._user,ce._level=F._level,ce._span=F._span,ce._session=F._session,ce._transactionName=F._transactionName,ce._fingerprint=F._fingerprint,ce._eventProcessors=[...F._eventProcessors],ce._requestSession=F._requestSession,ce._attachments=[...F._attachments],ce._sdkProcessingMetadata=Wa({},F._sdkProcessingMetadata),ce._propagationContext=Wa({},F._propagationContext)),ce}addScopeListener(F){this._scopeListeners.push(F)}addEventProcessor(F){return this._eventProcessors.push(F),this}setUser(F){return this._user=F||{},this._session&&it(this._session,{user:F}),this._notifyScopeListeners(),this}getUser(){return this._user}getRequestSession(){return this._requestSession}setRequestSession(F){return this._requestSession=F,this}setTags(F){return this._tags=Wa(Wa({},this._tags),F),this._notifyScopeListeners(),this}setTag(F,ce){return this._tags=Qs(Wa({},this._tags),{[F]:ce}),this._notifyScopeListeners(),this}setExtras(F){return this._extra=Wa(Wa({},this._extra),F),this._notifyScopeListeners(),this}setExtra(F,ce){return this._extra=Qs(Wa({},this._extra),{[F]:ce}),this._notifyScopeListeners(),this}setFingerprint(F){return this._fingerprint=F,this._notifyScopeListeners(),this}setLevel(F){return this._level=F,this._notifyScopeListeners(),this}setTransactionName(F){return this._transactionName=F,this._notifyScopeListeners(),this}setContext(F,ce){return ce===null?delete this._contexts[F]:this._contexts[F]=ce,this._notifyScopeListeners(),this}setSpan(F){return this._span=F,this._notifyScopeListeners(),this}getSpan(){return this._span}getTransaction(){const F=this.getSpan();return F&&F.transaction}setSession(F){return F?this._session=F:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(F){if(!F)return this;if(typeof F=="function"){const ce=F(this);return ce instanceof wt?ce:this}return F instanceof wt?(this._tags=Wa(Wa({},this._tags),F._tags),this._extra=Wa(Wa({},this._extra),F._extra),this._contexts=Wa(Wa({},this._contexts),F._contexts),F._user&&Object.keys(F._user).length&&(this._user=F._user),F._level&&(this._level=F._level),F._fingerprint&&(this._fingerprint=F._fingerprint),F._requestSession&&(this._requestSession=F._requestSession),F._propagationContext&&(this._propagationContext=F._propagationContext)):mt(F)&&(F=F,this._tags=Wa(Wa({},this._tags),F.tags),this._extra=Wa(Wa({},this._extra),F.extra),this._contexts=Wa(Wa({},this._contexts),F.contexts),F.user&&(this._user=F.user),F.level&&(this._level=F.level),F.fingerprint&&(this._fingerprint=F.fingerprint),F.requestSession&&(this._requestSession=F.requestSession),F.propagationContext&&(this._propagationContext=F.propagationContext)),this}clear(){return this._breadcrumbs=[],this._tags={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._requestSession=void 0,this._span=void 0,this._session=void 0,this._notifyScopeListeners(),this._attachments=[],this._propagationContext=je(),this}addBreadcrumb(F,ce){const Me=typeof ce=="number"?ce:$t;if(Me<=0)return this;const ze=Wa({timestamp:(0,C.yW)()},F);return this._breadcrumbs=[...this._breadcrumbs,ze].slice(-Me),this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(F){return this._attachments.push(F),this}getAttachments(){return this._attachments}clearAttachments(){return this._attachments=[],this}applyToEvent(F,ce={}){if(this._extra&&Object.keys(this._extra).length&&(F.extra=Wa(Wa({},this._extra),F.extra)),this._tags&&Object.keys(this._tags).length&&(F.tags=Wa(Wa({},this._tags),F.tags)),this._user&&Object.keys(this._user).length&&(F.user=Wa(Wa({},this._user),F.user)),this._contexts&&Object.keys(this._contexts).length&&(F.contexts=Wa(Wa({},this._contexts),F.contexts)),this._level&&(F.level=this._level),this._transactionName&&(F.transaction=this._transactionName),this._span){F.contexts=Wa({trace:this._span.getTraceContext()},F.contexts);const Me=this._span.transaction;if(Me){F.sdkProcessingMetadata=Wa({dynamicSamplingContext:Me.getDynamicSamplingContext()},F.sdkProcessingMetadata);const ze=Me.name;ze&&(F.tags=Wa({transaction:ze},F.tags))}}return this._applyFingerprint(F),F.breadcrumbs=[...F.breadcrumbs||[],...this._breadcrumbs],F.breadcrumbs=F.breadcrumbs.length>0?F.breadcrumbs:void 0,F.sdkProcessingMetadata=Qs(Wa(Wa({},F.sdkProcessingMetadata),this._sdkProcessingMetadata),{propagationContext:this._propagationContext}),this._notifyEventProcessors([...Pt(),...this._eventProcessors],F,ce)}setSDKProcessingMetadata(F){return this._sdkProcessingMetadata=Wa(Wa({},this._sdkProcessingMetadata),F),this}setPropagationContext(F){return this._propagationContext=F,this}getPropagationContext(){return this._propagationContext}_notifyEventProcessors(F,ce,Me,ze=0){return new R((Qe,St)=>{const At=F[ze];if(ce===null||typeof At!="function")Qe(ce);else{const Yt=At(Wa({},ce),Me);(typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__)&&At.id&&Yt===null&&A.log(`Event processor "${At.id}" dropped event`),ke(Yt)?Yt.then(ln=>this._notifyEventProcessors(F,ln,Me,ze+1).then(Qe)).then(null,St):this._notifyEventProcessors(F,Yt,Me,ze+1).then(Qe).then(null,St)}})}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach(F=>{F(this)}),this._notifyingListeners=!1)}_applyFingerprint(F){F.fingerprint=F.fingerprint?Q(F.fingerprint):[],this._fingerprint&&(F.fingerprint=F.fingerprint.concat(this._fingerprint)),F.fingerprint&&!F.fingerprint.length&&delete F.fingerprint}}function Pt(){return(0,Z.YO)("globalEventProcessors",()=>[])}function dt(K){Pt().push(K)}function je(){return{traceId:D(),spanId:D().substring(16),sampled:!1}}const tt=4,lt=100;class bt{constructor(F,ce=new wt,Me=tt){this._version=Me,this._stack=[{scope:ce}],F&&this.bindClient(F)}isOlderThan(F){return this._version{Qe.captureException(F,Qs(Wa({originalException:F,syntheticException:ze},ce),{event_id:Me}),St)}),Me}captureMessage(F,ce,Me){const ze=this._lastEventId=Me&&Me.event_id?Me.event_id:D(),Qe=new Error(F);return this._withClient((St,At)=>{St.captureMessage(F,ce,Qs(Wa({originalException:F,syntheticException:Qe},Me),{event_id:ze}),At)}),ze}captureEvent(F,ce){const Me=ce&&ce.event_id?ce.event_id:D();return F.type||(this._lastEventId=Me),this._withClient((ze,Qe)=>{ze.captureEvent(F,Qs(Wa({},ce),{event_id:Me}),Qe)}),Me}lastEventId(){return this._lastEventId}addBreadcrumb(F,ce){const{scope:Me,client:ze}=this.getStackTop();if(!ze)return;const{beforeBreadcrumb:Qe=null,maxBreadcrumbs:St=lt}=ze.getOptions&&ze.getOptions()||{};if(St<=0)return;const At=(0,C.yW)(),Yt=Wa({timestamp:At},F),ln=Qe?H(()=>Qe(Yt,ce)):Yt;ln!==null&&(ze.emit&&ze.emit("beforeAddBreadcrumb",ln,ce),Me.addBreadcrumb(ln,St))}setUser(F){this.getScope().setUser(F)}setTags(F){this.getScope().setTags(F)}setExtras(F){this.getScope().setExtras(F)}setTag(F,ce){this.getScope().setTag(F,ce)}setExtra(F,ce){this.getScope().setExtra(F,ce)}setContext(F,ce){this.getScope().setContext(F,ce)}configureScope(F){const{scope:ce,client:Me}=this.getStackTop();Me&&F(ce)}run(F){const ce=Kt(this);try{F(this)}finally{Kt(ce)}}getIntegration(F){const ce=this.getClient();if(!ce)return null;try{return ce.getIntegration(F)}catch(Me){return(typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__)&&A.warn(`Cannot retrieve integration ${F.id} from the current Hub`),null}}startTransaction(F,ce){const Me=this._callExtensionMethod("startTransaction",F,ce);if((typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__)&&!Me){const ze=this.getClient();console.warn(ze?`Tracing extension 'startTransaction' has not been added. Call 'addTracingExtensions' before calling 'init': +Sentry.addTracingExtensions(); +Sentry.init({...}); +`:"Tracing extension 'startTransaction' is missing. You should 'init' the SDK before calling 'startTransaction'")}return Me}traceHeaders(){return this._callExtensionMethod("traceHeaders")}captureSession(F=!1){if(F)return this.endSession();this._sendSessionUpdate()}endSession(){const ce=this.getStackTop().scope,Me=ce.getSession();Me&&Ge(Me),this._sendSessionUpdate(),ce.setSession()}startSession(F){const{scope:ce,client:Me}=this.getStackTop(),{release:ze,environment:Qe=Y}=Me&&Me.getOptions()||{},{userAgent:St}=Z.n2.navigator||{},At=Be(Wa(Wa({release:ze,environment:Qe,user:ce.getUser()},St&&{userAgent:St}),F)),Yt=ce.getSession&&ce.getSession();return Yt&&Yt.status==="ok"&&it(Yt,{status:"exited"}),this.endSession(),ce.setSession(At),At}shouldSendDefaultPii(){const F=this.getClient(),ce=F&&F.getOptions();return!!(ce&&ce.sendDefaultPii)}_sendSessionUpdate(){const{scope:F,client:ce}=this.getStackTop(),Me=F.getSession();Me&&ce&&ce.captureSession&&ce.captureSession(Me)}_withClient(F){const{scope:ce,client:Me}=this.getStackTop();Me&&F(Me,ce)}_callExtensionMethod(F,...ce){const ze=It().__SENTRY__;if(ze&&ze.extensions&&typeof ze.extensions[F]=="function")return ze.extensions[F].apply(this,ce);(typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__)&&A.warn(`Extension method ${F} couldn't be found, doing nothing.`)}}function It(){return Z.n2.__SENTRY__=Z.n2.__SENTRY__||{extensions:{},hub:void 0},Z.n2}function Kt(K){const F=It(),ce=Ye(F);return et(F,K),ce}function zt(){const K=It();if(K.__SENTRY__&&K.__SENTRY__.acs){const F=K.__SENTRY__.acs.getCurrentHub();if(F)return F}return Mt(K)}function Mt(K=It()){return(!Tt(K)||Ye(K).isOlderThan(tt))&&et(K,new bt),Ye(K)}function Le(K,F=Mt()){if(!Tt(K)||Ye(K).isOlderThan(tt)){const ce=F.getStackTop();et(K,new bt(ce.client,Scope.clone(ce.scope)))}}function Ce(K){const F=It();F.__SENTRY__=F.__SENTRY__||{},F.__SENTRY__.acs=K}function Et(K,F={}){const ce=It();return ce.__SENTRY__&&ce.__SENTRY__.acs?ce.__SENTRY__.acs.runWithAsyncContext(K,F):K()}function Tt(K){return!!(K&&K.__SENTRY__&&K.__SENTRY__.hub)}function Ye(K){return(0,Z.YO)("hub",()=>new bt,K)}function et(K,F){if(!K)return!1;const ce=K.__SENTRY__=K.__SENTRY__||{};return ce.hub=F,!0}const _t=[/^Script error\.?$/,/^Javascript error: Script error\.? on line 0$/],Ut=[/^.*healthcheck.*$/,/^.*healthy.*$/,/^.*live.*$/,/^.*ready.*$/,/^.*heartbeat.*$/,/^.*\/health$/,/^.*\/healthz$/];class qt{static __initStatic(){this.id="InboundFilters"}constructor(F={}){this.name=qt.id,this._options=F}setupOnce(F,ce){const Me=ze=>{const Qe=ce();if(Qe){const St=Qe.getIntegration(qt);if(St){const At=Qe.getClient(),Yt=At?At.getOptions():{},ln=un(St._options,Yt);return Mn(ze,ln)?null:ze}}return ze};Me.id=this.name,F(Me)}}qt.__initStatic();function un(K={},F={}){return{allowUrls:[...K.allowUrls||[],...F.allowUrls||[]],denyUrls:[...K.denyUrls||[],...F.denyUrls||[]],ignoreErrors:[...K.ignoreErrors||[],...F.ignoreErrors||[],...K.disableErrorDefaults?[]:_t],ignoreTransactions:[...K.ignoreTransactions||[],...F.ignoreTransactions||[],...K.disableTransactionDefaults?[]:Ut],ignoreInternal:K.ignoreInternal!==void 0?K.ignoreInternal:!0}}function Mn(K,F){return F.ignoreInternal&&Wt(K)?((typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__)&&A.warn(`Event dropped due to being internal Sentry Error. +Event: ${j(K)}`),!0):vn(K,F.ignoreErrors)?((typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__)&&A.warn(`Event dropped due to being matched by \`ignoreErrors\` option. +Event: ${j(K)}`),!0):Xn(K,F.ignoreTransactions)?((typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__)&&A.warn(`Event dropped due to being matched by \`ignoreTransactions\` option. +Event: ${j(K)}`),!0):Vn(K,F.denyUrls)?((typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__)&&A.warn(`Event dropped due to being matched by \`denyUrls\` option. +Event: ${j(K)}. +Url: ${nn(K)}`),!0):or(K,F.allowUrls)?!1:((typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__)&&A.warn(`Event dropped due to not being matched by \`allowUrls\` option. +Event: ${j(K)}. +Url: ${nn(K)}`),!0)}function vn(K,F){return K.type||!F||!F.length?!1:er(K).some(ce=>oe(ce,F))}function Xn(K,F){if(K.type!=="transaction"||!F||!F.length)return!1;const ce=K.transaction;return ce?oe(ce,F):!1}function Vn(K,F){if(!F||!F.length)return!1;const ce=nn(K);return ce?oe(ce,F):!1}function or(K,F){if(!F||!F.length)return!0;const ce=nn(K);return ce?oe(ce,F):!0}function er(K){if(K.message)return[K.message];if(K.exception){const{values:F}=K.exception;try{const{type:ce="",value:Me=""}=F&&F[F.length-1]||{};return[`${Me}`,`${ce}: ${Me}`]}catch(ce){return(typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__)&&A.error(`Cannot extract message for event ${j(K)}`),[]}}return[]}function Wt(K){try{return K.exception.values[0].type==="SentryError"}catch(F){}return!1}function en(K=[]){for(let F=K.length-1;F>=0;F--){const ce=K[F];if(ce&&ce.filename!==""&&ce.filename!=="[native code]")return ce.filename||null}return null}function nn(K){try{let F;try{F=K.exception.values[0].stacktrace.frames}catch(ce){}return F?en(F):null}catch(F){return(typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__)&&A.error(`Cannot extract url for event ${j(K)}`),null}}let fn;class En{static __initStatic(){this.id="FunctionToString"}constructor(){this.name=En.id}setupOnce(){fn=Function.prototype.toString;try{Function.prototype.toString=function(...F){const ce=le(this)||this;return fn.apply(ce,F)}}catch(F){}}}En.__initStatic();const on=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)([\w.-]+)(?::(\d+))?\/(.+)/;function pt(K){return K==="http"||K==="https"}function gt(K,F=!1){const{host:ce,path:Me,pass:ze,port:Qe,projectId:St,protocol:At,publicKey:Yt}=K;return`${At}://${Yt}${F&&ze?`:${ze}`:""}@${ce}${Qe?`:${Qe}`:""}/${Me&&`${Me}/`}${St}`}function Xt(K){const F=on.exec(K);if(!F){console.error(`Invalid Sentry Dsn: ${K}`);return}const[ce,Me,ze="",Qe,St="",At]=F.slice(1);let Yt="",ln=At;const Hn=ln.split("/");if(Hn.length>1&&(Yt=Hn.slice(0,-1).join("/"),ln=Hn.pop()),ln){const Dn=ln.match(/^\d+/);Dn&&(ln=Dn[0])}return rn({host:Qe,pass:ze,path:Yt,projectId:ln,port:St,protocol:ce,publicKey:Me})}function rn(K){return{protocol:K.protocol,publicKey:K.publicKey||"",pass:K.pass||"",host:K.host,port:K.port||"",path:K.path||"",projectId:K.projectId}}function Jt(K){if(!(typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__))return!0;const{port:F,projectId:ce,protocol:Me}=K;return["protocol","publicKey","host","projectId"].find(St=>K[St]?!1:(A.error(`Invalid Sentry Dsn: ${St} missing`),!0))?!1:ce.match(/^\d+$/)?pt(Me)?F&&isNaN(parseInt(F,10))?(A.error(`Invalid Sentry Dsn: Invalid port ${F}`),!1):!0:(A.error(`Invalid Sentry Dsn: Invalid protocol ${Me}`),!1):(A.error(`Invalid Sentry Dsn: Invalid projectId ${ce}`),!1)}function pn(K){const F=typeof K=="string"?Xt(K):rn(K);if(!(!F||!Jt(F)))return F}const mn="7";function Zn(K){const F=K.protocol?`${K.protocol}:`:"",ce=K.port?`:${K.port}`:"";return`${F}//${K.host}${ce}${K.path?`/${K.path}`:""}/api/`}function tr(K){return`${Zn(K)}${K.projectId}/envelope/`}function ut(K,F){return urlEncode(Wa({sentry_key:K.publicKey,sentry_version:mn},F&&{sentry_client:`${F.name}/${F.version}`}))}function ct(K,F={}){const ce=typeof F=="string"?F:F.tunnel,Me=typeof F=="string"||!F._metadata?void 0:F._metadata.sdk;return ce||`${tr(K)}?${ut(K,Me)}`}function Dt(K,F){const ce=pn(K);if(!ce)return"";const Me=`${Zn(ce)}embed/error-page/`;let ze=`dsn=${gt(ce)}`;for(const Qe in F)if(Qe!=="dsn")if(Qe==="user"){const St=F.user;if(!St)continue;St.name&&(ze+=`&name=${encodeURIComponent(St.name)}`),St.email&&(ze+=`&email=${encodeURIComponent(St.email)}`)}else ze+=`&${encodeURIComponent(Qe)}=${encodeURIComponent(F[Qe])}`;return`${Me}?${ze}`}function xt(K,F){return zt().captureException(K,{captureContext:F})}function kt(K,F){const ce=typeof F=="string"?F:void 0,Me=typeof F!="string"?{captureContext:F}:void 0;return getCurrentHub().captureMessage(K,ce,Me)}function sn(K,F){return getCurrentHub().captureEvent(K,F)}function tn(K){getCurrentHub().configureScope(K)}function xn(K){getCurrentHub().addBreadcrumb(K)}function Nn(K,F){getCurrentHub().setContext(K,F)}function gr(K){getCurrentHub().setExtras(K)}function nr(K,F){getCurrentHub().setExtra(K,F)}function Rn(K){getCurrentHub().setTags(K)}function kr(K,F){getCurrentHub().setTag(K,F)}function fr(K){getCurrentHub().setUser(K)}function ua(K){zt().withScope(K)}function Pr(K,F){return getCurrentHub().startTransaction(Wa({},K),F)}function Bn(K,F){const ce=getCurrentHub(),Me=ce.getScope(),ze=ce.getClient();if(!ze)(typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__)&&logger.warn("Cannot capture check-in. No client defined.");else if(!ze.captureCheckIn)(typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__)&&logger.warn("Cannot capture check-in. Client does not support sending check-ins.");else return ze.captureCheckIn(K,F,Me);return uuid4()}function Cn(K){return xf(this,null,function*(){const F=getCurrentHub().getClient();return F?F.flush(K):((typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__)&&logger.warn("Cannot flush events. No client defined."),Promise.resolve(!1))})}function wn(K){return xf(this,null,function*(){const F=getCurrentHub().getClient();return F?F.close(K):((typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__)&&logger.warn("Cannot flush events and disable SDK. No client defined."),Promise.resolve(!1))})}function ar(){return getCurrentHub().lastEventId()}const mr=Z.n2;let Qr=0;function qr(){return Qr>0}function ya(){Qr++,setTimeout(()=>{Qr--})}function dr(K,F={},ce){if(typeof K!="function")return K;try{const ze=K.__sentry_wrapped__;if(ze)return ze;if(le(K))return K}catch(ze){return K}const Me=function(){const ze=Array.prototype.slice.call(arguments);try{ce&&typeof ce=="function"&&ce.apply(this,arguments);const Qe=ze.map(St=>dr(St,F));return K.apply(this,Qe)}catch(Qe){throw ya(),ua(St=>{St.addEventProcessor(At=>(F.mechanism&&(G(At,void 0,void 0),W(At,F.mechanism)),At.extra=Qs(Wa({},At.extra),{arguments:ze}),At)),xt(Qe)}),Qe}};try{for(const ze in K)Object.prototype.hasOwnProperty.call(K,ze)&&(Me[ze]=K[ze])}catch(ze){}Ee(Me,K),ue(K,"__sentry_wrapped__",Me);try{Object.getOwnPropertyDescriptor(Me,"name").configurable&&Object.defineProperty(Me,"name",{get(){return K.name}})}catch(ze){}return Me}const Br=50,Ea=/\(error: (.*)\)/,ca=/captureMessage|captureException/;function Kn(...K){const F=K.sort((ce,Me)=>ce[0]-Me[0]).map(ce=>ce[1]);return(ce,Me=0)=>{const ze=[],Qe=ce.split(` +`);for(let St=Me;St1024)continue;const Yt=Ea.test(At)?At.replace(Ea,"$1"):At;if(!Yt.match(/\S*Error: /)){for(const ln of F){const Hn=ln(Yt);if(Hn){ze.push(Hn);break}}if(ze.length>=Br)break}}return vr(ze)}}function zn(K){return Array.isArray(K)?Kn(...K):K}function vr(K){if(!K.length)return[];const F=Array.from(K);return/sentryWrapped/.test(F[F.length-1].function||"")&&F.pop(),F.reverse(),ca.test(F[F.length-1].function||"")&&(F.pop(),ca.test(F[F.length-1].function||"")&&F.pop()),F.slice(0,Br).map(ce=>Qs(Wa({},ce),{filename:ce.filename||F[F.length-1].filename,function:ce.function||"?"}))}const ra="";function xr(K){try{return!K||typeof K!="function"?ra:K.name||ra}catch(F){return ra}}function jt(K){return[90,node(K)]}const an=(0,Z.Rf)();function hn(){try{return new ErrorEvent(""),!0}catch(K){return!1}}function ao(){try{return new DOMError(""),!0}catch(K){return!1}}function Mo(){try{return new DOMException(""),!0}catch(K){return!1}}function Ua(){if(!("fetch"in an))return!1;try{return new Headers,new Request("http://www.example.com"),new Response,!0}catch(K){return!1}}function Ha(K){return K&&/^function fetch\(\)\s+\{\s+\[native code\]\s+\}$/.test(K.toString())}function eo(){if(!Ua())return!1;if(Ha(an.fetch))return!0;let K=!1;const F=an.document;if(F&&typeof F.createElement=="function")try{const ce=F.createElement("iframe");ce.hidden=!0,F.head.appendChild(ce),ce.contentWindow&&ce.contentWindow.fetch&&(K=Ha(ce.contentWindow.fetch)),F.head.removeChild(ce)}catch(ce){(typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__)&&A.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",ce)}return K}function jo(){return"ReportingObserver"in an}function Wo(){if(!Ua())return!1;try{return new Request("_",{referrerPolicy:"origin"}),!0}catch(K){return!1}}const Eo=(0,Z.Rf)();function ft(){const K=Eo.chrome,F=K&&K.app&&K.app.runtime,ce="history"in Eo&&!!Eo.history.pushState&&!!Eo.history.replaceState;return!F&&ce}const Nt=(0,Z.Rf)(),Ie="__sentry_xhr_v2__",cn={},dn={};function _n(K){if(!dn[K])switch(dn[K]=!0,K){case"console":Wr();break;case"dom":Gn();break;case"xhr":Ir();break;case"fetch":Da();break;case"history":pa();break;case"error":Hr();break;case"unhandledrejection":sr();break;default:(typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__)&&A.warn("unknown instrumentation type:",K);return}}function Tn(K,F){cn[K]=cn[K]||[],cn[K].push(F),_n(K)}function yr(K,F){if(!(!K||!cn[K]))for(const ce of cn[K]||[])try{ce(F)}catch(Me){(typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__)&&A.error(`Error while triggering instrumentation handler. +Type: ${K} +Name: ${xr(ce)} +Error:`,Me)}}function Wr(){"console"in Nt&&O.forEach(function(K){K in Nt.console&&q(Nt.console,K,function(F){return function(...ce){yr("console",{args:ce,level:K}),F&&F.apply(Nt.console,ce)}})})}function Da(){eo()&&q(Nt,"fetch",function(K){return function(...F){const{method:ce,url:Me}=oa(F),ze={args:F,fetchData:{method:ce,url:Me},startTimestamp:Date.now()};return yr("fetch",Wa({},ze)),K.apply(Nt,F).then(Qe=>(yr("fetch",Qs(Wa({},ze),{endTimestamp:Date.now(),response:Qe})),Qe),Qe=>{throw yr("fetch",Qs(Wa({},ze),{endTimestamp:Date.now(),error:Qe})),Qe})}})}function la(K,F){return!!K&&typeof K=="object"&&!!K[F]}function ea(K){return typeof K=="string"?K:K?la(K,"url")?K.url:K.toString?K.toString():"":""}function oa(K){if(K.length===0)return{method:"GET",url:""};if(K.length===2){const[ce,Me]=K;return{url:ea(ce),method:la(Me,"method")?String(Me.method).toUpperCase():"GET"}}const F=K[0];return{url:ea(F),method:la(F,"method")?String(F.method).toUpperCase():"GET"}}function Ir(){if(!("XMLHttpRequest"in Nt))return;const K=XMLHttpRequest.prototype;q(K,"open",function(F){return function(...ce){const Me=ce[1],ze=this[Ie]={method:qe(ce[0])?ce[0].toUpperCase():ce[0],url:ce[1],request_headers:{}};qe(Me)&&ze.method==="POST"&&Me.match(/sentry_key/)&&(this.__sentry_own_request__=!0);const Qe=()=>{const St=this[Ie];if(St&&this.readyState===4){try{St.status_code=this.status}catch(At){}yr("xhr",{args:ce,endTimestamp:Date.now(),startTimestamp:Date.now(),xhr:this})}};return"onreadystatechange"in this&&typeof this.onreadystatechange=="function"?q(this,"onreadystatechange",function(St){return function(...At){return Qe(),St.apply(this,At)}}):this.addEventListener("readystatechange",Qe),q(this,"setRequestHeader",function(St){return function(...At){const[Yt,ln]=At,Hn=this[Ie];return Hn&&(Hn.request_headers[Yt.toLowerCase()]=ln),St.apply(this,At)}}),F.apply(this,ce)}}),q(K,"send",function(F){return function(...ce){const Me=this[Ie];return Me&&ce[0]!==void 0&&(Me.body=ce[0]),yr("xhr",{args:ce,startTimestamp:Date.now(),xhr:this}),F.apply(this,ce)}})}let $r;function pa(){if(!ft())return;const K=Nt.onpopstate;Nt.onpopstate=function(...ce){const Me=Nt.location.href,ze=$r;if($r=Me,yr("history",{from:ze,to:Me}),K)try{return K.apply(this,ce)}catch(Qe){}};function F(ce){return function(...Me){const ze=Me.length>2?Me[2]:void 0;if(ze){const Qe=$r,St=String(ze);$r=St,yr("history",{from:Qe,to:St})}return ce.apply(this,Me)}}q(Nt.history,"pushState",F),q(Nt.history,"replaceState",F)}const La=1e3;let lo,Qa;function Gt(K,F){if(!K||K.type!==F.type)return!0;try{if(K.target!==F.target)return!0}catch(ce){}return!1}function yn(K){if(K.type!=="keypress")return!1;try{const F=K.target;if(!F||!F.tagName)return!0;if(F.tagName==="INPUT"||F.tagName==="TEXTAREA"||F.isContentEditable)return!1}catch(F){}return!0}function jn(K,F=!1){return ce=>{if(!ce||Qa===ce||yn(ce))return;const Me=ce.type==="keypress"?"input":ce.type;lo===void 0?(K({event:ce,name:Me,global:F}),Qa=ce):Gt(Qa,ce)&&(K({event:ce,name:Me,global:F}),Qa=ce),clearTimeout(lo),lo=Nt.setTimeout(()=>{lo=void 0},La)}}function Gn(){if(!("document"in Nt))return;const K=yr.bind(null,"dom"),F=jn(K,!0);Nt.document.addEventListener("click",F,!1),Nt.document.addEventListener("keypress",F,!1),["EventTarget","Node"].forEach(ce=>{const Me=Nt[ce]&&Nt[ce].prototype;!Me||!Me.hasOwnProperty||!Me.hasOwnProperty("addEventListener")||(q(Me,"addEventListener",function(ze){return function(Qe,St,At){if(Qe==="click"||Qe=="keypress")try{const Yt=this,ln=Yt.__sentry_instrumentation_handlers__=Yt.__sentry_instrumentation_handlers__||{},Hn=ln[Qe]=ln[Qe]||{refCount:0};if(!Hn.handler){const Dn=jn(K);Hn.handler=Dn,ze.call(this,Qe,Dn,At)}Hn.refCount++}catch(Yt){}return ze.call(this,Qe,St,At)}}),q(Me,"removeEventListener",function(ze){return function(Qe,St,At){if(Qe==="click"||Qe=="keypress")try{const Yt=this,ln=Yt.__sentry_instrumentation_handlers__||{},Hn=ln[Qe];Hn&&(Hn.refCount--,Hn.refCount<=0&&(ze.call(this,Qe,Hn.handler,At),Hn.handler=void 0,delete ln[Qe]),Object.keys(ln).length===0&&delete Yt.__sentry_instrumentation_handlers__)}catch(Yt){}return ze.call(this,Qe,St,At)}}))})}let br=null;function Hr(){br=Nt.onerror,Nt.onerror=function(K,F,ce,Me,ze){return yr("error",{column:Me,error:ze,line:ce,msg:K,url:F}),br&&!br.__SENTRY_LOADER__?br.apply(this,arguments):!1},Nt.onerror.__SENTRY_INSTRUMENTED__=!0}let ta=null;function sr(){ta=Nt.onunhandledrejection,Nt.onunhandledrejection=function(K){return yr("unhandledrejection",K),ta&&!ta.__SENTRY_LOADER__?ta.apply(this,arguments):!0},Nt.onunhandledrejection.__SENTRY_INSTRUMENTED__=!0}function zr(){const K=typeof WeakSet=="function",F=K?new WeakSet:[];function ce(ze){if(K)return F.has(ze)?!0:(F.add(ze),!1);for(let Qe=0;Qece?Sr(K,F-1,ce):Me}function xa(K,F,ce=1/0,Me=1/0,ze=zr()){const[Qe,St]=ze;if(F==null||["number","boolean","string"].includes(typeof F)&&!ot(F))return F;const At=Xa(K,F);if(!At.startsWith("[object "))return At;if(F.__sentry_skip_normalization__)return F;const Yt=typeof F.__sentry_override_normalization_depth__=="number"?F.__sentry_override_normalization_depth__:ce;if(Yt===0)return At.replace("object ","");if(Qe(F))return"[Circular ~]";const ln=F;if(ln&&typeof ln.toJSON=="function")try{const Kr=ln.toJSON();return xa("",Kr,Yt-1,Me,ze)}catch(Kr){}const Hn=Array.isArray(F)?[]:{};let Dn=0;const qn=Ae(F);for(const Kr in qn){if(!Object.prototype.hasOwnProperty.call(qn,Kr))continue;if(Dn>=Me){Hn[Kr]="[MaxProperties ~]";break}const na=qn[Kr];Hn[Kr]=xa(Kr,na,Yt-1,Me,ze),Dn++}return St(F),Hn}function Xa(K,F){try{if(K==="domain"&&F&&typeof F=="object"&&F._events)return"[Domain]";if(K==="domainEmitter")return"[DomainEmitter]";if(typeof e.g!="undefined"&&F===e.g)return"[Global]";if(typeof window!="undefined"&&F===window)return"[Window]";if(typeof document!="undefined"&&F===document)return"[Document]";if(Ve(F))return"[SyntheticEvent]";if(typeof F=="number"&&F!==F)return"[NaN]";if(typeof F=="function")return`[Function: ${xr(F)}]`;if(typeof F=="symbol")return`[${String(F)}]`;if(typeof F=="bigint")return`[BigInt: ${String(F)}]`;const ce=bo(F);return/^HTML(\w*)Element$/.test(ce)?`[HTMLElement: ${ce}]`:`[object ${ce}]`}catch(ce){return`**non-serializable** (${ce})`}}function bo(K){const F=Object.getPrototypeOf(K);return F?F.constructor.name:"null prototype"}function Oo(K){return~-encodeURI(K).split(/%..|./).length}function Va(K){return Oo(JSON.stringify(K))}function xo(K,F){const ce=_a(K,F),Me={type:F&&F.name,value:ni(F)};return ce.length&&(Me.stacktrace={frames:ce}),Me.type===void 0&&Me.value===""&&(Me.value="Unrecoverable error caught"),Me}function io(K,F,ce,Me){const Qe=zt().getClient(),St=Qe&&Qe.getOptions().normalizeDepth,At={exception:{values:[{type:Ct(F)?F.constructor.name:Me?"UnhandledRejection":"Error",value:li(F,{isUnhandledRejection:Me})}]},extra:{__serialized__:Sr(F,St)}};if(ce){const Yt=_a(K,ce);Yt.length&&(At.exception.values[0].stacktrace={frames:Yt})}return At}function Ca(K,F){return{exception:{values:[xo(K,F)]}}}function _a(K,F){const ce=F.stacktrace||F.stack||"",Me=Yo(F);try{return K(ce,Me)}catch(ze){}return[]}const Io=/Minified React error #\d+;/i;function Yo(K){if(K){if(typeof K.framesToPop=="number")return K.framesToPop;if(Io.test(K.message))return 1}return 0}function ni(K){const F=K&&K.message;return F?F.error&&typeof F.error.message=="string"?F.error.message:F:"No error message"}function co(K,F,ce,Me){const ze=ce&&ce.syntheticException||void 0,Qe=ai(K,F,ze,Me);return addExceptionMechanism(Qe),Qe.level="error",ce&&ce.event_id&&(Qe.event_id=ce.event_id),resolvedSyncPromise(Qe)}function Mi(K,F,ce="info",Me,ze){const Qe=Me&&Me.syntheticException||void 0,St=Po(K,F,Qe,ze);return St.level=ce,Me&&Me.event_id&&(St.event_id=Me.event_id),resolvedSyncPromise(St)}function ai(K,F,ce,Me,ze){let Qe;if(be(F)&&F.error)return Ca(K,F.error);if(Pe(F)||Je(F)){const St=F;if("stack"in F)Qe=Ca(K,F);else{const At=St.name||(Pe(St)?"DOMError":"DOMException"),Yt=St.message?`${At}: ${St.message}`:At;Qe=Po(K,Yt,ce,Me),G(Qe,Yt)}return"code"in St&&(Qe.tags=Qs(Wa({},Qe.tags),{"DOMException.code":`${St.code}`})),Qe}return me(F)?Ca(K,F):mt(F)||Ct(F)?(Qe=io(K,F,ce,ze),W(Qe,{synthetic:!0}),Qe):(Qe=Po(K,F,ce,Me),G(Qe,`${F}`,void 0),W(Qe,{synthetic:!0}),Qe)}function Po(K,F,ce,Me){const ze={message:F};if(Me&&ce){const Qe=_a(K,ce);Qe.length&&(ze.exception={values:[{value:F,stacktrace:{frames:Qe}}]})}return ze}function li(K,{isUnhandledRejection:F}){const ce=st(K),Me=F?"promise rejection":"exception";return be(K)?`Event \`ErrorEvent\` captured as ${Me} with message \`${K.message}\``:Ct(K)?`Event \`${Pi(K)}\` (type=${K.type}) captured as ${Me}`:`Object captured as ${Me} with keys: ${ce}`}function Pi(K){try{const F=Object.getPrototypeOf(K);return F?F.constructor.name:void 0}catch(F){}}class hi{static __initStatic(){this.id="GlobalHandlers"}constructor(F){this.name=hi.id,this._options=Wa({onerror:!0,onunhandledrejection:!0},F),this._installFunc={onerror:yi,onunhandledrejection:Zi}}setupOnce(){Error.stackTraceLimit=50;const F=this._options;for(const ce in F){const Me=this._installFunc[ce];Me&&F[ce]&&(ri(ce),Me(),this._installFunc[ce]=void 0)}}}hi.__initStatic();function yi(){Tn("error",K=>{const[F,ce,Me]=No();if(!F.getIntegration(hi))return;const{msg:ze,url:Qe,line:St,column:At,error:Yt}=K;if(qr()||Yt&&Yt.__sentry_own_request__)return;const ln=Yt===void 0&&qe(ze)?oo(ze,Qe,St,At):Ja(ai(ce,Yt||ze,void 0,Me,!1),Qe,St,At);ln.level="error",oi(F,Yt,ln,"onerror")})}function Zi(){Tn("unhandledrejection",K=>{const[F,ce,Me]=No();if(!F.getIntegration(hi))return;let ze=K;try{"reason"in K?ze=K.reason:"detail"in K&&"reason"in K.detail&&(ze=K.detail.reason)}catch(St){}if(qr()||ze&&ze.__sentry_own_request__)return!0;const Qe=Xe(ze)?ji(ze):ai(ce,ze,void 0,Me,!0);Qe.level="error",oi(F,ze,Qe,"onunhandledrejection")})}function ji(K){return{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(K)}`}]}}}function oo(K,F,ce,Me){const ze=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;let Qe=be(K)?K.message:K,St="Error";const At=Qe.match(ze);return At&&(St=At[1],Qe=At[2]),Ja({exception:{values:[{type:St,value:Qe}]}},F,ce,Me)}function Ja(K,F,ce,Me){const ze=K.exception=K.exception||{},Qe=ze.values=ze.values||[],St=Qe[0]=Qe[0]||{},At=St.stacktrace=St.stacktrace||{},Yt=At.frames=At.frames||[],ln=isNaN(parseInt(Me,10))?void 0:Me,Hn=isNaN(parseInt(ce,10))?void 0:ce,Dn=qe(F)&&F.length>0?F:pe();return Yt.length===0&&Yt.push({colno:ln,filename:Dn,function:"?",in_app:!0,lineno:Hn}),K}function ri(K){(typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__)&&A.log(`Global Handler attached: ${K}`)}function oi(K,F,ce,Me){W(ce,{handled:!1,type:Me}),K.captureEvent(ce,{originalException:F})}function No(){const K=zt(),F=K.getClient(),ce=F&&F.getOptions()||{stackParser:()=>[],attachStacktrace:!1};return[K,ce.stackParser,ce.attachStacktrace]}const zo=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"];class xi{static __initStatic(){this.id="TryCatch"}constructor(F){this.name=xi.id,this._options=Wa({XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0},F)}setupOnce(){this._options.setTimeout&&q(mr,"setTimeout",Ui),this._options.setInterval&&q(mr,"setInterval",Ui),this._options.requestAnimationFrame&&q(mr,"requestAnimationFrame",ki),this._options.XMLHttpRequest&&"XMLHttpRequest"in mr&&q(XMLHttpRequest.prototype,"send",Ts);const F=this._options.eventTarget;F&&(Array.isArray(F)?F:zo).forEach(fs)}}xi.__initStatic();function Ui(K){return function(...F){const ce=F[0];return F[0]=dr(ce,{mechanism:{data:{function:xr(K)},handled:!0,type:"instrument"}}),K.apply(this,F)}}function ki(K){return function(F){return K.apply(this,[dr(F,{mechanism:{data:{function:"requestAnimationFrame",handler:xr(K)},handled:!0,type:"instrument"}})])}}function Ts(K){return function(...F){const ce=this;return["onload","onerror","onprogress","onreadystatechange"].forEach(ze=>{ze in ce&&typeof ce[ze]=="function"&&q(ce,ze,function(Qe){const St={mechanism:{data:{function:ze,handler:xr(Qe)},handled:!0,type:"instrument"}},At=le(Qe);return At&&(St.mechanism.data.handler=xr(At)),dr(Qe,St)})}),K.apply(this,F)}}function fs(K){const F=mr,ce=F[K]&&F[K].prototype;!ce||!ce.hasOwnProperty||!ce.hasOwnProperty("addEventListener")||(q(ce,"addEventListener",function(Me){return function(ze,Qe,St){try{typeof Qe.handleEvent=="function"&&(Qe.handleEvent=dr(Qe.handleEvent,{mechanism:{data:{function:"handleEvent",handler:xr(Qe),target:K},handled:!0,type:"instrument"}}))}catch(At){}return Me.apply(this,[ze,dr(Qe,{mechanism:{data:{function:"addEventListener",handler:xr(Qe),target:K},handled:!0,type:"instrument"}}),St])}}),q(ce,"removeEventListener",function(Me){return function(ze,Qe,St){const At=Qe;try{const Yt=At&&At.__sentry_wrapped__;Yt&&Me.call(this,ze,Yt,St)}catch(Yt){}return Me.call(this,ze,At,St)}}))}const Xs=["fatal","error","warning","log","info","debug"];function zl(K){return kn(K)}function kn(K){return K==="warn"?"warning":Xs.includes(K)?K:"log"}function _r(K){if(!K)return{};const F=K.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!F)return{};const ce=F[6]||"",Me=F[8]||"";return{host:F[4],path:F[5],protocol:F[2],search:ce,hash:Me,relative:F[5]+ce+Me}}function Dr(K){return K.split(/[\?#]/,1)[0]}function Zr(K){return K.split(/\\?\//).filter(F=>F.length>0&&F!==",").length}function sa(K){const{protocol:F,host:ce,path:Me}=K,ze=ce&&ce.replace(/^.*@/,"[filtered]:[filtered]@").replace(":80","").replace(":443","")||"";return`${F?`${F}://`:""}${ze}${Me}`}const ja=1024,Fa="Breadcrumbs";class Na{static __initStatic(){this.id=Fa}constructor(F){this.name=Na.id,this.options=Wa({console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0},F)}setupOnce(){this.options.console&&Tn("console",Vo),this.options.dom&&Tn("dom",Bo(this.options.dom)),this.options.xhr&&Tn("xhr",Go),this.options.fetch&&Tn("fetch",Bi),this.options.history&&Tn("history",ps)}addSentryBreadcrumb(F){this.options.sentry&&zt().addBreadcrumb({category:`sentry.${F.type==="transaction"?"transaction":"event"}`,event_id:F.event_id,level:F.level,message:j(F)},{event:F})}}Na.__initStatic();function Bo(K){function F(ce){let Me,ze=typeof K=="object"?K.serializeAttribute:void 0,Qe=typeof K=="object"&&typeof K.maxStringLength=="number"?K.maxStringLength:void 0;Qe&&Qe>ja&&((typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__)&&A.warn(`\`dom.maxStringLength\` cannot exceed ${ja}, but a value of ${Qe} was configured. Sentry will use ${ja} instead.`),Qe=ja),typeof ze=="string"&&(ze=[ze]);try{const St=ce.event;Me=es(St)?ge(St.target,{keyAttrs:ze,maxStringLength:Qe}):ge(St,{keyAttrs:ze,maxStringLength:Qe})}catch(St){Me=""}Me.length!==0&&zt().addBreadcrumb({category:`ui.${ce.name}`,message:Me},{event:ce.event,name:ce.name,global:ce.global})}return F}function Vo(K){for(let ce=0;ce0?Qe.exception.values[Qe.exception.values.length-1]:void 0;At&&(Qe.exception.values=Il(ss(K,F,ze,St.originalException,Me,Qe.exception.values,At,0),ce))}function ss(K,F,ce,Me,ze,Qe,St,At){if(Qe.length>=ce+1)return Qe;let Yt=[...Qe];if(Ke(Me[ze],Error)){qo(St,At);const ln=K(F,Me[ze]),Hn=Yt.length;Fl(ln,ze,Hn,At),Yt=ss(K,F,ce,Me[ze],ze,[ln,...Yt],ln,Hn)}return Array.isArray(Me.errors)&&Me.errors.forEach((ln,Hn)=>{if(Ke(ln,Error)){qo(St,At);const Dn=K(F,ln),qn=Yt.length;Fl(Dn,`errors[${Hn}]`,qn,At),Yt=ss(K,F,ce,ln,ze,[Dn,...Yt],Dn,qn)}}),Yt}function qo(K,F){K.mechanism=K.mechanism||{type:"generic",handled:!0},K.mechanism=Qs(Wa({},K.mechanism),{is_exception_group:!0,exception_id:F})}function Fl(K,F,ce,Me){K.mechanism=K.mechanism||{type:"generic",handled:!0},K.mechanism=Qs(Wa({},K.mechanism),{type:"chained",source:F,exception_id:ce,parent_id:Me})}function Il(K,F){return K.map(ce=>(ce.value&&(ce.value=xe(ce.value,F)),ce))}const Al="cause",vu=5;class cl{static __initStatic(){this.id="LinkedErrors"}constructor(F={}){this.name=cl.id,this._key=F.key||Al,this._limit=F.limit||vu}setupOnce(F,ce){F((Me,ze)=>{const Qe=ce(),St=Qe.getClient(),At=Qe.getIntegration(cl);if(!St||!At)return Me;const Yt=St.getOptions();return $s(xo,Yt.stackParser,Yt.maxValueLength,At._key,At._limit,Me,ze),Me})}}cl.__initStatic();class dl{static __initStatic(){this.id="HttpContext"}constructor(){this.name=dl.id}setupOnce(){dt(F=>{if(zt().getIntegration(dl)){if(!mr.navigator&&!mr.location&&!mr.document)return F;const ce=F.request&&F.request.url||mr.location&&mr.location.href,{referrer:Me}=mr.document||{},{userAgent:ze}=mr.navigator||{},Qe=Wa(Wa(Wa({},F.request&&F.request.headers),Me&&{Referer:Me}),ze&&{"User-Agent":ze}),St=Qs(Wa(Wa({},F.request),ce&&{url:ce}),{headers:Qe});return Qs(Wa({},F),{request:St})}return F})}}dl.__initStatic();class Zs{static __initStatic(){this.id="Dedupe"}constructor(){this.name=Zs.id}setupOnce(F,ce){const Me=ze=>{if(ze.type)return ze;const Qe=ce().getIntegration(Zs);if(Qe){try{if(Js(ze,Qe._previousEvent))return(typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__)&&A.warn("Event dropped due to being a duplicate of previously captured event."),null}catch(St){return Qe._previousEvent=ze}return Qe._previousEvent=ze}return ze};Me.id=this.name,F(Me)}}Zs.__initStatic();function Js(K,F){return F?!!(fl(K,F)||gu(K,F)):!1}function fl(K,F){const ce=K.message,Me=F.message;return!(!ce&&!Me||ce&&!Me||!ce&&Me||ce!==Me||!hs(K,F)||!vs(K,F))}function gu(K,F){const ce=Us(F),Me=Us(K);return!(!ce||!Me||ce.type!==Me.type||ce.value!==Me.value||!hs(K,F)||!vs(K,F))}function vs(K,F){let ce=ks(K),Me=ks(F);if(!ce&&!Me)return!0;if(ce&&!Me||!ce&&Me||(ce=ce,Me=Me,Me.length!==ce.length))return!1;for(let ze=0;ze{F===void 0||F===ce||Uo(getCurrentHub())}))}function fa(K){const F=getCurrentHub().getClient();F&&F.captureUserFeedback(K)}var vl=e(10063);const Bl="/home/runner/work/sentry-javascript/sentry-javascript/packages/react/src/errorboundary.tsx";function qs(K){const F=K.match(/^([^.]+)/);return F!==null&&parseInt(F[0])>=17}const Ql="unknown",$l={componentStack:null,error:null,eventId:null};function wo(K,F){const ce=new WeakMap;function Me(ze,Qe){if(!ce.has(ze)){if(ze.cause)return ce.set(ze,!0),Me(ze.cause,Qe);ze.cause=Qe}}Me(K,F)}class Si extends x.Component{constructor(F){super(F),Si.prototype.__init.call(this),this.state=$l,this._openFallbackReportDialog=!0;const ce=zt().getClient();ce&&ce.on&&F.showDialog&&(this._openFallbackReportDialog=!1,ce.on("afterSendEvent",Me=>{!Me.type&&Me.event_id===this._lastEventId&&ys(Qs(Wa({},F.dialogOptions),{eventId:this._lastEventId}))}))}componentDidCatch(F,{componentStack:ce}){const{beforeCapture:Me,onError:ze,showDialog:Qe,dialogOptions:St}=this.props;ua(At=>{if(qs(x.version)&&me(F)){const ln=new Error(F.message);ln.name=`React ErrorBoundary ${ln.name}`,ln.stack=ce,wo(F,ln)}Me&&Me(At,F,ce);const Yt=xt(F,{contexts:{react:{componentStack:ce}}});ze&&ze(F,ce,Yt),Qe&&(this._lastEventId=Yt,this._openFallbackReportDialog&&ys(Qs(Wa({},St),{eventId:Yt}))),this.setState({error:F,componentStack:ce,eventId:Yt})})}componentDidMount(){const{onMount:F}=this.props;F&&F()}componentWillUnmount(){const{error:F,componentStack:ce,eventId:Me}=this.state,{onUnmount:ze}=this.props;ze&&ze(F,ce,Me)}__init(){this.resetErrorBoundary=()=>{const{onReset:F}=this.props,{error:ce,componentStack:Me,eventId:ze}=this.state;F&&F(ce,Me,ze),this.setState($l)}}render(){const{fallback:F,children:ce}=this.props,Me=this.state;if(Me.error){let ze;return typeof F=="function"?ze=F({error:Me.error,componentStack:Me.componentStack,resetError:this.resetErrorBoundary,eventId:Me.eventId}):ze=F,x.isValidElement(ze)?ze:(F&&(typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__)&&A.warn("fallback did not produce a valid ReactElement"),null)}return typeof ce=="function"?ce():ce}}function Sc(K,F){const ce=K.displayName||K.name||Ql,Me=ze=>React.createElement(Si,Qs(Wa({},F),{__self:this,__source:{fileName:Bl,lineNumber:227}}),React.createElement(K,Qs(Wa({},ze),{__self:this,__source:{fileName:Bl,lineNumber:228}})));return Me.displayName=`errorBoundary(${ce})`,hoistNonReactStatics(Me,K),Me}var dc=e(51830),qa=e(76180),as=e(53357),el={200:"requestConfig.success.msg",401:"requestConfig.unAuth.msg",403:"requestConfig.permissionDenied.msg",429:"errCode.TokenExceedsRateLimit",500:"requestConfig.responseStatus.msg"},za={101:"requestConfig.errorContent.msg",200001:"errCode.PartialSuccessBatchAssignLeaders",200002:"errCode.PartialSuccessBatchAssignWorkers",4e5:"errCode.BadRequest",400001:"errCode.ParameterMissing",400002:"errCode.ParameterIsInvalid",400050:"errCode.AnnotationNotListOfObj",400051:"errCode.AnnotationMissingCatName",400052:"errCode.AnnotationMissingBBox",400053:"errCode.AnnotationBBoxFormatError",400054:"errCode.AnnotationFormatError",400100:"errCode.FlagGroupsNotListOfObj",400101:"errCode.FlagObjectMissingFlag",400102:"errCode.FlagObjectFlagValueInvalid",400103:"errCode.FlagObjectMissingIDs",400104:"errCode.FlagObjectIDsNotList",400150:"errCode.LabelSetNameInvalid",400151:"errCode.LabelSetNameConflicts",400200:"errCode.UserNotFoundForLabelProject",400201:"errCode.UserNotActiveForLabelProject",400202:"errCode.DatasetNotFoundForLabelProject",400203:"errCode.LabelTaskNotFoundForLabelProject",400204:"errCode.CreateLabelProjectRequireManager",400205:"errCode.CreateLabelProjectRequireDataset",400206:"errCode.CreateLabelProjectRequireCategory",400207:"errCode.CreateLabelProjectDatasetOccupied",400208:"errCode.EditLabelProjectRequireManager",400209:"errCode.InitLabelProjectMustBeWaiting",400210:"errCode.InitLabelProjectTaskConfigError",400211:"errCode.QALabelProjectActionError",400212:"errCode.QALabelProjectMustBeReviewing",400213:"errCode.ExportLabelProjectMustBeAccepted",400214:"errCode.LeaderIDIsRequired",400215:"errCode.LabelerIDIsRequired",400216:"errCode.LabelProjectRoleIsNotTaskLevel",400217:"errCode.CantReplaceRoleWithTheSameUser",400218:"errCode.OldUserDoesNotHaveTheTaskRole",400219:"errCode.NewUserAlreadyHaveTheTaskRole",400220:"errCode.CantTransferRoleBetweenDifferentTask",400221:"errCode.CantTransferRoleToDifferentKind",400222:"errCode.RestartLabelTaskMustBeRejected",400223:"errCode.QALabelTaskActionError",400224:"errCode.AcceptLabelTaskMustBeReviewing",400225:"errCode.RejectLabelTaskMustBeReviewing",400226:"errCode.ForceAcceptLabelTaskMustBeRejected",400227:"errCode.LabelAnnotationMissingFields",400228:"errCode.LabelAnnotationFieldValueInvalid",400229:"errCode.LabelImageRequireTaskStatusWorking",400230:"errCode.LabelImageRequireUnfinishedReviewing",400231:"errCode.ReviewImageRequireTaskStatusWorking",400232:"errCode.ReviewImageRequireFinishedLabeling",400233:"errCode.ReviewImageTargetLabelNotFound",400234:"errCode.ReviewImageFoundExistedReview",400235:"errCode.CantDeleteAllOwnersOfLabelProject",400236:"errCode.NumOfTaskLeaderMismatchesConfig",400237:"errCode.TaskDoesNotRequireReviewer",400238:"errCode.NumOfTaskLabelerMismatchesConfig",400239:"errCode.NumOfTaskReviewerMismatchesConfig",400240:"errCode.TryInitRoleForTaskWithActiveRoles",400241:"errCode.TaskRoleNotOfLeaderKind",401e3:"errCode.Unauthorized",401001:"requestConfig.unAuth.msg",403e3:"errCode.Forbidden",403001:"requestConfig.permissionDenied.msg",403050:"errCode.UserAuthenticationFailed",403051:"errCode.UserCantViewLabelProjectTask",403052:"errCode.UserCantViewLabelProjectRole",403053:"errCode.UserCantCreateLabelProject",403054:"errCode.UserCantViewLabelProject",403055:"errCode.UserCantEditLabelProject",403056:"errCode.UserCantInitLabelProject",403057:"errCode.UserCantQALabelProject",403058:"errCode.UserCantExportLabelProject",403059:"errCode.UserCantAssignLabelTaskLeader",403060:"errCode.UserCantAssignLabelTaskWorker",403061:"errCode.UserCantRestartLabelTask",403062:"errCode.UserCantQALabelTask",403063:"errCode.UserCantLabelTaskImage",403064:"errCode.UserCantReviewTaskImage",404e3:"errCode.NotFound",404050:"errCode.DatasetNotFound",404051:"errCode.DatasetNotReadable",404052:"errCode.DatasetMissingEmbdFile",404053:"errCode.DatasetImageNotFound",404054:"errCode.DatasetHasNoFNFPData",404055:"errCode.DatasetLabelNotFound",404056:"errCode.DatasetFNFPPrecisionNotFound",404100:"errCode.ReRankByFlagTaskNotFound",404150:"errCode.LabelProjectNotFound",404151:"errCode.LabelProjectRoleNotFound",404152:"errCode.LabelProjectTaskNotFound",404153:"errCode.LabelTaskImageNotFound",429002:"errCode.TokenExceedsRateLimit",5e5:"errCode.InternalError",500001:"errCode.FailedToCloneLabelSet"},iu=function(F,ce){return F&&za[F]?(0,as._w)(za[F]):ce&&el[ce]?(0,as._w)(el[ce]):(0,as._w)("requestConfig.errorData.msg",{code:"".concat(ce).concat(F?"-".concat(F):"")})},Yi=e(35667);function Zl(){return Dl.apply(this,arguments)}function Dl(){return Dl=w()(g()().mark(function K(){return g()().wrap(function(ce){for(;;)switch(ce.prev=ce.next){case 0:return document.addEventListener("wheel",function(Me){(Me.ctrlKey||Me.detail)&&Me.preventDefault()},{capture:!1,passive:!1}),document.addEventListener("keydown",function(Me){(Me.ctrlKey===!0||Me.metaKey===!0)&&(Me.keyCode===61||Me.keyCode===107||Me.keyCode===173||Me.keyCode===109||Me.keyCode===187||Me.keyCode===189)&&Me.preventDefault()},!1),T.ZP.config({duration:1.5,maxCount:2}),ce.abrupt("return",{name:"@umijs/max"});case 4:case"end":return ce.stop()}},K)})),Dl.apply(this,arguments)}var Xl=function(){return{pure:!0,title:(0,as._w)("layout.title")}};function Ul(K){var F={showDialog:!0,fallback:function(Me){return(0,Yi.jsx)(dc.xA,h()({},Me))}};return x.createElement(Si,F,K)}var fc={baseURL:"",timeout:1e5,headers:{"Content-Type":"application/json"},errorConfig:{errorHandler:function(F,ce){var Me;if(!/^2/.test(F.status)&&!(ce!=null&&ce.skipErrorHandler)&&(((Me=F.response)===null||Me===void 0?void 0:Me.status)===401&&(N.history.push("/"),localStorage.removeItem(qa.Uf.AUTH_TOKEN)),!(ce!=null&&ce.hideCodeErrorMsg)))if(F.response){var ze;T.ZP.error(iu((ze=F.response.data)===null||ze===void 0?void 0:ze.code,F.response.status))}else F.request?T.ZP.error((0,as._w)("requestConfig.noResponse.msg")):T.ZP.error((0,as._w)("requestConfig.requestError.msg"))}},requestInterceptors:[function(K){if(K.params&&(K.params=U().decamelizeKeys(K.params)),K.data&&(K.data=U().decamelizeKeys(K.data)),K.headers){var F,ce;if((F=K.url)!==null&&F!==void 0&&F.includes("https://api.deepdataspace.com"))K.headers.Token="dds-tool-free";else if(((ce=K.url)===null||ce===void 0?void 0:ce.indexOf("http"))!==0){var Me=localStorage.getItem(qa.Uf.AUTH_TOKEN);Me&&(K.headers.Token=Me)}}return h()({},K)}],responseInterceptors:[function(K){var F;if(((F=K.data)===null||F===void 0?void 0:F.code)===0){var ce;return K.data=U().camelizeKeys(((ce=K.data)===null||ce===void 0?void 0:ce.data)||{}),K}else{var Me;if(!((Me=K.config)!==null&&Me!==void 0&&Me.hideCodeErrorMsg)){var ze;T.ZP.error(iu((ze=K.data)===null||ze===void 0?void 0:ze.code,200))}throw K}}]},Ou=e(7862),$o=e.n(Ou),Du=e(81690),su=e.n(Du),As=e(21700),tl=e.n(As),gl=e(31236),Zt=e.n(gl);function Ii(){return Ii=Object.assign||function(K){for(var F=1;F=0||(ze[ce]=K[ce]);return ze}var po={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},pu={rel:["amphtml","canonical","alternate"]},hu={type:["application/ld+json"]},bs={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},ml=Object.keys(po).map(function(K){return po[K]}),Ei={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},Di=Object.keys(Ei).reduce(function(K,F){return K[Ei[F]]=F,K},{}),ls=function(K,F){for(var ce=K.length-1;ce>=0;ce-=1){var Me=K[ce];if(Object.prototype.hasOwnProperty.call(Me,F))return Me[F]}return null},us=function(K){var F=ls(K,po.TITLE),ce=ls(K,"titleTemplate");if(Array.isArray(F)&&(F=F.join("")),ce&&F)return ce.replace(/%s/g,function(){return F});var Me=ls(K,"defaultTitle");return F||Me||void 0},ho=function(K){return ls(K,"onChangeClientState")||function(){}},nl=function(K,F){return F.filter(function(ce){return ce[K]!==void 0}).map(function(ce){return ce[K]}).reduce(function(ce,Me){return Ii({},ce,Me)},{})},yu=function(K,F){return F.filter(function(ce){return ce[po.BASE]!==void 0}).map(function(ce){return ce[po.BASE]}).reverse().reduce(function(ce,Me){if(!ce.length)for(var ze=Object.keys(Me),Qe=0;Qe/g,">").replace(/"/g,""").replace(/'/g,"'")},Ds=function(K){return Object.keys(K).reduce(function(F,ce){var Me=K[ce]!==void 0?ce+'="'+K[ce]+'"':""+ce;return F?F+" "+Me:Me},"")},bu=function(K,F){return F===void 0&&(F={}),Object.keys(K).reduce(function(ce,Me){return ce[Ei[Me]||Me]=K[Me],ce},F)},Ws=function(K,F){return F.map(function(ce,Me){var ze,Qe=((ze={key:Me})["data-rh"]=!0,ze);return Object.keys(ce).forEach(function(St){var At=Ei[St]||St;At==="innerHTML"||At==="cssText"?Qe.dangerouslySetInnerHTML={__html:ce.innerHTML||ce.cssText}:Qe[At]=ce[St]}),x.createElement(K,Qe)})},ha=function(K,F,ce){switch(K){case po.TITLE:return{toComponent:function(){return ze=F.titleAttributes,(Qe={key:Me=F.title})["data-rh"]=!0,St=bu(ze,Qe),[x.createElement(po.TITLE,St,Me)];var Me,ze,Qe,St},toString:function(){return function(Me,ze,Qe,St){var At=Ds(Qe),Yt=wu(ze);return At?"<"+Me+' data-rh="true" '+At+">"+Os(Yt,St)+"":"<"+Me+' data-rh="true">'+Os(Yt,St)+""}(K,F.title,F.titleAttributes,ce)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return bu(F)},toString:function(){return Ds(F)}};default:return{toComponent:function(){return Ws(K,F)},toString:function(){return function(Me,ze,Qe){return ze.reduce(function(St,At){var Yt=Object.keys(At).filter(function(Dn){return!(Dn==="innerHTML"||Dn==="cssText")}).reduce(function(Dn,qn){var Kr=At[qn]===void 0?qn:qn+'="'+Os(At[qn],Qe)+'"';return Dn?Dn+" "+Kr:Kr},""),ln=At.innerHTML||At.cssText||"",Hn=al.indexOf(Me)===-1;return St+"<"+Me+' data-rh="true" '+Yt+(Hn?"/>":">"+ln+"")},"")}(K,F,ce)}}}},rt=function(K){var F=K.baseTag,ce=K.bodyAttributes,Me=K.encode,ze=K.htmlAttributes,Qe=K.noscriptTags,St=K.styleTags,At=K.title,Yt=At===void 0?"":At,ln=K.titleAttributes,Hn=K.linkTags,Dn=K.metaTags,qn=K.scriptTags,Kr={toComponent:function(){},toString:function(){return""}};if(K.prioritizeSeoTags){var na=function(Or){var ba=Or.linkTags,Pa=Or.scriptTags,Za=Or.encode,to=rl(Or.metaTags,bs),Ra=rl(ba,pu),Aa=rl(Pa,hu);return{priorityMethods:{toComponent:function(){return[].concat(Ws(po.META,to.priority),Ws(po.LINK,Ra.priority),Ws(po.SCRIPT,Aa.priority))},toString:function(){return ha(po.META,to.priority,Za)+" "+ha(po.LINK,Ra.priority,Za)+" "+ha(po.SCRIPT,Aa.priority,Za)}},metaTags:to.default,linkTags:Ra.default,scriptTags:Aa.default}}(K);Kr=na.priorityMethods,Hn=na.linkTags,Dn=na.metaTags,qn=na.scriptTags}return{priority:Kr,base:ha(po.BASE,F,Me),bodyAttributes:ha("bodyAttributes",ce,Me),htmlAttributes:ha("htmlAttributes",ze,Me),link:ha(po.LINK,Hn,Me),meta:ha(po.META,Dn,Me),noscript:ha(po.NOSCRIPT,Qe,Me),script:ha(po.SCRIPT,qn,Me),style:ha(po.STYLE,St,Me),title:ha(po.TITLE,{title:Yt,titleAttributes:ln},Me)}},Vt=[],Wn=function(K,F){var ce=this;F===void 0&&(F=typeof document!="undefined"),this.instances=[],this.value={setHelmet:function(Me){ce.context.helmet=Me},helmetInstances:{get:function(){return ce.canUseDOM?Vt:ce.instances},add:function(Me){(ce.canUseDOM?Vt:ce.instances).push(Me)},remove:function(Me){var ze=(ce.canUseDOM?Vt:ce.instances).indexOf(Me);(ce.canUseDOM?Vt:ce.instances).splice(ze,1)}}},this.context=K,this.canUseDOM=F,F||(K.helmet=rt({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},cr=x.createContext({}),wa=$o().shape({setHelmet:$o().func,helmetInstances:$o().shape({get:$o().func,add:$o().func,remove:$o().func})}),go=typeof document!="undefined",di=function(K){function F(ce){var Me;return(Me=K.call(this,ce)||this).helmetData=new Wn(Me.props.context,F.canUseDOM),Me}return Jl(F,K),F.prototype.render=function(){return x.createElement(cr.Provider,{value:this.helmetData.value},this.props.children)},F}(x.Component);di.canUseDOM=go,di.propTypes={context:$o().shape({helmet:$o().shape()}),children:$o().node.isRequired},di.defaultProps={context:{}},di.displayName="HelmetProvider";var Zo=function(K,F){var ce,Me=document.head||document.querySelector(po.HEAD),ze=Me.querySelectorAll(K+"[data-rh]"),Qe=[].slice.call(ze),St=[];return F&&F.length&&F.forEach(function(At){var Yt=document.createElement(K);for(var ln in At)Object.prototype.hasOwnProperty.call(At,ln)&&(ln==="innerHTML"?Yt.innerHTML=At.innerHTML:ln==="cssText"?Yt.styleSheet?Yt.styleSheet.cssText=At.cssText:Yt.appendChild(document.createTextNode(At.cssText)):Yt.setAttribute(ln,At[ln]===void 0?"":At[ln]));Yt.setAttribute("data-rh","true"),Qe.some(function(Hn,Dn){return ce=Dn,Yt.isEqualNode(Hn)})?Qe.splice(ce,1):St.push(Yt)}),Qe.forEach(function(At){return At.parentNode.removeChild(At)}),St.forEach(function(At){return Me.appendChild(At)}),{oldTags:Qe,newTags:St}},os=function(K,F){var ce=document.getElementsByTagName(K)[0];if(ce){for(var Me=ce.getAttribute("data-rh"),ze=Me?Me.split(","):[],Qe=[].concat(ze),St=Object.keys(F),At=0;At=0;Dn-=1)ce.removeAttribute(Qe[Dn]);ze.length===Qe.length?ce.removeAttribute("data-rh"):ce.getAttribute("data-rh")!==St.join(",")&&ce.setAttribute("data-rh",St.join(","))}},ui=function(K,F){var ce=K.baseTag,Me=K.htmlAttributes,ze=K.linkTags,Qe=K.metaTags,St=K.noscriptTags,At=K.onChangeClientState,Yt=K.scriptTags,ln=K.styleTags,Hn=K.title,Dn=K.titleAttributes;os(po.BODY,K.bodyAttributes),os(po.HTML,Me),function(Or,ba){Or!==void 0&&document.title!==Or&&(document.title=wu(Or)),os(po.TITLE,ba)}(Hn,Dn);var qn={baseTag:Zo(po.BASE,ce),linkTags:Zo(po.LINK,ze),metaTags:Zo(po.META,Qe),noscriptTags:Zo(po.NOSCRIPT,St),scriptTags:Zo(po.SCRIPT,Yt),styleTags:Zo(po.STYLE,ln)},Kr={},na={};Object.keys(qn).forEach(function(Or){var ba=qn[Or],Pa=ba.newTags,Za=ba.oldTags;Pa.length&&(Kr[Or]=Pa),Za.length&&(na[Or]=qn[Or].oldTags)}),F&&F(),At(K,Kr,na)},fi=null,Ao=function(K){function F(){for(var Me,ze=arguments.length,Qe=new Array(ze),St=0;St elements are self-closing and can not contain children. Refer to our API for more information.")}},ce.flattenArrayTypeChildren=function(Me){var ze,Qe=Me.child,St=Me.arrayTypeChildren;return Ii({},St,((ze={})[Qe.type]=[].concat(St[Qe.type]||[],[Ii({},Me.newChildProps,this.mapNestedChildrenToProps(Qe,Me.nestedChildren))]),ze))},ce.mapObjectTypeChildren=function(Me){var ze,Qe,St=Me.child,At=Me.newProps,Yt=Me.newChildProps,ln=Me.nestedChildren;switch(St.type){case po.TITLE:return Ii({},At,((ze={})[St.type]=ln,ze.titleAttributes=Ii({},Yt),ze));case po.BODY:return Ii({},At,{bodyAttributes:Ii({},Yt)});case po.HTML:return Ii({},At,{htmlAttributes:Ii({},Yt)});default:return Ii({},At,((Qe={})[St.type]=Ii({},Yt),Qe))}},ce.mapArrayTypeChildrenToProps=function(Me,ze){var Qe=Ii({},ze);return Object.keys(Me).forEach(function(St){var At;Qe=Ii({},Qe,((At={})[St]=Me[St],At))}),Qe},ce.warnOnInvalidChildren=function(Me,ze){return tl()(ml.some(function(Qe){return Me.type===Qe}),typeof Me.type=="function"?"You may be attempting to nest components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+ml.join(", ")+" are allowed. Helmet does not support rendering <"+Me.type+"> elements. Refer to our API for more information."),tl()(!ze||typeof ze=="string"||Array.isArray(ze)&&!ze.some(function(Qe){return typeof Qe!="string"}),"Helmet expects a string as a child of <"+Me.type+">. Did you forget to wrap your children in braces? ( <"+Me.type+">{``} ) Refer to our API for more information."),!0},ce.mapChildrenToProps=function(Me,ze){var Qe=this,St={};return x.Children.forEach(Me,function(At){if(At&&At.props){var Yt=At.props,ln=Yt.children,Hn=Ko(Yt,To),Dn=Object.keys(Hn).reduce(function(Kr,na){return Kr[Di[na]||na]=Hn[na],Kr},{}),qn=At.type;switch(typeof qn=="symbol"?qn=qn.toString():Qe.warnOnInvalidChildren(At,ln),qn){case po.FRAGMENT:ze=Qe.mapChildrenToProps(ln,ze);break;case po.LINK:case po.META:case po.NOSCRIPT:case po.SCRIPT:case po.STYLE:St=Qe.flattenArrayTypeChildren({child:At,arrayTypeChildren:St,newChildProps:Dn,nestedChildren:ln});break;default:ze=Qe.mapObjectTypeChildren({child:At,newProps:ze,newChildProps:Dn,nestedChildren:ln})}}}),this.mapArrayTypeChildrenToProps(St,ze)},ce.render=function(){var Me=this.props,ze=Me.children,Qe=Ko(Me,Hi),St=Ii({},Qe),At=Qe.helmetData;return ze&&(St=this.mapChildrenToProps(ze,St)),!At||At instanceof Wn||(At=new Wn(At.context,At.instances)),At?x.createElement(Ao,Ii({},St,{context:At.value,helmetData:void 0})):x.createElement(cr.Consumer,null,function(Yt){return x.createElement(Ao,Ii({},St,{context:Yt}))})},F}(x.Component);Ms.propTypes={base:$o().object,bodyAttributes:$o().object,children:$o().oneOfType([$o().arrayOf($o().node),$o().node]),defaultTitle:$o().string,defer:$o().bool,encodeSpecialCharacters:$o().bool,htmlAttributes:$o().object,link:$o().arrayOf($o().object),meta:$o().arrayOf($o().object),noscript:$o().arrayOf($o().object),onChangeClientState:$o().func,script:$o().arrayOf($o().object),style:$o().arrayOf($o().object),title:$o().string,titleAttributes:$o().object,titleTemplate:$o().string,prioritizeSeoTags:$o().bool,helmetData:$o().object},Ms.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},Ms.displayName="Helmet";var uu={},ql=function(F){return x.createElement(di,{context:uu},F)},Ss=e(96662);function Mu(K){var F={};return(0,Yi.jsx)(Ss.J.Provider,{value:F,children:K.children})}function eu(K){return(0,Yi.jsx)(Mu,{children:K})}var Es=e(62376),Lc=e.n(Es),rc=e(62109),Hs=e(65388),jl=e(42505),tu=["appConfig"],ju=null,Ec=function(){return ju||(ju=Xr().applyPlugins({key:"antd",type:N.ApplyPluginsType.modify,initialValue:h()({},{theme:{token:{colorLink:"#1e53f5",colorPrimary:"#1e53f5"}}})})),ju};function Pu(K){var F=Ec(),ce=F.appConfig,Me=Lc()(F,tu),ze=K;return Me.prefixCls&&(rc.Z.config({rootPrefixCls:Me.prefixCls}),T.ZP.config({prefixCls:"".concat(Me.prefixCls,"-message")}),Hs.Z.config({prefixCls:"".concat(Me.prefixCls,"-notification")})),Me.iconPrefixCls&&jl.ZP.config({iconPrefixCls:Me.iconPrefixCls}),Me.theme&&jl.ZP.config({theme:Me.theme}),ze=(0,Yi.jsx)(jl.ZP,h()(h()({},Me),{},{children:ze})),ze}var Tu=e(47338);function Su(){return(0,Yi.jsx)("div",{})}function ts(K){var F=x.useRef(!1),ce=(0,Tu.t)("@@initialState")||{},Me=ce.loading,ze=Me===void 0?!1:Me;return x.useEffect(function(){ze||(F.current=!0)},[ze]),ze&&!F.current?(0,Yi.jsx)(Su,{}):K.children}function Lu(K){return(0,Yi.jsx)(ts,{children:K})}var ws={};function Vi(K){return K.replace(K[0],K[0].toUpperCase()).replace(/-(w)/g,function(F,ce){return ce.toUpperCase()})}function Ns(K){var F=K.routes;Object.keys(F).forEach(function(ce){var Me=F[ce].icon;if(Me&&typeof Me=="string"){var ze=Vi(Me);(ws[ze]||ws[ze+"Outlined"])&&(F[ce].icon=x.createElement(ws[ze]||ws[ze+"Outlined"]))}})}var pl=e(88205),ei=e.n(pl),cu=e(6901),cs=e.n(cu),ac=e(85417),_s=e(16221);function hl(){var K=getLocale();if(moment!=null&&moment.locale){var F;moment.locale(((F=localeInfo[K])===null||F===void 0?void 0:F.momentLocale)||"")}setIntl(K)}var Ys=typeof window!="undefined"&&typeof window.document!="undefined"&&typeof window.document.createElement!="undefined"?x.useLayoutEffect:x.useEffect,vi=function(F){var ce,Me=(0,_s.Kd)(),ze=x.useState(Me),Qe=ei()(ze,2),St=Qe[0],At=Qe[1],Yt=x.useState(function(){return(0,_s.lw)(St,!0)}),ln=ei()(Yt,2),Hn=ln[0],Dn=ln[1],qn=function(ba){if(cs()!==null&&cs()!==void 0&&cs().locale){var Pa;cs().locale(((Pa=_s.H8[ba])===null||Pa===void 0?void 0:Pa.momentLocale)||"en")}At(ba),Dn((0,_s.lw)(ba))};Ys(function(){return _s.B.on(_s.PZ,qn),function(){_s.B.off(_s.PZ,qn)}},[]);var Kr={},na=(0,_s.Mg)();return(0,Yi.jsx)(jl.ZP,{direction:na,locale:((ce=_s.H8[St])===null||ce===void 0?void 0:ce.antd)||Kr,children:(0,Yi.jsx)(_s.eU,{value:Hn,children:F.children})})};function js(K){return x.createElement(vi,null,K)}var Nu=e(34485),Wu=e.n(Nu),yl=e(65246),Eu=e(7986);function Ru(K,F){return nu.apply(this,arguments)}function nu(){return nu=w()(g()().mark(function K(F,ce){return g()().wrap(function(ze){for(;;)switch(ze.prev=ze.next){case 0:return ze.abrupt("return",(0,N.request)("/api/v1/datasets",h()({method:"GET",params:F},ce||{})));case 1:case"end":return ze.stop()}},K)})),nu.apply(this,arguments)}function bl(K,F){return kl.apply(this,arguments)}function kl(){return kl=w()(g()().mark(function K(F,ce){return g()().wrap(function(ze){for(;;)switch(ze.prev=ze.next){case 0:return ze.abrupt("return",(0,N.request)("/api/v1/datasets/".concat(F.datasetId),h()({method:"GET"},ce||{})));case 1:case"end":return ze.stop()}},K)})),kl.apply(this,arguments)}function ii(K,F){return $.apply(this,arguments)}function $(){return $=w()(g()().mark(function K(F,ce){return g()().wrap(function(ze){for(;;)switch(ze.prev=ze.next){case 0:return ze.abrupt("return",(0,N.request)("/api/v1/images",h()({method:"GET",params:F},ce||{})));case 1:case"end":return ze.stop()}},K)})),$.apply(this,arguments)}function fe(K,F){return Ue.apply(this,arguments)}function Ue(){return Ue=w()(g()().mark(function K(F,ce){return g()().wrap(function(ze){for(;;)switch(ze.prev=ze.next){case 0:return ze.abrupt("return",(0,N.request)("/api/v1/image_flags",h()({method:"POST",data:h()({},F)},ce||{})));case 1:case"end":return ze.stop()}},K)})),Ue.apply(this,arguments)}function at(K,F){return Rt.apply(this,arguments)}function Rt(){return Rt=w()(g()().mark(function K(F,ce){return g()().wrap(function(ze){for(;;)switch(ze.prev=ze.next){case 0:return ze.abrupt("return",(0,N.request)("/api/v1/tasks/rerank_by_flags",h()({method:"POST",data:h()({},F)},ce||{})));case 1:case"end":return ze.stop()}},K)})),Rt.apply(this,arguments)}function On(K,F){return Tr.apply(this,arguments)}function Tr(){return Tr=w()(g()().mark(function K(F,ce){return g()().wrap(function(ze){for(;;)switch(ze.prev=ze.next){case 0:return ze.abrupt("return",(0,N.request)("/api/v1/tasks/".concat(F.name,"/").concat(F.id),h()({method:"GET"},ce||{})));case 1:case"end":return ze.stop()}},K)})),Tr.apply(this,arguments)}function fo(K,F){return Ro.apply(this,arguments)}function Ro(){return Ro=_asyncToGenerator(_regeneratorRuntime().mark(function K(F,ce){return _regeneratorRuntime().wrap(function(ze){for(;;)switch(ze.prev=ze.next){case 0:return ze.abrupt("return",request("/api/v1/annotations",_objectSpread({method:"POST",data:_objectSpread({},F)},ce||{})));case 1:case"end":return ze.stop()}},K)})),Ro.apply(this,arguments)}function gi(K,F){return Gi.apply(this,arguments)}function Gi(){return Gi=w()(g()().mark(function K(F,ce){return g()().wrap(function(ze){for(;;)switch(ze.prev=ze.next){case 0:return ze.abrupt("return",(0,N.request)("/api/v1/comparisons",h()({method:"GET",params:F},ce||{})));case 1:case"end":return ze.stop()}},K)})),Gi.apply(this,arguments)}function ol(K,F){return Ml.apply(this,arguments)}function Ml(){return Ml=_asyncToGenerator(_regeneratorRuntime().mark(function K(F,ce){return _regeneratorRuntime().wrap(function(ze){for(;;)switch(ze.prev=ze.next){case 0:return ze.abrupt("return",request("/api/v1/label_clone",_objectSpread({method:"POST",data:_objectSpread({},F)},ce||{})));case 1:case"end":return ze.stop()}},K)})),Ml.apply(this,arguments)}var oc=e(74595),Ki={categoryId:"All",displayAnnotationType:void 0,displayOptions:[qa.zY.showAnnotations,qa.zY.showAllCategory],selectedLabelIds:[],diffMode:qa.uP.Overlay},zu={datasetId:"",datasetName:"",page:1,pageSize:qa.L8,cloumnCount:5,isSingleAnnotation:!1,previewIndex:-1,filterValues:h()({},Ki),comparisons:void 0,flagTools:void 0},Cc={imgList:[],total:0,flagTools:{lastShiftIndex:-1,lastSavedIndexs:[],count:0}},Hu=h()(h()({},Cc),{},{screenLoading:"",hasEmbedFile:!1,filters:{categories:[],annotationTypes:[],displayOptions:qa.EX,labels:[]}}),_u=e(39378),Yu=function(){var K,F,ce,Me=(0,yl.x)(h()({},zu)),ze=ei()(Me,2),Qe=ze[0],St=ze[1],At=(0,yl.x)(h()({},Hu)),Yt=ei()(At,2),ln=Yt[0],Hn=Yt[1],Dn=Qe.filterValues,qn=Qe.comparisons,Kr=ln.filters,na=function(uo){St(function(vo){Object.assign(vo,zu,uo)})},Or=function(){},ba=(0,Eu.Z)(function(_o){if(!Qe.datasetId)throw null;return bl({datasetId:Qe.datasetId})},{refreshDeps:[Qe.datasetId],onSuccess:function(uo,vo){var Qi=uo.categoryList,Ai=uo.labelList,$i=uo.objectTypes,Ga=vo.length>0?vo[0]:qa.$j.gt,Ri=$i.filter(function(ko){return ko!==qa.JJ.Classification}),Oa=Qe.filterValues.displayAnnotationType&&Ri.find(function(ko){return ko===Qe.filterValues.displayAnnotationType});Hn(function(ko){var Ci=Oa||Ri[0],Ti=(0,oc.B8)(Qe.filterValues.displayOptions,Ci),ns=ei()(Ti,2),Cs=ns[0],Cl=ns[1];ko.filters.categories=[{id:"All",name:"All"}].concat(Wu()(Qi)),ko.filters.annotationTypes=Ri,ko.filters.displayOptions=Cs,Oa||St(function(Xi){Xi.filterValues.displayOptions=Cl,Xi.filterValues.displayAnnotationType=Ci}),Qe.filterValues.categoryId||St(function(Xi){Xi.filterValues.categoryId="All"}),Ai&&Ai.length&&(ko.filters.labels=Ai.map(function(Xi){return Xi.confidenceRange=Xi.source===qa.$j.pred?[.2,1]:[0,1],Xi.source===Ga&&!Oa&&St(function(ru){ru.filterValues.selectedLabelIds=[Xi.id]}),Xi}))})},onError:function(){}},[function(_o){return{onBefore:function(){var vo;return{loading:!(!((vo=_o.state.params)===null||vo===void 0)&&vo.length)}}}}]),Pa=ba.loading,Za=ba.runAsync,to=(0,Eu.Z)(function(){var _o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;if(!Qe.datasetId||!Qe.filterValues.categoryId)throw null;_o||(Hn(function(Qi){Object.assign(Qi,Cc)}),window.scrollTo(0,0));var uo=Qe.filterValues.categoryId==="All"?void 0:Qe.filterValues.categoryId,vo={datasetId:Qe.datasetId,categoryId:uo,pageNum:Qe.page,pageSize:Qe.pageSize};return Qe.comparisons?gi(h()(h()({},vo),{},{labelId:Qe.comparisons.label.id,precision:Qe.comparisons.precision,orderBy:Qe.comparisons.orderBy,displayCategoryId:uo})):(Qe.flagTools&&Qe.flagTools.flagStatus>=0&&Object.assign(vo,{flag:Qe.flagTools.flagStatus}),ii(vo))},{debounceWait:20,refreshDeps:[Qe.datasetId,Qe.filterValues.categoryId,Qe.page,Qe.pageSize,(K=Qe.comparisons)===null||K===void 0?void 0:K.precision,(F=Qe.comparisons)===null||F===void 0?void 0:F.orderBy,(ce=Qe.flagTools)===null||ce===void 0?void 0:ce.flagStatus],onSuccess:function(uo){Hn(function(vo){vo.imgList=uo.imageList,vo.total=uo.total})},onError:function(){}},[function(_o){return{onBefore:function(){var vo;return{loading:!(!((vo=_o.state.params)===null||vo===void 0)&&vo.length)}}}}]),Ra=to.loading,Aa=to.run,Ho=function(uo){St(function(vo){vo.previewIndex=uo})},Ba=function(){St(function(uo){uo.previewIndex=-1})},ka=Pa||Ra,no=(0,x.useMemo)(function(){if(qn){var _o=[],uo=Kr.labels.find(function(vo){return vo.source===qa.$j.gt});return(qn.displays.includes(qa.$j.gt)||qn.displays.includes(qa.BP.fn))&&uo&&_o.push(uo.id),(qn.displays.includes(qa.$j.pred)||qn.displays.includes(qa.BP.fp))&&_o.push(qn.label.id),_o}return Dn.selectedLabelIds},[qn,Dn.selectedLabelIds,Kr.labels]),ci=(0,x.useMemo)(function(){return no.length>1&&(Dn.displayAnnotationType===qa.JJ.Matting||(qn?qn.diffMode===qa.uP.Tiled:Dn.diffMode===qa.uP.Tiled))},[qn,Dn.diffMode,no]),ti=(0,x.useMemo)(function(){var _o={};return Object.keys(qa.zY).forEach(function(uo){var vo;_o[uo]=!!(!((vo=Dn.displayOptions)===null||vo===void 0)&&vo.find(function(Qi){return Qi===uo}))}),_o},[Qe.filterValues.displayOptions]),mo=(0,x.useCallback)(function(_o){var uo=Wu()(_o.objects)||[],vo=Qe.comparisons,Qi={labels:ln.filters.labels,displayLabelIds:no,isTiledDiff:ci},Ai=Qe.filterValues.displayAnnotationType;if(uo=uo.filter(function(Ga){return Ga.mask&&Ai===qa.JJ.Mask||Ga.alpha&&Ai===qa.JJ.Matting||Ga.points&&Ai===qa.JJ.KeyPoints||Ga.segmentation&&Ai===qa.JJ.Segmentation||Ga.boundingBox&&Ai===qa.JJ.Detection}).map(function(Ga){return h()(h()({},Ga),{},{mask:Ai===qa.JJ.Mask?Ga.mask:void 0,alpha:Ai===qa.JJ.Matting?Ga.alpha:void 0,points:Ai===qa.JJ.KeyPoints?Ga.points:void 0,segmentation:Ai===qa.JJ.Segmentation?Ga.segmentation:void 0,boundingBox:[qa.JJ.Detection,qa.JJ.KeyPoints].includes(Ai)?Ga.boundingBox:void 0})}),vo){var $i=uo.filter(function(Ga){return Ga.source===qa.$j.pred});uo=uo.filter(function(Ga){return(Ga.conf||0)>=vo.score}),uo=uo.map(function(Ga){var Ri=h()({},Ga);if(Ga.source===qa.$j.gt){var Oa=(0,_u.isNumber)(Ga.matchedDetIdx)&&Ga.matchedDetIdx>=0&&uo.includes($i[Ga.matchedDetIdx])?qa.BP.ok:qa.BP.fn;Ri.compareResult=Oa}return Ri}),uo=uo.filter(function(Ga){return Ga.compareResult===qa.BP.ok?Ga.source&&vo.displays.includes(Ga.source):Ga.compareResult&&vo.displays.includes(Ga.compareResult)})}return uo.filter(function(Ga){var Ri=ti.showAnnotations,Oa=ti.showAllCategory,ko=Qe.filterValues.categoryId||"";if(!Ri||!Oa&&Ga.categoryId!==ko||Qi&&Ga.labelId&&!Qi.displayLabelIds.includes(Ga.labelId)||Qi&&Qi.isTiledDiff&&Ga.labelId!==_o.curLabelId)return!1;if(!vo&&Qi){var Ci=Qi.labels.find(function(Ti){return Ti.id===Ga.labelId});return Ci?Ci.source===qa.$j.gt?!0:Ga.conf!==void 0&&Ga.conf>=(Ci==null?void 0:Ci.confidenceRange[0])&&Ga.conf<=(Ci==null?void 0:Ci.confidenceRange[1]):!1}return!0}).map(function(Ga){var Ri=h()({},Ga),Oa=(0,oc.iE)(Ga.labelId,no,ci||!!Qe.comparisons),ko=Oa.colorAplha,Ci=Oa.strokeDash,Ti=Oa.lineWidth;return vo&&Ga.compareResult?Ri.customStyles={pointAplha:ko,strokeDash:Ci,thickness:Ti,fillColor:qa.pB[Ga.compareResult]||"transparent"}:Ri.customStyles={pointAplha:ko,strokeDash:Ci,thickness:Ti},Ri})},[Qe.filterValues.displayAnnotationType,Qe.comparisons,ln.filters.labels,no,ci,ti]);return{pageState:Qe,setPageState:St,pageData:ln,setPageData:Hn,onInitPageState:na,onPageContentLoaded:Or,onPreviewIndexChange:Ho,exitPreview:Ba,loadDatasetInfo:Za,loadImgList:Aa,loading:ka,displayLabelIds:no,isTiledDiff:ci,displayOptionsResult:ti,displayObjectsFilter:mo}},Fu=e(41260),_i=function(){var K=(0,x.useState)(!1),F=ei()(K,2),ce=F[0],Me=F[1],ze=(0,N.useModel)("dataset.common"),Qe=ze.setPageState,St=function(){Me(!0)},At=function(){Me(!1)},Yt=function(qn){Qe(function(Kr){Kr.page=1,Kr.filterValues.displayAnnotationType=qa.JJ.Detection,Kr.flagTools=void 0,Kr.comparisons={label:qn,orderBy:qa.YZ.fn,precision:qn.comparePrecisions[0].precision,displays:qa.G3.map(function(na){return na.value}),diffMode:qa.uP.Overlay,score:(0,Fu.p)(qn.comparePrecisions[0].threshold,2)}})},ln=function(){Qe(function(qn){qn.page=1,qn.comparisons=void 0})},Hn=function(qn,Kr){Qe(function(na){if(na.comparisons&&(na.comparisons[qn]=Kr,qn==="precision")){var Or=na.comparisons.label.comparePrecisions.find(function(ba){return ba.precision===Kr});Or&&(na.comparisons.score=(0,Fu.p)(Or.threshold,2))}})};return{showAnalysisModal:ce,openAnalysisModal:St,closeAnalysisModal:At,compareLabelSet:Yt,exitComparisons:ln,onFilterComparisonsPrecision:Hn}},So=function(){var K=(0,N.useModel)("dataset.common"),F=K.pageState,ce=K.setPageState,Me=K.pageData,ze=K.setPageData,Qe=function(Kr){ce(function(na){na.filterValues.categoryId=Kr,na.page=1})},St=function(Kr){var na;typeof Kr=="number"?na=Kr:Kr?na=F.cloumnCount1?F.cloumnCount-1:F.cloumnCount,ce(function(Or){Or.cloumnCount=na})},At=function(Kr){ce(function(na){na.filterValues.displayOptions=Kr})},Yt=function(Kr){ce(function(na){na.filterValues.selectedLabelIds=Kr.sort(function(Or,ba){return Me.filters.labels.findIndex(function(Pa){return Pa.id===Or})-Me.filters.labels.findIndex(function(Pa){return Pa.id===ba})})})},ln=function(Kr){ce(function(na){na.filterValues.diffMode=Kr})},Hn=function(Kr,na){ze(function(Or){Or.filters.labels[Kr].confidenceRange=na})},Dn=function(Kr){var na=(0,oc.B8)(F.filterValues.displayOptions,Kr),Or=ei()(na,2),ba=Or[0],Pa=Or[1];ze(function(Za){Za.filters.displayOptions=ba}),ce(function(Za){Za.filterValues.displayAnnotationType=Kr,Za.filterValues.displayOptions=Pa})};return{onCategoryChange:Qe,onColumnCountChange:St,onDisplayOptionsChange:At,onDisplayAnnotationTypeChange:Dn,onLabelsChange:Yt,onLabelsDiffModeChange:ln,onLabelConfidenceChange:Hn}},gs=e(2556),vc=function(F){var ce=[],Me=[];return F.forEach(function(ze,Qe){ze.selected&&(ce.push(Qe),Me.push(ze.id))}),{selectIndexs:ce,selectedIds:Me}},du=function(){var K=(0,N.useModel)("dataset.common"),F=K.pageState,ce=K.setPageState,Me=K.pageData,ze=K.setPageData,Qe=K.loadImgList,St=(0,yl.x)(!1),At=ei()(St,2),Yt=At[0],ln=At[1],Hn=function(Ba){ze(function(ka){if(F.flagTools){var no=!ka.imgList[Ba].selected;if(Yt&&ka.flagTools.lastShiftIndex>=0&&Ba!==ka.flagTools.lastShiftIndex){var ci=ka.flagTools.count;ka.imgList.forEach(function(ti,mo){(mo>=ka.flagTools.lastShiftIndex&&mo<=Ba||mo>=Ba&&mo<=ka.flagTools.lastShiftIndex)&&(ci+=ti.selected?0:1,ti.selected=!0)}),ka.flagTools.lastShiftIndex=-1,ka.flagTools.count=ci}else ka.imgList[Ba].selected=no,ka.flagTools.lastShiftIndex=no?Ba:-1,ka.flagTools.count+=no?1:-1}})},Dn=function(){var Ba=Me.flagTools.count!==F.pageSize;ze(function(ka){ka.imgList.forEach(function(no){no.selected=Ba}),ka.flagTools.lastShiftIndex=-1,ka.flagTools.count=Ba?F.pageSize:0})},qn=function(){ze(function(Ba){Ba.imgList.forEach(function(ka){ka.selected=!ka.selected}),Ba.flagTools.lastShiftIndex=-1,Ba.flagTools.count=F.pageSize-Ba.flagTools.count})},Kr=function(){return new Promise(function(Ba){if(!F.flagTools){Ba(null);return}var ka=vc(Me.imgList),no=ka.selectIndexs;if(no.length>0&&(no.length!==Me.flagTools.lastSavedIndexs.length||Me.flagTools.lastSavedIndexs.find(function(ci){return!no.includes(ci)}))){rc.Z.confirm({content:"Now selected items have not been saved, these will lose if you click 'OK', are you sure?",onOk:function(){Ba(null)}});return}Ba(null)})},na=function(Ba){Kr().then(function(){ce(function(ka){ka.page=1,ka.flagTools.flagStatus=Ba})})},Or=function(){ze(function(Ba){Ba.flagTools.lastShiftIndex=-1,Ba.flagTools.lastSavedIndexs=[],Ba.flagTools.count=0}),ce(function(Ba){Ba.page=1,Ba.flagTools={flagStatus:qa.po.all}})},ba=function(){Kr().then(function(){ce(function(Ba){Ba.page=1,Ba.flagTools=void 0})})},Pa=function(){var Ho=w()(g()().mark(function Ba(ka){var no,ci,ti,mo;return g()().wrap(function(uo){for(;;)switch(uo.prev=uo.next){case 0:if(!(Me.flagTools.count<=0)){uo.next=3;break}return T.ZP.warning("No any image to be selected!"),uo.abrupt("return");case 3:return no=vc(Me.imgList),ci=no.selectIndexs,ti=no.selectedIds,mo=T.ZP.loading("Flag saving..."),uo.prev=5,uo.next=8,fe({datasetId:F.datasetId,flagGroups:[{flag:ka,ids:ti}]});case 8:mo(),ze(function(vo){vo.imgList.forEach(function(Qi){Qi.selected&&(Qi.flag=ka)}),vo.flagTools.lastSavedIndexs=ci}),uo.next=17;break;case 12:uo.prev=12,uo.t0=uo.catch(5),console.error("error",uo.t0),mo(),T.ZP.error("Flag save fail, please retry!");case 17:case"end":return uo.stop()}},Ba,null,[[5,12]])}));return function(ka){return Ho.apply(this,arguments)}}(),Za=(0,Eu.Z)(function(Ho){return On(Ho)},{manual:!0,pollingInterval:1e3,pollingWhenHidden:!0,onSuccess:function(Ba){var ka=Ba.status;ka==="success"?(Ra(),T.ZP.success("Order update success!"),ze(function(no){no.screenLoading=""}),ce(function(no){no.page=1}),Qe()):ka==="fail"&&(Ra(),T.ZP.error("Query order task fail, Please retry!"),ze(function(no){no.screenLoading=""}))}}),to=Za.run,Ra=Za.cancel,Aa=function(){var Ho=w()(g()().mark(function Ba(){var ka,no,ci;return g()().wrap(function(mo){for(;;)switch(mo.prev=mo.next){case 0:return mo.prev=0,ze(function(_o){_o.screenLoading="Updating order..."}),mo.next=4,at({datasetId:F.datasetId});case 4:ka=mo.sent,no=ka.id,ci=ka.name,to({id:no,name:ci}),mo.next=14;break;case 10:mo.prev=10,mo.t0=mo.catch(0),console.error("error",mo.t0),ze(function(_o){_o.screenLoading=""});case 14:case"end":return mo.stop()}},Ba,null,[[0,10]])}));return function(){return Ho.apply(this,arguments)}}();return(0,gs.Z)(["Shift"],function(Ho){!F.flagTools||F.previewIndex>=0||ln(Ho.type==="keydown")},{events:["keydown","keyup"]}),(0,gs.Z)(["shift.q","shift.Q","shift.e","shift.E","v","V"],function(Ho){!F.flagTools||F.previewIndex>=0||(["v","V"].includes(Ho.key)&&qn(),["q","Q"].includes(Ho.key)&&Ho.shiftKey&&Pa(qa.po.picked),["e","E"].includes(Ho.key)&&Ho.shiftKey&&Pa(qa.po.rejected))}),{enterFlagTools:Or,exitFlagTools:ba,onChangeFlagStatus:na,selectItem:Hn,changeSelectAll:Dn,antiSelect:qn,limitNoSaveChangePage:Kr,saveFlag:Pa,updateOrder:Aa}},ic=function(){var K=(0,yl.x)({page:1,pageSize:qa.L8}),F=ei()(K,2),ce=F[0],Me=F[1],ze=(0,yl.x)({list:[],total:0}),Qe=ei()(ze,2),St=Qe[0],At=Qe[1],Yt=(0,Eu.Z)(function(Kr,na){return Ru({pageNum:Kr||ce.page,pageSize:na||ce.pageSize})},{manual:!0,debounceWait:100,refreshDeps:[ce.page,ce.pageSize],onSuccess:function(na){var Or=na.datasetList,ba=na.total;At(function(Pa){Pa.list=Or,Pa.total=ba})},onError:function(){}}),ln=Yt.loading,Hn=Yt.run,Dn=function(na){Me(function(Or){Or.page=na}),Hn(na)},qn=function(na,Or){Me(function(ba){ba.page=na,ba.pageSize=Or}),Hn(na,Or)};return{loading:ln,pagination:ce,datasetsData:St,loadDatasets:Hn,setPagination:Me,onPageChange:Dn,onPageSizeChange:qn}},Qc=e(7214),Rs=e(21325),il=!1;(0,Qc.ac)(function(K){il=K});var xc=function(){var K=(0,x.useState)(!1),F=ei()(K,2),ce=F[0],Me=F[1],ze=(0,x.useState)(""),Qe=ei()(ze,2),St=Qe[0],At=Qe[1],Yt=(0,x.useState)(il),ln=ei()(Yt,2),Hn=ln[0],Dn=ln[1],qn=(0,x.useState)(0),Kr=ei()(qn,2),na=Kr[0],Or=Kr[1],ba=(0,x.useState)(window.innerWidth),Pa=ei()(ba,2),Za=Pa[0],to=Pa[1];return(0,x.useEffect)(function(){(0,Qc.ac)(function(Ra){Dn(Ra)})},[]),(0,x.useEffect)(function(){to(window.innerWidth-na)},[na]),(0,Rs.Z)("resize",function(){var Ra=window.innerWidth-na;to(Ra)},{target:window}),{loading:ce,setLoading:Me,loadingTip:St,setLoadingTip:At,isMobile:Hn,fixSliderWidth:na,setFixSliderWidth:Or,layoutInnerWidth:Za}};function gc(K){return Sl.apply(this,arguments)}function Sl(){return Sl=w()(g()().mark(function K(F){return g()().wrap(function(Me){for(;;)switch(Me.prev=Me.next){case 0:return Me.abrupt("return",(0,N.request)("/api/v1/user_info",h()({method:"GET",skipErrorHandler:!0},F||{})));case 1:case"end":return Me.stop()}},K)})),Sl.apply(this,arguments)}function El(K,F){return Bu.apply(this,arguments)}function Bu(){return Bu=w()(g()().mark(function K(F,ce){return g()().wrap(function(ze){for(;;)switch(ze.prev=ze.next){case 0:return ze.abrupt("return",(0,N.request)("/api/v1/login",h()({method:"POST",data:h()({},F),skipErrorHandler:!0},ce||{})));case 1:case"end":return ze.stop()}},K)})),Bu.apply(this,arguments)}function sl(K){return Pl.apply(this,arguments)}function Pl(){return Pl=w()(g()().mark(function K(F){return g()().wrap(function(Me){for(;;)switch(Me.prev=Me.next){case 0:return Me.abrupt("return",(0,N.request)("/api/v1/logout",h()({method:"POST"},F||{})));case 1:case"end":return Me.stop()}},K)})),Pl.apply(this,arguments)}var Ic=function(){var K=(0,N.useModel)("global"),F=K.setLoading,ce=(0,x.useState)(!1),Me=ei()(ce,2),ze=Me[0],Qe=Me[1],St=(0,yl.x)({}),At=ei()(St,2),Yt=At[0],ln=At[1],Hn=function(){return new Promise(function(Or){if(Yt.isLogin){Or(null);return}Qe(!0)})},Dn=function(){var na=w()(g()().mark(function Or(){var ba,Pa,Za,to,Ra,Aa;return g()().wrap(function(Ba){for(;;)switch(Ba.prev=Ba.next){case 0:return Ba.prev=0,ba=localStorage.getItem(qa.Uf.AUTH_TOKEN),Ba.next=4,gc();case 4:Pa=Ba.sent,Za=Pa.id,to=Pa.name,Ra=Pa.status,Aa=Pa.isStaff,ba&&Ra===qa.oC.Active&&ln({isLogin:!0,username:to,userId:Za,token:ba,isStaff:Aa}),Ba.next=16;break;case 12:Ba.prev=12,Ba.t0=Ba.catch(0),console.error("error",Ba.t0),ln({isLogin:!1});case 16:case"end":return Ba.stop()}},Or,null,[[0,12]])}));return function(){return na.apply(this,arguments)}}(),qn=function(){var na=w()(g()().mark(function Or(ba){var Pa,Za,to,Ra,Aa,Ho,Ba,ka,no;return g()().wrap(function(ti){for(;;)switch(ti.prev=ti.next){case 0:return Pa=ba.username,Za=ba.password,to=window.location.pathname,Ra=to.includes("page/login"),F(!0),ti.prev=4,ti.next=7,El({username:Pa,password:Za});case 7:Aa=ti.sent,Ho=Aa.username,Ba=Aa.userId,ka=Aa.token,no=Aa.isStaff,ln({isLogin:!0,username:Ho,token:ka,userId:Ba,isStaff:no}),localStorage.setItem(qa.Uf.AUTH_TOKEN,ka),Ra||Qe(!1),T.ZP.success((0,as._w)("loginSuccess")),ti.next=21;break;case 18:ti.prev=18,ti.t0=ti.catch(4),T.ZP.error((0,as._w)("loginAuthenticationFailed"));case 21:return ti.prev=21,F(!1),ti.finish(21);case 24:case"end":return ti.stop()}},Or,null,[[4,18,21,24]])}));return function(ba){return na.apply(this,arguments)}}(),Kr=function(){var na=w()(g()().mark(function Or(){return g()().wrap(function(Pa){for(;;)switch(Pa.prev=Pa.next){case 0:return Pa.prev=0,Pa.next=3,sl();case 3:ln({isLogin:!1}),T.ZP.success((0,as._w)("logoutSuccess")),localStorage.removeItem(qa.Uf.AUTH_TOKEN),N.history.push("/"),Pa.next=13;break;case 9:Pa.prev=9,Pa.t0=Pa.catch(0),console.error("error",Pa.t0),T.ZP.error((0,as._w)("logoutFailed"));case 13:case"end":return Pa.stop()}},Or,null,[[0,9]])}));return function(){return na.apply(this,arguments)}}();return{user:Yt,setUser:ln,checkLoginStatus:Dn,onLogin:qn,onLogout:Kr,showLoginModal:ze,setShowLoginModal:Qe,limitLoginAction:Hn}},Nc=e(1239),Ac=e(32694),Rc=e(54518),Oc=e(93059),mc=e(45060),Dc=e(16962),Ze=e.n(Dc),ye=e(88479),Te=e.n(ye),An=e(17410),yt=e(67761),Pn=e(46134),Sn=function(F,ce){var Me=function(Hn){return"".concat(F).concat(Hn)},ze=function(Hn){return Hn.startsWith(F)},Qe=function(Hn){var Dn=Hn.substring(F.length),qn=parseInt(Dn);return isNaN(qn)?-1:qn},St=function(Hn){var Dn=Hn.filter(function(qn){return!!qn.id&&ze(qn.id)}).map(function(qn){return Qe(qn.id)});return Dn.length>0?Math.max.apply(Math,Wu()(Dn)):-1},At=St(ce)+1,Yt=function(Hn){return Hn&&ze(Hn)?Qe(Hn):At++};return{getStringItemId:Me,getIntItemId:Yt}},In="user_import_category",Un="user_import_image",ir="user_import_annot",Mr=function(){var K=w()(g()().mark(function F(ce){var Me,ze,Qe,St,At,Yt,ln,Hn,Dn,qn,Kr,na;return g()().wrap(function(ba){for(;;)switch(ba.prev=ba.next){case 0:Me=ce.info,ze=ce.images,Qe=ce.categories,St={info:{},images:[],categories:[],annotations:[]},St.info=h()(h()({},Me),{},{year:new Date().getFullYear(),date_created:new Date().toISOString()}),At=Sn(In,Qe),Yt=At.getIntItemId,ln={},Qe.forEach(function(Pa){var Za=Yt(Pa.id);ln[Pa.name]=Za,St.categories.push({id:Za,name:Pa.name})}),Hn=Sn(Un,ze),Dn=Hn.getIntItemId,qn=Te()(ze),ba.prev=8,na=g()().mark(function Pa(){var Za,to,Ra,Aa;return g()().wrap(function(Ba){for(;;)switch(Ba.prev=Ba.next){case 0:if(Za=Kr.value,to=Dn(Za.id),Ra={width:0,height:0},!(!Za.width||!Za.height)){Ba.next=10;break}return Ba.next=6,(0,mc.pz)(Za.urlFullRes);case 6:Aa=Ba.sent,Ra=Aa,Ba.next=12;break;case 10:Ra.width=Za.width,Ra.height=Za.height;case 12:St.images.push(h()({id:to,file_name:Za.name},Ra)),Za.objects.forEach(function(ka){var no={id:St.annotations.length,image_id:to};if(ln&&ka.categoryName&&ln[ka.categoryName]!==void 0&&(no.category_id=ln[ka.categoryName]),ka.boundingBox){var ci=(0,Pn.cO)(ka.boundingBox,Ra),ti=ci.x,mo=ci.y,_o=ci.width,uo=ci.height,vo=_o*uo,Qi=[ti,mo,_o,uo];Object.assign(no,{area:vo,bbox:Qi})}if(ka.segmentation){var Ai=ka.segmentation.split("/").map(function(Cl){return Cl.split(",").map(function(Xi){return parseFloat(Xi)})}),$i=Ai.reduce(function(Cl,Xi){var ru=(0,Pn.X6)(Xi),Vu=(0,Pn.I4)(ru);return Cl+Vu},0);Object.assign(no,{segmentation:Ai,area:$i})}if(ka.mask){var Ga=(0,yt.ei)(ka.mask.counts||"",Ra,"#fff"),Ri=ka.mask;if(Ga){var Oa=(0,Pn.e4)(Ga),ko=Oa.area;Object.assign(no,{segmentation:Ri,area:ko})}else Object.assign(no,{segmentation:Ri})}if(ka.points&&ka.points.length>0){for(var Ci=ka.points,Ti=[],ns=0,Cs=0;Cs*60&&(ba.categories=ze==null?void 0:ze.map(function(Ra){var Aa=Ra.id,Ho=Ra.name;return{id:Dn(Aa),name:Ho}})),Qe&&Qe.length>0){var Pa=new Map(ba.images.map(function(Ra){return[Ra.name,Ra]}));Qe.forEach(function(Ra){var Aa=Pa.get(Ra.file_name);Aa&&(Aa.id=Kr(Ra.id),Aa.width=Ra.width,Aa.height=Ra.height)})}if(St&&St.length>0){var Za=new Map(Qe.map(function(Ra){return[Ra.id,Ra]})),to=new Map(ba.images.map(function(Ra){return[Ra.id,Ra]}));St.forEach(function(Ra){var Aa=Ra.id,Ho=Ra.image_id,Ba=Ra.category_id,ka=Ra.bbox,no=Ra.segmentation,ci=Ra.keypoints,ti=Ra.num_keypoints,mo=Za.get(Ho),_o=to.get(Kr(Ho));if(mo&&_o){var uo,vo=mo.width,Qi=mo.height,Ai={id:Or(Aa),categoryId:Dn(Ba),categoryName:ze==null||(uo=ze.find(function(ns){return ns.id===Ba}))===null||uo===void 0?void 0:uo.name};if(ka){var $i=ei()(ka,4),Ga=$i[0],Ri=$i[1],Oa=$i[2],ko=$i[3];Object.assign(Ai,{boundingBox:(0,Pn.kq)({x:Ga,y:Ri,width:Oa,height:ko},{width:vo,height:Qi})})}if(no&&(Array.isArray(no)?Object.assign(Ai,{segmentation:no==null?void 0:no.map(function(ns){var Cs;return(Cs=ns.map(function(Cl){return Cl.toString()}))===null||Cs===void 0?void 0:Cs.join(",")}).join("/")}):typeof no.counts=="string"&&Object.assign(Ai,{mask:no})),ci&&ti===An.v_.pointNames.length){for(var Ci=[],Ti=0;Ti*3-1?St:0),N.history.push("/quickstart")},Ci=function(){ce.length<=0||(ka(ce),mo(!1))},Ti=function(){Oa(),mo(!1),At(-1)},ns=(0,x.useCallback)(function(rs){var ms=ce.find(function(zi){return zi.id===Ba[rs].id});return ms&&ms.objects.length>0},[ce,Ba]),Cs=(0,x.useCallback)(function(rs){return ns(rs)?(Hs.Z.error({message:(0,as._w)("quicklabel.formModal.deleteImage.title"),description:(0,as._w)("quicklabel.formModal.deleteImage.desc"),duration:3}),!0):!1},[ns]),Cl=function(){var rs=w()(g()().mark(function ms(){var zi,ds;return g()().wrap(function(xs){for(;;)switch(xs.prev=xs.next){case 0:return xs.next=2,Mr({info:Hn,images:ce,categories:na});case 2:zi=xs.sent,ds=(0,mc.XV)(Date.now(),"Annotations"),(0,mc.Gf)(zi,ds);case 5:case"end":return xs.stop()}},ms)}));return function(){return rs.apply(this,arguments)}}(),Xi=function(ms){var zi=ms.file,ds=ms.fileList;if(!(ds.length===0||!ds[0].originFileObj)){var Tl=new FileReader;Tl.readAsText(ds[0].originFileObj),Tl.onload=function(xs){var Wl,Vs=JSON.parse((Wl=xs.target)===null||Wl===void 0?void 0:Wl.result),Cu=Ln(Vs);Cu.success?(Qi([zi]),Ri(Vs)):T.ZP.error(Cu.message)}}},ru=function(ms){var zi=vo.findIndex(function(ds){return ds.uid===ms.uid});vo.splice(zi,1),Qi(Wu()(vo)),Ri(da)},Vu=function(ms){to(ms),At(-1)},zc=function(){to(null),At(-1)};return{qsModalVisible:ti,setQsModalVisible:mo,uploadFiles:Ba,setUploadFiles:ka,images:ce,setImages:Me,filterImages:Ra,onClickQuickstart:ko,onCancelUploadFiles:Ci,onConfirmUploadFiles:Ti,limitRemoveFile:Cs,current:St,setCurrent:At,categories:na,setCategories:Or,filterCategoryName:Za,setFilterCategoryName:to,exportAnnotations:Cl,uploadPreAnnot:vo,onChangePreAnnotFile:Xi,onRemovePreAnnotFile:ru,onSelectFilterCategory:Vu,onClearFilterCategory:zc}},Yn=function(){return Rr()},lr=function(){var K=(0,N.useModel)("dataset.common"),F=K.pageState,ce=K.setPageState,Me=K.setPageData,ze=function(Dn){ce(function(qn){qn.previewIndex=Dn})},Qe=function(Dn){ce(function(qn){qn.previewIndex=Dn})},St=function(Dn){F.page!==Dn&&ce(function(qn){qn.page=Dn})},At=function(Dn,qn){ce(function(Kr){Kr.pageSize=qn})},Yt=function(){},ln=function(){Me(function(Dn){Object.assign(Dn,Hu)}),ce(function(Dn){Object.assign(Dn,zu)})};return{onPageDidMount:Yt,onPageWillUnmount:ln,clickItem:ze,doubleClickItem:Qe,onPageChange:St,onPageSizeChange:At}},Nr=e(86724),ia=e.n(Nr),Vr=function(){var K=(0,N.useModel)("datasets"),F=K.loadDatasets,ce=K.setPagination,Me=function(At){var Yt=JSON.stringify({datasetId:At.id,datasetName:At.name});N.history.push("/dataset/detail?pageState=".concat(encodeURIComponent(Yt)))},ze=function(At,Yt){var ln=JSON.stringify({datasetId:Yt.id,datasetName:Yt.name}),Hn="".concat(window.location.origin,"/page/dataset/detail?pageState=").concat(encodeURIComponent(ln)),Dn=ia()(Hn);Dn&&T.ZP.success((0,as._w)("dataset.onClickCopyLink.success")),At.stopPropagation()},Qe=function(At){ce(function(Yt){Object.assign(Yt,{page:1,pageSize:qa.L8},At)}),F()};return{onInitPageState:Qe,onClickItem:Me,onClickCopyLink:ze}},Lr=e(23707),ga=function(){var K=(0,N.useModel)("datasets"),F=K.loadDatasets,ce=K.setPagination,Me=(0,Lr.BQ)("type")||"flagtool",ze=function(Yt){var ln=JSON.stringify({datasetId:Yt.id,datasetName:Yt.name});N.history.push("/lab/".concat(Me,"?pageState=").concat(encodeURIComponent(ln)))},Qe=function(Yt,ln){var Hn=JSON.stringify({datasetId:ln.id,datasetName:ln.name}),Dn="".concat(window.location.origin,"/page/dataset/detail?pageState=").concat(encodeURIComponent(Hn)),qn=ia()(Dn);qn&&T.ZP.success((0,as._w)("lab.onClickCopyLink.success")),Yt.stopPropagation()},St=function(Yt){ce(function(ln){Object.assign(ln,{page:1,pageSize:qa.L8},Yt)}),F()};return{labType:Me,onInitPageState:St,onClickItem:ze,onClickCopyLink:Qe}},aa=function(){var K=(0,N.useModel)("user"),F=K.showLoginModal,ce=(0,N.useModel)("dataset.common"),Me=ce.pageState,ze=ce.setPageState,Qe=ce.pageData,St=ce.setPageData,At=(0,N.useModel)("dataset.flag"),Yt=At.selectItem,ln=At.enterFlagTools,Hn=At.limitNoSaveChangePage,Dn=function(Za){Yt(Za)},qn=function(Za){ze(function(to){to.previewIndex=Za})},Kr=function(Za){Me.page!==Za&&Hn().then(function(){ze(function(to){to.page=Za})})},na=function(Za,to){Hn().then(function(){ze(function(Ra){Ra.pageSize=to})})};(0,gs.Z)(["a","A","d","D","shift.q","shift.Q","shift.e","shift.E","z","Z"],function(Pa){Me.previewIndex>=0||F||(["a","A"].includes(Pa.key)&&Me.page>1&&Kr(Me.page-1),["d","D"].includes(Pa.key)&&Me.page=0)&&(Dt[kt]=ut[kt]);return Dt}const c=["onClick","reloadDocument","replace","state","target","to"],m=null;function g(ut,ct){if(!ut){typeof console!="undefined"&&console.warn(ct);try{throw new Error(ct)}catch(Dt){}}}function M(ut){let{basename:ct,children:Dt,window:xt}=ut,kt=useRef();kt.current==null&&(kt.current=createBrowserHistory({window:xt}));let sn=kt.current,[tn,xn]=useState({action:sn.action,location:sn.location});return useLayoutEffect(()=>sn.listen(xn),[sn]),createElement(Router,{basename:ct,children:Dt,location:tn.location,navigationType:tn.action,navigator:sn})}function h(ut){let{basename:ct,children:Dt,window:xt}=ut,kt=useRef();kt.current==null&&(kt.current=createHashHistory({window:xt}));let sn=kt.current,[tn,xn]=useState({action:sn.action,location:sn.location});return useLayoutEffect(()=>sn.listen(xn),[sn]),createElement(Router,{basename:ct,children:Dt,location:tn.location,navigationType:tn.action,navigator:sn})}function S(ut){let{basename:ct,children:Dt,history:xt}=ut;const[kt,sn]=useState({action:xt.action,location:xt.location});return useLayoutEffect(()=>xt.listen(sn),[xt]),createElement(Router,{basename:ct,children:Dt,location:kt.location,navigationType:kt.action,navigator:xt})}function w(ut){return!!(ut.metaKey||ut.altKey||ut.ctrlKey||ut.shiftKey)}const x=(0,o.forwardRef)(function(ct,Dt){let{onClick:xt,reloadDocument:kt,replace:sn=!1,state:tn,target:xn,to:Nn}=ct,gr=l(ct,c),nr=(0,s.useHref)(Nn),Rn=U(Nn,{replace:sn,state:tn,target:xn});function kr(fr){xt&&xt(fr),!fr.defaultPrevented&&!kt&&Rn(fr)}return(0,o.createElement)("a",d({},gr,{href:nr,onClick:kr,ref:Dt,target:xn}))}),z=null;function U(ut,ct){let{target:Dt,replace:xt,state:kt}=ct===void 0?{}:ct,sn=(0,s.useNavigate)(),tn=(0,s.useLocation)(),xn=(0,s.useResolvedPath)(ut);return(0,o.useCallback)(Nn=>{if(Nn.button===0&&(!Dt||Dt==="_self")&&!w(Nn)){Nn.preventDefault();let gr=!!xt||(0,n.Ep)(tn)===(0,n.Ep)(xn);sn(ut,{replace:gr,state:kt})}},[tn,sn,xn,xt,kt,Dt,ut])}function T(ut){let ct=useRef(N(ut)),Dt=useLocation(),xt=useMemo(()=>{let tn=N(Dt.search);for(let xn of ct.current.keys())tn.has(xn)||ct.current.getAll(xn).forEach(Nn=>{tn.append(xn,Nn)});return tn},[Dt.search]),kt=useNavigate(),sn=useCallback((tn,xn)=>{kt("?"+N(tn),xn)},[kt]);return[xt,sn]}function N(ut){return ut===void 0&&(ut=""),new URLSearchParams(typeof ut=="string"||Array.isArray(ut)||ut instanceof URLSearchParams?ut:Object.keys(ut).reduce((ct,Dt)=>{let xt=ut[Dt];return ct.concat(Array.isArray(xt)?xt.map(kt=>[Dt,kt]):[[Dt,xt]])},[]))}var Z=e(60581),D=["prefetch"];function L(ut){var ct,Dt=ut.prefetch,xt=(0,t.Z)(ut,D),kt=(0,Z.Ov)(),sn=typeof ut.to=="string"?ut.to:(ct=ut.to)===null||ct===void 0?void 0:ct.pathname;return sn?o.createElement(x,(0,a.Z)({onMouseEnter:function(){var xn;return Dt&&sn&&((xn=kt.preloadRoute)===null||xn===void 0?void 0:xn.call(kt,sn))}},xt),ut.children):null}var j=e(83753);function G(){"use strict";G=function(){return ut};var ut={},ct=Object.prototype,Dt=ct.hasOwnProperty,xt=Object.defineProperty||function(Kn,zn,vr){Kn[zn]=vr.value},kt=typeof Symbol=="function"?Symbol:{},sn=kt.iterator||"@@iterator",tn=kt.asyncIterator||"@@asyncIterator",xn=kt.toStringTag||"@@toStringTag";function Nn(Kn,zn,vr){return Object.defineProperty(Kn,zn,{value:vr,enumerable:!0,configurable:!0,writable:!0}),Kn[zn]}try{Nn({},"")}catch(Kn){Nn=function(vr,ra,xr){return vr[ra]=xr}}function gr(Kn,zn,vr,ra){var xr=zn&&zn.prototype instanceof kr?zn:kr,jt=Object.create(xr.prototype),an=new Br(ra||[]);return xt(jt,"_invoke",{value:Qr(Kn,vr,an)}),jt}function nr(Kn,zn,vr){try{return{type:"normal",arg:Kn.call(zn,vr)}}catch(ra){return{type:"throw",arg:ra}}}ut.wrap=gr;var Rn={};function kr(){}function fr(){}function ua(){}var Pr={};Nn(Pr,sn,function(){return this});var Bn=Object.getPrototypeOf,Cn=Bn&&Bn(Bn(Ea([])));Cn&&Cn!==ct&&Dt.call(Cn,sn)&&(Pr=Cn);var wn=ua.prototype=kr.prototype=Object.create(Pr);function ar(Kn){["next","throw","return"].forEach(function(zn){Nn(Kn,zn,function(vr){return this._invoke(zn,vr)})})}function mr(Kn,zn){function vr(xr,jt,an,hn){var ao=nr(Kn[xr],Kn,jt);if(ao.type!=="throw"){var Mo=ao.arg,Ua=Mo.value;return Ua&&(0,j.Z)(Ua)=="object"&&Dt.call(Ua,"__await")?zn.resolve(Ua.__await).then(function(Ha){vr("next",Ha,an,hn)},function(Ha){vr("throw",Ha,an,hn)}):zn.resolve(Ua).then(function(Ha){Mo.value=Ha,an(Mo)},function(Ha){return vr("throw",Ha,an,hn)})}hn(ao.arg)}var ra;xt(this,"_invoke",{value:function(jt,an){function hn(){return new zn(function(ao,Mo){vr(jt,an,ao,Mo)})}return ra=ra?ra.then(hn,hn):hn()}})}function Qr(Kn,zn,vr){var ra="suspendedStart";return function(xr,jt){if(ra==="executing")throw new Error("Generator is already running");if(ra==="completed"){if(xr==="throw")throw jt;return ca()}for(vr.method=xr,vr.arg=jt;;){var an=vr.delegate;if(an){var hn=qr(an,vr);if(hn){if(hn===Rn)continue;return hn}}if(vr.method==="next")vr.sent=vr._sent=vr.arg;else if(vr.method==="throw"){if(ra==="suspendedStart")throw ra="completed",vr.arg;vr.dispatchException(vr.arg)}else vr.method==="return"&&vr.abrupt("return",vr.arg);ra="executing";var ao=nr(Kn,zn,vr);if(ao.type==="normal"){if(ra=vr.done?"completed":"suspendedYield",ao.arg===Rn)continue;return{value:ao.arg,done:vr.done}}ao.type==="throw"&&(ra="completed",vr.method="throw",vr.arg=ao.arg)}}}function qr(Kn,zn){var vr=zn.method,ra=Kn.iterator[vr];if(ra===void 0)return zn.delegate=null,vr==="throw"&&Kn.iterator.return&&(zn.method="return",zn.arg=void 0,qr(Kn,zn),zn.method==="throw")||vr!=="return"&&(zn.method="throw",zn.arg=new TypeError("The iterator does not provide a '"+vr+"' method")),Rn;var xr=nr(ra,Kn.iterator,zn.arg);if(xr.type==="throw")return zn.method="throw",zn.arg=xr.arg,zn.delegate=null,Rn;var jt=xr.arg;return jt?jt.done?(zn[Kn.resultName]=jt.value,zn.next=Kn.nextLoc,zn.method!=="return"&&(zn.method="next",zn.arg=void 0),zn.delegate=null,Rn):jt:(zn.method="throw",zn.arg=new TypeError("iterator result is not an object"),zn.delegate=null,Rn)}function ya(Kn){var zn={tryLoc:Kn[0]};1 in Kn&&(zn.catchLoc=Kn[1]),2 in Kn&&(zn.finallyLoc=Kn[2],zn.afterLoc=Kn[3]),this.tryEntries.push(zn)}function dr(Kn){var zn=Kn.completion||{};zn.type="normal",delete zn.arg,Kn.completion=zn}function Br(Kn){this.tryEntries=[{tryLoc:"root"}],Kn.forEach(ya,this),this.reset(!0)}function Ea(Kn){if(Kn){var zn=Kn[sn];if(zn)return zn.call(Kn);if(typeof Kn.next=="function")return Kn;if(!isNaN(Kn.length)){var vr=-1,ra=function xr(){for(;++vr=0;--xr){var jt=this.tryEntries[xr],an=jt.completion;if(jt.tryLoc==="root")return ra("end");if(jt.tryLoc<=this.prev){var hn=Dt.call(jt,"catchLoc"),ao=Dt.call(jt,"finallyLoc");if(hn&&ao){if(this.prev=0;--ra){var xr=this.tryEntries[ra];if(xr.tryLoc<=this.prev&&Dt.call(xr,"finallyLoc")&&this.prev=0;--vr){var ra=this.tryEntries[vr];if(ra.finallyLoc===zn)return this.complete(ra.completion,ra.afterLoc),dr(ra),Rn}},catch:function(zn){for(var vr=this.tryEntries.length-1;vr>=0;--vr){var ra=this.tryEntries[vr];if(ra.tryLoc===zn){var xr=ra.completion;if(xr.type==="throw"){var jt=xr.arg;dr(ra)}return jt}}throw new Error("illegal catch attempt")},delegateYield:function(zn,vr,ra){return this.delegate={iterator:Ea(zn),resultName:vr,nextLoc:ra},this.method==="next"&&(this.arg=void 0),Rn}},ut}var W=e(5452);function ne(ut,ct,Dt,xt,kt,sn,tn){try{var xn=ut[sn](tn),Nn=xn.value}catch(gr){Dt(gr);return}xn.done?ct(Nn):Promise.resolve(Nn).then(xt,kt)}function _(ut){return function(){var ct=this,Dt=arguments;return new Promise(function(xt,kt){var sn=ut.apply(ct,Dt);function tn(Nn){ne(sn,xt,kt,tn,xn,"next",Nn)}function xn(Nn){ne(sn,xt,kt,tn,xn,"throw",Nn)}tn(void 0)})}}var ee=e(50648);function se(ut,ct){var Dt=typeof Symbol!="undefined"&&ut[Symbol.iterator]||ut["@@iterator"];if(!Dt){if(Array.isArray(ut)||(Dt=(0,ee.Z)(ut))||ct&&ut&&typeof ut.length=="number"){Dt&&(ut=Dt);var xt=0,kt=function(){};return{s:kt,n:function(){return xt>=ut.length?{done:!0}:{done:!1,value:ut[xt++]}},e:function(gr){throw gr},f:kt}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var sn=!0,tn=!1,xn;return{s:function(){Dt=Dt.call(ut)},n:function(){var gr=Dt.next();return sn=gr.done,gr},e:function(gr){tn=!0,xn=gr},f:function(){try{!sn&&Dt.return!=null&&Dt.return()}finally{if(tn)throw xn}}}}var Q=e(40642);function C(ut){if(typeof Symbol!="undefined"&&ut[Symbol.iterator]!=null||ut["@@iterator"]!=null)return Array.from(ut)}var X=e(8010);function O(ut){return(0,Q.Z)(ut)||C(ut)||(0,ee.Z)(ut)||(0,X.Z)()}function H(ut,ct){if(!(ut instanceof ct))throw new TypeError("Cannot call a class as a function")}var k=e(4566);function A(ut,ct){for(var Dt=0;Dt-1,"register failed, invalid key ".concat(kt," ").concat(Dt.path?"from plugin ".concat(Dt.path):"",".")),xt.hooks[kt]=(xt.hooks[kt]||[]).concat(Dt.apply[kt])})}},{key:"getHooks",value:function(Dt){var xt=Dt.split("."),kt=O(xt),sn=kt[0],tn=kt.slice(1),xn=this.hooks[sn]||[];return tn.length&&(xn=xn.map(function(Nn){try{var gr=Nn,nr=se(tn),Rn;try{for(nr.s();!(Rn=nr.n()).done;){var kr=Rn.value;gr=gr[kr]}}catch(fr){nr.e(fr)}finally{nr.f()}return gr}catch(fr){return null}}).filter(Boolean)),xn}},{key:"applyPlugins",value:function(Dt){var xt=Dt.key,kt=Dt.type,sn=Dt.initialValue,tn=Dt.args,xn=Dt.async,Nn=this.getHooks(xt)||[];switch(tn&&me((0,j.Z)(tn)==="object","applyPlugins failed, args must be plain object."),xn&&me(kt===Pe.modify||kt===Pe.event,"async only works with modify and event type."),kt){case Pe.modify:return xn?Nn.reduce(function(){var gr=_(G().mark(function nr(Rn,kr){var fr;return G().wrap(function(Pr){for(;;)switch(Pr.prev=Pr.next){case 0:if(me(typeof kr=="function"||(0,j.Z)(kr)==="object"||be(kr),"applyPlugins failed, all hooks for key ".concat(xt," must be function, plain object or Promise.")),!be(Rn)){Pr.next=5;break}return Pr.next=4,Rn;case 4:Rn=Pr.sent;case 5:if(typeof kr!="function"){Pr.next=16;break}if(fr=kr(Rn,tn),!be(fr)){Pr.next=13;break}return Pr.next=10,fr;case 10:return Pr.abrupt("return",Pr.sent);case 13:return Pr.abrupt("return",fr);case 14:Pr.next=21;break;case 16:if(!be(kr)){Pr.next=20;break}return Pr.next=19,kr;case 19:kr=Pr.sent;case 20:return Pr.abrupt("return",(0,W.Z)((0,W.Z)({},Rn),kr));case 21:case"end":return Pr.stop()}},nr)}));return function(nr,Rn){return gr.apply(this,arguments)}}(),be(sn)?sn:Promise.resolve(sn)):Nn.reduce(function(gr,nr){return me(typeof nr=="function"||(0,j.Z)(nr)==="object","applyPlugins failed, all hooks for key ".concat(xt," must be function or plain object.")),typeof nr=="function"?nr(gr,tn):(0,W.Z)((0,W.Z)({},gr),nr)},sn);case Pe.event:return _(G().mark(function gr(){var nr,Rn,kr,fr;return G().wrap(function(Pr){for(;;)switch(Pr.prev=Pr.next){case 0:nr=se(Nn),Pr.prev=1,nr.s();case 3:if((Rn=nr.n()).done){Pr.next=12;break}if(kr=Rn.value,me(typeof kr=="function","applyPlugins failed, all hooks for key ".concat(xt," must be function.")),fr=kr(tn),!(xn&&be(fr))){Pr.next=10;break}return Pr.next=10,fr;case 10:Pr.next=3;break;case 12:Pr.next=17;break;case 14:Pr.prev=14,Pr.t0=Pr.catch(1),nr.e(Pr.t0);case 17:return Pr.prev=17,nr.f(),Pr.finish(17);case 20:case"end":return Pr.stop()}},gr,null,[[1,14,17,20]])}))();case Pe.compose:return function(){return ve({fns:Nn.concat(sn),args:tn})()}}}}],[{key:"create",value:function(Dt){var xt=new ut({validKeys:Dt.validKeys});return Dt.plugins.forEach(function(kt){xt.register(kt)}),xt}}]),ut}(),qe=e(12763),Xe=e(16962),mt=e.n(Xe),Ct=0,vt=0;function Ht(ut,ct){if(!1)var Dt}function ke(ut){return JSON.stringify(ut,null,2)}function Ve(ut){var ct=ut.length>1?ut.map(ot).join(" "):ut[0];return mt()(ct)==="object"?"".concat(ke(ct)):ct.toString()}function ot(ut){return mt()(ut)==="object"?"".concat(JSON.stringify(ut)):ut.toString()}var Ke={log:function(){for(var ct=arguments.length,Dt=new Array(ct),xt=0;xt-1&&(sn=setTimeout(function(){oe.delete(ct)},Dt)),oe.set(ct,{data:xt,timer:sn,startTime:new Date().getTime()})},ue=function(ct){var Dt=oe.get(ct);return{data:Dt==null?void 0:Dt.data,startTime:Dt==null?void 0:Dt.startTime}},Ee=function(ut,ct){var Dt=typeof Symbol=="function"&&ut[Symbol.iterator];if(!Dt)return ut;var xt=Dt.call(ut),kt,sn=[],tn;try{for(;(ct===void 0||ct-- >0)&&!(kt=xt.next()).done;)sn.push(kt.value)}catch(xn){tn={error:xn}}finally{try{kt&&!kt.done&&(Dt=xt.return)&&Dt.call(xt)}finally{if(tn)throw tn.error}}return sn},le=function(){for(var ut=[],ct=0;ct0)&&!(kt=xt.next()).done;)sn.push(kt.value)}catch(xn){tn={error:xn}}finally{try{kt&&!kt.done&&(Dt=xt.return)&&Dt.call(xt)}finally{if(tn)throw tn.error}}return sn},we=function(){for(var ut=[],ct=0;ct0)&&!(kt=xt.next()).done;)sn.push(kt.value)}catch(xn){tn={error:xn}}finally{try{kt&&!kt.done&&(Dt=xt.return)&&Dt.call(xt)}finally{if(tn)throw tn.error}}return sn},bt=function(){for(var ut=[],ct=0;ct0){var Ir=Br&&((oa=getCache(Br))===null||oa===void 0?void 0:oa.startTime)||0;zn===-1||new Date().getTime()-Ir<=zn||Object.values(cn).forEach(function($r){$r.refresh()})}else Wr.current.apply(Wr,bt(ar))},[]);var la=useCallback(function(){Object.values(_n.current).forEach(function(oa){oa.unmount()}),Mo.current=It,dn({}),_n.current={}},[dn]);useUpdateEffect(function(){tn||Object.values(_n.current).forEach(function(oa){oa.refresh()})},bt(kt)),useEffect(function(){return function(){Object.values(_n.current).forEach(function(oa){oa.unmount()})}},[]);var ea=useCallback(function(oa){return function(){console.warn("You should't call "+oa+" when service not executed once.")}},[]);return tt(tt({loading:an&&!tn||kr,data:xr,error:void 0,params:[],cancel:ea("cancel"),refresh:ea("refresh"),mutate:ea("mutate")},cn[Mo.current]||{}),{run:yr,fetches:cn,reset:la})}var Mt=null,Le=function(){return Le=Object.assign||function(ut){for(var ct,Dt=1,xt=arguments.length;Dt0)&&!(kt=xt.next()).done;)sn.push(kt.value)}catch(xn){tn={error:xn}}finally{try{kt&&!kt.done&&(Dt=xt.return)&&Dt.call(xt)}finally{if(tn)throw tn.error}}return sn},Tt=function(){for(var ut=[],ct=0;ct0)&&!(kt=xt.next()).done;)sn.push(kt.value)}catch(xn){tn={error:xn}}finally{try{kt&&!kt.done&&(Dt=xt.return)&&Dt.call(xt)}finally{if(tn)throw tn.error}}return sn},un=function(){for(var ut=[],ct=0;ctao&&(an=Math.max(1,ao)),dr({current:an,pageSize:hn})},[Br,dr]),Kn=useCallback(function(xr){ca(xr,ar)},[ca,ar]),zn=useCallback(function(xr){ca(Cn,xr)},[ca,Cn]),vr=useRef(Kn);vr.current=Kn,useUpdateEffect(function(){ct.manual||vr.current(1)},un(tn));var ra=useCallback(function(xr,jt,an){dr({current:xr.current,pageSize:xr.pageSize||kt,filters:jt,sorter:an})},[ya,Qr,dr]);return _t({loading:fr,data:nr,params:Rn,run:kr,pagination:{current:Cn,pageSize:ar,total:Br,totalPage:Ea,onChange:ca,changeCurrent:Kn,changePageSize:zn},tableProps:{dataSource:(nr==null?void 0:nr.list)||[],loading:fr,onChange:ra,pagination:{current:Cn,pageSize:ar,total:Br}},sorter:Qr,filters:ya},ua)}var vn=null,Xn=o.createContext({});Xn.displayName="UseRequestConfigContext";var Vn=Xn,or=function(){return or=Object.assign||function(ut){for(var ct,Dt=1,xt=arguments.length;Dt0)&&!(kt=xt.next()).done;)sn.push(kt.value)}catch(xn){tn={error:xn}}finally{try{kt&&!kt.done&&(Dt=xt.return)&&Dt.call(xt)}finally{if(tn)throw tn.error}}return sn},en=function(){for(var ut=[],ct=0;ct1&&arguments[1]!==void 0?arguments[1]:{};return useUmiRequest(ut,_objectSpread({formatResult:function(xt){return xt==null?void 0:xt.data},requestMethod:function(xt){if(typeof xt=="string")return Zn(xt);if(_typeof(xt)==="object"){var kt=xt.url,sn=_objectWithoutProperties(xt,gt);return Zn(kt,sn)}throw new Error("request options error")}},ct))}var rn,Jt,pn=function(){return Jt||(Jt=(0,pt.We)().applyPlugins({key:"request",type:Pe.modify,initialValue:{}}),Jt)},mn=function(){var ct,Dt;if(rn)return rn;var xt=pn();return rn=ie().create(xt),xt==null||(ct=xt.requestInterceptors)===null||ct===void 0||ct.forEach(function(kt){kt instanceof Array?rn.interceptors.request.use(function(sn){var tn=sn.url;if(kt[0].length===2){var xn=kt[0](tn,sn),Nn=xn.url,gr=xn.options;return B()(B()({},gr),{},{url:Nn})}return kt[0](sn)},kt[1]):rn.interceptors.request.use(function(sn){var tn=sn.url;if(kt.length===2){var xn=kt(tn,sn),Nn=xn.url,gr=xn.options;return B()(B()({},gr),{},{url:Nn})}return kt(sn)})}),xt==null||(Dt=xt.responseInterceptors)===null||Dt===void 0||Dt.forEach(function(kt){kt instanceof Array?rn.interceptors.response.use(kt[0],kt[1]):rn.interceptors.response.use(kt)}),rn.interceptors.response.use(function(kt){var sn,tn=kt.data;return(tn==null?void 0:tn.success)===!1&&xt!==null&&xt!==void 0&&(sn=xt.errorConfig)!==null&&sn!==void 0&&sn.errorThrower&&xt.errorConfig.errorThrower(tn),kt}),rn},Zn=function(ct){var Dt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{method:"GET"},xt=mn(),kt=pn(),sn=Dt.getResponse,tn=sn===void 0?!1:sn,xn=Dt.requestInterceptors,Nn=Dt.responseInterceptors,gr=xn==null?void 0:xn.map(function(Rn){return Rn instanceof Array?xt.interceptors.request.use(function(kr){var fr=kr.url;if(Rn[0].length===2){var ua=Rn[0](fr,kr),Pr=ua.url,Bn=ua.options;return B()(B()({},Bn),{},{url:Pr})}return Rn[0](kr)},Rn[1]):xt.interceptors.request.use(function(kr){var fr=kr.url;if(Rn.length===2){var ua=Rn(fr,kr),Pr=ua.url,Bn=ua.options;return B()(B()({},Bn),{},{url:Pr})}return Rn(kr)})}),nr=Nn==null?void 0:Nn.map(function(Rn){return Rn instanceof Array?xt.interceptors.response.use(Rn[0],Rn[1]):xt.interceptors.response.use(Rn)});return new Promise(function(Rn,kr){xt.request(B()(B()({},Dt),{},{url:ct})).then(function(fr){gr==null||gr.forEach(function(ua){xt.interceptors.request.eject(ua)}),nr==null||nr.forEach(function(ua){xt.interceptors.response.eject(ua)}),Rn(tn?fr:fr.data)}).catch(function(fr){gr==null||gr.forEach(function(Bn){xt.interceptors.request.eject(Bn)}),nr==null||nr.forEach(function(Bn){xt.interceptors.response.eject(Bn)});try{var ua,Pr=kt==null||(ua=kt.errorConfig)===null||ua===void 0?void 0:ua.errorHandler;Pr&&Pr(fr,Dt,kt)}catch(Bn){kr(Bn)}kr(fr)})})},tr=function(){}},96662:function(b,y,e){"use strict";e.d(y,{J:function(){return t}});var a=e(58757),t=a.createContext(null)},64470:function(b,y,e){"use strict";e.d(y,{Mf:function(){return d}});var a=e(58757),t=e(96662),o=e(35667),s=function(){return a.useContext(t.J)},n=function(c){return _jsx(_Fragment,{children:c.accessible?c.children:c.fallback})},d=function(c){var m=s(),g=a.useMemo(function(){var M=function h(S,w,x){var z,U,T=S.access,N=S;if(!T&&w&&(T=w,N=x),S.unaccessible=!1,typeof T=="string"){var Z=m[T];typeof Z=="function"?S.unaccessible=!Z(N):typeof Z=="boolean"?S.unaccessible=!Z:typeof Z=="undefined"&&(S.unaccessible=!0)}if((z=S.children)!==null&&z!==void 0&&z.length){var D=!S.children.reduce(function(j,G){return h(G,T,S),j||!G.unaccessible},!1);D&&(S.unaccessible=!0)}if((U=S.routes)!==null&&U!==void 0&&U.length){var L=!S.routes.reduce(function(j,G){return h(G,T,S),j||!G.unaccessible},!1);L&&(S.unaccessible=!0)}return S};return c.map(function(h){return M(h)})},[c.length,m]);return g}},93325:function(b,y,e){"use strict";e.d(y,{_H:function(){return a._H},pD:function(){return N},wv:function(){return a.wv},Kd:function(){return a.Kd},i_:function(){return a.i_},YB:function(){return a.YB}});var a=e(16221),t=e(88205),o=e.n(t),s=e(2657),n=e(63900),d=e.n(n),l=e(62376),c=e.n(l),m=e(58757),g=e(73267),M=e(93430),h=e(85706),S=e(35667),w=["overlayClassName"],x=["globalIconClassName","postLocalesData","onItemClick","icon","style","reload"],z=function(D){var L=D.overlayClassName,j=c()(D,w);return(0,S.jsx)(g.Z,d()({overlayClassName:L},j))},U=function(D){return D.reduce(function(L,j){return j.lang?_objectSpread(_objectSpread({},L),{},_defineProperty({},j.lang,j)):L},{})},T={"ar-EG":{lang:"ar-EG",label:"\u0627\u0644\u0639\u0631\u0628\u064A\u0629",icon:"\u{1F1EA}\u{1F1EC}",title:"\u0644\u063A\u0629"},"az-AZ":{lang:"az-AZ",label:"Az\u0259rbaycan dili",icon:"\u{1F1E6}\u{1F1FF}",title:"Dil"},"bg-BG":{lang:"bg-BG",label:"\u0411\u044A\u043B\u0433\u0430\u0440\u0441\u043A\u0438 \u0435\u0437\u0438\u043A",icon:"\u{1F1E7}\u{1F1EC}",title:"\u0435\u0437\u0438\u043A"},"bn-BD":{lang:"bn-BD",label:"\u09AC\u09BE\u0982\u09B2\u09BE",icon:"\u{1F1E7}\u{1F1E9}",title:"\u09AD\u09BE\u09B7\u09BE"},"ca-ES":{lang:"ca-ES",label:"Catal\xE1",icon:"\u{1F1E8}\u{1F1E6}",title:"llengua"},"cs-CZ":{lang:"cs-CZ",label:"\u010Ce\u0161tina",icon:"\u{1F1E8}\u{1F1FF}",title:"Jazyk"},"da-DK":{lang:"da-DK",label:"Dansk",icon:"\u{1F1E9}\u{1F1F0}",title:"Sprog"},"de-DE":{lang:"de-DE",label:"Deutsch",icon:"\u{1F1E9}\u{1F1EA}",title:"Sprache"},"el-GR":{lang:"el-GR",label:"\u0395\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC",icon:"\u{1F1EC}\u{1F1F7}",title:"\u0393\u03BB\u03CE\u03C3\u03C3\u03B1"},"en-GB":{lang:"en-GB",label:"English",icon:"\u{1F1EC}\u{1F1E7}",title:"Language"},"en-US":{lang:"en-US",label:"English",icon:"\u{1F1FA}\u{1F1F8}",title:"Language"},"es-ES":{lang:"es-ES",label:"Espa\xF1ol",icon:"\u{1F1EA}\u{1F1F8}",title:"Idioma"},"et-EE":{lang:"et-EE",label:"Eesti",icon:"\u{1F1EA}\u{1F1EA}",title:"Keel"},"fa-IR":{lang:"fa-IR",label:"\u0641\u0627\u0631\u0633\u06CC",icon:"\u{1F1EE}\u{1F1F7}",title:"\u0632\u0628\u0627\u0646"},"fi-FI":{lang:"fi-FI",label:"Suomi",icon:"\u{1F1EB}\u{1F1EE}",title:"Kieli"},"fr-BE":{lang:"fr-BE",label:"Fran\xE7ais",icon:"\u{1F1E7}\u{1F1EA}",title:"Langue"},"fr-FR":{lang:"fr-FR",label:"Fran\xE7ais",icon:"\u{1F1EB}\u{1F1F7}",title:"Langue"},"ga-IE":{lang:"ga-IE",label:"Gaeilge",icon:"\u{1F1EE}\u{1F1EA}",title:"Teanga"},"he-IL":{lang:"he-IL",label:"\u05E2\u05D1\u05E8\u05D9\u05EA",icon:"\u{1F1EE}\u{1F1F1}",title:"\u05E9\u05E4\u05D4"},"hi-IN":{lang:"hi-IN",label:"\u0939\u093F\u0928\u094D\u0926\u0940, \u0939\u093F\u0902\u0926\u0940",icon:"\u{1F1EE}\u{1F1F3}",title:"\u092D\u093E\u0937\u093E: \u0939\u093F\u0928\u094D\u0926\u0940"},"hr-HR":{lang:"hr-HR",label:"Hrvatski jezik",icon:"\u{1F1ED}\u{1F1F7}",title:"Jezik"},"hu-HU":{lang:"hu-HU",label:"Magyar",icon:"\u{1F1ED}\u{1F1FA}",title:"Nyelv"},"hy-AM":{lang:"hu-HU",label:"\u0540\u0561\u0575\u0565\u0580\u0565\u0576",icon:"\u{1F1E6}\u{1F1F2}",title:"\u053C\u0565\u0566\u0578\u0582"},"id-ID":{lang:"id-ID",label:"Bahasa Indonesia",icon:"\u{1F1EE}\u{1F1E9}",title:"Bahasa"},"it-IT":{lang:"it-IT",label:"Italiano",icon:"\u{1F1EE}\u{1F1F9}",title:"Linguaggio"},"is-IS":{lang:"is-IS",label:"\xCDslenska",icon:"\u{1F1EE}\u{1F1F8}",title:"Tungum\xE1l"},"ja-JP":{lang:"ja-JP",label:"\u65E5\u672C\u8A9E",icon:"\u{1F1EF}\u{1F1F5}",title:"\u8A00\u8A9E"},"ku-IQ":{lang:"ku-IQ",label:"\u06A9\u0648\u0631\u062F\u06CC",icon:"\u{1F1EE}\u{1F1F6}",title:"Ziman"},"kn-IN":{lang:"kn-IN",label:"\u0C95\u0CA8\u0CCD\u0CA8\u0CA1",icon:"\u{1F1EE}\u{1F1F3}",title:"\u0CAD\u0CBE\u0CB7\u0CC6"},"ko-KR":{lang:"ko-KR",label:"\uD55C\uAD6D\uC5B4",icon:"\u{1F1F0}\u{1F1F7}",title:"\uC5B8\uC5B4"},"lv-LV":{lang:"lv-LV",label:"Latvie\u0161u valoda",icon:"\u{1F1F1}\u{1F1EE}",title:"Kalba"},"mk-MK":{lang:"mk-MK",label:"\u043C\u0430\u043A\u0435\u0434\u043E\u043D\u0441\u043A\u0438 \u0458\u0430\u0437\u0438\u043A",icon:"\u{1F1F2}\u{1F1F0}",title:"\u0408\u0430\u0437\u0438\u043A"},"mn-MN":{lang:"mn-MN",label:"\u041C\u043E\u043D\u0433\u043E\u043B \u0445\u044D\u043B",icon:"\u{1F1F2}\u{1F1F3}",title:"\u0425\u044D\u043B"},"ms-MY":{lang:"ms-MY",label:"\u0628\u0647\u0627\u0633 \u0645\u0644\u0627\u064A\u0648\u200E",icon:"\u{1F1F2}\u{1F1FE}",title:"Bahasa"},"nb-NO":{lang:"nb-NO",label:"Norsk",icon:"\u{1F1F3}\u{1F1F4}",title:"Spr\xE5k"},"ne-NP":{lang:"ne-NP",label:"\u0928\u0947\u092A\u093E\u0932\u0940",icon:"\u{1F1F3}\u{1F1F5}",title:"\u092D\u093E\u0937\u093E"},"nl-BE":{lang:"nl-BE",label:"Vlaams",icon:"\u{1F1E7}\u{1F1EA}",title:"Taal"},"nl-NL":{lang:"nl-NL",label:"Vlaams",icon:"\u{1F1F3}\u{1F1F1}",title:"Taal"},"pl-PL":{lang:"pl-PL",label:"Polski",icon:"\u{1F1F5}\u{1F1F1}",title:"J\u0119zyk"},"pt-BR":{lang:"pt-BR",label:"Portugu\xEAs",icon:"\u{1F1E7}\u{1F1F7}",title:"Idiomas"},"pt-PT":{lang:"pt-PT",label:"Portugu\xEAs",icon:"\u{1F1F5}\u{1F1F9}",title:"Idiomas"},"ro-RO":{lang:"ro-RO",label:"Rom\xE2n\u0103",icon:"\u{1F1F7}\u{1F1F4}",title:"Limba"},"ru-RU":{lang:"ru-RU",label:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",icon:"\u{1F1F7}\u{1F1FA}",title:"\u044F\u0437\u044B\u043A"},"sk-SK":{lang:"sk-SK",label:"Sloven\u010Dina",icon:"\u{1F1F8}\u{1F1F0}",title:"Jazyk"},"sr-RS":{lang:"sr-RS",label:"\u0441\u0440\u043F\u0441\u043A\u0438 \u0458\u0435\u0437\u0438\u043A",icon:"\u{1F1F8}\u{1F1F7}",title:"\u0408\u0435\u0437\u0438\u043A"},"sl-SI":{lang:"sl-SI",label:"Sloven\u0161\u010Dina",icon:"\u{1F1F8}\u{1F1F1}",title:"Jezik"},"sv-SE":{lang:"sv-SE",label:"Svenska",icon:"\u{1F1F8}\u{1F1EA}",title:"Spr\xE5k"},"ta-IN":{lang:"ta-IN",label:"\u0BA4\u0BAE\u0BBF\u0BB4\u0BCD",icon:"\u{1F1EE}\u{1F1F3}",title:"\u0BAE\u0BCA\u0BB4\u0BBF"},"th-TH":{lang:"th-TH",label:"\u0E44\u0E17\u0E22",icon:"\u{1F1F9}\u{1F1ED}",title:"\u0E20\u0E32\u0E29\u0E32"},"tr-TR":{lang:"tr-TR",label:"T\xFCrk\xE7e",icon:"\u{1F1F9}\u{1F1F7}",title:"Dil"},"uk-UA":{lang:"uk-UA",label:"\u0423\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430",icon:"\u{1F1FA}\u{1F1F0}",title:"\u041C\u043E\u0432\u0430"},"vi-VN":{lang:"vi-VN",label:"Ti\u1EBFng Vi\u1EC7t",icon:"\u{1F1FB}\u{1F1F3}",title:"Ng\xF4n ng\u1EEF"},"zh-CN":{lang:"zh-CN",label:"\u7B80\u4F53\u4E2D\u6587",icon:"\u{1F1E8}\u{1F1F3}",title:"\u8BED\u8A00"},"zh-TW":{lang:"zh-TW",label:"\u7E41\u9AD4\u4E2D\u6587",icon:"\u{1F1ED}\u{1F1F0}",title:"\u8A9E\u8A00"}},N=function(D){var L,j=D.globalIconClassName,G=D.postLocalesData,W=D.onItemClick,ne=D.icon,_=D.style,ee=D.reload,se=c()(D,x),Q=(0,m.useState)(function(){return(0,a.Kd)()}),C=o()(Q,2),X=C[0],O=C[1],H=function(qe){var Xe=qe.key;(0,a.i_)(Xe,ee),O((0,a.Kd)())},k=(0,a.XZ)().map(function(Je){return T[Je]||{lang:Je,label:Je,icon:"\u{1F310}",title:Je}}),A=(G==null?void 0:G(k))||k,Y=W?function(Je){return W(Je)}:H,de={minWidth:"160px"},me={marginRight:"8px"},ve={selectedKeys:[X],onClick:Y,items:A.map(function(Je){return{key:Je.lang||Je.key,style:de,label:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("span",{role:"img","aria-label":(Je==null?void 0:Je.label)||"en-US",style:me,children:(Je==null?void 0:Je.icon)||"\u{1F310}"}),(Je==null?void 0:Je.label)||"en-US"]})}})},be;M.Z.startsWith("5.")||M.Z.startsWith("4.24.")?be={menu:ve}:M.Z.startsWith("3.")?be={overlay:(0,S.jsx)(h.Z,{children:ve.items.map(function(Je){return(0,S.jsx)(h.Z.Item,{onClick:Je.onClick,children:Je.label},Je.key)})})}:be={overlay:(0,S.jsx)(h.Z,d()({},ve))};var Pe=d()({cursor:"pointer",padding:"12px",display:"inline-flex",alignItems:"center",justifyContent:"center",fontSize:18,verticalAlign:"middle"},_);return(0,S.jsx)(z,d()(d()(d()({},be),{},{placement:"bottomRight"},se),{},{children:(0,S.jsx)("span",{className:j,style:Pe,children:(0,S.jsx)("i",{className:"anticon",title:(L=A[X])===null||L===void 0?void 0:L.title,children:ne||(0,S.jsxs)("svg",{viewBox:"0 0 24 24",focusable:"false",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",children:[(0,S.jsx)("path",{d:"M0 0h24v24H0z",fill:"none"}),(0,S.jsx)("path",{d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z ",className:"css-c4d79v"})]})})})}))}},16221:function(b,y,e){"use strict";e.d(y,{_H:function(){return Cn},PZ:function(){return ra},eU:function(){return j},B:function(){return vr},wv:function(){return Wo},XZ:function(){return Eo},Mg:function(){return Ha},lw:function(){return ao},Kd:function(){return Ua},H8:function(){return xr},i_:function(){return eo},YB:function(){return wn}});var a=e(62376),t=e.n(a),o=e(63900),s=e.n(o),n=e(77016),d=e.n(n),l=e(61697),c=e.n(l),m=e(1769),g=e.n(m),M=e(19881),h=e.n(M),S=e(58757),w=e.t(S,2),x=e(2657),z=e(10063),U=e.n(z),T=U()||z;function N(ft){return ft.displayName||ft.name||"Component"}var Z=S.createContext(null),D=Z.Consumer,L=Z.Provider,j=L,G=Z;function W(ft,Nt){var Ie=Nt||{},cn=Ie.intlPropName,dn=cn===void 0?"intl":cn,_n=Ie.forwardRef,Tn=_n===void 0?!1:_n,yr=Ie.enforceContext,Wr=yr===void 0?!0:yr,Da=function(ea){return React.createElement(D,null,function(oa){return Wr&&invariantIntlContext(oa),React.createElement(ft,Object.assign({},ea,_defineProperty({},dn,oa),{ref:Tn?ea.forwardedRef:null}))})};return Da.displayName="injectIntl(".concat(N(ft),")"),Da.WrappedComponent=ft,T(Tn?React.forwardRef(function(la,ea){return React.createElement(Da,Object.assign({},la,{forwardedRef:ea}))}):Da,ft)}var ne;(function(ft){ft[ft.literal=0]="literal",ft[ft.argument=1]="argument",ft[ft.number=2]="number",ft[ft.date=3]="date",ft[ft.time=4]="time",ft[ft.select=5]="select",ft[ft.plural=6]="plural",ft[ft.pound=7]="pound"})(ne||(ne={}));function _(ft){return ft.type===ne.literal}function ee(ft){return ft.type===ne.argument}function se(ft){return ft.type===ne.number}function Q(ft){return ft.type===ne.date}function C(ft){return ft.type===ne.time}function X(ft){return ft.type===ne.select}function O(ft){return ft.type===ne.plural}function H(ft){return ft.type===ne.pound}function k(ft){return!!(ft&&typeof ft=="object"&&ft.type===0)}function A(ft){return!!(ft&&typeof ft=="object"&&ft.type===1)}function Y(ft){return{type:ne.literal,value:ft}}function de(ft,Nt){return{type:ne.number,value:ft,style:Nt}}var me=function(){var ft=function(Nt,Ie){return ft=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(cn,dn){cn.__proto__=dn}||function(cn,dn){for(var _n in dn)dn.hasOwnProperty(_n)&&(cn[_n]=dn[_n])},ft(Nt,Ie)};return function(Nt,Ie){ft(Nt,Ie);function cn(){this.constructor=Nt}Nt.prototype=Ie===null?Object.create(Ie):(cn.prototype=Ie.prototype,new cn)}}(),ve=function(){return ve=Object.assign||function(ft){for(var Nt,Ie=1,cn=arguments.length;Ie0){for(oa=1,Ir=1;oaUo&&(Uo=Ft,Ol=[]),Ol.push(rt))}function iu(rt,Vt){return new be(rt,[],"",Vt)}function Yi(rt,Vt,Wn){return new be(be.buildMessage(rt,Vt),rt,Vt,Wn)}function Zl(){var rt;return rt=Dl(),rt}function Dl(){var rt,Vt;for(rt=[],Vt=Xl();Vt!==Ie;)rt.push(Vt),Vt=Xl();return rt}function Xl(){var rt;return rt=fc(),rt===Ie&&(rt=$o(),rt===Ie&&(rt=pu(),rt===Ie&&(rt=hu(),rt===Ie&&(rt=bs(),rt===Ie&&(rt=Ou()))))),rt}function Ul(){var rt,Vt,Wn;if(rt=Ft,Vt=[],Wn=Ni(),Wn===Ie&&(Wn=lu(),Wn===Ie&&(Wn=wu())),Wn!==Ie)for(;Wn!==Ie;)Vt.push(Wn),Wn=Ni(),Wn===Ie&&(Wn=lu(),Wn===Ie&&(Wn=wu()));else Vt=Ie;return Vt!==Ie&&(Do=rt,Vt=_n(Vt)),rt=Vt,rt}function fc(){var rt,Vt;return rt=Ft,Vt=Ul(),Vt!==Ie&&(Do=rt,Vt=Tn(Vt)),rt=Vt,rt}function Ou(){var rt,Vt;return rt=Ft,ft.charCodeAt(Ft)===35?(Vt=yr,Ft++):(Vt=Ie,fa===0&&za(Wr)),Vt!==Ie&&(Do=rt,Vt=Da()),rt=Vt,rt}function $o(){var rt,Vt,Wn,cr,wa,go;return fa++,rt=Ft,ft.charCodeAt(Ft)===123?(Vt=ea,Ft++):(Vt=Ie,fa===0&&za(oa)),Vt!==Ie?(Wn=ho(),Wn!==Ie?(cr=wl(),cr!==Ie?(wa=ho(),wa!==Ie?(ft.charCodeAt(Ft)===125?(go=Ir,Ft++):(go=Ie,fa===0&&za($r)),go!==Ie?(Do=rt,Vt=pa(cr),rt=Vt):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie),fa--,rt===Ie&&(Vt=Ie,fa===0&&za(la)),rt}function Du(){var rt,Vt,Wn,cr,wa;if(fa++,rt=Ft,Vt=[],Wn=Ft,cr=Ft,fa++,wa=ls(),wa===Ie&&(lo.test(ft.charAt(Ft))?(wa=ft.charAt(Ft),Ft++):(wa=Ie,fa===0&&za(Qa))),fa--,wa===Ie?cr=void 0:(Ft=cr,cr=Ie),cr!==Ie?(ft.length>Ft?(wa=ft.charAt(Ft),Ft++):(wa=Ie,fa===0&&za(Gt)),wa!==Ie?(cr=[cr,wa],Wn=cr):(Ft=Wn,Wn=Ie)):(Ft=Wn,Wn=Ie),Wn!==Ie)for(;Wn!==Ie;)Vt.push(Wn),Wn=Ft,cr=Ft,fa++,wa=ls(),wa===Ie&&(lo.test(ft.charAt(Ft))?(wa=ft.charAt(Ft),Ft++):(wa=Ie,fa===0&&za(Qa))),fa--,wa===Ie?cr=void 0:(Ft=cr,cr=Ie),cr!==Ie?(ft.length>Ft?(wa=ft.charAt(Ft),Ft++):(wa=Ie,fa===0&&za(Gt)),wa!==Ie?(cr=[cr,wa],Wn=cr):(Ft=Wn,Wn=Ie)):(Ft=Wn,Wn=Ie);else Vt=Ie;return Vt!==Ie?rt=ft.substring(rt,Ft):rt=Vt,fa--,rt===Ie&&(Vt=Ie,fa===0&&za(La)),rt}function su(){var rt,Vt,Wn;return fa++,rt=Ft,ft.charCodeAt(Ft)===47?(Vt=jn,Ft++):(Vt=Ie,fa===0&&za(Gn)),Vt!==Ie?(Wn=Du(),Wn!==Ie?(Do=rt,Vt=br(Wn),rt=Vt):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie),fa--,rt===Ie&&(Vt=Ie,fa===0&&za(yn)),rt}function As(){var rt,Vt,Wn,cr,wa;if(fa++,rt=Ft,Vt=ho(),Vt!==Ie)if(Wn=Du(),Wn!==Ie){for(cr=[],wa=su();wa!==Ie;)cr.push(wa),wa=su();cr!==Ie?(Do=rt,Vt=ta(Wn,cr),rt=Vt):(Ft=rt,rt=Ie)}else Ft=rt,rt=Ie;else Ft=rt,rt=Ie;return fa--,rt===Ie&&(Vt=Ie,fa===0&&za(Hr)),rt}function tl(){var rt,Vt,Wn;if(rt=Ft,Vt=[],Wn=As(),Wn!==Ie)for(;Wn!==Ie;)Vt.push(Wn),Wn=As();else Vt=Ie;return Vt!==Ie&&(Do=rt,Vt=sr(Vt)),rt=Vt,rt}function gl(){var rt,Vt,Wn;return rt=Ft,ft.substr(Ft,2)===zr?(Vt=zr,Ft+=2):(Vt=Ie,fa===0&&za(va)),Vt!==Ie?(Wn=tl(),Wn!==Ie?(Do=rt,Vt=Sr(Wn),rt=Vt):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie),rt===Ie&&(rt=Ft,Do=Ft,Vt=xa(),Vt?Vt=void 0:Vt=Ie,Vt!==Ie?(Wn=Ul(),Wn!==Ie?(Do=rt,Vt=Xa(Wn),rt=Vt):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)),rt}function Zt(){var rt,Vt,Wn,cr,wa,go,di,Zo,os,ui,fi,Ao,To;return rt=Ft,ft.charCodeAt(Ft)===123?(Vt=ea,Ft++):(Vt=Ie,fa===0&&za(oa)),Vt!==Ie?(Wn=ho(),Wn!==Ie?(cr=wl(),cr!==Ie?(wa=ho(),wa!==Ie?(ft.charCodeAt(Ft)===44?(go=bo,Ft++):(go=Ie,fa===0&&za(Oo)),go!==Ie?(di=ho(),di!==Ie?(ft.substr(Ft,6)===Va?(Zo=Va,Ft+=6):(Zo=Ie,fa===0&&za(xo)),Zo!==Ie?(os=ho(),os!==Ie?(ui=Ft,ft.charCodeAt(Ft)===44?(fi=bo,Ft++):(fi=Ie,fa===0&&za(Oo)),fi!==Ie?(Ao=ho(),Ao!==Ie?(To=gl(),To!==Ie?(fi=[fi,Ao,To],ui=fi):(Ft=ui,ui=Ie)):(Ft=ui,ui=Ie)):(Ft=ui,ui=Ie),ui===Ie&&(ui=null),ui!==Ie?(fi=ho(),fi!==Ie?(ft.charCodeAt(Ft)===125?(Ao=Ir,Ft++):(Ao=Ie,fa===0&&za($r)),Ao!==Ie?(Do=rt,Vt=io(cr,Zo,ui),rt=Vt):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie),rt}function Ii(){var rt,Vt,Wn,cr;if(rt=Ft,ft.charCodeAt(Ft)===39?(Vt=Ca,Ft++):(Vt=Ie,fa===0&&za(_a)),Vt!==Ie){if(Wn=[],cr=Ni(),cr===Ie&&(Io.test(ft.charAt(Ft))?(cr=ft.charAt(Ft),Ft++):(cr=Ie,fa===0&&za(Yo))),cr!==Ie)for(;cr!==Ie;)Wn.push(cr),cr=Ni(),cr===Ie&&(Io.test(ft.charAt(Ft))?(cr=ft.charAt(Ft),Ft++):(cr=Ie,fa===0&&za(Yo)));else Wn=Ie;Wn!==Ie?(ft.charCodeAt(Ft)===39?(cr=Ca,Ft++):(cr=Ie,fa===0&&za(_a)),cr!==Ie?(Vt=[Vt,Wn,cr],rt=Vt):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)}else Ft=rt,rt=Ie;if(rt===Ie)if(rt=[],Vt=Ni(),Vt===Ie&&(ni.test(ft.charAt(Ft))?(Vt=ft.charAt(Ft),Ft++):(Vt=Ie,fa===0&&za(co))),Vt!==Ie)for(;Vt!==Ie;)rt.push(Vt),Vt=Ni(),Vt===Ie&&(ni.test(ft.charAt(Ft))?(Vt=ft.charAt(Ft),Ft++):(Vt=Ie,fa===0&&za(co)));else rt=Ie;return rt}function Jl(){var rt,Vt;if(rt=[],Mi.test(ft.charAt(Ft))?(Vt=ft.charAt(Ft),Ft++):(Vt=Ie,fa===0&&za(ai)),Vt!==Ie)for(;Vt!==Ie;)rt.push(Vt),Mi.test(ft.charAt(Ft))?(Vt=ft.charAt(Ft),Ft++):(Vt=Ie,fa===0&&za(ai));else rt=Ie;return rt}function Wi(){var rt,Vt,Wn,cr;if(rt=Ft,Vt=Ft,Wn=[],cr=Ii(),cr===Ie&&(cr=Jl()),cr!==Ie)for(;cr!==Ie;)Wn.push(cr),cr=Ii(),cr===Ie&&(cr=Jl());else Wn=Ie;return Wn!==Ie?Vt=ft.substring(Vt,Ft):Vt=Wn,Vt!==Ie&&(Do=rt,Vt=Po(Vt)),rt=Vt,rt}function Ko(){var rt,Vt,Wn;return rt=Ft,ft.substr(Ft,2)===zr?(Vt=zr,Ft+=2):(Vt=Ie,fa===0&&za(va)),Vt!==Ie?(Wn=Wi(),Wn!==Ie?(Do=rt,Vt=Sr(Wn),rt=Vt):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie),rt===Ie&&(rt=Ft,Do=Ft,Vt=li(),Vt?Vt=void 0:Vt=Ie,Vt!==Ie?(Wn=Ul(),Wn!==Ie?(Do=rt,Vt=Xa(Wn),rt=Vt):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)),rt}function po(){var rt,Vt,Wn,cr,wa,go,di,Zo,os,ui,fi,Ao,To;return rt=Ft,ft.charCodeAt(Ft)===123?(Vt=ea,Ft++):(Vt=Ie,fa===0&&za(oa)),Vt!==Ie?(Wn=ho(),Wn!==Ie?(cr=wl(),cr!==Ie?(wa=ho(),wa!==Ie?(ft.charCodeAt(Ft)===44?(go=bo,Ft++):(go=Ie,fa===0&&za(Oo)),go!==Ie?(di=ho(),di!==Ie?(ft.substr(Ft,4)===Pi?(Zo=Pi,Ft+=4):(Zo=Ie,fa===0&&za(hi)),Zo===Ie&&(ft.substr(Ft,4)===yi?(Zo=yi,Ft+=4):(Zo=Ie,fa===0&&za(Zi))),Zo!==Ie?(os=ho(),os!==Ie?(ui=Ft,ft.charCodeAt(Ft)===44?(fi=bo,Ft++):(fi=Ie,fa===0&&za(Oo)),fi!==Ie?(Ao=ho(),Ao!==Ie?(To=Ko(),To!==Ie?(fi=[fi,Ao,To],ui=fi):(Ft=ui,ui=Ie)):(Ft=ui,ui=Ie)):(Ft=ui,ui=Ie),ui===Ie&&(ui=null),ui!==Ie?(fi=ho(),fi!==Ie?(ft.charCodeAt(Ft)===125?(Ao=Ir,Ft++):(Ao=Ie,fa===0&&za($r)),Ao!==Ie?(Do=rt,Vt=io(cr,Zo,ui),rt=Vt):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie),rt}function pu(){var rt;return rt=Zt(),rt===Ie&&(rt=po()),rt}function hu(){var rt,Vt,Wn,cr,wa,go,di,Zo,os,ui,fi,Ao,To,Hi,Ms,uu;if(rt=Ft,ft.charCodeAt(Ft)===123?(Vt=ea,Ft++):(Vt=Ie,fa===0&&za(oa)),Vt!==Ie)if(Wn=ho(),Wn!==Ie)if(cr=wl(),cr!==Ie)if(wa=ho(),wa!==Ie)if(ft.charCodeAt(Ft)===44?(go=bo,Ft++):(go=Ie,fa===0&&za(Oo)),go!==Ie)if(di=ho(),di!==Ie)if(ft.substr(Ft,6)===ji?(Zo=ji,Ft+=6):(Zo=Ie,fa===0&&za(oo)),Zo===Ie&&(ft.substr(Ft,13)===Ja?(Zo=Ja,Ft+=13):(Zo=Ie,fa===0&&za(ri))),Zo!==Ie)if(os=ho(),os!==Ie)if(ft.charCodeAt(Ft)===44?(ui=bo,Ft++):(ui=Ie,fa===0&&za(Oo)),ui!==Ie)if(fi=ho(),fi!==Ie)if(Ao=Ft,ft.substr(Ft,7)===oi?(To=oi,Ft+=7):(To=Ie,fa===0&&za(No)),To!==Ie?(Hi=ho(),Hi!==Ie?(Ms=nl(),Ms!==Ie?(To=[To,Hi,Ms],Ao=To):(Ft=Ao,Ao=Ie)):(Ft=Ao,Ao=Ie)):(Ft=Ao,Ao=Ie),Ao===Ie&&(Ao=null),Ao!==Ie)if(To=ho(),To!==Ie){if(Hi=[],Ms=Di(),Ms!==Ie)for(;Ms!==Ie;)Hi.push(Ms),Ms=Di();else Hi=Ie;Hi!==Ie?(Ms=ho(),Ms!==Ie?(ft.charCodeAt(Ft)===125?(uu=Ir,Ft++):(uu=Ie,fa===0&&za($r)),uu!==Ie?(Do=rt,Vt=zo(cr,Zo,Ao,Hi),rt=Vt):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)}else Ft=rt,rt=Ie;else Ft=rt,rt=Ie;else Ft=rt,rt=Ie;else Ft=rt,rt=Ie;else Ft=rt,rt=Ie;else Ft=rt,rt=Ie;else Ft=rt,rt=Ie;else Ft=rt,rt=Ie;else Ft=rt,rt=Ie;else Ft=rt,rt=Ie;else Ft=rt,rt=Ie;else Ft=rt,rt=Ie;return rt}function bs(){var rt,Vt,Wn,cr,wa,go,di,Zo,os,ui,fi,Ao,To,Hi;if(rt=Ft,ft.charCodeAt(Ft)===123?(Vt=ea,Ft++):(Vt=Ie,fa===0&&za(oa)),Vt!==Ie)if(Wn=ho(),Wn!==Ie)if(cr=wl(),cr!==Ie)if(wa=ho(),wa!==Ie)if(ft.charCodeAt(Ft)===44?(go=bo,Ft++):(go=Ie,fa===0&&za(Oo)),go!==Ie)if(di=ho(),di!==Ie)if(ft.substr(Ft,6)===xi?(Zo=xi,Ft+=6):(Zo=Ie,fa===0&&za(Ui)),Zo!==Ie)if(os=ho(),os!==Ie)if(ft.charCodeAt(Ft)===44?(ui=bo,Ft++):(ui=Ie,fa===0&&za(Oo)),ui!==Ie)if(fi=ho(),fi!==Ie){if(Ao=[],To=Ei(),To!==Ie)for(;To!==Ie;)Ao.push(To),To=Ei();else Ao=Ie;Ao!==Ie?(To=ho(),To!==Ie?(ft.charCodeAt(Ft)===125?(Hi=Ir,Ft++):(Hi=Ie,fa===0&&za($r)),Hi!==Ie?(Do=rt,Vt=ki(cr,Ao),rt=Vt):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)}else Ft=rt,rt=Ie;else Ft=rt,rt=Ie;else Ft=rt,rt=Ie;else Ft=rt,rt=Ie;else Ft=rt,rt=Ie;else Ft=rt,rt=Ie;else Ft=rt,rt=Ie;else Ft=rt,rt=Ie;else Ft=rt,rt=Ie;else Ft=rt,rt=Ie;return rt}function ml(){var rt,Vt,Wn,cr;return rt=Ft,Vt=Ft,ft.charCodeAt(Ft)===61?(Wn=Ts,Ft++):(Wn=Ie,fa===0&&za(fs)),Wn!==Ie?(cr=nl(),cr!==Ie?(Wn=[Wn,cr],Vt=Wn):(Ft=Vt,Vt=Ie)):(Ft=Vt,Vt=Ie),Vt!==Ie?rt=ft.substring(rt,Ft):rt=Vt,rt===Ie&&(rt=Os()),rt}function Ei(){var rt,Vt,Wn,cr,wa,go,di,Zo;return rt=Ft,Vt=ho(),Vt!==Ie?(Wn=Os(),Wn!==Ie?(cr=ho(),cr!==Ie?(ft.charCodeAt(Ft)===123?(wa=ea,Ft++):(wa=Ie,fa===0&&za(oa)),wa!==Ie?(Do=Ft,go=Xs(Wn),go?go=void 0:go=Ie,go!==Ie?(di=Dl(),di!==Ie?(ft.charCodeAt(Ft)===125?(Zo=Ir,Ft++):(Zo=Ie,fa===0&&za($r)),Zo!==Ie?(Do=rt,Vt=zl(Wn,di),rt=Vt):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie),rt}function Di(){var rt,Vt,Wn,cr,wa,go,di,Zo;return rt=Ft,Vt=ho(),Vt!==Ie?(Wn=ml(),Wn!==Ie?(cr=ho(),cr!==Ie?(ft.charCodeAt(Ft)===123?(wa=ea,Ft++):(wa=Ie,fa===0&&za(oa)),wa!==Ie?(Do=Ft,go=kn(Wn),go?go=void 0:go=Ie,go!==Ie?(di=Dl(),di!==Ie?(ft.charCodeAt(Ft)===125?(Zo=Ir,Ft++):(Zo=Ie,fa===0&&za($r)),Zo!==Ie?(Do=rt,Vt=_r(Wn,di),rt=Vt):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie),rt}function ls(){var rt,Vt;return fa++,Zr.test(ft.charAt(Ft))?(rt=ft.charAt(Ft),Ft++):(rt=Ie,fa===0&&za(sa)),fa--,rt===Ie&&(Vt=Ie,fa===0&&za(Dr)),rt}function us(){var rt,Vt;return fa++,Fa.test(ft.charAt(Ft))?(rt=ft.charAt(Ft),Ft++):(rt=Ie,fa===0&&za(Na)),fa--,rt===Ie&&(Vt=Ie,fa===0&&za(ja)),rt}function ho(){var rt,Vt,Wn;for(fa++,rt=Ft,Vt=[],Wn=ls();Wn!==Ie;)Vt.push(Wn),Wn=ls();return Vt!==Ie?rt=ft.substring(rt,Ft):rt=Vt,fa--,rt===Ie&&(Vt=Ie,fa===0&&za(Bo)),rt}function nl(){var rt,Vt,Wn;return fa++,rt=Ft,ft.charCodeAt(Ft)===45?(Vt=Go,Ft++):(Vt=Ie,fa===0&&za(Bi)),Vt===Ie&&(Vt=null),Vt!==Ie?(Wn=al(),Wn!==Ie?(Do=rt,Vt=ps(Vt,Wn),rt=Vt):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie),fa--,rt===Ie&&(Vt=Ie,fa===0&&za(Vo)),rt}function yu(){var rt,Vt;return fa++,ft.charCodeAt(Ft)===39?(rt=Ca,Ft++):(rt=Ie,fa===0&&za(_a)),fa--,rt===Ie&&(Vt=Ie,fa===0&&za(es)),rt}function Ni(){var rt,Vt;return fa++,rt=Ft,ft.substr(Ft,2)===ss?(Vt=ss,Ft+=2):(Vt=Ie,fa===0&&za(qo)),Vt!==Ie&&(Do=rt,Vt=Fl()),rt=Vt,fa--,rt===Ie&&(Vt=Ie,fa===0&&za($s)),rt}function lu(){var rt,Vt,Wn,cr,wa,go;if(rt=Ft,ft.charCodeAt(Ft)===39?(Vt=Ca,Ft++):(Vt=Ie,fa===0&&za(_a)),Vt!==Ie)if(Wn=rl(),Wn!==Ie){for(cr=Ft,wa=[],ft.substr(Ft,2)===ss?(go=ss,Ft+=2):(go=Ie,fa===0&&za(qo)),go===Ie&&(Io.test(ft.charAt(Ft))?(go=ft.charAt(Ft),Ft++):(go=Ie,fa===0&&za(Yo)));go!==Ie;)wa.push(go),ft.substr(Ft,2)===ss?(go=ss,Ft+=2):(go=Ie,fa===0&&za(qo)),go===Ie&&(Io.test(ft.charAt(Ft))?(go=ft.charAt(Ft),Ft++):(go=Ie,fa===0&&za(Yo)));wa!==Ie?cr=ft.substring(cr,Ft):cr=wa,cr!==Ie?(ft.charCodeAt(Ft)===39?(wa=Ca,Ft++):(wa=Ie,fa===0&&za(_a)),wa===Ie&&(wa=null),wa!==Ie?(Do=rt,Vt=Il(Wn,cr),rt=Vt):(Ft=rt,rt=Ie)):(Ft=rt,rt=Ie)}else Ft=rt,rt=Ie;else Ft=rt,rt=Ie;return rt}function wu(){var rt,Vt,Wn,cr;return rt=Ft,Vt=Ft,ft.length>Ft?(Wn=ft.charAt(Ft),Ft++):(Wn=Ie,fa===0&&za(Gt)),Wn!==Ie?(Do=Ft,cr=Al(Wn),cr?cr=void 0:cr=Ie,cr!==Ie?(Wn=[Wn,cr],Vt=Wn):(Ft=Vt,Vt=Ie)):(Ft=Vt,Vt=Ie),Vt===Ie&&(ft.charCodeAt(Ft)===10?(Vt=vu,Ft++):(Vt=Ie,fa===0&&za(cl))),Vt!==Ie?rt=ft.substring(rt,Ft):rt=Vt,rt}function rl(){var rt,Vt,Wn,cr;return rt=Ft,Vt=Ft,ft.length>Ft?(Wn=ft.charAt(Ft),Ft++):(Wn=Ie,fa===0&&za(Gt)),Wn!==Ie?(Do=Ft,cr=dl(Wn),cr?cr=void 0:cr=Ie,cr!==Ie?(Wn=[Wn,cr],Vt=Wn):(Ft=Vt,Vt=Ie)):(Ft=Vt,Vt=Ie),Vt!==Ie?rt=ft.substring(rt,Ft):rt=Vt,rt}function wl(){var rt,Vt;return fa++,rt=Ft,Vt=al(),Vt===Ie&&(Vt=Os()),Vt!==Ie?rt=ft.substring(rt,Ft):rt=Vt,fa--,rt===Ie&&(Vt=Ie,fa===0&&za(Zs)),rt}function al(){var rt,Vt,Wn,cr,wa;if(fa++,rt=Ft,ft.charCodeAt(Ft)===48?(Vt=fl,Ft++):(Vt=Ie,fa===0&&za(gu)),Vt!==Ie&&(Do=rt,Vt=vs()),rt=Vt,rt===Ie){if(rt=Ft,Vt=Ft,hs.test(ft.charAt(Ft))?(Wn=ft.charAt(Ft),Ft++):(Wn=Ie,fa===0&&za(Us)),Wn!==Ie){for(cr=[],ks.test(ft.charAt(Ft))?(wa=ft.charAt(Ft),Ft++):(wa=Ie,fa===0&&za(mu));wa!==Ie;)cr.push(wa),ks.test(ft.charAt(Ft))?(wa=ft.charAt(Ft),Ft++):(wa=Ie,fa===0&&za(mu));cr!==Ie?(Wn=[Wn,cr],Vt=Wn):(Ft=Vt,Vt=Ie)}else Ft=Vt,Vt=Ie;Vt!==Ie&&(Do=rt,Vt=Kl(Vt)),rt=Vt}return fa--,rt===Ie&&(Vt=Ie,fa===0&&za(Js)),rt}function Os(){var rt,Vt,Wn,cr,wa;if(fa++,rt=Ft,Vt=[],Wn=Ft,cr=Ft,fa++,wa=ls(),wa===Ie&&(wa=us()),fa--,wa===Ie?cr=void 0:(Ft=cr,cr=Ie),cr!==Ie?(ft.length>Ft?(wa=ft.charAt(Ft),Ft++):(wa=Ie,fa===0&&za(Gt)),wa!==Ie?(cr=[cr,wa],Wn=cr):(Ft=Wn,Wn=Ie)):(Ft=Wn,Wn=Ie),Wn!==Ie)for(;Wn!==Ie;)Vt.push(Wn),Wn=Ft,cr=Ft,fa++,wa=ls(),wa===Ie&&(wa=us()),fa--,wa===Ie?cr=void 0:(Ft=cr,cr=Ie),cr!==Ie?(ft.length>Ft?(wa=ft.charAt(Ft),Ft++):(wa=Ie,fa===0&&za(Gt)),wa!==Ie?(cr=[cr,wa],Wn=cr):(Ft=Wn,Wn=Ie)):(Ft=Wn,Wn=Ie);else Vt=Ie;return Vt!==Ie?rt=ft.substring(rt,Ft):rt=Vt,fa--,rt===Ie&&(Vt=Ie,fa===0&&za(ys)),rt}var Ds=["root"];function bu(){return Ds.length>1}function Ws(){return Ds[Ds.length-1]==="plural"}function ha(){return Nt&&Nt.captureLocation?{location:qs()}:{}}if(vl=dn(),vl!==Ie&&Ft===ft.length)return vl;throw vl!==Ie&&Ft1)throw new RangeError("Fraction-precision stems only accept a single optional option");dn.stem.replace(R,function(Tn,yr,Wr){return Tn==="."?Nt.maximumFractionDigits=0:Wr==="+"?Nt.minimumFractionDigits=Wr.length:yr[0]==="#"?Nt.maximumFractionDigits=yr.length:(Nt.minimumFractionDigits=yr.length,Nt.maximumFractionDigits=yr.length+(typeof Wr=="string"?Wr.length:0)),""}),dn.options.length&&(Nt=Ke(Ke({},Nt),B(dn.options[0])));continue}if(P.test(dn.stem)){Nt=Ke(Ke({},Nt),B(dn.stem));continue}var _n=ge(dn.stem);_n&&(Nt=Ke(Ke({},Nt),_n))}return Nt}var Oe=function(){var ft=function(Nt,Ie){return ft=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(cn,dn){cn.__proto__=dn}||function(cn,dn){for(var _n in dn)dn.hasOwnProperty(_n)&&(cn[_n]=dn[_n])},ft(Nt,Ie)};return function(Nt,Ie){ft(Nt,Ie);function cn(){this.constructor=Nt}Nt.prototype=Ie===null?Object.create(Ie):(cn.prototype=Ie.prototype,new cn)}}(),xe=function(){for(var ft=0,Nt=0,Ie=arguments.length;Nt(.*?)<\/([0-9a-zA-Z-_]*?)>)|(<[0-9a-zA-Z-_]*?\/>)/,Re=Date.now()+"@@",st=["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"];function nt(ft,Nt,Ie){var cn=ft.tagName,dn=ft.outerHTML,_n=ft.textContent,Tn=ft.childNodes;if(!cn)return Ae(_n||"",Nt);cn=cn.toLowerCase();var yr=~st.indexOf(cn),Wr=Ie[cn];if(Wr&&yr)throw new Se(cn+" is a self-closing tag and can not be used, please use another tag name.");if(!Tn.length)return[dn];var Da=Array.prototype.slice.call(Tn).reduce(function(la,ea){return la.concat(nt(ea,Nt,Ie))},[]);return Wr?typeof Wr=="function"?[Wr.apply(void 0,Da)]:[Wr]:xe(["<"+cn+">"],Da,[""])}function _e(ft,Nt,Ie,cn,dn,_n){var Tn=re(ft,Nt,Ie,cn,dn,void 0,_n),yr={},Wr=Tn.reduce(function(oa,Ir){if(Ir.type===0)return oa+=Ir.value;var $r=Ne();return yr[$r]=Ir.value,oa+=""+ue+$r+ue},"");if(!we.test(Wr))return Ae(Wr,yr);if(!dn)throw new Se("Message has placeholders but no values was given");if(typeof DOMParser=="undefined")throw new Se("Cannot format XML message without DOMParser");q||(q=new DOMParser);var Da=q.parseFromString(''+Wr+"","text/html").getElementById(Re);if(!Da)throw new Se("Malformed HTML message "+Wr);var la=Object.keys(dn).filter(function(oa){return!!Da.getElementsByTagName(oa).length});if(!la.length)return Ae(Wr,yr);var ea=la.filter(function(oa){return oa!==oa.toLowerCase()});if(ea.length)throw new Se("HTML tag must be lowercased but the following tags are not: "+ea.join(", "));return Array.prototype.slice.call(Da.childNodes).reduce(function(oa,Ir){return oa.concat(nt(Ir,yr,dn))},[])}var We=function(){return We=Object.assign||function(ft){for(var Nt,Ie=1,cn=arguments.length;Ie<"']/g;function tt(ft){return(""+ft).replace(je,function(Nt){return dt[Nt.charCodeAt(0)]})}function lt(ft,Nt){var Ie=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return Nt.reduce(function(cn,dn){return dn in ft?cn[dn]=ft[dn]:dn in Ie&&(cn[dn]=Ie[dn]),cn},{})}function bt(ft){Pt(ft,"[React Intl] Could not find required `intl` object. needs to exist in the component ancestry.")}function It(ft,Nt){var Ie=Nt?` +`.concat(Nt.stack):"";return"[React Intl] ".concat(ft).concat(Ie)}function Kt(ft){}var zt={formats:{},messages:{},timeZone:void 0,textComponent:S.Fragment,defaultLocale:"en",defaultFormats:{},onError:Kt};function Mt(){return{dateTime:{},number:{},message:{},relativeTime:{},pluralRules:{},list:{},displayNames:{}}}function Le(){var ft=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Mt(),Nt=Intl.RelativeTimeFormat,Ie=Intl.ListFormat,cn=Intl.DisplayNames;return{getDateTimeFormat:ot(Intl.DateTimeFormat,ft.dateTime),getNumberFormat:ot(Intl.NumberFormat,ft.number),getMessageFormat:ot(wt,ft.message),getRelativeTimeFormat:ot(Nt,ft.relativeTime),getPluralRules:ot(Intl.PluralRules,ft.pluralRules),getListFormat:ot(Ie,ft.list),getDisplayNames:ot(cn,ft.displayNames)}}function Ce(ft,Nt,Ie,cn){var dn=ft&&ft[Nt],_n;if(dn&&(_n=dn[Ie]),_n)return _n;cn(It("No ".concat(Nt," format named: ").concat(Ie)))}var Et=["localeMatcher","style","currency","currencyDisplay","unit","unitDisplay","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","compactDisplay","currencyDisplay","currencySign","notation","signDisplay","unit","unitDisplay"];function Tt(ft,Nt){var Ie=ft.locale,cn=ft.formats,dn=ft.onError,_n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},Tn=_n.format,yr=Tn&&Ce(cn,"number",Tn,dn)||{},Wr=lt(_n,Et,yr);return Nt(Ie,Wr)}function Ye(ft,Nt,Ie){var cn=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};try{return Tt(ft,Nt,cn).format(Ie)}catch(dn){ft.onError(It("Error formatting number.",dn))}return String(Ie)}function et(ft,Nt,Ie){var cn=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};try{return Tt(ft,Nt,cn).formatToParts(Ie)}catch(dn){ft.onError(It("Error formatting number.",dn))}return[]}var _t=["numeric","style"];function Ut(ft,Nt){var Ie=ft.locale,cn=ft.formats,dn=ft.onError,_n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},Tn=_n.format,yr=!!Tn&&Ce(cn,"relative",Tn,dn)||{},Wr=lt(_n,_t,yr);return Nt(Ie,Wr)}function qt(ft,Nt,Ie,cn){var dn=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{};cn||(cn="second");var _n=Intl.RelativeTimeFormat;_n||ft.onError(It(`Intl.RelativeTimeFormat is not available in this environment. +Try polyfilling it using "@formatjs/intl-relativetimeformat" +`));try{return Ut(ft,Nt,dn).format(Ie,cn)}catch(Tn){ft.onError(It("Error formatting relative time.",Tn))}return String(Ie)}var un=["localeMatcher","formatMatcher","timeZone","hour12","weekday","era","year","month","day","hour","minute","second","timeZoneName"];function Mn(ft,Nt,Ie){var cn=ft.locale,dn=ft.formats,_n=ft.onError,Tn=ft.timeZone,yr=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},Wr=yr.format,Da=Object.assign(Object.assign({},Tn&&{timeZone:Tn}),Wr&&Ce(dn,Nt,Wr,_n)),la=lt(yr,un,Da);return Nt==="time"&&!la.hour&&!la.minute&&!la.second&&(la=Object.assign(Object.assign({},la),{hour:"numeric",minute:"numeric"})),Ie(cn,la)}function vn(ft,Nt,Ie){var cn=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},dn=typeof Ie=="string"?new Date(Ie||0):Ie;try{return Mn(ft,"date",Nt,cn).format(dn)}catch(_n){ft.onError(It("Error formatting date.",_n))}return String(dn)}function Xn(ft,Nt,Ie){var cn=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},dn=typeof Ie=="string"?new Date(Ie||0):Ie;try{return Mn(ft,"time",Nt,cn).format(dn)}catch(_n){ft.onError(It("Error formatting time.",_n))}return String(dn)}function Vn(ft,Nt,Ie){var cn=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},dn=typeof Ie=="string"?new Date(Ie||0):Ie;try{return Mn(ft,"date",Nt,cn).formatToParts(dn)}catch(_n){ft.onError(It("Error formatting date.",_n))}return[]}function or(ft,Nt,Ie){var cn=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},dn=typeof Ie=="string"?new Date(Ie||0):Ie;try{return Mn(ft,"time",Nt,cn).formatToParts(dn)}catch(_n){ft.onError(It("Error formatting time.",_n))}return[]}var er=["localeMatcher","type"];function Wt(ft,Nt,Ie){var cn=ft.locale,dn=ft.onError,_n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};Intl.PluralRules||dn(It(`Intl.PluralRules is not available in this environment. +Try polyfilling it using "@formatjs/intl-pluralrules" +`));var Tn=lt(_n,er);try{return Nt(cn,Tn).select(Ie)}catch(yr){dn(It("Error formatting plural.",yr))}return"other"}var en=e(34485),nn=e.n(en);function fn(ft,Nt){return Object.keys(ft).reduce(function(Ie,cn){return Ie[cn]=Object.assign({timeZone:Nt},ft[cn]),Ie},{})}function En(ft,Nt){var Ie=Object.keys(Object.assign(Object.assign({},ft),Nt));return Ie.reduce(function(cn,dn){return cn[dn]=Object.assign(Object.assign({},ft[dn]||{}),Nt[dn]||{}),cn},{})}function on(ft,Nt){if(!Nt)return ft;var Ie=wt.formats;return Object.assign(Object.assign(Object.assign({},Ie),ft),{date:En(fn(Ie.date,Nt),fn(ft.date||{},Nt)),time:En(fn(Ie.time,Nt),fn(ft.time||{},Nt))})}var pt=function(Nt){return S.createElement.apply(w,[S.Fragment,null].concat(nn()(Nt)))};function gt(ft,Nt){var Ie=ft.locale,cn=ft.formats,dn=ft.messages,_n=ft.defaultLocale,Tn=ft.defaultFormats,yr=ft.onError,Wr=ft.timeZone,Da=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{id:""},la=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},ea=Da.id,oa=Da.defaultMessage;Pt(!!ea,"[React Intl] An `id` must be provided to format a message.");var Ir=dn&&dn[String(ea)];cn=on(cn,Wr),Tn=on(Tn,Wr);var $r=[];if(Ir)try{var pa=Nt.getMessageFormat(Ir,Ie,cn,{formatters:Nt});$r=pa.formatHTMLMessage(la)}catch(lo){yr(It('Error formatting message: "'.concat(ea,'" for locale: "').concat(Ie,'"')+(oa?", using default message as fallback.":""),lo))}else(!oa||Ie&&Ie.toLowerCase()!==_n.toLowerCase())&&yr(It('Missing message: "'.concat(ea,'" for locale: "').concat(Ie,'"')+(oa?", using default message as fallback.":"")));if(!$r.length&&oa)try{var La=Nt.getMessageFormat(oa,_n,Tn);$r=La.formatHTMLMessage(la)}catch(lo){yr(It('Error formatting the default message for: "'.concat(ea,'"'),lo))}return $r.length?$r.length===1&&typeof $r[0]=="string"?$r[0]||oa||String(ea):pt($r):(yr(It('Cannot format message: "'.concat(ea,'", ')+"using message ".concat(Ir||oa?"source":"id"," as fallback."))),typeof Ir=="string"?Ir||oa||String(ea):oa||String(ea))}function Xt(ft,Nt){var Ie=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{id:""},cn=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},dn=Object.keys(cn).reduce(function(_n,Tn){var yr=cn[Tn];return _n[Tn]=typeof yr=="string"?tt(yr):yr,_n},{});return gt(ft,Nt,Ie,dn)}var rn=e(57761),Jt=e.n(rn),pn=e(16962),mn=e.n(pn),Zn=["localeMatcher","type","style"],tr=Date.now();function ut(ft){return"".concat(tr,"_").concat(ft,"_").concat(tr)}function ct(ft,Nt,Ie){var cn=ft.locale,dn=ft.onError,_n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},Tn=Intl.ListFormat;Tn||dn(It(`Intl.ListFormat is not available in this environment. +Try polyfilling it using "@formatjs/intl-listformat" +`));var yr=lt(_n,Zn);try{var Wr={},Da=Ie.map(function(ea,oa){if(mn()(ea)==="object"){var Ir=ut(oa);return Wr[Ir]=ea,Ir}return String(ea)});if(!Object.keys(Wr).length)return Nt(cn,yr).format(Da);var la=Nt(cn,yr).formatToParts(Da);return la.reduce(function(ea,oa){var Ir=oa.value;return Wr[Ir]?ea.push(Wr[Ir]):typeof ea[ea.length-1]=="string"?ea[ea.length-1]+=Ir:ea.push(Ir),ea},[])}catch(ea){dn(It("Error formatting list.",ea))}return Ie}var Dt=["localeMatcher","style","type","fallback"];function xt(ft,Nt,Ie){var cn=ft.locale,dn=ft.onError,_n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},Tn=Intl.DisplayNames;Tn||dn(It(`Intl.DisplayNames is not available in this environment. +Try polyfilling it using "@formatjs/intl-displaynames" +`));var yr=lt(_n,Dt);try{return Nt(cn,yr).of(Ie)}catch(Wr){dn(It("Error formatting display name.",Wr))}}var kt=Jt()||rn;function sn(ft){return{locale:ft.locale,timeZone:ft.timeZone,formats:ft.formats,textComponent:ft.textComponent,messages:ft.messages,defaultLocale:ft.defaultLocale,defaultFormats:ft.defaultFormats,onError:ft.onError}}function tn(ft,Nt){var Ie=Le(Nt),cn=Object.assign(Object.assign({},zt),ft),dn=cn.locale,_n=cn.defaultLocale,Tn=cn.onError;return dn?!Intl.NumberFormat.supportedLocalesOf(dn).length&&Tn?Tn(It('Missing locale data for locale: "'.concat(dn,'" in Intl.NumberFormat. Using default locale: "').concat(_n,'" as fallback. See https://github.com/formatjs/react-intl/blob/master/docs/Getting-Started.md#runtime-requirements for more details'))):!Intl.DateTimeFormat.supportedLocalesOf(dn).length&&Tn&&Tn(It('Missing locale data for locale: "'.concat(dn,'" in Intl.DateTimeFormat. Using default locale: "').concat(_n,'" as fallback. See https://github.com/formatjs/react-intl/blob/master/docs/Getting-Started.md#runtime-requirements for more details'))):(Tn&&Tn(It('"locale" was not configured, using "'.concat(_n,'" as fallback. See https://github.com/formatjs/react-intl/blob/master/docs/API.md#intlshape for more details'))),cn.locale=cn.defaultLocale||"en"),Object.assign(Object.assign({},cn),{formatters:Ie,formatNumber:Ye.bind(null,cn,Ie.getNumberFormat),formatNumberToParts:et.bind(null,cn,Ie.getNumberFormat),formatRelativeTime:qt.bind(null,cn,Ie.getRelativeTimeFormat),formatDate:vn.bind(null,cn,Ie.getDateTimeFormat),formatDateToParts:Vn.bind(null,cn,Ie.getDateTimeFormat),formatTime:Xn.bind(null,cn,Ie.getDateTimeFormat),formatTimeToParts:or.bind(null,cn,Ie.getDateTimeFormat),formatPlural:Wt.bind(null,cn,Ie.getPluralRules),formatMessage:gt.bind(null,cn,Ie),formatHTMLMessage:Xt.bind(null,cn,Ie),formatList:ct.bind(null,cn,Ie.getListFormat),formatDisplayName:xt.bind(null,cn,Ie.getDisplayNames)})}var xn=function(ft){g()(Ie,ft);var Nt=h()(Ie);function Ie(){var cn;return d()(this,Ie),cn=Nt.apply(this,arguments),cn.cache=Mt(),cn.state={cache:cn.cache,intl:tn(sn(cn.props),cn.cache),prevConfig:sn(cn.props)},cn}return c()(Ie,[{key:"render",value:function(){return bt(this.state.intl),S.createElement(j,{value:this.state.intl},this.props.children)}}],[{key:"getDerivedStateFromProps",value:function(dn,_n){var Tn=_n.prevConfig,yr=_n.cache,Wr=sn(dn);return kt(Tn,Wr)?null:{intl:tn(Wr,yr),prevConfig:Wr}}}]),Ie}(S.PureComponent);xn.displayName="IntlProvider",xn.defaultProps=zt;var Nn=e(23042),gr=e(87308),nr=e.n(gr),Rn=e(62118),kr=e.n(Rn),fr=function(ft,Nt){var Ie={};for(var cn in ft)Object.prototype.hasOwnProperty.call(ft,cn)&&Nt.indexOf(cn)<0&&(Ie[cn]=ft[cn]);if(ft!=null&&typeof Object.getOwnPropertySymbols=="function")for(var dn=0,cn=Object.getOwnPropertySymbols(ft);dn1&&arguments[1]!==void 0?arguments[1]:!0,cn=function(){if(Ua()!==Nt){if(navigator.cookieEnabled&&typeof window.localStorage!="undefined"&&zn&&window.localStorage.setItem("umi_locale",Nt||""),Mo(Nt),Ie)window.location.reload();else if(vr.emit(ra,Nt),window.dispatchEvent){var _n=new Event("languagechange");window.dispatchEvent(_n)}}};cn()},jo=!0,Wo=function(Nt,Ie){return jo&&(kr()(!1,`Using this API will cause automatic refresh when switching languages, please use useIntl or injectIntl. + +\u4F7F\u7528\u6B64 api \u4F1A\u9020\u6210\u5207\u6362\u8BED\u8A00\u7684\u65F6\u5019\u65E0\u6CD5\u81EA\u52A8\u5237\u65B0\uFF0C\u8BF7\u4F7F\u7528 useIntl \u6216 injectIntl\u3002 + +http://j.mp/37Fkd5Q + `),jo=!1),Kn||Mo(Ua()),Kn.formatMessage(Nt,Ie)},Eo=function(){return Object.keys(xr)}},47338:function(b,y,e){"use strict";e.d(y,{t:function(){return T},z:function(){return U}});var a=e(88205),t=e.n(a),o=e(61697),s=e.n(o),n=e(77016),d=e.n(n),l=e(2657),c=e.n(l),m=e(44204),g=e.n(m),M=e(58757),h=e(35667),S=M.createContext(null),w=s()(function N(){var Z=this;d()(this,N),c()(this,"callbacks",{}),c()(this,"data",{}),c()(this,"update",function(D){Z.callbacks[D]&&Z.callbacks[D].forEach(function(L){try{var j=Z.data[D];L(j)}catch(G){L(void 0)}})})});function x(N){var Z=N.hook,D=N.onUpdate,L=N.namespace,j=(0,M.useRef)(D),G=(0,M.useRef)(!1),W;try{W=Z()}catch(ne){console.error("plugin-model: Invoking '".concat(L||"unknown","' model failed:"),ne)}return(0,M.useMemo)(function(){j.current(W)},[]),(0,M.useEffect)(function(){G.current?j.current(W):G.current=!0}),null}var z=new w;function U(N){return(0,h.jsxs)(S.Provider,{value:{dispatcher:z},children:[Object.keys(N.models).map(function(Z){return(0,h.jsx)(x,{hook:N.models[Z],namespace:Z,onUpdate:function(L){z.data[Z]=L,z.update(Z)}},Z)}),N.children]})}function T(N,Z){var D=(0,M.useContext)(S),L=D.dispatcher,j=(0,M.useRef)(Z);j.current=Z;var G=(0,M.useState)(function(){return j.current?j.current(L.data[N]):L.data[N]}),W=t()(G,2),ne=W[0],_=W[1],ee=(0,M.useRef)(ne);ee.current=ne;var se=(0,M.useRef)(!1);return(0,M.useEffect)(function(){return se.current=!0,function(){se.current=!1}},[]),(0,M.useEffect)(function(){var Q,C=function(O){if(!se.current)setTimeout(function(){L.data[N]=O,L.update(N)});else{var H=j.current?j.current(O):O,k=ee.current;g()(H,k)||(ee.current=H,_(H))}};return(Q=L.callbacks)[N]||(Q[N]=new Set),L.callbacks[N].add(C),L.update(N),function(){L.callbacks[N].delete(C)}},[N]),ne}},76180:function(b,y,e){"use strict";e.d(y,{AD:function(){return V},JJ:function(){return he},EX:function(){return P},BP:function(){return Ee},pB:function(){return le},G3:function(){return Ne},YZ:function(){return q},J1:function(){return ue},L8:function(){return ke},Ss:function(){return R},zY:function(){return J},oC:function(){return we},gS:function(){return Ke},po:function(){return xe},a5:function(){return Se},j3:function(){return re},YC:function(){return $e},iP:function(){return ge},oM:function(){return ie},JQ:function(){return B},Wp:function(){return Oe},$j:function(){return oe},uP:function(){return pe},Uf:function(){return Ae}});var a=e(2657),t=e.n(a),o=e(58757),s=Object.defineProperty,n=Object.getOwnPropertySymbols,d=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable,c=(nt,_e,We)=>_e in nt?s(nt,_e,{enumerable:!0,configurable:!0,writable:!0,value:We}):nt[_e]=We,m=(nt,_e)=>{for(var We in _e||(_e={}))d.call(_e,We)&&c(nt,We,_e[We]);if(n)for(var We of n(_e))l.call(_e,We)&&c(nt,We,_e[We]);return nt};const g=nt=>o.createElement("svg",m({className:"classification_svg__icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:200,height:200},nt),o.createElement("path",{d:"M797.723 912.007h-149.1c-59.634 0-109.325-49.691-109.325-109.326V539.325h263.356c59.635 0 109.326 49.69 109.326 109.325v149.073c0 29.804-9.944 54.65-29.804 79.495-29.83 24.818-54.703 34.762-84.48 34.762zm-422.373 0H226.277c-64.593 0-114.257-49.691-114.257-109.326V653.608c0-29.803 9.917-59.634 34.762-79.494 19.86-19.887 49.691-34.79 79.495-34.79h258.398v263.357c0 29.804-9.943 54.65-29.803 79.495-24.846 19.887-49.691 29.83-79.522 29.83zm422.373-422.373H534.339V226.277c0-29.804 9.97-59.634 34.79-79.495 19.887-19.86 49.69-34.762 79.521-34.762h149.073c59.608 4.932 109.298 54.623 109.298 114.257V375.35c0 29.83-9.916 54.676-29.803 79.495-24.846 24.845-49.691 34.762-79.495 34.762zm-313.048 0H221.32c-59.635 0-109.326-49.691-109.326-109.326V231.235c0-29.803 9.944-59.607 34.79-79.494 19.86-24.819 49.69-34.762 74.536-34.762h149.073c59.634 0 109.298 49.664 109.298 109.298v263.384h4.958v-.027z"}));var M="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTc5Ny43MjMgOTEyLjAwN2gtMTQ5LjFjLTU5LjYzNCAwLTEwOS4zMjUtNDkuNjkxLTEwOS4zMjUtMTA5LjMyNlY1MzkuMzI1aDI2My4zNTZjNTkuNjM1IDAgMTA5LjMyNiA0OS42OSAxMDkuMzI2IDEwOS4zMjV2MTQ5LjA3M2MwIDI5LjgwNC05Ljk0NCA1NC42NS0yOS44MDQgNzkuNDk1LTI5LjgzIDI0LjgxOC01NC43MDMgMzQuNzYyLTg0LjQ4IDM0Ljc2MnptLTQyMi4zNzMgMEgyMjYuMjc3Yy02NC41OTMgMC0xMTQuMjU3LTQ5LjY5MS0xMTQuMjU3LTEwOS4zMjZWNjUzLjYwOGMwLTI5LjgwMyA5LjkxNy01OS42MzQgMzQuNzYyLTc5LjQ5NCAxOS44Ni0xOS44ODcgNDkuNjkxLTM0Ljc5IDc5LjQ5NS0zNC43OWgyNTguMzk4djI2My4zNTdjMCAyOS44MDQtOS45NDMgNTQuNjUtMjkuODAzIDc5LjQ5NS0yNC44NDYgMTkuODg3LTQ5LjY5MSAyOS44My03OS41MjIgMjkuODN6bTQyMi4zNzMtNDIyLjM3M0g1MzQuMzM5VjIyNi4yNzdjMC0yOS44MDQgOS45Ny01OS42MzQgMzQuNzktNzkuNDk1IDE5Ljg4Ny0xOS44NiA0OS42OS0zNC43NjIgNzkuNTIxLTM0Ljc2MmgxNDkuMDczYzU5LjYwOCA0LjkzMiAxMDkuMjk4IDU0LjYyMyAxMDkuMjk4IDExNC4yNTdWMzc1LjM1YzAgMjkuODMtOS45MTYgNTQuNjc2LTI5LjgwMyA3OS40OTUtMjQuODQ2IDI0Ljg0NS00OS42OTEgMzQuNzYyLTc5LjQ5NSAzNC43NjJ6bS0zMTMuMDQ4IDBIMjIxLjMyYy01OS42MzUgMC0xMDkuMzI2LTQ5LjY5MS0xMDkuMzI2LTEwOS4zMjZWMjMxLjIzNWMwLTI5LjgwMyA5Ljk0NC01OS42MDcgMzQuNzktNzkuNDk0IDE5Ljg2LTI0LjgxOSA0OS42OS0zNC43NjIgNzQuNTM2LTM0Ljc2MmgxNDkuMDczYzU5LjYzNCAwIDEwOS4yOTggNDkuNjY0IDEwOS4yOTggMTA5LjI5OHYyNjMuMzg0aDQuOTU4di0uMDI3eiIvPjwvc3ZnPg==",h=Object.defineProperty,S=Object.getOwnPropertySymbols,w=Object.prototype.hasOwnProperty,x=Object.prototype.propertyIsEnumerable,z=(nt,_e,We)=>_e in nt?h(nt,_e,{enumerable:!0,configurable:!0,writable:!0,value:We}):nt[_e]=We,U=(nt,_e)=>{for(var We in _e||(_e={}))w.call(_e,We)&&z(nt,We,_e[We]);if(S)for(var We of S(_e))x.call(_e,We)&&z(nt,We,_e[We]);return nt};const T=nt=>o.createElement("svg",U({className:"datasetDetection_svg__icon",viewBox:"0 0 1092 1024",xmlns:"http://www.w3.org/2000/svg",width:213.281,height:200},nt),o.createElement("path",{d:"m514.859 116.928 318.336 130.624-1.28 3.2 2.88-1.152v448l-320 128-320-128v-448l2.816 1.152-1.28-3.2 318.528-130.624zm-256 227.2v310.144l224 89.6V434.24h1.28l-225.28-90.112zm512 0L545.323 434.24h1.408v309.632l224-89.6V344.128zm-256.064-158.08-236.352 97.024L514.795 377.6l236.288-94.528-236.288-97.024zM132.523 728.064v160h160v64h-224v-224h64zm830.272 0v224h-224v-64h160v-160h64zm-670.272-672v64h-160v160h-64v-224h224zm670.272 0v224h-64v-160h-160v-64h224z"}),o.createElement("path",{d:"M4.267 0h1024v1024h-1024z",fill:"none"}));var N="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwOTIgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjEzLjI4MSIgaGVpZ2h0PSIyMDAiPjxwYXRoIGQ9Im01MTQuODU5IDExNi45MjggMzE4LjMzNiAxMzAuNjI0LTEuMjggMy4yIDIuODgtMS4xNTJ2NDQ4bC0zMjAgMTI4LTMyMC0xMjh2LTQ0OGwyLjgxNiAxLjE1Mi0xLjI4LTMuMiAzMTguNTI4LTEzMC42MjR6bS0yNTYgMjI3LjJ2MzEwLjE0NGwyMjQgODkuNlY0MzQuMjRoMS4yOGwtMjI1LjI4LTkwLjExMnptNTEyIDBMNTQ1LjMyMyA0MzQuMjRoMS40MDh2MzA5LjYzMmwyMjQtODkuNlYzNDQuMTI4em0tMjU2LjA2NC0xNTguMDgtMjM2LjM1MiA5Ny4wMjRMNTE0Ljc5NSAzNzcuNmwyMzYuMjg4LTk0LjUyOC0yMzYuMjg4LTk3LjAyNHpNMTMyLjUyMyA3MjguMDY0djE2MGgxNjB2NjRoLTIyNHYtMjI0aDY0em04MzAuMjcyIDB2MjI0aC0yMjR2LTY0aDE2MHYtMTYwaDY0em0tNjcwLjI3Mi02NzJ2NjRoLTE2MHYxNjBoLTY0di0yMjRoMjI0em02NzAuMjcyIDB2MjI0aC02NHYtMTYwaC0xNjB2LTY0aDIyNHoiLz48cGF0aCBkPSJNNC4yNjcgMGgxMDI0djEwMjRoLTEwMjR6IiBmaWxsPSJub25lIi8+PC9zdmc+",Z=Object.defineProperty,D=Object.getOwnPropertySymbols,L=Object.prototype.hasOwnProperty,j=Object.prototype.propertyIsEnumerable,G=(nt,_e,We)=>_e in nt?Z(nt,_e,{enumerable:!0,configurable:!0,writable:!0,value:We}):nt[_e]=We,W=(nt,_e)=>{for(var We in _e||(_e={}))L.call(_e,We)&&G(nt,We,_e[We]);if(D)for(var We of D(_e))j.call(_e,We)&&G(nt,We,_e[We]);return nt};const ne=nt=>o.createElement("svg",W({className:"datasetSegment_svg__icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:200,height:200},nt),o.createElement("path",{d:"M179.2 524.288h678.912a25.6 25.6 0 0 0 0-51.2H179.2a25.6 25.6 0 0 0 0 51.2zm700.672-245.504v-56.32l-164.864 156.16H774.4l105.472-99.84zm0 73.216-27.904 26.624h27.904V352zm-242.176 26.624 242.176-229.376v-15.616h-43.264L578.304 378.624h59.392zm-136.96 0 258.56-244.992h-59.392L441.6 378.624h59.136zm-136.704 0 258.304-244.992h-59.392l-258.56 244.992h59.648zm-136.96 0 258.56-244.992H426.24L167.68 378.624h59.392zm62.72-244.992L156.16 260.352v55.808l192.512-182.528h-58.88zm-133.632 0v53.504l56.32-53.504h-56.32zm618.24 742.4 105.472-99.584v-56.576l-164.864 156.16H774.4zm105.472 0v-26.368l-27.904 26.368h27.904zm-301.568 0h59.392l242.176-229.376v-15.36h-43.264L578.304 876.032zm121.6-244.736L441.6 876.032h59.136l258.56-244.736h-59.392zm-136.96 0-258.56 244.736h59.648l258.304-244.736h-59.392zm-136.704 0L167.68 876.032h59.392l258.56-244.736H426.24zm-136.448 0L156.16 758.016v55.808l192.512-182.528h-58.88zM156.16 684.544l56.32-53.248h-56.32v53.248z"}));var _="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE3OS4yIDUyNC4yODhoNjc4LjkxMmEyNS42IDI1LjYgMCAwIDAgMC01MS4ySDE3OS4yYTI1LjYgMjUuNiAwIDAgMCAwIDUxLjJ6bTcwMC42NzItMjQ1LjUwNHYtNTYuMzJsLTE2NC44NjQgMTU2LjE2SDc3NC40bDEwNS40NzItOTkuODR6bTAgNzMuMjE2LTI3LjkwNCAyNi42MjRoMjcuOTA0VjM1MnptLTI0Mi4xNzYgMjYuNjI0IDI0Mi4xNzYtMjI5LjM3NnYtMTUuNjE2aC00My4yNjRMNTc4LjMwNCAzNzguNjI0aDU5LjM5MnptLTEzNi45NiAwIDI1OC41Ni0yNDQuOTkyaC01OS4zOTJMNDQxLjYgMzc4LjYyNGg1OS4xMzZ6bS0xMzYuNzA0IDAgMjU4LjMwNC0yNDQuOTkyaC01OS4zOTJsLTI1OC41NiAyNDQuOTkyaDU5LjY0OHptLTEzNi45NiAwIDI1OC41Ni0yNDQuOTkySDQyNi4yNEwxNjcuNjggMzc4LjYyNGg1OS4zOTJ6bTYyLjcyLTI0NC45OTJMMTU2LjE2IDI2MC4zNTJ2NTUuODA4bDE5Mi41MTItMTgyLjUyOGgtNTguODh6bS0xMzMuNjMyIDB2NTMuNTA0bDU2LjMyLTUzLjUwNGgtNTYuMzJ6bTYxOC4yNCA3NDIuNCAxMDUuNDcyLTk5LjU4NHYtNTYuNTc2bC0xNjQuODY0IDE1Ni4xNkg3NzQuNHptMTA1LjQ3MiAwdi0yNi4zNjhsLTI3LjkwNCAyNi4zNjhoMjcuOTA0em0tMzAxLjU2OCAwaDU5LjM5MmwyNDIuMTc2LTIyOS4zNzZ2LTE1LjM2aC00My4yNjRMNTc4LjMwNCA4NzYuMDMyem0xMjEuNi0yNDQuNzM2TDQ0MS42IDg3Ni4wMzJoNTkuMTM2bDI1OC41Ni0yNDQuNzM2aC01OS4zOTJ6bS0xMzYuOTYgMC0yNTguNTYgMjQ0LjczNmg1OS42NDhsMjU4LjMwNC0yNDQuNzM2aC01OS4zOTJ6bS0xMzYuNzA0IDBMMTY3LjY4IDg3Ni4wMzJoNTkuMzkybDI1OC41Ni0yNDQuNzM2SDQyNi4yNHptLTEzNi40NDggMEwxNTYuMTYgNzU4LjAxNnY1NS44MDhsMTkyLjUxMi0xODIuNTI4aC01OC44OHpNMTU2LjE2IDY4NC41NDRsNTYuMzItNTMuMjQ4aC01Ni4zMnY1My4yNDh6Ii8+PC9zdmc+",ee=Object.defineProperty,se=Object.getOwnPropertySymbols,Q=Object.prototype.hasOwnProperty,C=Object.prototype.propertyIsEnumerable,X=(nt,_e,We)=>_e in nt?ee(nt,_e,{enumerable:!0,configurable:!0,writable:!0,value:We}):nt[_e]=We,O=(nt,_e)=>{for(var We in _e||(_e={}))Q.call(_e,We)&&X(nt,We,_e[We]);if(se)for(var We of se(_e))C.call(_e,We)&&X(nt,We,_e[We]);return nt};const H=nt=>o.createElement("svg",O({className:"datasetMatting_svg__icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:200,height:200},nt),o.createElement("path",{d:"M832 288h-96v-96c0-52.9-43.1-96-96-96H192c-52.9 0-96 43.1-96 96v448c0 52.9 43.1 96 96 96h96v96c0 52.9 43.1 96 96 96h448c52.9 0 96-43.1 96-96V384c0-52.9-43.1-96-96-96zM160 640V192c0-17.6 14.4-32 32-32h448c17.6 0 32 14.4 32 32v96h-32c-17.7 0-32 14.3-32 32s14.3 32 32 32h32v288c0 17.6-14.4 32-32 32H352v-32c0-17.7-14.3-32-32-32s-32 14.3-32 32v32h-96c-17.6 0-32-14.4-32-32zm704 192c0 17.6-14.4 32-32 32H384c-17.6 0-32-14.4-32-32v-96h288c52.9 0 96-43.1 96-96V352h96c17.6 0 32 14.4 32 32v448z"}),o.createElement("path",{d:"M320 576c17.7 0 32-14.3 32-32v-64c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7 14.3 32 32 32zm160-224h64c17.7 0 32-14.3 32-32s-14.3-32-32-32h-64c-17.7 0-32 14.3-32 32s14.3 32 32 32zm-160 64c17.7 0 32-14.3 32-32 0-17.6 14.4-32 32-32 17.7 0 32-14.3 32-32s-14.3-32-32-32c-52.9 0-96 43.1-96 96 0 17.7 14.3 32 32 32z"}));var k="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTgzMiAyODhoLTk2di05NmMwLTUyLjktNDMuMS05Ni05Ni05NkgxOTJjLTUyLjkgMC05NiA0My4xLTk2IDk2djQ0OGMwIDUyLjkgNDMuMSA5NiA5NiA5Nmg5NnY5NmMwIDUyLjkgNDMuMSA5NiA5NiA5Nmg0NDhjNTIuOSAwIDk2LTQzLjEgOTYtOTZWMzg0YzAtNTIuOS00My4xLTk2LTk2LTk2ek0xNjAgNjQwVjE5MmMwLTE3LjYgMTQuNC0zMiAzMi0zMmg0NDhjMTcuNiAwIDMyIDE0LjQgMzIgMzJ2OTZoLTMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDMydjI4OGMwIDE3LjYtMTQuNCAzMi0zMiAzMkgzNTJ2LTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMydjMyaC05NmMtMTcuNiAwLTMyLTE0LjQtMzItMzJ6bTcwNCAxOTJjMCAxNy42LTE0LjQgMzItMzIgMzJIMzg0Yy0xNy42IDAtMzItMTQuNC0zMi0zMnYtOTZoMjg4YzUyLjkgMCA5Ni00My4xIDk2LTk2VjM1Mmg5NmMxNy42IDAgMzIgMTQuNCAzMiAzMnY0NDh6Ii8+PHBhdGggZD0iTTMyMCA1NzZjMTcuNyAwIDMyLTE0LjMgMzItMzJ2LTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMydjY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyem0xNjAtMjI0aDY0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyaC02NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMnptLTE2MCA2NGMxNy43IDAgMzItMTQuMyAzMi0zMiAwLTE3LjYgMTQuNC0zMiAzMi0zMiAxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmMtNTIuOSAwLTk2IDQzLjEtOTYgOTYgMCAxNy43IDE0LjMgMzIgMzIgMzJ6Ii8+PC9zdmc+",A=Object.defineProperty,Y=Object.getOwnPropertySymbols,de=Object.prototype.hasOwnProperty,me=Object.prototype.propertyIsEnumerable,ve=(nt,_e,We)=>_e in nt?A(nt,_e,{enumerable:!0,configurable:!0,writable:!0,value:We}):nt[_e]=We,be=(nt,_e)=>{for(var We in _e||(_e={}))de.call(_e,We)&&ve(nt,We,_e[We]);if(Y)for(var We of Y(_e))me.call(_e,We)&&ve(nt,We,_e[We]);return nt};const Pe=nt=>o.createElement("svg",be({className:"datasetKeypoint_svg__icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:200,height:200},nt),o.createElement("path",{d:"M938.667 298.667c0 70.613-57.387 128-128 128s-128-57.387-128-128c0-1.92 0-3.627.213-5.334L501.12 238.72a107.03 107.03 0 0 1-63.787 55.253l69.334 138.24c15.36-3.626 31.573-5.546 48-5.546C672.213 426.667 768 522.453 768 640s-95.787 213.333-213.333 213.333c-85.334 0-159.147-50.56-193.067-123.093l-34.133 22.613c8.96 17.28 13.866 36.907 13.866 57.814 0 70.613-57.386 128-128 128s-128-57.387-128-128 57.387-128 128-128c34.774 0 66.134 13.653 88.96 36.053l44.8-29.867c-3.84-15.573-5.76-32-5.76-48.853 0-85.973 51.2-160.213 124.587-193.92L391.68 297.6A106.475 106.475 0 0 1 298.667 192c0-58.88 47.786-106.667 106.666-106.667S512 133.12 512 192c0 1.707 0 3.627-.213 5.333l180.053 53.974a127.957 127.957 0 0 1 118.827-80.64c70.613 0 128 57.386 128 128z"}));var Je="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTkzOC42NjcgMjk4LjY2N2MwIDcwLjYxMy01Ny4zODcgMTI4LTEyOCAxMjhzLTEyOC01Ny4zODctMTI4LTEyOGMwLTEuOTIgMC0zLjYyNy4yMTMtNS4zMzRMNTAxLjEyIDIzOC43MmExMDcuMDMgMTA3LjAzIDAgMCAxLTYzLjc4NyA1NS4yNTNsNjkuMzM0IDEzOC4yNGMxNS4zNi0zLjYyNiAzMS41NzMtNS41NDYgNDgtNS41NDZDNjcyLjIxMyA0MjYuNjY3IDc2OCA1MjIuNDUzIDc2OCA2NDBzLTk1Ljc4NyAyMTMuMzMzLTIxMy4zMzMgMjEzLjMzM2MtODUuMzM0IDAtMTU5LjE0Ny01MC41Ni0xOTMuMDY3LTEyMy4wOTNsLTM0LjEzMyAyMi42MTNjOC45NiAxNy4yOCAxMy44NjYgMzYuOTA3IDEzLjg2NiA1Ny44MTQgMCA3MC42MTMtNTcuMzg2IDEyOC0xMjggMTI4cy0xMjgtNTcuMzg3LTEyOC0xMjggNTcuMzg3LTEyOCAxMjgtMTI4YzM0Ljc3NCAwIDY2LjEzNCAxMy42NTMgODguOTYgMzYuMDUzbDQ0LjgtMjkuODY3Yy0zLjg0LTE1LjU3My01Ljc2LTMyLTUuNzYtNDguODUzIDAtODUuOTczIDUxLjItMTYwLjIxMyAxMjQuNTg3LTE5My45MkwzOTEuNjggMjk3LjZBMTA2LjQ3NSAxMDYuNDc1IDAgMCAxIDI5OC42NjcgMTkyYzAtNTguODggNDcuNzg2LTEwNi42NjcgMTA2LjY2Ni0xMDYuNjY3UzUxMiAxMzMuMTIgNTEyIDE5MmMwIDEuNzA3IDAgMy42MjctLjIxMyA1LjMzM2wxODAuMDUzIDUzLjk3NGExMjcuOTU3IDEyNy45NTcgMCAwIDEgMTE4LjgyNy04MC42NGM3MC42MTMgMCAxMjggNTcuMzg2IDEyOCAxMjh6Ii8+PC9zdmc+",qe,Xe,mt,Ct,vt="Deep Data Space",Ht="https://img.alicdn.com/tfs/TB1YHEpwUT1gK0jSZFhXXaAtVXa-28-27.svg",ke=50,Ve=null,ot=null,Ke=8,he=function(nt){return nt.Classification="Classification",nt.Detection="Detection",nt.Segmentation="Segmentation",nt.Matting="Matting",nt.KeyPoints="KeyPoints",nt.Mask="Mask",nt}({}),J=function(nt){return nt.showAnnotations="showAnnotations",nt.showAllCategory="showAllCategory",nt.showImgDesc="showImgDesc",nt.showBoxText="showBoxText",nt.showSegFilling="showSegFilling",nt.showSegContour="showSegContour",nt.showMattingColorFill="showMattingColorFill",nt.showKeyPointsLine="showKeyPointsLine",nt.showKeyPointsBox="showKeyPointsBox",nt}({}),V=(qe={},t()(qe,he.Classification,g),t()(qe,he.Detection,T),t()(qe,he.Segmentation,ne),t()(qe,he.Matting,H),t()(qe,he.KeyPoints,Pe),t()(qe,he.Mask,H),qe),R=(Xe={},t()(Xe,J.showAnnotations,"lab.displayOption.showAnnotations"),t()(Xe,J.showAllCategory,"lab.displayOption.showAllCategory"),t()(Xe,J.showImgDesc,"lab.displayOption.showImgDesc"),t()(Xe,J.showBoxText,"lab.displayOption.showBoxText"),t()(Xe,J.showSegFilling,"lab.displayOption.showSegFilling"),t()(Xe,J.showSegContour,"lab.displayOption.showSegContour"),t()(Xe,J.showMattingColorFill,"lab.displayOption.showMattingColorFill"),t()(Xe,J.showKeyPointsLine,"lab.displayOption.showKeyPointsLine"),t()(Xe,J.showKeyPointsBox,"lab.displayOption.showKeyPointsBox"),Xe),P=[J.showAnnotations,J.showAllCategory,J.showImgDesc],B=[[0],[2],[5],[10],[1,5,3],[5,2,10]],ge=[1,.4,.6,.8,.85,.9],ie=[1,1.5,1.75,2,2.25,2.5],pe=function(nt){return nt.Overlay="dataset.diffMode.overlay",nt.Tiled="dataset.diffMode.tiled",nt}({}),Oe=[pe.Overlay,pe.Tiled],xe=function(nt){return nt[nt.all=-1]="all",nt[nt.unflaged=0]="unflaged",nt[nt.picked=1]="picked",nt[nt.rejected=2]="rejected",nt}({}),Se=(mt={},t()(mt,xe.all,"transparent"),t()(mt,xe.unflaged,"#8C8C8C"),t()(mt,xe.picked,"#52C41A"),t()(mt,xe.rejected,"#F5222D"),mt),$e=[{value:xe.picked,tip:"save as 'positive'"},{value:xe.rejected,tip:"save as 'negative'"},{value:xe.unflaged,tip:"save as 'unset'"}],re=[{value:xe.all,name:"all"},{value:xe.unflaged,name:"unset"},{value:xe.picked,name:"positive"},{value:xe.rejected,name:"negative"}],oe=function(nt){return nt.gt="GT",nt.user="User",nt.pred="Pred",nt}({}),q=function(nt){return nt.fn="fn",nt.fp="fp",nt}({}),ue=[{value:q.fn,name:"FN count"},{value:q.fp,name:"FP count"}],Ee=function(nt){return nt.ok="OK",nt.fn="FN",nt.fp="FP",nt}({}),le=(Ct={},t()(Ct,Ee.ok,""),t()(Ct,Ee.fn,"rgba(255,0,0,0.4)"),t()(Ct,Ee.fp,"rgba(0,0,255,0.4)"),Ct),Ne=[{value:oe.gt,name:"GT - Matched"},{value:Ee.fn,name:"GT - FN"},{value:oe.pred,name:"Prediction - Matched"},{value:Ee.fp,name:"Prediction - FP"}],Ae=function(nt){return nt.AUTH_TOKEN="auth_token",nt}({}),we=function(nt){return nt.Active="active",nt.Inactive="inactive",nt.Activating="activating",nt}({}),Re=function(nt){return nt.Upload="self_uploaded",nt.DirectUrl="direct_url",nt}({}),st=function(nt){return nt.Waiting="waiting",nt.Running="running",nt.Success="success",nt.Failed="failed",nt.Fail="fail",nt}({})},35459:function(b,y,e){"use strict";e.d(y,{JE:function(){return m},ZA:function(){return c},gZ:function(){return l},j$:function(){return g},mu:function(){return d},tz:function(){return n}});var a=e(2657),t=e.n(a),o,s,n=function(M){return M.Waiting="waiting",M.Initializing="initializing",M.Working="working",M.Reviewing="reviewing",M.Rejected="rejected",M.Accepted="accepted",M.Exported="exported",M}({}),d=(o={},t()(o,n.Waiting,{text:"proj.statusMap.waiting",color:"default"}),t()(o,n.Initializing,{text:"proj.statusMap.initializing",color:"default"}),t()(o,n.Working,{text:"proj.statusMap.working",color:"processing"}),t()(o,n.Reviewing,{text:"proj.statusMap.reviewing",color:"warning"}),t()(o,n.Rejected,{text:"proj.statusMap.rejected",color:"error"}),t()(o,n.Accepted,{text:"proj.statusMap.accepted",color:"success"}),t()(o,n.Exported,{text:"proj.statusMap.exported",color:"default"}),o),l=function(M){return M.Waiting="waiting",M.Working="working",M.Reviewing="reviewing",M.Rejected="rejected",M.Accepted="accepted",M}({}),c=(s={},t()(s,l.Waiting,{text:"proj.eTaskStatus.waiting",color:"default"}),t()(s,l.Working,{text:"proj.eTaskStatus.working",color:"processing"}),t()(s,l.Reviewing,{text:"proj.eTaskStatus.reviewing",color:"warning"}),t()(s,l.Rejected,{text:"proj.eTaskStatus.rejected",color:"error"}),t()(s,l.Accepted,{text:"proj.eTaskStatus.accepted",color:"success"}),s),m=function(M){return M.Accept="accept",M.Reject="reject",M.ForceAccept="force_accept",M}({}),g=function(M){return M.Labeling="labeling",M.Reviewing="reviewing",M.Rejected="rejected",M.Accepted="accepted",M}({})},1239:function(b,y,e){"use strict";e.d(y,{Oc:function(){return d},vb:function(){return n}});var a=e(2657),t=e.n(a),o=e(97375),s,n=function(c){return c.Owner="owner",c.Manager="manager",c.LabelLeader="label_leader",c.ReviewLeader="review_leader",c.Labeler="labeler",c.Reviewer="reviewer",c}({}),d=function(c){return c[c.ProjectEdit=0]="ProjectEdit",c[c.ProjectInfo=1]="ProjectInfo",c[c.ProjectInit=2]="ProjectInit",c[c.ProjectQa=3]="ProjectQa",c[c.ProjectExport=4]="ProjectExport",c[c.AssignLeader=100]="AssignLeader",c[c.TaskQa=101]="TaskQa",c[c.AssignLabeler=102]="AssignLabeler",c[c.AssignReviewer=103]="AssignReviewer",c[c.RestartTask=104]="RestartTask",c[c.StartLabel=105]="StartLabel",c[c.StartReview=106]="StartReview",c[c.CommitReviewTask=107]="CommitReviewTask",c[c.View=108]="View",c}({}),l=(s={},t()(s,n.Owner,[d.ProjectEdit,d.ProjectQa,d.View,d.ProjectExport]),t()(s,n.Manager,[d.ProjectInit,d.ProjectInfo,d.AssignLeader,d.TaskQa,d.View]),t()(s,n.LabelLeader,[d.AssignLabeler,d.RestartTask,d.View]),t()(s,n.ReviewLeader,[d.AssignReviewer,d.View]),t()(s,n.Labeler,[d.StartLabel]),t()(s,n.Reviewer,[d.StartReview,d.CommitReviewTask]),s);y.ZP=function(){var c=(0,o.useModel)("user"),m=c.user,g=function(S,w){if(!m.userId||!S)return[];var x=[];if(m.userId===S.owner.id&&x.push(n.Owner),S.managers.find(function(T){return T.id===m.userId})&&x.push(n.Manager),w){var z,U;((z=w.labelLeader)===null||z===void 0?void 0:z.userId)===m.userId&&x.push(n.LabelLeader),((U=w.reviewLeader)===null||U===void 0?void 0:U.userId)===m.userId&&x.push(n.ReviewLeader),w.labelers.find(function(T){return T.userId===m.userId})&&x.push(n.Labeler),w.reviewers.find(function(T){return T.userId===m.userId})&&x.push(n.Reviewer)}return x},M=function(){var S=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],w=arguments.length>1?arguments[1]:void 0,x=[];return S.forEach(function(z){var U=l[z];U.forEach(function(T){x.includes(T)||x.push(T)})}),x.includes(w)};return{getUserRoles:g,checkPermission:M}}},32694:function(b,y,e){"use strict";e.d(y,{u:function(){return U}});var a=e(24454),t=e.n(a),o=e(34485),s=e.n(o),n=e(56592),d=e.n(n),l=e(88205),c=e.n(l),m=e(97375),g=e(65246),M=e(7986),h=e(91290),S=e(53357),w=e(84045),x=e(23707),z=20,U=function(N){return N[N.labelLeader=0]="labelLeader",N[N.reviewLeader=1]="reviewLeader",N[N.labeler=2]="labeler",N[N.reviewer=3]="reviewer",N[N.reassign=4]="reassign",N}({}),T={show:!1,types:[],tasks:[],initialValues:{}};y.Z=function(){var N=(0,m.useModel)("user"),Z=N.user,D=(0,g.x)({list:[],total:0,selectedTaskIds:[]}),L=c()(D,2),j=L[0],G=L[1],W=(0,g.x)({page:1,pageSize:z}),ne=c()(W,2),_=ne[0],ee=ne[1],se=(0,g.x)(void 0),Q=c()(se,2),C=Q[0],X=Q[1],O=(0,g.x)(T),H=c()(O,2),k=H[0],A=H[1],Y=(0,M.Z)(function(he,J){return G(function(V){V.list=[]}),(0,h.ZJ)({projectId:(0,x.Oe)(),pageNum:he||_.page,pageSize:J||_.pageSize})},{manual:!0,debounceWait:100,refreshDeps:[_.page,_.pageSize],onSuccess:function(J){var V=J.taskList,R=J.total;G(function(P){P.list=V,P.total=R,P.selectedTaskIds=[]})},onError:function(){}}),de=Y.loading,me=Y.run,ve=(0,M.Z)(function(){return(0,h.NT)((0,x.Oe)())},{manual:!0,debounceWait:100,refreshDeps:[_.page,_.pageSize],onSuccess:function(J){G(function(V){V.projectDetail=J,V.isPm=!!J.managers.find(function(R){return R.id===Z.userId})})},onError:function(){}}),be=ve.run,Pe=function(J,V){ee(function(R){R.page=V===R.pageSize?J:1,R.pageSize=V}),me(J,V)},Je=function(J){G(function(V){V.selectedTaskIds=J})},qe=function(J){if(j.projectDetail){var V=J||j.selectedTaskIds,R=[],P={},B=j.list.find(function(pe){return pe.id===V[0]});if(j.projectDetail.labelTimes>0){var ge;R.push(U.labelLeader),P.labelLeaderId=B==null||(ge=B.labelLeader)===null||ge===void 0?void 0:ge.userId}if(j.projectDetail.reviewTimes>0){var ie;R.push(U.reviewLeader),P.reviewLeaderId=B==null||(ie=B.reviewLeader)===null||ie===void 0?void 0:ie.userId}A(function(pe){pe.show=!0,pe.types=R,pe.tasks=j.list.filter(function(Oe){return V.includes(Oe.id)}),pe.initialValues=P})}},Xe=function(J,V){if(j.projectDetail){var R={};if(V.includes(U.labeler)){var P;R.labelerIds=(P=J.labelers)===null||P===void 0?void 0:P.map(function(ge){return ge.userId})}if(V.includes(U.reviewer)){var B;R.reviewerIds=(B=J.reviewers)===null||B===void 0?void 0:B.map(function(ge){return ge.userId})}A(function(ge){ge.show=!0,ge.types=V,ge.tasks=[J],ge.initialValues=R})}},mt=function(J,V){A(function(R){R.show=!0,R.types=[U.reassign],R.tasks=[J],R.reassignTarget=V})},Ct=function(){A(T)},vt=function(){var he=d()(t()().mark(function J(V){var R,P,B,ge,ie;return t()().wrap(function(Oe){for(;;)switch(Oe.prev=Oe.next){case 0:if(R=V.keyWords,P=R===void 0?"":R,B=[],ge=k.tasks,ie=k.types,ge.forEach(function(xe){var Se=[];ie.includes(U.labelLeader)&&Se.push(xe.labelLeader),ie.includes(U.reviewLeader)&&Se.push(xe.reviewLeader),ie.includes(U.labeler)&&Se.push.apply(Se,s()(xe.labelers)),ie.includes(U.reviewer)&&Se.push.apply(Se,s()(xe.reviewers)),Se.forEach(function($e){$e&&!B.find(function(re){return $e.userId===re.id})&&B.push({id:$e.userId,name:$e.userName})})}),!P){Oe.next=8;break}return Oe.next=7,(0,h.Qm)({name:P});case 7:B=Oe.sent.userList.map(function(xe){return{name:xe.name,id:xe.id}});case 8:return Oe.abrupt("return",B.map(function(xe){return{label:xe.name,value:xe.id}}));case 9:case"end":return Oe.stop()}},J)}));return function(V){return he.apply(this,arguments)}}(),Ht=function(){var he=d()(t()().mark(function J(V){var R,P,B,ge,ie,pe;return t()().wrap(function(xe){for(;;)switch(xe.prev=xe.next){case 0:if(R=k.initialValues,!(k.types.includes(U.labelLeader)||k.types.includes(U.reviewLeader))){xe.next=16;break}if(!(V.labelLeaderId!==R.labelLeaderId||V.reviewLeaderId!==R.reviewLeaderId)){xe.next=14;break}return xe.prev=3,xe.next=6,(0,h.nu)({projectId:((P=j.projectDetail)===null||P===void 0?void 0:P.id)||"",taskIds:k.tasks.map(function(Se){return Se.id}),labelLeaderId:V.labelLeaderId!==R.labelLeaderId?V.labelLeaderId:void 0,reviewLeaderId:V.reviewLeaderId!==R.reviewLeaderId?V.reviewLeaderId:void 0});case 6:me(),w.ZP.success((0,S._w)("proj.assignModalFinish.assignLeader")),xe.next=14;break;case 10:return xe.prev=10,xe.t0=xe.catch(3),console.error(xe.t0),xe.abrupt("return",Promise.resolve(!1));case 14:xe.next=43;break;case 16:if(ge=k.tasks[0],!(k.types.includes(U.labeler)||k.types.includes(U.reviewer))){xe.next=31;break}return xe.prev=18,xe.next=21,(0,h.zb)(ge.id,V);case 21:me(),w.ZP.success((0,S._w)("proj.assignModalFinish.assignWorker")),xe.next=29;break;case 25:return xe.prev=25,xe.t1=xe.catch(18),console.error(xe.t1),xe.abrupt("return",Promise.resolve(!1));case 29:xe.next=43;break;case 31:if(!(k.types.includes(U.reassign)&&V.reassigner!==((B=k.reassignTarget)===null||B===void 0?void 0:B.userId))){xe.next=43;break}return xe.prev=32,xe.next=35,(0,h.xv)(ge.id,{oldWorkerId:((ie=k.reassignTarget)===null||ie===void 0?void 0:ie.userId)||"",newWorkerId:V.reassigner||"",role:((pe=k.reassignTarget)===null||pe===void 0?void 0:pe.role)||""});case 35:me(),w.ZP.success((0,S._w)("proj.assignModalFinish.reassignWorker")),xe.next=43;break;case 39:return xe.prev=39,xe.t2=xe.catch(32),console.error(xe.t2),xe.abrupt("return",Promise.resolve(!1));case 43:return Ct(),xe.abrupt("return",Promise.resolve(!1));case 45:case"end":return xe.stop()}},J,null,[[3,10],[18,25],[32,39]])}));return function(V){return he.apply(this,arguments)}}(),ke=function(){var he=d()(t()().mark(function J(V){return t()().wrap(function(P){for(;;)switch(P.prev=P.next){case 0:return P.prev=0,P.next=3,(0,h.vo)(V.id);case 3:me(),w.ZP.success((0,S._w)("proj.assignModalFinish.restarTask")),P.next=11;break;case 7:return P.prev=7,P.t0=P.catch(0),console.error(P.t0),P.abrupt("return",Promise.resolve(!1));case 11:case"end":return P.stop()}},J,null,[[0,7]])}));return function(V){return he.apply(this,arguments)}}(),Ve=function(){var he=d()(t()().mark(function J(V){return t()().wrap(function(P){for(;;)switch(P.prev=P.next){case 0:return P.prev=0,P.next=3,(0,h.$x)(V.id);case 3:me(),w.ZP.success((0,S._w)("proj.assignModalFinish.commiTask")),P.next=11;break;case 7:return P.prev=7,P.t0=P.catch(0),console.error(P.t0),P.abrupt("return",Promise.resolve(!1));case 11:case"end":return P.stop()}},J,null,[[0,7]])}));return function(V){return he.apply(this,arguments)}}(),ot=function(){var he=d()(t()().mark(function J(V,R){return t()().wrap(function(B){for(;;)switch(B.prev=B.next){case 0:return B.prev=0,B.next=3,(0,h.d5)(V.id,{action:R});case 3:w.ZP.success((0,S._w)("proj.assignModalFinish.changeTaskStatus")),me(),B.next=11;break;case 7:return B.prev=7,B.t0=B.catch(0),console.error(B.t0),B.abrupt("return",Promise.reject(!1));case 11:case"end":return B.stop()}},J,null,[[0,7]])}));return function(V,R){return he.apply(this,arguments)}}(),Ke=function(J){ee(function(V){Object.assign(V,{page:1,pageSize:z},J)}),be(),me()};return{pageData:j,pageState:_,loading:de,onPageChange:Pe,onSelectChange:Je,onInitPageState:Ke,taskDetailModalIndex:C,setTaskDetailModalIndex:X,assignModal:k,assignLeaders:qe,assignWorker:Xe,reassignWorker:mt,onCloseAssignModal:Ct,userLintRequest:vt,assignModalFinish:Ht,restartTask:ke,commitReviewTask:Ve,onChangeTaskResult:ot}}},54518:function(b,y,e){"use strict";e.d(y,{I:function(){return N}});var a=e(24454),t=e.n(a),o=e(56592),s=e.n(o),n=e(63900),d=e.n(n),l=e(88205),c=e.n(l),m=e(97375),g=e(65246),M=e(7986),h=e(91290),S=e(84045),w=e(53357),x=e(35459),z=e(39378),U=e.n(z),T=20,N="proj.editModal.setWorkflowNow",Z={show:!1,current:0,initialValues:{basics:{},settings:{},workflowInitNow:[],hadBatchSize:!1,hadReviewer:!1}};y.Z=function(){var D=(0,m.useModel)("user"),L=D.user,j=(0,m.useModel)("Project.auth"),G=j.getUserRoles,W=(0,g.x)({list:[],total:0}),ne=c()(W,2),_=ne[0],ee=ne[1],se=(0,g.x)({page:1,pageSize:T}),Q=c()(se,2),C=Q[0],X=Q[1],O=(0,g.x)(Z),H=c()(O,2),k=H[0],A=H[1],Y=(0,M.Z)(function(ke,Ve){return ee(function(ot){ot.list=[]}),(0,h.eK)({pageNum:ke||C.page,pageSize:Ve||C.pageSize})},{manual:!0,debounceWait:100,refreshDeps:[C.page,C.pageSize],onSuccess:function(Ve){var ot=Ve.projectList,Ke=Ve.total;ee({list:ot.map(function(he){return d()(d()({},he),{},{userRoles:G(he)})}),total:Ke})},onError:function(){}}),de=Y.loading,me=Y.run,ve=function(Ve,ot){X(function(Ke){Ke.page=ot===Ke.pageSize?Ve:1,Ke.pageSize=ot}),me(Ve,ot)},be=function(){A(function(Ve){Ve.show=!0})},Pe=function(Ve,ot){A(function(Ke){var he=Ve.name,J=Ve.description,V=Ve.categories,R=Ve.datasets,P=Ve.preLabel,B=Ve.managers,ge=Ve.batchSize,ie=Ve.reviewTimes,pe=Ve.status;Ke.show=!0,Ke.targetProject=Ve,Ke.current=ot?1:0,Ke.initialValues.basics={name:he,description:J,categories:V,preLabel:P,datasetIds:R.map(function(Oe){return Oe.id}),managerIds:B.map(function(Oe){return Oe.id})},Ke.initialValues.settings=pe!==x.tz.Waiting?{batchSize:ge>0?ge:void 0}:{},Ke.initialValues.workflowInitNow=[(0,w._w)(N)],Ke.initialValues.hadBatchSize=ge>0,Ke.initialValues.hadReviewer=ie>0})},Je=function(){A(Z)},qe=function(Ve){A(function(ot){Ve===0&&(ot.current=0)})},Xe=function(Ve){return A(function(ot){var Ke;ot.disableInitProject=!((Ke=Ve.basics.managerIds)!==null&&Ke!==void 0&&Ke.includes(L.userId)),ot.current=1}),Promise.resolve(!1)},mt=function(){var ke=s()(t()().mark(function Ve(ot){var Ke,he,J,V,R,P,B,ge;return t()().wrap(function(pe){for(;;)switch(pe.prev=pe.next){case 0:if(J=!1,V=(Ke=k.targetProject)===null||Ke===void 0?void 0:Ke.id,V){pe.next=18;break}return pe.prev=3,pe.next=6,(0,h.o9)(ot.basics);case 6:R=pe.sent,V=R.id,A(function(Oe){Oe.targetProject=R}),J=!0,S.ZP.success((0,w._w)("proj.projectModalFinish.new")),pe.next=16;break;case 13:pe.prev=13,pe.t0=pe.catch(3),console.error(pe.t0);case 16:pe.next=30;break;case 18:if(P=k.initialValues.basics,B=P.description,ge=P.managerIds,!(ot.basics.description!==B||!(0,z.isEqual)(ot.basics.managerIds,ge))){pe.next=30;break}return pe.prev=20,pe.next=23,(0,h.NV)(V,ot.basics);case 23:J=!0,S.ZP.success((0,w._w)("proj.projectModalFinish.edit")),pe.next=30;break;case 27:pe.prev=27,pe.t1=pe.catch(20),console.error(pe.t1);case 30:if(!((!k.targetProject||((he=k.targetProject)===null||he===void 0?void 0:he.status)===x.tz.Waiting)&&ot.workflowInitNow&&ot.workflowInitNow.length)){pe.next=41;break}return pe.prev=31,pe.next=34,(0,h.mN)(V,{batchSize:ot.hadBatchSize?ot.settings.batchSize:0,labelTimes:1,reviewTimes:ot.hadReviewer?1:0});case 34:J=!0,S.ZP.success((0,w._w)("proj.projectModalFinish.init")),pe.next=41;break;case 38:pe.prev=38,pe.t2=pe.catch(31),console.error(pe.t2);case 41:return J&&me(),Je(),pe.abrupt("return",Promise.resolve(!1));case 44:case"end":return pe.stop()}},Ve,null,[[3,13],[20,27],[31,38]])}));return function(ot){return ke.apply(this,arguments)}}(),Ct=function(){var ke=s()(t()().mark(function Ve(ot,Ke){return t()().wrap(function(J){for(;;)switch(J.prev=J.next){case 0:return J.prev=0,J.next=3,(0,h.lw)(ot.id,{action:Ke});case 3:S.ZP.success((0,w._w)("proj.projectModalFinish.change")),me(),J.next=11;break;case 7:return J.prev=7,J.t0=J.catch(0),console.error(J.t0),J.abrupt("return",Promise.reject(!1));case 11:case"end":return J.stop()}},Ve,null,[[0,7]])}));return function(ot,Ke){return ke.apply(this,arguments)}}(),vt=function(){var ke=s()(t()().mark(function Ve(ot,Ke){return t()().wrap(function(J){for(;;)switch(J.prev=J.next){case 0:return J.prev=0,J.next=3,(0,h.Cd)(ot,{labelName:Ke==null?void 0:Ke.labelName});case 3:S.ZP.success((0,w._w)("proj.exportModal.submitSuccess",{name:Ke==null?void 0:Ke.labelName})),me(),J.next=10;break;case 7:J.prev=7,J.t0=J.catch(0),console.error(J.t0);case 10:case"end":return J.stop()}},Ve,null,[[0,7]])}));return function(ot,Ke){return ke.apply(this,arguments)}}(),Ht=function(Ve){X(function(ot){Object.assign(ot,{page:1,pageSize:T},Ve)}),me()};return{pageData:_,pageState:C,loading:de,onPageChange:ve,onInitPageState:Ht,projectModal:k,onNewProject:be,onEditProject:Pe,closeProjectModal:Je,onProjectModalCurrentChange:qe,projectModalNext:Xe,projectModalFinish:mt,onChangeProjectResult:Ct,onExportLabelProject:vt}}},93059:function(b,y,e){"use strict";e.d(y,{D:function(){return L}});var a=e(63900),t=e.n(a),o=e(24454),s=e.n(o),n=e(56592),d=e.n(n),l=e(34485),c=e.n(l),m=e(88205),g=e.n(m),M=e(65246),h=e(7986),S=e(91290),w=e(35459),x=e(58757),z=e(84045),U=e(65104),T=e(97375),N=e(23707),Z=e(53357),D=100,L={Init:0,More:1};y.Z=function(){var j=(0,T.useModel)("user"),G=j.user,W=(0,T.useModel)("global"),ne=W.setLoading,_=(0,M.x)({taskRoles:[],categoryList:[],list:[],curIndex:-1,page:1,pageSize:D,total:0,editorMode:U.je.View}),ee=g()(_,2),se=ee[0],Q=ee[1],C=(0,M.x)({status:w.j$.Labeling,taskStatus:w.gZ.Working}),X=g()(C,2),O=X[0],H=X[1],k=(0,x.useMemo)(function(){return(0,N.BQ)("projectId")||""},[window.location.search]),A=(0,x.useMemo)(function(){return(0,N.BQ)("taskId")||""},[window.location.search]),Y=(0,x.useMemo)(function(){var Oe;return(Oe=se.taskRoles)===null||Oe===void 0?void 0:Oe.find(function(xe){return xe.id===O.roleId})},[se.taskRoles,O.roleId]),de=(0,x.useMemo)(function(){return Y&&G.userId===(Y==null?void 0:Y.userId)?[Y.role]:[]},[G.userId,Y]),me=(0,x.useMemo)(function(){var Oe;return((Oe=se.list)===null||Oe===void 0?void 0:Oe.map(function(xe){var Se=[],$e="";return O.status===w.j$.Labeling&&!xe.labeled?xe.defaultLabels&&xe.defaultLabels.annotations&&Se.push.apply(Se,c()(xe.defaultLabels.annotations)):xe.labels.forEach(function(re){$e=re.id,Se.push.apply(Se,c()(re.annotations))}),{id:xe.id,url:xe.url,urlFullRes:xe.urlFullRes,labelId:$e,objects:Se}}))||[]},[se.list,O.status]),ve=function(){var Oe=d()(s()().mark(function xe(Se,$e){var re,oe,q,ue;return s()().wrap(function(le){for(;;)switch(le.prev=le.next){case 0:if(!se.loadingImagesType){le.next=2;break}return le.abrupt("return",Promise.reject(null));case 2:return Q(function(Ne){Ne.loadingImagesType=Se,Se===L.Init&&(Ne.list=[])}),le.prev=3,le.next=6,(0,S.zO)((0,N.BQ)("taskId")||"",{status:$e.status||O.status,roleId:$e.roleId||O.roleId,pageNum:$e.page,pageSize:se.pageSize});case 6:re=le.sent,oe=re.imageList,q=re.total,ue=re.pageNum,Q(function(Ne){Ne.list=Ne.list.concat(oe),Ne.page=ue,Ne.total=q,Ne.loadingImagesType=void 0}),le.next=17;break;case 13:return le.prev=13,le.t0=le.catch(3),Q(function(Ne){Ne.loadingImagesType=void 0}),le.abrupt("return",Promise.reject(le.t0));case 17:case"end":return le.stop()}},xe,null,[[3,13]])}));return function(Se,$e){return Oe.apply(this,arguments)}}(),be=(0,h.Z)(function(){return Promise.all([(0,S.Cb)((0,N.BQ)("taskId")||""),(0,S.Iu)((0,N.BQ)("taskId")||"")])},{manual:!0,debounceWait:60,onSuccess:function(xe){var Se=g()(xe,2),$e=Se[0],re=Se[1];Q(function(oe){oe.categoryList=re.categoryList,oe.taskRoles=$e.roleList}),H(function(oe){$e.roleList.length&&(!oe.roleId||!$e.roleList.find(function(q){return q.id===oe.roleId}))&&(oe.roleId=$e.roleList[0].id)})},onError:function(){}}),Pe=be.loading,Je=be.run,qe=function(){var xe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Promise.all([Je(),ve(L.Init,t()(t()({},xe),{},{page:1}))])},Xe=function(){var Oe=d()(s()().mark(function xe(){return s()().wrap(function($e){for(;;)switch($e.prev=$e.next){case 0:if(!(se.list.length0&&(re.curIndex=re.curIndex-1)}),$e.abrupt("return",Promise.resolve());case 2:case"end":return $e.stop()}},xe)}));return function(){return Oe.apply(this,arguments)}}(),ke=function(){var Oe=d()(s()().mark(function xe(){return s()().wrap(function($e){for(;;)switch($e.prev=$e.next){case 0:if(!(se.curIndex=0;return{pageData:se,pageState:O,loading:Pe||se.loadingImagesType===L.Init,loadPageData:qe,loadMore:Xe,onInitPageState:ge,projectId:k,taskId:A,curRole:Y,userRoles:de,tabItems:ie,labelImages:me,isEditorVisible:pe,onStatusTabChange:mt,onRoleChange:Ct,clickItem:vt,onExitEditor:J,onPrevImage:Ht,onNextImage:ke,onLabelSave:V,onReviewResult:R,onReviewAccept:P,onReviewReject:B,onEnterEdit:Ve,onStartLabel:ot,onStartRework:Ke,onStartReview:he}}},91290:function(b,y,e){"use strict";e.d(y,{$x:function(){return de},Cb:function(){return ve},Cd:function(){return Z},Iu:function(){return Pe},J9:function(){return L},Jg:function(){return vt},NT:function(){return g},NV:function(){return z},Qm:function(){return G},ZJ:function(){return ne},d5:function(){return A},eK:function(){return c},lw:function(){return T},mN:function(){return w},nQ:function(){return mt},nu:function(){return ee},o9:function(){return h},vo:function(){return H},xv:function(){return X},zO:function(){return qe},zb:function(){return Q}});var a=e(24454),t=e.n(a),o=e(63900),s=e.n(o),n=e(56592),d=e.n(n),l=e(97375);function c(ke,Ve){return m.apply(this,arguments)}function m(){return m=d()(t()().mark(function ke(Ve,ot){return t()().wrap(function(he){for(;;)switch(he.prev=he.next){case 0:return he.abrupt("return",(0,l.request)("/api/v1/label_projects",s()({method:"GET",params:Ve},ot||{})));case 1:case"end":return he.stop()}},ke)})),m.apply(this,arguments)}function g(ke,Ve){return M.apply(this,arguments)}function M(){return M=d()(t()().mark(function ke(Ve,ot){return t()().wrap(function(he){for(;;)switch(he.prev=he.next){case 0:return he.abrupt("return",(0,l.request)("/api/v1/label_projects/".concat(Ve),s()({method:"GET"},ot||{})));case 1:case"end":return he.stop()}},ke)})),M.apply(this,arguments)}function h(ke,Ve){return S.apply(this,arguments)}function S(){return S=d()(t()().mark(function ke(Ve,ot){return t()().wrap(function(he){for(;;)switch(he.prev=he.next){case 0:return he.abrupt("return",(0,l.request)("/api/v1/label_projects",s()({method:"POST",data:s()({},Ve)},ot||{})));case 1:case"end":return he.stop()}},ke)})),S.apply(this,arguments)}function w(ke,Ve,ot){return x.apply(this,arguments)}function x(){return x=d()(t()().mark(function ke(Ve,ot,Ke){return t()().wrap(function(J){for(;;)switch(J.prev=J.next){case 0:return J.abrupt("return",(0,l.request)("/api/v1/label_project_configs/".concat(Ve),s()({method:"POST",data:s()({},ot)},Ke||{})));case 1:case"end":return J.stop()}},ke)})),x.apply(this,arguments)}function z(ke,Ve,ot){return U.apply(this,arguments)}function U(){return U=d()(t()().mark(function ke(Ve,ot,Ke){return t()().wrap(function(J){for(;;)switch(J.prev=J.next){case 0:return J.abrupt("return",(0,l.request)("/api/v1/label_projects/".concat(Ve),s()({method:"POST",data:s()({},ot)},Ke||{})));case 1:case"end":return J.stop()}},ke)})),U.apply(this,arguments)}function T(ke,Ve,ot){return N.apply(this,arguments)}function N(){return N=d()(t()().mark(function ke(Ve,ot,Ke){return t()().wrap(function(J){for(;;)switch(J.prev=J.next){case 0:return J.abrupt("return",(0,l.request)("/api/v1/label_project_qa/".concat(Ve),s()({method:"POST",data:s()({},ot)},Ke||{})));case 1:case"end":return J.stop()}},ke)})),N.apply(this,arguments)}function Z(ke,Ve,ot){return D.apply(this,arguments)}function D(){return D=d()(t()().mark(function ke(Ve,ot,Ke){return t()().wrap(function(J){for(;;)switch(J.prev=J.next){case 0:return J.abrupt("return",(0,l.request)("/api/v1/label_project_export/".concat(Ve),s()({method:"POST",data:s()({},ot)},Ke||{})));case 1:case"end":return J.stop()}},ke)})),D.apply(this,arguments)}function L(ke,Ve){return j.apply(this,arguments)}function j(){return j=d()(t()().mark(function ke(Ve,ot){return t()().wrap(function(he){for(;;)switch(he.prev=he.next){case 0:return he.abrupt("return",(0,l.request)("/api/v1/dataset_name_lints",s()({method:"GET",params:Ve},ot||{})));case 1:case"end":return he.stop()}},ke)})),j.apply(this,arguments)}function G(ke,Ve){return W.apply(this,arguments)}function W(){return W=d()(t()().mark(function ke(Ve,ot){return t()().wrap(function(he){for(;;)switch(he.prev=he.next){case 0:return he.abrupt("return",(0,l.request)("/api/v1/user_name_lints",s()({method:"GET",params:Ve},ot||{})));case 1:case"end":return he.stop()}},ke)})),W.apply(this,arguments)}function ne(ke,Ve){return _.apply(this,arguments)}function _(){return _=d()(t()().mark(function ke(Ve,ot){return t()().wrap(function(he){for(;;)switch(he.prev=he.next){case 0:return he.abrupt("return",(0,l.request)("/api/v1/label_tasks",s()({method:"GET",params:Ve},ot||{})));case 1:case"end":return he.stop()}},ke)})),_.apply(this,arguments)}function ee(ke,Ve){return se.apply(this,arguments)}function se(){return se=d()(t()().mark(function ke(Ve,ot){return t()().wrap(function(he){for(;;)switch(he.prev=he.next){case 0:return he.abrupt("return",(0,l.request)("/api/v1/label_task_leaders",s()({method:"POST",data:s()({},Ve)},ot||{})));case 1:case"end":return he.stop()}},ke)})),se.apply(this,arguments)}function Q(ke,Ve,ot){return C.apply(this,arguments)}function C(){return C=d()(t()().mark(function ke(Ve,ot,Ke){return t()().wrap(function(J){for(;;)switch(J.prev=J.next){case 0:return J.abrupt("return",(0,l.request)("/api/v1/label_task_workers/".concat(Ve),s()({method:"POST",data:s()({},ot)},Ke||{})));case 1:case"end":return J.stop()}},ke)})),C.apply(this,arguments)}function X(ke,Ve,ot){return O.apply(this,arguments)}function O(){return O=d()(t()().mark(function ke(Ve,ot,Ke){return t()().wrap(function(J){for(;;)switch(J.prev=J.next){case 0:return J.abrupt("return",(0,l.request)("/api/v1/label_task_reassign/".concat(Ve),s()({method:"POST",data:s()({},ot)},Ke||{})));case 1:case"end":return J.stop()}},ke)})),O.apply(this,arguments)}function H(ke,Ve){return k.apply(this,arguments)}function k(){return k=d()(t()().mark(function ke(Ve,ot){return t()().wrap(function(he){for(;;)switch(he.prev=he.next){case 0:return he.abrupt("return",(0,l.request)("/api/v1/label_task_restart/".concat(Ve),s()({method:"POST"},ot||{})));case 1:case"end":return he.stop()}},ke)})),k.apply(this,arguments)}function A(ke,Ve,ot){return Y.apply(this,arguments)}function Y(){return Y=d()(t()().mark(function ke(Ve,ot,Ke){return t()().wrap(function(J){for(;;)switch(J.prev=J.next){case 0:return J.abrupt("return",(0,l.request)("/api/v1/label_task_qa/".concat(Ve),s()({method:"POST",data:s()({},ot)},Ke||{})));case 1:case"end":return J.stop()}},ke)})),Y.apply(this,arguments)}function de(ke,Ve){return me.apply(this,arguments)}function me(){return me=d()(t()().mark(function ke(Ve,ot){return t()().wrap(function(he){for(;;)switch(he.prev=he.next){case 0:return he.abrupt("return",(0,l.request)("/api/v1/label_task_review_commit/".concat(Ve),s()({method:"POST"},ot||{})));case 1:case"end":return he.stop()}},ke)})),me.apply(this,arguments)}function ve(ke,Ve){return be.apply(this,arguments)}function be(){return be=d()(t()().mark(function ke(Ve,ot){return t()().wrap(function(he){for(;;)switch(he.prev=he.next){case 0:return he.abrupt("return",(0,l.request)("/api/v1/label_task_roles/".concat(Ve),s()({method:"GET"},ot||{})));case 1:case"end":return he.stop()}},ke)})),be.apply(this,arguments)}function Pe(ke,Ve){return Je.apply(this,arguments)}function Je(){return Je=d()(t()().mark(function ke(Ve,ot){return t()().wrap(function(he){for(;;)switch(he.prev=he.next){case 0:return he.abrupt("return",(0,l.request)("/api/v1/label_task_configs/".concat(Ve),s()({method:"GET"},ot||{})));case 1:case"end":return he.stop()}},ke)})),Je.apply(this,arguments)}function qe(ke,Ve,ot){return Xe.apply(this,arguments)}function Xe(){return Xe=d()(t()().mark(function ke(Ve,ot,Ke){return t()().wrap(function(J){for(;;)switch(J.prev=J.next){case 0:return J.abrupt("return",(0,l.request)("/api/v1/label_task_images/".concat(Ve),s()({method:"GET",params:ot},Ke||{})));case 1:case"end":return J.stop()}},ke)})),Xe.apply(this,arguments)}function mt(ke,Ve,ot){return Ct.apply(this,arguments)}function Ct(){return Ct=d()(t()().mark(function ke(Ve,ot,Ke){return t()().wrap(function(J){for(;;)switch(J.prev=J.next){case 0:return J.abrupt("return",(0,l.request)("/api/v1/label_task_image_labels/".concat(Ve),s()({method:"POST",data:s()({},ot)},Ke||{hideCodeErrorMsg:!0})));case 1:case"end":return J.stop()}},ke)})),Ct.apply(this,arguments)}function vt(ke,Ve,ot){return Ht.apply(this,arguments)}function Ht(){return Ht=d()(t()().mark(function ke(Ve,ot,Ke){return t()().wrap(function(J){for(;;)switch(J.prev=J.next){case 0:return J.abrupt("return",(0,l.request)("/api/v1/label_task_image_reviews/".concat(Ve),s()({method:"POST",data:s()({},ot)},Ke||{hideCodeErrorMsg:!0})));case 1:case"end":return J.stop()}},ke)})),Ht.apply(this,arguments)}},74595:function(b,y,e){"use strict";e.d(y,{B8:function(){return g},JC:function(){return h},WR:function(){return M},i0:function(){return c},iE:function(){return m}});var a=e(63900),t=e.n(a),o=e(34485),s=e.n(o),n=e(76180),d=e(39378),l=e.n(d),c=function(w){var x=0;return(0,d.includes)(w,"Classification")&&(x=1),(0,d.includes)(w,"Detection")&&(x=2),(0,d.includes)(w,"Segmentation")&&(x=3),(0,d.includes)(w,"Matting")&&(x=4),(0,d.includes)(w,"KeyPoints")&&(x=5),e(14677)("./card_cover_".concat(x,".png"))},m=function(w,x,z){if(!w||!x||z)return{colorAplha:n.iP[0],strokeDash:n.JQ[0],lineWidth:n.oM[0]};var U=x.indexOf(w);return{colorAplha:n.iP[U]||n.iP[0],strokeDash:n.JQ[U]||n.JQ[0],lineWidth:n.oM[U]||n.oM[0]}},g=function(w,x){var z=[],U=[],T=w.filter(function(N){return n.EX.includes(N)});return x===n.JJ.Detection?(z=[n.zY.showBoxText],U=z):x===n.JJ.Segmentation?(z=[n.zY.showSegFilling,n.zY.showSegContour],U=z):x===n.JJ.Matting?z=[n.zY.showMattingColorFill]:x===n.JJ.KeyPoints&&(z=[n.zY.showKeyPointsLine,n.zY.showKeyPointsBox],U=z),[[].concat(s()(n.EX),s()(z)),[].concat(s()(T),s()(U))]},M=function(w,x,z){var U=[];return z===n.JJ.Matting&&U.push({id:"origin",name:"Origin image",source:n.$j.gt,comparePrecisions:[],confidenceRange:[0,1]}),x.length&&x.forEach(function(T){var N=w.find(function(Z){return Z.id===T});N&&U.push(t()({},N))}),U},h=function(w,x,z){var U=[];return x.length?(w.forEach(function(T){z===n.JJ.Matting&&U.push(t()({},T)),U.push.apply(U,s()(new Array(x.length).fill({}).map(function(N,Z){var D=t()({},T);return D.curLabelId=x[Z],D})))}),U):w}},17410:function(b,y,e){"use strict";e.d(y,{v_:function(){return xr},yj:function(){return Pr},Uu:function(){return qr},ru:function(){return mr},Zo:function(){return ya},QD:function(){return vr},Yq:function(){return ar},Ze:function(){return Cn},gr:function(){return wn},jB:function(){return Qr},HE:function(){return dr},ft:function(){return kr},GI:function(){return ra},t:function(){return ca},Fv:function(){return ua},vL:function(){return fr},TR:function(){return Ea},VC:function(){return zn},ef:function(){return Kn},Xn:function(){return Br},oP:function(){return Bn}});var a=e(2657),t=e.n(a),o=e(58757),s=Object.defineProperty,n=Object.getOwnPropertySymbols,d=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable,c=(jt,an,hn)=>an in jt?s(jt,an,{enumerable:!0,configurable:!0,writable:!0,value:hn}):jt[an]=hn,m=(jt,an)=>{for(var hn in an||(an={}))d.call(an,hn)&&c(jt,hn,an[hn]);if(n)for(var hn of n(an))l.call(an,hn)&&c(jt,hn,an[hn]);return jt};const g=jt=>o.createElement("svg",m({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",height:"1em",width:"1em"},jt),o.createElement("path",{d:"M3 11h8V3H3v8zm2-6h4v4H5V5zm8-2v8h8V3h-8zm6 6h-4V5h4v4zM3 21h8v-8H3v8zm2-6h4v4H5v-4zm13-2h-2v3h-3v2h3v3h2v-3h3v-2h-3z"}));var M="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgaGVpZ2h0PSIxZW0iIHdpZHRoPSIxZW0iPjxwYXRoIGQ9Ik0zIDExaDhWM0gzdjh6bTItNmg0djRINVY1em04LTJ2OGg4VjNoLTh6bTYgNmgtNFY1aDR2NHpNMyAyMWg4di04SDN2OHptMi02aDR2NEg1di00em0xMy0yaC0ydjNoLTN2MmgzdjNoMnYtM2gzdi0yaC0zeiIvPjwvc3ZnPg==",h=Object.defineProperty,S=Object.getOwnPropertySymbols,w=Object.prototype.hasOwnProperty,x=Object.prototype.propertyIsEnumerable,z=(jt,an,hn)=>an in jt?h(jt,an,{enumerable:!0,configurable:!0,writable:!0,value:hn}):jt[an]=hn,U=(jt,an)=>{for(var hn in an||(an={}))w.call(an,hn)&&z(jt,hn,an[hn]);if(S)for(var hn of S(an))x.call(an,hn)&&z(jt,hn,an[hn]);return jt};const T=jt=>o.createElement("svg",U({className:"delete_all_svg__icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:16,height:16},jt),o.createElement("path",{d:"M864 192v576h64V192c0-70.4-57.6-128-128-128H352v64h448c35.2 0 64 28.8 64 64z"}),o.createElement("path",{d:"M672 192H224c-70.4 0-128 57.6-128 128v512c0 70.4 57.6 128 128 128h448c70.4 0 128-57.6 128-128V320c0-70.4-57.6-128-128-128zm-73.235 489.51c12.445 12.445 12.445 32.81 0 45.255s-32.81 12.445-45.255 0L448 621.255l-105.51 105.51c-12.445 12.445-32.81 12.445-45.255 0s-12.445-32.81 0-45.255L402.745 576l-105.51-105.51c-12.445-12.445-12.445-32.81 0-45.255s32.81-12.445 45.255 0L448 530.745l105.51-105.51c12.445-12.445 32.81-12.445 45.255 0s12.445 32.81 0 45.255L493.255 576l105.51 105.51z"}));var N="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjxwYXRoIGQ9Ik04NjQgMTkydjU3Nmg2NFYxOTJjMC03MC40LTU3LjYtMTI4LTEyOC0xMjhIMzUydjY0aDQ0OGMzNS4yIDAgNjQgMjguOCA2NCA2NHoiLz48cGF0aCBkPSJNNjcyIDE5MkgyMjRjLTcwLjQgMC0xMjggNTcuNi0xMjggMTI4djUxMmMwIDcwLjQgNTcuNiAxMjggMTI4IDEyOGg0NDhjNzAuNCAwIDEyOC01Ny42IDEyOC0xMjhWMzIwYzAtNzAuNC01Ny42LTEyOC0xMjgtMTI4em0tNzMuMjM1IDQ4OS41MWMxMi40NDUgMTIuNDQ1IDEyLjQ0NSAzMi44MSAwIDQ1LjI1NXMtMzIuODEgMTIuNDQ1LTQ1LjI1NSAwTDQ0OCA2MjEuMjU1bC0xMDUuNTEgMTA1LjUxYy0xMi40NDUgMTIuNDQ1LTMyLjgxIDEyLjQ0NS00NS4yNTUgMHMtMTIuNDQ1LTMyLjgxIDAtNDUuMjU1TDQwMi43NDUgNTc2bC0xMDUuNTEtMTA1LjUxYy0xMi40NDUtMTIuNDQ1LTEyLjQ0NS0zMi44MSAwLTQ1LjI1NXMzMi44MS0xMi40NDUgNDUuMjU1IDBMNDQ4IDUzMC43NDVsMTA1LjUxLTEwNS41MWMxMi40NDUtMTIuNDQ1IDMyLjgxLTEyLjQ0NSA0NS4yNTUgMHMxMi40NDUgMzIuODEgMCA0NS4yNTVMNDkzLjI1NSA1NzZsMTA1LjUxIDEwNS41MXoiLz48L3N2Zz4=",Z=Object.defineProperty,D=Object.getOwnPropertySymbols,L=Object.prototype.hasOwnProperty,j=Object.prototype.propertyIsEnumerable,G=(jt,an,hn)=>an in jt?Z(jt,an,{enumerable:!0,configurable:!0,writable:!0,value:hn}):jt[an]=hn,W=(jt,an)=>{for(var hn in an||(an={}))L.call(an,hn)&&G(jt,hn,an[hn]);if(D)for(var hn of D(an))j.call(an,hn)&&G(jt,hn,an[hn]);return jt};const ne=jt=>o.createElement("svg",W({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 34.02 34.02"},jt),o.createElement("defs",null,o.createElement("style",null,".magic_svg__cls-1{fill:#fff}")),o.createElement("path",{className:"magic_svg__cls-1",d:"M26.08 18.47V16.6c0-.58.27-1.19 1-1.25s1.05.45 1.06 1.29v1.83h1.92c.76 0 1.25.46 1.19 1.08a1 1 0 0 1-1.18 1h-1.91v1.74c0 .91-.39 1.41-1.06 1.39s-1-.49-1-1.42v-1.71h-1.91c-.71 0-1.21-.29-1.21-1s.5-1 1.21-1ZM12.81 6.47h1.59a1 1 0 0 1 1 1 1 1 0 0 1-1 1.07h-1.58v1.5c0 .68-.38 1.11-1.07 1.1a1 1 0 0 1-1-1.08V8.54H9.29c-.68 0-1.13-.36-1.12-1s.46-1 1.14-1h1.44V5.01a1 1 0 1 1 2.06 0c.02.38 0 .87 0 1.46ZM19.93 24.67c.11-1.56.33-2 1.05-2s1 .44 1.12 2c.8.17 2.09-.2 2 1.22-.07 1.15-1.14.89-2 .95-.18.8.22 2.11-1.2 2-1.18-.07-.89-1.19-1-2-.84-.09-1.91.21-2-1.06-.07-.7.39-.94 2.03-1.11ZM30.2 6l-2.51-2.49a2.15 2.15 0 0 0-3.06 0L3.27 24.92a2.2 2.2 0 0 0 0 3.08l2.51 2.51a2.17 2.17 0 0 0 3.06 0L30.2 9.09a2.19 2.19 0 0 0 0-3.09ZM29 8.47l-4.39 4.39a.94.94 0 0 1-1.35 0l-2.28-2.28a1 1 0 0 1 0-1.36l4.38-4.39a1 1 0 0 1 1.36 0L29 7.11a1 1 0 0 1 0 1.36Z"}));var _="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNC4wMiAzNC4wMiI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiNmZmZ9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMjYuMDggMTguNDdWMTYuNmMwLS41OC4yNy0xLjE5IDEtMS4yNXMxLjA1LjQ1IDEuMDYgMS4yOXYxLjgzaDEuOTJjLjc2IDAgMS4yNS40NiAxLjE5IDEuMDhhMSAxIDAgMCAxLTEuMTggMWgtMS45MXYxLjc0YzAgLjkxLS4zOSAxLjQxLTEuMDYgMS4zOXMtMS0uNDktMS0xLjQydi0xLjcxaC0xLjkxYy0uNzEgMC0xLjIxLS4yOS0xLjIxLTFzLjUtMSAxLjIxLTFaTTEyLjgxIDYuNDdoMS41OWExIDEgMCAwIDEgMSAxIDEgMSAwIDAgMS0xIDEuMDdoLTEuNTh2MS41YzAgLjY4LS4zOCAxLjExLTEuMDcgMS4xYTEgMSAwIDAgMS0xLTEuMDhWOC41NEg5LjI5Yy0uNjggMC0xLjEzLS4zNi0xLjEyLTFzLjQ2LTEgMS4xNC0xaDEuNDRWNS4wMWExIDEgMCAxIDEgMi4wNiAwYy4wMi4zOCAwIC44NyAwIDEuNDZaTTE5LjkzIDI0LjY3Yy4xMS0xLjU2LjMzLTIgMS4wNS0yczEgLjQ0IDEuMTIgMmMuOC4xNyAyLjA5LS4yIDIgMS4yMi0uMDcgMS4xNS0xLjE0Ljg5LTIgLjk1LS4xOC44LjIyIDIuMTEtMS4yIDItMS4xOC0uMDctLjg5LTEuMTktMS0yLS44NC0uMDktMS45MS4yMS0yLTEuMDYtLjA3LS43LjM5LS45NCAyLjAzLTEuMTFaTTMwLjIgNmwtMi41MS0yLjQ5YTIuMTUgMi4xNSAwIDAgMC0zLjA2IDBMMy4yNyAyNC45MmEyLjIgMi4yIDAgMCAwIDAgMy4wOGwyLjUxIDIuNTFhMi4xNyAyLjE3IDAgMCAwIDMuMDYgMEwzMC4yIDkuMDlhMi4xOSAyLjE5IDAgMCAwIDAtMy4wOVpNMjkgOC40N2wtNC4zOSA0LjM5YS45NC45NCAwIDAgMS0xLjM1IDBsLTIuMjgtMi4yOGExIDEgMCAwIDEgMC0xLjM2bDQuMzgtNC4zOWExIDEgMCAwIDEgMS4zNiAwTDI5IDcuMTFhMSAxIDAgMCAxIDAgMS4zNloiLz48L3N2Zz4=",ee=Object.defineProperty,se=Object.getOwnPropertySymbols,Q=Object.prototype.hasOwnProperty,C=Object.prototype.propertyIsEnumerable,X=(jt,an,hn)=>an in jt?ee(jt,an,{enumerable:!0,configurable:!0,writable:!0,value:hn}):jt[an]=hn,O=(jt,an)=>{for(var hn in an||(an={}))Q.call(an,hn)&&X(jt,hn,an[hn]);if(se)for(var hn of se(an))C.call(an,hn)&&X(jt,hn,an[hn]);return jt};const H=jt=>o.createElement("svg",O({viewBox:"0 0 33 33",xmlns:"http://www.w3.org/2000/svg"},jt),o.createElement("g",{clipPath:"url(#mask-ai_svg__a)"},o.createElement("path",{d:"M15.278 33H6.753c-1.77 0-2.435-.664-2.103-2.436.443-1.993.886-3.985 1.218-5.978.11-.665.443-.886 1.107-.886h16.718c.664 0 .996.332 1.107.886.443 1.993.886 3.985 1.218 5.978.332 1.772-.222 2.436-2.104 2.436h-8.636ZM15.39 20.6H7.306c-.996 0-1.107-.11-1.107-1.218v-1.66c0-1.218.554-1.772 1.882-1.772h3.432c.665 0 .997-.221.886-.886V5.432c0-1.66.886-2.99 2.325-3.321 1.993-.554 3.764.996 3.764 3.21v9.3c0 1.44 0 1.329 1.33 1.329h3.21c1.107 0 1.66.554 1.66 1.66v1.994c0 .775-.332.996-.996.996H15.39Z"})),o.createElement("path",{d:"M26.928 11.296h-3.492l-.6 1.704h-1.428l2.988-8.352h1.584L28.968 13h-1.44l-.6-1.704Zm-.384-1.116-1.356-3.876-1.368 3.876h2.724Zm5.091-5.52V13h-1.368V4.66h1.368Z"}),o.createElement("defs",null,o.createElement("clipPath",{id:"mask-ai_svg__a"},o.createElement("path",{transform:"translate(0 2)",d:"M0 0h31v31H0z"}))));var k="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMzMgMzMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJNMTUuMjc4IDMzSDYuNzUzYy0xLjc3IDAtMi40MzUtLjY2NC0yLjEwMy0yLjQzNi40NDMtMS45OTMuODg2LTMuOTg1IDEuMjE4LTUuOTc4LjExLS42NjUuNDQzLS44ODYgMS4xMDctLjg4NmgxNi43MThjLjY2NCAwIC45OTYuMzMyIDEuMTA3Ljg4Ni40NDMgMS45OTMuODg2IDMuOTg1IDEuMjE4IDUuOTc4LjMzMiAxLjc3Mi0uMjIyIDIuNDM2LTIuMTA0IDIuNDM2aC04LjYzNlpNMTUuMzkgMjAuNkg3LjMwNmMtLjk5NiAwLTEuMTA3LS4xMS0xLjEwNy0xLjIxOHYtMS42NmMwLTEuMjE4LjU1NC0xLjc3MiAxLjg4Mi0xLjc3MmgzLjQzMmMuNjY1IDAgLjk5Ny0uMjIxLjg4Ni0uODg2VjUuNDMyYzAtMS42Ni44ODYtMi45OSAyLjMyNS0zLjMyMSAxLjk5My0uNTU0IDMuNzY0Ljk5NiAzLjc2NCAzLjIxdjkuM2MwIDEuNDQgMCAxLjMyOSAxLjMzIDEuMzI5aDMuMjFjMS4xMDcgMCAxLjY2LjU1NCAxLjY2IDEuNjZ2MS45OTRjMCAuNzc1LS4zMzIuOTk2LS45OTYuOTk2SDE1LjM5WiIvPjwvZz48cGF0aCBkPSJNMjYuOTI4IDExLjI5NmgtMy40OTJsLS42IDEuNzA0aC0xLjQyOGwyLjk4OC04LjM1MmgxLjU4NEwyOC45NjggMTNoLTEuNDRsLS42LTEuNzA0Wm0tLjM4NC0xLjExNi0xLjM1Ni0zLjg3Ni0xLjM2OCAzLjg3NmgyLjcyNFptNS4wOTEtNS41MlYxM2gtMS4zNjhWNC42NmgxLjM2OFoiLz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMikiIGQ9Ik0wIDBoMzF2MzFIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=",A=Object.defineProperty,Y=Object.getOwnPropertySymbols,de=Object.prototype.hasOwnProperty,me=Object.prototype.propertyIsEnumerable,ve=(jt,an,hn)=>an in jt?A(jt,an,{enumerable:!0,configurable:!0,writable:!0,value:hn}):jt[an]=hn,be=(jt,an)=>{for(var hn in an||(an={}))de.call(an,hn)&&ve(jt,hn,an[hn]);if(Y)for(var hn of Y(an))me.call(an,hn)&&ve(jt,hn,an[hn]);return jt};const Pe=jt=>o.createElement("svg",be({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 34 34"},jt),o.createElement("path",{className:"mask_svg__cls-1",d:"M17.29 31.49H9.44c-1.68 0-2.24-.66-1.92-2.28.36-1.83.77-3.66 1.13-5.49a.9.9 0 0 1 1-.84h15.39a.91.91 0 0 1 1 .85c.37 1.83.78 3.65 1.13 5.48.32 1.62-.24 2.28-1.92 2.28-2.63.01-5.25 0-7.96 0ZM17.39 20.05H9.92c-1 0-1.09-.12-1.09-1.06v-1.72a1.36 1.36 0 0 1 1.44-1.46h3.51c.56 0 .74-.19.73-.74 0-2.89.05-5.78 0-8.67C14.43 3.93 16 2.94 17.38 3s2.93 1 2.87 3.48c-.07 2.84 0 5.68 0 8.52 0 .64.16.89.84.86 1.09-.05 2.19 0 3.29 0a1.4 1.4 0 0 1 1.56 1.57v1.8c0 .6-.36.89-1 .89Z"}),o.createElement("path",{style:{fill:"none"},d:"M2.89 2.83h28.35v28.35H2.89z"}));var Je="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNCAzNCI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTcuMjkgMzEuNDlIOS40NGMtMS42OCAwLTIuMjQtLjY2LTEuOTItMi4yOC4zNi0xLjgzLjc3LTMuNjYgMS4xMy01LjQ5YS45LjkgMCAwIDEgMS0uODRoMTUuMzlhLjkxLjkxIDAgMCAxIDEgLjg1Yy4zNyAxLjgzLjc4IDMuNjUgMS4xMyA1LjQ4LjMyIDEuNjItLjI0IDIuMjgtMS45MiAyLjI4LTIuNjMuMDEtNS4yNSAwLTcuOTYgMFpNMTcuMzkgMjAuMDVIOS45MmMtMSAwLTEuMDktLjEyLTEuMDktMS4wNnYtMS43MmExLjM2IDEuMzYgMCAwIDEgMS40NC0xLjQ2aDMuNTFjLjU2IDAgLjc0LS4xOS43My0uNzQgMC0yLjg5LjA1LTUuNzggMC04LjY3QzE0LjQzIDMuOTMgMTYgMi45NCAxNy4zOCAzczIuOTMgMSAyLjg3IDMuNDhjLS4wNyAyLjg0IDAgNS42OCAwIDguNTIgMCAuNjQuMTYuODkuODQuODYgMS4wOS0uMDUgMi4xOSAwIDMuMjkgMGExLjQgMS40IDAgMCAxIDEuNTYgMS41N3YxLjhjMCAuNi0uMzYuODktMSAuODlaIi8+PHBhdGggc3R5bGU9ImZpbGw6bm9uZSIgZD0iTTIuODkgMi44M2gyOC4zNXYyOC4zNUgyLjg5eiIvPjwvc3ZnPg==",qe=Object.defineProperty,Xe=Object.getOwnPropertySymbols,mt=Object.prototype.hasOwnProperty,Ct=Object.prototype.propertyIsEnumerable,vt=(jt,an,hn)=>an in jt?qe(jt,an,{enumerable:!0,configurable:!0,writable:!0,value:hn}):jt[an]=hn,Ht=(jt,an)=>{for(var hn in an||(an={}))mt.call(an,hn)&&vt(jt,hn,an[hn]);if(Xe)for(var hn of Xe(an))Ct.call(an,hn)&&vt(jt,hn,an[hn]);return jt};const ke=jt=>o.createElement("svg",Ht({viewBox:"0 0 35 31",xmlns:"http://www.w3.org/2000/svg"},jt),o.createElement("g",{clipPath:"url(#polygon-ai_svg__a)"},o.createElement("path",{d:"M27.125 23.25c-.534 0-1.042.108-1.505.303l-5.444-6.17a3.854 3.854 0 0 0-.008-3.782l5.403-6.178c.477.21 1.002.327 1.554.327A3.88 3.88 0 0 0 31 3.875 3.88 3.88 0 0 0 27.125 0a3.88 3.88 0 0 0-3.653 2.583H7.528A3.88 3.88 0 0 0 3.875 0 3.88 3.88 0 0 0 0 3.875a3.88 3.88 0 0 0 2.583 3.653v15.944A3.88 3.88 0 0 0 0 27.125 3.88 3.88 0 0 0 3.875 31a3.88 3.88 0 0 0 3.653-2.583h15.944A3.88 3.88 0 0 0 27.125 31 3.88 3.88 0 0 0 31 27.125a3.88 3.88 0 0 0-3.875-3.875ZM7.528 5.167h15.944c.06.168.132.332.213.488l-5.46 6.245a3.854 3.854 0 0 0-1.433-.275 3.88 3.88 0 0 0-3.875 3.875 3.88 3.88 0 0 0 3.875 3.875c.511 0 1-.1 1.448-.282l5.471 6.202a3.937 3.937 0 0 0-.239.538H7.528a3.894 3.894 0 0 0-2.361-2.36V7.527a3.894 3.894 0 0 0 2.36-2.361Z"})),o.createElement("path",{d:"M28.928 17.296h-3.492l-.6 1.704h-1.428l2.988-8.352h1.584L30.968 19h-1.44l-.6-1.704Zm-.384-1.116-1.356-3.876-1.368 3.876h2.724Zm5.091-5.52V19h-1.368v-8.34h1.368Z"}),o.createElement("defs",null,o.createElement("clipPath",{id:"polygon-ai_svg__a"},o.createElement("path",{d:"M0 0h31v31H0z"}))));var Ve="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMzUgMzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJNMjcuMTI1IDIzLjI1Yy0uNTM0IDAtMS4wNDIuMTA4LTEuNTA1LjMwM2wtNS40NDQtNi4xN2EzLjg1NCAzLjg1NCAwIDAgMC0uMDA4LTMuNzgybDUuNDAzLTYuMTc4Yy40NzcuMjEgMS4wMDIuMzI3IDEuNTU0LjMyN0EzLjg4IDMuODggMCAwIDAgMzEgMy44NzUgMy44OCAzLjg4IDAgMCAwIDI3LjEyNSAwYTMuODggMy44OCAwIDAgMC0zLjY1MyAyLjU4M0g3LjUyOEEzLjg4IDMuODggMCAwIDAgMy44NzUgMCAzLjg4IDMuODggMCAwIDAgMCAzLjg3NWEzLjg4IDMuODggMCAwIDAgMi41ODMgMy42NTN2MTUuOTQ0QTMuODggMy44OCAwIDAgMCAwIDI3LjEyNSAzLjg4IDMuODggMCAwIDAgMy44NzUgMzFhMy44OCAzLjg4IDAgMCAwIDMuNjUzLTIuNTgzaDE1Ljk0NEEzLjg4IDMuODggMCAwIDAgMjcuMTI1IDMxIDMuODggMy44OCAwIDAgMCAzMSAyNy4xMjVhMy44OCAzLjg4IDAgMCAwLTMuODc1LTMuODc1Wk03LjUyOCA1LjE2N2gxNS45NDRjLjA2LjE2OC4xMzIuMzMyLjIxMy40ODhsLTUuNDYgNi4yNDVhMy44NTQgMy44NTQgMCAwIDAtMS40MzMtLjI3NSAzLjg4IDMuODggMCAwIDAtMy44NzUgMy44NzUgMy44OCAzLjg4IDAgMCAwIDMuODc1IDMuODc1Yy41MTEgMCAxLS4xIDEuNDQ4LS4yODJsNS40NzEgNi4yMDJhMy45MzcgMy45MzcgMCAwIDAtLjIzOS41MzhINy41MjhhMy44OTQgMy44OTQgMCAwIDAtMi4zNjEtMi4zNlY3LjUyN2EzLjg5NCAzLjg5NCAwIDAgMCAyLjM2LTIuMzYxWiIvPjwvZz48cGF0aCBkPSJNMjguOTI4IDE3LjI5NmgtMy40OTJsLS42IDEuNzA0aC0xLjQyOGwyLjk4OC04LjM1MmgxLjU4NEwzMC45NjggMTloLTEuNDRsLS42LTEuNzA0Wm0tLjM4NC0xLjExNi0xLjM1Ni0zLjg3Ni0xLjM2OCAzLjg3NmgyLjcyNFptNS4wOTEtNS41MlYxOWgtMS4zNjh2LTguMzRoMS4zNjhaIi8+PGRlZnM+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBkPSJNMCAwaDMxdjMxSDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+",ot=Object.defineProperty,Ke=Object.getOwnPropertySymbols,he=Object.prototype.hasOwnProperty,J=Object.prototype.propertyIsEnumerable,V=(jt,an,hn)=>an in jt?ot(jt,an,{enumerable:!0,configurable:!0,writable:!0,value:hn}):jt[an]=hn,R=(jt,an)=>{for(var hn in an||(an={}))he.call(an,hn)&&V(jt,hn,an[hn]);if(Ke)for(var hn of Ke(an))J.call(an,hn)&&V(jt,hn,an[hn]);return jt};const P=jt=>o.createElement("svg",R({viewBox:"0 0 31 31",xmlns:"http://www.w3.org/2000/svg"},jt),o.createElement("g",{clipPath:"url(#polygon_svg__a)"},o.createElement("path",{d:"M27.125 23.25c-.534 0-1.042.108-1.505.303l-5.444-6.17a3.854 3.854 0 0 0-.008-3.782l5.403-6.178c.477.21 1.002.327 1.554.327A3.88 3.88 0 0 0 31 3.875 3.88 3.88 0 0 0 27.125 0a3.88 3.88 0 0 0-3.653 2.583H7.528A3.88 3.88 0 0 0 3.875 0 3.88 3.88 0 0 0 0 3.875a3.88 3.88 0 0 0 2.583 3.653v15.944A3.88 3.88 0 0 0 0 27.125 3.88 3.88 0 0 0 3.875 31a3.88 3.88 0 0 0 3.653-2.583h15.944A3.88 3.88 0 0 0 27.125 31 3.88 3.88 0 0 0 31 27.125a3.88 3.88 0 0 0-3.875-3.875ZM7.528 5.167h15.944c.06.168.132.332.213.488l-5.46 6.245a3.854 3.854 0 0 0-1.433-.275 3.88 3.88 0 0 0-3.875 3.875 3.88 3.88 0 0 0 3.875 3.875c.511 0 1-.1 1.448-.282l5.471 6.202a3.937 3.937 0 0 0-.239.538H7.528a3.894 3.894 0 0 0-2.361-2.36V7.527a3.894 3.894 0 0 0 2.36-2.361Z"})),o.createElement("defs",null,o.createElement("clipPath",{id:"polygon_svg__a"},o.createElement("path",{d:"M0 0h31v31H0z"}))));var B="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMzEgMzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJNMjcuMTI1IDIzLjI1Yy0uNTM0IDAtMS4wNDIuMTA4LTEuNTA1LjMwM2wtNS40NDQtNi4xN2EzLjg1NCAzLjg1NCAwIDAgMC0uMDA4LTMuNzgybDUuNDAzLTYuMTc4Yy40NzcuMjEgMS4wMDIuMzI3IDEuNTU0LjMyN0EzLjg4IDMuODggMCAwIDAgMzEgMy44NzUgMy44OCAzLjg4IDAgMCAwIDI3LjEyNSAwYTMuODggMy44OCAwIDAgMC0zLjY1MyAyLjU4M0g3LjUyOEEzLjg4IDMuODggMCAwIDAgMy44NzUgMCAzLjg4IDMuODggMCAwIDAgMCAzLjg3NWEzLjg4IDMuODggMCAwIDAgMi41ODMgMy42NTN2MTUuOTQ0QTMuODggMy44OCAwIDAgMCAwIDI3LjEyNSAzLjg4IDMuODggMCAwIDAgMy44NzUgMzFhMy44OCAzLjg4IDAgMCAwIDMuNjUzLTIuNTgzaDE1Ljk0NEEzLjg4IDMuODggMCAwIDAgMjcuMTI1IDMxIDMuODggMy44OCAwIDAgMCAzMSAyNy4xMjVhMy44OCAzLjg4IDAgMCAwLTMuODc1LTMuODc1Wk03LjUyOCA1LjE2N2gxNS45NDRjLjA2LjE2OC4xMzIuMzMyLjIxMy40ODhsLTUuNDYgNi4yNDVhMy44NTQgMy44NTQgMCAwIDAtMS40MzMtLjI3NSAzLjg4IDMuODggMCAwIDAtMy44NzUgMy44NzUgMy44OCAzLjg4IDAgMCAwIDMuODc1IDMuODc1Yy41MTEgMCAxLS4xIDEuNDQ4LS4yODJsNS40NzEgNi4yMDJhMy45MzcgMy45MzcgMCAwIDAtLjIzOS41MzhINy41MjhhMy44OTQgMy44OTQgMCAwIDAtMi4zNjEtMi4zNlY3LjUyN2EzLjg5NCAzLjg5NCAwIDAgMCAyLjM2LTIuMzYxWiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGQ9Ik0wIDBoMzF2MzFIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=",ge=Object.defineProperty,ie=Object.getOwnPropertySymbols,pe=Object.prototype.hasOwnProperty,Oe=Object.prototype.propertyIsEnumerable,xe=(jt,an,hn)=>an in jt?ge(jt,an,{enumerable:!0,configurable:!0,writable:!0,value:hn}):jt[an]=hn,Se=(jt,an)=>{for(var hn in an||(an={}))pe.call(an,hn)&&xe(jt,hn,an[hn]);if(ie)for(var hn of ie(an))Oe.call(an,hn)&&xe(jt,hn,an[hn]);return jt};const $e=jt=>o.createElement("svg",Se({viewBox:"0 0 29 29",xmlns:"http://www.w3.org/2000/svg"},jt),o.createElement("path",{d:"M27.32 6.07a1 1 0 0 0 1-1V1.01a1 1 0 0 0-1-1.001h-4.05a1 1 0 0 0-1 1v1H6.06v-1a1 1 0 0 0-1-1H1a1 1 0 0 0-1 1v4.05a1 1 0 0 0 1 1h1V22.26H1a1 1 0 0 0-1 1v4.05a1 1 0 0 0 1 1h4.05a1 1 0 0 0 1-1v-1h16.2v1a1 1 0 0 0 1 1h4.05a1 1 0 0 0 1-1v-4.03a1 1 0 0 0-1-1h-1V6.07h1.02Zm-3 16.2h-1a1 1 0 0 0-1 1v1H6.06v-1a1 1 0 0 0-1-1h-1V6.07h1a1 1 0 0 0 1-1v-1h16.2v1a1 1 0 0 0 1 1h1l.06 16.2Z"}),o.createElement("path",{d:"M13.928 17.305h-3.492l-.6 1.704H8.408l2.988-8.352h1.584l2.988 8.352h-1.44l-.6-1.704Zm-.384-1.116-1.356-3.876-1.368 3.876h2.724Zm5.091-5.52v8.34h-1.368v-8.34h1.368Z"}));var re="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjkgMjkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTI3LjMyIDYuMDdhMSAxIDAgMCAwIDEtMVYxLjAxYTEgMSAwIDAgMC0xLTEuMDAxaC00LjA1YTEgMSAwIDAgMC0xIDF2MUg2LjA2di0xYTEgMSAwIDAgMC0xLTFIMWExIDEgMCAwIDAtMSAxdjQuMDVhMSAxIDAgMCAwIDEgMWgxVjIyLjI2SDFhMSAxIDAgMCAwLTEgMXY0LjA1YTEgMSAwIDAgMCAxIDFoNC4wNWExIDEgMCAwIDAgMS0xdi0xaDE2LjJ2MWExIDEgMCAwIDAgMSAxaDQuMDVhMSAxIDAgMCAwIDEtMXYtNC4wM2ExIDEgMCAwIDAtMS0xaC0xVjYuMDdoMS4wMlptLTMgMTYuMmgtMWExIDEgMCAwIDAtMSAxdjFINi4wNnYtMWExIDEgMCAwIDAtMS0xaC0xVjYuMDdoMWExIDEgMCAwIDAgMS0xdi0xaDE2LjJ2MWExIDEgMCAwIDAgMSAxaDFsLjA2IDE2LjJaIi8+PHBhdGggZD0iTTEzLjkyOCAxNy4zMDVoLTMuNDkybC0uNiAxLjcwNEg4LjQwOGwyLjk4OC04LjM1MmgxLjU4NGwyLjk4OCA4LjM1MmgtMS40NGwtLjYtMS43MDRabS0uMzg0LTEuMTE2LTEuMzU2LTMuODc2LTEuMzY4IDMuODc2aDIuNzI0Wm01LjA5MS01LjUydjguMzRoLTEuMzY4di04LjM0aDEuMzY4WiIvPjwvc3ZnPg==",oe=Object.defineProperty,q=Object.getOwnPropertySymbols,ue=Object.prototype.hasOwnProperty,Ee=Object.prototype.propertyIsEnumerable,le=(jt,an,hn)=>an in jt?oe(jt,an,{enumerable:!0,configurable:!0,writable:!0,value:hn}):jt[an]=hn,Ne=(jt,an)=>{for(var hn in an||(an={}))ue.call(an,hn)&&le(jt,hn,an[hn]);if(q)for(var hn of q(an))Ee.call(an,hn)&&le(jt,hn,an[hn]);return jt};const Ae=jt=>o.createElement("svg",Ne({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 34.02 34.02"},jt),o.createElement("path",{className:"rectangle_svg__cls-1",d:"M30.17 8.91a1 1 0 0 0 1-1V3.85a1 1 0 0 0-1-1h-4.05a1 1 0 0 0-1 1v1H8.91v-1a1 1 0 0 0-1-1H3.85a1 1 0 0 0-1 1V7.9a1 1 0 0 0 1 1h1v16.2h-1a1 1 0 0 0-1 1v4.05a1 1 0 0 0 1 1H7.9a1 1 0 0 0 1-1v-1h16.2v1a1 1 0 0 0 1 1h4.05a1 1 0 0 0 1-1v-4.03a1 1 0 0 0-1-1h-1V8.91Zm-3 16.2h-1a1 1 0 0 0-1 1v1H8.91v-1a1 1 0 0 0-1-1h-1V8.91h1a1 1 0 0 0 1-1v-1h16.2v1a1 1 0 0 0 1 1h1Z"}),o.createElement("path",{className:"rectangle_svg__cls-2",fill:"none",d:"M2.83 2.83h28.35v28.35H2.83z"}));var we="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNC4wMiAzNC4wMiI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMzAuMTcgOC45MWExIDEgMCAwIDAgMS0xVjMuODVhMSAxIDAgMCAwLTEtMWgtNC4wNWExIDEgMCAwIDAtMSAxdjFIOC45MXYtMWExIDEgMCAwIDAtMS0xSDMuODVhMSAxIDAgMCAwLTEgMVY3LjlhMSAxIDAgMCAwIDEgMWgxdjE2LjJoLTFhMSAxIDAgMCAwLTEgMXY0LjA1YTEgMSAwIDAgMCAxIDFINy45YTEgMSAwIDAgMCAxLTF2LTFoMTYuMnYxYTEgMSAwIDAgMCAxIDFoNC4wNWExIDEgMCAwIDAgMS0xdi00LjAzYTEgMSAwIDAgMC0xLTFoLTFWOC45MVptLTMgMTYuMmgtMWExIDEgMCAwIDAtMSAxdjFIOC45MXYtMWExIDEgMCAwIDAtMS0xaC0xVjguOTFoMWExIDEgMCAwIDAgMS0xdi0xaDE2LjJ2MWExIDEgMCAwIDAgMSAxaDFaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBmaWxsPSJub25lIiBkPSJNMi44MyAyLjgzaDI4LjM1djI4LjM1SDIuODN6Ii8+PC9zdmc+",Re=Object.defineProperty,st=Object.getOwnPropertySymbols,nt=Object.prototype.hasOwnProperty,_e=Object.prototype.propertyIsEnumerable,We=(jt,an,hn)=>an in jt?Re(jt,an,{enumerable:!0,configurable:!0,writable:!0,value:hn}):jt[an]=hn,Be=(jt,an)=>{for(var hn in an||(an={}))nt.call(an,hn)&&We(jt,hn,an[hn]);if(st)for(var hn of st(an))_e.call(an,hn)&&We(jt,hn,an[hn]);return jt};const it=jt=>o.createElement("svg",Be({className:"redo_svg__icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:16,height:16},jt),o.createElement("path",{d:"m1017.173 430.08-477.866-307.2c-6.827-3.413-13.654-3.413-17.067 0-6.827 3.413-10.24 6.827-10.24 13.653v187.734c-341.333 10.24-508.587 337.92-512 563.2v3.413c0 6.827 6.827 13.653 17.067 13.653s17.066-6.826 17.066-17.066c3.414-51.2 228.694-279.894 477.867-290.134v187.734c0 6.826 3.413 13.653 10.24 13.653 6.827 3.413 13.653 3.413 17.067 0l477.866-341.333c3.414-3.414 6.827-10.24 6.827-13.654s-3.413-10.24-6.827-13.653z",fill:"#fff"}));var Ge="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjxwYXRoIGQ9Im0xMDE3LjE3MyA0MzAuMDgtNDc3Ljg2Ni0zMDcuMmMtNi44MjctMy40MTMtMTMuNjU0LTMuNDEzLTE3LjA2NyAwLTYuODI3IDMuNDEzLTEwLjI0IDYuODI3LTEwLjI0IDEzLjY1M3YxODcuNzM0Yy0zNDEuMzMzIDEwLjI0LTUwOC41ODcgMzM3LjkyLTUxMiA1NjMuMnYzLjQxM2MwIDYuODI3IDYuODI3IDEzLjY1MyAxNy4wNjcgMTMuNjUzczE3LjA2Ni02LjgyNiAxNy4wNjYtMTcuMDY2YzMuNDE0LTUxLjIgMjI4LjY5NC0yNzkuODk0IDQ3Ny44NjctMjkwLjEzNHYxODcuNzM0YzAgNi44MjYgMy40MTMgMTMuNjUzIDEwLjI0IDEzLjY1MyA2LjgyNyAzLjQxMyAxMy42NTMgMy40MTMgMTcuMDY3IDBsNDc3Ljg2Ni0zNDEuMzMzYzMuNDE0LTMuNDE0IDYuODI3LTEwLjI0IDYuODI3LTEzLjY1NHMtMy40MTMtMTAuMjQtNi44MjctMTMuNjUzeiIgZmlsbD0iI2ZmZiIvPjwvc3ZnPg==",Ot=Object.defineProperty,$t=Object.getOwnPropertySymbols,wt=Object.prototype.hasOwnProperty,Pt=Object.prototype.propertyIsEnumerable,dt=(jt,an,hn)=>an in jt?Ot(jt,an,{enumerable:!0,configurable:!0,writable:!0,value:hn}):jt[an]=hn,je=(jt,an)=>{for(var hn in an||(an={}))wt.call(an,hn)&&dt(jt,hn,an[hn]);if($t)for(var hn of $t(an))Pt.call(an,hn)&&dt(jt,hn,an[hn]);return jt};const tt=jt=>o.createElement("svg",je({className:"repeat_svg__icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:16,height:16},jt),o.createElement("path",{d:"M0 448c0 35.4 28.6 64 64 64s64-28.6 64-64c0-106 86-192 192-192h320v64c0 25.8 15.6 49.2 39.6 59.2s51.4 4.4 69.8-13.8l128-128c25-25 25-65.6 0-90.6l-128-128C731 .4 703.6-5 679.6 5S640 38.2 640 64v64H320C143.2 128 0 271.2 0 448zm1024 128c0-35.4-28.6-64-64-64s-64 28.6-64 64c0 106-86 192-192 192H384v-64c0-25.8-15.6-49.2-39.6-59.2s-51.4-4.4-69.8 13.8l-128 128c-25 25-25 65.6 0 90.6l128 128c18.4 18.4 45.8 23.8 69.8 13.8s39.6-33.2 39.6-59.2V896h320c176.8 0 320-143.2 320-320z",fill:"#fff"}));var lt="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjxwYXRoIGQ9Ik0wIDQ0OGMwIDM1LjQgMjguNiA2NCA2NCA2NHM2NC0yOC42IDY0LTY0YzAtMTA2IDg2LTE5MiAxOTItMTkyaDMyMHY2NGMwIDI1LjggMTUuNiA0OS4yIDM5LjYgNTkuMnM1MS40IDQuNCA2OS44LTEzLjhsMTI4LTEyOGMyNS0yNSAyNS02NS42IDAtOTAuNmwtMTI4LTEyOEM3MzEgLjQgNzAzLjYtNSA2NzkuNiA1UzY0MCAzOC4yIDY0MCA2NHY2NEgzMjBDMTQzLjIgMTI4IDAgMjcxLjIgMCA0NDh6bTEwMjQgMTI4YzAtMzUuNC0yOC42LTY0LTY0LTY0cy02NCAyOC42LTY0IDY0YzAgMTA2LTg2IDE5Mi0xOTIgMTkySDM4NHYtNjRjMC0yNS44LTE1LjYtNDkuMi0zOS42LTU5LjJzLTUxLjQtNC40LTY5LjggMTMuOGwtMTI4IDEyOGMtMjUgMjUtMjUgNjUuNiAwIDkwLjZsMTI4IDEyOGMxOC40IDE4LjQgNDUuOCAyMy44IDY5LjggMTMuOHMzOS42LTMzLjIgMzkuNi01OS4yVjg5NmgzMjBjMTc2LjggMCAzMjAtMTQzLjIgMzIwLTMyMHoiIGZpbGw9IiNmZmYiLz48L3N2Zz4=",bt=Object.defineProperty,It=Object.getOwnPropertySymbols,Kt=Object.prototype.hasOwnProperty,zt=Object.prototype.propertyIsEnumerable,Mt=(jt,an,hn)=>an in jt?bt(jt,an,{enumerable:!0,configurable:!0,writable:!0,value:hn}):jt[an]=hn,Le=(jt,an)=>{for(var hn in an||(an={}))Kt.call(an,hn)&&Mt(jt,hn,an[hn]);if(It)for(var hn of It(an))zt.call(an,hn)&&Mt(jt,hn,an[hn]);return jt};const Ce=jt=>o.createElement("svg",Le({viewBox:"0 0 31 35",xmlns:"http://www.w3.org/2000/svg"},jt),o.createElement("g",{clipPath:"url(#skeleton-ai_svg__a)"},o.createElement("path",{d:"M25.833 19.5a5.161 5.161 0 0 0-4.097 2.023l-.09-.039a6.459 6.459 0 0 0-7.762-8.237l-.118-.222a5.16 5.16 0 1 0-2.297 1.18l.094.176a6.448 6.448 0 0 0-1.465 8.654l-2.435 2.277a5.167 5.167 0 1 0 1.88 1.78l2.374-2.22a6.45 6.45 0 0 0 8.446-1.125l.36.154a5.167 5.167 0 1 0 5.11-4.401ZM7.75 9.167a2.583 2.583 0 1 1 5.167 0 2.583 2.583 0 0 1-5.167 0Zm-2.583 23.25a2.583 2.583 0 1 1 0-5.166 2.583 2.583 0 0 1 0 5.166ZM15.5 23.375a3.874 3.874 0 0 1-2.067-7.148l.526-.28a3.876 3.876 0 1 1 1.54 7.428Zm10.333 3.875a2.583 2.583 0 1 1 0-5.165 2.583 2.583 0 0 1 0 5.165Z"})),o.createElement("path",{d:"M24.928 11.296h-3.492l-.6 1.704h-1.428l2.988-8.352h1.584L26.968 13h-1.44l-.6-1.704Zm-.384-1.116-1.356-3.876-1.368 3.876h2.724Zm5.091-5.52V13h-1.368V4.66h1.368Z"}),o.createElement("defs",null,o.createElement("clipPath",{id:"skeleton-ai_svg__a"},o.createElement("path",{transform:"translate(0 4)",d:"M0 0h31v31H0z"}))));var Et="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMzEgMzUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJNMjUuODMzIDE5LjVhNS4xNjEgNS4xNjEgMCAwIDAtNC4wOTcgMi4wMjNsLS4wOS0uMDM5YTYuNDU5IDYuNDU5IDAgMCAwLTcuNzYyLTguMjM3bC0uMTE4LS4yMjJhNS4xNiA1LjE2IDAgMSAwLTIuMjk3IDEuMThsLjA5NC4xNzZhNi40NDggNi40NDggMCAwIDAtMS40NjUgOC42NTRsLTIuNDM1IDIuMjc3YTUuMTY3IDUuMTY3IDAgMSAwIDEuODggMS43OGwyLjM3NC0yLjIyYTYuNDUgNi40NSAwIDAgMCA4LjQ0Ni0xLjEyNWwuMzYuMTU0YTUuMTY3IDUuMTY3IDAgMSAwIDUuMTEtNC40MDFaTTcuNzUgOS4xNjdhMi41ODMgMi41ODMgMCAxIDEgNS4xNjcgMCAyLjU4MyAyLjU4MyAwIDAgMS01LjE2NyAwWm0tMi41ODMgMjMuMjVhMi41ODMgMi41ODMgMCAxIDEgMC01LjE2NiAyLjU4MyAyLjU4MyAwIDAgMSAwIDUuMTY2Wk0xNS41IDIzLjM3NWEzLjg3NCAzLjg3NCAwIDAgMS0yLjA2Ny03LjE0OGwuNTI2LS4yOGEzLjg3NiAzLjg3NiAwIDEgMSAxLjU0IDcuNDI4Wm0xMC4zMzMgMy44NzVhMi41ODMgMi41ODMgMCAxIDEgMC01LjE2NSAyLjU4MyAyLjU4MyAwIDAgMSAwIDUuMTY1WiIvPjwvZz48cGF0aCBkPSJNMjQuOTI4IDExLjI5NmgtMy40OTJsLS42IDEuNzA0aC0xLjQyOGwyLjk4OC04LjM1MmgxLjU4NEwyNi45NjggMTNoLTEuNDRsLS42LTEuNzA0Wm0tLjM4NC0xLjExNi0xLjM1Ni0zLjg3Ni0xLjM2OCAzLjg3NmgyLjcyNFptNS4wOTEtNS41MlYxM2gtMS4zNjhWNC42NmgxLjM2OFoiLz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgNCkiIGQ9Ik0wIDBoMzF2MzFIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=",Tt=Object.defineProperty,Ye=Object.getOwnPropertySymbols,et=Object.prototype.hasOwnProperty,_t=Object.prototype.propertyIsEnumerable,Ut=(jt,an,hn)=>an in jt?Tt(jt,an,{enumerable:!0,configurable:!0,writable:!0,value:hn}):jt[an]=hn,qt=(jt,an)=>{for(var hn in an||(an={}))et.call(an,hn)&&Ut(jt,hn,an[hn]);if(Ye)for(var hn of Ye(an))_t.call(an,hn)&&Ut(jt,hn,an[hn]);return jt};const un=jt=>o.createElement("svg",qt({viewBox:"0 0 31 31",xmlns:"http://www.w3.org/2000/svg"},jt),o.createElement("g",{clipPath:"url(#skeleton_svg__a)"},o.createElement("path",{d:"M25.833 15.5a5.161 5.161 0 0 0-4.097 2.023l-.09-.039a6.459 6.459 0 0 0-7.762-8.237l-.118-.222a5.16 5.16 0 1 0-2.297 1.18l.094.176a6.448 6.448 0 0 0-1.465 8.654l-2.435 2.277a5.167 5.167 0 1 0 1.88 1.78l2.374-2.22a6.45 6.45 0 0 0 8.446-1.125l.36.154a5.167 5.167 0 1 0 5.11-4.401ZM7.75 5.167a2.583 2.583 0 1 1 5.167 0 2.583 2.583 0 0 1-5.167 0Zm-2.583 23.25a2.583 2.583 0 1 1 0-5.166 2.583 2.583 0 0 1 0 5.166ZM15.5 19.375a3.874 3.874 0 0 1-2.067-7.148l.526-.28a3.876 3.876 0 1 1 1.54 7.428Zm10.333 3.875a2.583 2.583 0 1 1 0-5.165 2.583 2.583 0 0 1 0 5.165Z"})),o.createElement("defs",null,o.createElement("clipPath",{id:"skeleton_svg__a"},o.createElement("path",{d:"M0 0h31v31H0z"}))));var Mn="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMzEgMzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJNMjUuODMzIDE1LjVhNS4xNjEgNS4xNjEgMCAwIDAtNC4wOTcgMi4wMjNsLS4wOS0uMDM5YTYuNDU5IDYuNDU5IDAgMCAwLTcuNzYyLTguMjM3bC0uMTE4LS4yMjJhNS4xNiA1LjE2IDAgMSAwLTIuMjk3IDEuMThsLjA5NC4xNzZhNi40NDggNi40NDggMCAwIDAtMS40NjUgOC42NTRsLTIuNDM1IDIuMjc3YTUuMTY3IDUuMTY3IDAgMSAwIDEuODggMS43OGwyLjM3NC0yLjIyYTYuNDUgNi40NSAwIDAgMCA4LjQ0Ni0xLjEyNWwuMzYuMTU0YTUuMTY3IDUuMTY3IDAgMSAwIDUuMTEtNC40MDFaTTcuNzUgNS4xNjdhMi41ODMgMi41ODMgMCAxIDEgNS4xNjcgMCAyLjU4MyAyLjU4MyAwIDAgMS01LjE2NyAwWm0tMi41ODMgMjMuMjVhMi41ODMgMi41ODMgMCAxIDEgMC01LjE2NiAyLjU4MyAyLjU4MyAwIDAgMSAwIDUuMTY2Wk0xNS41IDE5LjM3NWEzLjg3NCAzLjg3NCAwIDAgMS0yLjA2Ny03LjE0OGwuNTI2LS4yOGEzLjg3NiAzLjg3NiAwIDEgMSAxLjU0IDcuNDI4Wm0xMC4zMzMgMy44NzVhMi41ODMgMi41ODMgMCAxIDEgMC01LjE2NSAyLjU4MyAyLjU4MyAwIDAgMSAwIDUuMTY1WiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGQ9Ik0wIDBoMzF2MzFIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=",vn=Object.defineProperty,Xn=Object.getOwnPropertySymbols,Vn=Object.prototype.hasOwnProperty,or=Object.prototype.propertyIsEnumerable,er=(jt,an,hn)=>an in jt?vn(jt,an,{enumerable:!0,configurable:!0,writable:!0,value:hn}):jt[an]=hn,Wt=(jt,an)=>{for(var hn in an||(an={}))Vn.call(an,hn)&&er(jt,hn,an[hn]);if(Xn)for(var hn of Xn(an))or.call(an,hn)&&er(jt,hn,an[hn]);return jt};const en=jt=>o.createElement("svg",Wt({viewBox:"0 0 49 49",fill:"none",xmlns:"http://www.w3.org/2000/svg"},jt),o.createElement("g",{clipPath:"url(#text-prompt_svg__a)"},o.createElement("path",{d:"M24.5 49C38.031 49 49 38.031 49 24.5S38.031 0 24.5 0 0 10.969 0 24.5 10.969 49 24.5 49Z",fill:"#CCDCFF"}),o.createElement("path",{d:"M4.64 16.275v16.45H24.5l9.93-8.225-9.93-8.225H4.64Z",fill:"#fff"}),o.createElement("path",{d:"M24.5 16.275h19.86v16.45H24.5v-16.45Z",fill:"#E8E8E8"}),o.createElement("path",{d:"M15.06 13.87v-3.243H6.646v3.242h2.586v21.262H6.646v3.242h8.414v-3.242h-2.585V13.869h2.585Z",fill:"#5C5B68"}),o.createElement("path",{d:"M15.69 26.757h6.247v2.871H15.69v-2.87Z",fill:"#397DEA"}),o.createElement("path",{d:"M25.24 26.757h6.247v2.871H25.24v-2.87ZM34.79 26.757h6.247v2.871H34.79v-2.87Z",fill:"#2C5DBF"})),o.createElement("defs",null,o.createElement("clipPath",{id:"text-prompt_svg__a"},o.createElement("path",{fill:"#fff",d:"M0 0h49v49H0z"}))));var nn="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNDkgNDkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJNMjQuNSA0OUMzOC4wMzEgNDkgNDkgMzguMDMxIDQ5IDI0LjVTMzguMDMxIDAgMjQuNSAwIDAgMTAuOTY5IDAgMjQuNSAxMC45NjkgNDkgMjQuNSA0OVoiIGZpbGw9IiNDQ0RDRkYiLz48cGF0aCBkPSJNNC42NCAxNi4yNzV2MTYuNDVIMjQuNWw5LjkzLTguMjI1LTkuOTMtOC4yMjVINC42NFoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjQuNSAxNi4yNzVoMTkuODZ2MTYuNDVIMjQuNXYtMTYuNDVaIiBmaWxsPSIjRThFOEU4Ii8+PHBhdGggZD0iTTE1LjA2IDEzLjg3di0zLjI0M0g2LjY0NnYzLjI0MmgyLjU4NnYyMS4yNjJINi42NDZ2My4yNDJoOC40MTR2LTMuMjQyaC0yLjU4NVYxMy44NjloMi41ODVaIiBmaWxsPSIjNUM1QjY4Ii8+PHBhdGggZD0iTTE1LjY5IDI2Ljc1N2g2LjI0N3YyLjg3MUgxNS42OXYtMi44N1oiIGZpbGw9IiMzOTdERUEiLz48cGF0aCBkPSJNMjUuMjQgMjYuNzU3aDYuMjQ3djIuODcxSDI1LjI0di0yLjg3Wk0zNC43OSAyNi43NTdoNi4yNDd2Mi44NzFIMzQuNzl2LTIuODdaIiBmaWxsPSIjMkM1REJGIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGg0OXY0OUgweiIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==",fn=Object.defineProperty,En=Object.getOwnPropertySymbols,on=Object.prototype.hasOwnProperty,pt=Object.prototype.propertyIsEnumerable,gt=(jt,an,hn)=>an in jt?fn(jt,an,{enumerable:!0,configurable:!0,writable:!0,value:hn}):jt[an]=hn,Xt=(jt,an)=>{for(var hn in an||(an={}))on.call(an,hn)&>(jt,hn,an[hn]);if(En)for(var hn of En(an))pt.call(an,hn)&>(jt,hn,an[hn]);return jt};const rn=jt=>o.createElement("svg",Xt({className:"undo_svg__icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:16,height:16},jt),o.createElement("path",{d:"M512 324.267V136.533c0-6.826-3.413-13.653-10.24-13.653-6.827-3.413-13.653-3.413-17.067 0L6.827 430.08C3.413 433.493 0 436.907 0 443.733s3.413 10.24 6.827 13.654L484.693 798.72c6.827 3.413 13.654 3.413 17.067 0 6.827-3.413 10.24-10.24 10.24-13.653V597.333c249.173 10.24 474.453 235.52 477.867 290.134 0 10.24 6.826 17.066 17.066 17.066S1024 897.707 1024 887.467c-3.413-225.28-170.667-552.96-512-563.2z",fill:"#fff"}));var Jt="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjxwYXRoIGQ9Ik01MTIgMzI0LjI2N1YxMzYuNTMzYzAtNi44MjYtMy40MTMtMTMuNjUzLTEwLjI0LTEzLjY1My02LjgyNy0zLjQxMy0xMy42NTMtMy40MTMtMTcuMDY3IDBMNi44MjcgNDMwLjA4QzMuNDEzIDQzMy40OTMgMCA0MzYuOTA3IDAgNDQzLjczM3MzLjQxMyAxMC4yNCA2LjgyNyAxMy42NTRMNDg0LjY5MyA3OTguNzJjNi44MjcgMy40MTMgMTMuNjU0IDMuNDEzIDE3LjA2NyAwIDYuODI3LTMuNDEzIDEwLjI0LTEwLjI0IDEwLjI0LTEzLjY1M1Y1OTcuMzMzYzI0OS4xNzMgMTAuMjQgNDc0LjQ1MyAyMzUuNTIgNDc3Ljg2NyAyOTAuMTM0IDAgMTAuMjQgNi44MjYgMTcuMDY2IDE3LjA2NiAxNy4wNjZTMTAyNCA4OTcuNzA3IDEwMjQgODg3LjQ2N2MtMy40MTMtMjI1LjI4LTE3MC42NjctNTUyLjk2LTUxMi01NjMuMnoiIGZpbGw9IiNmZmYiLz48L3N2Zz4=",pn=Object.defineProperty,mn=Object.getOwnPropertySymbols,Zn=Object.prototype.hasOwnProperty,tr=Object.prototype.propertyIsEnumerable,ut=(jt,an,hn)=>an in jt?pn(jt,an,{enumerable:!0,configurable:!0,writable:!0,value:hn}):jt[an]=hn,ct=(jt,an)=>{for(var hn in an||(an={}))Zn.call(an,hn)&&ut(jt,hn,an[hn]);if(mn)for(var hn of mn(an))tr.call(an,hn)&&ut(jt,hn,an[hn]);return jt};const Dt=jt=>o.createElement("svg",ct({viewBox:"0 0 49 49",fill:"none",xmlns:"http://www.w3.org/2000/svg"},jt),o.createElement("g",{clipPath:"url(#visual-prompt_svg__a)"},o.createElement("path",{d:"M24.5 49C38.031 49 49 38.031 49 24.5S38.031 0 24.5 0 0 10.969 0 24.5 10.969 49 24.5 49Z",fill:"#CCDCFF"}),o.createElement("path",{d:"M24.5 40.84h-2.393v-7.178H24.5l.808 3.648-.808 3.53Z",fill:"#87ADFF"}),o.createElement("path",{d:"M24.5 33.662h2.393v7.177H24.5v-7.177Z",fill:"#165DFF"}),o.createElement("path",{d:"M24.5 42.514h-5.742V40.6H24.5l.642.957-.642.957Z",fill:"#165DFF"}),o.createElement("path",{d:"M24.5 40.6h5.742v1.914H24.5V40.6Z",fill:"#0E57FF"}),o.createElement("path",{d:"M25.765 23.118 24.5 13.32H6.316v18.183l18.184.563 1.265-8.948Z",fill:"#fff"}),o.createElement("path",{d:"M24.5 13.32v18.746l18.184-.563V13.32H24.5Z",fill:"#EAEDF4"}),o.createElement("path",{d:"m24.5 33.896.808-1.196-.808-1.197H6.316v2.393H24.5Z",fill:"#165DFF"}),o.createElement("path",{d:"M24.5 31.503h18.184v2.393H24.5v-2.393Z",fill:"#0E57FF"}),o.createElement("path",{d:"m36.198 24.423-3.163-1.054 1.055 3.163.527-.527 1.912 1.912 1.054-1.055-1.912-1.912.527-.527Z",fill:"#5C5B68"}),o.createElement("path",{d:"m19.034 19.3 3.474.608 1.992 2.548 1.48 2.73-1.48 3.517-5.466-3.156V19.3Z",fill:"#87ADFF"}),o.createElement("path",{d:"M29.966 25.547v-6.311l-3.399.786-2.067 2.434v6.247l5.466-3.156Z",fill:"#165DFF"}),o.createElement("path",{d:"m19.034 19.3 5.466 3.156 1.241-3.33L24.5 16.08l-5.466 3.22Z",fill:"#C1D4FD"}),o.createElement("path",{d:"M24.5 16.08v6.376l5.466-3.22L24.5 16.08Z",fill:"#A9C3FC"})),o.createElement("defs",null,o.createElement("clipPath",{id:"visual-prompt_svg__a"},o.createElement("path",{fill:"#fff",d:"M0 0h49v49H0z"}))));var xt="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNDkgNDkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJNMjQuNSA0OUMzOC4wMzEgNDkgNDkgMzguMDMxIDQ5IDI0LjVTMzguMDMxIDAgMjQuNSAwIDAgMTAuOTY5IDAgMjQuNSAxMC45NjkgNDkgMjQuNSA0OVoiIGZpbGw9IiNDQ0RDRkYiLz48cGF0aCBkPSJNMjQuNSA0MC44NGgtMi4zOTN2LTcuMTc4SDI0LjVsLjgwOCAzLjY0OC0uODA4IDMuNTNaIiBmaWxsPSIjODdBREZGIi8+PHBhdGggZD0iTTI0LjUgMzMuNjYyaDIuMzkzdjcuMTc3SDI0LjV2LTcuMTc3WiIgZmlsbD0iIzE2NURGRiIvPjxwYXRoIGQ9Ik0yNC41IDQyLjUxNGgtNS43NDJWNDAuNkgyNC41bC42NDIuOTU3LS42NDIuOTU3WiIgZmlsbD0iIzE2NURGRiIvPjxwYXRoIGQ9Ik0yNC41IDQwLjZoNS43NDJ2MS45MTRIMjQuNVY0MC42WiIgZmlsbD0iIzBFNTdGRiIvPjxwYXRoIGQ9Ik0yNS43NjUgMjMuMTE4IDI0LjUgMTMuMzJINi4zMTZ2MTguMTgzbDE4LjE4NC41NjMgMS4yNjUtOC45NDhaIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTI0LjUgMTMuMzJ2MTguNzQ2bDE4LjE4NC0uNTYzVjEzLjMySDI0LjVaIiBmaWxsPSIjRUFFREY0Ii8+PHBhdGggZD0ibTI0LjUgMzMuODk2LjgwOC0xLjE5Ni0uODA4LTEuMTk3SDYuMzE2djIuMzkzSDI0LjVaIiBmaWxsPSIjMTY1REZGIi8+PHBhdGggZD0iTTI0LjUgMzEuNTAzaDE4LjE4NHYyLjM5M0gyNC41di0yLjM5M1oiIGZpbGw9IiMwRTU3RkYiLz48cGF0aCBkPSJtMzYuMTk4IDI0LjQyMy0zLjE2My0xLjA1NCAxLjA1NSAzLjE2My41MjctLjUyNyAxLjkxMiAxLjkxMiAxLjA1NC0xLjA1NS0xLjkxMi0xLjkxMi41MjctLjUyN1oiIGZpbGw9IiM1QzVCNjgiLz48cGF0aCBkPSJtMTkuMDM0IDE5LjMgMy40NzQuNjA4IDEuOTkyIDIuNTQ4IDEuNDggMi43My0xLjQ4IDMuNTE3LTUuNDY2LTMuMTU2VjE5LjNaIiBmaWxsPSIjODdBREZGIi8+PHBhdGggZD0iTTI5Ljk2NiAyNS41NDd2LTYuMzExbC0zLjM5OS43ODYtMi4wNjcgMi40MzR2Ni4yNDdsNS40NjYtMy4xNTZaIiBmaWxsPSIjMTY1REZGIi8+PHBhdGggZD0ibTE5LjAzNCAxOS4zIDUuNDY2IDMuMTU2IDEuMjQxLTMuMzNMMjQuNSAxNi4wOGwtNS40NjYgMy4yMloiIGZpbGw9IiNDMUQ0RkQiLz48cGF0aCBkPSJNMjQuNSAxNi4wOHY2LjM3Nmw1LjQ2Ni0zLjIyTDI0LjUgMTYuMDhaIiBmaWxsPSIjQTlDM0ZDIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGg0OXY0OUgweiIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==",kt,sn,tn,xn,Nn,gr,nr,Rn=function(jt){return jt.showAnnotations="showAnnotations",jt.showAllCategory="showAllCategory",jt.showImgDesc="showImgDesc",jt.showBoxText="showBoxText",jt.showSegFilling="showSegFilling",jt.showSegContour="showSegContour",jt.showMattingColorFill="showMattingColorFill",jt.showKeyPointsLine="showKeyPointsLine",jt.showKeyPointsBox="showKeyPointsBox",jt}({}),kr=function(jt){return jt.Waiting="waiting",jt.Running="running",jt.Success="success",jt.Failed="failed",jt}({}),fr=.1,ua=20,Pr=.5,Bn=.1,Cn=function(jt){return jt.Rectangle="rect",jt.Polygon="polygon",jt.Mask="mask",jt.Skeleton="coco_keypoints_17",jt.Classification="classification",jt}({}),wn=function(jt){return jt.Custom="Custom",jt.Classification="Classification",jt.Rectangle="Rectangle",jt.Polygon="Polygon",jt.Skeleton="Skeleton",jt.Mask="Mask",jt.Matting="Matting",jt.Point="Point",jt.Polyline="Polyline",jt}({}),ar=function(jt){return jt.Rect="rect",jt.Circle="circle",jt.Polygon="polygon",jt.None="none",jt}({}),mr=function(jt){return jt.Drag="Drag",jt.Rectangle="Rect",jt.Polygon="Polygon",jt.Skeleton="Skeleton",jt.Mask="Mask",jt}({}),Qr=function(jt){return jt.PenAdd="PenAdd",jt.PenErase="PenErase",jt.BrushAdd="BrushAdd",jt.BrushErase="BrushErase",jt.AutoSegmentByBox="AutoSegmentByBox",jt.AutoSegmentByClick="AutoSegmentByClick",jt.AutoSegmentByStroke="AutoSegmentByStroke",jt.AutoSegmentEverything="AutoSegmentEverything",jt.AutoEdgeStitching="AutoEdgeStitching",jt.PositiveVisualPrompt="PositiveVisualPrompt",jt.NegativeVisualPrompt="NegativeVisualPrompt",jt}({}),qr=function(jt){return jt.SmartAnnotation="SmartAnnotation",jt.Undo="Undo",jt.Redo="Redo",jt.RepeatPrevious="RepeatPrevious",jt.DeleteAll="DeleteAll",jt}({}),ya=(kt={},t()(kt,mr.Drag,wn.Custom),t()(kt,mr.Rectangle,wn.Rectangle),t()(kt,mr.Polygon,wn.Polygon),t()(kt,mr.Skeleton,wn.Skeleton),t()(kt,mr.Mask,wn.Mask),kt),dr=function(jt){return jt.Detection="ai_detection",jt.IVP="ivp",jt.SegmentByPolygon="ai_polygon",jt.SegmentByMask="ai_segmentation_mask",jt.Pose="ai_pose",jt.MaskEdgeStitching="ai_mask_edge_stitching",jt.SegmentEverything="ai_segment_everything",jt}({}),Br=(sn={},t()(sn,mr.Drag,[]),t()(sn,mr.Rectangle,[dr.Detection,dr.IVP]),t()(sn,mr.Polygon,[dr.SegmentByPolygon]),t()(sn,mr.Mask,[dr.SegmentEverything,dr.SegmentByMask,dr.IVP]),t()(sn,mr.Skeleton,[dr.Pose]),sn),Ea=(tn={},t()(tn,dr.Detection,{name:"DDSAnnotator.smart.gdino.name",icon:en,description:"DDSAnnotator.smart.gdino.desc",hightlight:!1}),t()(tn,dr.IVP,{name:"DDSAnnotator.smart.ivp.name",icon:Dt,description:"DDSAnnotator.smart.ivp.desc",hightlight:!0}),t()(tn,dr.SegmentEverything,{name:"DDSAnnotator.smart.sam.name",icon:Dt,description:"DDSAnnotator.smart.sam.desc",hightlight:!1}),t()(tn,dr.SegmentByMask,{name:"DDSAnnotator.smart.isg.name",icon:Dt,description:"DDSAnnotator.smart.isg.desc",hightlight:!1}),tn),ca=(xn={},t()(xn,Cn.Rectangle,mr.Rectangle),t()(xn,Cn.Polygon,mr.Polygon),t()(xn,Cn.Mask,mr.Mask),t()(xn,Cn.Skeleton,mr.Skeleton),xn),Kn=(Nn={},t()(Nn,wn.Rectangle,Ae),t()(Nn,wn.Skeleton,un),t()(Nn,wn.Polygon,P),t()(Nn,wn.Mask,Pe),t()(Nn,wn.Matting,Pe),t()(Nn,wn.Point,g),t()(Nn,wn.Polyline,g),t()(Nn,wn.Custom,g),t()(Nn,wn.Classification,g),Nn),zn=(gr={},t()(gr,wn.Rectangle,$e),t()(gr,wn.Skeleton,Ce),t()(gr,wn.Polygon,ke),t()(gr,wn.Mask,H),gr),vr=(nr={},t()(nr,qr.SmartAnnotation,ne),t()(nr,qr.Undo,rn),t()(nr,qr.Redo,it),t()(nr,qr.RepeatPrevious,tt),t()(nr,qr.DeleteAll,T),nr),ra=function(jt){return jt[jt.noLabeled=0]="noLabeled",jt[jt.labeledNotVisible=1]="labeledNotVisible",jt[jt.labeledVisible=2]="labeledVisible",jt}({}),xr={categoryName:"person",boundingBox:{xmax:.44072164948453607,xmin:.2654639175257732,ymax:.5698739977090492,ymin:.09335624284077892},points:[175.25773195876286,61.21134020618557,0,1,2,1,179.9828178694158,41.45189003436426,0,1,2,1,170.96219931271477,41.881443298969074,0,1,2,1,189.86254295532646,51.33161512027492,0,1,2,1,163.23024054982818,50.47250859106529,0,1,2,1,192.86941580756016,68.08419243986253,0,1,2,1,158.295150820924,67.63982699371964,0,1,2,1,202.74914089347078,99.87113402061856,0,1,2,1,150.34364261168383,99.87113402061856,0,1,2,1,208.76288659793815,127.36254295532646,0,1,2,1,142.61168384879724,129.0807560137457,0,1,2,1,182.13058419243984,126.50343642611685,0,1,2,1,162.2279495990836,125.4739898092191,0,1,2,1,184.70790378006873,175.4725085910653,0,1,2,1,158.78675066819395,176.9759450171821,0,1,2,1,190.29209621993127,208.11855670103094,0,1,2,1,152.92096219931273,206.82989690721652,0,1,2,1],lines:[15,13,13,11,16,14,14,12,11,12,5,11,6,12,5,6,5,7,6,8,7,9,8,10,1,2,0,1,0,2,1,3,2,4,3,5,4,6],pointColors:["128","0","0","255","178","102","230","230","0","255","51","255","153","204","255","255","128","0","0","255","255","128","0","255","51","153","255","169","165","139","255","0","0","102","255","102","184","97","134","128","128","0","255","190","255","0","128","0","0","0","255"],pointNames:["nose","left_eye","right_eye","left_ear","right_ear","left_shoulder","right_shoulder","left_elbow","right_elbow","left_wrist","right_wrist","left_hip","right_hip","left_knee","right_knee","left_ankle","right_ankle"]}},34095:function(b,y,e){"use strict";e.d(y,{$k:function(){return S},Bt:function(){return m},CJ:function(){return g},XQ:function(){return c},cj:function(){return h},lz:function(){return M},mh:function(){return n},rl:function(){return d},s_:function(){return l}});var a=e(2657),t=e.n(a),o=e(50910),s,n={DEFAULT:0,CREATING:0,SHAPE:.4,FOCUS:.6,ACTIVE:.2,CTRL_TO_SELECT:.1,OTHER:0},d={DEFAULT:1,CREATING:1,CREATING_LINE:.8,FOCUS:1,ACTIVE:1,OTHER:.3},l={CREATING:.7,FOCUS:.7,DEFAULT:.5},c={CREATING:"#fff"},m={CREATING:"transparent",CREATING_POSITIVE:"#2876d4",CREATING_NEGATIVE:"#e91d00"},g={POSITIVE:"rgba(1, 128, 0, 1)",NEGATIVE:"rgba(255, 3, 0, 1)"},M={POSITIVE:"rgba(1, 128, 0, 0.6)",NEGATIVE:"rgba(255, 3, 0, 0.6)"},h=(s={},t()(s,o.SP.Solid,{lineDash:[],thickness:2}),t()(s,o.SP.DoubleSolid,{lineDash:[],thickness:4}),t()(s,o.SP.LCurbside,{lineDash:[],thickness:2}),t()(s,o.SP.RCurbside,{lineDash:[],thickness:2}),t()(s,o.SP.Unknown,{lineDash:[],thickness:2}),t()(s,o.SP.Dashed,{lineDash:[4,4],thickness:2}),t()(s,o.SP.DoubleDashed,{lineDash:[4,4],thickness:4}),t()(s,o.SP.LDashedRSolid,{lineDash:[4,8,4,8,16,4],thickness:4}),t()(s,o.SP.LSolidRDashed,{lineDash:[4,8,16,4],thickness:4}),s),S={Yellow:"#d97945",White:"#de1760",Other:"#72af44"}},65104:function(b,y,e){"use strict";e.d(y,{kl:function(){return _i},j5:function(){return Oc},D5:function(){return Dc},je:function(){return Q.je}});var a=e(63900),t=e.n(a),o=e(88205),s=e.n(o),n=e(62109),d=e(73267),l=e(87608),c=e.n(l),m=e(39378),g=e(58757),M=e(65246),h=e(52495),S=e(84045),w=e(18624),x=e(12562),z=e(53357),U=e(47513),T=e(74820),N=e(10852),Z=e(38904),D=e(21149),L=Object.defineProperty,j=Object.getOwnPropertySymbols,G=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable,ne=(Ze,ye,Te)=>ye in Ze?L(Ze,ye,{enumerable:!0,configurable:!0,writable:!0,value:Te}):Ze[ye]=Te,_=(Ze,ye)=>{for(var Te in ye||(ye={}))G.call(ye,Te)&&ne(Ze,Te,ye[Te]);if(j)for(var Te of j(ye))W.call(ye,Te)&&ne(Ze,Te,ye[Te]);return Ze};const ee=Ze=>g.createElement("svg",_({viewBox:"0 0 21 21",xmlns:"http://www.w3.org/2000/svg"},Ze),g.createElement("path",{d:"M16.625 4.375v12.25H4.375V4.375h12.25ZM3.5 2.625c-.438 0-.875.438-.875.875v14c0 .525.35.875.875.875h14c.525 0 .875-.35.875-.875v-14c0-.525-.35-.875-.875-.875h-14Z"}),g.createElement("path",{d:"M14.875 7.788c0-.525-.35-.875-.875-.875H9.625v-.438A.877.877 0 0 0 8.75 5.6c-.525 0-.875.35-.875.875v.438H7c-.525 0-.875.35-.875.875s.35.875.875.875h.875V9.1c0 .525.35.875.875.875s.875-.35.875-.875v-.437H14c.525 0 .875-.35.875-.875ZM6.125 13.3c0 .525.35.875.875.875h4.375v.438c0 .525.438.875.875.875.525 0 .875-.35.875-.875v-.438H14c.525 0 .875-.35.875-.875s-.35-.875-.875-.875h-.875v-.437c0-.525-.35-.875-.875-.875s-.875.35-.875.875v.437H7a.877.877 0 0 0-.875.875Z"}));var se="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjEgMjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE2LjYyNSA0LjM3NXYxMi4yNUg0LjM3NVY0LjM3NWgxMi4yNVpNMy41IDIuNjI1Yy0uNDM4IDAtLjg3NS40MzgtLjg3NS44NzV2MTRjMCAuNTI1LjM1Ljg3NS44NzUuODc1aDE0Yy41MjUgMCAuODc1LS4zNS44NzUtLjg3NXYtMTRjMC0uNTI1LS4zNS0uODc1LS44NzUtLjg3NWgtMTRaIi8+PHBhdGggZD0iTTE0Ljg3NSA3Ljc4OGMwLS41MjUtLjM1LS44NzUtLjg3NS0uODc1SDkuNjI1di0uNDM4QS44NzcuODc3IDAgMCAwIDguNzUgNS42Yy0uNTI1IDAtLjg3NS4zNS0uODc1Ljg3NXYuNDM4SDdjLS41MjUgMC0uODc1LjM1LS44NzUuODc1cy4zNS44NzUuODc1Ljg3NWguODc1VjkuMWMwIC41MjUuMzUuODc1Ljg3NS44NzVzLjg3NS0uMzUuODc1LS44NzV2LS40MzdIMTRjLjUyNSAwIC44NzUtLjM1Ljg3NS0uODc1Wk02LjEyNSAxMy4zYzAgLjUyNS4zNS44NzUuODc1Ljg3NWg0LjM3NXYuNDM4YzAgLjUyNS40MzguODc1Ljg3NS44NzUuNTI1IDAgLjg3NS0uMzUuODc1LS44NzV2LS40MzhIMTRjLjUyNSAwIC44NzUtLjM1Ljg3NS0uODc1cy0uMzUtLjg3NS0uODc1LS44NzVoLS44NzV2LS40MzdjMC0uNTI1LS4zNS0uODc1LS44NzUtLjg3NXMtLjg3NS4zNS0uODc1Ljg3NXYuNDM3SDdhLjg3Ny44NzcgMCAwIDAtLjg3NS44NzVaIi8+PC9zdmc+",Q=e(50910),C=e(35667),X=function(ye,Te){return ye.isDarkTheme===Te.isDarkTheme&&ye.disabled===Te.disabled&&(0,m.isEqual)(ye.data,Te.data)&&(0,m.isEqual)(ye.values,Te.values)&&ye.onChangeValue===Te.onChangeValue&&ye.onFocusInput===Te.onFocusInput&&ye.onClickAttributes===Te.onClickAttributes},O=(0,g.memo)(function(Ze){var ye=(0,z.bU)(),Te=ye.localeText,An=Ze.isDarkTheme,yt=Ze.disabled,Pn=Ze.data,Sn=Ze.values,In=Ze.onChangeValue,Un=Ze.onFocusInput,ir=Ze.onClickAttributes;return(0,C.jsx)(U.Z,{layout:"vertical",className:c()("dds-annotator-attributes-form",{"dds-annotator-attributes-form-dark":An}),children:Pn.map(function(Mr,pr){var Ln,da;return(0,C.jsxs)(U.Z.Item,{required:Mr.required,label:Mr.hasAttributes?(0,C.jsxs)("div",{className:"dds-annotator-attributes-form-item-title",children:[Mr.field,(0,C.jsx)(T.Z,{title:Te("DDSAnnotator.attribute.edit"),children:(0,C.jsx)(x.ZP,{ghost:!0,className:"dds-annotator-attributes-form-item-title-btn",icon:(0,C.jsx)(ee,{className:Mr.requireAttribute?"attribute-warn":""}),shape:"circle",onClick:function(Yn){Yn.stopPropagation(),ir==null||ir(pr)}})})]}):Mr.field,children:[Mr.type===Q.In.Radio&&(0,C.jsx)(N.ZP.Group,{value:Sn[pr],options:(Ln=Mr.options)===null||Ln===void 0?void 0:Ln.map(function(Rr,Yn){var lr=Rr.label;return{label:lr,value:Yn}}),onChange:function(Yn){return In(pr,Yn.target.value)},disabled:yt}),Mr.type===Q.In.Checkbox&&(0,C.jsx)(Z.Z.Group,{value:Sn[pr],options:(da=Mr.options)===null||da===void 0?void 0:da.map(function(Rr,Yn){var lr=Rr.label;return{label:lr,value:Yn}}),onChange:function(Yn){return In(pr,Yn)},disabled:yt}),Mr.type===Q.In.Text&&(0,C.jsx)(D.Z,{placeholder:Te("DDSAnnotator.attribute.input"),value:Sn[pr],onChange:function(Yn){return In(pr,Yn.target.value)},onFocus:function(Yn){return Un==null?void 0:Un(pr,Yn)},onKeyUp:function(Yn){return Yn.stopPropagation()},onKeyDown:function(Yn){return Yn.stopPropagation()},disabled:yt})]},Mr.field)})})},X),H=O,k=function(ye){var Te=ye.children,An=ye.eventHandler,yt=function(Sn){An?An(Sn):Sn.stopPropagation()};return(0,C.jsx)("div",{onMouseDown:yt,onMouseUp:yt,style:{userSelect:"none"},children:Te})},A=(0,g.memo)(function(Ze){var ye=Ze.data,Te=Ze.supportEdit,An=Ze.onConfirmAttibuteEdit,yt=Ze.onCancelAttibuteEdit,Pn=(0,z.bU)(),Sn=Pn.localeText,In=(0,M.x)([]),Un=s()(In,2),ir=Un[0],Mr=Un[1];(0,g.useEffect)(function(){Mr((ye==null?void 0:ye.values)||[])},[ye.values]);var pr=function(Rr,Yn){Mr(function(lr){lr[Rr]=Yn})},Ln=function(){if(ye.attributes.find(function(Yn,lr){return Yn.required&&(ir[lr]===void 0||ir[lr]===null)})){S.ZP.error(Sn("DDSAnnotator.attribute.required"));return}var Rr=[];ye.attributes.forEach(function(Yn,lr){Rr.push(ir[lr]===void 0?null:ir[lr])}),An(Rr)};return(0,C.jsx)(k,{children:(0,C.jsx)(w.Z,{id:"annotation-editor",className:"dds-annotator-attribute-editor",title:(0,C.jsxs)("div",{className:"dds-annotator-attribute-editor-title",children:[(0,C.jsx)("div",{children:Sn("DDSAnnotator.attribute.add")}),(0,C.jsx)(x.ZP,{ghost:!0,className:"dds-annotator-attribute-editor-title-btn",icon:(0,C.jsx)(h.Z,{}),shape:"circle",size:"small",onClick:yt})]}),children:(0,C.jsxs)("div",{className:"dds-annotator-attribute-editor-content",children:[(0,C.jsx)(H,{disabled:!Te,data:ye.attributes,values:ir,onChangeValue:pr}),Te&&(0,C.jsx)("div",{className:"dds-annotator-attribute-editor-actions",children:(0,C.jsx)(x.ZP,{type:"primary",onClick:function(Rr){Rr.preventDefault(),Ln()},children:Sn("DDSAnnotator.confirm")})})]})})})}),Y=A,de=e(83720),me=e(56019),ve=e(16951),be=function(ye,Te){return ye.className===Te.className&&ye.supportEdit===Te.supportEdit&&(0,m.isEqual)(ye.classificationOptions,Te.classificationOptions)&&(0,m.isEqual)(ye.values,Te.values)&&ye.setDrawDataWithHistory===Te.setDrawDataWithHistory},Pe=(0,g.memo)(function(Ze){var ye=(0,z.bU)(),Te=ye.localeText,An=Ze.className,yt=Ze.classificationOptions,Pn=Ze.values,Sn=Ze.setDrawDataWithHistory,In=Ze.supportEdit,Un=(0,g.useState)(!1),ir=s()(Un,2),Mr=ir[0],pr=ir[1],Ln=function(Vr,Lr,ga){var aa,rr=yt[Vr],Jn=Pn==null||(aa=Pn.find(function(Fr){var Er=Fr.labelId;return Er===(rr==null?void 0:rr.id)}))===null||aa===void 0?void 0:aa.attributes;return rr!=null&&rr.attributes&&rr.attributes.length>0&&(Lr==null?void 0:Lr.labelId)!==rr.id&&(!ga||!(Jn!=null&&Jn.length))?{index:-1,labelId:rr.id,attributes:rr==null?void 0:rr.attributes,values:Jn}:null},da=function(Vr){setTimeout(function(){Sn(function(Lr){var ga=Ln(Vr,Lr.editingAttribute);ga&&(Lr.editingAttribute=ga)})})},Rr=function(Vr,Lr){Sn(function(ga){var aa,rr=yt[Vr],Jn=ga.classifications.findIndex(function(Fr){return Fr.labelId===rr.id});Jn>-1?ga.classifications[Jn].labelValue=Lr:ga.classifications.push({labelId:yt[Vr].id,labelValue:Lr}),((aa=ga.editingAttribute)===null||aa===void 0?void 0:aa.labelId)!==(rr==null?void 0:rr.id)&&(ga.editingAttribute=Ln(Vr,ga.editingAttribute,!0)||void 0)})},Yn=(0,g.useMemo)(function(){return yt.map(function(ia){var Vr,Lr;return{field:ia.labelName,type:ia.valueType,required:!0,options:ia.valueOptions,hasAttributes:!!((Vr=ia.attributes)!==null&&Vr!==void 0&&Vr.length),requireAttribute:!!((Lr=ia.attributes)!==null&&Lr!==void 0&&Lr.find(function(ga,aa){var rr,Jn;return(ga==null?void 0:ga.required)&&[void 0,null,""].includes((rr=Pn.find(function(Fr){var Er=Fr.labelId;return Er===ia.id}))===null||rr===void 0||(Jn=rr.attributes)===null||Jn===void 0?void 0:Jn[aa])}))}})},[yt,Pn]),lr=(0,g.useMemo)(function(){var ia=[];return yt.forEach(function(Vr){var Lr,ga=(Lr=Pn.find(function(aa){var rr=aa.labelId;return rr===Vr.id}))===null||Lr===void 0?void 0:Lr.labelValue;ia.push(ga===void 0?null:ga)}),ia},[yt,Pn]),Nr=(0,C.jsx)(H,{isDarkTheme:!0,disabled:!In,data:Yn,values:lr,onChangeValue:Rr,onFocusInput:da,onClickAttributes:da});return(0,C.jsx)("div",{className:c()("dds-annotator-classification",An),onMouseDown:function(Vr){Vr.stopPropagation()},children:(0,C.jsx)(ve.Z,{activeKey:"classification",items:[{key:"classification",label:Te("DDSAnnotator.annotsList.classification"),children:Mr?null:Nr}],tabBarExtraContent:(0,C.jsx)(T.Z,{title:Te(Mr?"DDSAnnotator.annotsList.showAll":"DDSAnnotator.annotsList.hideAll"),children:(0,C.jsx)(x.ZP,{ghost:!0,className:"tab-header-actions",icon:Mr?(0,C.jsx)(de.Z,{}):(0,C.jsx)(me.Z,{}),shape:"circle",onClick:function(){return pr(!Mr)}})})})})},be),Je=Pe,qe=e(22283),Xe=e(79233),mt=Object.defineProperty,Ct=Object.getOwnPropertySymbols,vt=Object.prototype.hasOwnProperty,Ht=Object.prototype.propertyIsEnumerable,ke=(Ze,ye,Te)=>ye in Ze?mt(Ze,ye,{enumerable:!0,configurable:!0,writable:!0,value:Te}):Ze[ye]=Te,Ve=(Ze,ye)=>{for(var Te in ye||(ye={}))vt.call(ye,Te)&&ke(Ze,Te,ye[Te]);if(Ct)for(var Te of Ct(ye))Ht.call(ye,Te)&&ke(Ze,Te,ye[Te]);return Ze};const ot=Ze=>React.createElement("svg",Ve({xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",width:600,height:600,fill:"none"},Ze),React.createElement("path",{fill:"#FFF",d:"M0 0h600v600H0z"}),React.createElement("mask",{id:"img-broken_svg__b",fill:"#fff"},React.createElement("use",{xlinkHref:"#img-broken_svg__a"})),React.createElement("g",{mask:"url(#img-broken_svg__b)"},React.createElement("path",{style:{fill:"#f3f3fa"},opacity:.6,d:"M520.82 276.411c.7 7.103 1.058 14.305 1.058 21.589 0 122.04-100.54 221-224.51 221-99.159 0-183.328-63.313-213.047-151.107h-8.426c-3.4 0-6.17-2.76-6.17-6.16A6.168 6.168 0 0 1 73.608 356H84c7.18 0 13-5.82 13-13v-1c0-7.18-5.82-13-13-13h-8.95l-.023-.161H52.855c-5.68 0-10.28-4.6-10.28-10.28s4.6-10.28 10.28-10.28h20.241A221.042 221.042 0 0 1 72.858 298c0-32.629 7.187-63.608 20.086-91.486H57c-15.46 0-28-12.541-28-28.001v-1.56c0-14.913 11.67-27.11 26.373-27.953H182c5.52 0 10-4.48 10-10s-4.48-10-10-10h-29.294l.732-.605h-14.59c-10.49 0-19-8.51-19-19v-1.06c0-10.49 8.51-19 19-19h84.392C246.448 81.345 271.393 77 297.368 77c51.023 0 98.077 16.763 135.787 45H418c-7.18 0-13 5.82-13 13v1c0 7.18 5.82 13 13 13h45.166a222.478 222.478 0 0 1 23.253 29.763h21.461c7.73 0 14 6.27 14 14v.78c0 6.387-4.281 11.777-10.128 13.457H492c-8.84 0-16 7.16-16 16v5c0 8.84 7.16 16 16 16h67.901c6.952 1.741 12.097 8.028 12.097 15.521v.89c0 8.84-7.16 16-16 16z"}),React.createElement("path",{fillRule:"evenodd",fill:"url(#img-broken_svg__c)",d:"M147.977 187.468c-14.64 0-26.51 11.87-26.51 26.5h-5.34c-6.73 0-12.19 5.93-12.19 13.25s5.46 13.25 12.19 13.25h65.65c6.74 0 12.19-5.93 12.19-13.25s-5.45-13.25-12.19-13.25h-7.31c0-14.63-11.86-26.5-26.49-26.5z"}),React.createElement("path",{fillRule:"evenodd",fill:"url(#img-broken_svg__d)",d:"M313.088 148.128c0 5.25 3.91 9.5 8.74 9.5h47.07c4.83 0 8.74-4.25 8.74-9.5s-3.91-9.5-8.74-9.5h-5.24c0-10.5-8.51-19-19-19s-19 8.5-19 19h-3.83c-4.83 0-8.74 4.25-8.74 9.5z"}),React.createElement("path",{style:{fill:"#e7eaf0"},d:"M508 453.5c0 11.036-19.12 20.438-45.869 23.988-6.38 1.885-13.556 3.663-21.438 5.315A16.82 16.82 0 0 1 441 486c0 24.3-52.84 44-118 44-58.623 0-107.274-15.946-116.445-36.841C128.328 487.215 73 472.59 73 455.5c0-22.36 94.71-40.5 211.5-40.5 61.363 0 116.631 5.008 155.269 13.004C477.563 428.253 508 439.575 508 453.5z"}),React.createElement("g",{fillRule:"evenodd"},React.createElement("path",{fill:"url(#img-broken_svg__e)",d:"M356 62c-.12-1.36-.23-2.78-.31-4.26-.09-1.23-.16-2.63-.22-4.17-.06-1.55-.09-3.08-.09-4.6V38.66l9.74-.13h1.19c.42 0 .79-.02 1.13-.06.41 0 .81-.02 1.18-.06a5.374 5.374 0 0 0 2.44-1.95c.63-.88.94-1.9.94-3.05l-.13-.8-.24-.99c-.13-.37-.23-.73-.32-1.05l-1.06-2.1c.21-.74.31-1.44.31-2.1 0-1.61-.45-3.03-1.37-4.26-.92-1.23-2.09-2.1-3.5-2.6l-7.88-15.25a7.22 7.22 0 0 0-2.65-3.09C353.97.39 352.63 0 351.13 0c-1.71 0-3.11.51-4.19 1.54-1.08 1.03-2.02 2.27-2.82 3.71h-.06l-9.81 17.97c-.67.58-1.22 1.26-1.65 2.04-.45.78-.71 1.62-.79 2.53l-1.56 3.58c-.08.21-.14.41-.19.62 0 0-.06.43-.06.68 0 1.44.46 2.68 1.37 3.74a6.535 6.535 0 0 0 3.44 2.06l7.06.37c.34.58.76 1.03 1.28 1.36.53.33 1.14.5 1.85.5.88 0 1.67-.31 2.38-.93v9.45c0 2.71-.03 4.89-.07 6.51-.04 1.63-.08 2.92-.12 3.86L347 62h9z",transform:"translate(92 370)"}),React.createElement("path",{fill:"url(#img-broken_svg__f)",d:"M385 60.7c.88 0 1.67-.31 2.38-.93v9.45c0 2.71-.03 4.89-.07 6.51-.04 1.63-.08 2.92-.12 3.86L387 82h9c-.12-1.36-.23-2.78-.31-4.26-.09-1.23-.16-2.63-.22-4.17-.06-1.55-.09-3.08-.09-4.6V58.66l9.74-.13h1.19c.42 0 .79-.02 1.13-.06.41 0 .81-.02 1.18-.06a5.374 5.374 0 0 0 2.44-1.95c.63-.88.94-1.9.94-3.05l-.13-.8-.24-.99c-.13-.37-.23-.73-.32-1.05l-1.06-2.1c.21-.74.31-1.44.31-2.1 0-1.61-.45-3.03-1.37-4.26-.92-1.23-2.09-2.1-3.5-2.6l-7.88-15.25a7.22 7.22 0 0 0-2.65-3.09c-1.19-.78-2.53-1.17-4.03-1.17-1.71 0-3.11.51-4.19 1.54-1.08 1.03-2.02 2.27-2.82 3.71h-.06l-9.81 17.97c-.67.58-1.22 1.26-1.65 2.04-.45.78-.71 1.62-.79 2.53l-1.56 3.58c-.08.21-.14.41-.19.62 0 0-.06.43-.06.68 0 1.44.46 2.68 1.37 3.74a6.535 6.535 0 0 0 3.44 2.06l7.06.37c.34.58.76 1.03 1.28 1.36.53.33 1.14.5 1.85.5z",transform:"translate(92 370)"}),React.createElement("path",{fill:"url(#img-broken_svg__g)",d:"M35.34 1.66C33.67.55 31.78 0 29.68 0c-2.4 0-4.36.73-5.89 2.19-1.52 1.46-2.83 3.21-3.95 5.26h-.09L5.97 32.96c-.94.81-1.71 1.78-2.32 2.89a8.845 8.845 0 0 0-1.1 3.59l-2.2 5.09c-.11.29-.2.58-.26.87 0 0-.09.62-.09.97 0 2.04.64 3.81 1.93 5.3a9 9 0 0 0 4.83 2.93l9.92.53c.47.82 1.07 1.46 1.8 1.93s1.6.7 2.59.7c1.23 0 2.34-.44 3.34-1.32v13.41c0 3.86-.03 6.95-.09 9.25-.06 2.31-.12 4.14-.18 5.49L23.88 88h12.64c-.17-1.93-.32-3.94-.44-6.05-.11-1.75-.21-3.73-.3-5.92s-.13-4.36-.13-6.53V54.87l13.69-.18h1.67c.59 0 1.11-.02 1.58-.09.59 0 1.14-.02 1.67-.08a7.599 7.599 0 0 0 3.42-2.77c.88-1.25 1.32-2.7 1.32-4.34l-.18-1.13-.35-1.4c-.17-.53-.32-1.03-.44-1.5l-1.49-2.97c.29-1.06.44-2.05.44-2.98 0-2.28-.64-4.3-1.93-6.05s-2.93-2.98-4.92-3.69L39.07 6.05c-.82-1.82-2.07-3.28-3.73-4.39z",transform:"translate(92 370)"})),React.createElement("path",{fillRule:"evenodd",fill:"url(#img-broken_svg__h)",opacity:.5,d:"M195.17 339.008 336 259.118l-180.79-56.11L3 241.048l192.17 97.96z",transform:"translate(180 194.992)"}),React.createElement("path",{fillRule:"evenodd",fill:"url(#img-broken_svg__i)",d:"m120.19 238.468 16.76-67-23.23-50.7L147 87.008l-137.81.8A9.242 9.242 0 0 0 0 97.058v132.16c0 5.12 4.15 9.25 9.26 9.25l103.61 4.54 7.32-4.54z",transform:"translate(180 194.992)"}),React.createElement("path",{fillRule:"evenodd",fill:"url(#img-broken_svg__j)",d:"M0 233.728c0 5.13 4.13 9.28 9.22 9.28h103.19l17.59-70.83-24.95-52.65L130 93.008l-120.85.8c-5.05.04-9.15 4.18-9.15 9.28v130.64z",transform:"translate(180 194.992)"}),React.createElement("path",{fillRule:"evenodd",fill:"url(#img-broken_svg__k)",d:"M129 177.408s-39.15 25.41-39.87 25.47c-15.59-13.61-41.17-39.55-41.17-39.55-2.95-3.01-8.11-3.11-11.19-.2L0 214.158v18.8c0 5.05 3.11 10.05 10.1 10.05h102.84l10.05-40.81 6.01-24.79z",transform:"translate(180 194.992)"}),React.createElement("path",{fillRule:"evenodd",fill:"url(#img-broken_svg__l)",d:"m161.114 121.588 10.21 50.9-39.15 72.66 77.97 21.2c5.34 2.12 11.32-1.05 12.51-6.63l36.14-134.09c1.03-4.82-1.95-9.58-6.76-10.81l-53.81-13.81-37.11 20.58z",transform:"translate(180 194.992)"}),React.createElement("path",{fillRule:"evenodd",fill:"url(#img-broken_svg__m)",d:"m153.53 125.233 10.21 50.89-37.74 67.36 77.98 21.21c5.33 2.12 11.31-1.04 12.5-6.63l34.73-128.8c1.03-4.82-1.96-9.58-6.76-10.81l-53.81-13.81-37.11 20.59z",transform:"translate(180 194.992)"}),React.createElement("path",{fillRule:"evenodd",fill:"url(#img-broken_svg__n)",d:"M181.344 174.368c-2-3.27-6.23-4.33-9.52-2.39l-8.09 4.16-37.65 67.37s67.22 18.7 75.12 20.47c7.91 1.76 13.7.54 14.89-5.08l3.37-11.51-38.12-73.02z",transform:"translate(180 194.992)"}),React.createElement("path",{style:{fill:"#fff"},d:"M223.104 151.697c0-9.32-7.57-16.88-16.9-16.88-9.33 0-16.89 7.56-16.89 16.88s7.56 16.88 16.89 16.88c9.33 0 16.9-7.56 16.9-16.88z",transform:"translate(180 194.992)"}),React.createElement("path",{fillRule:"evenodd",fill:"url(#img-broken_svg__o)",d:"m50.921 37.823 12.386-6.041 11.209 22.982-7.452-32.637-12.592 6.142L42.197 6.864l8.724 30.959z",transform:"translate(180 194.992)"}),React.createElement("path",{fillRule:"evenodd",fill:"url(#img-broken_svg__p)",d:"m217.598 48.895 17.888 17.184-30.945 23.817s47.929-22.37 46.996-23.709c-.925-1.335-18.57-16.992-18.57-16.992l24.134-25.537-39.503 25.236z",transform:"translate(180 194.992)"})),React.createElement("defs",null,React.createElement("linearGradient",{id:"img-broken_svg__i",x1:"178.579%",y1:"114.41%",x2:"-67.6%",y2:"-21.639%",gradientUnits:"objectBoundingBox"},React.createElement("stop",{offset:0,stopColor:"#A2ABB9"}),React.createElement("stop",{offset:1,stopColor:"#E7EAF0"})),React.createElement("linearGradient",{id:"img-broken_svg__p",x1:198.923,y1:151.68,x2:253.588,y2:43.245,gradientUnits:"userSpaceOnUse"},React.createElement("stop",{offset:0,stopColor:"#A2ABB9"}),React.createElement("stop",{offset:1,stopColor:"#E7EAF0"})),React.createElement("linearGradient",{id:"img-broken_svg__d",x1:"144.588%",y1:"98.8%",x2:"29.516%",y2:"100%",gradientUnits:"objectBoundingBox"},React.createElement("stop",{offset:0,stopColor:"#E0E5EF",stopOpacity:0}),React.createElement("stop",{offset:1,stopColor:"#E0E5EF"})),React.createElement("linearGradient",{id:"img-broken_svg__e",x1:"144.588%",y1:"98.8%",x2:"29.516%",y2:"100%",gradientUnits:"objectBoundingBox"},React.createElement("stop",{offset:0,stopColor:"#E0E5EF",stopOpacity:0}),React.createElement("stop",{offset:1,stopColor:"#E0E5EF"})),React.createElement("linearGradient",{id:"img-broken_svg__f",x1:"144.588%",y1:"98.8%",x2:"29.516%",y2:"100%",gradientUnits:"objectBoundingBox"},React.createElement("stop",{offset:0,stopColor:"#E0E5EF",stopOpacity:0}),React.createElement("stop",{offset:1,stopColor:"#E0E5EF"})),React.createElement("linearGradient",{id:"img-broken_svg__g",x1:"144.588%",y1:"98.8%",x2:"29.516%",y2:"100%",gradientUnits:"objectBoundingBox"},React.createElement("stop",{offset:0,stopColor:"#E0E5EF",stopOpacity:0}),React.createElement("stop",{offset:1,stopColor:"#E0E5EF"})),React.createElement("linearGradient",{id:"img-broken_svg__h",x1:"50%",y1:"30.387%",x2:"-31.215%",y2:"-60.228%",gradientUnits:"objectBoundingBox"},React.createElement("stop",{offset:0,stopColor:"#E8EBF1",stopOpacity:.24}),React.createElement("stop",{offset:1,stopColor:"#A2ABB9"})),React.createElement("linearGradient",{id:"img-broken_svg__c",x1:"144.588%",y1:"98.8%",x2:"29.516%",y2:"100%",gradientUnits:"objectBoundingBox"},React.createElement("stop",{offset:0,stopColor:"#E0E5EF",stopOpacity:0}),React.createElement("stop",{offset:1,stopColor:"#E0E5EF"})),React.createElement("linearGradient",{id:"img-broken_svg__j",x1:"137.408%",y1:"115.518%",x2:"64.225%",y2:"-9.666%",gradientUnits:"objectBoundingBox"},React.createElement("stop",{offset:0,stopColor:"#A2ABB9"}),React.createElement("stop",{offset:1,stopColor:"#E7EAF0"})),React.createElement("linearGradient",{id:"img-broken_svg__k",x1:"93.55%",y1:"132.782%",x2:"29.55%",y2:"19.901%",gradientUnits:"objectBoundingBox"},React.createElement("stop",{offset:0,stopColor:"#A2ABB9"}),React.createElement("stop",{offset:1,stopColor:"#E7EAF0"})),React.createElement("linearGradient",{id:"img-broken_svg__l",x1:"178.579%",y1:"114.41%",x2:"-67.6%",y2:"-21.639%",gradientUnits:"objectBoundingBox"},React.createElement("stop",{offset:0,stopColor:"#A2ABB9"}),React.createElement("stop",{offset:1,stopColor:"#E7EAF0"})),React.createElement("linearGradient",{id:"img-broken_svg__m",x1:"113.805%",y1:"123.201%",x2:"30.832%",y2:"0%",gradientUnits:"objectBoundingBox"},React.createElement("stop",{offset:0,stopColor:"#A2ABB9"}),React.createElement("stop",{offset:1,stopColor:"#E7EAF0"})),React.createElement("linearGradient",{id:"img-broken_svg__n",x1:"110.007%",y1:"128.49%",x2:"50%",y2:"0%",gradientUnits:"objectBoundingBox"},React.createElement("stop",{offset:0,stopColor:"#A2ABB9"}),React.createElement("stop",{offset:1,stopColor:"#E7EAF0"})),React.createElement("linearGradient",{id:"img-broken_svg__o",x1:92.534,y1:94.384,x2:55.523,y2:19.166,gradientUnits:"userSpaceOnUse"},React.createElement("stop",{offset:0,stopColor:"#A2ABB9"}),React.createElement("stop",{offset:1,stopColor:"#E7EAF0"})),React.createElement("path",{id:"img-broken_svg__a",d:"M0 0h600v600H0z"})));var Ke="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNjAwIiBoZWlnaHQ9IjYwMCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTAgMGg2MDB2NjAwSDB6Ii8+PG1hc2sgaWQ9ImIiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2EiLz48L21hc2s+PGcgbWFzaz0idXJsKCNiKSI+PHBhdGggc3R5bGU9ImZpbGw6I2YzZjNmYSIgb3BhY2l0eT0iLjYiIGQ9Ik01MjAuODIgMjc2LjQxMWMuNyA3LjEwMyAxLjA1OCAxNC4zMDUgMS4wNTggMjEuNTg5IDAgMTIyLjA0LTEwMC41NCAyMjEtMjI0LjUxIDIyMS05OS4xNTkgMC0xODMuMzI4LTYzLjMxMy0yMTMuMDQ3LTE1MS4xMDdoLTguNDI2Yy0zLjQgMC02LjE3LTIuNzYtNi4xNy02LjE2QTYuMTY4IDYuMTY4IDAgMCAxIDczLjYwOCAzNTZIODRjNy4xOCAwIDEzLTUuODIgMTMtMTN2LTFjMC03LjE4LTUuODItMTMtMTMtMTNoLTguOTVsLS4wMjMtLjE2MUg1Mi44NTVjLTUuNjggMC0xMC4yOC00LjYtMTAuMjgtMTAuMjhzNC42LTEwLjI4IDEwLjI4LTEwLjI4aDIwLjI0MUEyMjEuMDQyIDIyMS4wNDIgMCAwIDEgNzIuODU4IDI5OGMwLTMyLjYyOSA3LjE4Ny02My42MDggMjAuMDg2LTkxLjQ4Nkg1N2MtMTUuNDYgMC0yOC0xMi41NDEtMjgtMjguMDAxdi0xLjU2YzAtMTQuOTEzIDExLjY3LTI3LjExIDI2LjM3My0yNy45NTNIMTgyYzUuNTIgMCAxMC00LjQ4IDEwLTEwcy00LjQ4LTEwLTEwLTEwaC0yOS4yOTRsLjczMi0uNjA1aC0xNC41OWMtMTAuNDkgMC0xOS04LjUxLTE5LTE5di0xLjA2YzAtMTAuNDkgOC41MS0xOSAxOS0xOWg4NC4zOTJDMjQ2LjQ0OCA4MS4zNDUgMjcxLjM5MyA3NyAyOTcuMzY4IDc3YzUxLjAyMyAwIDk4LjA3NyAxNi43NjMgMTM1Ljc4NyA0NUg0MThjLTcuMTggMC0xMyA1LjgyLTEzIDEzdjFjMCA3LjE4IDUuODIgMTMgMTMgMTNoNDUuMTY2YTIyMi40NzggMjIyLjQ3OCAwIDAgMSAyMy4yNTMgMjkuNzYzaDIxLjQ2MWM3LjczIDAgMTQgNi4yNyAxNCAxNHYuNzhjMCA2LjM4Ny00LjI4MSAxMS43NzctMTAuMTI4IDEzLjQ1N0g0OTJjLTguODQgMC0xNiA3LjE2LTE2IDE2djVjMCA4Ljg0IDcuMTYgMTYgMTYgMTZoNjcuOTAxYzYuOTUyIDEuNzQxIDEyLjA5NyA4LjAyOCAxMi4wOTcgMTUuNTIxdi44OWMwIDguODQtNy4xNiAxNi0xNiAxNnoiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9InVybCgjYykiIGQ9Ik0xNDcuOTc3IDE4Ny40NjhjLTE0LjY0IDAtMjYuNTEgMTEuODctMjYuNTEgMjYuNWgtNS4zNGMtNi43MyAwLTEyLjE5IDUuOTMtMTIuMTkgMTMuMjVzNS40NiAxMy4yNSAxMi4xOSAxMy4yNWg2NS42NWM2Ljc0IDAgMTIuMTktNS45MyAxMi4xOS0xMy4yNXMtNS40NS0xMy4yNS0xMi4xOS0xMy4yNWgtNy4zMWMwLTE0LjYzLTExLjg2LTI2LjUtMjYuNDktMjYuNXoiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9InVybCgjZCkiIGQ9Ik0zMTMuMDg4IDE0OC4xMjhjMCA1LjI1IDMuOTEgOS41IDguNzQgOS41aDQ3LjA3YzQuODMgMCA4Ljc0LTQuMjUgOC43NC05LjVzLTMuOTEtOS41LTguNzQtOS41aC01LjI0YzAtMTAuNS04LjUxLTE5LTE5LTE5cy0xOSA4LjUtMTkgMTloLTMuODNjLTQuODMgMC04Ljc0IDQuMjUtOC43NCA5LjV6Ii8+PHBhdGggc3R5bGU9ImZpbGw6I2U3ZWFmMCIgZD0iTTUwOCA0NTMuNWMwIDExLjAzNi0xOS4xMiAyMC40MzgtNDUuODY5IDIzLjk4OC02LjM4IDEuODg1LTEzLjU1NiAzLjY2My0yMS40MzggNS4zMTVBMTYuODIgMTYuODIgMCAwIDEgNDQxIDQ4NmMwIDI0LjMtNTIuODQgNDQtMTE4IDQ0LTU4LjYyMyAwLTEwNy4yNzQtMTUuOTQ2LTExNi40NDUtMzYuODQxQzEyOC4zMjggNDg3LjIxNSA3MyA0NzIuNTkgNzMgNDU1LjVjMC0yMi4zNiA5NC43MS00MC41IDIxMS41LTQwLjUgNjEuMzYzIDAgMTE2LjYzMSA1LjAwOCAxNTUuMjY5IDEzLjAwNEM0NzcuNTYzIDQyOC4yNTMgNTA4IDQzOS41NzUgNTA4IDQ1My41eiIvPjxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZmlsbD0idXJsKCNlKSIgZD0iTTM1NiA2MmMtLjEyLTEuMzYtLjIzLTIuNzgtLjMxLTQuMjYtLjA5LTEuMjMtLjE2LTIuNjMtLjIyLTQuMTctLjA2LTEuNTUtLjA5LTMuMDgtLjA5LTQuNlYzOC42Nmw5Ljc0LS4xM2gxLjE5Yy40MiAwIC43OS0uMDIgMS4xMy0uMDYuNDEgMCAuODEtLjAyIDEuMTgtLjA2YTUuMzc0IDUuMzc0IDAgMCAwIDIuNDQtMS45NWMuNjMtLjg4Ljk0LTEuOS45NC0zLjA1bC0uMTMtLjgtLjI0LS45OWMtLjEzLS4zNy0uMjMtLjczLS4zMi0xLjA1bC0xLjA2LTIuMWMuMjEtLjc0LjMxLTEuNDQuMzEtMi4xIDAtMS42MS0uNDUtMy4wMy0xLjM3LTQuMjYtLjkyLTEuMjMtMi4wOS0yLjEtMy41LTIuNmwtNy44OC0xNS4yNWE3LjIyIDcuMjIgMCAwIDAtMi42NS0zLjA5QzM1My45Ny4zOSAzNTIuNjMgMCAzNTEuMTMgMGMtMS43MSAwLTMuMTEuNTEtNC4xOSAxLjU0LTEuMDggMS4wMy0yLjAyIDIuMjctMi44MiAzLjcxaC0uMDZsLTkuODEgMTcuOTdjLS42Ny41OC0xLjIyIDEuMjYtMS42NSAyLjA0LS40NS43OC0uNzEgMS42Mi0uNzkgMi41M2wtMS41NiAzLjU4Yy0uMDguMjEtLjE0LjQxLS4xOS42MiAwIDAtLjA2LjQzLS4wNi42OCAwIDEuNDQuNDYgMi42OCAxLjM3IDMuNzRhNi41MzUgNi41MzUgMCAwIDAgMy40NCAyLjA2bDcuMDYuMzdjLjM0LjU4Ljc2IDEuMDMgMS4yOCAxLjM2LjUzLjMzIDEuMTQuNSAxLjg1LjUuODggMCAxLjY3LS4zMSAyLjM4LS45M3Y5LjQ1YzAgMi43MS0uMDMgNC44OS0uMDcgNi41MS0uMDQgMS42My0uMDggMi45Mi0uMTIgMy44NkwzNDcgNjJoOXoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkyIDM3MCkiLz48cGF0aCBmaWxsPSJ1cmwoI2YpIiBkPSJNMzg1IDYwLjdjLjg4IDAgMS42Ny0uMzEgMi4zOC0uOTN2OS40NWMwIDIuNzEtLjAzIDQuODktLjA3IDYuNTEtLjA0IDEuNjMtLjA4IDIuOTItLjEyIDMuODZMMzg3IDgyaDljLS4xMi0xLjM2LS4yMy0yLjc4LS4zMS00LjI2LS4wOS0xLjIzLS4xNi0yLjYzLS4yMi00LjE3LS4wNi0xLjU1LS4wOS0zLjA4LS4wOS00LjZWNTguNjZsOS43NC0uMTNoMS4xOWMuNDIgMCAuNzktLjAyIDEuMTMtLjA2LjQxIDAgLjgxLS4wMiAxLjE4LS4wNmE1LjM3NCA1LjM3NCAwIDAgMCAyLjQ0LTEuOTVjLjYzLS44OC45NC0xLjkuOTQtMy4wNWwtLjEzLS44LS4yNC0uOTljLS4xMy0uMzctLjIzLS43My0uMzItMS4wNWwtMS4wNi0yLjFjLjIxLS43NC4zMS0xLjQ0LjMxLTIuMSAwLTEuNjEtLjQ1LTMuMDMtMS4zNy00LjI2LS45Mi0xLjIzLTIuMDktMi4xLTMuNS0yLjZsLTcuODgtMTUuMjVhNy4yMiA3LjIyIDAgMCAwLTIuNjUtMy4wOWMtMS4xOS0uNzgtMi41My0xLjE3LTQuMDMtMS4xNy0xLjcxIDAtMy4xMS41MS00LjE5IDEuNTQtMS4wOCAxLjAzLTIuMDIgMi4yNy0yLjgyIDMuNzFoLS4wNmwtOS44MSAxNy45N2MtLjY3LjU4LTEuMjIgMS4yNi0xLjY1IDIuMDQtLjQ1Ljc4LS43MSAxLjYyLS43OSAyLjUzbC0xLjU2IDMuNThjLS4wOC4yMS0uMTQuNDEtLjE5LjYyIDAgMC0uMDYuNDMtLjA2LjY4IDAgMS40NC40NiAyLjY4IDEuMzcgMy43NGE2LjUzNSA2LjUzNSAwIDAgMCAzLjQ0IDIuMDZsNy4wNi4zN2MuMzQuNTguNzYgMS4wMyAxLjI4IDEuMzYuNTMuMzMgMS4xNC41IDEuODUuNXoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkyIDM3MCkiLz48cGF0aCBmaWxsPSJ1cmwoI2cpIiBkPSJNMzUuMzQgMS42NkMzMy42Ny41NSAzMS43OCAwIDI5LjY4IDBjLTIuNCAwLTQuMzYuNzMtNS44OSAyLjE5LTEuNTIgMS40Ni0yLjgzIDMuMjEtMy45NSA1LjI2aC0uMDlMNS45NyAzMi45NmMtLjk0LjgxLTEuNzEgMS43OC0yLjMyIDIuODlhOC44NDUgOC44NDUgMCAwIDAtMS4xIDMuNTlsLTIuMiA1LjA5Yy0uMTEuMjktLjIuNTgtLjI2Ljg3IDAgMC0uMDkuNjItLjA5Ljk3IDAgMi4wNC42NCAzLjgxIDEuOTMgNS4zYTkgOSAwIDAgMCA0LjgzIDIuOTNsOS45Mi41M2MuNDcuODIgMS4wNyAxLjQ2IDEuOCAxLjkzczEuNi43IDIuNTkuN2MxLjIzIDAgMi4zNC0uNDQgMy4zNC0xLjMydjEzLjQxYzAgMy44Ni0uMDMgNi45NS0uMDkgOS4yNS0uMDYgMi4zMS0uMTIgNC4xNC0uMTggNS40OUwyMy44OCA4OGgxMi42NGMtLjE3LTEuOTMtLjMyLTMuOTQtLjQ0LTYuMDUtLjExLTEuNzUtLjIxLTMuNzMtLjMtNS45MnMtLjEzLTQuMzYtLjEzLTYuNTNWNTQuODdsMTMuNjktLjE4aDEuNjdjLjU5IDAgMS4xMS0uMDIgMS41OC0uMDkuNTkgMCAxLjE0LS4wMiAxLjY3LS4wOGE3LjU5OSA3LjU5OSAwIDAgMCAzLjQyLTIuNzdjLjg4LTEuMjUgMS4zMi0yLjcgMS4zMi00LjM0bC0uMTgtMS4xMy0uMzUtMS40Yy0uMTctLjUzLS4zMi0xLjAzLS40NC0xLjVsLTEuNDktMi45N2MuMjktMS4wNi40NC0yLjA1LjQ0LTIuOTggMC0yLjI4LS42NC00LjMtMS45My02LjA1cy0yLjkzLTIuOTgtNC45Mi0zLjY5TDM5LjA3IDYuMDVjLS44Mi0xLjgyLTIuMDctMy4yOC0zLjczLTQuMzl6IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5MiAzNzApIi8+PC9nPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZmlsbD0idXJsKCNoKSIgb3BhY2l0eT0iLjUiIGQ9Ik0xOTUuMTcgMzM5LjAwOCAzMzYgMjU5LjExOGwtMTgwLjc5LTU2LjExTDMgMjQxLjA0OGwxOTIuMTcgOTcuOTZ6IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxODAgMTk0Ljk5MikiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9InVybCgjaSkiIGQ9Im0xMjAuMTkgMjM4LjQ2OCAxNi43Ni02Ny0yMy4yMy01MC43TDE0NyA4Ny4wMDhsLTEzNy44MS44QTkuMjQyIDkuMjQyIDAgMCAwIDAgOTcuMDU4djEzMi4xNmMwIDUuMTIgNC4xNSA5LjI1IDkuMjYgOS4yNWwxMDMuNjEgNC41NCA3LjMyLTQuNTR6IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxODAgMTk0Ljk5MikiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9InVybCgjaikiIGQ9Ik0wIDIzMy43MjhjMCA1LjEzIDQuMTMgOS4yOCA5LjIyIDkuMjhoMTAzLjE5bDE3LjU5LTcwLjgzLTI0Ljk1LTUyLjY1TDEzMCA5My4wMDhsLTEyMC44NS44Yy01LjA1LjA0LTkuMTUgNC4xOC05LjE1IDkuMjh2MTMwLjY0eiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTgwIDE5NC45OTIpIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBmaWxsPSJ1cmwoI2spIiBkPSJNMTI5IDE3Ny40MDhzLTM5LjE1IDI1LjQxLTM5Ljg3IDI1LjQ3Yy0xNS41OS0xMy42MS00MS4xNy0zOS41NS00MS4xNy0zOS41NS0yLjk1LTMuMDEtOC4xMS0zLjExLTExLjE5LS4yTDAgMjE0LjE1OHYxOC44YzAgNS4wNSAzLjExIDEwLjA1IDEwLjEgMTAuMDVoMTAyLjg0bDEwLjA1LTQwLjgxIDYuMDEtMjQuNzl6IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxODAgMTk0Ljk5MikiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9InVybCgjbCkiIGQ9Im0xNjEuMTE0IDEyMS41ODggMTAuMjEgNTAuOS0zOS4xNSA3Mi42NiA3Ny45NyAyMS4yYzUuMzQgMi4xMiAxMS4zMi0xLjA1IDEyLjUxLTYuNjNsMzYuMTQtMTM0LjA5YzEuMDMtNC44Mi0xLjk1LTkuNTgtNi43Ni0xMC44MWwtNTMuODEtMTMuODEtMzcuMTEgMjAuNTh6IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxODAgMTk0Ljk5MikiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9InVybCgjbSkiIGQ9Im0xNTMuNTMgMTI1LjIzMyAxMC4yMSA1MC44OS0zNy43NCA2Ny4zNiA3Ny45OCAyMS4yMWM1LjMzIDIuMTIgMTEuMzEtMS4wNCAxMi41LTYuNjNsMzQuNzMtMTI4LjhjMS4wMy00LjgyLTEuOTYtOS41OC02Ljc2LTEwLjgxbC01My44MS0xMy44MS0zNy4xMSAyMC41OXoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4MCAxOTQuOTkyKSIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZmlsbD0idXJsKCNuKSIgZD0iTTE4MS4zNDQgMTc0LjM2OGMtMi0zLjI3LTYuMjMtNC4zMy05LjUyLTIuMzlsLTguMDkgNC4xNi0zNy42NSA2Ny4zN3M2Ny4yMiAxOC43IDc1LjEyIDIwLjQ3YzcuOTEgMS43NiAxMy43LjU0IDE0Ljg5LTUuMDhsMy4zNy0xMS41MS0zOC4xMi03My4wMnoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4MCAxOTQuOTkyKSIvPjxwYXRoIHN0eWxlPSJmaWxsOiNmZmYiIGQ9Ik0yMjMuMTA0IDE1MS42OTdjMC05LjMyLTcuNTctMTYuODgtMTYuOS0xNi44OC05LjMzIDAtMTYuODkgNy41Ni0xNi44OSAxNi44OHM3LjU2IDE2Ljg4IDE2Ljg5IDE2Ljg4YzkuMzMgMCAxNi45LTcuNTYgMTYuOS0xNi44OHoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4MCAxOTQuOTkyKSIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZmlsbD0idXJsKCNvKSIgZD0ibTUwLjkyMSAzNy44MjMgMTIuMzg2LTYuMDQxIDExLjIwOSAyMi45ODItNy40NTItMzIuNjM3LTEyLjU5MiA2LjE0Mkw0Mi4xOTcgNi44NjRsOC43MjQgMzAuOTU5eiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTgwIDE5NC45OTIpIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBmaWxsPSJ1cmwoI3ApIiBkPSJtMjE3LjU5OCA0OC44OTUgMTcuODg4IDE3LjE4NC0zMC45NDUgMjMuODE3czQ3LjkyOS0yMi4zNyA0Ni45OTYtMjMuNzA5Yy0uOTI1LTEuMzM1LTE4LjU3LTE2Ljk5Mi0xOC41Ny0xNi45OTJsMjQuMTM0LTI1LjUzNy0zOS41MDMgMjUuMjM2eiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTgwIDE5NC45OTIpIi8+PC9nPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iaSIgeDE9IjE3OC41NzklIiB5MT0iMTE0LjQxJSIgeDI9Ii02Ny42JSIgeTI9Ii0yMS42MzklIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjQTJBQkI5Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRTdFQUYwIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9InAiIHgxPSIxOTguOTIzIiB5MT0iMTUxLjY4IiB4Mj0iMjUzLjU4OCIgeTI9IjQzLjI0NSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI0EyQUJCOSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0U3RUFGMCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJkIiB4MT0iMTQ0LjU4OCUiIHkxPSI5OC44JSIgeDI9IjI5LjUxNiUiIHkyPSIxMDAlIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjRTBFNUVGIiBzdG9wLW9wYWNpdHk9IjAiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNFMEU1RUYiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iZSIgeDE9IjE0NC41ODglIiB5MT0iOTguOCUiIHgyPSIyOS41MTYlIiB5Mj0iMTAwJSIgZ3JhZGllbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI0UwRTVFRiIgc3RvcC1vcGFjaXR5PSIwIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRTBFNUVGIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImYiIHgxPSIxNDQuNTg4JSIgeTE9Ijk4LjglIiB4Mj0iMjkuNTE2JSIgeTI9IjEwMCUiIGdyYWRpZW50VW5pdHM9Im9iamVjdEJvdW5kaW5nQm94Ij48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNFMEU1RUYiIHN0b3Atb3BhY2l0eT0iMCIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0UwRTVFRiIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJnIiB4MT0iMTQ0LjU4OCUiIHkxPSI5OC44JSIgeDI9IjI5LjUxNiUiIHkyPSIxMDAlIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjRTBFNUVGIiBzdG9wLW9wYWNpdHk9IjAiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNFMEU1RUYiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iaCIgeDE9IjUwJSIgeTE9IjMwLjM4NyUiIHgyPSItMzEuMjE1JSIgeTI9Ii02MC4yMjglIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjRThFQkYxIiBzdG9wLW9wYWNpdHk9Ii4yNCIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0EyQUJCOSIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJjIiB4MT0iMTQ0LjU4OCUiIHkxPSI5OC44JSIgeDI9IjI5LjUxNiUiIHkyPSIxMDAlIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjRTBFNUVGIiBzdG9wLW9wYWNpdHk9IjAiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNFMEU1RUYiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iaiIgeDE9IjEzNy40MDglIiB5MT0iMTE1LjUxOCUiIHgyPSI2NC4yMjUlIiB5Mj0iLTkuNjY2JSIgZ3JhZGllbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI0EyQUJCOSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0U3RUFGMCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJrIiB4MT0iOTMuNTUlIiB5MT0iMTMyLjc4MiUiIHgyPSIyOS41NSUiIHkyPSIxOS45MDElIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjQTJBQkI5Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRTdFQUYwIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImwiIHgxPSIxNzguNTc5JSIgeTE9IjExNC40MSUiIHgyPSItNjcuNiUiIHkyPSItMjEuNjM5JSIgZ3JhZGllbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI0EyQUJCOSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0U3RUFGMCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJtIiB4MT0iMTEzLjgwNSUiIHkxPSIxMjMuMjAxJSIgeDI9IjMwLjgzMiUiIHkyPSIwJSIgZ3JhZGllbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI0EyQUJCOSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0U3RUFGMCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJuIiB4MT0iMTEwLjAwNyUiIHkxPSIxMjguNDklIiB4Mj0iNTAlIiB5Mj0iMCUiIGdyYWRpZW50VW5pdHM9Im9iamVjdEJvdW5kaW5nQm94Ij48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNBMkFCQjkiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNFN0VBRjAiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0ibyIgeDE9IjkyLjUzNCIgeTE9Ijk0LjM4NCIgeDI9IjU1LjUyMyIgeTI9IjE5LjE2NiIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI0EyQUJCOSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0U3RUFGMCIvPjwvbGluZWFyR3JhZGllbnQ+PHBhdGggaWQ9ImEiIGQ9Ik0wIDBoNjAwdjYwMEgweiIvPjwvZGVmcz48L3N2Zz4=",he=function(ye){var Te=ye.url,An=Te===void 0?"":Te,yt=ye.imgRef,Pn=ye.canvasRef,Sn=ye.activeCanvasRef,In=ye.clientSize,Un=ye.imagePos,ir=ye.onLoad,Mr=(0,g.useState)(!1),pr=s()(Mr,2),Ln=pr[0],da=pr[1],Rr=(0,g.useState)(!0),Yn=s()(Rr,2),lr=Yn[0],Nr=Yn[1],ia=function(rr){Nr(!1),ir(rr)},Vr=function(rr){rr.stopPropagation(),yt!=null&&yt.current&&(yt.current.src=An,Nr(!0),da(!1))},Lr=function(rr){var Jn=rr.target;Jn.src=Ke,Nr(!1),da(!0)},ga=An.indexOf("aliyuncs.com")>-1?"anonymous":void 0;return(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)("img",{ref:yt,src:An,alt:"pic",crossOrigin:ga,style:{width:In.width,height:In.height},onLoad:ia,onError:Lr}),(0,C.jsx)("canvas",{ref:Pn,draggable:!1,onContextMenu:function(rr){return rr.preventDefault()},className:"dds-annotator-imageview-canvas"}),(0,C.jsx)("canvas",{ref:Sn,draggable:!1,onContextMenu:function(rr){return rr.preventDefault()},className:"dds-annotator-imageview-canvas"}),Ln&&(0,C.jsxs)("div",{className:"dds-annotator-imageview-reload-cover",onClick:Vr,onDoubleClick:Vr,style:{left:Un.current.x,top:Un.current.y,width:In.width,height:In.height},children:[(0,C.jsx)("img",{src:Ke,alt:"error-pic"}),(0,C.jsx)("div",{className:"content-box",children:(0,C.jsx)(x.ZP,{ghost:!0,type:"primary",className:"reload-trigger",shape:"circle",size:"small",icon:(0,C.jsx)(qe.Z,{})})})]}),lr&&(0,C.jsx)("div",{className:"dds-annotator-imageview-reload-cover",style:{backgroundColor:"#f6f6f6",left:Un.current.x,top:Un.current.y,width:In.width,height:In.height},children:(0,C.jsx)(Xe.Z,{className:"reload-trigger"})})]})},J=e(39875),V=e(32814),R=e(45060),P=e(23707),B=e(17410),ge=(0,g.memo)(function(Ze){var ye=Ze.AIAnnotation,Te=Ze.modelOptions,An=Ze.selectedModel,yt=Ze.onSelectModel,Pn=Ze.onCloseModal,Sn=(0,z.bU)(),In=Sn.localeText,Un=Te.length*220+(Te.length+1)*20,ir=(0,g.useMemo)(function(){return!!(ye&&Te&&Te.length>1&&!An)},[ye,Te,An]);return(0,C.jsx)(k,{children:(0,C.jsx)(n.Z,{open:ir,title:In("DDSAnnotator.smart.modelSelectModal.title"),width:Un,onCancel:Pn,footer:null,centered:!0,destroyOnClose:!0,children:(0,C.jsx)("div",{className:"dds-annotator-model-selector-modal",children:Te.map(function(Mr,pr){var Ln=B.TR[Mr];return Ln?(0,C.jsxs)("div",{className:c()("dds-annotator-model-selector-modal-option",{"dds-annotator-model-selector-modal-option-hightlight":Ln.hightlight}),onClick:function(){return yt(Mr)},children:[(0,C.jsx)(J.Z,{className:"dds-annotator-model-selector-modal-option-icon",component:Ln.icon}),(0,C.jsx)("div",{className:"dds-annotator-model-selector-modal-option-name",children:In(Ln.name)}),(0,C.jsx)("div",{className:"dds-annotator-model-selector-modal-option-description",children:In(Ln.description)}),Ln.hightlight&&(0,C.jsx)(V.Z,{color:"geekblue",className:"dds-annotator-model-selector-modal-option-tag",children:"New"})]},pr):(0,C.jsx)(C.Fragment,{})})})})})}),ie=ge,pe=e(23605),Oe=e(2556),xe=e(82968),Se=e(37617),$e=e(28506),re=e(18695),oe=Object.defineProperty,q=Object.getOwnPropertySymbols,ue=Object.prototype.hasOwnProperty,Ee=Object.prototype.propertyIsEnumerable,le=(Ze,ye,Te)=>ye in Ze?oe(Ze,ye,{enumerable:!0,configurable:!0,writable:!0,value:Te}):Ze[ye]=Te,Ne=(Ze,ye)=>{for(var Te in ye||(ye={}))ue.call(ye,Te)&&le(Ze,Te,ye[Te]);if(q)for(var Te of q(ye))Ee.call(ye,Te)&&le(Ze,Te,ye[Te]);return Ze};const Ae=Ze=>g.createElement("svg",Ne({width:10,height:10,fill:"none",xmlns:"http://www.w3.org/2000/svg"},Ze),g.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M1.464 5.65A1 1 0 0 0 2.88 7.064l2.12-2.12 2.122 2.12A1 1 0 0 0 8.535 5.65L5.713 2.828a1 1 0 0 0-1.42-.006L1.464 5.65Z",fill:"#fff"}));var we="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xLjQ2NCA1LjY1QTEgMSAwIDAgMCAyLjg4IDcuMDY0bDIuMTItMi4xMiAyLjEyMiAyLjEyQTEgMSAwIDAgMCA4LjUzNSA1LjY1TDUuNzEzIDIuODI4YTEgMSAwIDAgMC0xLjQyLS4wMDZMMS40NjQgNS42NVoiIGZpbGw9IiNmZmYiLz48L3N2Zz4=",Re=Object.defineProperty,st=Object.getOwnPropertySymbols,nt=Object.prototype.hasOwnProperty,_e=Object.prototype.propertyIsEnumerable,We=(Ze,ye,Te)=>ye in Ze?Re(Ze,ye,{enumerable:!0,configurable:!0,writable:!0,value:Te}):Ze[ye]=Te,Be=(Ze,ye)=>{for(var Te in ye||(ye={}))nt.call(ye,Te)&&We(Ze,Te,ye[Te]);if(st)for(var Te of st(ye))_e.call(ye,Te)&&We(Ze,Te,ye[Te]);return Ze};const it=Ze=>g.createElement("svg",Be({viewBox:"0 0 15 15",xmlns:"http://www.w3.org/2000/svg"},Ze),g.createElement("g",{clipPath:"url(#layer_svg__a)"},g.createElement("path",{d:"m.57 6.625 5.805 3.48a2.182 2.182 0 0 0 2.25 0l5.805-3.48a1.163 1.163 0 0 0 0-1.995L8.625 1.144a2.18 2.18 0 0 0-2.25 0L.57 4.625a1.163 1.163 0 0 0 0 1.995v.005ZM7.34 2.75a.313.313 0 0 1 .32 0l4.789 2.875L7.66 8.5a.313.313 0 0 1-.322 0L2.551 5.625 7.34 2.75Z"}),g.createElement("path",{d:"M8.304 11.77a1.562 1.562 0 0 1-1.608 0L1.42 8.603a.937.937 0 0 0-.965 1.607l5.276 3.164a3.43 3.43 0 0 0 3.538 0l5.276-3.166a.937.937 0 1 0-.965-1.605l-5.276 3.165Z"})),g.createElement("defs",null,g.createElement("clipPath",{id:"layer_svg__a"},g.createElement("path",{fill:"#fff",d:"M0 0h15v15H0z"}))));var Ge="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTUgMTUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJtLjU3IDYuNjI1IDUuODA1IDMuNDhhMi4xODIgMi4xODIgMCAwIDAgMi4yNSAwbDUuODA1LTMuNDhhMS4xNjMgMS4xNjMgMCAwIDAgMC0xLjk5NUw4LjYyNSAxLjE0NGEyLjE4IDIuMTggMCAwIDAtMi4yNSAwTC41NyA0LjYyNWExLjE2MyAxLjE2MyAwIDAgMCAwIDEuOTk1di4wMDVaTTcuMzQgMi43NWEuMzEzLjMxMyAwIDAgMSAuMzIgMGw0Ljc4OSAyLjg3NUw3LjY2IDguNWEuMzEzLjMxMyAwIDAgMS0uMzIyIDBMMi41NTEgNS42MjUgNy4zNCAyLjc1WiIvPjxwYXRoIGQ9Ik04LjMwNCAxMS43N2ExLjU2MiAxLjU2MiAwIDAgMS0xLjYwOCAwTDEuNDIgOC42MDNhLjkzNy45MzcgMCAwIDAtLjk2NSAxLjYwN2w1LjI3NiAzLjE2NGEzLjQzIDMuNDMgMCAwIDAgMy41MzggMGw1LjI3Ni0zLjE2NmEuOTM3LjkzNyAwIDEgMC0uOTY1LTEuNjA1bC01LjI3NiAzLjE2NVoiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDE1djE1SDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+",Ot=Object.defineProperty,$t=Object.getOwnPropertySymbols,wt=Object.prototype.hasOwnProperty,Pt=Object.prototype.propertyIsEnumerable,dt=(Ze,ye,Te)=>ye in Ze?Ot(Ze,ye,{enumerable:!0,configurable:!0,writable:!0,value:Te}):Ze[ye]=Te,je=(Ze,ye)=>{for(var Te in ye||(ye={}))wt.call(ye,Te)&&dt(Ze,Te,ye[Te]);if($t)for(var Te of $t(ye))Pt.call(ye,Te)&&dt(Ze,Te,ye[Te]);return Ze};const tt=Ze=>g.createElement("svg",je({className:"palette_svg__icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:16,height:16},Ze),g.createElement("path",{d:"M512 102.39c-226.202 0-409.6 183.367-409.6 409.6S285.798 921.62 512 921.62a408.556 408.556 0 0 0 156.672-31.2 68.332 68.332 0 0 0 22.16-111.402l-48.057-48.056a68.28 68.28 0 0 1 48.261-116.542l162.304-.04a68.26 68.26 0 0 0 68.27-68.26v-34.13c-.01-226.243-183.378-409.6-409.61-409.6zm341.33 443.73-162.304.03c-75.305 0-136.53 61.225-136.53 136.53 0 36.485 14.203 70.738 39.997 96.543l48.067 48.056a338.166 338.166 0 0 1-130.57 26.082c-188.201 0-341.33-153.14-341.33-341.371S323.799 170.65 512 170.65s341.33 153.098 341.33 341.33v34.14z",fill:"#fff"}),g.createElement("path",{d:"M443.73 307.19a68.27 68.27 0 1 0 136.54 0 68.27 68.27 0 1 0-136.54 0ZM300.503 555.254a68.198 68.198 0 0 1 93.225 24.996 68.3 68.3 0 0 1-24.934 93.266 68.352 68.352 0 0 1-93.297-24.996 68.321 68.321 0 0 1 25.006-93.266zM621.056 409.59a68.29 68.29 0 1 0 136.581 0 68.29 68.29 0 1 0-136.581 0ZM300.503 468.716a68.26 68.26 0 0 1-24.965-93.266 68.25 68.25 0 1 1 118.2 68.239 68.27 68.27 0 0 1-93.235 25.027z",fill:"#fff"}));var lt="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjxwYXRoIGQ9Ik01MTIgMTAyLjM5Yy0yMjYuMjAyIDAtNDA5LjYgMTgzLjM2Ny00MDkuNiA0MDkuNlMyODUuNzk4IDkyMS42MiA1MTIgOTIxLjYyYTQwOC41NTYgNDA4LjU1NiAwIDAgMCAxNTYuNjcyLTMxLjIgNjguMzMyIDY4LjMzMiAwIDAgMCAyMi4xNi0xMTEuNDAybC00OC4wNTctNDguMDU2YTY4LjI4IDY4LjI4IDAgMCAxIDQ4LjI2MS0xMTYuNTQybDE2Mi4zMDQtLjA0YTY4LjI2IDY4LjI2IDAgMCAwIDY4LjI3LTY4LjI2di0zNC4xM2MtLjAxLTIyNi4yNDMtMTgzLjM3OC00MDkuNi00MDkuNjEtNDA5LjZ6bTM0MS4zMyA0NDMuNzMtMTYyLjMwNC4wM2MtNzUuMzA1IDAtMTM2LjUzIDYxLjIyNS0xMzYuNTMgMTM2LjUzIDAgMzYuNDg1IDE0LjIwMyA3MC43MzggMzkuOTk3IDk2LjU0M2w0OC4wNjcgNDguMDU2YTMzOC4xNjYgMzM4LjE2NiAwIDAgMS0xMzAuNTcgMjYuMDgyYy0xODguMjAxIDAtMzQxLjMzLTE1My4xNC0zNDEuMzMtMzQxLjM3MVMzMjMuNzk5IDE3MC42NSA1MTIgMTcwLjY1czM0MS4zMyAxNTMuMDk4IDM0MS4zMyAzNDEuMzN2MzQuMTR6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTQ0My43MyAzMDcuMTlhNjguMjcgNjguMjcgMCAxIDAgMTM2LjU0IDAgNjguMjcgNjguMjcgMCAxIDAtMTM2LjU0IDBaTTMwMC41MDMgNTU1LjI1NGE2OC4xOTggNjguMTk4IDAgMCAxIDkzLjIyNSAyNC45OTYgNjguMyA2OC4zIDAgMCAxLTI0LjkzNCA5My4yNjYgNjguMzUyIDY4LjM1MiAwIDAgMS05My4yOTctMjQuOTk2IDY4LjMyMSA2OC4zMjEgMCAwIDEgMjUuMDA2LTkzLjI2NnpNNjIxLjA1NiA0MDkuNTlhNjguMjkgNjguMjkgMCAxIDAgMTM2LjU4MSAwIDY4LjI5IDY4LjI5IDAgMSAwLTEzNi41ODEgMFpNMzAwLjUwMyA0NjguNzE2YTY4LjI2IDY4LjI2IDAgMCAxLTI0Ljk2NS05My4yNjYgNjguMjUgNjguMjUgMCAxIDEgMTE4LjIgNjguMjM5IDY4LjI3IDY4LjI3IDAgMCAxLTkzLjIzNSAyNS4wMjd6IiBmaWxsPSIjZmZmIi8+PC9zdmc+",bt=e(2657),It=e.n(bt),Kt,zt=function(Ze){return Ze.Tool="DDSAnnotator.shortcuts.tools",Ze.GeneralAction="DDSAnnotator.shortcuts.general",Ze.ViewAction="DDSAnnotator.shortcuts.viewControl",Ze.AnnotationAction="DDSAnnotator.shortcuts.annotsControl",Ze}({}),Mt=function(Ze){return Ze[Ze.RectangleTool=0]="RectangleTool",Ze[Ze.PolygonTool=1]="PolygonTool",Ze[Ze.SkeletonTool=2]="SkeletonTool",Ze[Ze.DragTool=3]="DragTool",Ze[Ze.MaskTool=4]="MaskTool",Ze[Ze.SmartAnnotation=5]="SmartAnnotation",Ze[Ze.Undo=6]="Undo",Ze[Ze.Redo=7]="Redo",Ze[Ze.RepeatPrevious=8]="RepeatPrevious",Ze[Ze.DeleteAll=9]="DeleteAll",Ze[Ze.NextImage=10]="NextImage",Ze[Ze.PreviousImage=11]="PreviousImage",Ze[Ze.Save=12]="Save",Ze[Ze.Accept=13]="Accept",Ze[Ze.Reject=14]="Reject",Ze[Ze.ZoomIn=15]="ZoomIn",Ze[Ze.ZoomOut=16]="ZoomOut",Ze[Ze.Reset=17]="Reset",Ze[Ze.HideCurrObject=18]="HideCurrObject",Ze[Ze.HideCurrCategory=19]="HideCurrCategory",Ze[Ze.HideAll=20]="HideAll",Ze[Ze.PanImage=21]="PanImage",Ze[Ze.DeleteCurrObject=22]="DeleteCurrObject",Ze[Ze.SaveCurrObject=23]="SaveCurrObject",Ze[Ze.CancelCurrObject=24]="CancelCurrObject",Ze}({}),Le=(Kt={},It()(Kt,Mt.RectangleTool,{name:"RectangleTool",type:zt.Tool,shortcut:["r"],descTextKey:"DDSAnnotator.shortcuts.tools.rectangle"}),It()(Kt,Mt.PolygonTool,{name:"PolygonTool",type:zt.Tool,shortcut:["p"],descTextKey:"DDSAnnotator.shortcuts.tools.polygon"}),It()(Kt,Mt.SkeletonTool,{name:"SkeletonTool",type:zt.Tool,shortcut:["s"],descTextKey:"DDSAnnotator.shortcuts.tools.skeleton"}),It()(Kt,Mt.MaskTool,{name:"MaskTool",type:zt.Tool,shortcut:["m"],descTextKey:"DDSAnnotator.shortcuts.tools.mask"}),It()(Kt,Mt.DragTool,{name:"DragTool",type:zt.Tool,shortcut:["d"],descTextKey:"DDSAnnotator.shortcuts.tools.drag"}),It()(Kt,Mt.SmartAnnotation,{name:"SmartAnnotation",type:zt.GeneralAction,shortcut:["a"],descTextKey:"DDSAnnotator.shortcuts.general.smart"}),It()(Kt,Mt.Undo,{name:"Undo",type:zt.GeneralAction,shortcut:["ctrl.z","meta.z"],descTextKey:"DDSAnnotator.shortcuts.general.undo"}),It()(Kt,Mt.Redo,{name:"Redo",type:zt.GeneralAction,shortcut:["ctrl.shift.z","meta.shift.z"],descTextKey:"DDSAnnotator.shortcuts.general.redo"}),It()(Kt,Mt.RepeatPrevious,{name:"RepeatPrevious",type:zt.GeneralAction,shortcut:["ctrl.r","meta.r"],descTextKey:"DDSAnnotator.shortcuts.general.repeatPrevious"}),It()(Kt,Mt.DeleteAll,{name:"DeleteAll",type:zt.GeneralAction,shortcut:["ctrl.shift.d","meta.shift.d"],descTextKey:"DDSAnnotator.shortcuts.general.deleteAll"}),It()(Kt,Mt.Save,{name:"Save",type:zt.GeneralAction,shortcut:["ctrl.s","meta.s"],descTextKey:"DDSAnnotator.shortcuts.general.save"}),It()(Kt,Mt.HideCurrObject,{name:"HideCurrObject",type:zt.ViewAction,shortcut:["h"],descTextKey:"DDSAnnotator.shortcuts.viewControl.hideCurrObject"}),It()(Kt,Mt.HideCurrCategory,{name:"HideCurrCategory",type:zt.ViewAction,shortcut:["ctrl.h","meta.h"],descTextKey:"DDSAnnotator.shortcuts.viewControl.hideCurrCategory"}),It()(Kt,Mt.HideAll,{name:"HideAll",type:zt.ViewAction,shortcut:["ctrl.shift.h","meta.shift.h"],descTextKey:"DDSAnnotator.shortcuts.viewControl.hideAll"}),It()(Kt,Mt.ZoomIn,{name:"ZoomIn",type:zt.ViewAction,shortcut:["equalsign"],descTextKey:"DDSAnnotator.shortcuts.viewControl.zoomIn"}),It()(Kt,Mt.ZoomOut,{name:"ZoomOut",type:zt.ViewAction,shortcut:["dash"],descTextKey:"DDSAnnotator.shortcuts.viewControl.zoomOut"}),It()(Kt,Mt.Reset,{name:"Reset",type:zt.ViewAction,shortcut:["0"],descTextKey:"DDSAnnotator.shortcuts.viewControl.zoomReset"}),It()(Kt,Mt.Accept,{name:"Accept",type:zt.GeneralAction,shortcut:["ctrl.a","meta.a"],descTextKey:"DDSAnnotator.shortcuts.general.accept"}),It()(Kt,Mt.Reject,{name:"Reject",type:zt.GeneralAction,shortcut:["ctrl.r","meta.r"],descTextKey:"DDSAnnotator.shortcuts.general.reject"}),It()(Kt,Mt.NextImage,{name:"NextImage",type:zt.ViewAction,shortcut:["rightarrow"],descTextKey:"DDSAnnotator.shortcuts.general.next"}),It()(Kt,Mt.PreviousImage,{name:"PreviousImage",type:zt.ViewAction,shortcut:["leftarrow"],descTextKey:"DDSAnnotator.shortcuts.general.prev"}),It()(Kt,Mt.PanImage,{name:"PanImage",type:zt.ViewAction,shortcut:["Space"],descTextKey:"DDSAnnotator.shortcuts.viewControl.panImage"}),It()(Kt,Mt.SaveCurrObject,{name:"SaveCurrObject",type:zt.AnnotationAction,shortcut:["enter"],descTextKey:"DDSAnnotator.shortcuts.annotsControl.finish"}),It()(Kt,Mt.DeleteCurrObject,{name:"DeleteCurrObject",type:zt.AnnotationAction,shortcut:["Backspace","Delete"],descTextKey:"DDSAnnotator.shortcuts.annotsControl.delete"}),It()(Kt,Mt.CancelCurrObject,{name:"CancelCurrObject",type:zt.AnnotationAction,shortcut:["esc"],descTextKey:"DDSAnnotator.shortcuts.annotsControl.cancel"}),Kt),Ce=function(ye){var Te=ye;switch(ye){case"meta":Te="\u2318";break;case"shift":Te="\u21E7";break;case"equalsign":case"add":Te="+";break;case"dash":case"subtract":Te="-";break;case"leftarrow":Te="\u2190";break;case"rightarrow":Te="\u2192";break;default:Te=ye.toUpperCase();break}return Te},Et=function(Ze){return Ze.Object="object",Ze.Class="class",Ze}(Et||{}),Tt=function(ye,Te){return(0,m.isEqual)(ye.objects,Te.objects)&&(0,m.isEqual)(ye.framesObjects,Te.framesObjects)&&ye.activeObjectIndex===Te.activeObjectIndex&&ye.supportEdit===Te.supportEdit&&ye.activeClassName===Te.activeClassName&&ye.className===Te.className&&ye.onChangeActiveClassName===Te.onChangeActiveClassName&&ye.onFocusObject===Te.onFocusObject&&ye.onDeleteObject===Te.onDeleteObject&&ye.onChangeObjectHidden===Te.onChangeObjectHidden&&ye.onChangeCategoryHidden===Te.onChangeCategoryHidden&&ye.setDrawDataWithHistory===Te.setDrawDataWithHistory&&(0,m.isEqual)(ye.categories,Te.categories)&&ye.colorByCategory===Te.colorByCategory&&ye.onChangeAnnotsDisplayOpts===Te.onChangeAnnotsDisplayOpts},Ye=(0,g.memo)(function(Ze){var ye=Ze.objects,Te=Ze.framesObjects,An=Ze.activeObjectIndex,yt=Ze.className,Pn=Ze.supportEdit,Sn=Ze.activeClassName,In=Ze.onFocusObject,Un=Ze.onActiveObject,ir=Ze.onChangeObjectHidden,Mr=Ze.onDeleteObject,pr=Ze.onChangeCategoryHidden,Ln=Ze.onChangeActiveClassName,da=Ze.categories,Rr=Ze.setDrawDataWithHistory,Yn=Ze.colorByCategory,lr=Ze.onChangeAnnotsDisplayOpts,Nr=(0,z.bU)(),ia=Nr.localeText,Vr=ia("DDSAnnotator.annotsList.uncategorized"),Lr=(0,g.useState)(Et.Class),ga=s()(Lr,2),aa=ga[0],rr=ga[1],Jn=function(ze){rr(ze)},Fr=(0,$e.w)(),Er=Fr.height,jr=45,Cr=35,Ur=Er-jr-56,Yr=(0,g.useRef)(null),Gr=(0,g.useMemo)(function(){return!ye.some(function(Me){return!Me.hidden})},[ye]),Jr=function(){ye.forEach(function(ze,Qe){ir(Qe,!Gr)})},Xr=function(){lr({colorByCategory:!Yn})},K=(0,g.useCallback)(function(Me,ze,Qe){Un(Qe),Rr(function(St){St.editingAttribute={index:Qe,labelId:Me.labelId,attributes:ze.attributes||[],values:Me.attributes||[]}})},[Un]);(0,Oe.Z)(Le[Mt.HideAll].shortcut,function(Me){Me.preventDefault(),Jr()},{exactMatch:!0});var F=(0,g.useMemo)(function(){return ye.reduce(function(Me,ze,Qe){var St,At=((St=da.find(function(Yt){return Yt.id===ze.labelId}))===null||St===void 0?void 0:St.name)||Vr;return Me[At]||(Me[At]=[]),Me[At].push(t()(t()({},ze),{},{originIndex:Qe})),Me},{})},[ye]);(0,g.useEffect)(function(){if(!(An<0)){var Me=document.querySelector(".ant-tabs-tabpane-active");if(aa===Et.Object){var ze=Me==null?void 0:Me.querySelector(".tab-collapse .ant-collapse-item:nth-child(".concat(An+1,")"));ze==null||ze.scrollIntoView({behavior:"smooth",block:"nearest"})}else if(aa===Et.Class&&F[Sn]){var Qe=F[Sn].findIndex(function(At){return At.originIndex===An});if(Qe>-1){var St;(St=Yr.current)===null||St===void 0||St.scrollTo({index:Qe,align:"auto"})}}}},[An]);var ce=(0,C.jsx)(xe.Z,{accordion:!0,ghost:!0,className:"tab-collapse",activeKey:Sn,children:ye.length>0&&Object.keys(F).sort().map(function(Me){var ze,Qe=F[Me],St=Qe.every(function(Yt){return Yt.hidden}),At=(ze=Qe[0])===null||ze===void 0?void 0:ze.color;return(0,C.jsx)(xe.Z.Panel,{showArrow:!1,header:(0,C.jsxs)("div",{className:c()("collapse-header",{"collapse-header-selected":Sn===Me}),style:{height:jr},onClick:function(){Ln(Me===Sn?"":Me)},children:[Sn===Me&&(0,C.jsx)("div",{className:"selected-line",style:{backgroundColor:At||"#fff"}}),(0,C.jsx)("div",{className:"label-name",children:Me}),(0,C.jsxs)("div",{className:"label-actions",children:[(0,C.jsx)("span",{className:"label-count",children:Qe.length}),Pn&&(0,C.jsx)(T.Z,{title:ia(St?"DDSAnnotator.annotsList.showCate":"DDSAnnotator.annotsList.hideCate"),children:(0,C.jsx)(x.ZP,{ghost:!0,className:"label-btn",icon:St?(0,C.jsx)(de.Z,{}):(0,C.jsx)(me.Z,{}),shape:"circle",onClick:function(ln){ln.stopPropagation(),pr(Me,!St)}})}),(0,C.jsx)(x.ZP,{ghost:!0,className:"label-btn",icon:(0,C.jsx)(Ae,{className:"down-arrow"}),shape:"circle"})]})]},Me),children:Sn===Me&&(0,C.jsx)(Se.Z,{children:(0,C.jsx)(re.Z,{data:Qe,height:Ur,fullHeight:!1,itemHeight:Cr,itemKey:"originIndex",ref:Yr,children:function(ln,Hn){var Dn,qn,Kr,na,Or=da.find(function(to){return to.id===ln.labelId}),ba=!!(Or!=null&&(Dn=Or.attributes)!==null&&Dn!==void 0&&Dn.length),Pa=Or==null||(qn=Or.attributes)===null||qn===void 0?void 0:qn.find(function(to,Ra){var Aa;return to.required&&[void 0,null,""].includes((Aa=ln.attributes)===null||Aa===void 0?void 0:Aa[Ra])}),Za=(Te==null||(Kr=Te[ln.originIndex])===null||Kr===void 0||(na=Kr.filter(function(to){return to&&!to.frameEmpty}))===null||na===void 0?void 0:na.length)||1;return(0,C.jsxs)(Se.Z.Item,{className:"collapse-item",style:{height:Cr},onMouseOver:function(){In(ln.originIndex)},onClick:function(Ra){Ra.stopPropagation(),Un(ln.originIndex)},children:[An===ln.originIndex&&(0,C.jsx)("div",{className:"color-hint",style:{backgroundColor:ln.color}}),(0,C.jsx)(J.Z,{className:"label-icon",component:B.ef[ln.type]}),(0,C.jsxs)("div",{className:"label",children:["# ",ln.originIndex+1]}),(0,C.jsxs)("div",{className:"label-actions",children:[Te&&(0,C.jsxs)("span",{className:"frame-count",children:[(0,C.jsx)(it,{})," ",Za]}),ba&&(0,C.jsx)(T.Z,{title:ia("DDSAnnotator.attribute.edit"),children:(0,C.jsx)(x.ZP,{ghost:!0,className:c()("attr-btn",{"attr-btn-warn":Pa}),icon:(0,C.jsx)(ee,{}),shape:"circle",onClick:function(Ra){Ra.stopPropagation(),K(ln,Or,ln.originIndex)}})}),(0,C.jsx)(T.Z,{title:ln.hidden?ia("DDSAnnotator.annotsList.show"):ia("DDSAnnotator.annotsList.hide"),children:(0,C.jsx)(x.ZP,{ghost:!0,className:"label-btn",icon:ln.hidden?(0,C.jsx)(de.Z,{}):(0,C.jsx)(me.Z,{}),shape:"circle",onClick:function(Ra){Ra.stopPropagation(),ir(ln.originIndex,!ln.hidden)}})}),Pn&&(0,C.jsx)(C.Fragment,{children:(0,C.jsx)(T.Z,{title:ia("DDSAnnotator.annotsList.delete"),children:(0,C.jsx)(x.ZP,{ghost:!0,className:"label-btn",icon:(0,C.jsx)(pe.Z,{}),shape:"circle",onClick:function(Ra){Ra.stopPropagation(),Mr(ln.originIndex)}})})})]})]},ln.labelId+Hn)}})})},Me||Vr)})});return(0,C.jsx)("div",{className:c()("dds-annotator-objectlist",yt),id:"rightOperations",onMouseDown:function(ze){ze.stopPropagation()},children:(0,C.jsx)(ve.Z,{activeKey:aa,onChange:Jn,items:[{key:Et.Class,label:ia("DDSAnnotator.annotsList.labels"),children:ce}],tabBarExtraContent:(0,C.jsxs)("div",{className:"tab-header-actions",children:[(0,C.jsx)(T.Z,{title:ia("DDSAnnotator.colorMode"),children:(0,C.jsx)(x.ZP,{type:"primary",className:c()("tab-header-actions-color-btn",{"tab-header-actions-color-btn-active":!Yn}),icon:(0,C.jsx)(J.Z,{component:tt}),onClick:Xr})}),ye.length>0&&(0,C.jsx)(T.Z,{title:ia(Gr?"DDSAnnotator.annotsList.showAll":"DDSAnnotator.annotsList.hideAll"),children:(0,C.jsx)(x.ZP,{ghost:!0,icon:Gr?(0,C.jsx)(de.Z,{}):(0,C.jsx)(me.Z,{}),shape:"circle",onClick:Jr})})]})})})},Tt),et=e(60698),_t={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M690 405h-46.9c-10.2 0-19.9 4.9-25.9 13.2L512 563.6 406.8 418.2c-6-8.3-15.6-13.2-25.9-13.2H334c-6.5 0-10.3 7.4-6.5 12.7l178 246c3.2 4.4 9.7 4.4 12.9 0l178-246c3.9-5.3.1-12.7-6.4-12.7z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"down-circle",theme:"outlined"},Ut=_t,qt=e(17202),un=function(ye,Te){return g.createElement(qt.Z,(0,et.Z)({},ye,{ref:Te,icon:Ut}))},Mn=g.forwardRef(un),vn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M518.5 360.3a7.95 7.95 0 00-12.9 0l-178 246c-3.8 5.3 0 12.7 6.5 12.7H381c10.2 0 19.9-4.9 25.9-13.2L512 460.4l105.2 145.4c6 8.3 15.6 13.2 25.9 13.2H690c6.5 0 10.3-7.4 6.5-12.7l-178-246z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"up-circle",theme:"outlined"},Xn=vn,Vn=function(ye,Te){return g.createElement(qt.Z,(0,et.Z)({},ye,{ref:Te,icon:Xn}))},or=g.forwardRef(Vn),er=e(59504),Wt={item:"item___v9XQ_",selected:"selected___H8gjQ",info:"info___YLqTh",action:"action___zGuUy",btn:"btn___ean1l"},en=function(ye){var Te=ye.point,An=ye.index,yt=ye.active,Pn=ye.onMouseEnter,Sn=ye.onMouseOut,In=ye.onMouseOver,Un=ye.onVisibleChange,ir=(0,z.bU)(),Mr=ir.localeText;return(0,C.jsxs)("div",{className:Wt.item,onMouseOut:Sn,onMouseOver:In,onMouseEnter:Pn,children:[yt&&(0,C.jsx)("div",{className:Wt.selected,style:{backgroundColor:Te.color}}),(0,C.jsx)("div",{className:Wt.info,children:Te.name?"#".concat(An+1," ").concat(Te.name):"".concat(An+1," ")}),(0,C.jsx)("div",{className:Wt.action,children:(0,C.jsxs)(er.Z,{bordered:!1,showArrow:!0,popupClassName:Wt["selector-dropdown"],size:"small",value:Te.visible,onChange:Un,style:{width:"100%"},children:[(0,C.jsx)(er.Z.Option,{value:B.GI.noLabeled,children:Mr("DDSAnnotator.annotsList.point.notInImage")}),(0,C.jsx)(er.Z.Option,{value:B.GI.labeledNotVisible,children:Mr("DDSAnnotator.annotsList.point.notVisible")}),(0,C.jsx)(er.Z.Option,{value:B.GI.labeledVisible,children:Mr("DDSAnnotator.annotsList.point.visible")})]})})]},An)},nn=en,fn=(0,g.memo)(function(Ze){var ye=Ze.mode,Te=Ze.isAiAnnotation,An=Ze.currObject,yt=Ze.currObjectIndex,Pn=Ze.focusObjectIndex,Sn=Ze.focusEleType,In=Ze.focusEleIndex,Un=Ze.onChangePointVisible,ir=Ze.setEditState,Mr=(0,z.bU)(),pr=Mr.localeText,Ln=(0,g.useState)(!0),da=s()(Ln,2),Rr=da[0],Yn=da[1],lr=(0,g.useMemo)(function(){return yt>-1&&(An==null?void 0:An.type)===B.gr.Skeleton&&!Te},[ye,An,yt,Te]),Nr=function(Vr){ir(function(Lr){Lr.focusObjectIndex=yt,Lr.focusEleIndex=Vr,Lr.focusEleType=B.Yq.Circle})};return(0,C.jsx)(k,{children:(0,C.jsx)(w.Z,{className:c()("dds-annotator-points-editor",{"dds-annotator-points-editor-visible":lr}),title:(0,C.jsxs)("div",{className:"title",onClick:function(){return Yn(function(Vr){return!Vr})},children:[pr("DDSAnnotator.points.editor"),(0,C.jsx)("div",{className:"extra-btn",children:Rr?(0,C.jsx)(Mn,{}):(0,C.jsx)(or,{})})]}),children:!Rr&&(0,C.jsx)("div",{className:"content",onMouseMove:function(Vr){Vr.stopPropagation()},children:An&&An.keypoints&&An.keypoints.points.map(function(ia,Vr){return(0,C.jsx)(nn,{point:ia,index:Vr,active:Pn===yt&&Sn===B.Yq.Circle&&In===Vr,onMouseEnter:function(){return Nr(Vr)},onVisibleChange:function(ga){Un(Vr,ga)}},Vr)})})})})}),En=fn,on=(0,g.memo)(function(Ze){var ye=Ze.mode,Te=Ze.isAiAnnotation,An=Ze.latestLabelId,yt=Ze.currObject,Pn=Ze.onFinishCurrCreate,Sn=(0,z.bU)(),In=Sn.localeText,Un=(0,g.useMemo)(function(){return ye!==Q.je.Edit?!1:!!((yt==null?void 0:yt.type)===B.gr.Mask||(yt==null?void 0:yt.type)===B.gr.Polygon&&Te)},[ye,yt,Te]);return(0,Oe.Z)(Le[Mt.SaveCurrObject].shortcut,function(ir){yt&&(ir.preventDefault(),Pn(An))},{exactMatch:!0}),(0,C.jsx)(k,{children:(0,C.jsx)(w.Z,{className:c()("dds-annotator-seg-confirm",{"dds-annotator-seg-confirm-visible":Un}),title:(0,C.jsx)("div",{className:"title",children:In("DDSAnnotator.seg.tool")}),children:(0,C.jsxs)("div",{className:"content",children:[(0,C.jsx)("div",{children:In("DDSAnnotator.seg.tool.content")}),(0,C.jsx)(x.ZP,{type:"primary",onClick:function(Mr){Mr.preventDefault(),Pn(An)},children:In("DDSAnnotator.confirm")})]})})})}),pt=on,gt=e(34485),Xt=e.n(gt),rn=e(2528),Jt=e(98030),pn=e(33181),mn=Object.defineProperty,Zn=Object.getOwnPropertySymbols,tr=Object.prototype.hasOwnProperty,ut=Object.prototype.propertyIsEnumerable,ct=(Ze,ye,Te)=>ye in Ze?mn(Ze,ye,{enumerable:!0,configurable:!0,writable:!0,value:Te}):Ze[ye]=Te,Dt=(Ze,ye)=>{for(var Te in ye||(ye={}))tr.call(ye,Te)&&ct(Ze,Te,ye[Te]);if(Zn)for(var Te of Zn(ye))ut.call(ye,Te)&&ct(Ze,Te,ye[Te]);return Ze};const xt=Ze=>g.createElement("svg",Dt({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 29 29"},Ze),g.createElement("defs",null,g.createElement("style",null,".drag_svg__cls-1{fill:none}")),g.createElement("path",{className:"drag_svg__cls-1",d:"M2.83 2.83h28.35v28.35H2.83z"}),g.createElement("path",{className:"drag_svg__cls-1",d:"M2.83 2.83h28.35v28.35H2.83z"}),g.createElement("path",{className:"drag_svg__cls-1",d:"M2.83 2.83h28.35v28.35H2.83Z"}),g.createElement("path",{className:"drag_svg__cls-2",d:"m21.73 18.19 8.23 4.8-3.51 1 2.51 4.35-2.05 1.18-2.51-4.35-2.63 2.54-.04-9.52z"}),g.createElement("path",{className:"drag_svg__cls-2",d:"M19.37 9.92h2.36v2.36h5.91a1.18 1.18 0 0 1 1.18 1.18v4.73h-2.36v-3.54H14.65v11.81h4.72v2.36h-5.91a1.18 1.18 0 0 1-1.18-1.18v-5.91H9.92v-2.36h2.36v-5.91a1.18 1.18 0 0 1 1.18-1.18h5.91ZM5.2 19.37h2.36v2.36H5.2zM5.2 14.65h2.36v2.36H5.2zM5.2 9.92h2.36v2.36H5.2zM5.2 5.2h2.36v2.36H5.2zM9.92 5.2h2.36v2.36H9.92zM14.65 5.2h2.36v2.36h-2.36zM19.37 5.2h2.36v2.36h-2.36z"}));var kt="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOSAyOSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmV9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMi44MyAyLjgzaDI4LjM1djI4LjM1SDIuODN6Ii8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMi44MyAyLjgzaDI4LjM1djI4LjM1SDIuODN6Ii8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMi44MyAyLjgzaDI4LjM1djI4LjM1SDIuODNaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJtMjEuNzMgMTguMTkgOC4yMyA0LjgtMy41MSAxIDIuNTEgNC4zNS0yLjA1IDEuMTgtMi41MS00LjM1LTIuNjMgMi41NC0uMDQtOS41MnoiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0xOS4zNyA5LjkyaDIuMzZ2Mi4zNmg1LjkxYTEuMTggMS4xOCAwIDAgMSAxLjE4IDEuMTh2NC43M2gtMi4zNnYtMy41NEgxNC42NXYxMS44MWg0LjcydjIuMzZoLTUuOTFhMS4xOCAxLjE4IDAgMCAxLTEuMTgtMS4xOHYtNS45MUg5Ljkydi0yLjM2aDIuMzZ2LTUuOTFhMS4xOCAxLjE4IDAgMCAxIDEuMTgtMS4xOGg1LjkxWk01LjIgMTkuMzdoMi4zNnYyLjM2SDUuMnpNNS4yIDE0LjY1aDIuMzZ2Mi4zNkg1LjJ6TTUuMiA5LjkyaDIuMzZ2Mi4zNkg1LjJ6TTUuMiA1LjJoMi4zNnYyLjM2SDUuMnpNOS45MiA1LjJoMi4zNnYyLjM2SDkuOTJ6TTE0LjY1IDUuMmgyLjM2djIuMzZoLTIuMzZ6TTE5LjM3IDUuMmgyLjM2djIuMzZoLTIuMzZ6Ii8+PC9zdmc+",sn=Object.defineProperty,tn=Object.getOwnPropertySymbols,xn=Object.prototype.hasOwnProperty,Nn=Object.prototype.propertyIsEnumerable,gr=(Ze,ye,Te)=>ye in Ze?sn(Ze,ye,{enumerable:!0,configurable:!0,writable:!0,value:Te}):Ze[ye]=Te,nr=(Ze,ye)=>{for(var Te in ye||(ye={}))xn.call(ye,Te)&&gr(Ze,Te,ye[Te]);if(tn)for(var Te of tn(ye))Nn.call(ye,Te)&&gr(Ze,Te,ye[Te]);return Ze};const Rn=Ze=>g.createElement("svg",nr({className:"zoomResize_svg__icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:200,height:200},Ze),g.createElement("path",{d:"M981.333 42.667v938.666H42.667V42.667h938.666zM128 896h768V128H128v768zm170.667-170.667H448v85.334H213.333V576h85.334v149.333zm426.666-426.666H576v-85.334h234.667V448h-85.334V298.667z"}));var kr="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTk4MS4zMzMgNDIuNjY3djkzOC42NjZINDIuNjY3VjQyLjY2N2g5MzguNjY2ek0xMjggODk2aDc2OFYxMjhIMTI4djc2OHptMTcwLjY2Ny0xNzAuNjY3SDQ0OHY4NS4zMzRIMjEzLjMzM1Y1NzZoODUuMzM0djE0OS4zMzN6bTQyNi42NjYtNDI2LjY2Nkg1NzZ2LTg1LjMzNGgyMzQuNjY3VjQ0OGgtODUuMzM0VjI5OC42Njd6Ii8+PC9zdmc+",fr=e(85706),ua=Object.defineProperty,Pr=Object.getOwnPropertySymbols,Bn=Object.prototype.hasOwnProperty,Cn=Object.prototype.propertyIsEnumerable,wn=(Ze,ye,Te)=>ye in Ze?ua(Ze,ye,{enumerable:!0,configurable:!0,writable:!0,value:Te}):Ze[ye]=Te,ar=(Ze,ye)=>{for(var Te in ye||(ye={}))Bn.call(ye,Te)&&wn(Ze,Te,ye[Te]);if(Pr)for(var Te of Pr(ye))Cn.call(ye,Te)&&wn(Ze,Te,ye[Te]);return Ze};const mr=Ze=>g.createElement("svg",ar({viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},Ze),g.createElement("path",{d:"M21.5 3h-19A2.503 2.503 0 0 0 0 5.5V17h24V5.5C24 4.122 22.878 3 21.5 3Zm.5 12H2V5.5a.5.5 0 0 1 .5-.5h19a.5.5 0 0 1 .5.5V15ZM4 7h3v2H4V7Zm8 2H9V7h3v2Zm2-2h6v2h-6V7Zm-6 4h8v2H8v-2Zm10 0h2v2h-2v-2ZM4 11h2v2H4v-2Zm11.293 7.707 1.414 1.414-3.293 3.293c-.39.39-.902.585-1.414.585a1.993 1.993 0 0 1-1.414-.585l-3.293-3.293 1.414-1.414L12 22l3.293-3.293Z"}));var Qr="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIxLjUgM2gtMTlBMi41MDMgMi41MDMgMCAwIDAgMCA1LjVWMTdoMjRWNS41QzI0IDQuMTIyIDIyLjg3OCAzIDIxLjUgM1ptLjUgMTJIMlY1LjVhLjUuNSAwIDAgMSAuNS0uNWgxOWEuNS41IDAgMCAxIC41LjVWMTVaTTQgN2gzdjJINFY3Wm04IDJIOVY3aDN2MlptMi0yaDZ2MmgtNlY3Wm0tNiA0aDh2Mkg4di0yWm0xMCAwaDJ2MmgtMnYtMlpNNCAxMWgydjJINHYtMlptMTEuMjkzIDcuNzA3IDEuNDE0IDEuNDE0LTMuMjkzIDMuMjkzYy0uMzkuMzktLjkwMi41ODUtMS40MTQuNTg1YTEuOTkzIDEuOTkzIDAgMCAxLTEuNDE0LS41ODVsLTMuMjkzLTMuMjkzIDEuNDE0LTEuNDE0TDEyIDIybDMuMjkzLTMuMjkzWiIvPjwvc3ZnPg==",qr=function(ye){for(var Te=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,An=navigator.userAgent.toLowerCase(),yt=An.indexOf("mac")>-1,Pn=[],Sn=function(){var Mr=ye[In];if(!yt&&Mr.includes("meta")||yt&&Mr.includes("ctrl"))return"continue";if(Mr.includes(".")){var pr=Mr.split(".");pr.forEach(function(da,Rr){var Yn=(0,C.jsx)("span",{className:c()({"dds-annotator-shortcutsinfo-key":Te}),children:Ce(da)},Rr);Pn.push(Yn),Rr!==pr.length-1&&Pn.push((0,C.jsxs)("span",{className:c()({"dds-annotator-shortcutsinfo-combine":Te}),children:[" ","+"," "]},Rr+"and"))})}else{var Ln=(0,C.jsx)("span",{className:c()({"dds-annotator-shortcutsinfo-key":Te}),children:Ce(Mr)},In);Pn.push(Ln)}In!==ye.length-1&&Pn.push((0,C.jsxs)("span",{className:c()({"dds-annotator-shortcutsinfo-combine":Te}),children:[" ","/"," "]},In+"or"))},In=0;In=B.Fv,Er=Ln<=B.vL;(0,Oe.Z)(Le[Mt.ZoomIn].shortcut,function(){Fr||da()}),(0,Oe.Z)(Le[Mt.ZoomOut].shortcut,function(){Er||Rr()}),(0,Oe.Z)(Le[Mt.Reset].shortcut,function(){Yn()});var jr=function(Ur){var Yr=qr(Ur.shortcut.shortcut,!1);return(0,C.jsxs)("div",{className:"dds-annotator-slidertoolbar-popover",children:[(0,C.jsxs)("div",{children:[(0,C.jsx)("span",{className:"popover-title",children:Ur.name}),(0,C.jsx)("span",{className:"popover-key",children:Yr})]}),(0,C.jsx)("div",{className:"popover-divider"}),(0,C.jsx)("div",{className:"popover-description",children:Ur.description})]})};return(0,C.jsxs)("div",{className:"dds-annotator-slidertoolbar",onMouseDown:function(Ur){Ur.stopPropagation()},children:[lr?(0,C.jsx)("div",{}):(0,C.jsxs)("div",{className:"dds-annotator-slidertoolbar-content",children:[Lr.map(function(Cr){return(0,C.jsx)(pn.Z,{placement:"right",content:jr(Cr),children:(0,C.jsx)(x.ZP,{className:c()("slidertoolbar-btn",{"slidertoolbar-btn-active":ye===Cr.key}),icon:Cr.icon,onClick:function(){return Sn(Cr.key)}})},Cr.key)}),ga.map(function(Cr){return(0,C.jsxs)("div",{className:c()({"slidertoolbar-annotool-active-wrap":ye===Cr.key&&!Te}),children:[(0,C.jsx)(pn.Z,{placement:"right",content:jr(Cr),children:(0,C.jsx)(x.ZP,{className:c()("slidertoolbar-btn",{"slidertoolbar-btn-active":ye===Cr.key&&!Pn}),icon:Cr.icon,onClick:function(){return Sn(Cr.key)}})}),ye===Cr.key&&!Te&&(0,C.jsx)(pn.Z,{placement:"right",content:jr(aa),children:(0,C.jsx)(x.ZP,{className:c()("slidertoolbar-btn",{"slidertoolbar-btn-active":Pn}),icon:Cr.aiIcon,onClick:function(){return In(!Pn)}})},aa.key)]},Cr.key)}),(0,C.jsx)("div",{className:"slidertoolbar-divider"}),rr.map(function(Cr){return(0,C.jsx)(pn.Z,{placement:"right",content:jr(Cr),children:(0,C.jsx)(x.ZP,{className:c()("slidertoolbar-btn"),icon:Cr.icon,onClick:Cr.handler})},Cr.key)})]}),(0,C.jsxs)("div",{className:"dds-annotator-slidertoolbar-content",children:[(0,C.jsx)(x.ZP,{type:"primary",className:"slidertoolbar-btn",onClick:Yn,icon:(0,C.jsx)(J.Z,{component:Rn})}),(0,C.jsx)(x.ZP,{type:"primary",className:c()("slidertoolbar-btn",{"slidertoolbar-btn-disabled":Er}),icon:(0,C.jsx)(rn.Z,{}),onClick:Rr}),(0,C.jsxs)("div",{className:"slidertoolbar-scale-text",children:[Math.floor(Ln*100),"%"]}),(0,C.jsx)(x.ZP,{type:"primary",className:c()("slidertoolbar-btn",{"slidertoolbar-btn-disabled":Fr}),icon:(0,C.jsx)(Jt.Z,{}),onClick:da})]})]})}),Br=dr,Ea=e(38875),ca=e(94706),Kn=e(57414),zn=Object.defineProperty,vr=Object.getOwnPropertySymbols,ra=Object.prototype.hasOwnProperty,xr=Object.prototype.propertyIsEnumerable,jt=(Ze,ye,Te)=>ye in Ze?zn(Ze,ye,{enumerable:!0,configurable:!0,writable:!0,value:Te}):Ze[ye]=Te,an=(Ze,ye)=>{for(var Te in ye||(ye={}))ra.call(ye,Te)&&jt(Ze,Te,ye[Te]);if(vr)for(var Te of vr(ye))xr.call(ye,Te)&&jt(Ze,Te,ye[Te]);return Ze};const hn=Ze=>g.createElement("svg",an({width:32,height:32,viewBox:"0 0 34 34",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Ze),g.createElement("path",{d:"M23.737 13.118v7.764a6.713 6.713 0 0 1-6.706 6.707 6.713 6.713 0 0 1-6.705-6.707v-7.764a6.713 6.713 0 0 1 6.705-6.707 6.713 6.713 0 0 1 6.706 6.707Zm-.693 3.662H11.018v4.102a6.02 6.02 0 0 0 6.013 6.017 6.02 6.02 0 0 0 6.013-6.017V16.78Zm0-3.662a6.02 6.02 0 0 0-5.698-6.008v8.977h5.698v-2.969Z",fill:"#fff"}));var ao="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzNCAzNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMjMuNzM3IDEzLjExOHY3Ljc2NGE2LjcxMyA2LjcxMyAwIDAgMS02LjcwNiA2LjcwNyA2LjcxMyA2LjcxMyAwIDAgMS02LjcwNS02LjcwN3YtNy43NjRhNi43MTMgNi43MTMgMCAwIDEgNi43MDUtNi43MDcgNi43MTMgNi43MTMgMCAwIDEgNi43MDYgNi43MDdabS0uNjkzIDMuNjYySDExLjAxOHY0LjEwMmE2LjAyIDYuMDIgMCAwIDAgNi4wMTMgNi4wMTcgNi4wMiA2LjAyIDAgMCAwIDYuMDEzLTYuMDE3VjE2Ljc4Wm0wLTMuNjYyYTYuMDIgNi4wMiAwIDAgMC01LjY5OC02LjAwOHY4Ljk3N2g1LjY5OHYtMi45NjlaIiBmaWxsPSIjZmZmIi8+PC9zdmc+",Mo=Object.defineProperty,Ua=Object.getOwnPropertySymbols,Ha=Object.prototype.hasOwnProperty,eo=Object.prototype.propertyIsEnumerable,jo=(Ze,ye,Te)=>ye in Ze?Mo(Ze,ye,{enumerable:!0,configurable:!0,writable:!0,value:Te}):Ze[ye]=Te,Wo=(Ze,ye)=>{for(var Te in ye||(ye={}))Ha.call(ye,Te)&&jo(Ze,Te,ye[Te]);if(Ua)for(var Te of Ua(ye))eo.call(ye,Te)&&jo(Ze,Te,ye[Te]);return Ze};const Eo=Ze=>g.createElement("svg",Wo({width:32,height:32,viewBox:"0 0 34 34",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Ze),g.createElement("path",{d:"M10.263 13.118v7.764a6.713 6.713 0 0 0 6.706 6.707 6.713 6.713 0 0 0 6.705-6.707v-7.764a6.713 6.713 0 0 0-6.705-6.707 6.713 6.713 0 0 0-6.706 6.707Zm.693 3.662h12.026v4.102a6.02 6.02 0 0 1-6.013 6.017 6.02 6.02 0 0 1-6.013-6.017V16.78Zm0-3.662a6.02 6.02 0 0 1 5.698-6.008v8.977h-5.698v-2.969Z",fill:"#fff"}));var ft="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzNCAzNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTAuMjYzIDEzLjExOHY3Ljc2NGE2LjcxMyA2LjcxMyAwIDAgMCA2LjcwNiA2LjcwNyA2LjcxMyA2LjcxMyAwIDAgMCA2LjcwNS02LjcwN3YtNy43NjRhNi43MTMgNi43MTMgMCAwIDAtNi43MDUtNi43MDcgNi43MTMgNi43MTMgMCAwIDAtNi43MDYgNi43MDdabS42OTMgMy42NjJoMTIuMDI2djQuMTAyYTYuMDIgNi4wMiAwIDAgMS02LjAxMyA2LjAxNyA2LjAyIDYuMDIgMCAwIDEtNi4wMTMtNi4wMTdWMTYuNzhabTAtMy42NjJhNi4wMiA2LjAyIDAgMCAxIDUuNjk4LTYuMDA4djguOTc3aC01LjY5OHYtMi45NjlaIiBmaWxsPSIjZmZmIi8+PC9zdmc+",Nt=(0,g.memo)(function(Ze){var ye,Te=Ze.selectedTool,An=Ze.selectedSubTool,yt=Ze.selectedModel,Pn=Ze.AIAnnotation,Sn=Ze.isBatchEditing,In=Ze.isCtrlPressed,Un=Ze.aiLabels,ir=Ze.naturalSize,Mr=Ze.limitConf,pr=Ze.setAiLabels,Ln=Ze.onExitAIAnnotation,da=Ze.onAiAnnotation,Rr=Ze.onChangeConfidenceRange,Yn=Ze.onChangeLimitConf,lr=Ze.onAcceptValidObjects,Nr=Ze.onCancelBatchEdit,ia=Ze.forceChangeTool,Vr=(0,z.bU)(),Lr=Vr.localeText,ga=(0,M.x)({predIouThresh:.89,pointsPerSide:32,minMaskRegionArea:300}),aa=s()(ga,2),rr=aa[0],Jn=aa[1],Fr=(ye={},It()(ye,B.ru.Drag,{name:Lr("DDSAnnotator.shortcuts.tools.drag"),icon:xt}),It()(ye,B.ru.Rectangle,{name:yt===B.HE.Detection?Lr("DDSAnnotator.smart.detection.name"):Lr("DDSAnnotator.smart.ivp.name"),icon:B.ef[B.gr.Rectangle]}),It()(ye,B.ru.Polygon,{name:Lr("DDSAnnotator.smart.segmentation.name"),icon:B.ef[B.gr.Polygon]}),It()(ye,B.ru.Skeleton,{name:Lr("DDSAnnotator.smart.pose.name"),icon:B.ef[B.gr.Skeleton]}),It()(ye,B.ru.Mask,{name:yt===B.HE.SegmentByMask?Lr("DDSAnnotator.smart.isg.name"):yt===B.HE.SegmentEverything?Lr("DDSAnnotator.smart.sam.name"):Lr("DDSAnnotator.smart.ivp.name"),icon:B.ef[B.gr.Mask]}),ye),Er=function(Gr){if(Gr.type==="mouseup"&&(Te===B.ru.Skeleton||Te===B.ru.Mask&&An===B.jB.AutoSegmentEverything||Te===B.ru.Rectangle)){Gr.preventDefault();return}else Gr.stopPropagation()},jr=(0,g.useMemo)(function(){return!Pn||Te===B.ru.Drag?!1:Te===B.ru.Mask?yt===B.HE.SegmentEverything?An===B.jB.AutoSegmentEverything:yt===B.HE.SegmentByMask?!1:yt===B.HE.IVP?Sn:!1:Te===B.ru.Polygon?!1:Te===B.ru.Rectangle?yt===B.HE.Detection?!(Sn&&In):yt===B.HE.IVP?Sn:!1:!0},[Te,An,yt,Pn,Sn,In]),Cr=(0,g.useMemo)(function(){return Te===B.ru.Rectangle&&yt===B.HE.Detection&&Sn&&In?[{text:Lr("DDSAnnotator.smart.tip.recover"),logo:(0,C.jsx)(hn,{})},{text:Lr("DDSAnnotator.smart.tip.overlayobject"),logo:(0,C.jsx)(Eo,{})}]:[]},[Sn,In,yt]),Ur=(0,g.useMemo)(function(){return ir.width*ir.height},[ir]);return(0,C.jsxs)(k,{eventHandler:Er,children:[Cr.length>0&&(0,C.jsx)("div",{className:"dds-annotator-operation-tip",children:Cr.map(function(Yr){return(0,C.jsxs)("div",{className:"dds-annotator-operation-tip-item",children:[(0,C.jsx)("span",{children:Yr.text}),Yr.logo]},Yr.text)})}),(0,C.jsx)(w.Z,{id:"smart-annotation-editor",className:c()("dds-annotator-smart-container",{"dds-annotator-smart-container-visible":jr}),title:(0,C.jsxs)("div",{className:"dds-annotator-smart-container-title",children:[(0,C.jsxs)("div",{className:"dds-annotator-smart-container-title-icon",children:[(0,C.jsx)(Ea.Z,{component:B.QD[B.Uu.SmartAnnotation]}),(0,C.jsx)("div",{children:Fr[Te].name})]}),(0,C.jsx)(x.ZP,{ghost:!0,className:"dds-annotator-smart-container-btn",icon:(0,C.jsx)(h.Z,{}),shape:"circle",size:"small",onClick:function(){Ln(),ia(Te,B.jB.PenAdd)}})]}),children:(0,C.jsxs)("div",{className:"dds-annotator-smart-container-content",children:[Te===B.ru.Rectangle&&yt===B.HE.Detection&&(Sn?(0,C.jsxs)("div",{className:"dds-annotator-smart-container-content-column-item",children:[(0,C.jsx)("div",{className:"dds-annotator-smart-container-content-param-controls",children:(0,C.jsxs)("div",{className:"dds-annotator-smart-container-content-param-item",children:[(0,C.jsxs)("div",{className:"dds-annotator-smart-container-content-param-item-title",children:[Lr("DDSAnnotator.smart.detection.confidence"),":"]}),(0,C.jsx)(ca.Z,{className:"dds-annotator-smart-container-content-param-item-slider",defaultValue:Mr,min:0,max:1,step:.01,onAfterChange:Yn,railStyle:{background:"#99bdff"},trackStyle:{background:"#edf0f3"}})]})}),(0,C.jsxs)("div",{className:"dds-annotator-smart-container-content-tip-text",children:[(0,C.jsxs)("span",{children:[Lr("DDSAnnotator.smart.tip"),": "]}),Lr("DDSAnnotator.smart.tip.ctrl")]}),(0,C.jsxs)("div",{style:{alignSelf:"flex-end"},children:[(0,C.jsx)(x.ZP,{style:{marginRight:"10px"},onClick:Nr,children:Lr("DDSAnnotator.smart.back")}),(0,C.jsx)(x.ZP,{type:"primary",onClick:lr,children:Lr("DDSAnnotator.save")})]})]}):(0,C.jsxs)("div",{className:"dds-annotator-smart-container-content-item",children:[(0,C.jsx)(D.Z,{style:{width:250},placeholder:Lr("DDSAnnotator.smart.detection.input"),value:Un,onChange:function(Gr){return pr(Gr.target.value)},onKeyUp:function(Gr){return Gr.stopPropagation()},onKeyDown:function(Gr){return Gr.stopPropagation()}}),(0,C.jsx)(x.ZP,{type:"primary",onClick:function(){return da({aiLabels:Un})},children:Lr("DDSAnnotator.smart.annotate")})]})),(Te===B.ru.Rectangle&&yt===B.HE.IVP||Te===B.ru.Mask&&yt===B.HE.IVP)&&(0,C.jsxs)("div",{className:"dds-annotator-smart-container-content-column-item",children:[(0,C.jsxs)("div",{className:"dds-annotator-smart-container-content-tip-text",children:[(0,C.jsxs)("span",{children:[Lr("DDSAnnotator.smart.tip"),": "]}),Lr("DDSAnnotator.smart.tip.visualPrompt")]}),(0,C.jsxs)("div",{style:{alignSelf:"flex-end"},children:[(0,C.jsx)(x.ZP,{style:{marginRight:"10px"},onClick:Nr,children:Lr("DDSAnnotator.smart.back")}),(0,C.jsx)(x.ZP,{type:"primary",onClick:lr,children:Lr("DDSAnnotator.save")})]})]}),Te===B.ru.Skeleton&&(Sn?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)("div",{className:"dds-annotator-smart-container-content-param-controls",children:(0,C.jsxs)("div",{className:"dds-annotator-smart-container-content-param-item",children:[(0,C.jsx)("div",{className:"dds-annotator-smart-container-content-param-item-title",children:Lr("DDSAnnotator.confidence")}),(0,C.jsx)(ca.Z,{className:"dds-annotator-smart-container-content-param-item-slider",range:!0,defaultValue:[0,100],onAfterChange:function(Gr){return Rr([Gr[0]/100,Gr[1]/100])},tooltip:{formatter:function(Gr){return(0,C.jsx)(C.Fragment,{children:"".concat(Gr/100)})},getPopupContainer:function(){return document.getElementById("conf-slider")}}})]})}),(0,C.jsx)(x.ZP,{style:{alignSelf:"flex-end"},type:"primary",onClick:lr,children:Lr("DDSAnnotator.save")})]}):(0,C.jsx)(C.Fragment,{children:(0,C.jsx)(x.ZP,{style:{alignSelf:"flex-end"},type:"primary",onClick:function(){return da({aiLabels:Un})},children:Lr("DDSAnnotator.smart.annotate")})})),Te===B.ru.Mask&&yt===B.HE.SegmentEverything&&An===B.jB.AutoSegmentEverything&&(0,C.jsxs)(C.Fragment,{children:[(0,C.jsxs)("div",{id:"param-controls",className:"dds-annotator-smart-container-content-param-controls",children:[(0,C.jsxs)("div",{className:"dds-annotator-smart-container-content-param-item",children:[(0,C.jsx)("div",{className:"dds-annotator-smart-container-content-param-item-title",children:Lr("DDSAnnotator.smart.iouThres")}),(0,C.jsx)(ca.Z,{className:"dds-annotator-smart-container-content-param-item-slider",value:1-rr.predIouThresh,onChange:function(Gr){return Jn(function(Jr){Jr.predIouThresh=1-Gr})},min:0,max:.99,step:.01,reverse:!0,tooltip:{formatter:function(Gr){return"".concat(Math.floor((1-Gr)*100),"%")},getPopupContainer:function(){return document.getElementById("param-controls")}}})]}),(0,C.jsxs)("div",{className:"dds-annotator-smart-container-content-param-item",children:[(0,C.jsx)("div",{className:"dds-annotator-smart-container-content-param-item-title",children:Lr("DDSAnnotator.smart.minArea")}),(0,C.jsx)(ca.Z,{className:"dds-annotator-smart-container-content-param-item-slider",value:rr.minMaskRegionArea/Ur,onChange:function(Gr){return Jn(function(Jr){Jr.minMaskRegionArea=Gr*Ur})},min:.01,max:.3,step:.01,tooltip:{formatter:function(Gr){return"".concat(Math.ceil(Gr*100),"%")},getPopupContainer:function(){return document.getElementById("param-controls")}}})]})]}),Sn?(0,C.jsxs)(Kn.Z,{className:"dds-annotator-smart-container-content-actions",style:{justifyContent:"flex-end"},children:[(0,C.jsx)(x.ZP,{onClick:function(){return da({segmentEverythingParams:rr})},children:Lr("DDSAnnotator.smart.retry")}),(0,C.jsx)(x.ZP,{type:"primary",onClick:function(){lr(),ia(B.ru.Mask,B.jB.AutoEdgeStitching)},children:Lr("DDSAnnotator.annotsEditor.finish")})]}):(0,C.jsx)(x.ZP,{style:{alignSelf:"flex-end"},type:"primary",onClick:function(){return da({segmentEverythingParams:rr})},children:Lr("DDSAnnotator.smart.annotate")})]})]})})]})}),Ie=Nt,cn=e(24454),dn=e.n(cn),_n=e(56592),Tn=e.n(_n),yr=e(99142),Wr=e(91169),Da=function(ye,Te){return ye.current===Te.current&&ye.total===Te.total&&ye.customText===Te.customText&&ye.customDisableNext===Te.customDisableNext},la=(0,g.memo)(function(Ze){var ye=Ze.current,Te=Ze.total,An=Ze.customText,yt=Ze.customDisableNext,Pn=Ze.onPrev,Sn=Pn===void 0?function(){return Promise.resolve()}:Pn,In=Ze.onNext,Un=In===void 0?function(){return Promise.resolve()}:In,ir=(0,z.bU)(),Mr=ir.localeText,pr=(0,g.useState)(!1),Ln=s()(pr,2),da=Ln[0],Rr=Ln[1],Yn=(0,g.useState)(!1),lr=s()(Yn,2),Nr=lr[0],ia=lr[1],Vr=function(){var rr=Tn()(dn()().mark(function Jn(){return dn()().wrap(function(Er){for(;;)switch(Er.prev=Er.next){case 0:return Rr(!0),Er.next=3,Sn();case 3:Rr(!1);case 4:case"end":return Er.stop()}},Jn)}));return function(){return rr.apply(this,arguments)}}(),Lr=function(){var rr=Tn()(dn()().mark(function Jn(){return dn()().wrap(function(Er){for(;;)switch(Er.prev=Er.next){case 0:return ia(!0),Er.next=3,Un();case 3:ia(!1);case 4:case"end":return Er.stop()}},Jn)}));return function(){return rr.apply(this,arguments)}}(),ga=ye<=0,aa=yt!=null?yt:ye>=Te-1;return(0,Oe.Z)(Le[Mt.PreviousImage].shortcut,function(){ga||Vr()},{exactMatch:!0}),(0,Oe.Z)(Le[Mt.NextImage].shortcut,function(){aa||Lr()},{exactMatch:!0}),(0,C.jsxs)("div",{className:"dds-annotator-toppagination",children:[(0,C.jsx)(T.Z,{title:Mr("DDSAnnotator.prev"),children:(0,C.jsx)(x.ZP,{className:c()("dds-annotator-toppagination-btn",{"dds-annotator-toppagination-btn-disabled":ga}),type:"primary",icon:(0,C.jsx)(yr.Z,{}),loading:da,onClick:Vr})}),An||(0,C.jsxs)("div",{className:"dds-annotator-toppagination-scale-text",children:[ye+1," / ",Te]}),(0,C.jsx)(T.Z,{title:Mr("DDSAnnotator.next"),children:(0,C.jsx)(x.ZP,{className:c()("dds-annotator-toppagination-btn",{"dds-annotator-toppagination-btn-disabled":aa}),type:"primary",icon:(0,C.jsx)(Wr.Z,{}),loading:Nr,onClick:Lr})})]})},Da),ea=function(ye){var Te=ye.mode,An=ye.currImageItem,yt=ye.modal,Pn=ye.framesData,Sn=ye.drawData,In=ye.editState,Un=ye.setEditState,ir=ye.hadChangeRecord,Mr=ye.categories,pr=ye.translateObject,Ln=ye.flagSaved,da=ye.onCancel,Rr=ye.onSave,Yn=ye.onCommit,lr=ye.onReviewModify,Nr=ye.onReviewAccept,ia=ye.onReviewReject,Vr=ye.classificationOptions,Lr=(0,z.bU)(),ga=Lr.localeText,aa=In.isRequiring,rr=function(Xr){return Un(function(K){K.isRequiring=Xr})},Jn=(0,g.useCallback)(function(Jr){var Xr=[];return Pn?Xr=Pn.objects.map(function(K){var F={};return K.forEach(function(ce,Me){if(ce&&!ce.frameEmpty){var ze=pr==null?void 0:pr(ce),Qe=ze.labelId,St=ze.attributes,At=ze.labelValue;F.labelId=Qe,F.attributes=St,F.labelValue||(F.labelValue={}),F.labelValue[String(Me)]=At}}),F}):Xr=Jr.objectList.map(function(K){return pr==null?void 0:pr(K)}),[(Pn==null?void 0:Pn.id)||(An==null?void 0:An.id)||"",[].concat(Xt()(Jr.classifications.map(function(K){var F,ce=Mr.find(function(Me){return Me.id===K.labelId});return t()(t()({},K),{},{attributes:K.attributes||(ce==null||(F=ce.attributes)===null||F===void 0?void 0:F.map(function(){return null}))||[]})})),Xt()(Xr)),Pn?It()({},Pn.activeIndex,{}):void 0]},[An,pr,Pn]),Fr=function(Xr){var K=[];return Vr==null||Vr.forEach(function(F,ce){var Me=Xr.find(function(ze){return ze.labelId===F.id});(!Me||[void 0,null,""].includes(Me.labelValue))&&K.push(ga("DDSAnnotator.save.check.classification",{idx:ce+1}))}),Xr.forEach(function(F,ce){var Me,ze=Mr.find(function(Qe){return Qe.id===F.labelId});ze!=null&&(Me=ze.attributes)!==null&&Me!==void 0&&Me.find(function(Qe,St){var At;return Qe.required&&[void 0,null,""].includes((At=F.attributes)===null||At===void 0?void 0:At[St])})&&K.push(ga("DDSAnnotator.save.check.label",{idx:ce+1,labelName:ze.labelName}))}),K.length>0?(n.Z.warning({width:480,title:ga("DDSAnnotator.save.check.error"),content:(0,C.jsxs)("div",{children:[K.map(function(F,ce){return(0,C.jsxs)("span",{children:[F,(0,C.jsx)("br",{})]},ce)}),(0,C.jsx)("span",{children:ga("DDSAnnotator.save.check.tip")})]})}),!0):!1},Er=function(){var Jr=Tn()(dn()().mark(function Xr(){var K,F,ce,Me;return dn()().wrap(function(Qe){for(;;)switch(Qe.prev=Qe.next){case 0:if(!(aa||!Rr)){Qe.next=2;break}return Qe.abrupt("return");case 2:if(K=Jn(Sn),F=s()(K,2),ce=F[0],Me=F[1],console.log(">>> save",ce,Me),!Fr(Me)){Qe.next=6;break}return Qe.abrupt("return");case 6:return rr(!0),Qe.prev=7,Qe.next=10,Rr(ce,Me);case 10:Ln==null||Ln(),Qe.next=16;break;case 13:Qe.prev=13,Qe.t0=Qe.catch(7),console.error(Qe.t0);case 16:rr(!1);case 17:case"end":return Qe.stop()}},Xr,null,[[7,13]])}));return function(){return Jr.apply(this,arguments)}}(),jr=function(){var Jr=Tn()(dn()().mark(function Xr(){var K,F,ce,Me;return dn()().wrap(function(Qe){for(;;)switch(Qe.prev=Qe.next){case 0:if(!(aa||!Yn)){Qe.next=2;break}return Qe.abrupt("return");case 2:if(K=Jn(Sn),F=s()(K,2),ce=F[0],Me=F[1],!Fr(Me)){Qe.next=5;break}return Qe.abrupt("return");case 5:return rr(!0),Qe.prev=6,Qe.next=9,Yn(ce,Me);case 9:Qe.next=14;break;case 11:Qe.prev=11,Qe.t0=Qe.catch(6),console.error(Qe.t0);case 14:rr(!1);case 15:case"end":return Qe.stop()}},Xr,null,[[6,11]])}));return function(){return Jr.apply(this,arguments)}}(),Cr=function(){var Jr=Tn()(dn()().mark(function Xr(){return dn()().wrap(function(F){for(;;)switch(F.prev=F.next){case 0:Te===Q.je.Review&&ia&&ia.apply(void 0,Xt()(Jn(Sn)));case 1:case"end":return F.stop()}},Xr)}));return function(){return Jr.apply(this,arguments)}}(),Ur=function(){var Jr=Tn()(dn()().mark(function Xr(){return dn()().wrap(function(F){for(;;)switch(F.prev=F.next){case 0:Te===Q.je.Review&&Nr&&Nr.apply(void 0,Xt()(Jn(Sn)));case 1:case"end":return F.stop()}},Xr)}));return function(){return Jr.apply(this,arguments)}}(),Yr=function(){var Jr=Tn()(dn()().mark(function Xr(){return dn()().wrap(function(F){for(;;)switch(F.prev=F.next){case 0:Te===Q.je.Review&&lr&&lr.apply(void 0,Xt()(Jn(Sn)));case 1:case"end":return F.stop()}},Xr)}));return function(){return Jr.apply(this,arguments)}}(),Gr=function(){var Jr=Tn()(dn()().mark(function Xr(){return dn()().wrap(function(F){for(;;)switch(F.prev=F.next){case 0:if(!(Te===Q.je.Edit&&ir)){F.next=3;break}return yt.confirm({getContainer:function(){return document.body},content:ga("DDSAnnotator.confirmLeave.content"),cancelText:ga("DDSAnnotator.confirmLeave.cancel"),okText:ga("DDSAnnotator.confirmLeave.ok"),okButtonProps:{danger:!0},onOk:function(){da&&da()}}),F.abrupt("return");case 3:da&&da();case 4:case"end":return F.stop()}},Xr)}));return function(){return Jr.apply(this,arguments)}}();return{onSaveAnnotations:Er,onCommitAnnotations:jr,onCancelAnnotations:Gr,onRejectAnnotations:Cr,onAcceptAnnotations:Ur,onModifyAnnotations:Yr}},oa=ea,Ir=e(97375),$r;(function(Ze){})($r||($r={}));function pa(Ze,ye,Te){return La.apply(this,arguments)}function La(){return La=Tn()(dn()().mark(function Ze(ye,Te,An){var yt;return dn()().wrap(function(Sn){for(;;)switch(Sn.prev=Sn.next){case 0:return yt="".concat("https://api.deepdataspace.com","/tasks/").concat(ye),Sn.abrupt("return",(0,Ir.request)(yt,t()({method:"POST",data:t()({},Te)},An||{hideCodeErrorMsg:!0})));case 2:case"end":return Sn.stop()}},Ze)})),La.apply(this,arguments)}function lo(Ze,ye){var Te="".concat("https://api.deepdataspace.com","/task_statuses/").concat(Ze);return(0,Ir.request)(Te,t()({method:"GET"},ye||{}))}function Qa(Ze,ye){return Gt.apply(this,arguments)}function Gt(){return Gt=Tn()(dn()().mark(function Ze(ye,Te){var An,yt,Pn,Sn,In=arguments;return dn()().wrap(function(ir){for(;;)switch(ir.prev=ir.next){case 0:An=In.length>2&&In[2]!==void 0?In[2]:5e3,yt=In.length>3&&In[3]!==void 0?In[3]:1e3,Pn=0;case 3:if(!(PnYt?ln.score:Yt},((K=F[0])===null||K===void 0?void 0:K.score)||0),Qe=F.map(function(Yt){var ln=t()({},(0,Sr.JP)(Yt.bbox,Un,ir)),Hn=Yt.score/ze;return{rect:t()(t()({},ln),{},{visible:!0}),labelId:Sn.latestLabelId,type:B.gr.Rectangle,hidden:!1,status:Hn>=Me?Q.TK.Checked:Q.TK.Unchecked,conf:Hn,color:Mr(Sn.latestLabelId,!0)}}).reverse(),Pn(function(Yt){Yt.isBatchEditing=!0,Yt.limitConf=Me;var ln=Yt.objectList.filter(function(Hn){return(Hn==null?void 0:Hn.status)===Q.TK.Commited});Yt.objectList=[].concat(Xt()(ln),Xt()(Qe)),Yt.creatingObject&&Yt.objectList[Yt.activeObjectIndex]&&(Yt.creatingObject=t()({},Yt.objectList[Yt.activeObjectIndex])),Yt.prompt.sessionId=Xr}),At.abrupt("return",!0);case 18:case"end":return At.stop()}},jr)}));return function(Cr,Ur){return Er.apply(this,arguments)}}(),ia=function(){var Er=Tn()(dn()().mark(function jr(Cr,Ur){var Yr,Gr,Jr,Xr,K,F,ce,Me;return dn()().wrap(function(Qe){for(;;)switch(Qe.prev=Qe.next){case 0:if(!(!Te||!Ur)){Qe.next=2;break}return Qe.abrupt("return");case 2:if(Yr={prompts:lr(Ur||[]),labelTypes:["bbox"]},!Cr.prompt.sessionId){Qe.next=7;break}Object.assign(Yr,{sessionId:Cr.prompt.sessionId}),Qe.next=11;break;case 7:return Qe.next=9,zr(Te.url);case 9:Gr=Qe.sent,Object.assign(Yr,{promptImage:Gr,inferImage:Gr});case 11:return Qe.next=13,yn(B.HE.IVP,Yr);case 13:if(Jr=Qe.sent,Xr=Jr.result,K=Jr.sessionId,!Xr){Qe.next=22;break}return F=Xr.objects,ce=.3,Me=F.filter(function(St){return St.bbox}).map(function(St){var At=St.bbox,Yt=s()(At,4),ln=Yt[0],Hn=Yt[1],Dn=Yt[2],qn=Yt[3],Kr=(0,Sr.$S)((0,Sr.Aw)({xmin:ln,ymin:Hn,xmax:Dn,ymax:qn}),Un,ir);return{rect:t()(t()({},Kr),{},{visible:!0}),labelId:Sn.latestLabelId,type:B.gr.Rectangle,hidden:!1,status:St.score>=ce?Q.TK.Checked:Q.TK.Unchecked,conf:St.score,color:Mr(Sn.latestLabelId,!0)}}).reverse(),Pn(function(St){St.isBatchEditing=!0,St.limitConf=ce;var At=St.objectList.filter(function(Yt){return Yt.status===Q.TK.Commited});St.objectList=[].concat(Xt()(At),Xt()(Me)),St.creatingObject&&St.objectList[St.activeObjectIndex]&&(St.creatingObject=t()({},St.objectList[St.activeObjectIndex])),St.prompt.promptsQueue=Ur,St.prompt.sessionId=K,St.prompt.creatingPrompt=void 0}),Qe.abrupt("return",!0);case 22:case"end":return Qe.stop()}},jr)}));return function(Cr,Ur){return Er.apply(this,arguments)}}(),Vr=function(){var Er=Tn()(dn()().mark(function jr(Cr,Ur){var Yr,Gr,Jr,Xr,K,F,ce;return dn()().wrap(function(ze){for(;;)switch(ze.prev=ze.next){case 0:if(!(!Te||!Ur)){ze.next=2;break}return ze.abrupt("return");case 2:if(Yr={prompts:lr(Ur||[]),labelTypes:["mask"]},!Cr.prompt.sessionId){ze.next=7;break}Object.assign(Yr,{sessionId:Cr.prompt.sessionId}),ze.next=11;break;case 7:return ze.next=9,zr(Te.url);case 9:Gr=ze.sent,Object.assign(Yr,{promptImage:Gr,inferImage:Gr});case 11:return ze.next=13,yn(B.HE.IVP,Yr);case 13:if(Jr=ze.sent,Xr=Jr.result,K=Jr.sessionId,!Xr){ze.next=22;break}return In(function(Qe){Qe.annotsDisplayOptions.colorByCategory=!1}),F=Xr.objects,ce=F.filter(function(Qe){return!!Qe.mask}).map(function(Qe){var St,At=Mr(Sn.latestLabelId),Yt=((St=Qe.mask)===null||St===void 0?void 0:St.counts)||"";return{type:B.gr.Mask,hidden:!1,labelId:Sn.latestLabelId,maskRle:Yt,maskCanvasElement:(0,Gn.ei)(Yt,Un,At),status:Q.TK.Checked,conf:Qe.score,color:Mr(Sn.latestLabelId,!0)}}),Pn(function(Qe){Qe.isBatchEditing=!0;var St=Qe.objectList.filter(function(At){return At.status===Q.TK.Commited});Qe.objectList=[].concat(Xt()(St),Xt()(ce)),Qe.creatingObject&&Qe.objectList[Qe.activeObjectIndex]&&(Qe.creatingObject=t()({},Qe.objectList[Qe.activeObjectIndex])),Qe.prompt.promptsQueue=Ur,Qe.prompt.sessionId=K,Qe.prompt.creatingPrompt=void 0}),ze.abrupt("return",!0);case 22:case"end":return ze.stop()}},jr)}));return function(Cr,Ur){return Er.apply(this,arguments)}}(),Lr=function(){var Er=Tn()(dn()().mark(function jr(Cr,Ur){var Yr,Gr,Jr,Xr,K,F,ce,Me;return dn()().wrap(function(Qe){for(;;)switch(Qe.prev=Qe.next){case 0:if(Ur){Qe.next=2;break}return Qe.abrupt("return");case 2:return Qe.next=4,Yn(Cr,{density:Cr.pointResolution,prompts:lr(Ur||[])});case 4:return Yr=Qe.sent,Qe.next=7,yn(B.HE.SegmentByPolygon,Yr);case 7:if(Gr=Qe.sent,Jr=Gr.result,Xr=Gr.sessionId,!Jr){Qe.next=17;break}if(K=Jr.polygons,!(K&&K.length>0)){Qe.next=17;break}return ce=K.filter(function(St){return St.length>=6}).map(function(St){for(var At=[],Yt=0;Yt-1&&Xr[Cr.activeObjectIndex]&&Cr.creatingObject&&(Xr[Cr.activeObjectIndex]=t()(t()({},Xr[Cr.activeObjectIndex]),Cr.creatingObject)),K=Xr.filter(function(ln){return ln.type===B.gr.Skeleton&&ln.status===Q.TK.Checked}),K.length>0&&(F=K.map(function(ln){return{keypoints:ln.keypoints?(0,Sr.$G)(ln.keypoints.points,Un,ir).points:void 0,bbox:ln.rect?(0,Sr.cx)(ln.rect,ir,Un):void 0}}),Object.assign(Jr,{objects:F}))),Yt.next=7,yn(B.HE.Pose,Jr);case 7:if(ce=Yt.sent,Me=ce.result,ze=ce.sessionId,!Me){Yt.next=16;break}if(Qe=Me.objects,!(Qe&&Qe.length>0)){Yt.next=16;break}return St=Qe.map(function(ln){var Hn=ln.bbox,Dn=ln.keypoints,qn=ln.score,Kr={labelId:Sn.latestLabelId,color:Mr(Sn.latestLabelId),type:B.gr.Skeleton,hidden:!1,conf:qn,status:Q.TK.Checked};if(Hn){var na=(0,Sr.JP)(Hn,Un,ir);Object.assign(Kr,{rect:t()({visible:!0},na)})}if(Dn&&Ur&&Gr&&Yr){var Or=(0,Sr.OX)(Dn,Yr,Gr,Un,ir);Object.assign(Kr,{keypoints:{points:Or,lines:Ur}})}return Kr}),Pn(function(ln){ln.isBatchEditing||(ln.isBatchEditing=!0);var Hn=ln.objectList.filter(function(Dn){return Dn.status===Q.TK.Commited});ln.objectList=[].concat(Xt()(Hn),Xt()(St)),ln.creatingObject&&ln.objectList[ln.activeObjectIndex]&&(ln.creatingObject=t()({},ln.objectList[ln.activeObjectIndex])),ln.prompt.sessionId=ze}),Yt.abrupt("return",!0);case 16:case"end":return Yt.stop()}},jr)}));return function(Cr){return Er.apply(this,arguments)}}(),rr=function(){var Er=Tn()(dn()().mark(function jr(Cr){var Ur,Yr,Gr,Jr,Xr,K,F,ce,Me,ze,Qe,St,At,Yt,ln;return dn()().wrap(function(Dn){for(;;)switch(Dn.prev=Dn.next){case 0:if(!(!((Ur=Cr.prompt.creatingPrompt)!==null&&Ur!==void 0&&Ur.stroke)||!((Yr=Cr.prompt.creatingPrompt)!==null&&Yr!==void 0&&Yr.radius))){Dn.next=2;break}return Dn.abrupt("return");case 2:if(Jr=Cr.prompt.creatingPrompt,Xr=Jr.stroke,K=Jr.radius,F=Cr.objectList.filter(function(qn){return qn.type===B.gr.Mask}),!(F.length<2)){Dn.next=8;break}return S.ZP.error(Ln("DDSAnnotator.smart.tip.edgeStitchError")),yt(function(qn){qn.prompt.creatingPrompt=void 0}),Dn.abrupt("return");case 8:return ce=F.map(function(qn){return{counts:qn.maskRle||"",size:[Un.height,Un.width]}}),Me=Xr.reduce(function(qn,Kr){var na=Kr.x,Or=Kr.y,ba=(0,Sr.AR)([na,Or],Un,ir);return qn.concat([ba.x,ba.y])},[]),Dn.next=12,Yn(Cr,{masks:ce,prompts:[{type:Q.Ae.Stroke,stroke:Me,radius:K}]});case 12:return ze=Dn.sent,Dn.next=15,yn(B.HE.MaskEdgeStitching,ze);case 15:if(Qe=Dn.sent,St=Qe.result,At=Qe.sessionId,!(St&&((Gr=St.masks)===null||Gr===void 0?void 0:Gr.length)>0)){Dn.next=23;break}return Yt=F.map(function(qn,Kr){var na,Or,ba=((na=St.masks)===null||na===void 0||(Or=na[Kr])===null||Or===void 0?void 0:Or.counts)||"";return t()(t()({},qn),{},{maskRle:ba,maskCanvasElement:(0,Gn.ei)(ba,Un,qn.color)})}),ln=Cr.objectList.filter(function(qn){return qn.type!==B.gr.Mask}),Pn(function(qn){qn.objectList=[].concat(Xt()(ln),Xt()(Yt)),qn.prompt.creatingPrompt=void 0,qn.prompt.sessionId=At}),Dn.abrupt("return",!0);case 23:case"end":return Dn.stop()}},jr)}));return function(Cr){return Er.apply(this,arguments)}}(),Jn=function(){var Er=Tn()(dn()().mark(function jr(Cr){var Ur,Yr,Gr,Jr,Xr;return dn()().wrap(function(F){for(;;)switch(F.prev=F.next){case 0:if(Te){F.next=2;break}return F.abrupt("return");case 2:return F.t0=t(),F.next=5,zr(Te.url);case 5:return F.t1=F.sent,F.t2={image:F.t1},F.t3=Cr,Yr=(0,F.t0)(F.t2,F.t3),F.next=11,yn(B.HE.SegmentEverything,Yr);case 11:if(Gr=F.sent,Jr=Gr.result,!(Jr&&((Ur=Jr.masks)===null||Ur===void 0?void 0:Ur.length)>0)){F.next=18;break}return In(function(ce){ce.annotsDisplayOptions.colorByCategory=!1}),Xr=Jr.masks.map(function(ce){var Me=Mr(Sn.latestLabelId),ze=(ce==null?void 0:ce.counts)||"";return{type:B.gr.Mask,hidden:!1,labelId:Sn.latestLabelId,maskRle:ze,maskCanvasElement:(0,Gn.ei)(ze,Un,Me),conf:1,status:Q.TK.Checked,color:Me}}),Pn(function(ce){ce.objectList=Xr,ce.isBatchEditing=!0}),F.abrupt("return",!0);case 18:case"end":return F.stop()}},jr)}));return function(Cr){return Er.apply(this,arguments)}}(),Fr=(0,g.useCallback)(function(){var Er=Tn()(dn()().mark(function jr(Cr){var Ur,Yr,Gr,Jr,Xr,K,F,ce,Me,ze;return dn()().wrap(function(St){for(;;)switch(St.prev=St.next){case 0:if(Ur=Cr.type,Yr=Cr.drawData,Gr=Cr.aiLabels,Jr=Cr.promptsQueue,Xr=Cr.segmentEverythingParams,!(Sn.isRequiring||!Te)){St.next=3;break}return St.abrupt("return");case 3:K=Yr||An,F=S.ZP.loading(Ln("DDSAnnotator.smart.msg.loading"),1e5),St.prev=5,Rr(!0),In(function(At){At.isRequiring=!0}),ce=Ur||B.Zo[K.selectedTool],St.t0=ce,St.next=St.t0===B.gr.Rectangle?12:St.t0===B.gr.Skeleton?22:St.t0===B.gr.Polygon?26:St.t0===B.gr.Mask?30:54;break;case 12:if(K.selectedModel[K.selectedTool]!==B.HE.Detection){St.next=18;break}return St.next=15,Nr(K,Gr||"");case 15:Me=St.sent,St.next=21;break;case 18:return St.next=20,ia(K,Jr);case 20:Me=St.sent;case 21:return St.abrupt("break",56);case 22:return St.next=24,aa(K);case 24:return Me=St.sent,St.abrupt("break",56);case 26:return St.next=28,Lr(K,Jr);case 28:return Me=St.sent,St.abrupt("break",56);case 30:if(ze=K.selectedModel[K.selectedTool],ze!==B.HE.SegmentEverything){St.next=44;break}if(K.selectedSubTool!==B.jB.AutoEdgeStitching){St.next=38;break}return St.next=35,rr(K);case 35:Me=St.sent,St.next=42;break;case 38:if(K.selectedSubTool!==B.jB.AutoSegmentEverything){St.next=42;break}return St.next=41,Jn(Xr);case 41:Me=St.sent;case 42:St.next=53;break;case 44:if(ze!==B.HE.IVP){St.next=50;break}return St.next=47,Vr(K,Jr);case 47:Me=St.sent,St.next=53;break;case 50:return St.next=52,ga(K,Jr);case 52:Me=St.sent;case 53:return St.abrupt("break",56);case 54:return S.ZP.warning("Plan to Support!"),St.abrupt("break",56);case 56:Me&&S.ZP.success(Ln("DDSAnnotator.smart.msg.success")),St.next=63;break;case 59:St.prev=59,St.t1=St.catch(5),Pn(function(At){At.prompt.creatingPrompt&&(At.prompt.creatingPrompt=void 0)}),S.ZP.error(Ln("DDSAnnotator.smart.msg.error"));case 63:return St.prev=63,Rr(!1),In(function(At){At.isRequiring=!1}),yt(function(At){At.prompt.activeRectWhileLoading=void 0}),F(),St.finish(63);case 69:case"end":return St.stop()}},jr,null,[[5,59,63,69]])}));return function(jr){return Er.apply(this,arguments)}}(),[An]);return{onAiAnnotation:Fr}},Xa=xa;function bo(Ze){var ye=Ze.setDrawDataWithHistory,Te=Ze.categories,An=(0,g.useCallback)(function(Sn,In){var Un=Te.find(function(ir){return ir.id===Sn.labelId});if(Un!=null&&Un.attributes&&Un.attributes.length>0)return{index:In,labelId:Sn.labelId,attributes:Un.attributes,values:Sn.attributes||[]}},[Te]),yt=(0,g.useCallback)(function(Sn){ye(function(In){if(In.editingAttribute){if(In.objectList[In.editingAttribute.index])In.objectList[In.editingAttribute.index].attributes=Sn;else{var Un=In.classifications.findIndex(function(Mr){var pr;return Mr.labelId===((pr=In.editingAttribute)===null||pr===void 0?void 0:pr.labelId)});if(Un>-1)In.classifications[Un].attributes=Sn;else{var ir;In.classifications.push({labelId:(ir=In.editingAttribute)===null||ir===void 0?void 0:ir.labelId,labelValue:null,attributes:Sn})}}In.editingAttribute=void 0}})},[]),Pn=function(){ye(function(In){In.editingAttribute=void 0})};return{judgeEditingAttribute:An,onConfirmAttibuteEdit:yt,onCancelAttibuteEdit:Pn}}var Oo=e(95073),Va=e(43112),xo=e(5397),io=e(21325),Ca=e(68716),_a={screenX:NaN,screenY:NaN,clientX:NaN,clientY:NaN,pageX:NaN,pageY:NaN,elementX:NaN,elementY:NaN,elementH:NaN,elementW:NaN,elementPosX:NaN,elementPosY:NaN},Io=function(Ze){var ye=(0,Va.CR)((0,xo.Z)(_a),2),Te=ye[0],An=ye[1];return(0,io.Z)("mousemove",function(yt){var Pn=yt.screenX,Sn=yt.screenY,In=yt.clientX,Un=yt.clientY,ir=yt.pageX,Mr=yt.pageY,pr={screenX:Pn,screenY:Sn,clientX:In,clientY:Un,pageX:ir,pageY:Mr,elementX:NaN,elementY:NaN,elementH:NaN,elementW:NaN,elementPosX:NaN,elementPosY:NaN},Ln=(0,Ca.n)(Ze);if(Ln){var da=Ln.getBoundingClientRect(),Rr=da.left,Yn=da.top,lr=da.width,Nr=da.height;pr.elementPosX=Rr+window.pageXOffset,pr.elementPosY=Yn+window.pageYOffset,pr.elementX=ir-pr.elementPosX,pr.elementY=Mr-pr.elementPosY,pr.elementW=lr,pr.elementH=Nr}An(pr)},{target:function(){return document}}),Te},Yo=e(41260);function ni(Ze){var ye=Ze.isRequiring,Te=Ze.visible,An=Ze.minPadding,yt=An===void 0?{top:0,left:0}:An,Pn=Ze.allowMove,Sn=Ze.drawData,In=Ze.cursorSize,Un=Ze.onClickMaskBg,ir=Ze.hideReferenceLine,Mr=(0,g.useRef)(null),pr=(0,Oo.Z)(function(){return Mr.current}),Ln=Io(function(){return Mr.current}),da=(0,g.useState)({width:0,height:0}),Rr=s()(da,2),Yn=Rr[0],lr=Rr[1],Nr=(0,M.x)({width:Yn.width,height:Yn.height,scale:1}),ia=s()(Nr,2),Vr=ia[0],Lr=ia[1],ga=(0,g.useRef)({x:0,y:0}),aa=(0,g.useRef)(void 0),rr=(0,g.useMemo)(function(){return t()(t()({},Ln),{},{elementW:Vr.width,elementH:Vr.height,elementX:Ln.elementX-ga.current.x,elementY:Ln.elementY-ga.current.y})},[Ln,Vr]),Jn=(0,M.x)(null),Fr=s()(Jn,2),Er=Fr[0],jr=Fr[1],Cr=function(Dn,qn){if(Dn!=null&&Dn.width&&qn!==null&&qn!==void 0&&qn.height){var Kr=qn.width,na=qn.height,Or=(0,Sr.t9)(Dn.width,Dn.height,Kr-yt.left*2,na-yt.top*2),ba=s()(Or,3),Pa=ba[0],Za=ba[1],to=ba[2];ga.current={x:(Kr-Pa)*.5,y:(na-Za)*.5},Lr({scale:to,width:Dn.width*to,height:Dn.height*to}),aa.current=void 0}};(0,g.useEffect)(function(){Yn&&pr&&Cr(Yn,pr)},[pr]);var Ur=function(){if(pr){var Dn=pr==null?void 0:pr.width,qn=pr==null?void 0:pr.height,Kr=.5,na=.5,Or=Dn/2,ba=qn/2;aa.current&&(Kr=aa.current.posRatioX,na=aa.current.posRatioY,Or=aa.current.mouseX,ba=aa.current.mouseY);var Pa=Or-Vr.width*Kr,Za=ba-Vr.height*na;ga.current={x:Pa,y:Za}}};(0,g.useEffect)(function(){Ur()},[Vr]);var Yr=function(Dn,qn,Kr){!Te||ye||Lr(function(na){var Or=Dn?Math.min(B.Fv,(0,Yo.O)(na.scale+qn,2)):Math.max(B.vL,(0,Yo.O)(na.scale-qn,2));if((!aa.current||Ln.elementX!==aa.current.mouseX||Ln.elementY!==aa.current.mouseY)&&!Kr&&!isNaN(rr.elementX)&&!isNaN(Ln.elementX)&&Vr.width){var ba={posRatioX:rr.elementX/Vr.width,posRatioY:rr.elementY/Vr.height,mouseX:Ln.elementX,mouseY:Ln.elementY};aa.current=ba}na.scale=Or,na.width=Yn.width*Or,na.height=Yn.height*Or})},Gr=(0,g.useCallback)(function(){Yr(!0,B.yj,!0)},[B.yj,Yr]),Jr=(0,g.useCallback)(function(){Yr(!1,B.yj,!0)},[B.yj,Yr]),Xr=function(Dn){if(!(!Te||ye)){var qn=Dn.deltaY;qn>0?Yr(!1,B.oP):qn<0&&Yr(!0,B.oP)}},K=(0,g.useCallback)(function(){aa.current=void 0,pr&&Yn&&Cr(Yn,pr)},[Yn.width,Yn.height,pr==null?void 0:pr.width,pr==null?void 0:pr.height]);(0,g.useEffect)(function(){Te||(lr({width:0,height:0}),Lr({scale:1,width:0,height:0}),ga.current={x:0,y:0},aa.current=void 0)},[Te]);var F=(0,g.useState)(!1),ce=s()(F,2),Me=ce[0],ze=ce[1];(0,io.Z)("mousedown",function(){!Te||!Mr.current||!(0,Sr.jt)(Ln)||(ze(!0),jr({x:rr.elementX,y:rr.elementY}))}),(0,io.Z)("mousemove",function(){if(Te&&Er&&Pn&&Me){var Hn=rr.elementX-Er.x,Dn=rr.elementY-Er.y,qn=ga.current,Kr=qn.x,na=qn.y;ga.current={x:Kr+Hn,y:na+Dn}}}),(0,io.Z)("mouseup",function(){if(ze(!1),!(!Te||!Pn)&&Er){jr(null);return}}),(0,g.useEffect)(function(){jr(Pn?{x:rr.elementX,y:rr.elementY}:null)},[Pn]);var Qe=function(Dn,qn){var Kr=Dn.target,na={width:Kr.naturalWidth,height:Kr.naturalHeight};lr(na),pr&&na&&!qn&&Cr(na,pr)},St=function(Dn){(0,Sr.jt)(rr)||Un==null||Un(Dn)},At=(0,g.useMemo)(function(){var Hn=[B.jB.AutoEdgeStitching,B.jB.AutoSegmentByStroke,B.jB.BrushAdd,B.jB.BrushErase].includes(Sn.selectedSubTool);return Sn.creatingObject&&Sn.activeObjectIndex>-1&&[B.gr.Mask,B.gr.Polygon].includes(Sn.creatingObject.type)?Hn:Sn.selectedTool!==B.ru.Drag&&!Sn.isBatchEditing?[B.ru.Mask,B.ru.Polygon].includes(Sn.selectedTool)&&Hn:!1},[Sn.selectedTool,Sn.selectedSubTool]),Yt=(0,g.useMemo)(function(){return Sn.selectedTool!==B.ru.Drag&&!At&&!ir},[Sn.selectedTool,At,ir]),ln=function(Dn){var qn=Dn.children,Kr=Dn.className;return Te?(0,C.jsxs)("div",{ref:Mr,onWheel:Xr,onClick:St,className:Kr,children:[qn,Yt&&!Pn&&(0,Sr.jt)(rr)&&(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)("div",{style:{position:"absolute",backgroundColor:"#fff",width:Ln.elementX-18,height:1,left:0,top:0,transform:"translateY(".concat(Ln.elementY,"px)")}}),(0,C.jsx)("div",{style:{position:"absolute",backgroundColor:"#fff",height:1,width:Ln.elementW-Ln.elementX-18,right:0,top:0,transform:"translateY(".concat(Ln.elementY,"px)")}}),(0,C.jsx)("div",{style:{position:"absolute",backgroundColor:"#fff",width:1,height:Ln.elementY-18,left:0,top:0,transform:"translateX(".concat(Ln.elementX-1,"px")}}),(0,C.jsx)("div",{style:{position:"absolute",backgroundColor:"#fff",width:1,height:Ln.elementH-Ln.elementY-18,left:0,bottom:0,transform:"translateX(".concat(Ln.elementX-1,"px")}})]}),At&&In>0&&(0,Sr.jt)(Ln)&&(0,Sr.jt)(rr)&&!Pn&&(0,C.jsx)("div",{style:{position:"fixed",backgroundColor:"rgba(255, 255, 255, 0.5)",border:"1px solid rgba(255, 255, 255, 0.7)",width:In*Vr.scale,height:In*Vr.scale,borderRadius:In*Vr.scale/2,left:0,top:0,transformOrigin:"top left",transform:"translate(".concat(Ln.clientX-In*Vr.scale/2,"px, ").concat(Ln.clientY-In*Vr.scale/2,"px)")}})]}):null};return{CanvasContainer:ln,scale:Vr.scale,containerRef:Mr,naturalSize:Yn,clientSize:{width:Vr.width,height:Vr.height},containerSize:pr,containerMouse:t()(t()({},Ln),{},{elementW:(pr==null?void 0:pr.width)||Ln.elementW,elementH:(pr==null?void 0:pr.height)||Ln.elementH}),contentMouse:rr,imagePos:ga,isMousePress:Me,onLoadImg:Qe,onZoomIn:Gr,onZoomOut:Jr,onWheelMove:Xr,onReset:K}}var co=function(ye){var Te=ye.index,An=ye.targetElement,yt=ye.imagePos;return(0,C.jsx)(k,{children:(0,C.jsx)("div",{className:"dds-annotator-popover-menu",style:{left:An.x+yt.x+5,top:An.y+yt.y+5},children:(0,C.jsx)("div",{className:"dds-annotator-popover-menu-content",children:(0,C.jsx)("span",{className:"dds-annotator-popover-menu-text",children:"".concat(Te+1," ").concat(An.name)})})})})},Mi=co,ai=e(34095),Po=e(14464),li=e(81179),Pi=function(ye){var Te=ye.visible,An=ye.drawData,yt=ye.editState,Pn=ye.clientSize,Sn=ye.imagePos,In=ye.containerMouse,Un=ye.canvasRef,ir=ye.activeCanvasRef,Mr=ye.imgRef,pr=ye.objectHooksMap,Ln=ye.videoLoading,da=function(rr,Jn,Fr){var Er=[(0,Po.a7)(Jn,ai.rl.DEFAULT),(0,Po.a7)(Jn,ai.mh.DEFAULT),ai.s_.DEFAULT],jr=Er[0],Cr=Er[1],Ur=Er[2];return Fr==="focus"?(Ur=ai.s_.FOCUS,jr=(0,Po.a7)(Jn,ai.rl.FOCUS),Cr=(0,Po.a7)(Jn,ai.mh.FOCUS)):Fr==="editing"?(Ur=ai.s_.CREATING,jr=(0,Po.a7)(Jn,ai.rl.CREATING),Cr=(0,Po.a7)(Jn,ai.mh.CREATING)):Fr==="creating"&&(Ur=ai.s_.CREATING,jr=ai.XQ.CREATING,Cr=ai.Bt.CREATING),t()({strokeColor:jr,fillColor:Cr,maskAlpha:Ur,strokeDash:[0],thickness:2,pointAplha:1},rr.customStyles||{})},Rr=function(rr){var Jn=da(rr,rr.color,"creating");pr[rr.type].renderCreatingObject({object:rr,color:rr.color,styles:Jn})},Yn=function(rr){if(!rr.hidden){var Jn=(0,Sr.lT)(rr,{x:-Sn.current.x,y:-Sn.current.y}),Fr=yt.focusObjectIndex===An.activeObjectIndex,Er=da(rr,rr.color,Fr?"focus":"editing");pr[rr.type].renderEditingObject({object:Jn,color:rr.color,styles:Er,isFocus:Fr})}},lr=function(rr){var Jn=rr.prompt;if(Jn.creatingPrompt||Jn.promptsQueue||Jn.activeRectWhileLoading){var Fr,Er;rr.selectedTool===B.ru.Mask||((Fr=rr.creatingObject)===null||Fr===void 0?void 0:Fr.type)===B.gr.Mask?pr[B.gr.Mask].renderPrompt({prompt:Jn}):rr.selectedTool===B.ru.Polygon||((Er=rr.creatingObject)===null||Er===void 0?void 0:Er.type)===B.gr.Polygon?pr[B.gr.Polygon].renderPrompt({prompt:Jn}):rr.selectedTool===B.ru.Rectangle&&rr.selectedModel[rr.selectedTool]===B.HE.IVP&&pr[B.gr.Rectangle].renderPrompt({prompt:Jn})}},Nr=function(rr){if(!(!Te||!ir.current)){(0,li.ix)(ir.current,{width:In.elementW,height:In.elementH}),ir.current.getContext("2d").imageSmoothingEnabled=!1,(0,li.UN)(ir.current);var Jn=rr||An;Jn.creatingObject&&(Jn.activeObjectIndex>-1?Yn(Jn.creatingObject):Rr(Jn.creatingObject)),lr(Jn)}},ia=function(rr,Jn){var Fr=(0,Sr.lT)(rr,{x:-Sn.current.x,y:-Sn.current.y}),Er=Fr.type,jr=da(rr,rr.color,Jn?"focus":void 0);(0,li.M5)(Un.current,An.creatingObject?.6:1),pr[Er].renderObject({object:Fr,color:rr.color,styles:jr,isFocus:Jn})},Vr=function(rr,Jn){rr.forEach(function(Fr,Er){var jr;Fr.hidden||Er===Jn||Er===yt.focusObjectIndex||Fr.frameEmpty||ia(Fr,((jr=An.editingAttribute)===null||jr===void 0?void 0:jr.index)===Er)})},Lr=function(rr){if(!(!Te||!Un.current||!Mr.current||!Mr.current.complete)){if(Ln){(0,li.UN)(Un.current);return}(0,li.ix)(Un.current,{width:In.elementW,height:In.elementH}),Un.current.getContext("2d").imageSmoothingEnabled=!1,(0,li.UN)(Un.current),(0,li.KJ)(Un.current,yt.imageDisplayOptions.brightness,yt.imageDisplayOptions.contrast,yt.imageDisplayOptions.saturate),(0,li.AE)(Un.current,Mr.current,{x:Sn.current.x,y:Sn.current.y,width:Pn.width,height:Pn.height}),(0,li.ku)(Un.current);var Jn=rr||An;Vr(Jn.objectList,Jn.activeObjectIndex),Nr(Jn),yt.focusObjectIndex>-1&&yt.focusObjectIndex!==An.activeObjectIndex&&Jn.objectList[yt.focusObjectIndex]&&!Jn.objectList[yt.focusObjectIndex].hidden&&!Jn.objectList[yt.focusObjectIndex].frameEmpty&&ia(Jn.objectList[yt.focusObjectIndex],!0)}},ga=function(){if(yt.focusObjectIndex>-1&&An.objectList[yt.focusObjectIndex]&&!An.objectList[yt.focusObjectIndex].hidden&&yt.focusEleIndex>-1&&yt.focusEleType===B.Yq.Circle){var rr,Jn,Fr=(rr=An.objectList[yt.focusObjectIndex].keypoints)===null||rr===void 0||(Jn=rr.points)===null||Jn===void 0?void 0:Jn[yt.focusEleIndex];if(Fr)return(0,C.jsx)(Mi,{index:yt.focusEleIndex,targetElement:Fr,imagePos:Sn.current})}return(0,C.jsx)(C.Fragment,{})};return{updateRender:Lr,renderPopoverMenu:ga}},hi=Pi;function yi(Ze){var ye=Ze.categories,Te=Ze.editState,An=Ze.forceColorByObject,yt=(0,g.useMemo)(function(){return(0,Po.Cj)(ye.map(function(Un){return Un.id}))},[ye]),Pn=(0,g.useRef)(0),Sn=function(ir){var Mr=.618;Pn.current=ir+Mr;var pr=(ir+Mr)%1,Ln=(0,Po.WE)(pr,.8,.95);return(0,Po.ZT)(Ln)};(0,g.useEffect)(function(){Pn.current=0},[Te.annotsDisplayOptions.colorByCategory]);var In=(0,g.useCallback)(function(Un,ir){if(!An&&(Te.annotsDisplayOptions.colorByCategory||ir)){var Mr=ye.find(function(pr){return pr.id===Un});return(Mr==null?void 0:Mr.renderColor)||yt[Un]||"#fff"}else return Sn(Pn.current)},[Te.annotsDisplayOptions.colorByCategory,yt,Sn,Pn.current,An]);return{labelColors:yt,getAnnotColor:In}}function Zi(Ze,ye){var Te=(0,g.useRef)(),An=(0,g.useRef)(),yt=typeof ye=="function"?ye(An.current,Ze):!0;yt&&(Te.current=An.current,An.current=Ze);var Pn=function(){Te.current=void 0};return[Te.current,Pn]}var ji=function(ye){var Te=ye.imagePos,An=ye.clientSize,yt=ye.naturalSize,Pn=ye.annotations,Sn=ye.setAnnotations,In=ye.drawData,Un=ye.setDrawData,ir=ye.setFramesData,Mr=ye.editState,pr=ye.setEditState,Ln=ye.initObjectList,da=ye.updateRender,Rr=ye.clearHistory,Yn=ye.objectsFilter,lr=ye.labelOptions,Nr=ye.customDefaultDrawData,ia=Zi(An),Vr=s()(ia,2),Lr=Vr[0],ga=Vr[1],aa=function(Cr,Ur){if(!(!An.width||!An.height||!yt.width||!yt.height)){if(!In.initialized||Cr)Ln(Ur||Pn);else if(In.initialized&&Lr){ir&&(ir==null||ir(function(Gr){Gr.objects=(0,Sr.nF)(Gr.objects,Lr,An)}));var Yr=(0,Sr.hv)(In,Lr,An);Un(Yr),da(Yr),ga()}}},rr=(0,g.useCallback)(function(){Un(t()(t()({},(0,m.cloneDeep)(Q.f7)),{},{brushSize:In.brushSize,selectedTool:In.selectedTool,selectedSubTool:In.selectedSubTool,selectedModel:In.selectedModel,AIAnnotation:In.AIAnnotation},Nr))},[Q.f7,Nr,In.brushSize,In.selectedSubTool,In.selectedTool,In.AIAnnotation]),Jn=(0,g.useCallback)(function(){var jr;pr(t()(t()({},(0,m.cloneDeep)(Q.rl)),{},{latestLabelId:(lr==null||(jr=lr[0])===null||jr===void 0?void 0:jr.id)||"",imageDisplayOptions:Mr.imageDisplayOptions,annotsDisplayOptions:Mr.annotsDisplayOptions}))},[Q.rl,lr,Mr.imageDisplayOptions,Mr.annotsDisplayOptions]),Fr=(0,g.useCallback)(function(jr){var Cr=jr!=null&&jr.objects?Xt()(jr==null?void 0:jr.objects):[],Ur=jr&&Yn?Yn(jr)||[]:Cr;Sn(Ur),aa(!0,Ur)},[Yn,aa]),Er=(0,g.useCallback)(function(jr){var Cr=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Ur=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;Sn([]),rr(),Jn(),Ur&&Rr(),Cr&&jr&&Fr(jr)},[rr,Jn,Rr,Fr]);return(0,g.useEffect)(function(){da()},[In,Mr,Te.current.x,Te.current.y]),(0,g.useEffect)(function(){aa()},[An.height,An.width]),(0,g.useEffect)(function(){aa(!0)},[yt.width,yt.height]),(0,g.useEffect)(function(){lr!=null&&lr.length&&pr(function(jr){if(!jr.latestLabelId||!lr.find(function(Ur){return Ur.id===jr.latestLabelId})){var Cr;jr.latestLabelId=(Cr=lr[0])===null||Cr===void 0?void 0:Cr.id}})},[lr]),{rebuildDrawData:aa,resetDataWithImageData:Er}},oo=ji,Ja=function(ye){var Te=ye.clientSize,An=ye.naturalSize,yt=ye.onAutoSave,Pn=ye.setDrawData,Sn=ye.translateObject,In=ye.framesData,Un=ye.setFramesData,ir=(0,g.useRef)(!1),Mr=(0,M.x)([]),pr=s()(Mr,2),Ln=pr[0],da=pr[1],Rr=(0,g.useState)(0),Yn=s()(Rr,2),lr=Yn[0],Nr=Yn[1],ia=20,Vr=function(){ir.current=!1},Lr=function(Cr){if(yt){var Ur=Cr.drawData.objectList.map(function(Yr){return(Sn==null?void 0:Sn(Yr))||{}});yt(Ur,An)}},ga=(0,g.useCallback)(function(jr){Un==null||Un(function(Ur){if(jr.framesData){var Yr;Ur.activeIndex=(Yr=jr.framesData)===null||Yr===void 0?void 0:Yr.activeIndex,Ur.objects=(0,Sr.nF)(jr.framesData.objects,jr.clientSize,Te)}});var Cr=(0,Sr.hv)(jr.drawData,jr.clientSize,Te);Pn(Cr),Lr(jr)},[Te.width,Te.height]),aa=(0,g.useCallback)(function(){lr>0&&(Nr(function(jr){return ir.current=Ln.length>1&&jr-1!==0,jr-1}),ga(Ln[lr-1]))},[lr,Ln,ga]),rr=(0,g.useCallback)(function(){lr1&&jr+1!==0,jr+1}),ga(Ln[lr+1]))},[lr,Ln,ga]),Jn=function(Cr,Ur){var Yr=(0,m.cloneDeep)({drawData:Cr,clientSize:Te,framesData:Ur||In});da(function(Gr){var Jr,Xr,K;if(Gr[lr]&&(0,m.isEqual)(Yr,Gr[lr])||lr===0&&(0,m.isEqual)(Yr.drawData,(Jr=Gr[lr])===null||Jr===void 0?void 0:Jr.drawData))return Gr;!Ur&&Yr.framesData&&Un&&Yr.drawData.objectList.length&&!(0,m.isEqual)(Yr.drawData.objectList,(Xr=Gr[lr])===null||Xr===void 0||(K=Xr.drawData)===null||K===void 0?void 0:K.objectList)&&(Yr.framesData.objects=(0,Sr.cf)(Yr.drawData.objectList,Yr.framesData.objects,Yr.framesData.list.length,Yr.framesData.activeIndex,An),Un(function(F){F.objects=(0,m.cloneDeep)(Yr.framesData.objects)})),Gr.splice(lr+1),Gr.push(Yr),Gr.length>ia&&Gr.shift(),Nr(Gr.length-1),ir.current=Gr.length>1&&Gr.length-1!==0}),Lr(Yr)},Fr=(0,g.useCallback)(function(){da([])},[]),Er=function(Cr){typeof Cr=="function"?Pn(function(Ur){Cr(Ur),Jn((0,m.cloneDeep)(Ur))}):(Pn(Cr),Jn((0,m.cloneDeep)(Cr)))};return{updateHistory:Jn,undo:aa,redo:rr,clearHistory:Fr,setDrawDataWithHistory:Er,flagSaved:Vr,hadChangeRecord:ir.current}},ri=Ja;function oi(Ze){var ye=Ze.isOldMode,Te=Ze.categories,An=Ze.setCategories,yt=Ze.drawData,Pn=Ze.setDrawData,Sn=Ze.editState,In=Ze.updateObjectWithoutHistory,Un=Ze.updateAllObjectWithoutHistory,ir=(0,g.useState)(void 0),Mr=s()(ir,2),pr=Mr[0],Ln=Mr[1],da=yt.objectList,Rr=(0,g.useMemo)(function(){if(ye)return Te;if(yt.objectList[yt.activeObjectIndex]||yt.selectedTool!==B.ru.Drag){var aa=yt.objectList[yt.activeObjectIndex]?Object.keys(B.Zo).find(function(Jn){return yt.objectList[yt.activeObjectIndex].type===B.Zo[Jn]}):yt.selectedTool,rr=Object.keys(B.t).find(function(Jn){return aa===B.t[Jn]});return Te.filter(function(Jn){return Jn.labelType===rr})}return[]},[Te,yt.objectList,yt.activeObjectIndex,yt.selectedTool]),Yn=(0,g.useMemo)(function(){return(Te==null?void 0:Te.filter(function(aa){return aa.labelType===B.Ze.Classification}))||[]},[Te]),lr=(0,g.useCallback)(function(aa){Te.find(function(rr){return rr.name===aa})||!An||An(function(rr){return[].concat(Xt()(rr),[{id:aa,name:aa}])})},[Te]),Nr=(0,g.useCallback)(function(aa,rr){var Jn=t()({},yt.objectList[aa]);Jn.hidden=rr,In(Jn,aa)},[yt.objectList]),ia=(0,g.useCallback)(function(aa,rr){var Jn=yt.objectList.map(function(Fr){var Er,jr=t()({},Fr);return((Er=Te.find(function(Cr){return Cr.id===Fr.labelId}))===null||Er===void 0?void 0:Er.name)===aa&&(jr.hidden=rr),jr});Un(Jn)},[yt.objectList]),Vr=function(rr,Jn){var Fr=t()({},yt.objectList[Sn.focusObjectIndex]);switch(rr){case B.Yq.Rect:{Fr.rect&&(Fr.rect.visible=Jn,In(Fr,Sn.focusObjectIndex));break}case B.Yq.Polygon:{Fr.polygon&&(Fr.polygon.visible=Jn,In(Fr,Sn.focusObjectIndex));break}}},Lr=(0,g.useCallback)(function(aa,rr){var Jn,Fr,Er=(0,m.cloneDeep)(yt.objectList[yt.activeObjectIndex]),jr=(Jn=Er.keypoints)===null||Jn===void 0||(Fr=Jn.points)===null||Fr===void 0?void 0:Fr[aa];jr&&(jr.visible=rr),In(Er,yt.activeObjectIndex)},[yt.activeObjectIndex,yt.objectList]),ga=(0,g.useCallback)(function(aa){Pn(function(rr){aa!==rr.activeClassName&&(rr.activeClassName=aa)})},[]);return(0,g.useEffect)(function(){var aa;if(!(yt.activeObjectIndex<0)){var rr=((aa=Te.find(function(Jn){return Jn.id===yt.objectList[yt.activeObjectIndex].labelId}))===null||aa===void 0?void 0:aa.name)||"";rr!==yt.activeClassName&&ga(rr)}},[yt.activeObjectIndex]),{labelOptions:Rr,classificationOptions:Yn,aiLabels:pr,setAiLabels:Ln,curObjects:da,onChangeObjectHidden:Nr,onChangeCategoryHidden:ia,onChangeElementVisible:Vr,onChangePointVisible:Lr,onChangeActiveClass:ga,onCreateCategory:lr}}var No=function(ye){var Te=ye.topCanvas,An=ye.editState,yt=ye.drawData,Pn=(0,g.useCallback)(function(Sn,In){if(Te){var Un=Sn;if(In)switch(In){case Sr.Nm.TOP:case Sr.Nm.BOTTOM:Un="ns-resize";break;case Sr.Nm.TOP_LEFT:case Sr.Nm.BOTTOM_RIGHT:Un="nwse-resize";break;case Sr.Nm.BOTTOM_LEFT:case Sr.Nm.TOP_RIGHT:Un="nesw-resize";break;default:Un="ew-resize"}Un!==Te.style.cursor&&(Te.style.cursor=Un)}},[Te]);return(0,g.useEffect)(function(){An.allowMove?Pn("grabbing"):yt.selectedTool===B.ru.Drag?Pn("grab"):Pn("crosshair")},[An.allowMove]),{updateMouseCursor:Pn}},zo=No,xi=e(23671),Ui=e(53807),ki=function(Ze,ye){if(ye===void 0&&(ye=0),typeof requestAnimationFrame=="undefined")return{id:setInterval(Ze,ye)};var Te=new Date().getTime(),An={id:0},yt=function(){var Pn=new Date().getTime();Pn-Te>=ye&&(Ze(),Te=new Date().getTime()),An.id=requestAnimationFrame(yt)};return An.id=requestAnimationFrame(yt),An};function Ts(Ze){return typeof cancelAnimationFrame=="undefined"}var fs=function(Ze){if(Ts(Ze.id))return clearInterval(Ze.id);cancelAnimationFrame(Ze.id)};function Xs(Ze,ye,Te){var An=Te==null?void 0:Te.immediate,yt=(0,xi.Z)(Ze),Pn=(0,g.useRef)();(0,g.useEffect)(function(){if(!(!(0,Ui.hj)(ye)||ye<0))return An&&yt.current(),Pn.current=ki(function(){yt.current()},ye),function(){Pn.current&&fs(Pn.current)}},[ye]);var Sn=(0,g.useCallback)(function(){Pn.current&&fs(Pn.current)},[]);return Sn}var zl=Xs,kn=40,_r=10,Dr=function(ye){var Te=ye.visible,An=ye.mode,yt=ye.drawData,Pn=ye.setDrawData,Sn=ye.editState,In=ye.setEditState,Un=ye.clientSize,ir=ye.contentMouse,Mr=ye.categories,pr=ye.updateRender,Ln=ye.updateMouseCursor,da=ye.objectHooksMap,Rr=ye.imagePos,Yn=ye.containerMouse,lr=ye.limitActiveObject,Nr=ye.getAnnotColor,ia=(0,g.useRef)({topMin:0,topMax:0,leftMin:0,leftMax:0}),Vr=(0,g.useState)(void 0),Lr=s()(Vr,2),ga=Lr[0],aa=Lr[1];zl(function(){var Jr,Xr,K,F,ce=!1;(Jr=ia.current.direction)!==null&&Jr!==void 0&&Jr.includes("TOP")&&Rr.current.yia.current.topMin&&(Rr.current.y-=8,ce=!0),(K=ia.current.direction)!==null&&K!==void 0&&K.includes("LEFT")&&Rr.current.xia.current.leftMin&&(Rr.current.x-=8,ce=!0),ce||aa(void 0),pr()},ga);var rr=function(){var Xr="",K=kn,F=Yn.elementH-ir.elementH-kn,ce=kn,Me=Yn.elementW-ir.elementW-kn;Yn.elementY<=_r&&Rr.current.y=Yn.elementH-_r&&Rr.current.y>F&&(Xr="BOTTOM"),Yn.elementX<=_r&&Rr.current.x=Yn.elementW-_r&&Rr.current.x>Me&&(Xr+=Xr?"_RIGHT":"RIGHT"),Xr?(ia.current={direction:Xr,topMax:K,topMin:F,leftMax:ce,leftMin:Me},aa(16)):aa(void 0)},Jn=function(){var Xr;return yt.isBatchEditing&&(yt.selectedTool===B.ru.Rectangle&&Sn.isCtrlPressed?Xr=function(F){return F.status===Q.TK.Unchecked}:Xr=function(F){return F.status!==Q.TK.Unchecked}),Xr},Fr=function(){if((0,Sr.jt)(Yn)){var Xr=(0,Sr.Z0)(Un,ir,yt.activeObjectIndex,yt.objectList,Jn());if(Xr>-1&&Xr===yt.activeObjectIndex){In(function(Qe){Qe.focusObjectIndex=Xr});var K=yt.objectList[yt.activeObjectIndex],F=(0,Sr.o7)(ir,K),ce=F.focusEleIndex,Me=F.focusEleType,ze=F.focusPolygonInfo;In(function(Qe){Qe.focusEleIndex=ce,Qe.focusEleType=Me,Qe.focusPolygonInfo=ze})}else yt.selectedTool===B.ru.Drag||yt.isBatchEditing?In(function(Qe){Qe.focusObjectIndex=Xr,Qe.focusEleIndex=-1,Qe.focusEleType=B.Yq.None,Qe.focusPolygonInfo={index:-1,pointIndex:-1,lineIndex:-1}}):In(function(Qe){Qe.focusObjectIndex=-1,Qe.focusEleIndex=-1,Qe.focusEleType=B.Yq.None,Qe.focusPolygonInfo={index:-1,pointIndex:-1,lineIndex:-1}})}},Er=(0,g.useCallback)(function(Jr,Xr){if(!(Jr<0)){var K=(Xr==null?void 0:Xr.button)===2;if(K){var F=(0,Sr.RF)(Un,ir,yt.objectList,Jn());F.length>0?In(function(ce){ce.foucsObjectAllIndexs=F}):In(function(ce){ce.foucsObjectAllIndexs=[]});return}Pn(function(ce){var Me;if(ce.selectedTool===B.ru.Rectangle&&ce.isBatchEditing&&Sn.isCtrlPressed)ce.objectList[Jr].status=Q.TK.Checked,In(function(Qe){Qe.focusObjectIndex=-1});else{var ze;ce.activeObjectIndex=Jr,(ze=ce.objectList[Jr])!==null&&ze!==void 0&&ze.frameEmpty?ce.creatingObject=void 0:ce.creatingObject=t()(t()({},ce.objectList[Jr]),{},{currIndex:void 0,startPoint:void 0,tempMaskSteps:[],maskStep:void 0}),ce.selectedTool!==B.ru.Drag&&ce.objectList[Jr]&&B.Zo[ce.selectedTool]!==ce.objectList[Jr].type&&(ce.selectedTool=B.ru.Drag)}((Me=ce.editingAttribute)===null||Me===void 0?void 0:Me.index)!==Jr&&(ce.editingAttribute=void 0)})}},[Un.width,Un.height,ir,yt.objectList]),jr=function(){if(!Sn.foucsObjectAllIndexs.length)return(0,C.jsx)(C.Fragment,{});var Xr=function(Me){Me.stopPropagation()},K=function(Me){In(function(ze){ze.focusObjectIndex=Me})},F=function(Me){Er(Me),In(function(ze){ze.foucsObjectAllIndexs=[]})};return(0,C.jsx)("div",{className:"dds-annotator-dropdown-options",onMouseDown:Xr,onMouseUp:Xr,onMouseMove:Xr,onContextMenu:function(Me){return Me.preventDefault()},children:Sn.foucsObjectAllIndexs.map(function(ce){var Me,ze,Qe;return(0,C.jsxs)("div",{className:"dds-annotator-dropdown-options-object",onMouseEnter:function(){return K(ce)},onMouseDown:function(){return F(ce)},children:[(0,C.jsx)("div",{className:"dds-annotator-dropdown-options-object-dot",style:{backgroundColor:((Me=yt.objectList[ce])===null||Me===void 0?void 0:Me.color)||"#fff"}}),((ze=Mr.find(function(St){var At;return St.id===((At=yt.objectList[ce])===null||At===void 0?void 0:At.labelId)}))===null||ze===void 0?void 0:ze.name)||"",yt.isBatchEditing&&" (".concat((0,Yo.O)(((Qe=yt.objectList[ce])===null||Qe===void 0?void 0:Qe.conf)||0),")")]},ce)})})},Cr=function(Xr){if(!(!Te||Sn.allowMove||Sn.isRequiring||!(0,Sr.jt)(ir)||!(0,Sr.jt)(Yn))&&(In(function(F){F.foucsObjectAllIndexs=[]}),!(yt.creatingObject&&yt.activeObjectIndex>-1&&An===Q.je.Edit&&da[yt.creatingObject.type].startEditingWhenMouseDown({event:Xr,object:yt.creatingObject}))))if(yt.selectedTool!==B.ru.Drag&&(!yt.isBatchEditing||yt.selectedModel[yt.selectedTool]===B.HE.IVP)){Pn(function(F){F.editingAttribute=void 0});var K=B.Zo[yt.selectedTool];if(An===Q.je.Edit&&da[K].startCreatingWhenMouseDown({event:Xr,object:yt.creatingObject,point:{x:ir.elementX,y:ir.elementY},basic:{hidden:!1,labelId:Sn.latestLabelId||Mr[0].id,status:Q.TK.Commited,color:Nr(Sn.latestLabelId||Mr[0].name)}}))return}else Sn.focusObjectIndex>-1&&!lr?Er(Sn.focusObjectIndex,Xr):In(function(F){F.allowMove=!0})},Ur=function(Xr){if(!(!Te||Sn.isRequiring||Sn.allowMove)){if(Sn.focusObjectIndex>-1?Ln("pointer"):yt.selectedTool!==B.ru.Drag?Ln("crosshair"):Ln("grab"),yt.creatingObject&&yt.activeObjectIndex>-1){if(An===Q.je.Edit&&da[yt.creatingObject.type].updateEditingWhenMouseMove({event:Xr,object:yt.creatingObject})){var K,F=yt.creatingObject.type===B.gr.Mask&&!((K=yt.creatingObject)!==null&&K!==void 0&&K.maskStep);F||rr(),pr();return}}else if(yt.selectedTool!==B.ru.Drag&&yt.activeObjectIndex<0){var ce=B.Zo[yt.selectedTool];if(An===Q.je.Edit&&da[ce].updateCreatingWhenMouseMove({event:Xr,object:yt.creatingObject})){var Me,ze=ce===B.gr.Mask&&!((Me=yt.creatingObject)!==null&&Me!==void 0&&Me.maskStep);ze||rr(),pr();return}}Fr(),pr()}},Yr=function(Xr){if(aa(void 0),!(!Te||Sn.isRequiring)){if(Sn.allowMove){In(function(F){F.allowMove=!1});return}if(yt.creatingObject&&yt.activeObjectIndex>-1){if(An===Q.je.Edit&&da[yt.creatingObject.type].finishEditingWhenMouseUp({event:Xr,object:yt.creatingObject}))return}else if(yt.selectedTool!==B.ru.Drag&&yt.activeObjectIndex<0){var K=B.Zo[yt.selectedTool];if(An===Q.je.Edit&&da[K].finishCreatingWhenMouseUp({event:Xr,object:yt.creatingObject}))return}}},Gr=(0,g.useCallback)(function(Jr){In(function(Xr){Xr.focusObjectIndex=Jr})},[]);return(0,io.Z)("mousedown",function(Jr){Cr(Jr)}),(0,io.Z)("mousemove",function(Jr){Ur(Jr)}),(0,io.Z)("mouseup",function(Jr){Yr(Jr)}),{selectFocusObject:Er,forceChangeFocusObject:Gr,mouseRightObjectsDropDownRender:jr}},Zr=Dr,sa=function(ye){var Te=ye.mode,An=ye.drawData,yt=ye.setDrawData,Pn=ye.setDrawDataWithHistory,Sn=ye.framesData,In=ye.setFramesData,Un=ye.setEditState,ir=ye.translateToObject,Mr=ye.judgeEditingAttribute,pr=ye.limitActiveObjectAfterCreate,Ln=ye.updateHistory,da=function(Jn){yt(function(Fr){var Er=(0,m.cloneDeep)(Fr),jr=(0,m.cloneDeep)(Sn);if(Er.initialized=!0,jr){var Cr=Jn.map(function(Yr){return(ir==null?void 0:ir(Yr,jr.list.length))||{}});jr.objects=Cr.filter(function(Yr){return!!Yr.objects}).map(function(Yr){return Yr.objects}),Er.classifications=Cr.filter(function(Yr){return!!Yr.classification}).map(function(Yr){return Yr.classification}),Er.objectList=jr.objects.map(function(Yr){return Yr[jr.activeIndex]}),In==null||In(jr)}else{var Ur=Jn.map(function(Yr){return(ir==null?void 0:ir(Yr))||{}});Er.classifications=Ur.filter(function(Yr){return Yr.type===B.gr.Classification}),Er.objectList=Ur.filter(function(Yr){return Yr.type!==B.gr.Custom&&Yr.type!==B.gr.Classification})}return Ln((0,m.cloneDeep)(Er),(0,m.cloneDeep)(jr)),Er})},Rr=function(Jn,Fr){Te===Q.je.Edit&&Pn(function(Er){Er.objectList.push(Jn),pr?(Er.creatingObject=void 0,Er.activeObjectIndex=-1):(Er.creatingObject=t()({},Jn),Er.activeObjectIndex=Fr?-1:Er.objectList.length-1,Mr&&(Er.editingAttribute=Mr(Jn,Er.objectList.length-1)))})},Yn=function(Jn){if(!(Te!==Q.je.Edit||!An.objectList[Jn])){Un(function(jr){jr.focusObjectIndex=-1,jr.focusEleIndex=-1,jr.focusEleType=B.Yq.Rect});var Fr=(0,m.cloneDeep)(Sn),Er=(0,m.cloneDeep)(An);Fr&&Fr.objects[Jn]&&(Fr.objects.splice(Jn,1),In==null||In(Fr)),Er.objectList[Jn]&&(Er.objectList.splice(Jn,1),Er.activeObjectIndex=-1,Er.creatingObject=void 0,Er.editingAttribute=void 0),yt(Er),Ln((0,m.cloneDeep)(Er),(0,m.cloneDeep)(Fr))}},lr=(0,g.useCallback)(function(){if(Te===Q.je.Edit){Un(function(Fr){Fr.focusObjectIndex=-1,Fr.focusEleIndex=-1,Fr.focusEleType=B.Yq.Rect});var rr=(0,m.cloneDeep)(Sn),Jn=(0,m.cloneDeep)(An);rr&&(rr.objects=[],In==null||In(rr)),Jn.objectList=[],Jn.activeObjectIndex=-1,Jn.creatingObject=void 0,Jn.editingAttribute=void 0,yt(Jn),Ln((0,m.cloneDeep)(Jn),(0,m.cloneDeep)(rr))}},[Te,Sn,An]),Nr=function(Jn,Fr){Te!==Q.je.Edit||!An.objectList[Fr]||Pn(function(Er){Jn.labelId!==Er.objectList[Fr].labelId&&Mr&&(Er.editingAttribute=Mr(Jn,Fr)),Er.objectList[Fr]=Jn,Er.creatingObject&&Er.activeObjectIndex===Fr&&(Er.creatingObject=t()({},Jn))})},ia=function(Jn){Pn(function(Fr){Fr.objectList=Jn,Fr.creatingObject&&Fr.objectList[Fr.activeObjectIndex]&&(Fr.creatingObject=t()({},Fr.objectList[Fr.activeObjectIndex]))})},Vr=function(Jn,Fr){An.objectList[Fr]&&yt(function(Er){Er.objectList[Fr]=Jn,Er.creatingObject&&Er.activeObjectIndex===Fr&&(Er.creatingObject=t()({},Jn))})},Lr=function(Jn){yt(function(Fr){Fr.objectList=Jn,Fr.creatingObject&&Fr.objectList[Fr.activeObjectIndex]&&(Fr.creatingObject=t()({},Fr.objectList[Fr.activeObjectIndex]))})},ga=(0,g.useMemo)(function(){return An.objectList.filter(function(rr){return rr.status===Q.TK.Commited})},[An.isBatchEditing,An.objectList]),aa=(0,g.useMemo)(function(){return An.objectList[An.activeObjectIndex]||An.creatingObject},[An.objectList,An.activeObjectIndex,An.creatingObject]);return{initObjectList:da,addObject:Rr,removeObject:Yn,removeAllObjects:lr,updateObject:Nr,updateAllObject:ia,updateObjectWithoutHistory:Vr,updateAllObjectWithoutHistory:Lr,commitedObjects:ga,currObject:aa}},ja=sa,Fa=function(ye){var Te=ye.visible,An=ye.mode,yt=ye.drawData,Pn=ye.categories,Sn=ye.isMousePress,In=ye.setDrawData,Un=ye.setEditState,ir=ye.onSaveAnnotations,Mr=ye.onAcceptAnnotations,pr=ye.onRejectAnnotations,Ln=ye.onChangeObjectHidden,da=ye.onChangeCategoryHidden,Rr=ye.removeObject,Yn=ye.addObject;return(0,Oe.Z)(Le[Mt.Save].shortcut,function(lr){lr.preventDefault(),An===Q.je.Edit&&(ir==null||ir())},{exactMatch:!0}),(0,Oe.Z)(Le[Mt.Accept].shortcut,function(lr){lr.preventDefault(),Mr==null||Mr()},{exactMatch:!0}),(0,Oe.Z)(Le[Mt.Reject].shortcut,function(lr){lr.preventDefault(),pr==null||pr()},{exactMatch:!0}),(0,Oe.Z)(Le[Mt.PanImage].shortcut,function(lr){Te&&(lr.type==="keydown"&&!Sn?Un(function(Nr){Nr.allowMove=!0}):lr.type==="keyup"&&Un(function(Nr){Nr.allowMove=!1}))},{events:["keydown","keyup"]}),(0,Oe.Z)(Le[Mt.CancelCurrObject].shortcut,function(lr){Te&&lr.type==="keyup"&&(yt.creatingObject?In(function(Nr){var ia,Vr,Lr,ga,aa,rr;((ia=Nr.creatingObject)===null||ia===void 0?void 0:ia.type)===B.gr.Mask&&(Vr=Nr.creatingObject)!==null&&Vr!==void 0&&(Lr=Vr.maskStep)!==null&&Lr!==void 0&&(ga=Lr.points)!==null&&ga!==void 0&&ga.length&&(aa=Nr.creatingObject)!==null&&aa!==void 0&&(rr=aa.tempMaskSteps)!==null&&rr!==void 0&&rr.length?Nr.creatingObject.maskStep=void 0:(Nr.creatingObject=void 0,Nr.activeObjectIndex=-1),Nr.AIAnnotation&&(Nr.prompt={})}):In(function(Nr){Nr.activeObjectIndex=-1}))},{events:["keydown","keyup"]}),(0,Oe.Z)(Le[Mt.HideCurrObject].shortcut,function(lr){yt.activeObjectIndex<0||(lr.preventDefault(),Ln(yt.activeObjectIndex,!yt.objectList[yt.activeObjectIndex].hidden))},{exactMatch:!0}),(0,Oe.Z)(Le[Mt.HideCurrCategory].shortcut,function(lr){var Nr;if(!(yt.activeObjectIndex<0)){lr.preventDefault();var ia=yt.objectList[yt.activeObjectIndex],Vr=ia.labelId,Lr=ia.hidden,ga=((Nr=Pn.find(function(aa){return aa.id===Vr}))===null||Nr===void 0?void 0:Nr.name)||"";da(ga,!Lr)}},{exactMatch:!0}),(0,Oe.Z)(Le[Mt.DeleteCurrObject].shortcut,function(lr){!Te||An!==Q.je.Edit||["Delete","Backspace"].includes(lr.key)&&yt.activeObjectIndex>-1&&Rr(yt.activeObjectIndex)},{events:["keyup"]}),(0,Oe.Z)(["ctrl"],function(lr){yt.activeObjectIndex>-1||Un(function(Nr){var ia=lr.type==="keydown";if(Nr.isCtrlPressed===ia)return Nr;Nr.isCtrlPressed=lr.type==="keydown",Nr.focusObjectIndex=-1,Nr.foucsObjectAllIndexs=[]})},{events:["keydown","keyup"]}),(0,Oe.Z)(["v"],function(lr){Un(function(Nr){var ia=lr.type==="keydown";if(Nr.hideCreatingObject===ia)return Nr;Nr.hideCreatingObject=lr.type==="keydown"})},{events:["keydown","keyup"]}),(0,Oe.Z)(["enter"],function(){if(!yt.AIAnnotation&&yt.creatingObject&&yt.creatingObject.type===B.gr.Polygon){var lr=yt.creatingObject,Nr=lr.polygon,ia=lr.type,Vr=lr.hidden,Lr=lr.labelId,ga=lr.status,aa=lr.color;if(Nr&&Nr.group&&Nr.group[0].length>2){var rr={polygon:Nr,type:ia,hidden:Vr,labelId:Lr,status:ga,color:aa};Yn(rr)}}},{exactMatch:!0,events:["keyup"]}),{}},Na=Fa,Bo=Object.defineProperty,Vo=Object.getOwnPropertySymbols,Go=Object.prototype.hasOwnProperty,Bi=Object.prototype.propertyIsEnumerable,ps=(Ze,ye,Te)=>ye in Ze?Bo(Ze,ye,{enumerable:!0,configurable:!0,writable:!0,value:Te}):Ze[ye]=Te,es=(Ze,ye)=>{for(var Te in ye||(ye={}))Go.call(ye,Te)&&ps(Ze,Te,ye[Te]);if(Vo)for(var Te of Vo(ye))Bi.call(ye,Te)&&ps(Ze,Te,ye[Te]);return Ze};const $s=Ze=>g.createElement("svg",es({viewBox:"0 0 19 19",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Ze),g.createElement("path",{d:"M18.33 4.069a.67.67 0 0 0 .67-.672V.671A.672.672 0 0 0 18.33 0h-2.718a.67.67 0 0 0-.671.671v.672H4.066V.67A.672.672 0 0 0 3.395 0H.67A.67.67 0 0 0 0 .671v2.72a.672.672 0 0 0 .67.67h.672v10.877H.67A.67.67 0 0 0 0 15.61v2.72A.672.672 0 0 0 .67 19h2.718a.67.67 0 0 0 .671-.671v-.672h10.869v.672a.672.672 0 0 0 .67.671h2.718a.67.67 0 0 0 .67-.671v-2.706a.672.672 0 0 0-.67-.671h-.671V4.069h.684Zm-2.014 10.876h-.67a.67.67 0 0 0-.671.671v.672H4.065v-.672a.672.672 0 0 0-.67-.671h-.671V4.069h.67a.67.67 0 0 0 .672-.672v-.671h10.868v.671a.672.672 0 0 0 .671.672h.671l.02 5.438.02 5.438Z",fill:"#fff"}),g.createElement("g",{clipPath:"url(#add-prompt_svg__a)"},g.createElement("path",{d:"M14.51 5.884a.851.851 0 0 0-1.204 0l-5.418 5.423-2.409-2.41a.851.851 0 1 0-1.204 1.205l3.01 3.012a.849.849 0 0 0 1.205 0l6.02-6.025a.852.852 0 0 0 0-1.205Z",fill:"#fff"})),g.createElement("defs",null,g.createElement("clipPath",{id:"add-prompt_svg__a"},g.createElement("path",{fill:"#fff",transform:"translate(4.025 4.129)",d:"M0 0h10.735v10.742H0z"}))));var ss="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTkgMTkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE4LjMzIDQuMDY5YS42Ny42NyAwIDAgMCAuNjctLjY3MlYuNjcxQS42NzIuNjcyIDAgMCAwIDE4LjMzIDBoLTIuNzE4YS42Ny42NyAwIDAgMC0uNjcxLjY3MXYuNjcySDQuMDY2Vi42N0EuNjcyLjY3MiAwIDAgMCAzLjM5NSAwSC42N0EuNjcuNjcgMCAwIDAgMCAuNjcxdjIuNzJhLjY3Mi42NzIgMCAwIDAgLjY3LjY3aC42NzJ2MTAuODc3SC42N0EuNjcuNjcgMCAwIDAgMCAxNS42MXYyLjcyQS42NzIuNjcyIDAgMCAwIC42NyAxOWgyLjcxOGEuNjcuNjcgMCAwIDAgLjY3MS0uNjcxdi0uNjcyaDEwLjg2OXYuNjcyYS42NzIuNjcyIDAgMCAwIC42Ny42NzFoMi43MThhLjY3LjY3IDAgMCAwIC42Ny0uNjcxdi0yLjcwNmEuNjcyLjY3MiAwIDAgMC0uNjctLjY3MWgtLjY3MVY0LjA2OWguNjg0Wm0tMi4wMTQgMTAuODc2aC0uNjdhLjY3LjY3IDAgMCAwLS42NzEuNjcxdi42NzJINC4wNjV2LS42NzJhLjY3Mi42NzIgMCAwIDAtLjY3LS42NzFoLS42NzFWNC4wNjloLjY3YS42Ny42NyAwIDAgMCAuNjcyLS42NzJ2LS42NzFoMTAuODY4di42NzFhLjY3Mi42NzIgMCAwIDAgLjY3MS42NzJoLjY3MWwuMDIgNS40MzguMDIgNS40MzhaIiBmaWxsPSIjZmZmIi8+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJNMTQuNTEgNS44ODRhLjg1MS44NTEgMCAwIDAtMS4yMDQgMGwtNS40MTggNS40MjMtMi40MDktMi40MWEuODUxLjg1MSAwIDEgMC0xLjIwNCAxLjIwNWwzLjAxIDMuMDEyYS44NDkuODQ5IDAgMCAwIDEuMjA1IDBsNi4wMi02LjAyNWEuODUyLjg1MiAwIDAgMCAwLTEuMjA1WiIgZmlsbD0iI2ZmZiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGZpbGw9IiNmZmYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQuMDI1IDQuMTI5KSIgZD0iTTAgMGgxMC43MzV2MTAuNzQySDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+",qo=Object.defineProperty,Fl=Object.getOwnPropertySymbols,Il=Object.prototype.hasOwnProperty,Al=Object.prototype.propertyIsEnumerable,vu=(Ze,ye,Te)=>ye in Ze?qo(Ze,ye,{enumerable:!0,configurable:!0,writable:!0,value:Te}):Ze[ye]=Te,cl=(Ze,ye)=>{for(var Te in ye||(ye={}))Il.call(ye,Te)&&vu(Ze,Te,ye[Te]);if(Fl)for(var Te of Fl(ye))Al.call(ye,Te)&&vu(Ze,Te,ye[Te]);return Ze};const dl=Ze=>g.createElement("svg",cl({width:16,height:16,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Ze),g.createElement("g",{clipPath:"url(#brush-add_svg__a)",fill:"#fff"},g.createElement("path",{d:"M5.07 10.37 4.02 9.22l-.46-.46a1.42 1.42 0 0 1 0-1.89l.41-.41 3.84-3.73L10.34.22a.71.71 0 0 1 1.07 0c.34.31.67.63 1 .93a.66.66 0 0 1 .22.69c-.1.43-.19.87-.28 1.34l.69-.13c.25 0 .5-.1.75-.12a.82.82 0 0 1 .69.26l4.47 4.37.45.44a.87.87 0 0 1 0 1.3l-2 2-.08.08-1.34-.79 1.89-1.95-.33-.33-3.78-3.71a.3.3 0 0 0-.32-.09l-1.89.37A.74.74 0 0 1 10.7 4c.06-.33.12-.65.19-1s.1-.58.18-.85a.31.31 0 0 0-.17-.4L6.7 5.94l5 4.85c-.3.21-.61.4-.88.62a4.76 4.76 0 0 0-1.75 3 .88.88 0 0 1-.25.44l-2.94 3.37a3.42 3.42 0 0 1-5 .22 3 3 0 0 1-.83-2 3.39 3.39 0 0 1 1.33-2.88l3.32-2.89.37-.3Z"}),g.createElement("path",{d:"M17.88 13.99a4.06 4.06 0 0 0-4.46-2.68 4 4 0 0 0 .61 7.9c.22 0 .44 0 .65-.06a4 4 0 0 0 3.2-5.16Zm-2.31 2.13h-.62v.58a.94.94 0 0 1-1.87 0v-.58h-.58a.94.94 0 0 1 0-1.87h.58v-.56a.94.94 0 1 1 1.87 0v.53h.62a.94.94 0 0 1 0 1.87v.03Z"})),g.createElement("defs",null,g.createElement("clipPath",{id:"brush-add_svg__a"},g.createElement("path",{fill:"#fff",d:"M0 0h19.7v19.44H0z"}))));var Zs="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjYSkiIGZpbGw9IiNmZmYiPjxwYXRoIGQ9Ik01LjA3IDEwLjM3IDQuMDIgOS4yMmwtLjQ2LS40NmExLjQyIDEuNDIgMCAwIDEgMC0xLjg5bC40MS0uNDEgMy44NC0zLjczTDEwLjM0LjIyYS43MS43MSAwIDAgMSAxLjA3IDBjLjM0LjMxLjY3LjYzIDEgLjkzYS42Ni42NiAwIDAgMSAuMjIuNjljLS4xLjQzLS4xOS44Ny0uMjggMS4zNGwuNjktLjEzYy4yNSAwIC41LS4xLjc1LS4xMmEuODIuODIgMCAwIDEgLjY5LjI2bDQuNDcgNC4zNy40NS40NGEuODcuODcgMCAwIDEgMCAxLjNsLTIgMi0uMDguMDgtMS4zNC0uNzkgMS44OS0xLjk1LS4zMy0uMzMtMy43OC0zLjcxYS4zLjMgMCAwIDAtLjMyLS4wOWwtMS44OS4zN0EuNzQuNzQgMCAwIDEgMTAuNyA0Yy4wNi0uMzMuMTItLjY1LjE5LTFzLjEtLjU4LjE4LS44NWEuMzEuMzEgMCAwIDAtLjE3LS40TDYuNyA1Ljk0bDUgNC44NWMtLjMuMjEtLjYxLjQtLjg4LjYyYTQuNzYgNC43NiAwIDAgMC0xLjc1IDMgLjg4Ljg4IDAgMCAxLS4yNS40NGwtMi45NCAzLjM3YTMuNDIgMy40MiAwIDAgMS01IC4yMiAzIDMgMCAwIDEtLjgzLTIgMy4zOSAzLjM5IDAgMCAxIDEuMzMtMi44OGwzLjMyLTIuODkuMzctLjNaIi8+PHBhdGggZD0iTTE3Ljg4IDEzLjk5YTQuMDYgNC4wNiAwIDAgMC00LjQ2LTIuNjggNCA0IDAgMCAwIC42MSA3LjljLjIyIDAgLjQ0IDAgLjY1LS4wNmE0IDQgMCAwIDAgMy4yLTUuMTZabS0yLjMxIDIuMTNoLS42MnYuNThhLjk0Ljk0IDAgMCAxLTEuODcgMHYtLjU4aC0uNThhLjk0Ljk0IDAgMCAxIDAtMS44N2guNTh2LS41NmEuOTQuOTQgMCAxIDEgMS44NyAwdi41M2guNjJhLjk0Ljk0IDAgMCAxIDAgMS44N3YuMDNaIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGgxOS43djE5LjQ0SDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+",Js=Object.defineProperty,fl=Object.getOwnPropertySymbols,gu=Object.prototype.hasOwnProperty,vs=Object.prototype.propertyIsEnumerable,hs=(Ze,ye,Te)=>ye in Ze?Js(Ze,ye,{enumerable:!0,configurable:!0,writable:!0,value:Te}):Ze[ye]=Te,Us=(Ze,ye)=>{for(var Te in ye||(ye={}))gu.call(ye,Te)&&hs(Ze,Te,ye[Te]);if(fl)for(var Te of fl(ye))vs.call(ye,Te)&&hs(Ze,Te,ye[Te]);return Ze};const ks=Ze=>g.createElement("svg",Us({width:16,height:16,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Ze),g.createElement("g",{clipPath:"url(#brush-erase_svg__a)",fill:"#fff"},g.createElement("path",{d:"m6.47 5.69 4.8 4.7c-.29.2-.59.38-.85.59a4.73 4.73 0 0 0-1.74 3.05.45.45 0 0 1-.1.21l-2.89 3.34a3.24 3.24 0 0 1-2.47 1.2 3 3 0 0 1-3.23-3.1 3.34 3.34 0 0 1 1.39-2.7c1.16-.95 2.29-1.93 3.44-2.89l.14-.1-.4-.38-1-1a1.38 1.38 0 0 1 0-2.07L7.7 2.48c.76-.7 1.52-1.5 2.29-2.24a.69.69 0 0 1 1.05 0l1 .91a.59.59 0 0 1 .18.63c-.09.43-.18.87-.27 1.33l1.27-.25a.88.88 0 0 1 .84.24l2.71 2.68 2 1.92a.9.9 0 0 1 .29.8.66.66 0 0 1-.16.35c-.7.7-1.41 1.39-2.12 2.08l-1.28-.77 1.84-1.79V8.3l-4-3.88a.29.29 0 0 0-.28-.07l-1.84.43a.86.86 0 0 1-.8-.26.571.571 0 0 1-.13-.56c.12-.59.24-1.17.37-1.76 0-.19 0-.33-.18-.42L6.47 5.69Z"}),g.createElement("path",{d:"M9.69 14.71a3.88 3.88 0 1 1 3.88 3.8 3.83 3.83 0 0 1-3.88-3.8Zm3.87 1h1.57a1 1 0 0 0 1-1 1 1 0 0 0-1-1.06h-3.14a1 1 0 0 0 0 2l1.57.06Z"})),g.createElement("defs",null,g.createElement("clipPath",{id:"brush-erase_svg__a"},g.createElement("path",{fill:"#fff",d:"M0 0h19.03v18.77H0z"}))));var mu="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjYSkiIGZpbGw9IiNmZmYiPjxwYXRoIGQ9Im02LjQ3IDUuNjkgNC44IDQuN2MtLjI5LjItLjU5LjM4LS44NS41OWE0LjczIDQuNzMgMCAwIDAtMS43NCAzLjA1LjQ1LjQ1IDAgMCAxLS4xLjIxbC0yLjg5IDMuMzRhMy4yNCAzLjI0IDAgMCAxLTIuNDcgMS4yIDMgMyAwIDAgMS0zLjIzLTMuMSAzLjM0IDMuMzQgMCAwIDEgMS4zOS0yLjdjMS4xNi0uOTUgMi4yOS0xLjkzIDMuNDQtMi44OWwuMTQtLjEtLjQtLjM4LTEtMWExLjM4IDEuMzggMCAwIDEgMC0yLjA3TDcuNyAyLjQ4Yy43Ni0uNyAxLjUyLTEuNSAyLjI5LTIuMjRhLjY5LjY5IDAgMCAxIDEuMDUgMGwxIC45MWEuNTkuNTkgMCAwIDEgLjE4LjYzYy0uMDkuNDMtLjE4Ljg3LS4yNyAxLjMzbDEuMjctLjI1YS44OC44OCAwIDAgMSAuODQuMjRsMi43MSAyLjY4IDIgMS45MmEuOS45IDAgMCAxIC4yOS44LjY2LjY2IDAgMCAxLS4xNi4zNWMtLjcuNy0xLjQxIDEuMzktMi4xMiAyLjA4bC0xLjI4LS43NyAxLjg0LTEuNzlWOC4zbC00LTMuODhhLjI5LjI5IDAgMCAwLS4yOC0uMDdsLTEuODQuNDNhLjg2Ljg2IDAgMCAxLS44LS4yNi41NzEuNTcxIDAgMCAxLS4xMy0uNTZjLjEyLS41OS4yNC0xLjE3LjM3LTEuNzYgMC0uMTkgMC0uMzMtLjE4LS40Mkw2LjQ3IDUuNjlaIi8+PHBhdGggZD0iTTkuNjkgMTQuNzFhMy44OCAzLjg4IDAgMSAxIDMuODggMy44IDMuODMgMy44MyAwIDAgMS0zLjg4LTMuOFptMy44NyAxaDEuNTdhMSAxIDAgMCAwIDEtMSAxIDEgMCAwIDAtMS0xLjA2aC0zLjE0YTEgMSAwIDAgMCAwIDJsMS41Ny4wNloiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDE5LjAzdjE4Ljc3SDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+",Kl=Object.defineProperty,ys=Object.getOwnPropertySymbols,Ft=Object.prototype.hasOwnProperty,Do=Object.prototype.propertyIsEnumerable,Ls=(Ze,ye,Te)=>ye in Ze?Kl(Ze,ye,{enumerable:!0,configurable:!0,writable:!0,value:Te}):Ze[ye]=Te,Uo=(Ze,ye)=>{for(var Te in ye||(ye={}))Ft.call(ye,Te)&&Ls(Ze,Te,ye[Te]);if(ys)for(var Te of ys(ye))Do.call(ye,Te)&&Ls(Ze,Te,ye[Te]);return Ze};const Ol=Ze=>g.createElement("svg",Uo({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 34.02 34.02"},Ze),g.createElement("defs",null,g.createElement("style",null,".edge-stitch_svg__cls-1{fill:#fcfefe}.edge-stitch_svg__cls-3{fill:#fff}")),g.createElement("path",{className:"edge-stitch_svg__cls-1",d:"M22.25 18.52a.82.82 0 0 0 .57.15h4.3a1.44 1.44 0 1 0 0-2.87h-.86L31 11.06a1.42 1.42 0 0 0-2-2l-4.73 4.74v-.86a1.44 1.44 0 1 0-2.87 0v4.3a.87.87 0 0 0 .14.57 1.67 1.67 0 0 0 .71.71ZM9.91 31.58a1.31 1.31 0 0 0 1-.43l4.74-4.74v.86a1.44 1.44 0 1 0 2.87 0V23a.82.82 0 0 0-.15-.57 1.7 1.7 0 0 0-.71-.72.85.85 0 0 0-.58-.15h-4.3a1.44 1.44 0 1 0 0 2.87h.86l-4.73 4.71a1.38 1.38 0 0 0 0 2 1.31 1.31 0 0 0 1 .44Z"}),g.createElement("path",{style:{fill:"none",stroke:"#fff",strokeLinecap:"round",strokeMiterlimit:10,strokeWidth:3},d:"m14.4 14.51 11.14 11.14"}),g.createElement("path",{className:"edge-stitch_svg__cls-3",d:"M7.51 5.7a3.41 3.41 0 0 1 .74.45c.85.8 1.67 1.64 2.49 2.47a1.19 1.19 0 1 1-1.69 1.67Q7.77 9 6.53 7.77a1.13 1.13 0 0 1-.26-1.33 1.33 1.33 0 0 1 1.24-.74ZM19.85 10.84a5.11 5.11 0 0 1-.92-.75.93.93 0 0 1 .07-1.24c.94-1 1.89-1.95 2.88-2.87a1.07 1.07 0 0 1 1.51.09 1.09 1.09 0 0 1 .11 1.56c-.91 1-1.87 1.9-2.83 2.83a2.88 2.88 0 0 1-.82.38ZM7.26 23.44a5 5 0 0 1-.92-.73.92.92 0 0 1 .06-1.24Q7.81 20 9.31 18.56a1.08 1.08 0 0 1 1.51.14 1.1 1.1 0 0 1 .09 1.52C10 21.21 9 22.15 8 23.09a3.07 3.07 0 0 1-.74.35ZM16.16 5.64v1.67A1.24 1.24 0 0 1 15 8.59a1.22 1.22 0 0 1-1.19-1.28v-3.4A1.22 1.22 0 0 1 15 2.63a1.23 1.23 0 0 1 1.19 1.29c-.01.57-.03 1.15-.03 1.72ZM6 15.73H4.38a1.2 1.2 0 1 1 0-2.4h3.34a1.2 1.2 0 1 1 0 2.4c-.58.02-1.15 0-1.72 0Z"}));var fa="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNC4wMiAzNC4wMiI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiNmY2ZlZmV9LmNscy0ze2ZpbGw6I2ZmZn08L3N0eWxlPjwvZGVmcz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0yMi4yNSAxOC41MmEuODIuODIgMCAwIDAgLjU3LjE1aDQuM2ExLjQ0IDEuNDQgMCAxIDAgMC0yLjg3aC0uODZMMzEgMTEuMDZhMS40MiAxLjQyIDAgMCAwLTItMmwtNC43MyA0Ljc0di0uODZhMS40NCAxLjQ0IDAgMSAwLTIuODcgMHY0LjNhLjg3Ljg3IDAgMCAwIC4xNC41NyAxLjY3IDEuNjcgMCAwIDAgLjcxLjcxWk05LjkxIDMxLjU4YTEuMzEgMS4zMSAwIDAgMCAxLS40M2w0Ljc0LTQuNzR2Ljg2YTEuNDQgMS40NCAwIDEgMCAyLjg3IDBWMjNhLjgyLjgyIDAgMCAwLS4xNS0uNTcgMS43IDEuNyAwIDAgMC0uNzEtLjcyLjg1Ljg1IDAgMCAwLS41OC0uMTVoLTQuM2ExLjQ0IDEuNDQgMCAxIDAgMCAyLjg3aC44NmwtNC43MyA0LjcxYTEuMzggMS4zOCAwIDAgMCAwIDIgMS4zMSAxLjMxIDAgMCAwIDEgLjQ0WiIvPjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZmY7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7c3Ryb2tlLXdpZHRoOjNweCIgZD0ibTE0LjQgMTQuNTEgMTEuMTQgMTEuMTQiLz48cGF0aCBjbGFzcz0iY2xzLTMiIGQ9Ik03LjUxIDUuN2EzLjQxIDMuNDEgMCAwIDEgLjc0LjQ1Yy44NS44IDEuNjcgMS42NCAyLjQ5IDIuNDdhMS4xOSAxLjE5IDAgMSAxLTEuNjkgMS42N1E3Ljc3IDkgNi41MyA3Ljc3YTEuMTMgMS4xMyAwIDAgMS0uMjYtMS4zMyAxLjMzIDEuMzMgMCAwIDEgMS4yNC0uNzRaTTE5Ljg1IDEwLjg0YTUuMTEgNS4xMSAwIDAgMS0uOTItLjc1LjkzLjkzIDAgMCAxIC4wNy0xLjI0Yy45NC0xIDEuODktMS45NSAyLjg4LTIuODdhMS4wNyAxLjA3IDAgMCAxIDEuNTEuMDkgMS4wOSAxLjA5IDAgMCAxIC4xMSAxLjU2Yy0uOTEgMS0xLjg3IDEuOS0yLjgzIDIuODNhMi44OCAyLjg4IDAgMCAxLS44Mi4zOFpNNy4yNiAyMy40NGE1IDUgMCAwIDEtLjkyLS43My45Mi45MiAwIDAgMSAuMDYtMS4yNFE3LjgxIDIwIDkuMzEgMTguNTZhMS4wOCAxLjA4IDAgMCAxIDEuNTEuMTQgMS4xIDEuMSAwIDAgMSAuMDkgMS41MkMxMCAyMS4yMSA5IDIyLjE1IDggMjMuMDlhMy4wNyAzLjA3IDAgMCAxLS43NC4zNVpNMTYuMTYgNS42NHYxLjY3QTEuMjQgMS4yNCAwIDAgMSAxNSA4LjU5YTEuMjIgMS4yMiAwIDAgMS0xLjE5LTEuMjh2LTMuNEExLjIyIDEuMjIgMCAwIDEgMTUgMi42M2ExLjIzIDEuMjMgMCAwIDEgMS4xOSAxLjI5Yy0uMDEuNTctLjAzIDEuMTUtLjAzIDEuNzJaTTYgMTUuNzNINC4zOGExLjIgMS4yIDAgMSAxIDAtMi40aDMuMzRhMS4yIDEuMiAwIDEgMSAwIDIuNGMtLjU4LjAyLTEuMTUgMC0xLjcyIDBaIi8+PC9zdmc+",vl=Object.defineProperty,Bl=Object.getOwnPropertySymbols,qs=Object.prototype.hasOwnProperty,Ql=Object.prototype.propertyIsEnumerable,$l=(Ze,ye,Te)=>ye in Ze?vl(Ze,ye,{enumerable:!0,configurable:!0,writable:!0,value:Te}):Ze[ye]=Te,wo=(Ze,ye)=>{for(var Te in ye||(ye={}))qs.call(ye,Te)&&$l(Ze,Te,ye[Te]);if(Bl)for(var Te of Bl(ye))Ql.call(ye,Te)&&$l(Ze,Te,ye[Te]);return Ze};const Si=Ze=>g.createElement("svg",wo({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 34.02 34.02"},Ze),g.createElement("defs",null,g.createElement("style",null,".magic-box_svg__cls-1,.magic-box_svg__cls-3{fill:none}.magic-box_svg__cls-2{fill:#fcfefe}.magic-box_svg__cls-3{stroke:#fcfeff;stroke-linecap:round;stroke-miterlimit:10;stroke-width:2px}")),g.createElement("path",{className:"magic-box_svg__cls-1",d:"M5.28 16.36V6.08a1 1 0 0 1 1-1h22.2a1 1 0 0 1 1 1v21.67a1 1 0 0 1-1 .95h-10v2.39H31.4V2.74H3.17v13.62ZM3.06 2.74h.11v13.62h-.11z"}),g.createElement("path",{className:"magic-box_svg__cls-2",d:"M7.28 7.12H27.4V26.7h-8.91v2h10a1 1 0 0 0 1-.95V6.08a1 1 0 0 0-1-1H6.24a1 1 0 0 0-1 1v10.28h2Z"}),g.createElement("path",{className:"magic-box_svg__cls-2",d:"M4.82 28.43a.87.87 0 0 0 .11 1.19 1 1 0 0 0 1.19.09c3.29-2.56 4.66-2.56 8 0a.92.92 0 0 0 1.28-1.28c-2.56-3.29-2.56-4.66 0-8a.92.92 0 0 0-1.28-1.28c-3.29 2.56-4.66 2.56-8 0a1.37 1.37 0 0 0-.55-.15.83.83 0 0 0-.64.27.87.87 0 0 0-.09 1.19c2.63 3.31 2.63 4.59-.02 7.97Z"}),g.createElement("path",{className:"magic-box_svg__cls-3",d:"m19.24 10.15 5.75-.07M24.99 15.91v-5.83M17.97 17.19l7.02-7.11"}));var Sc="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNC4wMiAzNC4wMiI+PGRlZnM+PHN0eWxlPi5jbHMtMSwuY2xzLTN7ZmlsbDpub25lfS5jbHMtMntmaWxsOiNmY2ZlZmV9LmNscy0ze3N0cm9rZTojZmNmZWZmO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO3N0cm9rZS13aWR0aDoycHh9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNS4yOCAxNi4zNlY2LjA4YTEgMSAwIDAgMSAxLTFoMjIuMmExIDEgMCAwIDEgMSAxdjIxLjY3YTEgMSAwIDAgMS0xIC45NWgtMTB2Mi4zOUgzMS40VjIuNzRIMy4xN3YxMy42MlpNMy4wNiAyLjc0aC4xMXYxMy42MmgtLjExeiIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTcuMjggNy4xMkgyNy40VjI2LjdoLTguOTF2MmgxMGExIDEgMCAwIDAgMS0uOTVWNi4wOGExIDEgMCAwIDAtMS0xSDYuMjRhMSAxIDAgMCAwLTEgMXYxMC4yOGgyWiIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTQuODIgMjguNDNhLjg3Ljg3IDAgMCAwIC4xMSAxLjE5IDEgMSAwIDAgMCAxLjE5LjA5YzMuMjktMi41NiA0LjY2LTIuNTYgOCAwYS45Mi45MiAwIDAgMCAxLjI4LTEuMjhjLTIuNTYtMy4yOS0yLjU2LTQuNjYgMC04YS45Mi45MiAwIDAgMC0xLjI4LTEuMjhjLTMuMjkgMi41Ni00LjY2IDIuNTYtOCAwYTEuMzcgMS4zNyAwIDAgMC0uNTUtLjE1LjgzLjgzIDAgMCAwLS42NC4yNy44Ny44NyAwIDAgMC0uMDkgMS4xOWMyLjYzIDMuMzEgMi42MyA0LjU5LS4wMiA3Ljk3WiIvPjxwYXRoIGNsYXNzPSJjbHMtMyIgZD0ibTE5LjI0IDEwLjE1IDUuNzUtLjA3TTI0Ljk5IDE1Ljkxdi01LjgzTTE3Ljk3IDE3LjE5bDcuMDItNy4xMSIvPjwvc3ZnPg==",dc=Object.defineProperty,qa=Object.getOwnPropertySymbols,as=Object.prototype.hasOwnProperty,el=Object.prototype.propertyIsEnumerable,za=(Ze,ye,Te)=>ye in Ze?dc(Ze,ye,{enumerable:!0,configurable:!0,writable:!0,value:Te}):Ze[ye]=Te,iu=(Ze,ye)=>{for(var Te in ye||(ye={}))as.call(ye,Te)&&za(Ze,Te,ye[Te]);if(qa)for(var Te of qa(ye))el.call(ye,Te)&&za(Ze,Te,ye[Te]);return Ze};const Yi=Ze=>g.createElement("svg",iu({id:"magic-brush_svg__\\u56FE\\u5C42_1","data-name":"\\u56FE\\u5C42 1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 34.02 34.02"},Ze),g.createElement("defs",null,g.createElement("style",null,".magic-brush_svg__cls-1{fill:#fff}")),g.createElement("path",{className:"magic-brush_svg__cls-1",d:"M15.22 14.73 21 9l10.1 10.1-5.8 5.76ZM14.33 15.43l10.34 10.36c-.87.86-1.78 1.78-2.71 2.68-.09.08-.37 0-.53-.07-1.31-.58-2.63-1.16-3.92-1.78a.74.74 0 0 0-1 .17q-1.75 1.82-3.57 3.56a2.14 2.14 0 0 1-2.33.51 2.08 2.08 0 0 1-1.42-1.69 2.2 2.2 0 0 1 .67-2.05C11 26 12.14 24.8 13.32 23.66a.74.74 0 0 0 .19-1c-.61-1.27-1.16-2.57-1.77-3.85a.67.67 0 0 1 .15-.91c.84-.81 1.63-1.64 2.44-2.47Zm-1.82 13.18a1 1 0 1 0-2 .05 1 1 0 0 0 2-.05Z"}),g.createElement("path",{d:"M3.2 12.66a.89.89 0 0 0 .11 1.23 1 1 0 0 0 1.23.1c3.4-2.65 4.82-2.65 8.27 0a.95.95 0 0 0 1.32-1.33c-2.64-3.4-2.64-4.81 0-8.26A.9.9 0 0 0 14 3.17a.89.89 0 0 0-1.23-.1C9.41 5.72 8 5.72 4.54 3.07A1.27 1.27 0 0 0 4 2.89a.84.84 0 0 0-.66.28.9.9 0 0 0-.12 1.23c2.72 3.45 2.72 4.77-.02 8.26Z",style:{fill:"#fcfefe"}}));var Zl="data:image/svg+xml;base64,PHN2ZyBpZD0i5Zu+5bGCXzEiIGRhdGEtbmFtZT0i5Zu+5bGCIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDM0LjAyIDM0LjAyIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2ZmZn08L3N0eWxlPjwvZGVmcz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xNS4yMiAxNC43MyAyMSA5bDEwLjEgMTAuMS01LjggNS43NlpNMTQuMzMgMTUuNDNsMTAuMzQgMTAuMzZjLS44Ny44Ni0xLjc4IDEuNzgtMi43MSAyLjY4LS4wOS4wOC0uMzcgMC0uNTMtLjA3LTEuMzEtLjU4LTIuNjMtMS4xNi0zLjkyLTEuNzhhLjc0Ljc0IDAgMCAwLTEgLjE3cS0xLjc1IDEuODItMy41NyAzLjU2YTIuMTQgMi4xNCAwIDAgMS0yLjMzLjUxIDIuMDggMi4wOCAwIDAgMS0xLjQyLTEuNjkgMi4yIDIuMiAwIDAgMSAuNjctMi4wNUMxMSAyNiAxMi4xNCAyNC44IDEzLjMyIDIzLjY2YS43NC43NCAwIDAgMCAuMTktMWMtLjYxLTEuMjctMS4xNi0yLjU3LTEuNzctMy44NWEuNjcuNjcgMCAwIDEgLjE1LS45MWMuODQtLjgxIDEuNjMtMS42NCAyLjQ0LTIuNDdabS0xLjgyIDEzLjE4YTEgMSAwIDEgMC0yIC4wNSAxIDEgMCAwIDAgMi0uMDVaIi8+PHBhdGggZD0iTTMuMiAxMi42NmEuODkuODkgMCAwIDAgLjExIDEuMjMgMSAxIDAgMCAwIDEuMjMuMWMzLjQtMi42NSA0LjgyLTIuNjUgOC4yNyAwYS45NS45NSAwIDAgMCAxLjMyLTEuMzNjLTIuNjQtMy40LTIuNjQtNC44MSAwLTguMjZBLjkuOSAwIDAgMCAxNCAzLjE3YS44OS44OSAwIDAgMC0xLjIzLS4xQzkuNDEgNS43MiA4IDUuNzIgNC41NCAzLjA3QTEuMjcgMS4yNyAwIDAgMCA0IDIuODlhLjg0Ljg0IDAgMCAwLS42Ni4yOC45LjkgMCAwIDAtLjEyIDEuMjNjMi43MiAzLjQ1IDIuNzIgNC43Ny0uMDIgOC4yNloiIHN0eWxlPSJmaWxsOiNmY2ZlZmUiLz48L3N2Zz4=",Dl=Object.defineProperty,Xl=Object.getOwnPropertySymbols,Ul=Object.prototype.hasOwnProperty,fc=Object.prototype.propertyIsEnumerable,Ou=(Ze,ye,Te)=>ye in Ze?Dl(Ze,ye,{enumerable:!0,configurable:!0,writable:!0,value:Te}):Ze[ye]=Te,$o=(Ze,ye)=>{for(var Te in ye||(ye={}))Ul.call(ye,Te)&&Ou(Ze,Te,ye[Te]);if(Xl)for(var Te of Xl(ye))fc.call(ye,Te)&&Ou(Ze,Te,ye[Te]);return Ze};const Du=Ze=>g.createElement("svg",$o({id:"magic-click_svg__\\u56FE\\u5C42_1","data-name":"\\u56FE\\u5C42 1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 34.02 34.02"},Ze),g.createElement("defs",null,g.createElement("style",null,".magic-click_svg__cls-1{fill:#fff}")),g.createElement("path",{className:"magic-click_svg__cls-1",d:"M30.88 21.21a1.6 1.6 0 0 1-1 1.35c-1.54.75-3.08 1.51-4.59 2.31a2.18 2.18 0 0 0-.87.86c-.79 1.49-1.53 3-2.27 4.53a1.49 1.49 0 0 1-2.89-.18Q17.2 23.8 15.1 17.52a1.49 1.49 0 0 1 2-2l12.55 4.19a1.56 1.56 0 0 1 1.23 1.5Zm-5.25.23-6.94-2.32 2.32 7c.37-.74.71-1.3.95-1.9a3 3 0 0 1 1.8-1.79c.6-.29 1.15-.62 1.87-.99ZM7.34 6.09a4.23 4.23 0 0 1 .89.54l3 3a1.45 1.45 0 1 1-2 2c-1-1-2.06-2-3.07-3.07A1.37 1.37 0 0 1 5.83 7a1.6 1.6 0 0 1 1.51-.91ZM22.35 12.35a6.61 6.61 0 0 1-1.12-.92 1.14 1.14 0 0 1 .09-1.51c1.14-1.19 2.3-2.37 3.5-3.49a1.31 1.31 0 0 1 1.84.1 1.34 1.34 0 0 1 .14 1.9c-1.11 1.19-2.28 2.32-3.45 3.45a3.92 3.92 0 0 1-1 .47ZM7 27.68a6 6 0 0 1-1.13-.9 1.12 1.12 0 0 1 .13-1.5c1.15-1.21 2.32-2.4 3.55-3.54a1.32 1.32 0 0 1 1.84.17 1.33 1.33 0 0 1 .1 1.85C10.35 25 9.16 26.11 8 27.25a3.75 3.75 0 0 1-1 .43ZM17.87 6v2A1.46 1.46 0 1 1 15 8V3.87a1.49 1.49 0 0 1 1.46-1.56 1.51 1.51 0 0 1 1.45 1.57c-.03.74-.04 1.44-.04 2.12ZM5.48 18.3h-2a1.5 1.5 0 0 1-1.55-1.5 1.48 1.48 0 0 1 1.59-1.42h4.07a1.49 1.49 0 0 1 1.59 1.49 1.5 1.5 0 0 1-1.6 1.42c-.69.02-1.4.01-2.1.01Z"}),g.createElement("path",{className:"magic-click_svg__cls-1",d:"M25.63 21.44c-.72.37-1.27.7-1.87.94A3 3 0 0 0 22 24.17c-.24.6-.58 1.16-.95 1.9l-2.32-6.95Z"}));var su="data:image/svg+xml;base64,PHN2ZyBpZD0i5Zu+5bGCXzEiIGRhdGEtbmFtZT0i5Zu+5bGCIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDM0LjAyIDM0LjAyIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2ZmZn08L3N0eWxlPjwvZGVmcz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0zMC44OCAyMS4yMWExLjYgMS42IDAgMCAxLTEgMS4zNWMtMS41NC43NS0zLjA4IDEuNTEtNC41OSAyLjMxYTIuMTggMi4xOCAwIDAgMC0uODcuODZjLS43OSAxLjQ5LTEuNTMgMy0yLjI3IDQuNTNhMS40OSAxLjQ5IDAgMCAxLTIuODktLjE4UTE3LjIgMjMuOCAxNS4xIDE3LjUyYTEuNDkgMS40OSAwIDAgMSAyLTJsMTIuNTUgNC4xOWExLjU2IDEuNTYgMCAwIDEgMS4yMyAxLjVabS01LjI1LjIzLTYuOTQtMi4zMiAyLjMyIDdjLjM3LS43NC43MS0xLjMuOTUtMS45YTMgMyAwIDAgMSAxLjgtMS43OWMuNi0uMjkgMS4xNS0uNjIgMS44Ny0uOTlaTTcuMzQgNi4wOWE0LjIzIDQuMjMgMCAwIDEgLjg5LjU0bDMgM2ExLjQ1IDEuNDUgMCAxIDEtMiAyYy0xLTEtMi4wNi0yLTMuMDctMy4wN0ExLjM3IDEuMzcgMCAwIDEgNS44MyA3YTEuNiAxLjYgMCAwIDEgMS41MS0uOTFaTTIyLjM1IDEyLjM1YTYuNjEgNi42MSAwIDAgMS0xLjEyLS45MiAxLjE0IDEuMTQgMCAwIDEgLjA5LTEuNTFjMS4xNC0xLjE5IDIuMy0yLjM3IDMuNS0zLjQ5YTEuMzEgMS4zMSAwIDAgMSAxLjg0LjEgMS4zNCAxLjM0IDAgMCAxIC4xNCAxLjljLTEuMTEgMS4xOS0yLjI4IDIuMzItMy40NSAzLjQ1YTMuOTIgMy45MiAwIDAgMS0xIC40N1pNNyAyNy42OGE2IDYgMCAwIDEtMS4xMy0uOSAxLjEyIDEuMTIgMCAwIDEgLjEzLTEuNWMxLjE1LTEuMjEgMi4zMi0yLjQgMy41NS0zLjU0YTEuMzIgMS4zMiAwIDAgMSAxLjg0LjE3IDEuMzMgMS4zMyAwIDAgMSAuMSAxLjg1QzEwLjM1IDI1IDkuMTYgMjYuMTEgOCAyNy4yNWEzLjc1IDMuNzUgMCAwIDEtMSAuNDNaTTE3Ljg3IDZ2MkExLjQ2IDEuNDYgMCAxIDEgMTUgOFYzLjg3YTEuNDkgMS40OSAwIDAgMSAxLjQ2LTEuNTYgMS41MSAxLjUxIDAgMCAxIDEuNDUgMS41N2MtLjAzLjc0LS4wNCAxLjQ0LS4wNCAyLjEyWk01LjQ4IDE4LjNoLTJhMS41IDEuNSAwIDAgMS0xLjU1LTEuNSAxLjQ4IDEuNDggMCAwIDEgMS41OS0xLjQyaDQuMDdhMS40OSAxLjQ5IDAgMCAxIDEuNTkgMS40OSAxLjUgMS41IDAgMCAxLTEuNiAxLjQyYy0uNjkuMDItMS40LjAxLTIuMS4wMVoiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0yNS42MyAyMS40NGMtLjcyLjM3LTEuMjcuNy0xLjg3Ljk0QTMgMyAwIDAgMCAyMiAyNC4xN2MtLjI0LjYtLjU4IDEuMTYtLjk1IDEuOWwtMi4zMi02Ljk1WiIvPjwvc3ZnPg==",As=Object.defineProperty,tl=Object.getOwnPropertySymbols,gl=Object.prototype.hasOwnProperty,Zt=Object.prototype.propertyIsEnumerable,Ii=(Ze,ye,Te)=>ye in Ze?As(Ze,ye,{enumerable:!0,configurable:!0,writable:!0,value:Te}):Ze[ye]=Te,Jl=(Ze,ye)=>{for(var Te in ye||(ye={}))gl.call(ye,Te)&&Ii(Ze,Te,ye[Te]);if(tl)for(var Te of tl(ye))Zt.call(ye,Te)&&Ii(Ze,Te,ye[Te]);return Ze};const Wi=Ze=>g.createElement("svg",Jl({width:16,height:16,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Ze),g.createElement("g",{clipPath:"url(#pen-add_svg__a)",fill:"#fff"},g.createElement("path",{d:"M16.7 10c0-.1 0-.1.1-.2v-.2c0-.1 0-.1-.1-.1l-3.2-3.2-3.1-3.1v-.1H10.1c-.1.2-.3.3-.6.3-1.7.7-3.4 1.3-5.2 1.9-.1 0-.1.1-.2.1s0 .1 0 .2c-.2.6-.4 1.2-.6 1.9C3 9.2 2.5 11 2 12.7L.3 18.4c-.1.3-.2.7-.3 1l.2-.1L7 12.4l.1-.1V12c-.1-.2-.2-.5-.2-.8 0-.3 0-.6.1-.8.1-.3.3-.5.5-.7.2-.2.4-.3.7-.4H9c.3 0 .5.1.8.3.2.1.4.3.6.6.9-.8 2-1.2 3.3-1.2 1.1 0 2.2.4 3 1Z"}),g.createElement("path",{d:"M8.6 13.2h-.3c-.2-.1-.3-.2-.5-.3L.7 20l4-1.2 5-1.4c-.7-.9-1.2-2-1.2-3.3 0-.3.1-.6.1-.9ZM11.3 2.6 16.7 8l.8.8L20 7.2 12.8 0l-.1.1c-.5.8-1 1.5-1.5 2.2v.2l.1.1c-.1 0-.1 0 0 0ZM16.4 11c-.7-.6-1.7-1.1-2.7-1.1-1.2 0-2.3.5-3 1.3-.4.5-.8 1-.9 1.7-.1.4-.2.7-.2 1.1 0 1.2.5 2.2 1.3 3 .7.7 1.7 1.2 2.9 1.2 2.3 0 4.1-1.9 4.1-4.1-.1-1.2-.7-2.3-1.5-3.1Zm-1.1 4.1h-.7v.8c0 .6-.4 1-1 1s-1-.4-1-1v-.8H12c-.6 0-1-.4-1-1s.4-1 1-1h.6v-.5c0-.6.4-1 1-1s1 .4 1 1v.5h.7c.6 0 1 .4 1 1s-.4 1-1 1Z"})),g.createElement("defs",null,g.createElement("clipPath",{id:"pen-add_svg__a"},g.createElement("path",{fill:"#fff",d:"M0 0h20v20H0z"}))));var Ko="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjYSkiIGZpbGw9IiNmZmYiPjxwYXRoIGQ9Ik0xNi43IDEwYzAtLjEgMC0uMS4xLS4ydi0uMmMwLS4xIDAtLjEtLjEtLjFsLTMuMi0zLjItMy4xLTMuMXYtLjFIMTAuMWMtLjEuMi0uMy4zLS42LjMtMS43LjctMy40IDEuMy01LjIgMS45LS4xIDAtLjEuMS0uMi4xczAgLjEgMCAuMmMtLjIuNi0uNCAxLjItLjYgMS45QzMgOS4yIDIuNSAxMSAyIDEyLjdMLjMgMTguNGMtLjEuMy0uMi43LS4zIDFsLjItLjFMNyAxMi40bC4xLS4xVjEyYy0uMS0uMi0uMi0uNS0uMi0uOCAwLS4zIDAtLjYuMS0uOC4xLS4zLjMtLjUuNS0uNy4yLS4yLjQtLjMuNy0uNEg5Yy4zIDAgLjUuMS44LjMuMi4xLjQuMy42LjYuOS0uOCAyLTEuMiAzLjMtMS4yIDEuMSAwIDIuMi40IDMgMVoiLz48cGF0aCBkPSJNOC42IDEzLjJoLS4zYy0uMi0uMS0uMy0uMi0uNS0uM0wuNyAyMGw0LTEuMiA1LTEuNGMtLjctLjktMS4yLTItMS4yLTMuMyAwLS4zLjEtLjYuMS0uOVpNMTEuMyAyLjYgMTYuNyA4bC44LjhMMjAgNy4yIDEyLjggMGwtLjEuMWMtLjUuOC0xIDEuNS0xLjUgMi4ydi4ybC4xLjFjLS4xIDAtLjEgMCAwIDBaTTE2LjQgMTFjLS43LS42LTEuNy0xLjEtMi43LTEuMS0xLjIgMC0yLjMuNS0zIDEuMy0uNC41LS44IDEtLjkgMS43LS4xLjQtLjIuNy0uMiAxLjEgMCAxLjIuNSAyLjIgMS4zIDMgLjcuNyAxLjcgMS4yIDIuOSAxLjIgMi4zIDAgNC4xLTEuOSA0LjEtNC4xLS4xLTEuMi0uNy0yLjMtMS41LTMuMVptLTEuMSA0LjFoLS43di44YzAgLjYtLjQgMS0xIDFzLTEtLjQtMS0xdi0uOEgxMmMtLjYgMC0xLS40LTEtMXMuNC0xIDEtMWguNnYtLjVjMC0uNi40LTEgMS0xczEgLjQgMSAxdi41aC43Yy42IDAgMSAuNCAxIDFzLS40IDEtMSAxWiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoMjB2MjBIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=",po=Object.defineProperty,pu=Object.getOwnPropertySymbols,hu=Object.prototype.hasOwnProperty,bs=Object.prototype.propertyIsEnumerable,ml=(Ze,ye,Te)=>ye in Ze?po(Ze,ye,{enumerable:!0,configurable:!0,writable:!0,value:Te}):Ze[ye]=Te,Ei=(Ze,ye)=>{for(var Te in ye||(ye={}))hu.call(ye,Te)&&ml(Ze,Te,ye[Te]);if(pu)for(var Te of pu(ye))bs.call(ye,Te)&&ml(Ze,Te,ye[Te]);return Ze};const Di=Ze=>g.createElement("svg",Ei({width:16,height:16,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Ze),g.createElement("g",{clipPath:"url(#pen-erase_svg__a)",fill:"#fff"},g.createElement("path",{d:"m16.74 10 .07-.2a.22.22 0 0 0 0-.16.22.22 0 0 0-.09-.12l-3.14-3.16-3.07-3.08a.18.18 0 0 0 0-.07H10.29l-.72.26-5.23 1.82a.42.42 0 0 0-.18.11.35.35 0 0 0-.1.19c-.17.63-.36 1.25-.55 1.88C3 9.21 2.51 11 2 12.67L.3 18.34c-.09.31-.18.66-.3 1l.16-.14L7 12.42l.06-.06a.16.16 0 0 0 0-.09.17.17 0 0 0 0-.1v-.08a1.87 1.87 0 0 1-.06-1.6A1.95 1.95 0 0 1 8.16 9.4c.27-.09.558-.118.84-.08a2 2 0 0 1 .78.26c.232.15.432.344.59.57a5 5 0 0 1 6.37-.15Z"}),g.createElement("path",{d:"M8.63 13.2c-.106.01-.214.01-.32 0a3.38 3.38 0 0 1-.52-.22L.74 20l4-1.2 5-1.44a4.9 4.9 0 0 1-1.11-4.16ZM11.25 2.62c1.83 1.82 3.62 3.62 5.43 5.43l.81.83L20 7.21 12.83 0l-.08.1c-.5.75-1 1.53-1.5 2.25v.06a.192.192 0 0 0 0 .07.19.19 0 0 0 0 .08.208.208 0 0 0 0 .06ZM16.38 11a4.1 4.1 0 0 0-6.66 2 4.24 4.24 0 0 0-.18 1.13 4.11 4.11 0 0 0 1.27 3 4.06 4.06 0 0 0 2.85 1.16A4.12 4.12 0 0 0 16.38 11Zm-1 4.08h-3.32a1 1 0 0 1 0-2h3.27a1 1 0 0 1 0 2h.05Z"})),g.createElement("defs",null,g.createElement("clipPath",{id:"pen-erase_svg__a"},g.createElement("path",{fill:"#fff",d:"M0 0h20v20H0z"}))));var ls="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjYSkiIGZpbGw9IiNmZmYiPjxwYXRoIGQ9Im0xNi43NCAxMCAuMDctLjJhLjIyLjIyIDAgMCAwIDAtLjE2LjIyLjIyIDAgMCAwLS4wOS0uMTJsLTMuMTQtMy4xNi0zLjA3LTMuMDhhLjE4LjE4IDAgMCAwIDAtLjA3SDEwLjI5bC0uNzIuMjYtNS4yMyAxLjgyYS40Mi40MiAwIDAgMC0uMTguMTEuMzUuMzUgMCAwIDAtLjEuMTljLS4xNy42My0uMzYgMS4yNS0uNTUgMS44OEMzIDkuMjEgMi41MSAxMSAyIDEyLjY3TC4zIDE4LjM0Yy0uMDkuMzEtLjE4LjY2LS4zIDFsLjE2LS4xNEw3IDEyLjQybC4wNi0uMDZhLjE2LjE2IDAgMCAwIDAtLjA5LjE3LjE3IDAgMCAwIDAtLjF2LS4wOGExLjg3IDEuODcgMCAwIDEtLjA2LTEuNkExLjk1IDEuOTUgMCAwIDEgOC4xNiA5LjRjLjI3LS4wOS41NTgtLjExOC44NC0uMDhhMiAyIDAgMCAxIC43OC4yNmMuMjMyLjE1LjQzMi4zNDQuNTkuNTdhNSA1IDAgMCAxIDYuMzctLjE1WiIvPjxwYXRoIGQ9Ik04LjYzIDEzLjJjLS4xMDYuMDEtLjIxNC4wMS0uMzIgMGEzLjM4IDMuMzggMCAwIDEtLjUyLS4yMkwuNzQgMjBsNC0xLjIgNS0xLjQ0YTQuOSA0LjkgMCAwIDEtMS4xMS00LjE2Wk0xMS4yNSAyLjYyYzEuODMgMS44MiAzLjYyIDMuNjIgNS40MyA1LjQzbC44MS44M0wyMCA3LjIxIDEyLjgzIDBsLS4wOC4xYy0uNS43NS0xIDEuNTMtMS41IDIuMjV2LjA2YS4xOTIuMTkyIDAgMCAwIDAgLjA3LjE5LjE5IDAgMCAwIDAgLjA4LjIwOC4yMDggMCAwIDAgMCAuMDZaTTE2LjM4IDExYTQuMSA0LjEgMCAwIDAtNi42NiAyIDQuMjQgNC4yNCAwIDAgMC0uMTggMS4xMyA0LjExIDQuMTEgMCAwIDAgMS4yNyAzIDQuMDYgNC4wNiAwIDAgMCAyLjg1IDEuMTZBNC4xMiA0LjEyIDAgMCAwIDE2LjM4IDExWm0tMSA0LjA4aC0zLjMyYTEgMSAwIDAgMSAwLTJoMy4yN2ExIDEgMCAwIDEgMCAyaC4wNVoiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDIwdjIwSDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+",us=Object.defineProperty,ho=Object.getOwnPropertySymbols,nl=Object.prototype.hasOwnProperty,yu=Object.prototype.propertyIsEnumerable,Ni=(Ze,ye,Te)=>ye in Ze?us(Ze,ye,{enumerable:!0,configurable:!0,writable:!0,value:Te}):Ze[ye]=Te,lu=(Ze,ye)=>{for(var Te in ye||(ye={}))nl.call(ye,Te)&&Ni(Ze,Te,ye[Te]);if(ho)for(var Te of ho(ye))yu.call(ye,Te)&&Ni(Ze,Te,ye[Te]);return Ze};const wu=Ze=>g.createElement("svg",lu({viewBox:"0 0 19 19",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Ze),g.createElement("path",{d:"M18.33 4.069a.67.67 0 0 0 .67-.672V.671A.672.672 0 0 0 18.33 0h-2.718a.67.67 0 0 0-.671.671v.672H4.066V.67A.672.672 0 0 0 3.395 0H.67A.67.67 0 0 0 0 .671v2.72a.672.672 0 0 0 .67.67h.672v10.877H.67A.67.67 0 0 0 0 15.61v2.72A.672.672 0 0 0 .67 19h2.718a.67.67 0 0 0 .671-.671v-.672h10.869v.672a.672.672 0 0 0 .67.671h2.718a.67.67 0 0 0 .67-.671v-2.706a.672.672 0 0 0-.67-.671h-.671V4.069h.684Zm-2.014 10.876h-.67a.67.67 0 0 0-.671.671v.672H4.065v-.672a.672.672 0 0 0-.67-.671h-.671V4.069h.67a.67.67 0 0 0 .672-.672v-.671h10.868v.671a.672.672 0 0 0 .671.672h.671l.02 5.438.02 5.438Z",fill:"#fff"}),g.createElement("g",{stroke:"#fff",strokeWidth:1.5,strokeLinecap:"round"},g.createElement("path",{d:"m6.71 6.713 6.037 6.043M6.71 6.713l6.037 6.043M6.71 6.713l6.037 6.043M6.71 6.713l6.037 6.043"})),g.createElement("g",{stroke:"#fff",strokeWidth:1.5,strokeLinecap:"round"},g.createElement("path",{d:"M12.747 6.713 6.71 12.756M12.747 6.713 6.71 12.756M12.747 6.713 6.71 12.756M12.747 6.713 6.71 12.756"})));var rl="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTkgMTkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE4LjMzIDQuMDY5YS42Ny42NyAwIDAgMCAuNjctLjY3MlYuNjcxQS42NzIuNjcyIDAgMCAwIDE4LjMzIDBoLTIuNzE4YS42Ny42NyAwIDAgMC0uNjcxLjY3MXYuNjcySDQuMDY2Vi42N0EuNjcyLjY3MiAwIDAgMCAzLjM5NSAwSC42N0EuNjcuNjcgMCAwIDAgMCAuNjcxdjIuNzJhLjY3Mi42NzIgMCAwIDAgLjY3LjY3aC42NzJ2MTAuODc3SC42N0EuNjcuNjcgMCAwIDAgMCAxNS42MXYyLjcyQS42NzIuNjcyIDAgMCAwIC42NyAxOWgyLjcxOGEuNjcuNjcgMCAwIDAgLjY3MS0uNjcxdi0uNjcyaDEwLjg2OXYuNjcyYS42NzIuNjcyIDAgMCAwIC42Ny42NzFoMi43MThhLjY3LjY3IDAgMCAwIC42Ny0uNjcxdi0yLjcwNmEuNjcyLjY3MiAwIDAgMC0uNjctLjY3MWgtLjY3MVY0LjA2OWguNjg0Wm0tMi4wMTQgMTAuODc2aC0uNjdhLjY3LjY3IDAgMCAwLS42NzEuNjcxdi42NzJINC4wNjV2LS42NzJhLjY3Mi42NzIgMCAwIDAtLjY3LS42NzFoLS42NzFWNC4wNjloLjY3YS42Ny42NyAwIDAgMCAuNjcyLS42NzJ2LS42NzFoMTAuODY4di42NzFhLjY3Mi42NzIgMCAwIDAgLjY3MS42NzJoLjY3MWwuMDIgNS40MzguMDIgNS40MzhaIiBmaWxsPSIjZmZmIi8+PGcgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48cGF0aCBkPSJtNi43MSA2LjcxMyA2LjAzNyA2LjA0M002LjcxIDYuNzEzbDYuMDM3IDYuMDQzTTYuNzEgNi43MTNsNi4wMzcgNi4wNDNNNi43MSA2LjcxM2w2LjAzNyA2LjA0MyIvPjwvZz48ZyBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiPjxwYXRoIGQ9Ik0xMi43NDcgNi43MTMgNi43MSAxMi43NTZNMTIuNzQ3IDYuNzEzIDYuNzEgMTIuNzU2TTEyLjc0NyA2LjcxMyA2LjcxIDEyLjc1Nk0xMi43NDcgNi43MTMgNi43MSAxMi43NTYiLz48L2c+PC9zdmc+",wl=Object.defineProperty,al=Object.getOwnPropertySymbols,Os=Object.prototype.hasOwnProperty,Ds=Object.prototype.propertyIsEnumerable,bu=(Ze,ye,Te)=>ye in Ze?wl(Ze,ye,{enumerable:!0,configurable:!0,writable:!0,value:Te}):Ze[ye]=Te,Ws=(Ze,ye)=>{for(var Te in ye||(ye={}))Os.call(ye,Te)&&bu(Ze,Te,ye[Te]);if(al)for(var Te of al(ye))Ds.call(ye,Te)&&bu(Ze,Te,ye[Te]);return Ze};const ha=Ze=>g.createElement("svg",Ws({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 34.02 34.02"},Ze),g.createElement("defs",null,g.createElement("style",null,".segment-everything_svg__cls-1{fill:#fff}.segment-everything_svg__cls-3{fill:none}")),g.createElement("path",{className:"segment-everything_svg__cls-1",d:"m6.26 15.54 5.88 3.88a1 1 0 0 1 0 1.56L6.1 25.29a.9.9 0 0 1-1.41-.79l.19-8.2a.9.9 0 0 1 1.38-.76ZM7.58 29.17 23.43 17.7a1.71 1.71 0 0 1 2.25.22l3.32 3.5v7.75Z"}),g.createElement("path",{d:"M31 4.35a.88.88 0 0 0-.11-1.19 1 1 0 0 0-1.19-.09c-3.29 2.56-4.66 2.56-8 0a.87.87 0 0 0-1.19.09.87.87 0 0 0-.09 1.19c2.56 3.29 2.56 4.66 0 8a.92.92 0 0 0 1.28 1.28c3.29-2.56 4.66-2.56 8 0a1.28 1.28 0 0 0 .55.18.91.91 0 0 0 .64-.27.87.87 0 0 0 .11-1.19c-2.65-3.35-2.65-4.62 0-8Z",style:{fill:"#fcfefe"}}),g.createElement("path",{className:"segment-everything_svg__cls-3",d:"M4.07 4.13h26.29v26.29H4.07z"}),g.createElement("path",{className:"segment-everything_svg__cls-3",d:"M6.39 28.56h22.49V17H16.49v-3.38a2.56 2.56 0 0 1-2 .93 2.63 2.63 0 0 1-2.59-2.72 2.66 2.66 0 0 1 2.6-2.67 2.57 2.57 0 0 1 2 .95v-4H6.39Z"}),g.createElement("path",{className:"segment-everything_svg__cls-1",d:"M14.51 9.16a2.66 2.66 0 0 0-2.6 2.67 2.63 2.63 0 0 0 2.59 2.72 2.56 2.56 0 0 0 2-.93v-3.51a2.57 2.57 0 0 0-1.99-.95Z"}),g.createElement("path",{className:"segment-everything_svg__cls-1",d:"M28.88 28.56H6.39V6.1h10.1V4.25H5.42a.88.88 0 0 0-.89.88v25.28h26.21V17h-1.86Z"}),g.createElement("path",{className:"segment-everything_svg__cls-1",d:"M17.14 11.87a2.74 2.74 0 0 0-.65-1.76v3.51a2.7 2.7 0 0 0 .65-1.75Z"}));var rt="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNC4wMiAzNC4wMiI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiNmZmZ9LmNscy0ze2ZpbGw6bm9uZX08L3N0eWxlPjwvZGVmcz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Im02LjI2IDE1LjU0IDUuODggMy44OGExIDEgMCAwIDEgMCAxLjU2TDYuMSAyNS4yOWEuOS45IDAgMCAxLTEuNDEtLjc5bC4xOS04LjJhLjkuOSAwIDAgMSAxLjM4LS43NlpNNy41OCAyOS4xNyAyMy40MyAxNy43YTEuNzEgMS43MSAwIDAgMSAyLjI1LjIybDMuMzIgMy41djcuNzVaIi8+PHBhdGggZD0iTTMxIDQuMzVhLjg4Ljg4IDAgMCAwLS4xMS0xLjE5IDEgMSAwIDAgMC0xLjE5LS4wOWMtMy4yOSAyLjU2LTQuNjYgMi41Ni04IDBhLjg3Ljg3IDAgMCAwLTEuMTkuMDkuODcuODcgMCAwIDAtLjA5IDEuMTljMi41NiAzLjI5IDIuNTYgNC42NiAwIDhhLjkyLjkyIDAgMCAwIDEuMjggMS4yOGMzLjI5LTIuNTYgNC42Ni0yLjU2IDggMGExLjI4IDEuMjggMCAwIDAgLjU1LjE4LjkxLjkxIDAgMCAwIC42NC0uMjcuODcuODcgMCAwIDAgLjExLTEuMTljLTIuNjUtMy4zNS0yLjY1LTQuNjIgMC04WiIgc3R5bGU9ImZpbGw6I2ZjZmVmZSIvPjxwYXRoIGNsYXNzPSJjbHMtMyIgZD0iTTQuMDcgNC4xM2gyNi4yOXYyNi4yOUg0LjA3eiIvPjxwYXRoIGNsYXNzPSJjbHMtMyIgZD0iTTYuMzkgMjguNTZoMjIuNDlWMTdIMTYuNDl2LTMuMzhhMi41NiAyLjU2IDAgMCAxLTIgLjkzIDIuNjMgMi42MyAwIDAgMS0yLjU5LTIuNzIgMi42NiAyLjY2IDAgMCAxIDIuNi0yLjY3IDIuNTcgMi41NyAwIDAgMSAyIC45NXYtNEg2LjM5WiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTE0LjUxIDkuMTZhMi42NiAyLjY2IDAgMCAwLTIuNiAyLjY3IDIuNjMgMi42MyAwIDAgMCAyLjU5IDIuNzIgMi41NiAyLjU2IDAgMCAwIDItLjkzdi0zLjUxYTIuNTcgMi41NyAwIDAgMC0xLjk5LS45NVoiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0yOC44OCAyOC41Nkg2LjM5VjYuMWgxMC4xVjQuMjVINS40MmEuODguODggMCAwIDAtLjg5Ljg4djI1LjI4aDI2LjIxVjE3aC0xLjg2WiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTE3LjE0IDExLjg3YTIuNzQgMi43NCAwIDAgMC0uNjUtMS43NnYzLjUxYTIuNyAyLjcgMCAwIDAgLjY1LTEuNzVaIi8+PC9zdmc+",Vt=function(ye){var Te=ye.drawData,An=ye.onChangePointResolution,yt=(0,z.bU)(),Pn=yt.localeText,Sn=(0,g.useMemo)(function(){return Te.objectList.length===0&&!Te.creatingObject||Te.isBatchEditing},[Te.objectList,Te.creatingObject,Te.isBatchEditing]),In=(0,g.useMemo)(function(){return[{key:B.jB.PenAdd,name:Pn("DDSAnnotator.subtoolbar.mask.penAdd"),icon:(0,C.jsx)(J.Z,{component:Wi}),available:!0},{key:B.jB.PenErase,name:Pn("DDSAnnotator.subtoolbar.mask.penErase"),icon:(0,C.jsx)(J.Z,{component:Di}),available:!!Te.creatingObject},{key:B.jB.BrushAdd,name:Pn("DDSAnnotator.subtoolbar.mask.brushAdd"),icon:(0,C.jsx)(J.Z,{component:dl}),available:!0,withSize:!0},{key:B.jB.BrushErase,name:Pn("DDSAnnotator.subtoolbar.mask.brushErase"),icon:(0,C.jsx)(J.Z,{component:ks}),available:!!Te.creatingObject,withSize:!0}]},[Te.creatingObject]),Un=(0,g.useMemo)(function(){return[{key:B.jB.AutoSegmentByBox,name:Pn("DDSAnnotator.subtoolbar.mask.box"),icon:(0,C.jsx)(J.Z,{component:Si}),available:!0},{key:B.jB.AutoSegmentByStroke,name:Pn("DDSAnnotator.subtoolbar.mask.stroke"),icon:(0,C.jsx)(J.Z,{component:Yi}),available:!0,withSize:!0},{key:B.jB.AutoSegmentByClick,name:Pn("DDSAnnotator.subtoolbar.mask.click"),icon:(0,C.jsx)(J.Z,{component:Du}),available:!0}]},[]),ir=(0,g.useMemo)(function(){return[{key:B.jB.AutoSegmentByBox,name:Pn("DDSAnnotator.subtoolbar.mask.box"),icon:(0,C.jsx)(J.Z,{component:Si}),available:!0,withCustomElement:!0},{key:B.jB.AutoSegmentByStroke,name:Pn("DDSAnnotator.subtoolbar.mask.stroke"),icon:(0,C.jsx)(J.Z,{component:Yi}),available:!0,withSize:!0,withCustomElement:!0},{key:B.jB.AutoSegmentByClick,name:Pn("DDSAnnotator.subtoolbar.mask.click"),icon:(0,C.jsx)(J.Z,{component:Du}),available:!0,withCustomElement:!0}]},[]),Mr=(0,g.useMemo)(function(){var Rr;return[{key:B.jB.PositiveVisualPrompt,name:Pn("DDSAnnotator.subtoolbar.visualprompt.positive"),icon:(0,C.jsx)(J.Z,{component:$s}),available:!0},{key:B.jB.NegativeVisualPrompt,name:Pn("DDSAnnotator.subtoolbar.visualprompt.negative"),icon:(0,C.jsx)(J.Z,{component:wu}),available:!!((Rr=Te.prompt.promptsQueue)!==null&&Rr!==void 0&&Rr.some(function(Yn){return Yn.isPositive}))}]},[Te.prompt]),pr=(0,g.useMemo)(function(){return[{key:B.jB.AutoSegmentEverything,name:Pn("DDSAnnotator.subtoolbar.mask.sam"),icon:(0,C.jsx)(J.Z,{component:ha}),available:Sn,description:Pn(Sn?"DDSAnnotator.subtoolbar.mask.sam.desc":"DDSAnnotator.subtoolbar.mask.sam.notAllow")},{key:B.jB.AutoEdgeStitching,name:Pn("DDSAnnotator.subtoolbar.mask.edgeStitch"),icon:(0,C.jsx)(J.Z,{component:Ol}),available:!0,withSize:!0}]},[Sn]),Ln=(0,g.useMemo)(function(){var Rr=Te.selectedTool,Yn=Te.creatingObject,lr=Te.AIAnnotation,Nr=Te.selectedModel;return!!(Rr===B.ru.Mask||(Yn==null?void 0:Yn.type)===B.gr.Mask||Rr===B.ru.Rectangle&&lr&&Nr[Rr]===B.HE.IVP||(Rr===B.ru.Polygon||(Yn==null?void 0:Yn.type)===B.gr.Polygon)&&lr)},[Te.selectedTool,Te.creatingObject,Te.AIAnnotation,Te.selectedModel]),da=(0,g.useMemo)(function(){var Rr,Yn;if(Te.selectedTool===B.ru.Mask||((Rr=Te.creatingObject)===null||Rr===void 0?void 0:Rr.type)===B.gr.Mask){if(!Te.AIAnnotation)return{basicTools:In,smartTools:[]};var lr=Te.selectedModel[Te.selectedTool];return lr===B.HE.IVP?{basicTools:[],smartTools:Mr}:lr===B.HE.SegmentByMask?{basicTools:[],smartTools:Un}:lr===B.HE.SegmentEverything?{basicTools:[],smartTools:pr}:{basicTools:In,smartTools:[]}}else{if(Te.selectedTool===B.ru.Polygon||((Yn=Te.creatingObject)===null||Yn===void 0?void 0:Yn.type)===B.gr.Polygon)return{basicTools:[],smartTools:ir,customElement:(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)("div",{className:"dds-annotator-subtoolbar-title",children:Pn("DDSAnnotator.subtoolbar.polygon.pointResolution")}),(0,C.jsx)("div",{className:"dds-annotator-subtoolbar-slider",children:(0,C.jsx)(ca.Z,{min:.1,max:.9,step:.1,value:Te.pointResolution,onChange:An,onAfterChange:function(ia){return An(ia,!0)}})})]})};if(Te.selectedTool===B.ru.Rectangle&&Te.AIAnnotation&&Te.selectedModel[Te.selectedTool]===B.HE.IVP)return{basicTools:[],smartTools:Mr}}return{basicTools:[],smartTools:[]}},[Te.selectedTool,Te.creatingObject,Te.AIAnnotation,Te.selectedModel,ir,In,Un,pr,Mr,Te.pointResolution]);return{showSubTools:Ln,currSubTools:da}},Wn=Vt,cr=function(ye){var Te=ye.mode,An=ye.manualMode,yt=ye.drawData,Pn=ye.setDrawData,Sn=ye.setDrawDataWithHistory,In=ye.setAiLabels,Un=ye.editState,ir=ye.setEditState,Mr=ye.clientSize,pr=ye.naturalSize,Ln=ye.addObject,da=ye.updateObject,Rr=ye.updateAllObject,Yn=ye.getAnnotColor,lr=ye.onAiAnnotation,Nr=(0,z.bU)(),ia=Nr.localeText,Vr=(0,g.useCallback)(function(At){var Yt;return Un.annotsDisplayOptions.colorByCategory?Yn(At):yt.activeObjectIndex>-1?yt.objectList[yt.activeObjectIndex].color:((Yt=yt.creatingObject)===null||Yt===void 0?void 0:Yt.color)||Yn(At)},[Un.annotsDisplayOptions.colorByCategory,Yn,yt.activeObjectIndex,yt.objectList,yt.creatingObject]),Lr=function(Yt){var ln=yt.objectList[yt.activeObjectIndex];if(ln){var Hn=t()(t()({},yt.objectList[yt.activeObjectIndex]),{},{attributes:void 0});Hn.labelId=Yt,Un.annotsDisplayOptions.colorByCategory&&(Hn.color=Yn(Yt)),Hn.type===B.gr.Mask&&Hn.maskRle&&(Hn.maskCanvasElement=(0,Gn.ei)(Hn.maskRle,pr,Hn.color)),yt.isBatchEditing&&(Hn.conf=1),da(Hn,yt.activeObjectIndex)}ir(function(Dn){Dn.latestLabelId=Yt})},ga=(0,g.useCallback)(function(At){var Yt,ln;if(((Yt=yt.creatingObject)===null||Yt===void 0?void 0:Yt.type)===B.gr.Mask){var Hn,Dn,qn=(0,Gn.G9)(Mr,pr,((Hn=yt.creatingObject)===null||Hn===void 0?void 0:Hn.tempMaskSteps)||[],(Dn=yt.creatingObject)===null||Dn===void 0?void 0:Dn.maskCanvasElement);if(qn&&qn.length>0){var Kr=Vr(At),na=t()(t()({},yt.objectList[yt.activeObjectIndex]),{},{type:B.gr.Mask,labelId:At,hidden:!1,maskRle:qn,maskCanvasElement:(0,Gn.ei)(qn,pr,Kr),conf:1,status:Q.TK.Commited,color:Kr});yt.activeObjectIndex>-1?da(na,yt.activeObjectIndex):Ln(na,!0)}else qn?S.ZP.warning(ia("DDSAnnotator.anno.mask.emptyWarning")):S.ZP.error(ia("DDSAnnotator.anno.mask.translateToRleError"))}else if(((ln=yt.creatingObject)===null||ln===void 0?void 0:ln.type)===B.gr.Polygon){var Or,ba=Yn(At),Pa=t()(t()({},yt.objectList[yt.activeObjectIndex]),{},{type:B.gr.Polygon,labelId:At,hidden:!1,polygon:(Or=yt.creatingObject)===null||Or===void 0?void 0:Or.polygon,conf:1,status:Q.TK.Commited,color:ba});yt.activeObjectIndex>-1?da(Pa,yt.activeObjectIndex):Ln(Pa,!0)}else{var Za=t()({},yt.objectList[yt.activeObjectIndex]);Za.labelId=At,Un.annotsDisplayOptions.colorByCategory&&(Za.color=Yn(At)),yt.isBatchEditing&&(Za.conf=1),da(Za,yt.activeObjectIndex)}Pn(function(to){to.creatingObject=void 0,to.prompt={},to.activeObjectIndex=-1,to.selectedSubTool===B.jB.PenErase?to.selectedSubTool=B.jB.PenAdd:to.selectedSubTool===B.jB.BrushErase&&(to.selectedSubTool=B.jB.BrushAdd)}),ir(function(to){to.latestLabelId=At})},[yt.creatingObject,yt.activeObjectIndex,yt.objectList,yt.selectedSubTool]),aa=(0,g.useCallback)(function(){Sn(function(At){var Yt=(0,m.cloneDeep)(yt.objectList).filter(function(ln){return ln.status!==Q.TK.Unchecked}).map(function(ln){return ln.status=Q.TK.Commited,ln.type!==B.gr.Mask&&(ln.color=Yn(ln.labelId)),ln});At.objectList=Yt,At.isBatchEditing=!1,At.activeObjectIndex=-1,At.creatingObject=void 0,At.prompt={}}),In(void 0)},[yt.objectList]),rr=(0,g.useCallback)(function(){Sn(function(At){var Yt=(0,m.cloneDeep)(yt.objectList).filter(function(ln){return ln.status===Q.TK.Commited});At.objectList=Yt,At.isBatchEditing=!1,At.activeObjectIndex=-1,At.creatingObject=void 0,At.prompt={}})},[yt.objectList]),Jn=(0,g.useCallback)(function(){var At=yt.selectedTool,Yt=yt.AIAnnotation,ln=yt.selectedModel,Hn=yt.selectedSubTool,Dn=yt.isBatchEditing,qn=yt.creatingObject;if(!Yt)return!1;if(At===B.ru.Rectangle)return Dn;if(At===B.ru.Polygon)return qn;if(At===B.ru.Skeleton)return Dn;if(At===B.ru.Mask){var Kr=ln[At];return Kr===B.HE.IVP||Kr===B.HE.SegmentEverything&&Hn===B.jB.AutoSegmentEverything?Dn:Kr===B.HE.SegmentByMask?qn:!1}return!1},[yt.selectedTool,yt.selectedModel,yt.AIAnnotation,yt.selectedSubTool,yt.isBatchEditing,yt.creatingObject]),Fr=(0,g.useCallback)(function(At){Te!==Q.je.Edit||At===yt.selectedTool&&!yt.AIAnnotation||yt.isBatchEditing||Jn()||Pn(function(Yt){Yt.selectedTool=At,Yt.AIAnnotation=!1,Yt.activeObjectIndex=-1,Yt.creatingObject=void 0,Yt.editingAttribute=void 0,Yt.prompt={}})},[Te,yt.selectedTool,yt.isBatchEditing,yt.AIAnnotation,Jn]),Er=(0,g.useCallback)(function(At){var Yt=yt.selectedTool,ln=yt.selectedModel,Hn=yt.selectedSubTool,Dn=yt.AIAnnotation,qn=yt.isBatchEditing;Te!==Q.je.Edit||At===Hn||Yt===B.ru.Mask&&Dn&&ln[Yt]===B.HE.SegmentEverything&&qn||Pn(function(Kr){Kr.selectedSubTool=At})},[Te,yt.selectedTool,yt.AIAnnotation,yt.selectedModel,yt.isBatchEditing,yt.selectedSubTool,Jn]),jr=(0,g.useCallback)(function(At,Yt){Pn(function(ln){ln.selectedTool=At,ln.selectedSubTool=Yt})},[]),Cr=(0,g.useCallback)(function(){Sn(function(At){At.objectList=At.objectList.filter(function(Yt){return Yt.status===Q.TK.Commited}),At.AIAnnotation=!1,At.isBatchEditing=!1,At.creatingObject=void 0,At.prompt={}})},[]),Ur=(0,g.useCallback)(function(At){Te===Q.je.Edit&&Pn(function(Yt){Yt.brushSize=At})},[Te]),Yr=(0,g.useCallback)(function(At){Te===Q.je.Edit&&Pn(function(Yt){Yt.pointResolution=At})},[Te]),Gr=(0,g.useCallback)(function(At,Yt){if(Yr(At),Yt&&yt.creatingObject&&yt.creatingObject.type===B.gr.Polygon&&yt.prompt.promptsQueue&&yt.prompt.promptsQueue.length>0){var ln=t()(t()({},yt),{},{pointResolution:At});lr({type:B.gr.Polygon,drawData:ln,promptsQueue:yt.prompt.promptsQueue})}},[yt.creatingObject,yt.prompt]),Jr=function(){n.Z.info({centered:!0,closable:!0,title:ia("DDSAnnotator.smart.infoModal.title"),content:ia("DDSAnnotator.smart.infoModal.content"),okText:ia("DDSAnnotator.smart.infoModal.action"),onOk:function(){window.open("https://deepdataspace.com","_blank")}})},Xr=(0,g.useCallback)(function(At){Te!==Q.je.Edit||An||Jn()||Pn(function(Yt){Yt.AIAnnotation=At})},[Te,An,Jn]),K=(0,g.useCallback)(function(At){Sn(function(Yt){var ln=(0,m.cloneDeep)(yt.objectList).map(function(Hn){return Hn.status===Q.TK.Commited?Hn:Hn.conf===void 0?(Hn.status=Q.TK.Unchecked,Hn):(Hn.status=Hn.confAt[1]?Q.TK.Unchecked:Q.TK.Checked,Hn)});Yt.objectList=ln})},[yt.objectList]),F=(0,g.useCallback)(function(At){Sn(function(Yt){var ln=(0,m.cloneDeep)(yt.objectList).map(function(Dn){return Dn.status===Q.TK.Commited||(Dn.status=Dn.conf&&Dn.conf>=At?Q.TK.Checked:Q.TK.Unchecked),Dn});Yt.objectList=ln;var Hn=ln.filter(function(Dn){return Dn.status===Q.TK.Checked}).length;S.ZP.success(ia("DDSAnnotator.smart.tip.annotationApplied",{count:Hn}))})},[yt.objectList]),ce=(0,g.useCallback)(function(At){ir(function(Yt){Yt.imageDisplayOptions=At})},[]),Me=(0,g.useCallback)(function(At){ir(function(Yt){Yt.annotsDisplayOptions=At})},[]),ze=(0,g.useCallback)(function(){if(!(!yt.objectList||!yt.objectList.length)){var At=(0,m.cloneDeep)(yt.objectList).map(function(Yt){var ln=Yn(Yt.labelId);return Yt.type===B.gr.Mask&&Yt.maskRle&&Yt.maskRle.length>0?t()(t()({},Yt),{},{color:ln,maskCanvasElement:(0,Gn.ei)(Yt.maskRle,pr,ln)}):t()(t()({},Yt),{},{color:ln})});Rr(At)}},[yt.objectList,Yn]),Qe=(0,g.useCallback)(function(At){var Yt=yt.selectedTool,ln=B.Xn[Yt];return!(!ln.includes(At)||Jn())},[B.Xn,yt.selectedTool,Jn]),St=(0,g.useCallback)(function(At){Qe(At)&&Pn(function(Yt){Yt.selectedModel[Yt.selectedTool]=At})},[Qe]);return(0,g.useEffect)(function(){Pn(function(At){if(At.AIAnnotation){var Yt=At.selectedModel[At.selectedTool];switch(At.selectedTool){case B.ru.Rectangle:Yt===B.HE.IVP?At.selectedSubTool=B.jB.PositiveVisualPrompt:At.selectedSubTool=B.jB.PenAdd;break;case B.ru.Mask:if(Yt===B.HE.IVP)At.selectedSubTool=B.jB.PositiveVisualPrompt;else if(Yt===B.HE.SegmentEverything){var ln=At.objectList.length===0&&!At.creatingObject||At.isBatchEditing;At.selectedSubTool=ln?B.jB.AutoSegmentEverything:B.jB.PenAdd}else At.selectedSubTool=B.jB.AutoSegmentByBox;break;case B.ru.Polygon:At.selectedSubTool=B.jB.AutoSegmentByBox;break;case B.ru.Skeleton:case B.ru.Drag:At.selectedSubTool=B.jB.PenAdd;break}}else At.selectedSubTool=B.jB.PenAdd})},[yt.selectedTool,yt.AIAnnotation,yt.selectedModel]),{onChangeObjectLabel:Lr,onFinishCurrCreate:ga,onAcceptValidObjects:aa,onAbortBatchObjects:rr,selectTool:Fr,selectSubTool:Er,forceChangeTool:jr,onExitAIAnnotation:Cr,setBrushSize:Ur,activeAIAnnotation:Xr,displayAIModeUnavailableModal:Jr,onChangeSkeletonConf:K,onChangeLimitConf:F,onChangeImageDisplayOpts:ce,onChangeAnnotsDisplayOpts:Me,onChangeColorMode:ze,onChangePointResolution:Gr,onSelectModel:St}},wa=cr,go=e(92183),di=Object.defineProperty,Zo=Object.getOwnPropertySymbols,os=Object.prototype.hasOwnProperty,ui=Object.prototype.propertyIsEnumerable,fi=(Ze,ye,Te)=>ye in Ze?di(Ze,ye,{enumerable:!0,configurable:!0,writable:!0,value:Te}):Ze[ye]=Te,Ao=(Ze,ye)=>{for(var Te in ye||(ye={}))os.call(ye,Te)&&fi(Ze,Te,ye[Te]);if(Zo)for(var Te of Zo(ye))ui.call(ye,Te)&&fi(Ze,Te,ye[Te]);return Ze};const To=Ze=>g.createElement("svg",Ao({viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg"},Ze),g.createElement("g",{clipPath:"url(#docs_svg__a)"},g.createElement("path",{d:"M14.666 5.5a.917.917 0 1 1 0 1.833H7.333a.917.917 0 1 1 0-1.833h7.333Zm7.065 16.231a.916.916 0 0 1-1.296 0l-2.206-2.206a4.086 4.086 0 0 1-4.48-.053 4.125 4.125 0 1 1 6.417-3.43 4.085 4.085 0 0 1-.641 2.187l2.206 2.206a.917.917 0 0 1 0 1.296Zm-5.69-3.398a2.292 2.292 0 1 0 0-4.583 2.292 2.292 0 0 0 0 4.583Zm-4.125 1.834h-5.5a2.75 2.75 0 0 1-2.75-2.75V4.583a2.75 2.75 0 0 1 2.75-2.75h11a.917.917 0 0 1 .917.917v7.333a.917.917 0 0 0 1.833 0V2.75A2.75 2.75 0 0 0 17.416 0h-11a4.589 4.589 0 0 0-4.583 4.583v12.834A4.589 4.589 0 0 0 6.416 22h5.5a.917.917 0 1 0 0-1.833Z"})),g.createElement("defs",null,g.createElement("clipPath",{id:"docs_svg__a"},g.createElement("path",{d:"M0 0h22v22H0z"}))));var Hi="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjIgMjIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJNMTQuNjY2IDUuNWEuOTE3LjkxNyAwIDEgMSAwIDEuODMzSDcuMzMzYS45MTcuOTE3IDAgMSAxIDAtMS44MzNoNy4zMzNabTcuMDY1IDE2LjIzMWEuOTE2LjkxNiAwIDAgMS0xLjI5NiAwbC0yLjIwNi0yLjIwNmE0LjA4NiA0LjA4NiAwIDAgMS00LjQ4LS4wNTMgNC4xMjUgNC4xMjUgMCAxIDEgNi40MTctMy40MyA0LjA4NSA0LjA4NSAwIDAgMS0uNjQxIDIuMTg3bDIuMjA2IDIuMjA2YS45MTcuOTE3IDAgMCAxIDAgMS4yOTZabS01LjY5LTMuMzk4YTIuMjkyIDIuMjkyIDAgMSAwIDAtNC41ODMgMi4yOTIgMi4yOTIgMCAwIDAgMCA0LjU4M1ptLTQuMTI1IDEuODM0aC01LjVhMi43NSAyLjc1IDAgMCAxLTIuNzUtMi43NVY0LjU4M2EyLjc1IDIuNzUgMCAwIDEgMi43NS0yLjc1aDExYS45MTcuOTE3IDAgMCAxIC45MTcuOTE3djcuMzMzYS45MTcuOTE3IDAgMCAwIDEuODMzIDBWMi43NUEyLjc1IDIuNzUgMCAwIDAgMTcuNDE2IDBoLTExYTQuNTg5IDQuNTg5IDAgMCAwLTQuNTgzIDQuNTgzdjEyLjgzNEE0LjU4OSA0LjU4OSAwIDAgMCA2LjQxNiAyMmg1LjVhLjkxNy45MTcgMCAxIDAgMC0xLjgzM1oiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBkPSJNMCAwaDIydjIySDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+",Ms=Object.defineProperty,uu=Object.getOwnPropertySymbols,ql=Object.prototype.hasOwnProperty,Ss=Object.prototype.propertyIsEnumerable,Mu=(Ze,ye,Te)=>ye in Ze?Ms(Ze,ye,{enumerable:!0,configurable:!0,writable:!0,value:Te}):Ze[ye]=Te,eu=(Ze,ye)=>{for(var Te in ye||(ye={}))ql.call(ye,Te)&&Mu(Ze,Te,ye[Te]);if(uu)for(var Te of uu(ye))Ss.call(ye,Te)&&Mu(Ze,Te,ye[Te]);return Ze};const Es=Ze=>g.createElement("svg",eu({viewBox:"0 0 33 33",fill:"none",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},Ze),g.createElement("path",{d:"m15.5 1 13.423 7.75v15.5L15.5 32 2.077 24.25V8.75L15.5 1Z",fill:"#fff"}),g.createElement("path",{fill:"url(#logo_svg__a)",d:"M0 0h33v33H0z"}),g.createElement("defs",null,g.createElement("pattern",{id:"logo_svg__a",patternContentUnits:"objectBoundingBox",width:1,height:1},g.createElement("use",{xlinkHref:"#logo_svg__b",transform:"scale(.00417)"})),g.createElement("image",{id:"logo_svg__b",width:240,height:240,xlinkHref:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAADwCAYAAAA+VemSAAAACXBIWXMAACE4AAAhOAFFljFgAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAABLHSURBVHgB7d1fVhw3FgbwKxX2jIE47QWYFCtIWMHACoLBeQ5eAbACmhUAK8B5DtidFcAOcFbgMlmAexyMk4GSRqqmCSYBd3dJKl3V93vKOfPnnND9dd0rXakEQXLy5U+LOtNbmnQhS7ld9B4VBEkSBMnIl3VHyU9bJPTGZ/+Blt0P6o+9fu9JnyApCHAi5lZscEsTXNG5479SaK23f3s1+5IgGQgwc7ZcVlLtm08yH/F/YsvqJZTVaUCAmTLBzU2fu2/63EWazEv0x/whwMwM+tw/1kmoLtXXN/3x7umrR9sELCHAjOSr5+uKbHDv7HMnhf6YKQSYgRvbQovkkSDRE6XYRFnNBwIcMQd97qTQHzOBAEforz733m0h31BWM4AAR+bpytmaELTTYHBvKzSVm78dPu4RRAcBjkSoPrcGlNURQoAbVpXL2cdd81H8SBxo2ZWKfkKQ44AANySSPndS6I8jgQA3YILxx1gVsnzwrOg9fEPQCAQ4oPyHs++0kjsR97mTQn/cEAQ4gDuP+aXG9McYywwLAfbM4/hjrNAfB4QAe5JQnzupN6asfoay2i8E2LEGxx9jhf7YIwTYEcfH/FJTmP74Jfpj9xBgB1rY504K/bFjCHANDMYfo4Rji+4gwBMY9LnK7OfSMkEd6I9rQoDHwHz8MVYoq2tAgEdUHfMjsdXibSHfcGxxAgjwF6DPDQ5l9RgQ4DuwO+aXGrxNYiQI8C3oc6OC/vgLEOAbMP4YLbxN4g4IMCV9zC816I9vaXWAW3PMLzU4tnittQHG+CN76I+phQG2fW4py10hxLcEKWj1scXWBBjH/JLXyv44+QBjW6hVCtJi7/TV9C61RNIBRp/bWq3pj5MMMMYf4UryZXVSAbZ9rsrKLsYf4TNa7Eol9lIMchIBRp8LI0iyrGYf4KerH5eFph2MP8KI7FjmC/M0PqYEsA0w+lyoKYn+mF2AMf4ITjE/tsgqwHMrNrjoc8E5tv0xiwDjmB8Ewu7YYtQBxvgjNIRNfxxlgNHnQgT6pj/ejf3YYnQBTmT8sW9+fLal+Qet5LoWOifgKur+OJoAp3PMT+/JcqZb9ES1qonpsDQIEseiFC9iK6sbD3AqfW71AUu1Wfw8++af/vPq31PqIzyN2YuqP24swKmMP5rgFkKUL4qDr45H+e/nK2drmuQWgsxaNMcWGwlw9ZYDQTv8+1y1Jy9nd4fl8qhQViej8f44aIBTGX80f7SeKGXtt+tdvSTttSb6joCzxsrqIAFO5YlT9bmi3B61XB4VyupENHBs0WuAEzrmV20LnR7Meut5qh+5qcs1s/e4RcBZ0LLaW4ATOuZnyqPpzXH73EkNqpVL80MhvyfgrJDlg2dF7+Eb8sh5gBM95he8x0FZnQyv3x1nAW7B+GMjo3Vzz3/voqxOgKe3STgJcMuO+QXfOsC2UzKcf3dqBbjlx/yCvxEAZXUynB1brBXgudWPmiB4f3xVVq+bf8TFBnwVp4cz81STJKhrTWXqqGojAjk9+KprfjQWTGP1E0GrIcBu5CRU11Qkb+2YKAVgn/inh7NrUuhNgtZCgN3KhRD736yev7YLTxRAcTC7a57G80KLgqB1EGAPzB74simr35on8n6IINunsVBiCSFuHwTYr6v++Nz73jhC3E5JBtgsrXsdXxuT6Y/1Toj+GCH+nD18Iql8lvJiX1IBtofrpVBL7w5nFmxfGNkHV/XHvsvqKsSZMl9aYnlRuQvV90DrF+8Op5eKw8e9arEv0XWCVAJsD9dvi/LRwvCo3/UqrfkgI/vg1qr+2OO2k73Wx6xOR32boid/fQ9uTTvZ78O7V9PzEX4faklhkGOkQYpIhx+8TnPZ1XC7oEYtMM6lc5Ec3XQyyME2wJMcro90priQUj+76zK8OvLl9x2VPXxLCU9sCU2/Cqk2JrlkoeHvQ2sDXPtwff7890Wtsv2IZor7JsRLPkI8t2IqD5HkaSZnlyw0NGPewgCb/maSS+Tukj8/24jo4nVvIf5m5fxtWgcgPr972xXbZgmV/Rjob9WeWehqO8CsItoZYJcfmp1istsukaxWd5QSR/kPZ84vuBOk9igB19+Dw9kNHzek2O9XRN+HkUT9BB73zuU6Irp4vfhQ/m/B5ftquffCIb8HQ4P+WJ2Qv79Z+k9gralHl1MFBRDRNkP+dfav1+RQYX8MFMthhr9tD4Zwdc79iBj84MVdQgu9YUcRQ53wsez+YdNllL1PzPX4pcx0j3ixlwk6b5vuY4Nrtt6O7HeOyyUVnBax7C0Gdp/vmAJp+OL1viml512W0ubzek+RP1V83b19n4buc2vdgf68OhgQ6ISPVZXVdiyzmbK681j+y+32j6JfKF796/HHQOG1wbUTcSr7+JbrZYwcRymvRxE7ZnGGArguq00/RiGZL5XLHyspdEyHPIaqPteWy0XAiwJtW6bk+Ym9iIHzZYx8Z6HNH/5x9vAk6A0Yg6ts5m2ZR4Go6rZPR2RcAb7aFlpoos+1B0tSuIwxlUvtgtyCf5MdAlFa2BLX96+3s174ajvpPTWszvjjpK7WM3bMFzaW2XBcaneD6Y8vToL2x4OrbBYC9Ma2F14jB4rBj0CTxwzt+OPmu1cz34Xvc8uTiMLrTGoH+r0f1btpcID+zwXfJbUQ5O49SbqpANvxR7st5O8Fcbflq+frgwUq3n3ufVK+FzroGxTmVs9e+jzVYsroJy7K6LkV+4UO1/s1VC4vlrLcNX3utxQvlNBfMLwB422IstpeHuBz+KMz9e8m9qJr0ntCTS+GK5c/5cNBjMjD60wbLrXLQ90QKcuLDV/3camy5NW/mV7X16GD2wZ97vmO/ZwTeyvmF7XpVkrbH594vcrGlLiilH7uo5IiJx769l6yUL0u90GMutp2rWxn+AYFX09ju7BlvsDPyD0OJeHgTHOY02OLg34+3QWqUbT1XuhqLPPp6kcvZengC+z8DG78J2O03vRxIcFNHA8c+NTmi91z06++9lVSy/KyS25L6bgDLGjb5yhk1eealX4b3Lb1uffBmxlsSe0hxNXQhHb7FA41+z0u80PYOz2Y6ZIntlKq+ly84PxvEGCrCrH7159IdWkXcpw9hTv07+gCXN2WUUpvb0i0q8u2Umpzn3sfBHhI6J38+adFcsjHUzg2QisvLze3JfPTlbM3bV1dHhUCfIPSyvlrQa+ewkmyT18ffW91H5U8P2nLMEYdCPDnOjrT++RQtTcc8PhhSPbpS44NwosV5lFFficWbYe+m8rHfVTmyZ7c2/F8PX1LWfYQ3tHFfSul0oMXlAm1FPSVoUI7ve0jUxc9SoyPp2+1YIWyeSwsSmg7GBH4bqrOY/nQ2VO4WswSUb2zuLa+4x+l6mYVLFiNjVUPbEu2YHc3C1p3uu9a0q+Ujl/cXjz/KTcleYrvb/KO5SLWdZCF3vQYZKdP4UgvlJuI+QF1+vSt3hCIvncirFehr99t5Ou2SPMUJkdKoQpKhcqOyZHBth0mrCbFfhvp5m2RHlasO66GOzIpC0pAtfrscHDD9bZd2ySzD1wF2a5YOw6ys4P0F1mTl8m5VJAj1U2ROJhQS3KDHDeD7GTrSQp3F8olQCvlbDGu6n2hlmQnsaobI0vlYsg+D3VVLQvCYSugxX8IasEo5SiyC4YXyvmhSTlpBZ6ufljGynN9CPAIlJ7KCZwSJJO7ZL0JCPAoMN7nHv6mTiQe4KmCnFBPKBWi+at57DuaTC2OtsQBPIFHYPY+v6Z0RHCzxRTC6wgCDMGVmcb1OI4gwBCc0BmewI4gwACMIcAQnkYJ7QoCDA3AFbGuIMAAjCHAAIwhwACMIcAAjCHAAIwhwKE8KLHyCs4hwKFcYO8T3EOAARhDgAEYQ4ABGEOAARhDgAEYQ4ABGEOAYSyCRE4QDQQYgDEEGIAxBBiAMQQYgDEEuEXwkrb0IMAAjCHAAIwhwACMIcAjwVleiBMCPAIdxQvBAP4OAQZgDAEGYAwBBmAMAQZgDAEGYAwBBmAMAQZgDAEOpJQiJwDHEGAAxhBgGI/GWGlMog5wJrOCIC4y+5ogGngCAzCGAAMwhgADMIYAAzCGAAMwhgADMIYAAzCGALfJgzKOIQypMAziCALcJhdxTFEJwjCIKwgwAGNxB1hfoNQCuEfUAVaUvZ5b+bTVWX6PIFcy/B3gM/GX0EJ1H2cPT56unK1R201FsggF0eDSA+dCiP251Y9v8YY9gL9wW8TKVabemiDvI8gAfFeh10yQT2x/TAAtxnkbqWP7Y1tW39UfF71HBQEkLIV94Ko//mb1/AhlNbRNMoMcmvQi+mNomxQnsWx/fDS3cr5B4JwgnRNEI9VRypyE3rH9MQEkLPVZ6JwiIUjkBOAYDjPAWDSJgiAaCDCMR5X/JYgGAgzjEbIgiAYCDGORUrwhiAYCDGPpX/5RO8BaYyvKFQQYRmZW0o/7vSd9qkvEszvAHQIMIxNa/UQ15T+cfUfgTK0AS61fCI1thTYwT9+ieDX7kmoqlcqp5WwlI4V6QQ7UCrD9QN+9mp6XQm8iyGkTpVgiB4SSi9RS9kfQPvTeHU4vFQdfHZMDTkro4mB2Vyj7AevaJVakOq0+ICFo29nRzEz8h9qnb365tkX5aMFFFXOTsx7YfsCnh7NrspTztkSgtHSqk07ML9grs0nuhdZ7pwczXXKg+hHU1KoeWBD1TCYWTg++6hY9UX8B8Bbni1g2yLZESLI/5n7BnpZjBtiE93DW2amuUpaL1BJXfe7Su8OZZz4vlvC2Cj3sj23pQLaESEc7Ltgz6xouw1v9X5JowxVIffu3c9nn3sf7NpItHWwJkWB/nOQFe9VCi3lynJp1DXLo6eqH5eT3f83DSpbT867/dvcJsg/8WX+c3mp1Qhfs6b1qocXDk0PS1DolqiqXzXfbV597n6CDHFV/bLed0uuPv3jBXsyun7qmZPbxBbR/E3vlESVm+HeryuWGLlBsZBLL9sdC/blw1R+nhNsFe9X2hvkCzvvs1xLsfYd97nyIPvc+jY1SFr0n/av+eD61/pjJBXsvh9sb5NHcysettHpfvRe6z73PFDXsqvRYy1c/9LSe2tEiqZMqtj9enFs537OxjoHt14Qot0M8Oezcs1LUpQRUfzepNoufZ6M6TikoMnnVL8mtxILshBTSbE08OqYJ5cu6E2qRxVYeSqoj7k9f2+eaH7wXTZfKd4nuNNKgP056LLMx4cKrO6Use8zD+9f4Y6ThtaI8Tnhz2wlB5kdn5/tmMe9b4uvloM8Nvy00rsZ74Ptc98crZ8coq+Nnn7w6+/Sa65ZRyPUBV6Lrge8z9/z3rlDZj20Nct0e2Cfb89qymemTty+13nR9UigEVjdy2JIG/XF8THgX7YIVw/D2h+OPHMNrsXoC32R/8XWmTLnWnuNpsT2Bbcms5Cezz6vZvYeqKpdL8YL7K2jZ3ok1OLY4s4BrfZrxdPXjspLnJ9zCKzT92vT4o0tsn8C32f6YtEz6uFoMT2BbLutMbzFcqLLjj9uxTFC5ksytlKmOZX5GXzR2G4gtl+dWznfsq1v5hTeu8UeXknkC32RH+HQpXye4Wl1orbd/C7jgMuhz/1gnUZpSWbC6TiiVPvc+SQZ4KOGxzEJTufnb4eMeeXS1urzPbaIq9vFHl5IOsFXN5E5driXaH9sTRduunzCDFX69z7PPVXu+T1jFJPkAD1VBzsqu+Vf+kVKjZVcq+qlukDlvCw363JnoRx9da02Ah/LVD8sJHlu0avXH+er5uiLVZdnnMht/dKl1AR5KuT+W5YNnRe/hSOdWbZ9bynKX2xRV1eeS3iwOZ7yuA8SutQG2ki6rv9Afc+9z5eXsbtvK5X/S6gAPDYJ8afYI5feUGtMfn756dH33GOdtIfK0aMcZAnxD0ttOpj+2/yAE7aDPTQcC/A/afmwxImyP+YWCAN8h8f44duhzR4QAf0Ebjy02qQ3jjy4hwCPCbZl+2WN+QqoN9LnjQYDH1IZji4ElecwvFAR4AuiPXWnn+KNLCHANCR9b9Ap9rjsIsAPoj0fTpmN+oSDAjlxNc20QyWTfg1sDtoU8QYAdQ398G/pcnxBgT9peVmP8MQwE2LP8+dmGVnK9LUHGMb+wEOAAWlJWo89tAAIcEOMzuPcyX6KeKOUmtoXCQ4AbkEp/jD63eQhwg67GMu22E7eD9Rh/jAQC3DB2/bF9mx/63GggwJGo+mOpj2ItqzH+GCcEODKx9ccYf4wbAhyhfPl9R01NbTR8bBF9LgMIcMSa648x/sgFAsxA/vz3Ra2yfd9lddXnSrVZ/Dw70qXw0DwEmBFf/TH6XL4QYGYcH1vE+CNzCDBTDvrjl7Kc3kRweUOAmRu3rMb4Y1oQ4ER86dhi1edqtY23HKQFAU7IHWU1+tyEIcAJGh5bNPu5fRzzS9v/AWiP/NYPzz1QAAAAAElFTkSuQmCC"})));var Lc="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMzMgMzMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxwYXRoIGQ9Im0xNS41IDEgMTMuNDIzIDcuNzV2MTUuNUwxNS41IDMyIDIuMDc3IDI0LjI1VjguNzVMMTUuNSAxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGZpbGw9InVybCgjYSkiIGQ9Ik0wIDBoMzN2MzNIMHoiLz48ZGVmcz48cGF0dGVybiBpZD0iYSIgcGF0dGVybkNvbnRlbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPjx1c2UgeGxpbms6aHJlZj0iI2IiIHRyYW5zZm9ybT0ic2NhbGUoLjAwNDE3KSIvPjwvcGF0dGVybj48aW1hZ2UgaWQ9ImIiIHdpZHRoPSIyNDAiIGhlaWdodD0iMjQwIiB4bGluazpocmVmPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVBBQUFBRHdDQVlBQUFBK1ZlbVNBQUFBQ1hCSVdYTUFBQ0U0QUFBaE9BRkZsakZnQUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFCTEhTVVJCVkhnQjdkMWZWaHczRmdid0t4WDJqSUU0N1FXWUZDdElXTUhBQ29MQmVRNWVBYkFDbWhVQUs4QjVEdGlkRmNBT2NGYmdNbG1BZXh5TWs0R1NScXFtQ1NZQmQzZEpLbDNWOTN2S09mUG5uTkQ5ZGQwclhha0VRWEx5NVUrTE90TmJtblFoUzdsZDlCNFZCRWtTQk1uSWwzVkh5VTliSlBUR1ovK0JsdDBQNm8rOWZ1OUpueUFwQ0hBaTVsWnNjRXNUWE5HNTQ3OVNhSzIzZjNzMSs1SWdHUWd3YzdaY1ZsTHRtMDh5SC9GL1lzdnFKWlRWYVVDQW1UTEJ6VTJmdTIvNjNFV2F6RXYweC93aHdNd00rdHcvMWttb0x0WFhOLzN4N3VtclI5c0VMQ0hBak9TcjUrdUtiSER2N0hNbmhmNllLUVNZZ1J2YlFvdmtrU0RSRTZYWVJGbk5Cd0ljTVFkOTdxVFFIek9CQUVmb3J6NzMzbTBoMzFCV000QUFSK2JweXRtYUVMVFRZSEJ2S3pTVm03OGRQdTRSUkFjQmprU29QcmNHbE5VUlFvQWJWcFhMMmNkZDgxSDhTQnhvMlpXS2ZrS1E0NEFBTnlTU1BuZFM2SThqZ1FBM1lJTHh4MWdWc256d3JPZzlmRVBRQ0FRNG9QeUhzKyswa2pzUjk3bVRRbi9jRUFRNGdEdVArYVhHOU1jWXl3d0xBZmJNNC9oanJOQWZCNFFBZTVKUW56dXBONmFzZm9heTJpOEUyTEVHeHg5amhmN1lJd1RZRWNmSC9GSlRtUDc0SmZwajl4QmdCMXJZNTA0Sy9iRmpDSEFORE1ZZm80UmppKzRnd0JNWTlMbks3T2ZTTWtFZDZJOXJRb0RId0h6OE1WWW9xMnRBZ0VkVUhmTWpzZFhpYlNIZmNHeHhBZ2p3RjZEUERRNWw5UmdRNER1d08rYVhHcnhOWWlRSThDM29jNk9DL3ZnTEVPQWJNUDRZTGJ4TjRnNElNQ1Y5ekM4MTZJOXZhWFdBVzNQTUx6VTR0bml0dFFIRytDTjc2SStwaFFHMmZXNHB5MTBoeExjRUtXajFzY1hXQkJqSC9KTFh5djQ0K1FCalc2aFZDdEppNy9UVjlDNjFSTklCUnAvYldxM3BqNU1NTU1ZZjRVcnlaWFZTQWJaOXJzcktMc1lmNFROYTdFb2w5bElNY2hJQlJwOExJMGl5ckdZZjRLZXJINWVGcGgyTVA4S0k3RmptQy9NMFBxWUVzQTB3K2x5b0tZbittRjJBTWY0SVRqRS90c2dxd0hNck5yam9jOEU1dHYweGl3RGptQjhFd3U3WVl0UUJ4dmdqTklSTmZ4eGxnTkhuUWdUNnBqL2VqZjNZWW5RQlRtVDhzVzkrZkxhbCtRZXQ1TG9XT2lmZ0t1citPSm9BcDNQTVQrL0pjcVpiOUVTMXFvbnBzRFFJRXNlaUZDOWlLNnNiRDNBcWZXNzFBVXUxV2Z3OCsrYWYvdlBxMzFQcUl6eU4yWXVxUDI0c3dLbU1QNXJnRmtLVUw0cURyNDVIK2UvbksyZHJtdVFXZ3N4YU5NY1dHd2x3OVpZRFFUdjgrMXkxSnk5bmQ0Zmw4cWhRVmllajhmNDRhSUJUR1g4MGY3U2VLR1h0dCt0ZHZTVHR0U2I2am9DenhzcnFJQUZPNVlsVDlibWkzQjYxWEI0Vnl1cEVOSEJzMFd1QUV6cm1WMjBMblI3TWV1dDVxaCs1cWNzMXMvZTRSY0JaMExMYVc0QVRPdVpueXFQcHpYSDczRWtOcXBWTDgwTWh2eWZnckpEbGcyZEY3K0ViOHNoNWdCTTk1aGU4eDBGWm5ReXYzeDFuQVc3QitHTWpvM1Z6ejMvdm9xeE9nS2UzU1RnSmNNdU8rUVhmT3NDMlV6S2NmM2RxQmJqbHgveUN2eEVBWlhVeW5CMWJyQlhndWRXUG1pQjRmM3hWVnErYmY4VEZCbndWcDRjejgxU1RKS2hyVFdYcXFHb2pBams5K0twcmZqUVdUR1AxRTBHckljQnU1Q1JVMTFRa2IrMllLQVZnbi9pbmg3TnJVdWhOZ3RaQ2dOM0toUkQ3MzZ5ZXY3WUxUeFJBY1RDN2E1N0c4MEtMZ3FCMUVHQVB6Qjc0c2ltcjM1b244bjZJSU51bnNWQmlDU0Z1SHdUWXI2disrTno3M2poQzNFNUpCdGdzclhzZFh4dVQ2WS8xVG9qK0dDSCtuRDE4SXFsOGx2SmlYMUlCdG9mcnBWQkw3dzVuRm14ZkdOa0hWL1hIdnN2cUtzU1pNbDlhWW5sUnVRdlY5MERyRis4T3A1ZUt3OGU5YXJFdjBYV0NWQUpzRDlkdmkvTFJ3dkNvMy9VcXJma2dJL3ZnMXFyKzJPTzJrNzNXeDZ4T1IzMmJvaWQvZlE5dVRUdlo3OE83VjlQekVYNGZha2xoa0dPa1FZcEloeCs4VG5QWjFYQzdvRVl0TU02bGM1RWMzWFF5eU1FMndKTWNybzkwcHJpUVVqKzc2eks4T3ZMbDl4MlZQWHhMQ1U5c0NVMi9DcWsySnJsa29lSHZRMnNEWFB0d2ZmNzg5MFd0c3YySVpvcjdKc1JMUGtJOHQySXFENUhrYVNabmx5dzBOR1Bld2dDYi9tYVNTK1R1a2o4LzI0am80blZ2SWY1bTVmeHRXZ2NnUHI5NzJ4WGJaZ21WL1Jqb2I5V2VXZWhxTzhDc0l0b1pZSmNmbXAxaXN0c3VrYXhXZDVRU1Iva1BaODR2dUJPazlpZ0IxOStEdzlrTkh6ZWsyTzlYUk4rSGtVVDlCQjczenVVNklycDR2ZmhRL20vQjVmdHF1ZmZDSWI4SFE0UCtXSjJRdjc5WitrOWdyYWxIbDFNRkJSRFJOa1ArZGZhdjErUlFZWDhNRk10aGhyOXRENFp3ZGM3OWlCajg0TVZkUWd1OVlVY1JRNTN3c2V6K1lkTmxsTDFQelBYNHBjeDBqM2l4bHdrNmI1dnVZNE5ydHQ2TzdIZU95eVVWbkJheDdDMEdkcC92bUFKcCtPTDF2aW1sNTEyVzB1YnplaytSUDFWODNiMTluNGJ1YzJ2ZGdmNjhPaGdRNklTUFZaWFZkaXl6bWJLNjgxait5KzMyajZKZktGNzk2L0hIUU9HMXdiVVRjU3I3K0piclpZd2NSeW12UnhFN1puR0dBcmd1cTAwL1JpR1pMNVhMSHlzcGRFeUhQSWFxUHRlV3kwWEFpd0p0VzZiaytZbTlpSUh6Wll4OFo2SE5ILzV4OXZBazZBMFlnNnRzNW0yWlI0R282clpQUjJSY0FiN2FGbHBvb3MrMUIwdFN1SXd4bFV2dGd0eUNmNU1kQWxGYTJCTFg5NiszczE3NGFqdnBQVFdzenZqanBLN1dNM2JNRnphVzJYQmNhbmVENlk4dlRvTDJ4NE9yYkJZQzlNYTJGMTRqQjRyQmowQ1R4d3p0K09QbXUxY3ozNFh2Yzh1VGlNTHJUR29IK3IwZjFidHBjSUQrendYZkpiVVE1TzQ5U2JxcEFOdnhSN3N0NU84RmNiZmxxK2ZyZ3dVcTNuM3VmVksrRnpyb0d4VG1WczllK2p6Vllzcm9KeTdLNkxrVis0VU8xL3MxVkM0dmxyTGNOWDN1dHhRdmxOQmZNTHdCNDIySXN0cGVIdUJ6K0tNejllOG05cUpyMG50Q1RTK0dLNWMvNWNOQmpNakQ2MHdiTHJYTFE5MFFLY3VMRFYvM2NhbXk1TlcvbVY3WDE2R0Qyd1o5N3ZtTy9ad1RleXZtRjdYcFZrcmJINTk0dmNyR2xMaWlsSDd1bzVJaUp4NzY5bDZ5VUwwdTkwR011dHAycld4bitBWUZYMDlqdTdCbHZzRFB5RDBPSmVIZ1RIT1kwMk9MZzM0KzNRV3FVYlQxWHVocUxQUHA2a2N2WmVuZ0MrejhERzc4SjJPMDN2UnhJY0ZOSEE4YytOVG1pOTF6MDYrKzlsVlN5L0t5UzI1TDZiZ0RMR2piNXloazFlZWFsWDRiM0xiMXVmZkJteGxzU2UwaHhOWFFoSGI3RkE0MSt6MHU4MFBZT3oyWTZaSW50bEtxK2x5ODRQeHZFR0NyQ3JINzE1OUlkV2tYY3B3OWhUdjA3K2dDWE4yV1VVcHZiMGkwcTh1MlVtcHpuM3NmQkhoSTZKMzgrYWRGY3NqSFV6ZzJRaXN2THplM0pmUFRsYk0zYlYxZEhoVUNmSVBTeXZsclFhK2V3a215VDE4ZmZXOTFINVU4UDJuTE1FWWRDUERuT2pyVCsrUlF0VGNjOFBoaFNQYnBTNDROd29zVjVsRkZmaWNXYlllK204ckhmVlRteVo3YzIvRjhQWDFMV2ZZUTN0SEZmU3VsMG9NWGxBbTFGUFNWb1VJN3ZlMGpVeGM5U295UHAyKzFZSVd5ZVN3c1NtZzdHQkg0YnFyT1kvblEyVk80V3N3U1ViMnp1TGErNHgrbDZtWVZMRmlOalZVUGJFdTJZSGMzQzFwM3V1OWEwcStVamwvY1hqei9LVGNsZVlydmIvS081U0xXZFpDRjN2UVlaS2RQNFVndmxKdUkrUUYxK3ZTdDNoQ0l2bmNpckZlaHI5OXQ1T3UyU1BNVUprZEtvUXBLaGNxT3laSEJ0aDBtckNiRmZodnA1bTJSSGxhc082NkdPeklwQzBwQXRmcnNjSEREOWJaZDJ5U3pEMXdGMmE1WU93NnlzNFAwRjFtVGw4bTVWSkFqMVUyUk9KaFFTM0tESERlRDdHVHJTUXAzRjhvbFFDdmxiREd1Nm4yaGxtUW5zYW9iSTB2bFlzZytEM1ZWTFF2Q1lTdWd4WDhJYXNFbzVTaXlDNFlYeXZtaFNUbHBCWjZ1ZmxqR3luTjlDUEFJbEo3S0Nad1NKSk83WkwwSkNQQW9NTjduSHY2bVRpUWU0S21DbkZCUEtCV2krYXQ1N0R1YVRDMk90c1FCUElGSFlQWSt2NlowUkhDenhSVEM2d2dDRE1HVm1jYjFPSTRnd0JDYzBCbWV3STRnd0FDTUljQVFua1lKN1FvQ0RBM0FGYkd1SU1BQWpDSEFBSXdod0FDTUljQUFqQ0hBQUl3aHdLRThLTEh5Q3M0aHdLRmNZTzhUM0VPQUFSaERnQUVZUTRBQkdFT0FBUmhEZ0FFWVE0QUJHRU9BWVN5Q1JFNFFEUVFZZ0RFRUdJQXhCQmlBTVFRWWdERUV1RVh3a3JiMElNQUFqQ0hBQUl3aHdBQ01JY0Fqd1ZsZWlCTUNQQUlkeFF2QkFQNE9BUVpnREFFR1lBd0JCbUFNQVFaZ0RBRUdZQXdCQm1BTUFRWmdEQUVPcEpRaUp3REhFR0FBeGhCZ0dJL0dXR2xNb2c1d0pyT0NJQzR5KzVvZ0duZ0NBekNHQUFNd2hnQURNSVlBQXpDR0FBTXdoZ0FETUlZQUF6Q0dBTGZKZ3pLT0lReXBNQXppQ0FMY0poZHhURkVKd2pDSUt3Z3dBR054QjFoZm9OUUN1RWZVQVZhVXZaNWIrYlRWV1g2UElGY3kvQjNnTS9HWDBFSjFIMmNQVDU2dW5LMVIyMDFGc2dnRjBlRFNBK2RDaVAyNTFZOXY4WVk5Z0w5d1c4VEtWYWJlbWlEdkk4Z0FmRmVoMTB5UVQyeC9UQUF0eG5rYnFXUDdZMXRXMzlVZkY3MUhCUUVrTElWOTRLby8vbWIxL0FobE5iUk5Nb01jbXZRaSttTm9teFFuc1d4L2ZEUzNjcjVCNEp3Z25STkVJOVZSeXB5RTNySDlNUUVrTFBWWjZKd2lJVWprQk9BWURqUEFXRFNKZ2lBYUNEQ01SNVgvSllnR0FnempFYklnaUFZQ0RHT1JVcndoaUFZQ0RHUHBYLzVSTzhCYVl5dktGUVFZUm1aVzBvLzd2U2Q5cWt2RXN6dkFIUUlNSXhOYS9VUTE1VCtjZlVmZ1RLMEFTNjFmQ0kxdGhUWXdUOStpZURYN2ttb3FsY3FwNVd3bEk0VjZRUTdVQ3JEOVFOKzltcDZYUW04aXlHa1RwVmdpQjRTU2k5UlM5a2ZRUHZUZUhVNHZGUWRmSFpNRFRrcm80bUIyVnlqN0FldmFKVmFrT3EwK0lDRm8yOW5SekV6OGg5cW5iMzY1dGtYNWFNRkZGWE9Uc3g3WWZzQ25oN05yc3BUenRrU2d0SFNxazA3TUw5Z3JzMG51aGRaN3B3Y3pYWEtnK2hIVTFLb2VXQkQxVENZV1RnKys2aFk5VVg4QjhCYm5pMWcyeUxaRVNMSS81bjdCbnBaakJ0aUU5M0RXMmFtdVVwYUwxQkpYZmU3U3U4T1paejR2bHZDMkNqM3NqMjNwUUxhRVNFYzdMdGd6NnhvdXcxdjlYNUpvd3hWSWZmdTNjOW5uM3NmN05wSXRIV3dKa1dCL25PUUZlOVZDaTNseW5KcDFEWExvNmVxSDVlVDNmODNEU3BiVDg2Ny9kdmNKc2cvOFdYK2MzbXAxUWhmczZiMXFvY1hEazBQUzFEb2xxaXFYelhmYlY1OTduNkNESEZWL2JMZWQwdXVQdjNqQlhzeXVuN3FtWlBieEJiUi9FM3ZsRVNWbStIZXJ5dVdHTGxCc1pCTEw5c2RDL2JsdzFSK25oTnNGZTlYMmh2a0N6dnZzMXhMc2ZZZDk3bnlJUHZjK2pZMVNGcjBuL2F2K2VENjEvcGpKQlhzdmg5c2I1TkhjeXNldHRIcGZ2UmU2ejczUEZEWHNxdlJZeTFjLzlMU2UydEVpcVpNcXRqOWVuRnM1MzdPeGpvSHQxNFFvdDBNOE9lemNzMUxVcFFSVWZ6ZXBOb3VmWjZNNlRpa29Nbm5WTDhtdHhJTHNoQlRTYkUwOE9xWUo1Y3U2RTJxUnhWWWVTcW9qN2s5ZjIrZWFIN3dYVFpmS2Q0bnVOTktnUDA1NkxMTXg0Y0tyTzZVc2U4ekQrOWY0WTZUaHRhSThUbmh6MndsQjVrZG41L3RtTWU5YjR1dmxvTThOdnkwMHJzWjc0UHRjOThjclo4Y29xK05ubjd3NisvU2E2NVpSeVBVQlY2THJnZTh6OS96M3JsRFpqMjBOY3QwZTJDZmI4OXF5bWVtVHR5KzEzblI5VWlnRVZqZHkySklHL1hGOFRIZ1g3WUlWdy9EMmgrT1BITU5yc1hvQzMyUi84WFdtVExuV251TnBzVDJCYmNtczVDZXp6NnZadlllcUtwZEw4WUw3SzJqWjNvazFPTFk0czRCcmZacnhkUFhqc3BMbko5ekNLelQ5MnZUNG8wdHNuOEMzMmY2WXRFejZ1Rm9NVDJCYkx1dE1iekZjcUxMamo5dXhURkM1a3N5dGxLbU9aWDVHWHpSMkc0Z3RsK2RXem5mc3ExdjVoVGV1OFVlWGtua0MzMlJIK0hRcFh5ZTRXbDFvcmJkL0M3amdNdWh6LzFnblVacFNXYkM2VGlpVlB2YytTUVo0S09HeHpFSlR1Zm5iNGVNZWVYUzF1cnpQYmFJcTl2RkhsNUlPc0ZYTjVFNWRyaVhhSDlzVFJkdXVuekNERlg2OXo3UFBWWHUrVDFqRkpQa0FEMVZCenNxdStWZitrVktqWlZjcStxbHVrRGx2Q3czNjNKbm9SeDlkYTAyQWgvTFZEOHNKSGx1MGF2WEgrZXI1dWlMVlpkbm5NaHQvZEtsMUFSNUt1VCtXNVlOblJlL2hTT2RXYlo5YnluS1gyeFJWMWVlUzNpd09aN3l1QThTdXRRRzJraTZydjlBZmMrOXo1ZVhzYnR2SzVYL1M2Z0FQRFlKOGFmWUk1ZmVVR3RNZm43NTZkSDMzR09kdElmSzBhTWNaQW54RDB0dE9waisyL3lBRTdhRFBUUWNDL0EvYWZtd3hJbXlQK1lXQ0FOOGg4ZjQ0ZHVoelI0UUFmMEViankwMnFRM2pqeTRod0NQQ2JabCsyV04rUXFvTjlMbmpRWURIMUlaamk0RWxlY3d2RkFSNEF1aVBYV25uK0tOTENIQU5DUjliOUFwOXJqc0lzQVBvajBmVHBtTitvU0RBamx4TmMyMFF5V1RmZzFzRHRvVThRWUFkUTM5OEcvcGNueEJnVDlwZVZtUDhNUXdFMkxQOCtkbUdWbks5TFVIR01iK3dFT0FBV2xKV284OXRBQUljRU9NenVQY3lYNktlS09VbXRvWENRNEFia0VwL2pENjNlUWh3ZzY3R011MjJFN2VEOVJoL2pBUUMzREIyL2JGOW14LzYzR2dnd0pHbyttT3BqMkl0cXpIK0dDY0VPREt4OWNjWWY0d2JBaHloZlBsOVIwMU5iVFI4YkJGOUxnTUljTVNhNjQ4eC9zZ0ZBc3hBL3Z6M1JhMnlmZDlsZGRYblNyVlovRHc3MHFYdzBEd0VtQkZmL1RINlhMNFFZR1ljSDF2RStDTnpDREJURHZyamw3S2Mza1J3ZVVPQW1SdTNyTWI0WTFvUTRFUjg2ZGhpMWVkcXRZMjNIS1FGQVU3SUhXVTErdHlFSWNBSkdoNWJOUHU1ZlJ6elM5di9BV2lQL05ZUHp6MVFBQUFBQUVsRlRrU3VRbUNDIi8+PC9kZWZzPjwvc3ZnPg==",rc=Object.defineProperty,Hs=Object.getOwnPropertySymbols,jl=Object.prototype.hasOwnProperty,tu=Object.prototype.propertyIsEnumerable,ju=(Ze,ye,Te)=>ye in Ze?rc(Ze,ye,{enumerable:!0,configurable:!0,writable:!0,value:Te}):Ze[ye]=Te,Ec=(Ze,ye)=>{for(var Te in ye||(ye={}))jl.call(ye,Te)&&ju(Ze,Te,ye[Te]);if(Hs)for(var Te of Hs(ye))tu.call(ye,Te)&&ju(Ze,Te,ye[Te]);return Ze};const Pu=Ze=>g.createElement("svg",Ec({className:"displayReset_svg__icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:200,height:200},Ze),g.createElement("path",{d:"m193.07 70.353 5.423.931a34.91 34.91 0 0 1 28.37 40.425l-.024.07-12.87 72.541A448.698 448.698 0 0 1 507.857 75.38c246.831 0 447.023 197.912 447.023 442.182S754.688 959.744 507.857 959.744c-160.186 0-305.687-84.084-385.466-218.159a37.795 37.795 0 0 1 13.359-51.921 38.167 38.167 0 0 1 52.154 13.289c66.21 111.243 186.903 180.992 319.953 180.992 204.87 0 370.851-164.096 370.851-366.383S712.728 151.18 507.858 151.18c-107.288 0-206.802 45.265-276.318 121.995H373.04a34.91 34.91 0 0 1 0 69.818H163.584c-2.607 0-5.19-.279-7.657-.837a34.63 34.63 0 0 1-5.26-.512l-5.422-.931a34.91 34.91 0 0 1-28.346-40.495l35.77-201.588a34.91 34.91 0 0 1 40.402-28.277z",fill:"#fff"}));var Tu="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0ibTE5My4wNyA3MC4zNTMgNS40MjMuOTMxYTM0LjkxIDM0LjkxIDAgMCAxIDI4LjM3IDQwLjQyNWwtLjAyNC4wNy0xMi44NyA3Mi41NDFBNDQ4LjY5OCA0NDguNjk4IDAgMCAxIDUwNy44NTcgNzUuMzhjMjQ2LjgzMSAwIDQ0Ny4wMjMgMTk3LjkxMiA0NDcuMDIzIDQ0Mi4xODJTNzU0LjY4OCA5NTkuNzQ0IDUwNy44NTcgOTU5Ljc0NGMtMTYwLjE4NiAwLTMwNS42ODctODQuMDg0LTM4NS40NjYtMjE4LjE1OWEzNy43OTUgMzcuNzk1IDAgMCAxIDEzLjM1OS01MS45MjEgMzguMTY3IDM4LjE2NyAwIDAgMSA1Mi4xNTQgMTMuMjg5YzY2LjIxIDExMS4yNDMgMTg2LjkwMyAxODAuOTkyIDMxOS45NTMgMTgwLjk5MiAyMDQuODcgMCAzNzAuODUxLTE2NC4wOTYgMzcwLjg1MS0zNjYuMzgzUzcxMi43MjggMTUxLjE4IDUwNy44NTggMTUxLjE4Yy0xMDcuMjg4IDAtMjA2LjgwMiA0NS4yNjUtMjc2LjMxOCAxMjEuOTk1SDM3My4wNGEzNC45MSAzNC45MSAwIDAgMSAwIDY5LjgxOEgxNjMuNTg0Yy0yLjYwNyAwLTUuMTktLjI3OS03LjY1Ny0uODM3YTM0LjYzIDM0LjYzIDAgMCAxLTUuMjYtLjUxMmwtNS40MjItLjkzMWEzNC45MSAzNC45MSAwIDAgMS0yOC4zNDYtNDAuNDk1bDM1Ljc3LTIwMS41ODhhMzQuOTEgMzQuOTEgMCAwIDEgNDAuNDAyLTI4LjI3N3oiIGZpbGw9IiNmZmYiLz48L3N2Zz4=",Su=Object.defineProperty,ts=Object.getOwnPropertySymbols,Lu=Object.prototype.hasOwnProperty,ws=Object.prototype.propertyIsEnumerable,Vi=(Ze,ye,Te)=>ye in Ze?Su(Ze,ye,{enumerable:!0,configurable:!0,writable:!0,value:Te}):Ze[ye]=Te,Ns=(Ze,ye)=>{for(var Te in ye||(ye={}))Lu.call(ye,Te)&&Vi(Ze,Te,ye[Te]);if(ts)for(var Te of ts(ye))ws.call(ye,Te)&&Vi(Ze,Te,ye[Te]);return Ze};const pl=Ze=>g.createElement("svg",Ns({viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},Ze),g.createElement("g",{clipPath:"url(#settings-sliders_svg__a)"},g.createElement("path",{d:"M.833 3.958h2.28a3.107 3.107 0 0 0 5.996 0h10.058a.833.833 0 0 0 0-1.667H9.109a3.107 3.107 0 0 0-5.996 0H.833a.833.833 0 0 0 0 1.667Zm5.278-2.292a1.458 1.458 0 1 1 0 2.917 1.458 1.458 0 0 1 0-2.917ZM19.167 9.167h-2.28a3.106 3.106 0 0 0-5.995 0H.833a.833.833 0 0 0 0 1.666h10.059a3.105 3.105 0 0 0 5.995 0h2.28a.833.833 0 0 0 0-1.666Zm-5.278 2.291a1.458 1.458 0 1 1 0-2.915 1.458 1.458 0 0 1 0 2.915ZM19.167 16.042H9.109a3.107 3.107 0 0 0-5.996 0H.833a.833.833 0 1 0 0 1.666h2.28a3.107 3.107 0 0 0 5.996 0h10.058a.833.833 0 0 0 0-1.666ZM6.11 18.333a1.458 1.458 0 1 1 0-2.915 1.458 1.458 0 0 1 0 2.915Z"})),g.createElement("defs",null,g.createElement("clipPath",{id:"settings-sliders_svg__a"},g.createElement("path",{d:"M0 0h20v20H0z"}))));var ei="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJNLjgzMyAzLjk1OGgyLjI4YTMuMTA3IDMuMTA3IDAgMCAwIDUuOTk2IDBoMTAuMDU4YS44MzMuODMzIDAgMCAwIDAtMS42NjdIOS4xMDlhMy4xMDcgMy4xMDcgMCAwIDAtNS45OTYgMEguODMzYS44MzMuODMzIDAgMCAwIDAgMS42NjdabTUuMjc4LTIuMjkyYTEuNDU4IDEuNDU4IDAgMSAxIDAgMi45MTcgMS40NTggMS40NTggMCAwIDEgMC0yLjkxN1pNMTkuMTY3IDkuMTY3aC0yLjI4YTMuMTA2IDMuMTA2IDAgMCAwLTUuOTk1IDBILjgzM2EuODMzLjgzMyAwIDAgMCAwIDEuNjY2aDEwLjA1OWEzLjEwNSAzLjEwNSAwIDAgMCA1Ljk5NSAwaDIuMjhhLjgzMy44MzMgMCAwIDAgMC0xLjY2NlptLTUuMjc4IDIuMjkxYTEuNDU4IDEuNDU4IDAgMSAxIDAtMi45MTUgMS40NTggMS40NTggMCAwIDEgMCAyLjkxNVpNMTkuMTY3IDE2LjA0Mkg5LjEwOWEzLjEwNyAzLjEwNyAwIDAgMC01Ljk5NiAwSC44MzNhLjgzMy44MzMgMCAxIDAgMCAxLjY2NmgyLjI4YTMuMTA3IDMuMTA3IDAgMCAwIDUuOTk2IDBoMTAuMDU4YS44MzMuODMzIDAgMCAwIDAtMS42NjZaTTYuMTEgMTguMzMzYTEuNDU4IDEuNDU4IDAgMSAxIDAtMi45MTUgMS40NTggMS40NTggMCAwIDEgMCAyLjkxNVoiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBkPSJNMCAwaDIwdjIwSDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+",cu=(0,g.memo)(function(Ze){var ye=Ze.displayOption,Te=Ze.onChangeImageDisplayOpts,An=Ze.onChangeAnnotsDisplayOpts,yt=(0,z.bU)(),Pn=yt.localeText,Sn=(0,g.useMemo)(function(){return(0,C.jsxs)("div",{className:"dds-annotator-display-pop-container",children:[(0,C.jsxs)("div",{className:"dds-annotator-display-pop-container-header",children:[(0,C.jsx)("div",{children:Pn("DDSAnnotator.imgDisplayTool.title")}),(0,C.jsx)(x.ZP,{type:"primary",className:"dds-annotator-display-pop-container-btn",icon:(0,C.jsx)(J.Z,{component:Pu}),onClick:function(){return Te(Q.O4)}})]}),(0,C.jsxs)("div",{className:"dds-annotator-display-pop-container-option",children:[(0,C.jsx)("label",{children:Pn("DDSAnnotator.imgDisplayTool.brightness")}),(0,C.jsx)(ca.Z,{value:ye.brightness,onChange:function(Un){return Te(t()(t()({},ye),{},{brightness:Un}))},min:0,max:200})]}),(0,C.jsxs)("div",{className:"dds-annotator-display-pop-container-option",children:[(0,C.jsx)("label",{children:Pn("DDSAnnotator.imgDisplayTool.contrast")}),(0,C.jsx)(ca.Z,{value:ye.contrast,onChange:function(Un){return Te(t()(t()({},ye),{},{contrast:Un}))},min:0,max:200})]}),(0,C.jsxs)("div",{className:"dds-annotator-display-pop-container-option",children:[(0,C.jsx)("label",{children:Pn("DDSAnnotator.imgDisplayTool.saturate")}),(0,C.jsx)(ca.Z,{value:ye.saturate,onChange:function(Un){return Te(t()(t()({},ye),{},{saturate:Un}))},min:0,max:200})]})]})},[ye.brightness,ye.contrast,ye.saturate,Te,An]);return(0,C.jsx)(pn.Z,{placement:"top",content:Sn,trigger:"click",overlayClassName:"dds-annotator-display-popover",color:"#212121",children:(0,C.jsx)(T.Z,{title:Pn("DDSAnnotator.imgDisplayTool.title"),children:(0,C.jsx)(J.Z,{component:pl,className:"dds-annotator-display"})})})}),cs=cu,ac=Object.defineProperty,_s=Object.getOwnPropertySymbols,hl=Object.prototype.hasOwnProperty,Ys=Object.prototype.propertyIsEnumerable,vi=(Ze,ye,Te)=>ye in Ze?ac(Ze,ye,{enumerable:!0,configurable:!0,writable:!0,value:Te}):Ze[ye]=Te,js=(Ze,ye)=>{for(var Te in ye||(ye={}))hl.call(ye,Te)&&vi(Ze,Te,ye[Te]);if(_s)for(var Te of _s(ye))Ys.call(ye,Te)&&vi(Ze,Te,ye[Te]);return Ze};const Nu=Ze=>g.createElement("svg",js({viewBox:"0 0 27 27",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Ze),g.createElement("g",{clipPath:"url(#label_svg__a)"},g.createElement("path",{d:"M13.5 27C20.956 27 27 20.956 27 13.5S20.956 0 13.5 0 0 6.044 0 13.5 6.044 27 13.5 27Z",fill:"#26A1F4"}),g.createElement("path",{d:"m18.201 12.527-.007-.008-3.721-3.723s-4.535 4.535-6.72 6.765c-.273.278-.479.664-.601 1.037-.359 1.097-.656 2.215-.986 3.322-.088.297-.07.559.162.78.22.211.466.219.751.133 1.055-.316 2.116-.617 3.176-.92a3.243 3.243 0 0 0 1.432-.865c2.082-2.095 6.514-6.521 6.514-6.521ZM20.373 7.9l-1.272-1.272a1.74 1.74 0 0 0-2.46 0l-1.442 1.44 3.733 3.734 1.442-1.442a1.74 1.74 0 0 0 0-2.46Z",fill:"#fff"})),g.createElement("defs",null,g.createElement("clipPath",{id:"label_svg__a"},g.createElement("path",{fill:"#fff",d:"M0 0h27v27H0z"}))));var Wu="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjcgMjciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJNMTMuNSAyN0MyMC45NTYgMjcgMjcgMjAuOTU2IDI3IDEzLjVTMjAuOTU2IDAgMTMuNSAwIDAgNi4wNDQgMCAxMy41IDYuMDQ0IDI3IDEzLjUgMjdaIiBmaWxsPSIjMjZBMUY0Ii8+PHBhdGggZD0ibTE4LjIwMSAxMi41MjctLjAwNy0uMDA4LTMuNzIxLTMuNzIzcy00LjUzNSA0LjUzNS02LjcyIDYuNzY1Yy0uMjczLjI3OC0uNDc5LjY2NC0uNjAxIDEuMDM3LS4zNTkgMS4wOTctLjY1NiAyLjIxNS0uOTg2IDMuMzIyLS4wODguMjk3LS4wNy41NTkuMTYyLjc4LjIyLjIxMS40NjYuMjE5Ljc1MS4xMzMgMS4wNTUtLjMxNiAyLjExNi0uNjE3IDMuMTc2LS45MmEzLjI0MyAzLjI0MyAwIDAgMCAxLjQzMi0uODY1YzIuMDgyLTIuMDk1IDYuNTE0LTYuNTIxIDYuNTE0LTYuNTIxWk0yMC4zNzMgNy45bC0xLjI3Mi0xLjI3MmExLjc0IDEuNzQgMCAwIDAtMi40NiAwbC0xLjQ0MiAxLjQ0IDMuNzMzIDMuNzM0IDEuNDQyLTEuNDQyYTEuNzQgMS43NCAwIDAgMCAwLTIuNDZaIiBmaWxsPSIjZmZmIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGgyN3YyN0gweiIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==",yl=Object.defineProperty,Eu=Object.getOwnPropertySymbols,Ru=Object.prototype.hasOwnProperty,nu=Object.prototype.propertyIsEnumerable,bl=(Ze,ye,Te)=>ye in Ze?yl(Ze,ye,{enumerable:!0,configurable:!0,writable:!0,value:Te}):Ze[ye]=Te,kl=(Ze,ye)=>{for(var Te in ye||(ye={}))Ru.call(ye,Te)&&bl(Ze,Te,ye[Te]);if(Eu)for(var Te of Eu(ye))nu.call(ye,Te)&&bl(Ze,Te,ye[Te]);return Ze};const ii=Ze=>g.createElement("svg",kl({viewBox:"0 0 27 27",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Ze),g.createElement("path",{d:"M13.5 27C20.956 27 27 20.956 27 13.5S20.956 0 13.5 0 0 6.044 0 13.5 6.044 27 13.5 27Z",fill:"#FFD305"}),g.createElement("path",{d:"m20.713 19.26-.369-.37-.063-.064-1.493 1.493.036.036.396.396c.254.254.791.125 1.207-.287.415-.412.54-.952.286-1.204ZM16.709 15.31a5.797 5.797 0 1 0-1.515 1.47l3.229 3.181 1.493-1.492-3.207-3.16Zm-4.655.717a4.092 4.092 0 1 1 0-8.184 4.092 4.092 0 0 1 0 8.184Z",fill:"#fff"}));var $="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjcgMjciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEzLjUgMjdDMjAuOTU2IDI3IDI3IDIwLjk1NiAyNyAxMy41UzIwLjk1NiAwIDEzLjUgMCAwIDYuMDQ0IDAgMTMuNSA2LjA0NCAyNyAxMy41IDI3WiIgZmlsbD0iI0ZGRDMwNSIvPjxwYXRoIGQ9Im0yMC43MTMgMTkuMjYtLjM2OS0uMzctLjA2My0uMDY0LTEuNDkzIDEuNDkzLjAzNi4wMzYuMzk2LjM5NmMuMjU0LjI1NC43OTEuMTI1IDEuMjA3LS4yODcuNDE1LS40MTIuNTQtLjk1Mi4yODYtMS4yMDRaTTE2LjcwOSAxNS4zMWE1Ljc5NyA1Ljc5NyAwIDEgMC0xLjUxNSAxLjQ3bDMuMjI5IDMuMTgxIDEuNDkzLTEuNDkyLTMuMjA3LTMuMTZabS00LjY1NS43MTdhNC4wOTIgNC4wOTIgMCAxIDEgMC04LjE4NCA0LjA5MiA0LjA5MiAwIDAgMSAwIDguMTg0WiIgZmlsbD0iI2ZmZiIvPjwvc3ZnPg==",fe=(0,g.memo)(function(Ze){var ye=Ze.mode,Te=(0,z.bU)(),An=Te.localeText;return ye===Q.je.View?null:(0,C.jsx)("div",{className:c()("dds-annotator-editor-status","dds-annotator-editor-status-".concat(ye)),children:ye===Q.je.Edit?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(Nu,{}),An("DDSAnnotator.status.labeling")]}):(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(ii,{}),An("DDSAnnotator.status.reviewing")]})})}),Ue=fe,at=e(12673),Rt=e(51244),On=(0,g.memo)(function(Ze){var ye=Ze.onAdd,Te=(0,z.bU)(),An=Te.localeText,yt=(0,g.useRef)(null),Pn=(0,g.useState)(""),Sn=s()(Pn,2),In=Sn[0],Un=Sn[1],ir=function(Ln){Ln.stopPropagation(),Un(Ln.target.value)},Mr=function(){var Ln;In!==""&&(ye(In),Un(""),(Ln=yt.current)===null||Ln===void 0||Ln.focus())};return(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(Rt.Z,{style:{margin:"8px 0"}}),(0,C.jsxs)(Kn.Z,{style:{padding:"0 8px 4px"},children:[(0,C.jsx)(D.Z,{placeholder:An("DDSAnnotator.annotsEditor.addCategory"),ref:yt,value:In,onChange:ir,onKeyDown:function(Ln){Ln.code==="Enter"&&Mr(),Ln.stopPropagation()}}),(0,C.jsx)(x.ZP,{type:"text",icon:(0,C.jsx)(at.Z,{}),onClick:Mr,children:An("DDSAnnotator.annotsEditor.add")})]})]})}),Tr=On,fo=(0,g.memo)(function(Ze){var ye,Te=Ze.drawData,An=Ze.latestLabelId,yt=Ze.isSeperate,Pn=Ze.labelOptions,Sn=Ze.labelColors,In=Ze.onChangeObjectLabel,Un=Ze.onCreateCategory,ir=(0,z.bU)(),Mr=ir.localeText,pr=(0,g.useMemo)(function(){if(Pn.length>0){var Ln,da=(Ln=Pn[0])===null||Ln===void 0?void 0:Ln.labelType,Rr=da&&B.t[da],Yn=B.Zo[Rr];if(Yn)return B.ef[Yn]}},[Pn]);return(0,C.jsx)("div",{className:"dds-annotator-label-selector",children:(0,C.jsx)(er.Z,{showSearch:!0,placeholder:Mr("DDSAnnotator.label.select"),size:"middle",value:((ye=Te.objectList[Te.activeObjectIndex])===null||ye===void 0?void 0:ye.labelId)||An,onChange:In,popupClassName:"objects-select-popup",onClick:function(da){return da.stopPropagation()},onKeyUp:function(da){return da.stopPropagation()},onInputKeyDown:function(da){da.code!=="Enter"&&da.stopPropagation()},filterOption:function(da,Rr){var Yn,lr,Nr,ia=(Rr==null||(Yn=Rr.children)===null||Yn===void 0?void 0:Yn[((Rr==null||(lr=Rr.children)===null||lr===void 0?void 0:lr.length)||0)-1])||"";return(Nr=ia.toLowerCase())===null||Nr===void 0?void 0:Nr.includes(da.toLowerCase())},dropdownRender:function(da){return(0,C.jsxs)(C.Fragment,{children:[da,yt&&(0,C.jsx)(Tr,{onAdd:Un})]})},children:Pn==null?void 0:Pn.map(function(Ln){return(0,C.jsxs)(er.Z.Option,{value:Ln.id,className:"dds-annotator-label-selector-option",children:[pr?(0,C.jsx)(pr,{color:Ln.renderColor,fill:Ln.renderColor}):(0,C.jsx)("div",{className:"dds-annotator-label-selector-option-color",style:{backgroundColor:Sn==null?void 0:Sn[Ln.id]}}),Ln.name]},Ln.id)})})})}),Ro=fo,gi=(0,g.memo)(function(Ze){var ye=Ze.selectedTool,Te=Ze.selectedModel,An=Ze.modelOptions,yt=Ze.onSelectModel,Pn=(0,z.bU)(),Sn=Pn.localeText,In=B.Zo[ye];return(0,C.jsx)("div",{className:"dds-annotator-model-selector",children:(0,C.jsx)(er.Z,{placeholder:Sn("DDSAnnotator.label.select"),size:"middle",value:Te,onChange:yt,popupClassName:"objects-select-popup",onClick:function(ir){return ir.stopPropagation()},onKeyUp:function(ir){return ir.stopPropagation()},onInputKeyDown:function(ir){ir.code!=="Enter"&&ir.stopPropagation()},children:An==null?void 0:An.map(function(Un,ir){return(0,C.jsxs)(er.Z.Option,{value:Un,className:"dds-annotator-model-selector-option",children:[(0,C.jsx)(J.Z,{component:B.VC[In]}),B.TR[Un]&&Sn(B.TR[Un].name)]},ir)})})})}),Gi=gi,ol=(0,g.memo)(function(Ze){var ye,Te=Ze.toolOptions,An=Ze.selectedSubTool,yt=Ze.isAIAnnotationActive,Pn=Ze.brushSize,Sn=Ze.onChangeSubTool,In=Ze.onChangeBrushSize,Un=(0,g.useMemo)(function(){return[].concat(Xt()(Te.basicTools),Xt()(Te.smartTools))},[Te.basicTools,Te.smartTools]),ir=(0,g.useMemo)(function(){for(var Rr=[],Yn=1;Yn<=Un.length;Yn++)Rr.push(Yn.toString());return Rr},[Un]);(0,Oe.Z)(ir,function(Rr){var Yn=Un.find(function(lr,Nr){return(Nr+1).toString()===Rr.key});if(Yn&&Yn.available){if(Te.smartTools.find(function(lr){return Yn.key===lr.key})&&!yt)return;Sn(Yn.key)}},{exactMatch:!0});var Mr=function(Yn){var lr=Un.find(function(Nr){return Nr.key===An});Yn.type==="mouseup"&&(lr!=null&&lr.withSize||lr!=null&&lr.withCustomElement)||Yn.stopPropagation()},pr=function(Yn){var lr=Un.findIndex(function(Nr){return Nr.key===Yn.key})+1;return(0,C.jsxs)("div",{className:"dds-annotator-subtoolbar-popover",children:[(0,C.jsxs)("div",{children:[(0,C.jsx)("span",{className:"dds-annotator-subtoolbar-popover-title",children:Yn.name}),lr&&(0,C.jsx)("span",{className:"dds-annotator-subtoolbar-popover-key",children:lr})]}),Yn.description&&(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)("div",{className:"dds-annotator-subtoolbar-popover-divider"}),(0,C.jsx)("div",{children:Yn.description})]})]})},Ln=function(Yn){var lr=Un.find(function(Nr){return Nr.key===Yn});lr&&lr.available&&Sn(Yn)},da=function(Yn){return(0,C.jsx)(pn.Z,{placement:"bottom",content:pr(Yn),children:(0,C.jsx)(x.ZP,{className:c()("dds-annotator-subtoolbar-btn",{"dds-annotator-subtoolbar-btn-active":An===Yn.key&&Yn.available,"dds-annotator-subtoolbar-btn-limited":Yn.available}),style:{cursor:Yn.available?"pointer":"not-allowed"},icon:Yn.icon,onClick:function(){return Ln(Yn.key)}})},Yn.key)};return(0,C.jsx)(k,{eventHandler:Mr,children:(0,C.jsxs)("div",{className:"dds-annotator-subtoolbar",children:[Te.basicTools.map(function(Rr){return da(Rr)}),yt&&(0,C.jsxs)(C.Fragment,{children:[Te.basicTools.length>0&&Te.smartTools.length>0&&(0,C.jsx)("div",{className:"dds-annotator-subtoolbar-divider"}),Te.smartTools.map(function(Rr){return da(Rr)})]}),Te.customElement&&(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)("div",{className:"dds-annotator-subtoolbar-divider"}),Te.customElement]}),!!((ye=Un.find(function(Rr){return Rr.key===An}))!==null&&ye!==void 0&&ye.withSize)&&(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)("div",{className:"dds-annotator-subtoolbar-divider"}),(0,C.jsx)("div",{className:"dds-annotator-subtoolbar-title",children:"Brush Size"}),(0,C.jsx)("div",{className:"dds-annotator-subtoolbar-slider",children:(0,C.jsx)(ca.Z,{defaultValue:20,min:1,max:100,value:Pn,onChange:function(Yn){return In(Yn)}})})]})]})})}),Ml=ol,oc=function(ye){var Te=ye.className,An=Te===void 0?"":Te,yt=ye.children,Pn=ye.leftTools,Sn=Pn===void 0?[]:Pn,In=ye.rightTools,Un=In===void 0?[]:In,ir=function(pr){return pr.map(function(Ln,da){var Rr=Ln.title,Yn=Ln.icon,lr=Ln.onClick,Nr=Ln.disabled,ia=Ln.splitLine,Vr=Ln.customElement;return(0,C.jsxs)(g.Fragment,{children:[Vr||(0,C.jsx)(T.Z,{title:Rr,children:(0,C.jsx)("div",{className:c()("dds-annnotator-toptools-row-icon",{"dds-annnotator-toptools-row-icon-disabled":!!Nr}),onClick:lr,children:Yn})}),ia&&(0,C.jsx)("div",{className:"dds-annnotator-toptools-row-split"})]},da)})};return(0,C.jsxs)("div",{className:c()("dds-annnotator-toptools",An),onMouseDown:function(pr){pr.stopPropagation()},children:[(0,C.jsx)("div",{className:"dds-annnotator-toptools-row",children:ir(Sn)}),(0,C.jsx)("div",{className:"dds-annnotator-toptools-progress",children:yt}),(0,C.jsx)("div",{className:"dds-annnotator-toptools-row",children:ir(Un)})]})},Ki=oc,zu=function(ye){var Te=ye.isOldMode,An=ye.isSeperate,yt=ye.mode,Pn=ye.fileName,Sn=ye.drawData,In=ye.editState,Un=ye.hideTopBarActions,ir=ye.titleElements,Mr=ye.actionElements,pr=ye.enableReviewerModify,Ln=ye.labelOptions,da=ye.labelColors,Rr=ye.showSubTools,Yn=ye.currSubTools,lr=ye.topBarCenterElement,Nr=ye.selectSubTool,ia=ye.setBrushSize,Vr=ye.activeAIAnnotation,Lr=ye.onChangeImageDisplayOpts,ga=ye.onChangeAnnotsDisplayOpts,aa=ye.onChangeObjectLabel,rr=ye.onCreateCategory,Jn=ye.onSaveAnnotations,Fr=ye.onCommitAnnotations,Er=ye.onRejectAnnotations,jr=ye.onAcceptAnnotations,Cr=ye.onModifyAnnotations,Ur=ye.onCancelAnnotations,Yr=ye.onSelectModel,Gr=(0,z.bU)(),Jr=Gr.localeText,Xr=function(){window.open("https://docs.deepdataspace.com")},K=(0,g.useMemo)(function(){var Me=Mr?Mr.map(function(ze){return{customElement:ze}}):[];return Un||(yt===Q.je.Review&&Me.push.apply(Me,[{customElement:(0,C.jsx)(x.ZP,{type:"primary",danger:!0,onClick:Er,children:Jr("DDSAnnotator.reject")})}].concat(Xt()(Te||!pr?[]:[{customElement:(0,C.jsx)(x.ZP,{type:"default",onClick:Cr,children:Jr("DDSAnnotator.modify")})}]),[{customElement:(0,C.jsx)(x.ZP,{type:"primary",onClick:jr,children:Jr("DDSAnnotator.approve")})}])),yt===Q.je.Edit&&!An&&(Me.push({customElement:(0,C.jsx)(x.ZP,{type:"default",onClick:Jn,children:Jr("DDSAnnotator.save")})}),Te||Me.push({customElement:(0,C.jsx)(x.ZP,{type:"primary",onClick:Fr,children:Jr("DDSAnnotator.commit")})})),Me.unshift({customElement:(0,C.jsxs)(C.Fragment,{children:[yt===Q.je.Edit&&(0,C.jsxs)("div",{className:"dds-annotator-qk-actions",children:[(0,C.jsx)(T.Z,{title:Jr("DDSAnnotator.docs"),children:(0,C.jsx)(J.Z,{component:To,onClick:Xr})}),(0,C.jsx)(cs,{displayOption:In.imageDisplayOptions,colorByCategory:In.annotsDisplayOptions.colorByCategory,onChangeImageDisplayOpts:Lr,onChangeAnnotsDisplayOpts:ga})]}),(0,C.jsx)(ya,{mode:yt}),(0,C.jsx)(Ue,{mode:yt})]})}),yt===Q.je.Edit&&Pn&&Me.unshift({customElement:(0,C.jsx)(C.Fragment,{children:Pn})})),Me},[yt,Te,pr,Un,Jn,Fr,Ur,Er,jr,Cr]),F=function(){var ze=[];return ir?ze.push.apply(ze,Xt()(ir.map(function(Qe){return{customElement:Qe}}))):(An||yt===Q.je.Edit?ze.push({customElement:(0,C.jsx)(T.Z,{title:Jr("DDSAnnotator.exit"),children:(0,C.jsx)(Es,{className:"dds-annotator-logo",onClick:Ur})})}):ze.push({title:Jr("DDSAnnotator.exit"),icon:(0,C.jsx)(go.Z,{}),onClick:function(){return Ur()}}),yt!==Q.je.Edit&&Pn&&ze.push({customElement:Pn})),yt===Q.je.Edit&&B.Xn[Sn.selectedTool]&&B.Xn[Sn.selectedTool].length>1&&Sn.AIAnnotation&&Sn.selectedModel&&ze.push({customElement:(0,C.jsx)(Gi,{selectedTool:Sn.selectedTool,selectedModel:Sn.selectedModel[Sn.selectedTool],modelOptions:B.Xn[Sn.selectedTool],onSelectModel:Yr})}),yt===Q.je.Edit&&(Sn.objectList[Sn.activeObjectIndex]||Sn.selectedTool!==B.ru.Drag)&&ze.push({customElement:(0,C.jsx)(Ro,{drawData:Sn,latestLabelId:In.latestLabelId,isSeperate:An,labelOptions:Ln,labelColors:da,onChangeObjectLabel:aa,onCreateCategory:rr})}),yt===Q.je.Edit&&Rr&&ze.push({customElement:(0,C.jsx)(Ml,{toolOptions:Yn,selectedSubTool:Sn.selectedSubTool,isAIAnnotationActive:Sn.AIAnnotation,brushSize:Sn.brushSize,onChangeSubTool:Nr,onChangeBrushSize:ia,onActiveAIAnnotation:Vr})}),ze},ce=(0,C.jsx)(Ki,{leftTools:F(),rightTools:K,children:lr});return{topToolsBar:ce}},Cc=zu,Hu=function(ye){var Te=ye.isOldMode,An=ye.clientSize,yt=ye.naturalSize,Pn=ye.categories,Sn=ye.getAnnotColor,In=function(Ln){var da=Ln.categoryId,Rr=Ln.boundingBox,Yn=Ln.points,lr=Ln.lines,Nr=Ln.pointNames,ia=Ln.pointColors,Vr=Ln.segmentation,Lr=Ln.mask,ga=Ln.alpha,aa=Ln.point,rr=Ln.polyline,Jn=Ln.lineColor,Fr=Ln.lineType,Er=Sn(da||""),jr={labelId:da||"",type:B.gr.Rectangle,hidden:!1,conf:Ln.conf||1,customStyles:Ln.customStyles,status:Q.TK.Commited,color:Er};if(Rr){var Cr=(0,Sr.cO)(Rr,An);Object.assign(jr,{rect:t()({visible:!0},Cr)})}if(Yn&&Yn.length>0&&lr&&lr.length>0&&Nr&&ia){var Ur=(0,Sr.el)(Yn,Nr,ia,yt,An);Object.assign(jr,{keypoints:{points:Ur,lines:lr}})}if(Vr){var Yr=(0,Sr.Vh)(Vr,yt,An),Gr={group:Yr,visible:!0};Object.assign(jr,{polygon:Gr})}if(Lr){var Jr=Lr.counts||"";Object.assign(jr,{maskRle:Jr,maskCanvasElement:(0,Gn.ei)(Jr,yt,Er)})}if(ga){var Xr=new Image;Xr.src=ga,Object.assign(jr,{alpha:ga,alphaImageElement:Xr})}if(aa&&Object.assign(jr,{point:t()(t()({},(0,Sr.YO)(aa,yt,An)),{},{visible:B.GI.labeledVisible})}),rr&&Fr&&Jn){var K=(0,Sr.aH)(rr).map(function(ce){return(0,Sr.YO)([ce.x,ce.y],yt,An)}),F={group:[K],visible:!0,lineType:Fr,color:(0,Sr.Yc)(Jn)};Object.assign(jr,{polyline:F})}return jr.type=(0,Sr.tQ)(jr),jr},Un=function(Ln){var da,Rr=Ln.labelId,Yn=Ln.rect,lr=Ln.keypoints,Nr=Ln.polygon,ia=Ln.maskRle,Vr=Ln.point,Lr=((da=Pn.find(function(Er){return Er.id===Rr}))===null||da===void 0?void 0:da.name)||"",ga={categoryId:Rr,categoryName:Lr};if(Yn&&Object.assign(ga,{boundingBox:(0,Sr.kq)(Yn,An)}),lr&&Object.assign(ga,t()({lines:lr.lines},(0,Sr.yn)(lr.points,yt,An))),Nr){var aa=(0,Sr.Vi)(Nr,yt,An);Object.assign(ga,{segmentation:aa})}if(ia&&Object.assign(ga,{mask:{counts:ia,size:[yt.height,yt.width]}}),Vr){var rr=(0,Sr.AR)([Vr.x,Vr.y],yt,An),Jn=rr.x,Fr=rr.y;Object.assign(ga,{point:[Jn,Fr]})}return ga},ir=function(Ln,da){var Rr,Yn=Ln.labelId,lr=Ln.labelValue,Nr=Sn(Yn),ia=Pn.find(function(Jn){return Jn.id===Yn}),Vr=(ia==null||(Rr=ia.attributes)===null||Rr===void 0?void 0:Rr.map(function(Jn,Fr){var Er;return((Er=Ln.attributes)===null||Er===void 0?void 0:Er[Fr])||null}))||void 0,Lr={labelId:Yn,type:B.gr.Custom,hidden:!1,status:Q.TK.Commited,color:Nr,attributes:Vr},ga=function(Fr,Er){switch(ia==null?void 0:ia.labelType){case B.Ze.Rectangle:{var jr=(0,Sr.JP)(Er,yt,An);Object.assign(Fr,{rect:t()({visible:!0},jr),type:B.gr.Rectangle});break}case B.Ze.Polygon:{var Cr=(0,Sr.Uy)(Er,yt,An),Ur={group:Cr,visible:!0};Object.assign(Fr,{polygon:Ur,type:B.gr.Polygon});break}case B.Ze.Skeleton:{var Yr=(0,Sr.OX)(Er,B.v_.pointNames,B.v_.pointColors,yt,An);Object.assign(Fr,{keypoints:{points:Yr,lines:B.v_.lines},type:B.gr.Skeleton});break}case B.Ze.Mask:{var Gr=Er.counts||"";Object.assign(Fr,{maskRle:Gr,maskCanvasElement:(0,Gn.ei)(Gr,yt,Nr),type:B.gr.Mask});break}case B.Ze.Classification:{Object.assign(Fr,{labelValue:Er,type:B.gr.Classification});break}}return Fr};if(da&&da>0){if((ia==null?void 0:ia.labelType)===B.Ze.Classification)return{classification:ga(Lr,lr)};var aa=new Array(da).fill(void 0),rr;return Object.keys(lr).forEach(function(Jn){rr=ga((0,m.cloneDeep)(Lr),lr[Jn]),aa[Number(Jn)]=t()(t()({},rr),{},{frameEmpty:!1})}),{objects:aa.map(function(Jn){return Jn||t()(t()({},(0,m.cloneDeep)(rr)),{},{frameEmpty:!0})})}}return ga(Lr,lr)},Mr=function(Ln){var da,Rr=Ln.labelId,Yn=Ln.rect,lr=Ln.keypoints,Nr=Ln.polygon,ia=Ln.maskRle,Vr=Ln.attributes,Lr=Pn.find(function(Jn){return Jn.id===Rr}),ga={labelId:Rr,attributes:Vr||(Lr==null||(da=Lr.attributes)===null||da===void 0?void 0:da.map(function(){return null}))||[]};switch(Lr==null?void 0:Lr.labelType){case B.Ze.Rectangle:{Yn&&(ga.labelValue=(0,Sr.cx)(Yn,An,yt));break}case B.Ze.Polygon:{Nr&&(ga.labelValue=(0,Sr.A_)(Nr,yt,An));break}case B.Ze.Skeleton:{if(lr){var aa=(0,Sr.$G)(lr.points,yt,An),rr=aa.points;ga.labelValue=rr}break}case B.Ze.Mask:{ia&&(ga.labelValue={counts:ia,size:[yt.height,yt.width]});break}}return ga};return{translateAnnotationToObject:In,translateObjectToAnnotation:Un,translateLabelToObject:ir,translateObjectToLabel:Mr,translateObject:Te?Un:Mr,translateToObject:Te?In:ir}},_u=Hu,Yu=e(87478),Fu=function(ye){var Te,An=ye.theme,yt=An===void 0?"dark":An,Pn=ye.isOldMode,Sn=ye.isSeperate,In=ye.visible,Un=ye.categories,ir=ye.list,Mr=ye.current,pr=ye.pagination,Ln=ye.mode,da=ye.enableReviewerModify,Rr=ye.limitToolTypes,Yn=ye.titleElements,lr=ye.actionElements,Nr=ye.layoutOptions,ia=ye.displayOptionsResult,Vr=ye.manualMode,Lr=ye.forceColorByObject,ga=ye.limitActiveObject,aa=ye.limitActiveObjectAfterCreate,rr=ye.customDefaultDrawData,Jn=ye.onPrev,Fr=ye.onNext,Er=ye.onCancel,jr=ye.onSave,Cr=ye.onCommit,Ur=ye.onReviewModify,Yr=ye.onReviewAccept,Gr=ye.onReviewReject,Jr=ye.setCategories,Xr=ye.onAutoSave,K=ye.objectsFilter,F=n.Z.useModal(),ce=s()(F,2),Me=ce[0],ze=ce[1],Qe=(0,M.x)([]),St=s()(Qe,2),At=St[0],Yt=St[1],ln=(0,M.x)((0,m.cloneDeep)(Q.rl)),Hn=s()(ln,2),Dn=Hn[0],qn=Hn[1],Kr=(0,M.x)(t()(t()({},(0,m.cloneDeep)(Q.f7)),rr)),na=s()(Kr,2),Or=na[0],ba=na[1],Pa=(0,g.useRef)(null),Za=(0,g.useRef)(null),to=(0,g.useRef)(null),Ra=(0,g.useMemo)(function(){return ir[Mr]},[ir,Mr]),Aa=Ra,Ho=yi({categories:Un,editState:Dn,forceColorByObject:Lr}),Ba=Ho.getAnnotColor,ka=Ho.labelColors,no=ni({visible:In,drawData:Or,allowMove:Dn.allowMove,isRequiring:Dn.isRequiring,minPadding:(Nr==null?void 0:Nr.minPadding)||{top:30,left:80},cursorSize:Or.brushSize,hideReferenceLine:!!(Nr!=null&&Nr.hideReferenceLine)}),ci=no.scale,ti=no.naturalSize,mo=no.clientSize,_o=no.containerMouse,uo=no.contentMouse,vo=no.imagePos,Qi=no.onLoadImg,Ai=no.onZoomIn,$i=no.onZoomOut,Ga=no.onReset,Ri=no.CanvasContainer,Oa=no.isMousePress,ko=_u({isOldMode:Pn,clientSize:mo,naturalSize:ti,categories:Un,getAnnotColor:Ba}),Ci=ko.translateObject,Ti=ko.translateToObject,ns=ri({clientSize:mo,naturalSize:ti,setDrawData:ba,onAutoSave:Xr,translateObject:Ci}),Cs=ns.undo,Cl=ns.redo,Xi=ns.clearHistory,ru=ns.flagSaved,Vu=ns.hadChangeRecord,zc=ns.updateHistory,rs=ns.setDrawDataWithHistory,ms=bo({setDrawDataWithHistory:rs,categories:Un}),zi=ms.judgeEditingAttribute,ds=ms.onConfirmAttibuteEdit,Tl=ms.onCancelAttibuteEdit,xs=ja({annotations:At,setAnnotations:Yt,drawData:Or,setDrawData:ba,setDrawDataWithHistory:rs,setEditState:qn,mode:Ln,translateToObject:Ti,judgeEditingAttribute:zi,limitActiveObjectAfterCreate:aa,updateHistory:zc}),Wl=xs.addObject,Vs=xs.removeObject,Cu=xs.removeAllObjects,Hl=xs.initObjectList,yd=xs.updateAllObject,Xc=xs.updateObject,Fc=xs.updateObjectWithoutHistory,dd=xs.updateAllObjectWithoutHistory,xu=xs.commitedObjects,sc=xs.currObject,fu=oi({isOldMode:Pn,mode:Ln,categories:Un,setCategories:Jr,drawData:Or,setDrawData:ba,editState:Dn,updateObjectWithoutHistory:Fc,updateAllObjectWithoutHistory:dd}),Bc=fu.labelOptions,_l=fu.classificationOptions,Oi=fu.aiLabels,Ps=fu.setAiLabels,Is=fu.onChangeObjectHidden,Gs=fu.onChangeCategoryHidden,au=fu.onChangeActiveClass,wc=fu.onCreateCategory,zs=fu.onChangePointVisible,$c=Xa({currImageItem:Aa,drawData:Or,setDrawData:ba,setDrawDataWithHistory:rs,editState:Dn,setEditState:qn,naturalSize:ti,clientSize:mo,getAnnotColor:Ba}),Gu=$c.onAiAnnotation,Ku=oa({mode:Ln,currImageItem:Aa,modal:Me,drawData:Or,editState:Dn,setEditState:qn,hadChangeRecord:Vu,categories:Un,translateObject:Ci,flagSaved:ru,onCancel:Er,onSave:jr,onCommit:Cr,onReviewModify:Ur,onReviewAccept:Yr,onReviewReject:Gr,classificationOptions:_l}),Zc=Ku.onSaveAnnotations,jc=Ku.onCommitAnnotations,Ll=Ku.onCancelAnnotations,Jc=Ku.onRejectAnnotations,pc=Ku.onAcceptAnnotations,Qu=Ku.onModifyAnnotations,Uc=zo({topCanvas:Za.current,editState:Dn,drawData:Or}),qc=Uc.updateMouseCursor,is=wa({mode:Ln,manualMode:!!Vr,drawData:Or,setDrawData:ba,setDrawDataWithHistory:rs,setAiLabels:Ps,editState:Dn,setEditState:qn,getAnnotColor:Ba,clientSize:mo,naturalSize:ti,addObject:Wl,updateObject:Xc,updateAllObject:yd,onAiAnnotation:Gu}),ed=is.onChangeObjectLabel,lc=is.onFinishCurrCreate,td=is.onAcceptValidObjects,kc=is.onAbortBatchObjects,Yl=is.selectTool,nd=is.selectSubTool,rd=is.forceChangeTool,Nl=is.onExitAIAnnotation,Xu=is.setBrushSize,ou=is.activeAIAnnotation,ad=is.onChangeSkeletonConf,bd=is.onChangeLimitConf,Rl=is.onChangeAnnotsDisplayOpts,od=is.onChangeImageDisplayOpts,fd=is.onChangeColorMode,vd=is.onChangePointResolution,Md=is.onSelectModel,Ju=Wn({drawData:Or,onChangePointResolution:vd}),Sd=Ju.showSubTools,gd=Ju.currSubTools,hc=(0,Yu.Vr)({imgRef:to,editState:Dn,clientSize:mo,naturalSize:ti,contentMouse:uo,imagePos:vo,containerMouse:_o,canvasRef:Pa,activeCanvasRef:Za,setEditState:qn,drawData:Or,setDrawData:ba,setDrawDataWithHistory:rs,updateHistory:zc,updateObject:Xc,addObject:Wl,updateMouseCursor:qc,aiLabels:Oi,onAiAnnotation:Gu,getAnnotColor:Ba,categories:Un,displayOptionsResult:ia}),id=hc.objectHooksMap,uc=hi({visible:In,drawData:Or,editState:Dn,clientSize:mo,imagePos:vo,containerMouse:_o,canvasRef:Pa,activeCanvasRef:Za,imgRef:to,objectHooksMap:id}),sd=uc.updateRender,Ed=uc.renderPopoverMenu,Wc=Zr({visible:In,mode:Ln,drawData:Or,setDrawData:ba,editState:Dn,setEditState:qn,clientSize:mo,contentMouse:uo,categories:Un,updateRender:sd,updateMouseCursor:qc,objectHooksMap:id,imagePos:vo,containerMouse:_o,getAnnotColor:Ba,limitActiveObject:ga}),ld=Wc.selectFocusObject,Rd=Wc.forceChangeFocusObject,zd=Wc.mouseRightObjectsDropDownRender;Na({visible:In,mode:Ln,drawData:Or,categories:Un,isMousePress:Oa,setDrawData:ba,setEditState:qn,onSaveAnnotations:Zc,onAcceptAnnotations:pc,onRejectAnnotations:Jc,onChangeObjectHidden:Is,onChangeCategoryHidden:Gs,removeObject:Vs,addObject:Wl});var Cd=oo({imagePos:vo,clientSize:mo,naturalSize:ti,annotations:At,setAnnotations:Yt,drawData:Or,setDrawData:ba,editState:Dn,setEditState:qn,initObjectList:Hl,updateRender:sd,clearHistory:Xi,objectsFilter:K,labelOptions:Bc,customDefaultDrawData:rr}),xd=Cd.resetDataWithImageData;(0,g.useEffect)(function(){return document.body.style.overflow=In?"hidden":"overlay",function(){document.body.style.overflow="overlay"}},[In]),(0,g.useEffect)(function(){xd(Aa,In)},[In,Ln,Mr,Aa==null?void 0:Aa.id,K]),(0,g.useEffect)(function(){fd()},[Dn.annotsDisplayOptions.colorByCategory]);var yc=(0,g.useMemo)(function(){if(Ra!=null&&Ra.name)return Ra==null?void 0:Ra.name;if(Ra!=null&&Ra.url&&(Ra==null?void 0:Ra.url.indexOf("http"))===0){var Ji=decodeURIComponent(Ra==null?void 0:Ra.url);return Ji.replace(/\?.*$/,"").split("/").pop()||""}return""},[Ra]),Fd=pr&&pr.show?(0,C.jsx)(la,{list:ir,current:Mr,total:pr.total,customText:pr.customText,customDisableNext:pr.customDisableNext,onPrev:Jn,onNext:Fr}):null,Pc=Cc({isOldMode:Pn,isSeperate:Sn,mode:Ln,hideTopBarActions:Nr==null?void 0:Nr.hideTopBarActions,fileName:yc,drawData:Or,editState:Dn,titleElements:Yn,actionElements:lr,enableReviewerModify:da,labelOptions:Bc,showSubTools:Sd,currSubTools:gd,topBarCenterElement:Fd,labelColors:ka,selectSubTool:nd,setBrushSize:Xu,activeAIAnnotation:ou,onChangeImageDisplayOpts:od,onChangeAnnotsDisplayOpts:Rl,onChangeObjectLabel:ed,onCreateCategory:wc,onSaveAnnotations:Zc,onCommitAnnotations:jc,onRejectAnnotations:Jc,onAcceptAnnotations:pc,onModifyAnnotations:Qu,onCancelAnnotations:Ll,onSelectModel:Md}),ud=Pc.topToolsBar;return In?(0,C.jsxs)("div",{className:c()("dds-annotator","dds-annotator-editor","dds-annotator-editor-".concat(yt)),style:{height:(Nr==null?void 0:Nr.wrapHeight)||"100vh"},children:[!(Nr!=null&&Nr.hideTopBar)&&ud,(0,C.jsxs)("div",{className:"editor-container",style:{top:Nr!=null&&Nr.hideTopBar?"0":""},children:[!(Nr!=null&&Nr.hideMainToolBar)&&(0,C.jsx)(Br,{onlySupportZoom:Ln!==Q.je.Edit,selectedTool:Or.selectedTool,manualMode:!!Vr,limitToolTypes:Rr,isAIAnnotationActive:Or.AIAnnotation,onChangeSelectedTool:Yl,onActiveAIAnnotation:ou,hideUndoRedoActions:Nr==null?void 0:Nr.hideUndoRedoActions,undo:Cs,redo:Cl,deleteAll:Cu,scale:ci,onZoomIn:Ai,onZoomOut:$i,onZoomReset:Ga}),(0,C.jsxs)("div",{className:"center-content",children:[Aa&&(0,C.jsx)(d.Z,{dropdownRender:zd,trigger:["contextMenu"],open:Dn.foucsObjectAllIndexs.length>0,children:Ri({className:"edit-wrap",children:(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(he,{url:Aa==null?void 0:Aa.url,imgRef:to,canvasRef:Pa,activeCanvasRef:Za,clientSize:mo,imagePos:vo,onLoad:function(Hc){sd(),Qi(Hc)}}),Ed()]})})}),(0,C.jsx)(pt,{mode:Ln,isAiAnnotation:Or.AIAnnotation,latestLabelId:Dn.latestLabelId,currObject:sc,onFinishCurrCreate:lc}),(0,C.jsx)(En,{mode:Ln,isAiAnnotation:Or.AIAnnotation,currObject:sc,currObjectIndex:Or.activeObjectIndex,focusObjectIndex:Dn.focusObjectIndex,focusEleType:Dn.focusEleType,focusEleIndex:Dn.focusEleIndex,onChangePointVisible:zs,setEditState:qn}),(0,C.jsx)(Ie,{selectedTool:Or.selectedTool,selectedSubTool:Or.selectedSubTool,selectedModel:Or.selectedModel[Or.selectedTool],isBatchEditing:Or.isBatchEditing,AIAnnotation:Or.AIAnnotation,hasPolygonPreds:!!((Te=Or.creatingObject)!==null&&Te!==void 0&&Te.polygon),isCtrlPressed:Dn.isCtrlPressed,limitConf:Or.limitConf,aiLabels:Oi,naturalSize:ti,setAiLabels:Ps,forceChangeTool:rd,onAiAnnotation:Gu,onExitAIAnnotation:Nl,onChangeConfidenceRange:ad,onChangeLimitConf:bd,onAcceptValidObjects:td,onCancelBatchEdit:kc}),(0,C.jsx)(ie,{AIAnnotation:Or.AIAnnotation,modelOptions:B.Xn[Or.selectedTool],selectedModel:Or.selectedModel[Or.selectedTool],onSelectModel:Md,onCloseModal:function(){return ba(function(Hc){Hc.AIAnnotation=!1})}}),Or.editingAttribute&&(0,C.jsx)(Y,{data:Or.editingAttribute,supportEdit:Ln===Q.je.Edit,onConfirmAttibuteEdit:ds,onCancelAttibuteEdit:Tl})]}),!(Nr!=null&&Nr.hideRightList)&&(0,C.jsxs)("div",{className:"right-slider",children:[_l.length>0&&(0,C.jsx)(Je,{className:"classifications",supportEdit:Ln===Q.je.Edit,classificationOptions:_l,values:Or.classifications,setDrawDataWithHistory:rs}),(0,C.jsx)(Ye,{supportEdit:Ln===Q.je.Edit,className:"object-list",objects:xu,categories:Un,activeObjectIndex:Or.activeObjectIndex,activeClassName:Or.activeClassName,onFocusObject:Rd,onActiveObject:ld,onChangeObjectHidden:Is,onChangeCategoryHidden:Gs,onDeleteObject:Vs,onChangeActiveClassName:au,setDrawDataWithHistory:rs,colorByCategory:Dn.annotsDisplayOptions.colorByCategory,onChangeAnnotsDisplayOpts:Rl})]})]}),(0,C.jsx)("div",{onMouseDown:function(Hc){Hc.stopPropagation()},children:ze})]}):null},_i=Fu,So=e(16962),gs=e.n(So),vc=Object.defineProperty,du=Object.getOwnPropertySymbols,ic=Object.prototype.hasOwnProperty,Qc=Object.prototype.propertyIsEnumerable,Rs=(Ze,ye,Te)=>ye in Ze?vc(Ze,ye,{enumerable:!0,configurable:!0,writable:!0,value:Te}):Ze[ye]=Te,il=(Ze,ye)=>{for(var Te in ye||(ye={}))ic.call(ye,Te)&&Rs(Ze,Te,ye[Te]);if(du)for(var Te of du(ye))Qc.call(ye,Te)&&Rs(Ze,Te,ye[Te]);return Ze};const xc=Ze=>g.createElement("svg",il({width:16,height:16,fill:"none",xmlns:"http://www.w3.org/2000/svg"},Ze),g.createElement("path",{d:"m8.379 7.648-4.56-5.825a.283.283 0 0 0-.224-.11h-1.38a.142.142 0 0 0-.113.231L6.842 8l-4.74 6.055a.143.143 0 0 0 .112.23h1.38a.289.289 0 0 0 .226-.109l4.559-5.823a.571.571 0 0 0 0-.705Zm5.428 0L9.248 1.823a.283.283 0 0 0-.225-.11h-1.38a.142.142 0 0 0-.112.231L12.27 8l-4.74 6.055a.143.143 0 0 0 .113.23h1.38a.289.289 0 0 0 .225-.109l4.56-5.823a.571.571 0 0 0 0-.705Z",fill:"#fff",opacity:.85}));var gc="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTguMzc5IDcuNjQ4LTQuNTYtNS44MjVhLjI4My4yODMgMCAwIDAtLjIyNC0uMTFoLTEuMzhhLjE0Mi4xNDIgMCAwIDAtLjExMy4yMzFMNi44NDIgOGwtNC43NCA2LjA1NWEuMTQzLjE0MyAwIDAgMCAuMTEyLjIzaDEuMzhhLjI4OS4yODkgMCAwIDAgLjIyNi0uMTA5bDQuNTU5LTUuODIzYS41NzEuNTcxIDAgMCAwIDAtLjcwNVptNS40MjggMEw5LjI0OCAxLjgyM2EuMjgzLjI4MyAwIDAgMC0uMjI1LS4xMWgtMS4zOGEuMTQyLjE0MiAwIDAgMC0uMTEyLjIzMUwxMi4yNyA4bC00Ljc0IDYuMDU1YS4xNDMuMTQzIDAgMCAwIC4xMTMuMjNoMS4zOGEuMjg5LjI4OSAwIDAgMCAuMjI1LS4xMDlsNC41Ni01LjgyM2EuNTcxLjU3MSAwIDAgMCAwLS43MDVaIiBmaWxsPSIjZmZmIiBvcGFjaXR5PSIuODUiLz48L3N2Zz4=",Sl=Object.defineProperty,El=Object.getOwnPropertySymbols,Bu=Object.prototype.hasOwnProperty,sl=Object.prototype.propertyIsEnumerable,Pl=(Ze,ye,Te)=>ye in Ze?Sl(Ze,ye,{enumerable:!0,configurable:!0,writable:!0,value:Te}):Ze[ye]=Te,Ic=(Ze,ye)=>{for(var Te in ye||(ye={}))Bu.call(ye,Te)&&Pl(Ze,Te,ye[Te]);if(El)for(var Te of El(ye))sl.call(ye,Te)&&Pl(Ze,Te,ye[Te]);return Ze};const Nc=Ze=>g.createElement("svg",Ic({viewBox:"0 0 14 14",fill:"#595959",xmlns:"http://www.w3.org/2000/svg"},Ze),g.createElement("path",{d:"M6.887 9.657a.143.143 0 0 0 .225 0l2-2.53A.142.142 0 0 0 9 6.897H7.677V.854A.143.143 0 0 0 7.534.71H6.462a.143.143 0 0 0-.143.143v6.041H5a.142.142 0 0 0-.112.23l2 2.532Zm6.649-.625h-1.072a.143.143 0 0 0-.143.143v2.75H1.678v-2.75a.143.143 0 0 0-.142-.143H.464a.143.143 0 0 0-.143.143v3.536a.57.57 0 0 0 .572.572h12.214a.57.57 0 0 0 .571-.572V9.175a.143.143 0 0 0-.142-.143Z"}));var Ac="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTQgMTQiIGZpbGw9IiM1OTU5NTkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTYuODg3IDkuNjU3YS4xNDMuMTQzIDAgMCAwIC4yMjUgMGwyLTIuNTNBLjE0Mi4xNDIgMCAwIDAgOSA2Ljg5N0g3LjY3N1YuODU0QS4xNDMuMTQzIDAgMCAwIDcuNTM0LjcxSDYuNDYyYS4xNDMuMTQzIDAgMCAwLS4xNDMuMTQzdjYuMDQxSDVhLjE0Mi4xNDIgMCAwIDAtLjExMi4yM2wyIDIuNTMyWm02LjY0OS0uNjI1aC0xLjA3MmEuMTQzLjE0MyAwIDAgMC0uMTQzLjE0M3YyLjc1SDEuNjc4di0yLjc1YS4xNDMuMTQzIDAgMCAwLS4xNDItLjE0M0guNDY0YS4xNDMuMTQzIDAgMCAwLS4xNDMuMTQzdjMuNTM2YS41Ny41NyAwIDAgMCAuNTcyLjU3MmgxMi4yMTRhLjU3LjU3IDAgMCAwIC41NzEtLjU3MlY5LjE3NWEuMTQzLjE0MyAwIDAgMC0uMTQyLS4xNDNaIi8+PC9zdmc+",Rc=function(ye){var Te,An,yt=ye.isOldMode,Pn=ye.visible,Sn=ye.categories,In=ye.list,Un=ye.current,ir=ye.onPrev,Mr=ye.onNext,pr=ye.onCancel,Ln=ye.objectsFilter,da=ye.displayOptionsResult,Rr=(0,M.x)([]),Yn=s()(Rr,2),lr=Yn[0],Nr=Yn[1],ia=(0,M.x)((0,m.cloneDeep)(Q.rl)),Vr=s()(ia,2),Lr=Vr[0],ga=Vr[1],aa=(0,M.x)((0,m.cloneDeep)(Q.f7)),rr=s()(aa,2),Jn=rr[0],Fr=rr[1],Er=(0,g.useRef)(null),jr=(0,g.useRef)(null),Cr=(0,g.useRef)(null),Ur=ni({visible:Pn,drawData:Jn,allowMove:Lr.allowMove,isRequiring:Lr.isRequiring,minPadding:{top:120,left:300},cursorSize:Jn.brushSize,onClickMaskBg:pr}),Yr=Ur.scale,Gr=Ur.naturalSize,Jr=Ur.clientSize,Xr=Ur.containerMouse,K=Ur.contentMouse,F=Ur.imagePos,ce=Ur.onLoadImg,Me=Ur.onZoomIn,ze=Ur.onZoomOut,Qe=Ur.CanvasContainer,St=yi({categories:Sn,editState:Lr}),At=St.getAnnotColor,Yt=zo({topCanvas:jr.current,editState:Lr,drawData:Jn}),ln=Yt.updateMouseCursor,Hn=_u({isOldMode:yt,clientSize:Jr,naturalSize:Gr,categories:Sn,getAnnotColor:At}),Dn=Hn.translateToObject,qn=ri({clientSize:Jr,naturalSize:Gr,setDrawData:Fr}),Kr=qn.clearHistory,na=qn.updateHistory,Or=qn.setDrawDataWithHistory,ba=ja({annotations:lr,setAnnotations:Nr,drawData:Jn,setDrawData:Fr,setDrawDataWithHistory:Or,setEditState:ga,mode:Q.je.View,translateToObject:Dn,updateHistory:na}),Pa=ba.addObject,Za=ba.initObjectList,to=ba.updateObject,Ra=(0,Yu.Vr)({imgRef:Cr,editState:Lr,clientSize:Jr,naturalSize:Gr,contentMouse:K,imagePos:F,containerMouse:Xr,canvasRef:Er,activeCanvasRef:jr,setEditState:ga,drawData:Jn,setDrawData:Fr,setDrawDataWithHistory:Or,updateHistory:na,updateObject:to,addObject:Pa,updateMouseCursor:ln,displayOptionsResult:da,getAnnotColor:At,categories:Sn}),Aa=Ra.objectHooksMap,Ho=hi({visible:Pn,drawData:Jn,editState:Lr,clientSize:Jr,imagePos:F,containerMouse:Xr,canvasRef:Er,activeCanvasRef:jr,imgRef:Cr,objectHooksMap:Aa}),Ba=Ho.updateRender;Zr({visible:Pn,mode:Q.je.View,drawData:Jn,setDrawData:Fr,editState:Lr,setEditState:ga,clientSize:Jr,contentMouse:K,categories:Sn,updateRender:Ba,updateMouseCursor:ln,objectHooksMap:Aa,imagePos:F,containerMouse:Xr,getAnnotColor:At,limitActiveObject:!0}),(0,g.useEffect)(function(){document.body.style.overflow=Pn?"hidden":"overlay"},[Pn]);var ka=oo({imagePos:F,clientSize:Jr,naturalSize:Gr,annotations:lr,setAnnotations:Nr,drawData:Jn,setDrawData:Fr,editState:Lr,setEditState:ga,initObjectList:Za,updateRender:Ba,clearHistory:Kr,objectsFilter:Ln,labelOptions:Sn}),no=ka.resetDataWithImageData;(0,g.useEffect)(function(){no(In[Un],Pn)},[Pn,In[Un],Ln]),(0,g.useEffect)(function(){Ba()},[da]);var ci=(0,g.useState)(!0),ti=s()(ci,2),mo=ti[0],_o=ti[1],uo=(0,g.useCallback)(function(){_o(function($i){return!$i})},[]),vo=function(){var $i=Tn()(dn()().mark(function Ga(Ri){var Oa,ko;return dn()().wrap(function(Ti){for(;;)switch(Ti.prev=Ti.next){case 0:return Ri.preventDefault(),Ri.stopPropagation(),Oa=S.ZP.loading("Creating image...",6e4),ko=function(){return new Promise(function(Cs,Cl){setTimeout(function(){try{if(!Er.current)return;var Xi=Er.current.toDataURL(),ru=document.createElement("a");ru.setAttribute("download","".concat(In[Un].id,".png")),ru.setAttribute("href",Xi),ru.click(),Oa(),Cs(null)}catch(Vu){Cl(Vu)}},500)})},Ti.prev=4,ga(function(ns){ns.focusObjectIndex=-1}),Ba(),Ti.next=9,ko();case 9:Ti.next=16;break;case 11:Ti.prev=11,Ti.t0=Ti.catch(4),console.error(Ti.t0),Oa(),S.ZP.error("Create image fail, please try again");case 16:case"end":return Ti.stop()}},Ga,null,[[4,11]])}));return function(Ri){return $i.apply(this,arguments)}}();(0,Oe.Z)(Le[Mt.PreviousImage].shortcut,function(){Pn&&(ir==null||ir())},{exactMatch:!0}),(0,Oe.Z)(Le[Mt.NextImage].shortcut,function(){Pn&&(Mr==null||Mr())},{exactMatch:!0});var Qi=function(){var Ga;if(Lr.focusObjectIndex>-1&&Jn.objectList[Lr.focusObjectIndex]&&!((Ga=Jn.objectList[Lr.focusObjectIndex])!==null&&Ga!==void 0&&Ga.hidden)&&Lr.focusEleIndex>-1&&Lr.focusEleType===B.Yq.Circle){var Ri,Oa,ko,Ci=(Ri=Jn.objectList[Lr.focusObjectIndex])===null||Ri===void 0||(Oa=Ri.keypoints)===null||Oa===void 0||(ko=Oa.points)===null||ko===void 0?void 0:ko[Lr.focusEleIndex];if(Ci)return(0,C.jsx)(Mi,{index:Lr.focusEleIndex,targetElement:Ci,imagePos:F.current})}return(0,C.jsx)(C.Fragment,{})};if(!Pn)return(0,C.jsx)(C.Fragment,{});var Ai=(0,m.isEmpty)((Te=In[Un])===null||Te===void 0?void 0:Te.metadata)?void 0:In[Un].metadata;return(0,C.jsxs)("div",{className:"dds-annotator dds-annotator-preview",children:[(0,C.jsx)(Ki,{className:"top-tools",leftTools:[{icon:(0,C.jsx)(Jt.Z,{}),onClick:Me,disabled:Yr>=B.Fv},{icon:(0,C.jsx)(rn.Z,{}),onClick:ze,disabled:Yr<=B.vL},{icon:(0,C.jsx)(Nc,{}),onClick:vo}],rightTools:[{icon:(0,C.jsx)(h.Z,{}),onClick:pr}],children:"".concat(Un+1," / ").concat(In.length)}),Qe({className:"edit-wrap",children:(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(he,{url:(An=In[Un])===null||An===void 0?void 0:An.url,imgRef:Cr,canvasRef:Er,activeCanvasRef:jr,clientSize:Jr,imagePos:F,onLoad:ce}),Qi()]})}),(0,C.jsx)("div",{className:c()("switch","switch-left",{"switch-disable":Un===0}),onClick:ir,children:(0,C.jsx)(yr.Z,{})}),(0,C.jsx)("div",{className:c()("switch","switch-right",{"switch-disable":Un===In.length-1}),onClick:Mr,children:(0,C.jsx)(Wr.Z,{})}),mo&&Ai&&(0,C.jsxs)("div",{className:"info-wrap",children:[(0,C.jsx)("div",{className:"info-box",children:Object.keys(Ai).map(function($i){return(0,C.jsxs)("div",{className:"item",children:[$i,(0,C.jsx)("br",{}),gs()(Ai[$i])==="object"?JSON.stringify(Ai[$i]):Ai[$i]]},$i)})}),(0,C.jsx)("div",{className:"bottom-mask"}),(0,C.jsx)("div",{className:"hide-info-btn",onClick:uo,children:(0,C.jsx)(xc,{})})]}),!mo&&(0,C.jsx)("div",{className:"show-info-btn",onClick:uo,children:(0,C.jsx)(xc,{})})]})},Oc=Rc,mc=function(ye){var Te=ye.isOldMode,An=ye.categories,yt=ye.data,Pn=ye.currentSize,Sn=ye.wrapWidth,In=ye.wrapHeight,Un=ye.minHeight,ir=ye.objectsFilter,Mr=ye.displayOptionsResult,pr=(0,M.x)([]),Ln=s()(pr,2),da=Ln[0],Rr=Ln[1],Yn=(0,M.x)((0,m.cloneDeep)(Q.rl)),lr=s()(Yn,2),Nr=lr[0],ia=lr[1],Vr=(0,M.x)((0,m.cloneDeep)(Q.f7)),Lr=s()(Vr,2),ga=Lr[0],aa=Lr[1],rr=(0,g.useRef)(null),Jn=(0,g.useRef)(null),Fr=(0,g.useRef)(null),Er=(0,g.useRef)({x:0,y:0}),jr=(0,g.useState)({width:0,height:Un||0}),Cr=s()(jr,2),Ur=Cr[0],Yr=Cr[1],Gr=(0,g.useMemo)(function(){if(Pn)return Pn;if(!Ur.width)return{width:Sn||0,height:In||Un||0};var Ba=(0,Sr.t9)(Ur.width,Ur.height,Sn,In),ka=s()(Ba,2),no=ka[0],ci=ka[1];return{width:no,height:ci}},[Sn,In,Un,Ur,Pn]),Jr=(0,g.useMemo)(function(){var Ba={screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,elementX:0,elementY:0,elementPosX:0,elementPosY:0,elementW:Gr.width,elementH:Gr.height};return[Ba,Ba]},[Gr]),Xr=s()(Jr,2),K=Xr[0],F=Xr[1],ce=yi({categories:An,editState:Nr}),Me=ce.getAnnotColor,ze=_u({isOldMode:Te,clientSize:Gr,naturalSize:Ur,categories:An,getAnnotColor:Me}),Qe=ze.translateToObject,St=ri({clientSize:Gr,naturalSize:Ur,setDrawData:aa}),At=St.clearHistory,Yt=St.updateHistory,ln=St.setDrawDataWithHistory,Hn=ja({annotations:da,setAnnotations:Rr,drawData:ga,setDrawData:aa,setDrawDataWithHistory:ln,setEditState:ia,mode:Q.je.View,translateToObject:Qe,updateHistory:Yt}),Dn=Hn.addObject,qn=Hn.initObjectList,Kr=Hn.updateObject,na=zo({topCanvas:Jn.current,editState:Nr,drawData:ga}),Or=na.updateMouseCursor,ba=(0,Yu.Vr)({imgRef:Fr,editState:Nr,clientSize:Gr,naturalSize:Ur,contentMouse:K,containerMouse:F,imagePos:Er,canvasRef:rr,activeCanvasRef:Jn,setEditState:ia,drawData:ga,setDrawData:aa,setDrawDataWithHistory:ln,updateHistory:Yt,updateObject:Kr,addObject:Dn,updateMouseCursor:Or,displayOptionsResult:Mr,getAnnotColor:Me,categories:An}),Pa=ba.objectHooksMap,Za=hi({visible:!0,drawData:ga,editState:Nr,clientSize:Gr,imagePos:Er,containerMouse:F,canvasRef:rr,activeCanvasRef:Jn,imgRef:Fr,objectHooksMap:Pa}),to=Za.updateRender,Ra=oo({imagePos:Er,clientSize:Gr,naturalSize:Ur,annotations:da,setAnnotations:Rr,drawData:ga,setDrawData:aa,editState:Nr,setEditState:ia,initObjectList:qn,updateRender:to,clearHistory:At,objectsFilter:ir,labelOptions:An}),Aa=Ra.resetDataWithImageData;(0,g.useEffect)(function(){Aa(yt,!0)},[yt,ir]),(0,g.useEffect)(function(){to()},[Mr]);var Ho=function(ka){var no=ka.target,ci={width:no.naturalWidth,height:no.naturalHeight};Yr(ci)};return(0,C.jsx)("div",{className:"dds-annotator-view",children:(0,C.jsx)(he,{url:yt==null?void 0:yt.url,imgRef:Fr,canvasRef:rr,activeCanvasRef:Jn,clientSize:Gr,imagePos:Er,onLoad:Ho})})},Dc=mc},87478:function(b,y,e){"use strict";e.d(y,{$N:function(){return X},hF:function(){return Q},G9:function(){return C},_G:function(){return O},Vr:function(){return se}});var a=e(63900),t=e.n(a),o=e(2657),s=e.n(o),n=e(17410),d=e(46134),l=e(81179),c=e(67761),m=function(k){var A=k.imgRef,Y=k.imagePos,de=k.canvasRef,me=k.clientSize,ve=k.displayOptionsResult,be=function(Ke){if(!(!Ke||!de.current||!A.current)){var he=ve||{},J=he.showMattingColorFill,V=de.current.getContext("2d"),R=t()({x:Y.current.x,y:Y.current.y},me);(0,l.UN)(de.current),(0,l.AE)(de.current,Ke,R),J?(V.globalCompositeOperation="source-out",(0,l.CR)(de.current,R,"#000"),V.globalCompositeOperation="destination-atop",(0,l.CR)(de.current,R,"#fff")):(V.globalCompositeOperation="source-in",(0,l.AE)(de.current,A.current,R),V.globalCompositeOperation="destination-over",(0,l.CR)(de.current,R,"#fff"))}},Pe=function(Ke){var he=Ke.object,J=he.alphaImageElement;J&&(be(J),J.onload=function(){be(J)})},Je=function(){},qe=function(){},Xe=function(){},mt=function(){return!1},Ct=function(){return!1},vt=function(){return!1},Ht=function(){return!1},ke=function(){return!1},Ve=function(){return!1};return{renderObject:Pe,renderCreatingObject:Je,renderEditingObject:qe,renderPrompt:Xe,startEditingWhenMouseDown:mt,startCreatingWhenMouseDown:Ct,updateEditingWhenMouseMove:vt,updateCreatingWhenMouseMove:Ht,finishEditingWhenMouseUp:ke,finishCreatingWhenMouseUp:Ve}},g=m,M=function(k){var A=k.canvasRef,Y=function(vt){var Ht=vt.object,ke=vt.styles,Ve=Ht.point;if(Ve&&Ve.visible){var ot=Ve.x,Ke=Ve.y,he=ke.strokeColor,J=ke.fillColor;(0,l.G5)(A.current,{x:ot,y:Ke},4,J,2,he)}},de=function(){},me=function(){},ve=function(){},be=function(){return!1},Pe=function(){return!1},Je=function(){return!1},qe=function(){return!1},Xe=function(){return!1},mt=function(){return!1};return{renderObject:Y,renderCreatingObject:de,renderEditingObject:me,renderPrompt:ve,startEditingWhenMouseDown:be,startCreatingWhenMouseDown:Pe,updateEditingWhenMouseMove:Je,updateCreatingWhenMouseMove:qe,finishEditingWhenMouseUp:Xe,finishCreatingWhenMouseUp:mt}},h=M,S=e(34485),w=e.n(S),x=e(39378),z=e(34095),U=e(50910),T=e(14464),N=function(k){var A=k.editState,Y=k.clientSize,de=k.naturalSize,me=k.imagePos,ve=k.containerMouse,be=k.canvasRef,Pe=k.activeCanvasRef,Je=k.contentMouse,qe=k.setEditState,Xe=k.drawData,mt=k.setDrawData,Ct=k.setDrawDataWithHistory,vt=k.updateHistory,Ht=k.updateMouseCursor,ke=k.updateObject,Ve=k.addObject,ot=k.onAiAnnotation,Ke=k.displayOptionsResult,he=function(q){var ue=q.object,Ee=q.color,le=q.styles,Ne=q.isFocus,Ae=ue.polygon;if(Ae&&Ae.visible){var we=Ne?le.fillColor:(0,T.a7)(Ee,z.mh.SHAPE),Re=le.thickness;Ke&&(!Ke.showSegFilling&&!Ne&&(we="transparent"),Ke.showSegContour||(Re=0)),Ae==null||Ae.group.forEach(function(st){(0,l.fb)(be.current,st,we,le.strokeColor,Re,le.strokeDash)})}},J=function(q){var ue=q.object,Ee=q.styles,le=ue.currIndex,Ne=(0,d.lT)(ue,{x:-me.current.x,y:-me.current.y}),Ae=Ne.polygon;Ae&&Ae.visible&&Ae.group.forEach(function(we,Re){le===Re?we.forEach(function(st,nt){(0,l.G5)(Pe.current,st,nt===0?6:4,Ee.strokeColor,3,"#1f4dd8"),we.length>1&&nt-1&&nt>-1){var We=Ae.group[st][nt];We&&(0,l.G5)(Pe.current,We,4,"#fff",5,Ee)}else if(st>-1&&_e>-1){var Be=(0,d.Iw)(Ae.group[st]);if(Be[_e]){var it=Be[_e],Ge=it.start,Ot=it.end,$t=(0,d.Z4)({x:Je.elementX+me.current.x,y:Je.elementY+me.current.y},Ge,Ot);$t&&(0,l.G5)(Pe.current,$t,4,"#fff",5,Ee)}}}},R=function(q){var ue=q.prompt;if(ue.creatingPrompt){var Ee=z.XQ.CREATING,le=z.Bt.CREATING;switch(ue.creatingPrompt.type){case U.Ae.Rect:{var Ne=ue.creatingPrompt.startPoint,Ae=(0,d.A7)(Ne,{x:Je.elementX,y:Je.elementY},{width:Je.elementW,height:Je.elementH}),we=(0,d.ZU)(Ae,{x:-me.current.x,y:-me.current.y});(0,l.Mu)(Pe.current,we,Ee,2,[0],le);break}case U.Ae.Point:{if(!ue.creatingPrompt.point)break;var Re=(0,d.aF)(ue.creatingPrompt.point,{x:-me.current.x,y:-me.current.y});(0,l.G5)(Pe.current,Re,4,ue.creatingPrompt.isPositive?z.lz.POSITIVE:z.lz.NEGATIVE,2,"#fff")}case U.Ae.Stroke:{if(!ue.creatingPrompt.stroke||!ue.creatingPrompt.radius)break;var st=(0,d.U8)(ue.creatingPrompt.stroke,{x:-me.current.x,y:-me.current.y}),nt=ue.creatingPrompt.radius*Y.width/de.width,_e=ue.creatingPrompt.isPositive?z.lz.POSITIVE:z.lz.NEGATIVE;(0,l.AT)(Pe.current,st,_e,nt);break}default:break}if(A.isRequiring&&ue.activeRectWhileLoading){var We=(0,d.ZU)(ue.activeRectWhileLoading,{x:-me.current.x,y:-me.current.y});(0,l.HU)(Pe.current,We)}}ue.promptsQueue&&ue.promptsQueue.forEach(function(Be){if(Be.type===U.Ae.Point){var it=(0,d.aF)(Be.point,{x:-me.current.x,y:-me.current.y});(0,l.G5)(Pe.current,it,4,Be.isPositive?z.lz.POSITIVE:z.lz.NEGATIVE,2,"#fff")}})},P=function(q){var ue={x:Je.elementX,y:Je.elementY};mt(function(Ee){switch(Ee.selectedSubTool){case n.jB.AutoSegmentByBox:Ee.prompt.creatingPrompt={type:U.Ae.Rect,startPoint:ue,isPositive:!0};break;case n.jB.AutoSegmentByClick:Ee.prompt.creatingPrompt={type:U.Ae.Point,startPoint:ue,point:ue,isPositive:Q(q)};break;case n.jB.AutoSegmentByStroke:{Ee.prompt.creatingPrompt={type:U.Ae.Stroke,startPoint:ue,stroke:[ue],radius:Ee.brushSize,isPositive:Q(q)};break}default:}})},B=function(q){var ue=q.object,Ee=q.event;return Xe.AIAnnotation?(P(Ee),!0):(Ee==null?void 0:Ee.button)===2?!1:!!X({object:ue,contentMouse:Je,setEditState:qe,setDrawData:mt})},ge=function(q){var ue=q.event,Ee=q.point,le=q.basic;return mt(function(Ne){if(!Ne.creatingObject||Ne.activeObjectIndex>-1)if(Ne.activeObjectIndex=-1,Ne.AIAnnotation)switch(Ne.selectedSubTool){case n.jB.AutoSegmentByBox:Ne.prompt.creatingPrompt={type:U.Ae.Rect,startPoint:Ee,isPositive:!0};break;case n.jB.AutoSegmentByClick:Ne.prompt.creatingPrompt={type:U.Ae.Point,startPoint:Ee,point:Ee,isPositive:Q(ue)};break;case n.jB.AutoSegmentByStroke:{Ne.prompt.creatingPrompt={type:U.Ae.Stroke,startPoint:Ee,stroke:[Ee],radius:Ne.brushSize,isPositive:Q(ue)};break}}else Ne.creatingObject=t()({type:n.gr.Polygon,polygon:{visible:!0,group:[[Ee]]},currIndex:0},le),vt((0,x.cloneDeep)(Xe));else if(Ne.AIAnnotation)P(ue);else{var Ae=Ne.creatingObject.currIndex,we=Ne.creatingObject.polygon;if(Ae>-1){var Re=we.group[Ae][0];(0,d.uN)(Re,Je)?Ne.creatingObject.currIndex=-1:Ne.creatingObject.polygon&&(we.group[Ae].push(Ee),vt((0,x.cloneDeep)(Ne)))}else we.group.push([Ee]),Ne.creatingObject.currIndex=we.group.length-1,vt((0,x.cloneDeep)(Ne))}}),!0},ie=function(q){var ue=q.event,Ee=Xe.selectedSubTool===n.jB.AutoSegmentByStroke,le=ue.buttons===1||ue.buttons===2;if(Xe.prompt.creatingPrompt&&Ee&&le){var Ne={x:Je.elementX,y:Je.elementY};return mt(function(Ae){var we,Re;(we=Ae.prompt.creatingPrompt)===null||we===void 0||(Re=we.stroke)===null||Re===void 0||Re.push(Ne)}),!0}return!!Xe.creatingObject},pe=function(q){var ue=q.event;if(Xe.AIAnnotation)return Ht("crosshair"),ie({event:ue});var Ee=A.focusEleType,le=A.focusEleIndex,Ne=A.focusObjectIndex,Ae=A.focusPolygonInfo;if(Ne===Xe.activeObjectIndex&&Ee===n.Yq.Polygon&&(Ae.pointIndex>-1?Ht("pointer"):Ae.lineIndex>-1?Ht("crosshair"):Ht("move")),Ee===n.Yq.Polygon&&le===0){var we=A.focusPolygonInfo,Re=we.index,st=we.pointIndex;if(A.startElementMovePoint&&Re>-1)return st>-1?(mt(function(nt){var _e,We;if(nt.activeObjectIndex>-1&&A.focusEleIndex>-1&&A.startElementMovePoint&&(_e=nt.creatingObject)!==null&&_e!==void 0&&(We=_e.polygon)!==null&&We!==void 0&&We.group[Re]){var Be,it,Ge=(Be=nt.creatingObject)===null||Be===void 0||(it=Be.polygon)===null||it===void 0?void 0:it.group[Re];Ge[st]=(0,d.E5)(Je)}}),!0):(mt(function(nt){var _e,We;if(nt.activeObjectIndex>-1&&A.focusEleIndex>-1&&A.startElementMovePoint&&(_e=nt.creatingObject)!==null&&_e!==void 0&&(We=_e.polygon)!==null&&We!==void 0&&We.group[Re]){var Be,it,Ge=(Be=nt.creatingObject)===null||Be===void 0||(it=Be.polygon)===null||it===void 0?void 0:it.group[Re],Ot=(0,d.s5)(Ge,A.startElementMovePoint,Je);nt.creatingObject.polygon.group[Re]=Ot,qe(function($t){$t.startElementMovePoint&&($t.startElementMovePoint.mousePoint={x:Je.elementX,y:Je.elementY})})}}),!0)}return!1},Oe=function(q){var ue=q.event;return ie({event:ue})},xe=function(){if(Xe.prompt.promptsQueue&&Xe.prompt.promptsQueue.length>0)return Xe.prompt.promptsQueue;var q=!Xe.prompt.sessionId&&Xe.creatingObject;if(q){var ue,Ee,le=((ue=Xe.creatingObject)===null||ue===void 0||(Ee=ue.polygon)===null||Ee===void 0?void 0:Ee.group.map(function(Ae){return Ae.reduce(function(we,Re){return we.concat([Re.x,Re.y])},[])}))||[],Ne={type:U.Ae.Modify,isPositive:!0,polygons:le};return[Ne]}else return[]},Se=function(){var q={x:Je.elementX,y:Je.elementY},ue=xe();switch(Xe.selectedSubTool){case n.jB.AutoSegmentByBox:{var Ee,le,Ne;if(!((Ee=Xe.prompt.creatingPrompt)!==null&&Ee!==void 0&&Ee.startPoint))break;if(q.x===((le=Xe.prompt.creatingPrompt.startPoint)===null||le===void 0?void 0:le.x)||q.y===((Ne=Xe.prompt.creatingPrompt.startPoint)===null||Ne===void 0?void 0:Ne.y)){mt(function(Ge){return Ge.prompt.creatingPrompt=void 0});break}var Ae=(0,d.A7)(Xe.prompt.creatingPrompt.startPoint,q,{width:Je.elementW,height:Je.elementH}),we={type:U.Ae.Rect,isPositive:!0,rect:Ae};Ct(function(Ge){Ge.prompt.activeRectWhileLoading=Ae});var Re=[].concat(w()(ue),[we]);ot==null||ot({type:n.gr.Polygon,drawData:Xe,promptsQueue:Re});break}case n.jB.AutoSegmentByClick:{var st;if(!(0,d.jt)(Je)||!(0,d.jt)(ve)||!((st=Xe.prompt.creatingPrompt)!==null&&st!==void 0&&st.point))break;var nt={type:U.Ae.Point,isPositive:Xe.prompt.creatingPrompt.isPositive,point:Xe.prompt.creatingPrompt.point},_e=[].concat(w()(ue),[nt]);ot==null||ot({type:n.gr.Polygon,drawData:Xe,promptsQueue:_e});break}case n.jB.AutoSegmentByStroke:{var We;if(!((We=Xe.prompt.creatingPrompt)!==null&&We!==void 0&&We.stroke))break;var Be={type:U.Ae.Stroke,isPositive:Xe.prompt.creatingPrompt.isPositive,stroke:Xe.prompt.creatingPrompt.stroke,radius:Xe.brushSize},it=[].concat(w()(ue),[Be]);ot==null||ot({type:n.gr.Polygon,drawData:Xe,promptsQueue:it});break}}},$e=function(q){var ue=q.object;if(Xe.AIAnnotation)Se();else{var Ee,le,Ne=A.startRectResizeAnchor||A.startElementMovePoint,Ae=A.startElementMovePoint&&((Ee=A.startElementMovePoint.initPoint)===null||Ee===void 0?void 0:Ee.x)===Je.elementX&&((le=A.startElementMovePoint.initPoint)===null||le===void 0?void 0:le.y)===Je.elementY,we=Ae&&A.focusPolygonInfo.index>-1&&A.focusPolygonInfo.pointIndex>-1;if(we){var Re,st=(0,x.cloneDeep)(ue),nt=A.focusPolygonInfo,_e=nt.index,We=nt.pointIndex,Be=(Re=st.polygon)===null||Re===void 0?void 0:Re.group[_e];Be&&_e>-1&&We>-1&&Be.length>=3&&Be.splice(We,1),ke(st,Xe.activeObjectIndex)}else Ne&&ke(ue,Xe.activeObjectIndex);qe(function(it){it.startRectResizeAnchor=void 0,it.startElementMovePoint=void 0})}return!0},re=function(q){var ue=q.object;if(Xe.AIAnnotation)Se();else if(ue&&ue.currIndex===-1){var Ee=ue.polygon,le=ue.type,Ne=ue.hidden,Ae=ue.labelId,we=ue.status,Re=ue.color,st={polygon:Ee,type:le,hidden:Ne,labelId:Ae,status:we,color:Re};Ve(st)}return!0};return{renderObject:he,renderCreatingObject:J,renderEditingObject:V,renderPrompt:R,startEditingWhenMouseDown:B,startCreatingWhenMouseDown:ge,updateEditingWhenMouseMove:pe,updateCreatingWhenMouseMove:Oe,finishEditingWhenMouseUp:$e,finishCreatingWhenMouseUp:re}},Z=N,D=function(k){var A=k.canvasRef,Y=function(vt){var Ht=vt.object,ke=vt.color,Ve=vt.isFocus,ot=Ht.polyline;if(ot&&ot.visible&&ot.lineType){var Ke=ot.lineType,he=ot.color||ke,J=Ve?(0,T.a7)(he,z.rl.FOCUS):(0,T.a7)(he,z.rl.DEFAULT);ot==null||ot.group.forEach(function(V){(0,l.bT)(A.current,V,J,Ke)})}},de=function(){},me=function(){},ve=function(){},be=function(){return!1},Pe=function(){return!1},Je=function(){return!1},qe=function(){return!1},Xe=function(){return!1},mt=function(){return!1};return{renderObject:Y,renderCreatingObject:de,renderEditingObject:me,renderPrompt:ve,startEditingWhenMouseDown:be,startCreatingWhenMouseDown:Pe,updateEditingWhenMouseMove:Je,updateCreatingWhenMouseMove:qe,finishEditingWhenMouseUp:Xe,finishCreatingWhenMouseUp:mt}},L=D,j=function(k){var A=k.contentMouse,Y=k.imagePos,de=k.canvasRef,me=k.activeCanvasRef,ve=k.editState,be=k.setEditState,Pe=k.drawData,Je=k.setDrawData,qe=k.updateMouseCursor,Xe=k.updateObject,mt=k.addObject,Ct=k.getAnnotColor,vt=k.displayOptionsResult,Ht=k.categories,ke=k.onAiAnnotation,Ve=function(pe){var Oe=pe.object,xe=pe.color,Se=pe.styles,$e=pe.isFocus,re=Oe.rect;if(re&&re.visible){var oe=Se.strokeDash,q=Se.strokeColor,ue=Se.fillColor,Ee=Se.thickness,le=Pe.selectedModel[Pe.selectedTool];if(Pe.isBatchEditing){if(Oe.status===U.TK.Unchecked&&(!ve.isCtrlPressed||le===n.HE.IVP))return;ve.isCtrlPressed&&le===n.HE.Detection&&(Oe.status!==U.TK.Unchecked?(q=(0,T.a7)(xe,.8),oe=[2],Ee=1.5):ue=$e?(0,T.a7)(xe,z.mh.DEFAULT):(0,T.a7)(xe,z.mh.CTRL_TO_SELECT))}if((0,l.Mu)(de.current,re,q,Ee,oe,ue),vt!=null&&vt.showBoxText){var Ne,Ae=((Ne=Ht.find(function(Re){return Re.id===Oe.labelId}))===null||Ne===void 0?void 0:Ne.name)||"",we=Oe!=null&&Oe.conf&&Oe.conf>0&&Oe.conf<1?"".concat(Ae," (").concat(Oe.conf.toFixed(3),")"):Ae;(0,l.yU)(de.current,we||"",13,{x:re.x+6,y:re.y+6},xe,!0,"left")}Pe.isBatchEditing&&ve.isCtrlPressed&&$e&&(0,l.HU)(me.current,re,"#000",.6)}},ot=function(pe){var Oe=pe.object,xe=pe.styles,Se=Oe.startPoint;if(Se){var $e=(0,d.A7)(Se,{x:A.elementX,y:A.elementY},{width:A.elementW,height:A.elementH}),re=(0,d.ZU)($e,{x:-Y.current.x,y:-Y.current.y});(0,l.Mu)(me.current,re,xe.strokeColor,xe.thickness,xe.strokeDash,xe.fillColor)}},Ke=function(pe){var Oe=pe.object,xe=pe.styles,Se=Oe.rect;Se&&Se.visible&&((0,l.Mu)(me.current,Se,xe.strokeColor,xe.thickness,xe.strokeDash,xe.fillColor),C(me.current,Se))},he=function(pe){var Oe=pe.prompt;if(Oe.creatingPrompt){var xe=Oe.creatingPrompt.isPositive?z.CJ.POSITIVE:z.CJ.NEGATIVE,Se=Oe.creatingPrompt.isPositive?z.lz.POSITIVE:z.lz.NEGATIVE;switch(Oe.creatingPrompt.type){case U.Ae.Rect:{var $e=Oe.creatingPrompt.startPoint,re=(0,d.A7)($e,{x:A.elementX,y:A.elementY},{width:A.elementW,height:A.elementH}),oe=(0,d.ZU)(re,{x:-Y.current.x,y:-Y.current.y});(0,l.Mu)(me.current,oe,xe,2,[0],Se);break}case U.Ae.Point:{if(!Oe.creatingPrompt.point)break;var q=(0,d.aF)(Oe.creatingPrompt.point,{x:-Y.current.x,y:-Y.current.y});(0,l.G5)(me.current,q,4,Oe.creatingPrompt.isPositive?z.lz.POSITIVE:z.lz.NEGATIVE,2,"#fff")}default:break}}Oe.promptsQueue&&Oe.promptsQueue.forEach(function(ue){switch(ue.type){case U.Ae.Rect:{var Ee=(0,d.ZU)(ue.rect,{x:-Y.current.x,y:-Y.current.y});(0,l.Mu)(me.current,Ee,ue.isPositive?z.CJ.POSITIVE:z.CJ.NEGATIVE,2,[0],ue.isPositive?z.lz.POSITIVE:z.lz.NEGATIVE);break}case U.Ae.Point:{var le=(0,d.aF)(ue.point,{x:-Y.current.x,y:-Y.current.y});(0,l.G5)(me.current,le,4,ue.isPositive?z.lz.POSITIVE:z.lz.NEGATIVE,2,"#fff");break}}})},J=function(pe){var Oe=pe.object,xe=pe.event;return(xe==null?void 0:xe.button)===2?!1:!!X({object:Oe,contentMouse:A,setEditState:be,setDrawData:Je})},V=function(pe){var Oe=pe.point,xe=pe.basic;return Je(function(Se){var $e=Se.selectedModel[Se.selectedTool];Se.AIAnnotation&&$e===n.HE.IVP?(Se.activeObjectIndex=-1,Se.prompt.creatingPrompt={type:U.Ae.Rect,startPoint:Oe,point:Oe,isPositive:Se.selectedSubTool!==n.jB.NegativeVisualPrompt}):(Se.activeObjectIndex=-1,Se.creatingObject=t()({type:n.gr.Rectangle,startPoint:Oe},xe))}),!0},R=function(pe){var Oe=pe.object;return O({object:Oe,editState:ve,contentMouse:A,drawData:Pe,setDrawData:Je,updateMouseCursor:qe})},P=function(pe){var Oe=pe.object;return!!Oe},B=function(pe){var Oe=pe.object,xe=ve.startRectResizeAnchor||ve.startElementMovePoint;return xe&&Xe(Oe,Pe.activeObjectIndex),be(function(Se){Se.startRectResizeAnchor=void 0,Se.startElementMovePoint=void 0}),!0},ge=function(pe){var Oe,xe=pe.object,Se={x:A.elementX,y:A.elementY};if(Pe.AIAnnotation&&Pe.selectedModel[Pe.selectedTool]===n.HE.IVP&&(Oe=Pe.prompt.creatingPrompt)!==null&&Oe!==void 0&&Oe.startPoint){var $e=Pe.prompt.creatingPrompt.startPoint;if(Se.x===$e.x||Se.y===$e.y)return Je(function(le){le.prompt.creatingPrompt=void 0}),!0;var re=(0,d.A7)($e,Se,{width:A.elementW,height:A.elementH}),oe={type:U.Ae.Rect,isPositive:Pe.prompt.creatingPrompt.isPositive,rect:re},q=[].concat(w()(Pe.prompt.promptsQueue||[]),[oe]);return ke==null||ke({type:n.gr.Rectangle,drawData:Pe,promptsQueue:q}),!0}if(!xe||!xe.startPoint)return!1;if(A.elementX===xe.startPoint.x||A.elementY===xe.startPoint.y)return Je(function(le){le.creatingObject=void 0}),!0;var ue=(0,d.A7)(xe.startPoint,{x:A.elementX,y:A.elementY},{width:A.elementW,height:A.elementH}),Ee={type:n.gr.Rectangle,labelId:xe.labelId,hidden:!1,rect:t()({visible:!0},ue),conf:1,status:U.TK.Commited,color:Ct(xe.labelId)};return mt(Ee),!0};return{renderObject:Ve,renderCreatingObject:ot,renderEditingObject:Ke,renderPrompt:he,startEditingWhenMouseDown:J,startCreatingWhenMouseDown:V,updateEditingWhenMouseMove:R,updateCreatingWhenMouseMove:P,finishEditingWhenMouseUp:B,finishCreatingWhenMouseUp:ge}},G=j,W=function(k,A,Y,de,me){var ve=arguments.length>5&&arguments[5]!==void 0?arguments[5]:4,be=A.lines,Pe=A.points;if(!me)for(var Je=0;Je*2400?4:2)}},Ke=function(Oe){var xe=Oe.object,Se=Oe.styles,$e=xe.startPoint;if($e){var re=(0,d.A7)($e,{x:me.elementX,y:me.elementY},{width:me.elementW,height:me.elementH}),oe=(0,d.ZU)(re,{x:-ve.current.x,y:-ve.current.y}),q=n.v_.points,ue=n.v_.lines,Ee=n.v_.pointColors,le=n.v_.pointNames,Ne=(0,d.el)(q,le,Ee,de,Y),Ae=(0,d.cU)(Ne,oe);(0,l.Mu)(Pe.current,oe,Se.strokeColor,Se.thickness),Ae.forEach(function(_e){(0,l.G5)(Pe.current,{x:_e.x,y:_e.y},4,Se.strokeColor,3,"#1f4dd8")});for(var we=0;we*2-1&&A.focusEleIndex>-1&&A.startElementMovePoint&&($e=Se.creatingObject)!==null&&$e!==void 0&&(re=$e.keypoints)!==null&&re!==void 0&&(oe=re.points)!==null&&oe!==void 0&&oe[A.focusEleIndex]){var q,ue,Ee,le=(q=Se.creatingObject)===null||q===void 0||(ue=q.keypoints)===null||ue===void 0||(Ee=ue.points)===null||Ee===void 0?void 0:Ee[A.focusEleIndex],Ne=(0,d.E5)(me),Ae=Ne.x,we=Ne.y;le.x=Ae,le.y=we}}),!0):!1)},B=function(Oe){var xe=Oe.object;return!!xe},ge=function(Oe){var xe=Oe.object,Se=A.startRectResizeAnchor||A.startElementMovePoint;if(Se&&vt(xe,qe.activeObjectIndex),qe.AIAnnotation){var $e,re;A.startElementMovePoint&&((($e=A.startElementMovePoint.mousePoint)===null||$e===void 0?void 0:$e.x)!==me.elementX||((re=A.startElementMovePoint.mousePoint)===null||re===void 0?void 0:re.y)!==me.elementY)&&(ke==null||ke({type:n.gr.Skeleton,drawData:qe,aiLabels:Ht}))}return Je(function(oe){oe.startRectResizeAnchor=void 0,oe.startElementMovePoint=void 0}),!0},ie=function(Oe){var xe,Se,$e=Oe.object;if(!$e||!$e.startPoint)return!1;if(me.elementX===((xe=$e.startPoint)===null||xe===void 0?void 0:xe.x)||me.elementY===((Se=$e.startPoint)===null||Se===void 0?void 0:Se.y))return Xe(function(we){return we.creatingObject=void 0}),!0;var re=(0,d.A7)($e.startPoint,{x:me.elementX,y:me.elementY},{width:me.elementW,height:me.elementH}),oe=n.v_.points,q=n.v_.lines,ue=n.v_.pointColors,Ee=n.v_.pointNames,le=(0,d.el)(oe,Ee,ue,de,Y),Ne=(0,d.cU)(le,re),Ae={type:n.gr.Skeleton,labelId:$e.labelId,hidden:!1,color:$e.color,rect:t()({visible:!0},re),keypoints:{points:Ne,lines:q},conf:1,status:U.TK.Commited};return Ct(Ae),!0};return{renderObject:ot,renderCreatingObject:Ke,renderEditingObject:he,renderPrompt:J,startEditingWhenMouseDown:V,startCreatingWhenMouseDown:R,updateEditingWhenMouseMove:P,updateCreatingWhenMouseMove:B,finishEditingWhenMouseUp:ge,finishCreatingWhenMouseUp:ie}},_=ne,ee;(function(H){})(ee||(ee={}));var se=function(k){var A,Y=G(k),de=Z(k),me=_(k),ve=(0,c.ZP)(k),be=g(k),Pe=h(k),Je=L(k),qe=(A={},s()(A,n.gr.Rectangle,Y),s()(A,n.gr.Polygon,de),s()(A,n.gr.Skeleton,me),s()(A,n.gr.Mask,ve),s()(A,n.gr.Matting,be),s()(A,n.gr.Point,Pe),s()(A,n.gr.Polyline,Je),s()(A,n.gr.Custom,Y),s()(A,n.gr.Classification,Y),A);return{objectHooksMap:qe}},Q=function(k){return!(k.button===2||k.button===0&&k.altKey)},C=function(k,A){var Y=(0,d.Qo)(A).map(function(de){return de.position});Y.forEach(function(de){var me=(0,d.Ak)(de,{width:10,height:10}),ve=(0,d.my)(me);(0,l.Mu)(k,ve,"rgba(0, 0, 0, 0.8)",3,[0],"#fff")})},X=function(k){var A=k.object,Y=k.contentMouse,de=k.setEditState,me=k.setDrawData,ve=(0,d.o7)(Y,A),be=ve.focusEleIndex,Pe=ve.focusEleType,Je=ve.focusPolygonInfo;if(Pe===n.Yq.None)return!1;var qe=A.rect,Xe=A.keypoints,mt=A.polygon,Ct={x:Y.elementX,y:Y.elementY};return de(function(vt){switch(Pe){case n.Yq.Rect:{if(qe){var Ht=(0,d.Oh)(qe,Ct);Ht?vt.startRectResizeAnchor={type:Ht.type,position:(0,d.l1)(qe,Ht.type)}:vt.startElementMovePoint={topLeftPoint:{x:qe.x,y:qe.y},mousePoint:Ct}}break}case n.Yq.Circle:{if(Xe){var ke=Xe.points[be];vt.startElementMovePoint={topLeftPoint:{x:ke.x,y:ke.y},mousePoint:Ct}}break}case n.Yq.Polygon:{var Ve=Je.lineIndex,ot=Je.index;if(mt)if(Ve>-1){var Ke=(0,d.Iw)(mt.group[ot])[Ve];if(Ke){var he=(0,d.Z4)(Ct,Ke.start,Ke.end);me(function(J){var V=J.objectList[J.activeObjectIndex];V.polygon&&V.polygon.group[ot].splice(Ve+1,0,he),J.creatingObject=t()({},V)}),vt.focusPolygonInfo.pointIndex=Ve+1,vt.startElementMovePoint={topLeftPoint:{x:0,y:0},mousePoint:he,initPoint:he}}}else vt.startElementMovePoint={topLeftPoint:{x:0,y:0},mousePoint:Ct,initPoint:Ct};break}}}),!0},O=function(k){var A=k.object,Y=k.editState,de=k.contentMouse,me=k.drawData,ve=k.setDrawData,be=k.updateMouseCursor,Pe=Y.focusObjectIndex,Je=Y.focusEleIndex,qe=Y.focusEleType,Xe=Y.startRectResizeAnchor;if(Pe===me.activeObjectIndex&&qe===n.Yq.Rect&&A.rect){var mt=(0,d.Oh)(A.rect,{x:de.elementX,y:de.elementY});mt?be("resize",mt.type):be("move")}if(qe===n.Yq.Rect&&Je===0){if(Xe)return ve(function(Ct){if(Ct.activeObjectIndex>-1&&Y.startRectResizeAnchor&&Ct.creatingObject&&Ct.creatingObject.rect){var vt=(0,d.XR)(Ct.creatingObject.rect,Y.startRectResizeAnchor,de);Ct.creatingObject.rect=t()(t()({},Ct.creatingObject.rect),vt)}}),!0;if(Y.startElementMovePoint)return ve(function(Ct){if(Ct.activeObjectIndex>-1&&Y.startElementMovePoint&&Ct.creatingObject&&Ct.creatingObject.rect){var vt=(0,d.i$)(Ct.creatingObject.rect,Y.startElementMovePoint,de);Ct.creatingObject.rect=t()(t()({},Ct.creatingObject.rect),vt)}}),!0}return!1}},67761:function(b,y,e){"use strict";e.d(y,{G9:function(){return j},ei:function(){return G}});var a=e(34485),t=e.n(a),o=e(63900),s=e.n(o),n=e(39378),d=e.n(n),l=e(17410),c=e(34095),m=e(50910),g=e(14464),M=e(46134),h=e(81179),S=e(87478),w=function(_){for(var ee=_.length,se=0,Q=0,C=!0,X=Array(ee*6),O=0;O2&&(Q-=_[O-2]),C=!0;C;){var H=Q&31;Q>>=5,C=!!(Q!==-1&&H&16||Q!==0&&!(H&16)),C&&(H|=32),H+=48,X[se]=String.fromCharCode(H),se+=1}return X.join("")},x=function(_){for(var ee=0,se=[];ee<_.length&&_[ee];){for(var Q=0,C=0,X=1;X;){var O=_.charCodeAt(ee)-48;Q|=(O&31)<<5*C,X=O&32,ee+=1,C+=1,!X&&O&16&&(Q|=-1<<5*C)}se.length>2&&(Q+=se[se.length-2]),se.push(Q)}return se},z=function(_,ee){for(var se=new Array(ee),Q=0,C=0,X=0;X<_.length;X++){for(var O=_[X],H=0;H0&&X.forEach(function(H){var k=(0,M.U8)(H.points,{x:-ee.x,y:-ee.y});(H.tool===l.jB.PenAdd||H.tool===l.jB.PenErase)&&(0,h.HT)(_,k,H.positive,(0,g.a7)(C,c.s_.CREATING),"transparent"),(H.tool===l.jB.BrushAdd||H.tool===l.jB.BrushErase)&&(0,h.T8)(_,k,H.positive,C,c.s_.CREATING,H.radius*se.width/Q.width)}),O.restore()},D=function(_,ee,se,Q,C,X,O){if(_){var H=ee.maskStep,k=ee.tempMaskSteps,A=ee.maskCanvasElement,Y=_.getContext("2d");if(!Y)return null;if(A&&(Y.globalAlpha=c.s_.CREATING,(0,h.AE)(_,A,{x:se.x,y:se.y,width:X.width,height:X.height}),Y.globalAlpha=1),Z(_,se,X,O,Q,k),H&&H.points.length>0){var de=H.tool===l.jB.PenAdd||H.tool===l.jB.BrushAdd?c.Bt.CREATING_POSITIVE:c.Bt.CREATING_NEGATIVE,me=(0,M.U8)(H.points,{x:-se.x,y:-se.y});(H.tool===l.jB.PenAdd||H.tool===l.jB.PenErase)&&((0,h.G5)(_,me[0],6,(0,g.a7)(de,c.rl.CREATING),3,c.XQ.CREATING),me.length>0&&((0,h.MC)(_,me,(0,g.a7)(de,c.rl.CREATING),2.5,[0]),(0,h.pS)(_,me[me.length-1],C,(0,g.a7)(de,c.rl.CREATING_LINE),2.5,[5]))),(H.tool===l.jB.BrushAdd||H.tool===l.jB.BrushErase||H.tool===l.jB.AutoSegmentByStroke)&&me.length>1&&(0,h.AT)(_,me,(0,g.a7)(de,c.s_.CREATING),H.radius*X.width/O.width)}}},L=function(_,ee){var se=_.getContext("2d",{willReadFrequently:!0});if(!se)return null;for(var Q=se.getImageData(0,0,_.width,_.height),C=hexToRgbArray(ee),X=Q.data.length/4;X--;)Q.data[X*4+3]>0&&(Q.data[X*4]=C[0],Q.data[X*4+1]=C[1],Q.data[X*4+2]=C[2],Q.data[X*4+3]=255);return clearCanvas(_),se.putImageData(Q,0,0),_},j=function(_,ee,se,Q){var C=document.createElement("canvas"),X=C.getContext("2d",{willReadFrequently:!0});if(!X||!se)return null;C.width=ee.width,C.height=ee.height;var O=se.map(function(me){return s()(s()({},me),{},{points:me.points.map(function(ve){return(0,M.Ap)(ve,_,ee)})})});Q&&(0,h.AE)(C,Q,{x:0,y:0,width:ee.width,height:ee.height}),Z(C,{x:0,y:0},ee,ee,"#fff",O);for(var H=X.getImageData(0,0,ee.width,ee.height),k=0,A=new Array(H.data.length/4).fill(0),Y=H.data.length/4;Y--;){var de=0;H.data[Y*4+3]>0&&(k++,de=1,A[Y]=1),H.data[Y*4]=H.data[Y*4+1]=H.data[Y*4+2]=H.data[Y*4+3]=de}return k>0?N(A):""},G=function(_,ee,se){var Q=ee.width,C=ee.height,X=document.createElement("canvas"),O=X.getContext("2d");if(X.width=Q,X.height=C,!O)return null;for(var H=O.createImageData(Q,C),k=(0,g.dX)(se),A=T(_,Math.ceil(Q)*Math.ceil(C)),Y=H.data.length/4;Y--;)A[Y]>0&&(H.data[Y*4]=k[0],H.data[Y*4+1]=k[1],H.data[Y*4+2]=k[2],H.data[Y*4+3]=255);return O.putImageData(H,0,0),X},W=function(_){var ee=_.editState,se=_.clientSize,Q=_.naturalSize,C=_.contentMouse,X=_.imagePos,O=_.containerMouse,H=_.canvasRef,k=_.activeCanvasRef,A=_.drawData,Y=_.setDrawData,de=_.setDrawDataWithHistory,me=_.updateHistory,ve=_.onAiAnnotation,be=_.updateMouseCursor,Pe=function(V){var R=V.object,P=V.styles,B=R.maskCanvasElement,ge=H.current.getContext("2d"),ie=ge.globalAlpha;ge.globalAlpha=ge.globalAlpha*P.maskAlpha,(0,h.AE)(H.current,B,{x:X.current.x,y:X.current.y,width:se.width,height:se.height}),ge.globalAlpha=ie},Je=function(V){var R=V.object,P=V.color;ee.hideCreatingObject||D(k.current,R,X.current,P,{x:O.elementX,y:O.elementY},se,Q)},qe=function(V){var R=V.object,P=V.color;ee.hideCreatingObject||D(k.current,R,X.current,P,{x:O.elementX,y:O.elementY},se,Q)},Xe=function(V){var R=V.prompt,P=A.selectedModel[A.selectedTool];if(R.creatingPrompt)if(P===l.HE.IVP){var B=R.creatingPrompt.isPositive?c.CJ.POSITIVE:c.CJ.NEGATIVE,ge=R.creatingPrompt.isPositive?c.lz.POSITIVE:c.lz.NEGATIVE;switch(R.creatingPrompt.type){case m.Ae.Rect:{var ie=R.creatingPrompt.startPoint,pe=(0,M.A7)(ie,{x:C.elementX,y:C.elementY},{width:C.elementW,height:C.elementH}),Oe=(0,M.ZU)(pe,{x:-X.current.x,y:-X.current.y});(0,h.Mu)(k.current,Oe,B,2,[0],ge);break}case m.Ae.Point:{if(!R.creatingPrompt.point)break;var xe=(0,M.aF)(R.creatingPrompt.point,{x:-X.current.x,y:-X.current.y});(0,h.G5)(k.current,xe,4,R.creatingPrompt.isPositive?c.lz.POSITIVE:c.lz.NEGATIVE,2,"#fff")}default:break}}else{var Se=c.XQ.CREATING,$e=c.Bt.CREATING;switch(R.creatingPrompt.type){case m.Ae.Rect:{var re=R.creatingPrompt.startPoint,oe=(0,M.A7)(re,{x:C.elementX,y:C.elementY},{width:C.elementW,height:C.elementH}),q=(0,M.ZU)(oe,{x:-X.current.x,y:-X.current.y});(0,h.Mu)(k.current,q,Se,2,[0],$e);break}case m.Ae.Point:{if(!R.creatingPrompt.point)break;var ue=(0,M.aF)(R.creatingPrompt.point,{x:-X.current.x,y:-X.current.y});(0,h.G5)(k.current,ue,4,R.creatingPrompt.isPositive?c.lz.POSITIVE:c.lz.NEGATIVE,2,"#fff")}case m.Ae.EdgeStitch:case m.Ae.Stroke:{if(!R.creatingPrompt.stroke||!R.creatingPrompt.radius)break;var Ee=(0,M.U8)(R.creatingPrompt.stroke,{x:-X.current.x,y:-X.current.y}),le=R.creatingPrompt.radius*se.width/Q.width,Ne=R.creatingPrompt.type===m.Ae.EdgeStitch?(0,g.a7)(Se,c.s_.CREATING):R.creatingPrompt.isPositive?c.lz.POSITIVE:c.lz.NEGATIVE;(0,h.AT)(k.current,Ee,Ne,le);break}default:break}if(ee.isRequiring&&R.activeRectWhileLoading){var Ae=(0,M.ZU)(R.activeRectWhileLoading,{x:-X.current.x,y:-X.current.y});(0,h.HU)(k.current,Ae)}}R.promptsQueue&&(P===l.HE.IVP?R.promptsQueue.forEach(function(we){switch(we.type){case m.Ae.Rect:{var Re=(0,M.ZU)(we.rect,{x:-X.current.x,y:-X.current.y});(0,h.Mu)(k.current,Re,we.isPositive?c.CJ.POSITIVE:c.CJ.NEGATIVE,2,[0],we.isPositive?c.lz.POSITIVE:c.lz.NEGATIVE);break}case m.Ae.Point:{var st=(0,M.aF)(we.point,{x:-X.current.x,y:-X.current.y});(0,h.G5)(k.current,st,4,we.isPositive?c.lz.POSITIVE:c.lz.NEGATIVE,2,"#fff");break}}}):R.promptsQueue.forEach(function(we){if(we.type===m.Ae.Point){var Re=(0,M.aF)(we.point,{x:-X.current.x,y:-X.current.y});(0,h.G5)(k.current,Re,4,we.isPositive?c.lz.POSITIVE:c.lz.NEGATIVE,2,"#fff")}}))},mt=function(V){var R={x:C.elementX,y:C.elementY};Y(function(P){switch(P.selectedSubTool){case l.jB.PenAdd:case l.jB.PenErase:case l.jB.BrushAdd:case l.jB.BrushErase:if(P.creatingObject){if(P.creatingObject.maskStep){if(P.creatingObject.maskStep.points.push(R),[l.jB.PenAdd,l.jB.PenErase].includes(P.selectedSubTool)&&(0,M.uN)(P.creatingObject.maskStep.points[0],C)){var B;(B=P.creatingObject.tempMaskSteps)===null||B===void 0||B.push(P.creatingObject.maskStep),P.creatingObject.maskStep=void 0}}else P.creatingObject.maskStep={tool:P.selectedSubTool,positive:P.selectedSubTool===l.jB.PenAdd||P.selectedSubTool===l.jB.BrushAdd,points:[R],radius:P.brushSize};[l.jB.BrushAdd,l.jB.BrushErase].includes(P.selectedSubTool)||me((0,n.cloneDeep)(P))}P.prompt.sessionId=void 0;break;case l.jB.AutoSegmentByBox:P.prompt.creatingPrompt={type:m.Ae.Rect,startPoint:R,isPositive:!0};break;case l.jB.AutoSegmentByClick:P.prompt.creatingPrompt={type:m.Ae.Point,startPoint:R,point:R,isPositive:(0,S.hF)(V)};break;case l.jB.AutoSegmentByStroke:P.prompt.creatingPrompt={type:m.Ae.Stroke,startPoint:R,stroke:[R],radius:P.brushSize,isPositive:(0,S.hF)(V)};break;case l.jB.AutoEdgeStitching:P.prompt.creatingPrompt={type:m.Ae.EdgeStitch,startPoint:R,stroke:[R],radius:P.brushSize,isPositive:!0};default:break}})},Ct=function(V){var R=V.event;return mt(R),!0},vt=function(V){var R=V.event,P=V.object,B=V.point,ge=V.basic;return P?mt(R):Y(function(ie){switch(ie.activeObjectIndex=-1,ie.selectedSubTool){case l.jB.PenAdd:case l.jB.PenErase:case l.jB.BrushAdd:case l.jB.BrushErase:ie.creatingObject=s()(s()({},ge),{},{type:l.gr.Mask,startPoint:B,maskStep:{tool:ie.selectedSubTool,positive:ie.selectedSubTool===l.jB.PenAdd||ie.selectedSubTool===l.jB.BrushAdd,points:[B],radius:ie.brushSize},tempMaskSteps:[]}),ie.prompt.sessionId=void 0;break;case l.jB.AutoSegmentByBox:ie.prompt.creatingPrompt={type:m.Ae.Rect,startPoint:B,isPositive:!0};break;case l.jB.AutoSegmentByClick:ie.prompt.creatingPrompt={type:m.Ae.Point,startPoint:B,point:B,isPositive:(0,S.hF)(R)};break;case l.jB.AutoSegmentByStroke:ie.prompt.creatingPrompt={type:m.Ae.Stroke,startPoint:B,stroke:[B],radius:ie.brushSize,isPositive:(0,S.hF)(R)};break;case l.jB.AutoEdgeStitching:ie.prompt.creatingPrompt={type:m.Ae.EdgeStitch,startPoint:B,stroke:[B],radius:ie.brushSize,isPositive:!0};break;case l.jB.PositiveVisualPrompt:case l.jB.NegativeVisualPrompt:ie.prompt.creatingPrompt={type:m.Ae.Rect,startPoint:B,point:B,isPositive:ie.selectedSubTool!==l.jB.NegativeVisualPrompt};default:break}}),!0},Ht=function(V){var R=V.event,P=V.object;if(P||A.prompt.creatingPrompt){be("crosshair");var B=[l.jB.BrushAdd,l.jB.BrushErase,l.jB.PenAdd,l.jB.PenErase,l.jB.AutoSegmentByStroke,l.jB.AutoEdgeStitching].includes(A.selectedSubTool),ge=R.buttons===1||R.buttons===2;if(B&&ge){var ie={x:C.elementX,y:C.elementY},pe=[l.jB.AutoSegmentByStroke,l.jB.AutoEdgeStitching].includes(A.selectedSubTool);Y(function(Oe){if(pe){var xe,Se;(xe=Oe.prompt.creatingPrompt)===null||xe===void 0||(Se=xe.stroke)===null||Se===void 0||Se.push(ie)}else{var $e,re;($e=Oe.creatingObject)===null||$e===void 0||(re=$e.maskStep)===null||re===void 0||re.points.push(ie)}})}return!0}return!1},ke=function(V){var R=V.object,P=V.event;return Ht({object:R,event:P})},Ve=function(V){var R=V.object,P=V.event;return Ht({object:R,event:P})},ot=function(){if(!(!A.creatingObject&&!A.prompt.creatingPrompt)){var V={x:C.elementX,y:C.elementY},R=A.selectedModel[A.selectedTool];switch(A.selectedSubTool){case l.jB.BrushAdd:case l.jB.BrushErase:case l.jB.PenAdd:case l.jB.PenErase:{de(function(Re){if(Re.creatingObject&&Re.creatingObject.tempMaskSteps&&Re.creatingObject.maskStep&&Re.creatingObject.maskStep.points.length>1&&([l.jB.BrushAdd,l.jB.BrushErase].includes(Re.selectedSubTool)||[l.jB.PenAdd,l.jB.PenErase].includes(Re.selectedSubTool)&&(0,M.uN)(Re.creatingObject.maskStep.points[0],C))){var st;(st=Re.creatingObject.tempMaskSteps)===null||st===void 0||st.push(Re.creatingObject.maskStep),Re.creatingObject.maskStep=void 0}Re.prompt.sessionId=void 0});break}case l.jB.AutoSegmentByBox:{var P,B,ge;if(!((P=A.prompt.creatingPrompt)!==null&&P!==void 0&&P.startPoint))break;if(V.x===((B=A.prompt.creatingPrompt.startPoint)===null||B===void 0?void 0:B.x)||V.y===((ge=A.prompt.creatingPrompt.startPoint)===null||ge===void 0?void 0:ge.y)){Y(function(Re){return Re.prompt.creatingPrompt=void 0});break}var ie=(0,M.A7)(A.prompt.creatingPrompt.startPoint,V,{width:C.elementW,height:C.elementH}),pe={type:m.Ae.Rect,isPositive:!0,rect:ie};de(function(Re){Re.prompt.activeRectWhileLoading=ie});var Oe=A.prompt.promptsQueue?[].concat(t()(A.prompt.promptsQueue),[pe]):[pe];ve==null||ve({type:l.gr.Mask,drawData:A,promptsQueue:Oe});break}case l.jB.AutoSegmentByClick:{var xe;if(!(0,M.jt)(C)||!(0,M.jt)(O)||!((xe=A.prompt.creatingPrompt)!==null&&xe!==void 0&&xe.point))break;var Se={type:m.Ae.Point,isPositive:A.prompt.creatingPrompt.isPositive,point:A.prompt.creatingPrompt.point},$e=A.prompt.promptsQueue?[].concat(t()(A.prompt.promptsQueue),[Se]):[Se];ve==null||ve({type:l.gr.Mask,drawData:A,promptsQueue:$e});break}case l.jB.AutoSegmentByStroke:{var re;if(!((re=A.prompt.creatingPrompt)!==null&&re!==void 0&&re.stroke))break;var oe={type:m.Ae.Stroke,isPositive:A.prompt.creatingPrompt.isPositive,stroke:A.prompt.creatingPrompt.stroke,radius:A.brushSize},q=A.prompt.promptsQueue?[].concat(t()(A.prompt.promptsQueue),[oe]):[oe];ve==null||ve({type:l.gr.Mask,drawData:A,promptsQueue:q});break}case l.jB.AutoEdgeStitching:{var ue;if(!((ue=A.prompt.creatingPrompt)!==null&&ue!==void 0&&ue.stroke))break;ve==null||ve({type:l.gr.Mask,drawData:A});break}case l.jB.PositiveVisualPrompt:case l.jB.NegativeVisualPrompt:{var Ee;if(R!==l.HE.IVP||!((Ee=A.prompt.creatingPrompt)!==null&&Ee!==void 0&&Ee.startPoint))break;var le=A.prompt.creatingPrompt.startPoint;if(V.x===le.x||V.y===le.y){Y(function(Re){return Re.prompt.creatingPrompt=void 0});break}else{var Ne=(0,M.A7)(le,V,{width:C.elementW,height:C.elementH}),Ae={type:m.Ae.Rect,isPositive:A.prompt.creatingPrompt.isPositive,rect:Ne},we=[].concat(t()(A.prompt.promptsQueue||[]),[Ae]);ve==null||ve({type:l.gr.Mask,drawData:A,promptsQueue:we})}}}}},Ke=function(){return ot(),!0},he=function(){return ot(),!0};return{renderObject:Pe,renderCreatingObject:Je,renderEditingObject:qe,renderPrompt:Xe,startEditingWhenMouseDown:Ct,startCreatingWhenMouseDown:vt,updateEditingWhenMouseMove:ke,updateCreatingWhenMouseMove:Ve,finishEditingWhenMouseUp:Ke,finishCreatingWhenMouseUp:he}};y.ZP=W},50910:function(b,y,e){"use strict";e.d(y,{Ae:function(){return l},In:function(){return n},O4:function(){return g},SP:function(){return S},TK:function(){return d},f7:function(){return m},je:function(){return c},rl:function(){return h}});var a=e(2657),t=e.n(a),o=e(17410),s,n=function(w){return w.Radio="radio",w.Checkbox="checkbox",w.Text="text",w}({}),d=function(w){return w[w.Unchecked=0]="Unchecked",w[w.Checked=1]="Checked",w[w.Commited=2]="Commited",w}({}),l=function(w){return w.Rect="rect",w.Point="point",w.Stroke="stroke",w.EdgeStitch="edgeStitch",w.Modify="modify",w.Text="text",w}({}),c={View:0,Edit:1,Review:2},m={initialized:!1,selectedTool:o.ru.Drag,selectedSubTool:o.jB.PenAdd,selectedModel:(s={},t()(s,o.ru.Drag,void 0),t()(s,o.ru.Rectangle,void 0),t()(s,o.ru.Mask,void 0),t()(s,o.ru.Skeleton,o.HE.Pose),t()(s,o.ru.Polygon,o.HE.SegmentByPolygon),s),AIAnnotation:!1,objectList:[],classifications:[],activeObjectIndex:-1,activeClassName:"",creatingObject:void 0,editingAttribute:void 0,brushSize:20,pointResolution:.5,prompt:{},isBatchEditing:!1,limitConf:0},g={brightness:100,contrast:100,saturate:100},M={colorByCategory:!0},h={isLoading:!1,isLoadingError:!1,isRequiring:!1,allowMove:!1,latestLabelId:"",startRectResizeAnchor:void 0,startElementMovePoint:void 0,focusObjectIndex:-1,foucsObjectAllIndexs:[],focusEleType:o.Yq.Rect,focusEleIndex:-1,focusPolygonInfo:{index:-1,pointIndex:-1,lineIndex:-1},isCtrlPressed:!1,hideCreatingObject:!1,imageDisplayOptions:g,annotsDisplayOptions:M},S=function(w){return w.Solid="solid",w.Dashed="dash",w.DoubleSolid="double_solid",w.DoubleDashed="double_dash",w.LDashedRSolid="left_dash-right_solid",w.LSolidRDashed="left_solid-right_dash",w.LCurbside="left_curbside",w.RCurbside="right_curbside",w.Unknown="none",w}({})},14464:function(b,y,e){"use strict";e.d(y,{Cj:function(){return c},WE:function(){return h},ZT:function(){return o},a7:function(){return d},dX:function(){return n},g9:function(){return g},wj:function(){return m}});var a=e(34485),t=e.n(a),o=function(x){return x.length!==3?"transparent":"#".concat(x[0].toString(16).padStart(2,"0")).concat(x[1].toString(16).padStart(2,"0")).concat(x[2].toString(16).padStart(2,"0")).toUpperCase()},s=function(x){var z=/^rgba?\((\d+),\s*(\d+),\s*(\d+)\)$/i.exec(x);return z?o(z):"transparent"},n=function(x){var z=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,U=x.replace(z,function(N,Z,D,L){return Z+Z+D+D+L+L}),T=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(U);return T?[parseInt(T[1],16),parseInt(T[2],16),parseInt(T[3],16)]:[0,0,0]},d=function(x){var z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,U=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,T=x.replace(U,function(D,L,j,G){return L+L+j+j+G+G}),N=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(T),Z=z<0||z>1?1:z;return N?"rgba(".concat(parseInt(N[1],16),",").concat(parseInt(N[2],16),",").concat(parseInt(N[3],16),",").concat(Z,")"):"transparent"},l=function(x){for(var z=["#FFFF00","#FF0000","#0000FF","#00FF00","#FF00FF","#00FFFF"],U=[255,128,64,32,16,8,4,2,1],T=z.length+1;z.length0)if(N[L%3]+U[Math.floor(L/3)]<=255)N[L%3]+=U[Math.floor(L/3)];else{D=!1;break}Z<<=1}if(D){var j="#".concat(N[0].toString(16).padStart(2,"0")).concat(N[1].toString(16).padStart(2,"0")).concat(N[2].toString(16).padStart(2,"0")).toUpperCase();z.includes(j)||z.push(j)}}return z},c=function(x){if(!x.length)return{};var z=t()(x),U=l(z.length),T={};return z.forEach(function(N,Z){T[N]=U[Z]}),T},m=function(x,z){return x.length!==3?"transparent":"rgba(".concat(x[0],", ").concat(x[1],", ").concat(x[2],", ").concat(z,")")},g=function(x){var z=x.slice(5,-1).split(",").map(function(U){return U.trim()});return z.length!==4||isNaN(parseFloat(z[3]))?[]:z.slice(0,3)},M=function(x,z){if(!x)return"rgba(0,0,0,0)";var U=x.substring(5,x.length-1).split(",").map(function(Z){return parseInt(Z.trim())}),T=[].concat(_toConsumableArray(U.slice(0,3)),[z]),N="rgba(".concat(T.join(","),")");return N},h=function(x,z,U){var T=U*z,N=T*(1-Math.abs(x*6%2-1)),Z=U-T,D=0,L=0,j=0;return x<1/6?(D=T,L=N):x<2/6?(D=N,L=T):x<3/6?(L=T,j=N):x<4/6?(L=N,j=T):x<5/6?(D=N,j=T):(D=T,j=N),[Math.round((D+Z)*255),Math.round((L+Z)*255),Math.round((j+Z)*255)]},S=function(){var w=.618033988749895,x=0;return function(){x=(x+w)%1;var z=h(x,.8,.95);return o(z)}}()},46134:function(b,y,e){"use strict";e.d(y,{$G:function(){return A},$S:function(){return _},A7:function(){return Z},AR:function(){return U},A_:function(){return Se},Ak:function(){return V},Ap:function(){return se},Aw:function(){return X},E5:function(){return pe},I4:function(){return le},Iw:function(){return mt},JP:function(){return Q},Nm:function(){return Ve},OX:function(){return k},Oh:function(){return R},Qo:function(){return J},RF:function(){return ke},U8:function(){return we},Uy:function(){return N},Vh:function(){return T},Vi:function(){return $e},X6:function(){return Ne},XR:function(){return B},YO:function(){return z},Yc:function(){return Pt},Z0:function(){return Ht},Z4:function(){return re},ZU:function(){return Ae},aF:function(){return Re},aH:function(){return wt},cO:function(){return C},cU:function(){return G},cf:function(){return it},cx:function(){return ee},e4:function(){return $t},el:function(){return O},hv:function(){return Be},i$:function(){return ge},jt:function(){return de},kh:function(){return ne},kq:function(){return W},l1:function(){return P},lT:function(){return st},my:function(){return he},nF:function(){return We},o7:function(){return vt},s5:function(){return ie},t9:function(){return x},tQ:function(){return xe},uN:function(){return Je},yn:function(){return H}});var a=e(34485),t=e.n(a),o=e(63900),s=e.n(o),n=e(88479),d=e.n(n),l=e(88205),c=e.n(l),m=e(39378),g=e.n(m),M=e(17410),h=e(34095),S=e(67761),w=e(14464),x=function(je,tt,lt,bt){if(!je||!tt)return[0,0,1];if(!lt)return[je/tt*(bt||0),bt||0,1];if(!bt)return[lt||0,tt/je*(lt||0),1];var It=je,Kt=tt,zt=1;return je/tt>=lt/bt?(It=lt,Kt=tt*lt/je,zt=lt/je):(Kt=bt,It=je*bt/tt,zt=bt/tt),[It||0,Kt||0,zt]},z=function(je,tt,lt){var bt=c()(je,2),It=bt[0],Kt=It===void 0?0:It,zt=bt[1],Mt=zt===void 0?0:zt;return{x:Kt/tt.width*lt.width,y:Mt/tt.height*lt.height}},U=function(je,tt,lt){var bt=c()(je,2),It=bt[0],Kt=It===void 0?0:It,zt=bt[1],Mt=zt===void 0?0:zt;return{x:Kt/lt.width*tt.width,y:Mt/lt.height*tt.height}},T=function(je,tt,lt){var bt=[];if(!je)return bt;var It=je.split("/");return It==null||It.forEach(function(Kt){for(var zt=[],Mt=Kt.split(",").map(Number),Le=0;Lelt.width?lt.width:tt.x,y:tt.y<0?0:tt.y>lt.height?lt.height:tt.y};return{x:Math.min(je.x,bt.x),y:Math.min(je.y,bt.y),width:Math.abs(je.x-bt.x),height:Math.abs(je.y-bt.y)}},D=function(je){var tt=1/0,lt=1/0,bt=-1/0,It=-1/0,Kt=d()(je),zt;try{for(Kt.s();!(zt=Kt.n()).done;){var Mt=zt.value;tt=Math.min(tt,Mt.x),lt=Math.min(lt,Mt.y),bt=Math.max(bt,Mt.x),It=Math.max(It,Mt.y)}}catch(Le){Kt.e(Le)}finally{Kt.f()}return{minX:tt,minY:lt,maxX:bt,maxY:It}},L=function(je,tt,lt){return{x:tt*je.x,y:lt*je.y}},j=function(je,tt,lt){return{x:je.x+tt,y:je.y+lt}},G=function(je,tt){var lt=D(je),bt=lt.minX,It=lt.minY,Kt=lt.maxX,zt=lt.maxY,Mt=tt.width/(Kt-bt),Le=tt.height/(zt-It),Ce=je.map(function(Et){var Tt=j(Et,-bt,-It),Ye=L(Tt,Mt,Le),et=j(Ye,tt.x,tt.y);return s()(s()({},Et),et)});return Ce},W=function(je,tt){return{xmin:je.x/tt.width,ymin:je.y/tt.height,xmax:(je.x+je.width)/tt.width,ymax:(je.y+je.height)/tt.height}},ne=function(je){return{xmin:je.x,ymin:je.y,xmax:je.x+je.width,ymax:je.y+je.height}},_=function(je,tt,lt){return{x:je.x*lt.width/tt.width,y:je.y*lt.height/tt.height,width:je.width*lt.width/tt.width,height:je.height*lt.height/tt.height}},ee=function(je,tt,lt){var bt=_(je,tt,lt);return[bt.x,bt.y,bt.x+bt.width,bt.y+bt.height]},se=function(je,tt,lt){return{x:je.x*lt.width/tt.width,y:je.y*lt.height/tt.height}},Q=function(je,tt,lt){return{x:(je[0]||0)/tt.width*lt.width,y:(je[1]||0)/tt.height*lt.height,width:((je[2]||0)-(je[0]||0))/tt.width*lt.width,height:((je[3]||0)-(je[1]||0))/tt.height*lt.height}},C=function(je,tt){return{x:(je.xmin||0)*tt.width,y:(je.ymin||0)*tt.height,width:((je.xmax||0)-(je.xmin||0))*tt.width,height:((je.ymax||0)-(je.ymin||0))*tt.height}},X=function(je){return{x:je.xmin,y:je.ymin,width:je.xmax-je.xmin,height:je.ymax-je.ymin}},O=function(je,tt,lt,bt,It){for(var Kt=[],zt=0;zt*6=0&&je.elementX<=je.elementW&&je.elementY>=0&&je.elementY<=je.elementH},me=function(je,tt){return{x:je.x-tt.x,y:je.y-tt.y,width:je.width+2*tt.x,height:je.height+2*tt.y}},ve=function(je,tt){return s()(s()({},je),{},{radius:tt})};function be(dt,je,tt){var lt={x:je.x-dt.x,y:je.y-dt.y},bt={x:tt.x-dt.x,y:tt.y-dt.y};return lt.x*bt.y-lt.y*bt.x}var Pe=function(je,tt,lt){if(!je||!tt)return!1;switch(lt){case M.Yq.Rect:{var bt=je;return bt.x<=tt.x&&bt.x+bt.width>=tt.x&&bt.y<=tt.y&&bt.y+bt.height>=tt.y}case M.Yq.Circle:{var It=je;return Math.sqrt(Math.pow(tt.x-It.x,2)+Math.pow(tt.y-It.y,2))<=It.radius}case M.Yq.Polygon:{for(var Kt=je,zt=1;zt0&&Mt*Ce>0)return!0}return!1}default:return!1}},Je=function(je,tt){var lt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:5,bt=ve(je,lt),It={x:tt.elementX,y:tt.elementY};return Pe(bt,It,M.Yq.Circle)},qe=function(je,tt){var lt=tt.elementX,bt=tt.elementY,It=Math.sqrt(Math.pow(lt-je.start.x,2)+Math.pow(bt-je.start.y,2)),Kt=Math.sqrt(Math.pow(lt-je.end.x,2)+Math.pow(bt-je.end.y,2)),zt=Math.sqrt(Math.pow(je.end.x-je.start.x,2)+Math.pow(je.end.y-je.start.y,2)),Mt=.75;return It+Kt>=zt-Mt&&It+Kt<=zt+Mt},Xe=function(je){var tt=D(je),lt=tt.maxX,bt=tt.minX,It=tt.maxY,Kt=tt.minY;return{x:bt,y:Kt,width:lt-bt,height:It-Kt}},mt=function(je){for(var tt=[],lt=0;lt0)return!0}break}}return!1},vt=function(je,tt){var lt,bt=M.Yq.None,It=-1,Kt={index:-1,pointIndex:-1,lineIndex:-1};if(!de(je)||tt.hidden)return{focusEleType:bt,focusEleIndex:It,focusPolygonInfo:Kt};if((lt=tt.keypoints)!==null&<!==void 0&<.points)for(var zt=tt.keypoints.points,Mt=0;Mt-1)return Kt.index=et,Kt.pointIndex=_t,{focusEleType:M.Yq.Polygon,focusEleIndex:0,focusPolygonInfo:Kt}}for(var Ut=0;Ut-1)return Kt.index=Ut,Kt.lineIndex=un,{focusEleType:M.Yq.Polygon,focusEleIndex:0,focusPolygonInfo:Kt}}var Mn=Ye.findIndex(function(vn){return Pe(vn,{x:je.elementX,y:je.elementY},M.Yq.Polygon)});if(Mn>-1)return Kt.index=Mn,{focusEleType:M.Yq.Polygon,focusEleIndex:0,focusPolygonInfo:Kt}}return tt.rect&&Pe(me(tt.rect,{x:8,y:8}),{x:je.elementX,y:je.elementY},M.Yq.Rect)?(bt=M.Yq.Rect,It=0,{focusEleType:bt,focusEleIndex:It,focusPolygonInfo:Kt}):{focusEleType:bt,focusEleIndex:It,focusPolygonInfo:Kt}},Ht=function(je,tt,lt,bt){var It=arguments.length>4&&arguments[4]!==void 0?arguments[4]:function(){return!0};if(!de(tt))return-1;if(bt[lt]&&It(bt[lt])&&Ct(tt,bt[lt],je))return lt;for(var Kt=bt.length-1;Kt>=0;Kt--)if(It(bt[Kt])&&Ct(tt,bt[Kt],je))return Kt;return-1},ke=function(je,tt,lt){var bt=arguments.length>3&&arguments[3]!==void 0?arguments[3]:function(){return!0};if(!de(tt))return[];for(var It=[],Kt=lt.length-1;Kt>=0;Kt--)bt(lt[Kt])&&Ct(tt,lt[Kt],je)&&It.push(Kt);return It},Ve=function(dt){return dt.TOP="TOP",dt.BOTTOM="BOTTOM",dt.LEFT="LEFT",dt.RIGHT="RIGHT",dt.TOP_RIGHT="TOP_RIGHT",dt.TOP_LEFT="TOP_LEFT",dt.BOTTOM_RIGHT="BOTTOM_RIGHT",dt.BOTTOM_LEFT="BOTTOM_LEFT",dt.CENTER="CENTER",dt}({}),ot=function(je){return Math.floor(je)+.5},Ke=function(je){return{x:ot(je.x),y:ot(je.y)}},he=function(je){var tt={x:je.x,y:je.y},lt={x:je.x+je.width,y:je.y+je.height},bt=Ke(tt),It=Ke(lt);return{x:bt.x,y:bt.y,width:It.x-bt.x,height:It.y-bt.y}},J=function(je){return[{type:Ve.TOP_LEFT,position:{x:je.x,y:je.y}},{type:Ve.TOP,position:{x:je.x+.5*je.width,y:je.y}},{type:Ve.TOP_RIGHT,position:{x:je.x+je.width,y:je.y}},{type:Ve.LEFT,position:{x:je.x,y:je.y+.5*je.height}},{type:Ve.RIGHT,position:{x:je.x+je.width,y:je.y+.5*je.height}},{type:Ve.BOTTOM_LEFT,position:{x:je.x,y:je.y+je.height}},{type:Ve.BOTTOM,position:{x:je.x+.5*je.width,y:je.y+je.height}},{type:Ve.BOTTOM_RIGHT,position:{x:je.x+je.width,y:je.y+je.height}}]},V=function(je,tt){return s()({x:je.x-.5*tt.width,y:je.y-.5*tt.height},tt)},R=function(je,tt){for(var lt=J(je),bt=0;btlt.elementW?lt.elementW:lt.elementX,zt=lt.elementY<0?0:lt.elementY>lt.elementH?lt.elementH:lt.elementY,Mt={x:Kt,y:zt};switch(bt){case Ve.RIGHT:Mt.y=je.y+je.height;break;case Ve.BOTTOM:Mt.x=je.x+je.width;break;case Ve.LEFT:Mt.y=je.y;break;case Ve.TOP:Mt.x=je.x;break}return Z(It,Mt,{width:lt.elementW,height:lt.elementH})},ge=function(je,tt,lt){var bt=je.width,It=je.height,Kt=tt.topLeftPoint,zt=tt.mousePoint,Mt=lt.elementX-zt.x,Le=lt.elementY-zt.y,Ce=Kt.x+Mt,Et=Kt.y+Le;return{x:Ce<0?0:Ce+bt>lt.elementW?lt.elementW-bt:Ce,y:Et<0?0:Et+It>lt.elementH?lt.elementH-It:Et,width:bt,height:It}},ie=function(je,tt,lt){var bt=tt.mousePoint,It=lt.elementX,Kt=lt.elementY,zt=lt.elementW,Mt=lt.elementH,Le=D(je),Ce=Le.minX,Et=Le.minY,Tt=Le.maxX,Ye=Le.maxY,et=It-bt.x,_t=Kt-bt.y;et=et+Tt>zt?zt-Tt:et+Ce<0?0:et,_t=_t+Ye>Mt?Mt-Ye:_t+Et<0?0:_t;var Ut=je.map(function(qt){return{x:qt.x+et,y:qt.y+_t}});return Ut},pe=function(je){var tt=je.elementX,lt=je.elementY;return{x:tt<0?0:tt>je.elementW?je.elementW:tt,y:lt<0?0:lt>je.elementH?je.elementH:lt}},Oe=function(je){return!(!(0,m.isNumber)(je.x)||!(0,m.isNumber)(je.y)||!(0,m.isNumber)(je.width)||!(0,m.isNumber)(je.height)||je.x===0&&je.y===0&&je.width===0&&je.height===0)},xe=function(je){return je.maskRle?M.gr.Mask:je.alpha?M.gr.Matting:je.keypoints?M.gr.Skeleton:je.polygon?M.gr.Polygon:je.point?M.gr.Point:je.rect&&Oe(je.rect)?M.gr.Rectangle:je.polyline?M.gr.Polyline:M.gr.Custom},Se=function(je,tt,lt){var bt=je.group.map(function(It){return It.reduce(function(Kt,zt){var Mt=zt.x,Le=zt.y,Ce=U([Mt,Le],tt,lt);return Kt.concat([Ce.x,Ce.y])},[])});return bt},$e=function(je,tt,lt){var bt=Se(je,tt,lt),It=bt.map(function(Kt){return Kt.join(",")}).join("/")||"";return It},re=function(je,tt,lt){var bt={x:je.x-tt.x,y:je.y-tt.y},It={x:lt.x-tt.x,y:lt.y-tt.y},Kt=It.x*It.x+It.y*It.y,zt=bt.x*It.x+bt.y*It.y,Mt=zt/Kt;return Mt<0||isNaN(Mt)?Mt=0:Mt>1&&(Mt=1),{x:tt.x+It.x*Mt,y:tt.y+It.y*Mt}},oe=function(je,tt){return{x:(je.x+tt.x)/2,y:(je.y+tt.y)/2}},q=function(je){var tt=je.x,lt=je.y,bt=je.width,It=je.height,Kt={x:tt,y:lt},zt={x:tt+bt,y:lt},Mt={x:tt,y:lt+It},Le={x:tt+bt,y:lt+It},Ce={x:tt+bt/2,y:lt},Et={x:tt+bt/2,y:lt+It},Tt={x:tt,y:lt+It/2},Ye={x:tt+bt,y:lt+It/2},et={x:tt+bt/2,y:lt+It/2};return[Kt,zt,Mt,Le,Ce,Et,Tt,Ye,et]},ue=function(je,tt){var lt=D(je),bt=D(tt);if(bt.minX>=lt.maxX||bt.maxX<=lt.minX||bt.minY>=lt.maxY||bt.maxY<=lt.minY)return!1;var It=_createForOfIteratorHelper(je),Kt;try{for(It.s();!(Kt=It.n()).done;){var zt=Kt.value;if(!Pe(tt,zt,EElementType.Polygon))return!1}}catch(Mt){It.e(Mt)}finally{It.f()}return!0},Ee=function(je){for(var tt=[],lt=0;ltbt&&(0,m.isEqual)((0,m.omitBy)(Ce,m.isUndefined),(0,m.omitBy)(Le[bt],m.isUndefined))?Ye=zt:!Tt&&zt.type===M.gr.Mask&&Ye.maskRle&&zt.labelId!==Ce.labelId&&(Ye.maskCanvasElement=(0,S.ei)(Ye.maskRle,It,zt.color)),s()(s()({},Ye),{},{type:zt.type,labelId:zt.labelId,hidden:zt.hidden,color:zt.color,customStyles:zt.customStyles,attributes:zt.attributes,status:zt.status,frameEmpty:Tt})})}),Kt},Ge=function(je){var tt,lt;if(je.activeObjectIndex>=0&&(tt=je.objectList)!==null&&tt!==void 0&&tt[je.activeObjectIndex]&&!((lt=je.objectList)!==null&<!==void 0&<[je.activeObjectIndex].frameEmpty)){var bt;je.creatingObject=_objectSpread(_objectSpread({},je.creatingObject),(bt=je.objectList)===null||bt===void 0?void 0:bt[je.activeObjectIndex]);return}je.prompt={},je.creatingObject=void 0},Ot=function(je,tt,lt){var bt=je.x,It=je.y,Kt=tt.width,zt=tt.height,Mt=lt.elementW,Le=lt.elementH;if(bt>Mt||It>Le||bt+Kt<=0||It+zt<=0)return{xmin:0,ymin:0,xmax:0,ymax:0};var Ce={x:Math.max(0,bt),y:Math.max(0,It)},Et={x:Math.min(bt+Kt,Mt),y:Math.min(It+zt,Le)},Tt={x:je.x,y:je.y},Ye=Re(Ce,Tt),et=Ye.x,_t=Ye.y,Ut=Re(Et,Tt),qt=Ut.x,un=Ut.y;return{xmin:et,ymin:_t,xmax:qt,ymax:un}},$t=function(je){for(var tt=je.getContext("2d",{willReadFrequently:!0}),lt=tt.getImageData(0,0,je.width,je.height),bt=lt.data,It=lt.width,Kt=lt.height,zt=It,Mt=Kt,Le=0,Ce=0,Et=0,Tt=0;Tt0){var et=Tt/4%It,_t=Math.floor(Tt/4/It);Et++,zt=Math.min(zt,et),Mt=Math.min(Mt,_t),Le=Math.max(Le,et),Ce=Math.max(Ce,_t)}}var Ut={xmin:zt,ymin:Mt,xmax:Le,ymax:Ce};return{area:Et,bbox:Ut}},wt=function(je){var tt,lt;if(!je||je.length<2||((tt=je[0])===null||tt===void 0?void 0:tt.length)!==((lt=je[1])===null||lt===void 0?void 0:lt.length))return[];for(var bt=c()(je,2),It=bt[0],Kt=bt[1],zt=[],Mt=0;Mt3&&arguments[3]!==void 0?arguments[3]:"#111111",C=arguments.length>4&&arguments[4]!==void 0?arguments[4]:1,X=arguments.length>5?arguments[5]:void 0,O=_.getContext("2d");O.save(),O.strokeStyle=Q,O.lineWidth=C,O.lineCap="round",O.beginPath(),X&&O.setLineDash(X),O.moveTo(ee.x,ee.y),O.lineTo(se.x+1,se.y+1),O.stroke(),O.restore()}function h(_,ee){var se=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"#111111",Q=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,C=arguments.length>4?arguments[4]:void 0,X=_.getContext("2d");X.save(),X.strokeStyle=se,X.lineWidth=Q,X.lineCap="round",X.lineJoin="round",C&&X.setLineDash(C),X.beginPath(),X.moveTo(ee[0].x,ee[0].y);for(var O=1,H=ee.length;O2&&arguments[2]!==void 0?arguments[2]:"#111111",Q=arguments.length>3&&arguments[3]!==void 0?arguments[3]:20,C=arguments.length>4?arguments[4]:void 0,X=_.getContext("2d");X.save(),X.strokeStyle=se,X.lineWidth=Q,X.lineCap="round",X.lineJoin="round",C&&X.setLineDash(C),X.beginPath();var O=ee[0],H=ee[1];X.moveTo(O.x,O.y);for(var k=1,A=ee.length;k2&&arguments[2]!==void 0?arguments[2]:"#fff",Q=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,C=arguments.length>4?arguments[4]:void 0,X=arguments.length>5?arguments[5]:void 0;if(_){var O=_.getContext("2d");O.save(),O.strokeStyle=se,O.lineWidth=Q,O.beginPath(),C&&O.setLineDash(C),O.rect(ee.x,ee.y,ee.width,ee.height),O.stroke(),X&&(O.fillStyle=X,O.fill()),O.restore()}}function z(_,ee){var se=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"#fff";if(_){var Q=_.getContext("2d");Q.save(),Q.fillStyle=se,Q.beginPath(),Q.rect(ee.x,ee.y,ee.width,ee.height),Q.fill(),Q.restore()}}function U(_,ee){var se=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"#000",Q=arguments.length>3&&arguments[3]!==void 0?arguments[3]:.5,C=_.getContext("2d");C.save(),C.fillStyle=se,C.globalAlpha=Q,C.fillRect(0,0,_.width,_.height),C.globalCompositeOperation="destination-out",C.globalAlpha=1,C.fillRect(ee.x,ee.y,ee.width,ee.height),C.restore()}function T(_){var ee=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{x:0,y:0},se=arguments.length>2?arguments[2]:void 0,Q=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"#fff",C=arguments.length>4&&arguments[4]!==void 0?arguments[4]:1;if(_){var X=_.getContext("2d");X.save(),X.strokeStyle=Q,X.lineWidth=C,X.beginPath();var O=ee.x,H=ee.y;X.moveTo(se[0].x+O,se[0].y+H);for(var k=1;k1&&arguments[1]!==void 0?arguments[1]:{x:0,y:0},se=arguments.length>2?arguments[2]:void 0,Q=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"#fff",C=arguments.length>4&&arguments[4]!==void 0?arguments[4]:1,X=arguments.length>5?arguments[5]:void 0;if(_){var O=_.getContext("2d");O.save(),O.strokeStyle=Q,O.lineWidth=C,X&&O.setLineDash(X),O.beginPath();var H=ee.x,k=ee.y;O.moveTo(se[0].x+H,se[0].y+k);for(var A=1;A2&&arguments[2]!==void 0?arguments[2]:"#fff",Q=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"#fff",C=arguments.length>4&&arguments[4]!==void 0?arguments[4]:1,X=arguments.length>5?arguments[5]:void 0;if(_){var O=_.getContext("2d");O.save(),O.fillStyle=se,O.strokeStyle=Q,O.lineWidth=C,X&&O.setLineDash(X),O.beginPath(),O.moveTo(ee[0].x,ee[0].y);for(var H=1;H0&&O.stroke(),O.fill(),O.restore()}}function L(_,ee,se,Q){var C=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"#ffffff",X=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!1,O=arguments.length>6&&arguments[6]!==void 0?arguments[6]:"center",H=_.getContext("2d");H.save(),H.fillStyle=C,H.textAlign=O,H.textBaseline="top",H.font=(X?"bold ":"")+se+"px Arial",H.fillText(ee,Q.x,Q.y),H.restore()}function j(_,ee,se){var Q=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"#ffffff",C=arguments.length>4?arguments[4]:void 0,X=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"#000",O=_.getContext("2d");O.save();var H=o(0),k=o(360);O.lineWidth=C||0,O.strokeStyle=X,O.fillStyle=Q,O.beginPath(),O.arc(ee.x,ee.y,se,H,k,!1),O.stroke(),O.fill(),O.restore()}function G(_,ee,se,Q,C){var X=arguments.length>5&&arguments[5]!==void 0?arguments[5]:20,O=arguments.length>6&&arguments[6]!==void 0?arguments[6]:"#ffffff",H=_.getContext("2d"),k=o(Q),A=o(C);H.save(),H.strokeStyle=O,H.lineWidth=X,H.beginPath(),H.arc(ee.x,ee.y,se,k,A,!1),H.stroke(),H.restore()}function W(_,ee){var se=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,Q=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"#fff",C=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"#fff",X=arguments.length>5&&arguments[5]!==void 0?arguments[5]:1,O=arguments.length>6?arguments[6]:void 0,H=_.getContext("2d");H.save(),H.fillStyle=Q,H.strokeStyle=C,H.lineWidth=X,H.lineCap="round",H.lineJoin="round",O&&H.setLineDash(O),H.beginPath(),H.moveTo(ee[0].x,ee[0].y);for(var k=1;k0&&H.stroke(),H.fill()),H.restore()}function ne(_,ee){var se=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,Q=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"#111111",C=arguments.length>4&&arguments[4]!==void 0?arguments[4]:1,X=arguments.length>5&&arguments[5]!==void 0?arguments[5]:20,O=arguments.length>6?arguments[6]:void 0,H=_.getContext("2d");H.save(),H.strokeStyle=Q,H.lineWidth=X,H.lineCap="round",H.lineJoin="round",H.beginPath(),O&&H.setLineDash(O);var k=ee[0],A=ee[1];H.moveTo(k.x,k.y);for(var Y=1,de=ee.length;Y0&&(H.globalCompositeOperation="destination-out",H.strokeStyle=Q,H.stroke(),H.strokeStyle=(0,t.a7)(Q,C),H.globalCompositeOperation="source-over",H.stroke()):(H.globalCompositeOperation="destination-out",H.stroke()),H.restore()}},28638:function(b,y,e){"use strict";e.d(y,{Z:function(){return re}});var a=e(39800),t=e(97375),o=e(2556),s=e(12562),n=e(65104),d=e(53357),l=e(58757),c=e(60698),m={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"defs",attrs:{},children:[{tag:"style",attrs:{}}]},{tag:"path",attrs:{d:"M899.1 869.6l-53-305.6H864c14.4 0 26-11.6 26-26V346c0-14.4-11.6-26-26-26H618V138c0-14.4-11.6-26-26-26H432c-14.4 0-26 11.6-26 26v182H160c-14.4 0-26 11.6-26 26v192c0 14.4 11.6 26 26 26h17.9l-53 305.6a25.95 25.95 0 0025.6 30.4h723c1.5 0 3-.1 4.4-.4a25.88 25.88 0 0021.2-30zM204 390h272V182h72v208h272v104H204V390zm468 440V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H416V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H202.8l45.1-260H776l45.1 260H672z"}}]},name:"clear",theme:"outlined"},g=m,M=e(17202),h=function(q,ue){return l.createElement(M.Z,(0,c.Z)({},q,{ref:ue,icon:g}))},S=l.forwardRef(h),w=e(59504),x=e(35667),z=function(q){var ue=q.categories,Ee=q.filterCategoryName,le=q.onSelectFilter,Ne=q.onClearFilter;return(0,x.jsxs)("div",{className:"dds-quicklabel-image-filter",children:[(0,x.jsx)("div",{children:(0,d._w)("quicklabel.imageFilter")}),(0,x.jsx)(w.Z,{style:{width:150},showSearch:!0,placeholder:(0,d._w)("quicklabel.allCategories"),size:"middle",value:Ee,onChange:le,popupClassName:"filter-options-popup",onClick:function(we){return we.stopPropagation()},onKeyUp:function(we){return we.stopPropagation()},onInputKeyDown:function(we){we.code!=="Enter"&&we.stopPropagation()},dropdownRender:function(we){return(0,x.jsxs)(x.Fragment,{children:[we,(0,x.jsx)(s.ZP,{type:"text",icon:(0,x.jsx)(S,{}),onClick:Ne,children:(0,d._w)("quicklabel.clearFilter")})]})},children:ue==null?void 0:ue.map(function(Ae){return(0,x.jsx)(w.Z.Option,{value:Ae.name,children:Ae.name},Ae.name)})})]})},U=z,T=e(88205),N=e.n(T),Z=e(18695),D=function(q){var ue=q.images,Ee=q.selected,le=q.onImageSelected,Ne=(0,l.useState)(0),Ae=N()(Ne,2),we=Ae[0],Re=Ae[1],st=120,nt=(0,l.useCallback)(function(){var We=document.getElementById("image-options-container");if(We){var Be=We.offsetHeight||0;Re(Be-56)}},[]);(0,l.useEffect)(function(){return nt(),window.addEventListener("resize",nt),function(){window.removeEventListener("resize",nt)}},[nt]);var _e=function(Be){Be<0||Be>=ue.length||le(Be)};return(0,x.jsx)("div",{id:"image-options-container",className:"dds-quicklabel-options-list",children:(0,x.jsx)(Z.Z,{className:"dds-quicklabel-options-list-virtual",data:ue,height:we,fullHeight:!0,itemHeight:st,itemKey:"id",children:function(Be,it){var Ge=it===Ee?"dds-quicklabel-options-list-image-selected":"";return(0,x.jsx)("div",{children:(0,x.jsx)("img",{className:"dds-quicklabel-options-list-image ".concat(Ge),src:Be.url,onClick:function(){return _e(it)}},Be.id)})}})})},L={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]},name:"upload",theme:"outlined"},j=L,G=function(q,ue){return l.createElement(M.Z,(0,c.Z)({},q,{ref:ue,icon:j}))},W=l.forwardRef(G),ne=e(62109),_=e(15618),ee=e(51830),se=e(24454),Q=e.n(se),C=e(34485),X=e.n(C),O=e(88479),H=e.n(O),k=e(56592),A=e.n(k),Y=e(84045),de=e(79233),me=e(23671),ve=e(68716),be=e(8851),Pe=function(oe,q){q===void 0&&(q={});var ue=(0,me.Z)(q),Ee=(0,l.useRef)();(0,be.Z)(function(){var le=(0,ve.n)(oe);if(le!=null&&le.addEventListener){var Ne=function(_e,We){var Be=_e.getData("text/uri-list"),it=_e.getData("custom");if(it&&ue.current.onDom){var Ge=it;try{Ge=JSON.parse(it)}catch(Ot){Ge=it}ue.current.onDom(Ge,We);return}if(Be&&ue.current.onUri){ue.current.onUri(Be,We);return}if(_e.files&&_e.files.length&&ue.current.onFiles){ue.current.onFiles(Array.from(_e.files),We);return}_e.items&&_e.items.length&&ue.current.onText&&_e.items[0].getAsString(function(Ot){ue.current.onText(Ot,We)})},Ae=function(_e){var We,Be;_e.preventDefault(),_e.stopPropagation(),Ee.current=_e.target,(Be=(We=ue.current).onDragEnter)===null||Be===void 0||Be.call(We,_e)},we=function(_e){var We,Be;_e.preventDefault(),(Be=(We=ue.current).onDragOver)===null||Be===void 0||Be.call(We,_e)},Re=function(_e){var We,Be;_e.target===Ee.current&&((Be=(We=ue.current).onDragLeave)===null||Be===void 0||Be.call(We,_e))},st=function(_e){var We,Be;_e.preventDefault(),Ne(_e.dataTransfer,_e),(Be=(We=ue.current).onDrop)===null||Be===void 0||Be.call(We,_e)},nt=function(_e){var We,Be;Ne(_e.clipboardData,_e),(Be=(We=ue.current).onPaste)===null||Be===void 0||Be.call(We,_e)};return le.addEventListener("dragenter",Ae),le.addEventListener("dragover",we),le.addEventListener("dragleave",Re),le.addEventListener("drop",st),le.addEventListener("paste",nt),function(){le.removeEventListener("dragenter",Ae),le.removeEventListener("dragover",we),le.removeEventListener("dragleave",Re),le.removeEventListener("drop",st),le.removeEventListener("paste",nt)}}},[],oe)},Je=Pe,qe=e(39378),Xe=Object.defineProperty,mt=Object.getOwnPropertySymbols,Ct=Object.prototype.hasOwnProperty,vt=Object.prototype.propertyIsEnumerable,Ht=(oe,q,ue)=>q in oe?Xe(oe,q,{enumerable:!0,configurable:!0,writable:!0,value:ue}):oe[q]=ue,ke=(oe,q)=>{for(var ue in q||(q={}))Ct.call(q,ue)&&Ht(oe,ue,q[ue]);if(mt)for(var ue of mt(q))vt.call(q,ue)&&Ht(oe,ue,q[ue]);return oe};const Ve=oe=>l.createElement("svg",ke({viewBox:"0 0 91 75",fill:"none",xmlns:"http://www.w3.org/2000/svg"},oe),l.createElement("path",{d:"M60.633.007C49.453-.22 37.923 6.255 34.76 20.864c-12.874-4.444-24.497 4.32-23.29 18.315C4.735 41.932 0 48.587 0 56.409 0 66.709 8.199 75 18.383 75h22.33c-.005-6.26-.018-18.818-.018-21.197l-5.237 1.919c-3.8 1.656-6.605-3.183-3.352-6.195l9.909-9.739c2.263-2.288 4.966-2.026 6.97 0l9.909 9.739c3.253 3.012.447 7.85-3.352 6.195l-5.237-1.92V75h22.312C82.801 75 91 66.708 91 56.41c0-7.58-4.45-14.06-10.855-16.96C92.558 14.977 76.972.336 60.633.006Z",fill:"#B9CEFF"}),l.createElement("path",{d:"M60.633.004c-.623-.013-1.306.009-1.93.037-14.278 22.757 7.788 39.403 21.442 39.403C92.558 14.974 76.972.334 60.633.004Z",fill:"#739EFF"}));var ot="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgOTEgNzUiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTYwLjYzMy4wMDdDNDkuNDUzLS4yMiAzNy45MjMgNi4yNTUgMzQuNzYgMjAuODY0Yy0xMi44NzQtNC40NDQtMjQuNDk3IDQuMzItMjMuMjkgMTguMzE1QzQuNzM1IDQxLjkzMiAwIDQ4LjU4NyAwIDU2LjQwOSAwIDY2LjcwOSA4LjE5OSA3NSAxOC4zODMgNzVoMjIuMzNjLS4wMDUtNi4yNi0uMDE4LTE4LjgxOC0uMDE4LTIxLjE5N2wtNS4yMzcgMS45MTljLTMuOCAxLjY1Ni02LjYwNS0zLjE4My0zLjM1Mi02LjE5NWw5LjkwOS05LjczOWMyLjI2My0yLjI4OCA0Ljk2Ni0yLjAyNiA2Ljk3IDBsOS45MDkgOS43MzljMy4yNTMgMy4wMTIuNDQ3IDcuODUtMy4zNTIgNi4xOTVsLTUuMjM3LTEuOTJWNzVoMjIuMzEyQzgyLjgwMSA3NSA5MSA2Ni43MDggOTEgNTYuNDFjMC03LjU4LTQuNDUtMTQuMDYtMTAuODU1LTE2Ljk2QzkyLjU1OCAxNC45NzcgNzYuOTcyLjMzNiA2MC42MzMuMDA2WiIgZmlsbD0iI0I5Q0VGRiIvPjxwYXRoIGQ9Ik02MC42MzMuMDA0Yy0uNjIzLS4wMTMtMS4zMDYuMDA5LTEuOTMuMDM3LTE0LjI3OCAyMi43NTcgNy43ODggMzkuNDAzIDIxLjQ0MiAzOS40MDNDOTIuNTU4IDE0Ljk3NCA3Ni45NzIuMzM0IDYwLjYzMy4wMDRaIiBmaWxsPSIjNzM5RUZGIi8+PC9zdmc+",Ke=e(45060),he=e(23605),J=e(95073),V=e(87608),R=e.n(V),P=function(q){var ue=q.files,Ee=q.fileType,le=q.onRemoveFile,Ne=(0,l.useRef)(null),Ae=(0,J.Z)(Ne),we=Ae!=null&&Ae.width&&Ae.width>800?8:5,Re=(0,l.useMemo)(function(){return(0,qe.chunk)(ue,we).map(function(wt,Pt){return{index:Pt,rowImages:wt}})},[ue,we]),st=8,nt=18,_e=.75,We=.95,Be=30,it=(0,l.useMemo)(function(){return Ae!=null&&Ae.width?((Ae==null?void 0:Ae.width)-nt*2-(we-1)*st)/we:0},[Ae==null?void 0:Ae.width,we,st]),Ge=(0,l.useMemo)(function(){return it*We},[it,We]),Ot=(0,l.useMemo)(function(){return Ge*_e},[Ge,_e]),$t=(0,l.useMemo)(function(){return Ot+Be+16},[Ot,Be]);return(0,x.jsx)("div",{ref:Ne,className:"dds-upload-list",children:(0,x.jsx)(Z.Z,{className:"virtual-list",data:Re,height:(Ae==null?void 0:Ae.height)||0,fullHeight:!0,itemHeight:$t,itemKey:"index",children:function(Pt,dt){return(0,x.jsx)("div",{className:"row-container",style:{gap:st,padding:"".concat(st,"px ").concat(nt,"px")},children:Pt.rowImages.map(function(je,tt){return(0,x.jsxs)("div",{className:R()("preview-container",{"preview-container-success":je.status==="success","preview-container-error":je.status==="error"}),style:{width:it},children:[Ee==="video"?(0,x.jsx)("video",{className:"file-preview",src:je.url,style:{width:Ge,height:Ot}}):(0,x.jsx)("img",{className:"file-preview",src:je.url,style:{width:Ge,height:Ot}}),(0,x.jsx)("div",{className:"remove-button",children:(0,x.jsx)(s.ZP,{icon:(0,x.jsx)(he.Z,{}),shape:"circle",danger:!0,onClick:function(bt){bt.stopPropagation(),le(dt*we+tt)}})}),(0,x.jsx)("div",{className:"file-name",children:je.name})]},je.name)})},dt)}})})},B=P,ge=function(q){var ue=q.fileList,Ee=q.setFileList,le=q.acceptTypes,Ne=q.maxCount,Ae=q.maxSize,we=q.maxDuratuion,Re=q.limitRemoveFile,st=q.fileType,nt=(0,d.bU)(),_e=nt.localeText,We=(0,l.useState)(!1),Be=N()(We,2),it=Be[0],Ge=Be[1],Ot=(0,l.useState)(!1),$t=N()(Ot,2),wt=$t[0],Pt=$t[1],dt=(0,l.useRef)(!1),je=(0,l.useRef)(null),tt=le?le.join(", "):void 0,lt=function(){var zt=A()(Q()().mark(function Mt(Le){var Ce,Et,Tt,Ye,et;return Q()().wrap(function(Ut){for(;;)switch(Ut.prev=Ut.next){case 0:Ge(!0),Ce=[],Et=H()(Le),Ut.prev=3,Ye=Q()().mark(function qt(){var un,Mn,vn,Xn;return Q()().wrap(function(or){for(;;)switch(or.prev=or.next){case 0:if(un=Tt.value,Mn=0,vn=0,Xn=0,!(Ae&&un.size&&un.size/1024/1024>Ae)){or.next=4;break}return or.abrupt("return","continue");case 4:if(!(Ne&&Ce.length+ue.length>Ne-1)){or.next=6;break}return or.abrupt("return","continue");case 6:if(!ue.find(function(er){return er.name===un.name})){or.next=8;break}return or.abrupt("return","continue");case 8:Ce.push({id:un.name,name:un.name,url:URL.createObjectURL(un),originFileObj:un,frameCount:Mn,frameRate:vn,duration:Xn});case 9:case"end":return or.stop()}},qt)}),Et.s();case 6:if((Tt=Et.n()).done){Ut.next=13;break}return Ut.delegateYield(Ye(),"t0",8);case 8:if(et=Ut.t0,et!=="continue"){Ut.next=11;break}return Ut.abrupt("continue",11);case 11:Ut.next=6;break;case 13:Ut.next=18;break;case 15:Ut.prev=15,Ut.t1=Ut.catch(3),Et.e(Ut.t1);case 18:return Ut.prev=18,Et.f(),Ut.finish(18);case 21:Ge(!1),Ce.length>0&&(Ee([].concat(Ce,X()(ue))),Y.ZP.success(_e("dds-upload.tip.successLoad",{count:Ce.length})));case 23:case"end":return Ut.stop()}},Mt,null,[[3,15,18,21]])}));return function(Le){return zt.apply(this,arguments)}}(),bt=(0,l.useCallback)(function(zt){if(!(Re&&Re(zt))){var Mt=(0,qe.cloneDeep)(ue);Mt.splice(zt,1),Ee(Mt)}},[ue]),It=function(Mt){dt.current=!1;var Le=Mt.target.files?X()(Mt.target.files):[];Le.length>0&<(Le),Pt(!1),Mt.target.value=""},Kt=(0,l.useCallback)(function(){var zt;if(Ne&&ue.length>=Ne){Y.ZP.warning(_e("dds-upload.tip.fileCountLimitMsg",{count:Ne}));return}Pt(!0),(zt=je.current)===null||zt===void 0||zt.click(),dt.current=!0,window.addEventListener("focus",function(){setTimeout(function(){dt.current&&Pt(!1)},100)},{once:!0})},[ue,Ne]);return Je(window.document.body,{onFiles:function(){var zt=A()(Q()().mark(function Le(Ce,Et){var Tt;return Q()().wrap(function(et){for(;;)switch(et.prev=et.next){case 0:if(!(Ne&&ue.length>=Ne)){et.next=3;break}return Y.ZP.warning(_e("dds-upload.tip.fileCountLimitMsg",{count:Ne})),et.abrupt("return");case 3:return et.next=5,(0,Ke._q)(Et==null?void 0:Et.dataTransfer,le);case 5:Tt=et.sent,lt(Tt);case 7:case"end":return et.stop()}},Le)}));function Mt(Le,Ce){return zt.apply(this,arguments)}return Mt}(),onDragEnter:function(){Pt(!0)},onDrop:function(){Pt(!1)},onDragLeave:function(){Pt(!1)}}),(0,x.jsxs)("div",{className:"dds-upload",children:[(0,x.jsx)("input",{ref:je,type:"file",accept:tt,multiple:!0,onChange:It}),ue.length<=0?(0,x.jsxs)("div",{className:R()("dds-upload-empty",{"dds-upload-draging":wt}),onClick:Kt,children:[(0,x.jsx)(Ve,{}),(0,x.jsx)("p",{className:"dds-upload-title",children:_e("dds-upload.title")}),(0,x.jsx)("p",{className:"dds-upload-text",children:_e(st==="video"?"dds-upload.limit.type.video":"dds-upload.limit.type.image")})]}):(0,x.jsxs)("div",{className:R()("dds-upload-content",{"dds-upload-draging":wt}),children:[(0,x.jsxs)("div",{className:"dds-upload-topbar",children:[(0,x.jsxs)("div",{children:[(0,x.jsx)("div",{className:"dds-upload-title",children:_e("dds-upload.title")}),(0,x.jsx)("div",{className:"dds-upload-text",children:_e(st==="video"?"dds-upload.limit.type.video":"dds-upload.limit.type.image")})]}),(0,x.jsx)(s.ZP,{type:"primary",onClick:Kt,children:_e("dds-upload.upload")})]}),(0,x.jsxs)("div",{className:"dds-upload-content-list",children:[Ne&&(0,x.jsxs)("div",{className:"dds-upload-content-list-count",children:[ue.length," / ",Ne]}),(0,x.jsx)(B,{files:ue,onRemoveFile:bt,fileType:st})]})]}),it&&(0,x.jsx)(de.Z,{size:"large",className:"dds-upload-loading",spinning:it,delay:500})]})},ie=ge,pe=1e3,Oe=10,xe=function(q){var ue=q.open,Ee=q.isInit,le=q.fileList,Ne=q.setFileList,Ae=q.onClickOk,we=q.onClickCancel,Re=q.limitRemoveFile,st=q.okText,nt=q.limitClose,_e=q.uploadPreAnnot,We=q.onChangePreAnnotFile,Be=q.onRemovePreAnnotFile;return(0,x.jsx)("div",{onMouseDown:function(Ge){return Ge.stopPropagation()},onMouseUp:function(Ge){return Ge.stopPropagation()},children:(0,x.jsxs)(ne.Z,{title:(0,d._w)("quicklabel.title"),width:675,open:ue,onOk:Ae,onCancel:we,okText:st,okButtonProps:{disabled:le.length===0},cancelButtonProps:{hidden:nt},closable:!nt,destroyOnClose:!0,children:[(0,x.jsx)(_.Z,{message:(0,d._w)("quicklabel.formModal.attn"),description:(0,d._w)("quicklabel.formModal.tip"),type:"info",showIcon:!0}),(0,x.jsx)("div",{className:"dds-quicklabel-subtitle",children:(0,d._w)("quicklabel.formModal.importImages")}),(0,x.jsx)("div",{className:"dds-quicklabel-upload",children:(0,x.jsx)(ie,{fileList:le,setFileList:Ne,fileType:"image",acceptTypes:["image/png","image/jpeg","image/jpg"],limitRemoveFile:Re,maxCount:pe,maxSize:Oe})}),(0,x.jsx)(_.Z,{className:"dds-quicklabel-upload-tip",message:(0,d._w)("quicklabel.formModal.imageTips",{count:pe,size:Oe}),type:"info",showIcon:!0}),Ee&&(0,x.jsx)(ee.Tn,{uploadFiles:_e,onChangeFile:We,onRemoveFile:Be,children:(0,x.jsx)(s.ZP,{icon:(0,x.jsx)(W,{}),className:"dds-quicklabel-upload-preannot-btn",children:(0,d._w)("quicklabel.formModal.importPreAnnots")})})]})})},Se=xe,$e=function(q){var ue=q.images,Ee=q.filterImages,le=q.current,Ne=q.categories,Ae=q.qsModalVisible,we=q.uploadFiles,Re=q.uploadPreAnnot,st=q.filterCategoryName,nt=q.setImages,_e=q.setCurrent,We=q.setCategories,Be=q.setQsModalVisible,it=q.setUploadFiles,Ge=q.limitRemoveFile,Ot=q.onCancelUploadFiles,$t=q.onConfirmUploadFiles,wt=q.exportAnnotations,Pt=q.onChangePreAnnotFile,dt=q.onRemovePreAnnotFile,je=q.onSelectFilterCategory,tt=q.onClearFilterCategory;(0,l.useEffect)(function(){ue.length<=0&&Be(!0)},[]),(0,o.Z)("uparrow",function(){_e(Math.max(0,le-1))},{exactMatch:!0}),(0,o.Z)("downarrow",function(){_e(Math.min(le+1,ue.length-1))},{exactMatch:!0});var lt=function(It,Kt){if(Ee[le]){var zt=Ee[le].originalIndex;nt(function(Mt){Mt[zt]&&(Mt[zt].objects=It,Mt[zt].width=Kt.width,Mt[zt].height=Kt.height)})}};return(0,x.jsxs)("div",{className:"dds-quicklabel",children:[(0,x.jsxs)("div",{className:"dds-quicklabel-list",onMouseDown:function(It){It.stopPropagation()},onMouseUp:function(It){It.stopPropagation()},children:[(0,x.jsx)(s.ZP,{type:"primary",icon:(0,x.jsx)(a.Z,{}),onClick:function(){Be(!0)},children:(0,d._w)("quicklabel.setting")}),(0,x.jsx)(D,{images:Ee,selected:le,onImageSelected:function(It){_e(It)}})]}),(0,x.jsx)("div",{className:"dds-quicklabel-workspace",children:(0,x.jsx)(n.kl,{isOldMode:!0,isSeperate:!0,visible:!0,mode:n.je.Edit,categories:Ne,setCategories:We,list:Ee,current:le,titleElements:[(0,x.jsx)(U,{categories:Ne,filterCategoryName:st,onSelectFilter:je,onClearFilter:tt},"image-filters")],actionElements:[(0,x.jsx)(s.ZP,{type:"primary",onClick:wt,children:(0,d._w)("quicklabel.export")},"export")],onAutoSave:lt,onCancel:function(){return t.history.push("/")}})}),(0,x.jsx)(Se,{open:Ae,isInit:ue.length===0,fileList:we,setFileList:it,limitRemoveFile:Ge,okText:(0,d._w)("quicklabel.formModal.confirm"),onClickCancel:Ot,onClickOk:$t,limitClose:ue.length<=0,uploadPreAnnot:Re,onChangePreAnnotFile:Pt,onRemovePreAnnotFile:dt})]})},re=$e},51830:function(b,y,e){"use strict";e.d(y,{ii:function(){return Xe},ZJ:function(){return ot},mn:function(){return n},fL:function(){return h},Qs:function(){return Ct},xA:function(){return z},Tn:function(){return oe}});var a=e(79233),t=e(58757),o=e(35667),s=function(ue){var Ee=ue.children,le=ue.active,Ne=ue.tip;return(0,o.jsx)(a.Z,{size:"large",spinning:le,delay:500,style:{maxHeight:"none",opacity:.3},tip:Ne,children:Ee})},n=s,d=e(88205),l=e.n(d),c=e(74820),m=e(12562),g=function(q){return q.en="en-US",q.zh="zh-CN",q}({}),M=function(ue){var Ee=ue.getLocale,le=ue.setLocale,Ne=ue.tooltipPlacement,Ae=Ne===void 0?"right":Ne,we=ue.theme,Re=we===void 0?"light":we,st=ue.className,nt=Ee(),_e=function(){var $t=nt===g.zh?g.en:g.zh;le($t)},We=(0,t.useMemo)(function(){return nt===g.zh?["change-lang change-lang-".concat(Re),"cur-lang cur-lang-".concat(Re)]:["cur-lang cur-lang-".concat(Re),"change-lang change-lang-".concat(Re)]},[Re,nt]),Be=l()(We,2),it=Be[0],Ge=Be[1];return(0,o.jsx)(c.Z,{placement:Ae,title:nt===g.zh?"\u4E2D\u6587 / English":"English / \u4E2D\u6587",children:(0,o.jsx)(m.ZP,{type:"text",className:"dds-lang-selector ".concat(st),onClick:_e,children:(0,o.jsxs)("div",{children:[(0,o.jsx)("span",{className:Ge,children:"\u4E2D"}),(0,o.jsx)("span",{className:it,children:"En"})]})})})},h=M,S=e(62109),w=e(12632),x=function(ue){var Ee=ue.error,le=ue.componentStack,Ne=ue.resetError,Ae=function(){S.Z.error({title:Ee.toString(),content:(0,o.jsx)("div",{style:{height:"60vh",overflowY:"scroll"},children:(0,o.jsx)("p",{children:le})}),onOk:function(){},maskClosable:!0,width:"80vw"})};return(0,o.jsx)("div",{style:{position:"relative",height:"calc(100vh - 64px)",width:"100%",backgroundColor:"#fff",display:"flex",justifyContent:"center",alignItems:"center"},children:(0,o.jsx)(w.ZP,{status:"500",title:"Running Error",subTitle:"Sorry, something went wrong.",extra:[(0,o.jsx)(m.ZP,{type:"primary",onClick:Ne,children:"Click here to reset"},"bt1"),(0,o.jsx)(m.ZP,{onClick:Ae,children:"Error Detail"},"bt2")]})})},z=x,U=e(73267),T=e(94706),N=Object.defineProperty,Z=Object.getOwnPropertySymbols,D=Object.prototype.hasOwnProperty,L=Object.prototype.propertyIsEnumerable,j=(q,ue,Ee)=>ue in q?N(q,ue,{enumerable:!0,configurable:!0,writable:!0,value:Ee}):q[ue]=Ee,G=(q,ue)=>{for(var Ee in ue||(ue={}))D.call(ue,Ee)&&j(q,Ee,ue[Ee]);if(Z)for(var Ee of Z(ue))L.call(ue,Ee)&&j(q,Ee,ue[Ee]);return q};const W=q=>t.createElement("svg",G({width:24,height:24,fill:"none",xmlns:"http://www.w3.org/2000/svg"},q),t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M16 4.4c0-.22.18-.4.4-.4h1.2c.22 0 .4.18.4.4V6h3.6c.22 0 .4.18.4.4v1.2a.4.4 0 0 1-.4.4H18v1.6a.4.4 0 0 1-.4.4h-1.2a.4.4 0 0 1-.4-.4V4.4ZM2.4 6a.4.4 0 0 0-.4.4v1.2c0 .22.18.4.4.4h11.2a.4.4 0 0 0 .4-.4V6.4a.4.4 0 0 0-.4-.4H2.4Zm8 10a.4.4 0 0 0-.4.4v1.2c0 .22.18.4.4.4h11.2a.4.4 0 0 0 .4-.4v-1.2a.4.4 0 0 0-.4-.4H10.4Zm-8 0a.4.4 0 0 0-.4.4v1.2c0 .22.18.4.4.4H6v1.6c0 .22.18.4.4.4h1.2a.4.4 0 0 0 .4-.4v-5.2a.4.4 0 0 0-.4-.4H6.4a.4.4 0 0 0-.4.4V16H2.4Z",fill:"#434343"}));var ne="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNiA0LjRjMC0uMjIuMTgtLjQuNC0uNGgxLjJjLjIyIDAgLjQuMTguNC40VjZoMy42Yy4yMiAwIC40LjE4LjQuNHYxLjJhLjQuNCAwIDAgMS0uNC40SDE4djEuNmEuNC40IDAgMCAxLS40LjRoLTEuMmEuNC40IDAgMCAxLS40LS40VjQuNFpNMi40IDZhLjQuNCAwIDAgMC0uNC40djEuMmMwIC4yMi4xOC40LjQuNGgxMS4yYS40LjQgMCAwIDAgLjQtLjRWNi40YS40LjQgMCAwIDAtLjQtLjRIMi40Wm04IDEwYS40LjQgMCAwIDAtLjQuNHYxLjJjMCAuMjIuMTguNC40LjRoMTEuMmEuNC40IDAgMCAwIC40LS40di0xLjJhLjQuNCAwIDAgMC0uNC0uNEgxMC40Wm0tOCAwYS40LjQgMCAwIDAtLjQuNHYxLjJjMCAuMjIuMTguNC40LjRINnYxLjZjMCAuMjIuMTguNC40LjRoMS4yYS40LjQgMCAwIDAgLjQtLjR2LTUuMmEuNC40IDAgMCAwLS40LS40SDYuNGEuNC40IDAgMCAwLS40LjRWMTZIMi40WiIgZmlsbD0iIzQzNDM0MyIvPjwvc3ZnPg==",_=Object.defineProperty,ee=Object.getOwnPropertySymbols,se=Object.prototype.hasOwnProperty,Q=Object.prototype.propertyIsEnumerable,C=(q,ue,Ee)=>ue in q?_(q,ue,{enumerable:!0,configurable:!0,writable:!0,value:Ee}):q[ue]=Ee,X=(q,ue)=>{for(var Ee in ue||(ue={}))se.call(ue,Ee)&&C(q,Ee,ue[Ee]);if(ee)for(var Ee of ee(ue))Q.call(ue,Ee)&&C(q,Ee,ue[Ee]);return q};const O=q=>t.createElement("svg",X({width:16,height:16,fill:"none",xmlns:"http://www.w3.org/2000/svg"},q),t.createElement("path",{d:"M8.536 1.572H7.464c-.095 0-.143.048-.143.143v5.607h-5.32c-.096 0-.144.048-.144.143v1.072c0 .095.048.142.143.142h5.321v5.608c0 .095.048.142.143.142h1.072c.095 0 .142-.047.142-.142V8.679H14c.095 0 .143-.047.143-.142V7.465c0-.095-.048-.143-.143-.143H8.678V1.715c0-.095-.047-.143-.142-.143Z",fill:"#595959"}));var H="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTguNTM2IDEuNTcySDcuNDY0Yy0uMDk1IDAtLjE0My4wNDgtLjE0My4xNDN2NS42MDdoLTUuMzJjLS4wOTYgMC0uMTQ0LjA0OC0uMTQ0LjE0M3YxLjA3MmMwIC4wOTUuMDQ4LjE0Mi4xNDMuMTQyaDUuMzIxdjUuNjA4YzAgLjA5NS4wNDguMTQyLjE0My4xNDJoMS4wNzJjLjA5NSAwIC4xNDItLjA0Ny4xNDItLjE0MlY4LjY3OUgxNGMuMDk1IDAgLjE0My0uMDQ3LjE0My0uMTQyVjcuNDY1YzAtLjA5NS0uMDQ4LS4xNDMtLjE0My0uMTQzSDguNjc4VjEuNzE1YzAtLjA5NS0uMDQ3LS4xNDMtLjE0Mi0uMTQzWiIgZmlsbD0iIzU5NTk1OSIvPjwvc3ZnPg==",k=Object.defineProperty,A=Object.getOwnPropertySymbols,Y=Object.prototype.hasOwnProperty,de=Object.prototype.propertyIsEnumerable,me=(q,ue,Ee)=>ue in q?k(q,ue,{enumerable:!0,configurable:!0,writable:!0,value:Ee}):q[ue]=Ee,ve=(q,ue)=>{for(var Ee in ue||(ue={}))Y.call(ue,Ee)&&me(q,Ee,ue[Ee]);if(A)for(var Ee of A(ue))de.call(ue,Ee)&&me(q,Ee,ue[Ee]);return q};const be=q=>t.createElement("svg",ve({width:16,height:16,fill:"none",xmlns:"http://www.w3.org/2000/svg"},q),t.createElement("path",{d:"M14.429 7.322H1.572a.143.143 0 0 0-.143.143v1.072c0 .078.064.142.143.142h12.857a.143.143 0 0 0 .143-.142V7.465a.143.143 0 0 0-.143-.143Z",fill:"#595959"}));var Pe="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE0LjQyOSA3LjMyMkgxLjU3MmEuMTQzLjE0MyAwIDAgMC0uMTQzLjE0M3YxLjA3MmMwIC4wNzguMDY0LjE0Mi4xNDMuMTQyaDEyLjg1N2EuMTQzLjE0MyAwIDAgMCAuMTQzLS4xNDJWNy40NjVhLjE0My4xNDMgMCAwIDAtLjE0My0uMTQzWiIgZmlsbD0iIzU5NTk1OSIvPjwvc3ZnPg==",Je=e(53357),qe=function(ue){var Ee=(0,Je.bU)(),le=Ee.localeText,Ne=ue.cloumnCount,Ae=ue.maxCloumnCount,we=Ae===void 0?8:Ae,Re=ue.onColumnCountChange,st=ue.getPopupContainer;return(0,o.jsx)(U.Z,{getPopupContainer:st,dropdownRender:function(){return(0,o.jsxs)("div",{className:"dds-column-settings-panel",children:[(0,o.jsx)("div",{className:"item-title",children:le("ColumnSettings.title")}),(0,o.jsxs)("div",{className:"item-content",children:[(0,o.jsx)(T.Z,{min:1,max:we,onChange:function(We){return Re(We)},value:Ne,className:"slider"}),(0,o.jsxs)("div",{className:"num-box",children:[(0,o.jsx)(be,{onClick:function(){return Re(!1)}}),(0,o.jsx)("div",{className:"num",children:Ne}),(0,o.jsx)(O,{onClick:function(){return Re(!0)}})]})]})]})},children:(0,o.jsx)("div",{className:"dds-column-settings-btn",children:(0,o.jsx)(W,{})})})},Xe=qe,mt=function(){return(0,o.jsx)("div",{style:{height:"100vh",width:"100%",backgroundColor:"#fff",display:"flex",justifyContent:"center",alignItems:"center"},children:(0,o.jsx)(w.ZP,{status:"404",title:(0,Je._w)("MobileAlert.title"),subTitle:(0,Je._w)("MobileAlert.subTitle")})})},Ct=mt,vt=e(35910),Ht=e(32423),ke=e(39378),Ve=function(ue){var Ee=ue.current,le=ue.size,Ne=ue.total,Ae=ue.onPageChange,we=ue.onPageSizeChange,Re=(0,t.useState)(le),st=l()(Re,2),nt=st[0],_e=st[1],We=(0,Je.bU)(),Be=We.localeText;return(0,o.jsxs)("div",{className:"dds-dynamic-pagination",children:[(0,o.jsx)(vt.Z,{current:Ee,pageSize:le,total:Ne,showSizeChanger:!1,showQuickJumper:!0,onChange:function(Ge){return Ae(Ge)}}),(0,o.jsxs)("div",{className:"pagesize-wrap",children:[(0,o.jsx)("div",{className:"pagesize-label",children:Be("DynamicPagination.label")}),(0,o.jsx)(Ht.Z,{min:1,value:nt,onChange:function(Ge){_e(Number(Ge))},onBlur:function(Ge){(0,ke.isNaN)(Number(Ge.target.value))||Number(Ge.target.value)<=0?we(Ee,1):we(Ee,Number(Ge.target.value))},onPressEnter:function(Ge){Ge.target.blur(Ge)}})]})]})},ot=Ve,Ke=e(28638),he=e(65104),J=e(39875),V=e(23241),R=e(18624),P=Object.defineProperty,B=Object.getOwnPropertySymbols,ge=Object.prototype.hasOwnProperty,ie=Object.prototype.propertyIsEnumerable,pe=(q,ue,Ee)=>ue in q?P(q,ue,{enumerable:!0,configurable:!0,writable:!0,value:Ee}):q[ue]=Ee,Oe=(q,ue)=>{for(var Ee in ue||(ue={}))ge.call(ue,Ee)&&pe(q,Ee,ue[Ee]);if(B)for(var Ee of B(ue))ie.call(ue,Ee)&&pe(q,Ee,ue[Ee]);return q};const xe=q=>t.createElement("svg",Oe({viewBox:"0 0 56 56",fill:"none",xmlns:"http://www.w3.org/2000/svg"},q),t.createElement("g",{clipPath:"url(#upload_file_svg__a)"},t.createElement("path",{d:"m46.55 12.917-8.132-8.131A16.227 16.227 0 0 0 26.868.002H16.333C9.9 0 4.667 5.234 4.667 11.667v32.666C4.667 50.766 9.9 56 16.333 56h23.334c6.433 0 11.666-5.234 11.666-11.667V24.465c0-4.363-1.698-8.46-4.783-11.548Zm-3.3 3.3c.743.742 1.37 1.565 1.879 2.45H35a2.337 2.337 0 0 1-2.333-2.334V6.204c.884.509 1.71 1.137 2.45 1.879l8.131 8.131.003.003Zm3.417 28.116c0 3.86-3.141 7-7 7H16.333c-3.859 0-7-3.14-7-7V11.667c0-3.86 3.141-7 7-7h10.535c.38 0 .759.018 1.132.053v11.613c0 3.86 3.14 7 7 7h11.613c.035.374.054.752.054 1.132v19.868ZM36.65 33.79a2.33 2.33 0 0 1 0 3.3 2.327 2.327 0 0 1-1.65.683 2.327 2.327 0 0 1-1.65-.684l-3.017-3.017v10.262a2.334 2.334 0 0 1-4.666 0V34.071l-3.017 3.017a2.33 2.33 0 0 1-3.3 0 2.33 2.33 0 0 1 0-3.299l3.766-3.766c2.693-2.693 7.075-2.693 9.77 0l3.766 3.766h-.002Z",fill:"#739EFF"})),t.createElement("defs",null,t.createElement("clipPath",{id:"upload_file_svg__a"},t.createElement("path",{fill:"#fff",d:"M0 0h56v56H0z"}))));var Se="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNTYgNTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJtNDYuNTUgMTIuOTE3LTguMTMyLTguMTMxQTE2LjIyNyAxNi4yMjcgMCAwIDAgMjYuODY4LjAwMkgxNi4zMzNDOS45IDAgNC42NjcgNS4yMzQgNC42NjcgMTEuNjY3djMyLjY2NkM0LjY2NyA1MC43NjYgOS45IDU2IDE2LjMzMyA1NmgyMy4zMzRjNi40MzMgMCAxMS42NjYtNS4yMzQgMTEuNjY2LTExLjY2N1YyNC40NjVjMC00LjM2My0xLjY5OC04LjQ2LTQuNzgzLTExLjU0OFptLTMuMyAzLjNjLjc0My43NDIgMS4zNyAxLjU2NSAxLjg3OSAyLjQ1SDM1YTIuMzM3IDIuMzM3IDAgMCAxLTIuMzMzLTIuMzM0VjYuMjA0Yy44ODQuNTA5IDEuNzEgMS4xMzcgMi40NSAxLjg3OWw4LjEzMSA4LjEzMS4wMDMuMDAzWm0zLjQxNyAyOC4xMTZjMCAzLjg2LTMuMTQxIDctNyA3SDE2LjMzM2MtMy44NTkgMC03LTMuMTQtNy03VjExLjY2N2MwLTMuODYgMy4xNDEtNyA3LTdoMTAuNTM1Yy4zOCAwIC43NTkuMDE4IDEuMTMyLjA1M3YxMS42MTNjMCAzLjg2IDMuMTQgNyA3IDdoMTEuNjEzYy4wMzUuMzc0LjA1NC43NTIuMDU0IDEuMTMydjE5Ljg2OFpNMzYuNjUgMzMuNzlhMi4zMyAyLjMzIDAgMCAxIDAgMy4zIDIuMzI3IDIuMzI3IDAgMCAxLTEuNjUuNjgzIDIuMzI3IDIuMzI3IDAgMCAxLTEuNjUtLjY4NGwtMy4wMTctMy4wMTd2MTAuMjYyYTIuMzM0IDIuMzM0IDAgMCAxLTQuNjY2IDBWMzQuMDcxbC0zLjAxNyAzLjAxN2EyLjMzIDIuMzMgMCAwIDEtMy4zIDAgMi4zMyAyLjMzIDAgMCAxIDAtMy4yOTlsMy43NjYtMy43NjZjMi42OTMtMi42OTMgNy4wNzUtMi42OTMgOS43NyAwbDMuNzY2IDMuNzY2aC0uMDAyWiIgZmlsbD0iIzczOUVGRiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoNTZ2NTZIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=",$e=20,re=function(ue){var Ee=ue.uploadFiles,le=ue.onChangeFile,Ne=ue.onRemoveFile,Ae=ue.children,we=(0,Je.bU)(),Re=we.localeText;return(0,o.jsx)(V.Z,{className:"dds-upload-pre-anno",maxCount:1,beforeUpload:function(){return!1},fileList:Ee,onChange:le,onRemove:Ne,accept:".json",showUploadList:!0,children:Ae||(0,o.jsx)(R.Z,{children:(0,o.jsx)(R.Z.Meta,{avatar:(0,o.jsx)(J.Z,{component:xe}),title:Re("dds-upload-pre-anno"),description:Re("dds-upload-pre-anno.tip",{maxSize:$e})})})})},oe=re},28506:function(b,y,e){"use strict";e.d(y,{_:function(){return x},w:function(){return z}});var a=e(63900),t=e.n(a),o=e(88205),s=e.n(o),n=e(58757),d=e(86429),l=e(51129),c=e(74324),m=e(66682);const g=m,M={parseNumbers:!1,parseBooleans:!1},h={skipNull:!1,skipEmptyString:!1};var w=(U,T)=>{var N,Z;const{navigateMode:D="push",parseOptions:L,stringifyOptions:j}=T||{},G=Object.assign(Object.assign({},M),L),W=Object.assign(Object.assign({},h),j),ne=g.useLocation(),_=(N=g.useHistory)===null||N===void 0?void 0:N.call(g),ee=(Z=g.useNavigate)===null||Z===void 0?void 0:Z.call(g),se=(0,d.Z)(),Q=(0,n.useRef)(typeof U=="function"?U():U||{}),C=(0,n.useMemo)(()=>(0,c.parse)(ne.search,G),[ne.search]),X=(0,n.useMemo)(()=>Object.assign(Object.assign({},Q.current),C),[C]),O=H=>{const k=typeof H=="function"?H(X):H;se(),_&&_[D]({hash:ne.hash,search:(0,c.stringify)(Object.assign(Object.assign({},C),k),W)||"?"},ne.state),ee&&ee({hash:ne.hash,search:(0,c.stringify)(Object.assign(Object.assign({},C),k),W)||"?"},{replace:D==="replace",state:ne.state})};return[X,(0,l.Z)(O)]};function x(U){var T=U.pageState,N=U.onInitPageState,Z=U.onPageDidMount,D=U.onPageWillUnmount,L=w({},{navigateMode:"replace"}),j=s()(L,2),G=j[0],W=j[1];(0,n.useEffect)(function(){if(N){var ne={};try{ne=G.pageState?JSON.parse(G.pageState):{}}catch(_){console.error("get urlPageState error: ",_)}N(ne,G)}return Z&&Z(G),function(){D&&D()}},[]),(0,n.useEffect)(function(){W(t()(t()({},G),{},{pageState:JSON.stringify(T)}))},[T])}function z(){var U=(0,n.useState)(window.innerWidth),T=s()(U,2),N=T[0],Z=T[1],D=(0,n.useState)(window.innerHeight),L=s()(D,2),j=L[0],G=L[1],W=function(){Z(window.innerWidth),G(window.innerHeight)};return(0,n.useEffect)(function(){return window.addEventListener("resize",W),function(){window.removeEventListener("resize",W)}},[]),{width:N,height:j}}},41260:function(b,y,e){"use strict";e.d(y,{O:function(){return t},p:function(){return a}});var a=function(s){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;return Math.floor(s*Math.pow(10,n))/Math.pow(10,n)},t=function(s){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;return Number(s.toFixed(n))}},45060:function(b,y,e){"use strict";e.d(y,{Gf:function(){return m},XV:function(){return c},_q:function(){return S},pz:function(){return x}});var a=e(88479),t=e.n(a),o=e(24454),s=e.n(o),n=e(56592),d=e.n(n),l=e(41260);function c(U,T,N){var Z=new Date(U),D=Z.getFullYear(),L=(0,l.p)(Z.getMonth()+1),j=(0,l.p)(Z.getDate()),G=(0,l.p)(Z.getHours()),W=(0,l.p)(Z.getMinutes()),ne=(0,l.p)(Z.getSeconds()),_=(0,l.p)(Z.getMilliseconds(),3),ee="".concat(D,"_").concat(L,"_").concat(j,"_").concat(G,"_").concat(W,"_").concat(ne,"_").concat(_);return T&&(ee="".concat(T,"_").concat(ee)),N&&(ee="".concat(ee,".").concat(N)),ee}function m(U,T){var N=JSON.stringify(U),Z=new Blob([N],{type:"application/json"}),D=URL.createObjectURL(Z),L=document.createElement("a");L.href=D,L.download=T,document.body.appendChild(L),L.click(),document.body.removeChild(L),URL.revokeObjectURL(D)}var g=function(T){return new Promise(function(N,Z){var D=new Image;D.src=T,D.onload=function(){N(D)},D.onerror=function(){Z(D)}})};function M(U,T,N){return h.apply(this,arguments)}function h(){return h=d()(s()().mark(function U(T,N,Z){return s()().wrap(function(L){for(;;)switch(L.prev=L.next){case 0:return L.abrupt("return",new Promise(function(j,G){if(T.isDirectory){var W=T.createReader();W.readEntries(function(){var ne=d()(s()().mark(function _(ee){var se;return s()().wrap(function(C){for(;;)switch(C.prev=C.next){case 0:se=0;case 1:if(!(se0)){se.next=25;break}G=t()(T.items),se.prev=7,G.s();case 9:if((W=G.n()).done){se.next=17;break}if(ne=W.value,_=ne.webkitGetAsEntry(),!(_!=null&&_.isDirectory)){se.next=15;break}return se.next=15,M(_,Z,N);case 15:se.next=9;break;case 17:se.next=22;break;case 19:se.prev=19,se.t0=se.catch(7),G.e(se.t0);case 22:return se.prev=22,G.f(),se.finish(22);case 25:return se.abrupt("return",Z);case 26:case"end":return se.stop()}},U,null,[[7,19,22,25]])})),w.apply(this,arguments)}function x(U){return z.apply(this,arguments)}function z(){return z=d()(s()().mark(function U(T){return s()().wrap(function(Z){for(;;)switch(Z.prev=Z.next){case 0:return Z.abrupt("return",new Promise(function(D,L){var j=new Image;j.src=T,j.onload=function(){var G=j.width,W=j.height;D({width:G,height:W})},j.onerror=function(){L(new Error("Load Image Error"))}}));case 1:case"end":return Z.stop()}},U)})),z.apply(this,arguments)}},53357:function(b,y,e){"use strict";e.d(y,{Og:function(){return o},_w:function(){return t},bU:function(){return s}});var a=e(97375),t=function(d){var l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return(0,a.formatMessage)({id:d},l)},o=a.FormattedMessage,s=function(){var d=(0,a.useIntl)(),l=function(m){var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return d.formatMessage({id:m},g)};return{localeText:l}}},23707:function(b,y,e){"use strict";e.d(y,{BQ:function(){return t},Oe:function(){return o},yS:function(){return s}});var a=e(97375),t=function(d){var l=new RegExp("(^|&)"+d+"=([^&]*)(&|$)","i"),c=window.location.search.substr(1).match(l);return c!==null?decodeURIComponent(c[2]):null},o=function(){var d=window.location.pathname.split("/");return d[d.length-1]},s=function(d){document.referrer.includes(d)?window.history.back():a.history.push(d)}},74324:function(b,y,e){"use strict";var a=e(88205).default,t=e(88479).default,o=e(16962).default,s=e(34485).default,n=e(75978),d=e(65140),l=e(96896),c=e(22475),m=function(L){return L==null};function g(D){switch(D.arrayFormat){case"index":return function(L){return function(j,G){var W=j.length;return G===void 0||D.skipNull&&G===null||D.skipEmptyString&&G===""?j:G===null?[].concat(s(j),[[S(L,D),"[",W,"]"].join("")]):[].concat(s(j),[[S(L,D),"[",S(W,D),"]=",S(G,D)].join("")])}};case"bracket":return function(L){return function(j,G){return G===void 0||D.skipNull&&G===null||D.skipEmptyString&&G===""?j:G===null?[].concat(s(j),[[S(L,D),"[]"].join("")]):[].concat(s(j),[[S(L,D),"[]=",S(G,D)].join("")])}};case"comma":case"separator":return function(L){return function(j,G){return G==null||G.length===0?j:j.length===0?[[S(L,D),"=",S(G,D)].join("")]:[[j,S(G,D)].join(D.arrayFormatSeparator)]}};default:return function(L){return function(j,G){return G===void 0||D.skipNull&&G===null||D.skipEmptyString&&G===""?j:G===null?[].concat(s(j),[S(L,D)]):[].concat(s(j),[[S(L,D),"=",S(G,D)].join("")])}}}}function M(D){var L;switch(D.arrayFormat){case"index":return function(j,G,W){if(L=/\[(\d*)\]$/.exec(j),j=j.replace(/\[\d*\]$/,""),!L){W[j]=G;return}W[j]===void 0&&(W[j]={}),W[j][L[1]]=G};case"bracket":return function(j,G,W){if(L=/(\[\])$/.exec(j),j=j.replace(/\[\]$/,""),!L){W[j]=G;return}if(W[j]===void 0){W[j]=[G];return}W[j]=[].concat(W[j],G)};case"comma":case"separator":return function(j,G,W){var ne=typeof G=="string"&&G.includes(D.arrayFormatSeparator),_=typeof G=="string"&&!ne&&w(G,D).includes(D.arrayFormatSeparator);G=_?w(G,D):G;var ee=ne||_?G.split(D.arrayFormatSeparator).map(function(se){return w(se,D)}):G===null?G:w(G,D);W[j]=ee};default:return function(j,G,W){if(W[j]===void 0){W[j]=G;return}W[j]=[].concat(W[j],G)}}}function h(D){if(typeof D!="string"||D.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function S(D,L){return L.encode?L.strict?n(D):encodeURIComponent(D):D}function w(D,L){return L.decode?d(D):D}function x(D){return Array.isArray(D)?D.sort():o(D)==="object"?x(Object.keys(D)).sort(function(L,j){return Number(L)-Number(j)}).map(function(L){return D[L]}):D}function z(D){var L=D.indexOf("#");return L!==-1&&(D=D.slice(0,L)),D}function U(D){var L="",j=D.indexOf("#");return j!==-1&&(L=D.slice(j)),L}function T(D){D=z(D);var L=D.indexOf("?");return L===-1?"":D.slice(L+1)}function N(D,L){return L.parseNumbers&&!Number.isNaN(Number(D))&&typeof D=="string"&&D.trim()!==""?D=Number(D):L.parseBooleans&&D!==null&&(D.toLowerCase()==="true"||D.toLowerCase()==="false")&&(D=D.toLowerCase()==="true"),D}function Z(D,L){L=Object.assign({decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1},L),h(L.arrayFormatSeparator);var j=M(L),G=Object.create(null);if(typeof D!="string"||(D=D.trim().replace(/^[?#&]/,""),!D))return G;var W=t(D.split("&")),ne;try{for(W.s();!(ne=W.n()).done;){var _=ne.value;if(_!==""){var ee=l(L.decode?_.replace(/\+/g," "):_,"="),se=a(ee,2),Q=se[0],C=se[1];C=C===void 0?null:["comma","separator"].includes(L.arrayFormat)?C:w(C,L),j(w(Q,L),C,G)}}}catch(me){W.e(me)}finally{W.f()}for(var X=0,O=Object.keys(G);X0}).join("&")},y.parseUrl=function(D,L){L=Object.assign({decode:!0},L);var j=l(D,"#"),G=a(j,2),W=G[0],ne=G[1];return Object.assign({url:W.split("?")[0]||"",query:Z(T(D),L)},L&&L.parseFragmentIdentifier&&ne?{fragmentIdentifier:w(ne,L)}:{})},y.stringifyUrl=function(D,L){L=Object.assign({encode:!0,strict:!0},L);var j=z(D.url).split("?")[0]||"",G=y.extract(D.url),W=y.parse(G,{sort:!1}),ne=Object.assign(W,D.query),_=y.stringify(ne,L);_&&(_="?".concat(_));var ee=U(D.url);return D.fragmentIdentifier&&(ee="#".concat(S(D.fragmentIdentifier,L))),"".concat(j).concat(_).concat(ee)},y.pick=function(D,L,j){j=Object.assign({parseFragmentIdentifier:!0},j);var G=y.parseUrl(D,j),W=G.url,ne=G.query,_=G.fragmentIdentifier;return y.stringifyUrl({url:W,query:c(ne,L),fragmentIdentifier:_},j)},y.exclude=function(D,L,j){var G=Array.isArray(L)?function(W){return!L.includes(W)}:function(W,ne){return!L(W,ne)};return y.pick(D,G,j)}},96896:function(b){"use strict";b.exports=function(y,e){if(!(typeof y=="string"&&typeof e=="string"))throw new TypeError("Expected the arguments to be of type `string`");if(e==="")return[y];var a=y.indexOf(e);return a===-1?[y]:[y.slice(0,a),y.slice(a+e.length)]}},75978:function(b){"use strict";b.exports=function(y){return encodeURIComponent(y).replace(/[!'()*]/g,function(e){return"%".concat(e.charCodeAt(0).toString(16).toUpperCase())})}},60581:function(b,y,e){"use strict";e.d(y,{Il:function(){return o},Ov:function(){return s}});var a=e(58757),t=null,o=a.createContext({});function s(){return a.useContext(o)}function n(){var m=useLocation(),g=s(),M=g.clientRoutes,h=matchRoutes(M,m.pathname);return h||[]}function d(){var m,g=n().slice(-1),M=((m=g[0])===null||m===void 0?void 0:m.route)||{},h=M.element,S=_objectWithoutProperties(M,t);return S}function l(){var m=useRouteData(),g=s();return{data:g.serverLoaderData[m.route.id]}}function c(){var m=useRouteData(),g=s();return{data:g.clientLoaderData[m.route.id]}}},21325:function(b,y,e){"use strict";var a=e(23671),t=e(68716),o=e(8851);function s(n,d,l){l===void 0&&(l={});var c=(0,a.Z)(d);(0,o.Z)(function(){var m=(0,t.n)(l.target,window);if(m!=null&&m.addEventListener){var g=function(M){return c.current(M)};return m.addEventListener(n,g,{capture:l.capture,once:l.once,passive:l.passive}),function(){m.removeEventListener(n,g,{capture:l.capture})}}},[n,l.capture,l.once,l.passive],l.target)}y.Z=s},2556:function(b,y,e){"use strict";e.d(y,{Z:function(){return D}});var a=e(43112),t=e(23671),o=e(53807),s=e(68716),n=e(58757),d=e(8851),l=e(85466),c=e.n(l),m=function(L,j){return L===void 0&&(L=[]),j===void 0&&(j=[]),c()(L,j)},g=function(L,j,G){var W=(0,n.useRef)(),ne=(0,n.useRef)(0);m(j,W.current)||(W.current=j,ne.current+=1),(0,d.Z)(L,[ne.current],G)},M=g,h=/(mac|iphone|ipod|ipad)/i.test(typeof navigator!="undefined"?navigator==null?void 0:navigator.platform:""),S=h,w={0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,pausebreak:19,capslock:20,esc:27,space:32,pageup:33,pagedown:34,end:35,home:36,leftarrow:37,uparrow:38,rightarrow:39,downarrow:40,insert:45,delete:46,a:65,b:66,c:67,d:68,e:69,f:70,g:71,h:72,i:73,j:74,k:75,l:76,m:77,n:78,o:79,p:80,q:81,r:82,s:83,t:84,u:85,v:86,w:87,x:88,y:89,z:90,leftwindowkey:91,rightwindowkey:92,meta:S?[91,93]:[91,92],selectkey:93,numpad0:96,numpad1:97,numpad2:98,numpad3:99,numpad4:100,numpad5:101,numpad6:102,numpad7:103,numpad8:104,numpad9:105,multiply:106,add:107,subtract:109,decimalpoint:110,divide:111,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123,numlock:144,scrolllock:145,semicolon:186,equalsign:187,comma:188,dash:189,period:190,forwardslash:191,graveaccent:192,openbracket:219,backslash:220,closebracket:221,singlequote:222},x={ctrl:function(L){return L.ctrlKey},shift:function(L){return L.shiftKey},alt:function(L){return L.altKey},meta:function(L){return L.type==="keyup"?w.meta.includes(L.keyCode):L.metaKey}};function z(L){var j=Object.keys(x).reduce(function(G,W){return x[W](L)?G+1:G},0);return[16,17,18,91,92].includes(L.keyCode)?j:j+1}function U(L,j,G){var W,ne;if(!L.key)return!1;if((0,o.hj)(j))return L.keyCode===j;var _=j.split("."),ee=0;try{for(var se=(0,a.XA)(_),Q=se.next();!Q.done;Q=se.next()){var C=Q.value,X=x[C],O=w[C.toLowerCase()];(X&&X(L)||O&&O===L.keyCode)&&ee++}}catch(H){W={error:H}}finally{try{Q&&!Q.done&&(ne=se.return)&&ne.call(se)}finally{if(W)throw W.error}}return G?ee===_.length&&z(L)===_.length:ee===_.length}function T(L,j){return(0,o.mf)(L)?L:(0,o.HD)(L)||(0,o.hj)(L)?function(G){return U(G,L,j)}:Array.isArray(L)?function(G){return L.some(function(W){return U(G,W,j)})}:function(){return!!L}}var N=["keydown"];function Z(L,j,G){var W=G||{},ne=W.events,_=ne===void 0?N:ne,ee=W.target,se=W.exactMatch,Q=se===void 0?!1:se,C=W.useCapture,X=C===void 0?!1:C,O=(0,t.Z)(j),H=(0,t.Z)(L);M(function(){var k,A,Y,de=(0,s.n)(ee,window);if(de){var me=function(Je){var qe,Xe=T(H.current,Q);if(Xe(Je))return(qe=O.current)===null||qe===void 0?void 0:qe.call(O,Je)};try{for(var ve=(0,a.XA)(_),be=ve.next();!be.done;be=ve.next()){var Pe=be.value;(Y=de==null?void 0:de.addEventListener)===null||Y===void 0||Y.call(de,Pe,me,X)}}catch(Je){k={error:Je}}finally{try{be&&!be.done&&(A=ve.return)&&A.call(ve)}finally{if(k)throw k.error}}return function(){var Je,qe,Xe;try{for(var mt=(0,a.XA)(_),Ct=mt.next();!Ct.done;Ct=mt.next()){var vt=Ct.value;(Xe=de==null?void 0:de.removeEventListener)===null||Xe===void 0||Xe.call(de,vt,me,X)}}catch(Ht){Je={error:Ht}}finally{try{Ct&&!Ct.done&&(qe=mt.return)&&qe.call(mt)}finally{if(Je)throw Je.error}}}}},[_],ee)}var D=Z},23671:function(b,y,e){"use strict";var a=e(58757);function t(o){var s=(0,a.useRef)(o);return s.current=o,s}y.Z=t},51129:function(b,y,e){"use strict";var a=e(58757),t=e(53807),o=e(8182);function s(n){o.Z&&((0,t.mf)(n)||console.error("useMemoizedFn expected parameter is a function, got ".concat(typeof n)));var d=(0,a.useRef)(n);d.current=(0,a.useMemo)(function(){return n},[n]);var l=(0,a.useRef)();return l.current||(l.current=function(){for(var c=[],m=0;m-1&&(q=setTimeout(function(){M.delete(Se)},$e)),M.set(Se,(0,a.pi)((0,a.pi)({},re),{timer:q}))},S=function(Se){return M.get(Se)},w=function(Se){if(Se){var $e=Array.isArray(Se)?Se:[Se];$e.forEach(function(re){return M.delete(re)})}else M.clear()},x=new Map,z=function(Se){return x.get(Se)},U=function(Se,$e){x.set(Se,$e),$e.then(function(re){return x.delete(Se),re}).catch(function(){x.delete(Se)})},T={},N=function(Se,$e){T[Se]&&T[Se].forEach(function(re){return re($e)})},Z=function(Se,$e){return T[Se]||(T[Se]=[]),T[Se].push($e),function(){var oe=T[Se].indexOf($e);T[Se].splice(oe,1)}},D=function(Se,$e){var re=$e.cacheKey,oe=$e.cacheTime,q=oe===void 0?5*60*1e3:oe,ue=$e.staleTime,Ee=ue===void 0?0:ue,le=$e.setCache,Ne=$e.getCache,Ae=(0,t.useRef)(),we=(0,t.useRef)(),Re=function(nt,_e){le?le(_e):h(nt,q,_e),N(nt,_e.data)},st=function(nt,_e){return _e===void 0&&(_e=[]),Ne?Ne(_e):S(nt)};return m(function(){if(re){var nt=st(re);nt&&Object.hasOwnProperty.call(nt,"data")&&(Se.state.data=nt.data,Se.state.params=nt.params,(Ee===-1||new Date().getTime()-nt.time<=Ee)&&(Se.state.loading=!1)),Ae.current=Z(re,function(_e){Se.setState({data:_e})})}},[]),(0,g.Z)(function(){var nt;(nt=Ae.current)===null||nt===void 0||nt.call(Ae)}),re?{onBefore:function(nt){var _e=st(re,nt);return!_e||!Object.hasOwnProperty.call(_e,"data")?{}:Ee===-1||new Date().getTime()-_e.time<=Ee?{loading:!1,data:_e==null?void 0:_e.data,error:void 0,returnNow:!0}:{data:_e==null?void 0:_e.data,error:void 0}},onRequest:function(nt,_e){var We=z(re);return We&&We!==we.current?{servicePromise:We}:(We=nt.apply(void 0,(0,a.ev)([],(0,a.CR)(_e),!1)),we.current=We,U(re,We),{servicePromise:We})},onSuccess:function(nt,_e){var We;re&&((We=Ae.current)===null||We===void 0||We.call(Ae),Re(re,{data:nt,params:_e,time:new Date().getTime()}),Ae.current=Z(re,function(Be){Se.setState({data:Be})}))},onMutate:function(nt){var _e;re&&((_e=Ae.current)===null||_e===void 0||_e.call(Ae),Re(re,{data:nt,params:Se.state.params,time:new Date().getTime()}),Ae.current=Z(re,function(We){Se.setState({data:We})}))}}:{}},L=D,j=e(77837),G=e.n(j),W=function(Se,$e){var re=$e.debounceWait,oe=$e.debounceLeading,q=$e.debounceTrailing,ue=$e.debounceMaxWait,Ee=(0,t.useRef)(),le=(0,t.useMemo)(function(){var Ne={};return oe!==void 0&&(Ne.leading=oe),q!==void 0&&(Ne.trailing=q),ue!==void 0&&(Ne.maxWait=ue),Ne},[oe,q,ue]);return(0,t.useEffect)(function(){if(re){var Ne=Se.runAsync.bind(Se);return Ee.current=G()(function(Ae){Ae()},re,le),Se.runAsync=function(){for(var Ae=[],we=0;we-1&&me.splice(re,1)}}if(se.Z){var be=function(){if(!(!Q()||!de()))for(var Se=0;Se{const{type:c,children:m,prefixCls:g,buttonProps:M,close:h,autoFocus:S,emitEvent:w,isSilent:x,quitOnNullishReturnValue:z,actionFn:U}=l,T=t.useRef(!1),N=t.useRef(null),[Z,D]=(0,a.Z)(!1),L=function(){h==null||h.apply(void 0,arguments)};t.useEffect(()=>{let W=null;return S&&(W=setTimeout(()=>{var ne;(ne=N.current)===null||ne===void 0||ne.focus()})),()=>{W&&clearTimeout(W)}},[]);const j=W=>{n(W)&&(D(!0),W.then(function(){D(!1,!0),L.apply(void 0,arguments),T.current=!1},ne=>{if(D(!1,!0),T.current=!1,!(x!=null&&x()))return Promise.reject(ne)}))},G=W=>{if(T.current)return;if(T.current=!0,!U){L();return}let ne;if(w){if(ne=U(W),z&&!n(ne)){T.current=!1,L(W);return}}else if(U.length)ne=U(h),T.current=!1;else if(ne=U(),!ne){L();return}j(ne)};return t.createElement(o.ZP,Object.assign({},(0,s.n)(c),{onClick:G,loading:Z,prefixCls:g},M,{ref:N}),m)};y.Z=d},15018:function(b,y,e){"use strict";e.d(y,{Z:function(){return d},i:function(){return n}});var a=e(60409),t=e(58757),o=e(42505),s=e(61836);function n(l){return function(m){return t.createElement(o.ZP,{theme:{token:{motion:!1,zIndexPopupBase:0}}},t.createElement(l,Object.assign({},m)))}}function d(l,c,m,g){function M(h){const{prefixCls:S,style:w}=h,x=t.useRef(null),[z,U]=t.useState(0),[T,N]=t.useState(0),[Z,D]=(0,a.Z)(!1,{value:h.open}),{getPrefixCls:L}=t.useContext(s.E_),j=L(c||"select",S);t.useEffect(()=>{if(D(!0),typeof ResizeObserver!="undefined"){const W=new ResizeObserver(_=>{const ee=_[0].target;U(ee.offsetHeight+8),N(ee.offsetWidth)}),ne=setInterval(()=>{var _;const ee=m?`.${m(j)}`:`.${j}-dropdown`,se=(_=x.current)===null||_===void 0?void 0:_.querySelector(ee);se&&(clearInterval(ne),W.observe(se))},10);return()=>{clearInterval(ne),W.disconnect()}}},[]);let G=Object.assign(Object.assign({},h),{style:Object.assign(Object.assign({},w),{margin:0}),open:Z,visible:Z,getPopupContainer:()=>x.current});return g&&(G=g(G)),t.createElement("div",{ref:x,style:{paddingBottom:z,position:"relative",minWidth:T}},t.createElement(l,Object.assign({},G)))}return n(M)}},1878:function(b,y,e){"use strict";e.d(y,{o2:function(){return n},yT:function(){return d}});var a=e(29140),t=e(34966);const o=t.i.map(l=>`${l}-inverse`),s=["success","processing","error","default","warning"];function n(l){return(arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0)?[].concat((0,a.Z)(o),(0,a.Z)(t.i)).includes(l):t.i.includes(l)}function d(l){return s.includes(l)}},44818:function(b,y){"use strict";function e(){const a=Object.assign({},arguments.length<=0?void 0:arguments[0]);for(let t=1;t{const n=o[s];n!==void 0&&(a[s]=n)})}return a}y.Z=e},99836:function(b,y,e){"use strict";e.d(y,{Z:function(){return a}});const a=t=>t?typeof t=="function"?t():t:null},88858:function(b,y,e){"use strict";e.d(y,{Z:function(){return s}});var a=e(52495),t=e(58757);function o(n,d,l){return typeof n=="boolean"?n:d===void 0?!!l:d!==!1&&d!==null}function s(n,d,l){let c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:t.createElement(a.Z,null),m=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;if(!o(n,d,m))return[!1,null];const M=typeof d=="boolean"||d===void 0||d===null?c:d;return[!0,l?l(M):M]}},69387:function(b,y,e){"use strict";var a=e(58757),t=e(32792);y.Z=()=>{const[o,s]=a.useState(!1);return a.useEffect(()=>{s((0,t.fk)())},[]),o}},4459:function(b,y,e){"use strict";e.d(y,{Z:function(){return t}});var a=e(58757);function t(){const[,o]=a.useReducer(s=>s+1,0);return o}},90881:function(b,y,e){"use strict";e.d(y,{m:function(){return l}});const a=()=>({height:0,opacity:0}),t=c=>{const{scrollHeight:m}=c;return{height:m,opacity:1}},o=c=>({height:c?c.offsetHeight:0}),s=(c,m)=>(m==null?void 0:m.deadline)===!0||m.propertyName==="height",n=function(){return{motionName:`${arguments.length>0&&arguments[0]!==void 0?arguments[0]:"ant"}-motion-collapse`,onAppearStart:a,onEnterStart:a,onAppearActive:t,onEnterActive:t,onLeaveStart:o,onLeaveActive:a,onAppearEnd:s,onEnterEnd:s,onLeaveEnd:s,motionDeadline:500}},d=null,l=(c,m,g)=>g!==void 0?g:`${c}-${m}`;y.Z=n},95446:function(b,y,e){"use strict";e.d(y,{Z:function(){return d}});var a=e(24542);function t(l,c,m,g){if(g===!1)return{adjustX:!1,adjustY:!1};const M=g&&typeof g=="object"?g:{},h={};switch(l){case"top":case"bottom":h.shiftX=c.dropdownArrowOffset*2+m;break;case"left":case"right":h.shiftY=c.dropdownArrowOffsetVertical*2+m;break}const S=Object.assign(Object.assign({},h),M);return S.shiftX||(S.adjustX=!0),S.shiftY||(S.adjustY=!0),S}const o={left:{points:["cr","cl"]},right:{points:["cl","cr"]},top:{points:["bc","tc"]},bottom:{points:["tc","bc"]},topLeft:{points:["bl","tl"]},leftTop:{points:["tr","tl"]},topRight:{points:["br","tr"]},rightTop:{points:["tl","tr"]},bottomRight:{points:["tr","br"]},rightBottom:{points:["bl","br"]},bottomLeft:{points:["tl","bl"]},leftBottom:{points:["br","bl"]}},s={topLeft:{points:["bl","tc"]},leftTop:{points:["tr","cl"]},topRight:{points:["br","tc"]},rightTop:{points:["tl","cr"]},bottomRight:{points:["tr","bc"]},rightBottom:{points:["bl","cr"]},bottomLeft:{points:["tl","bc"]},leftBottom:{points:["br","cl"]}},n=new Set(["topLeft","topRight","bottomLeft","bottomRight","leftTop","leftBottom","rightTop","rightBottom"]);function d(l){const{arrowWidth:c,autoAdjustOverflow:m,arrowPointAtCenter:g,offset:M,borderRadius:h,visibleFirst:S}=l,w=c/2,x={};return Object.keys(o).forEach(z=>{const U=g&&s[z]||o[z],T=Object.assign(Object.assign({},U),{offset:[0,0]});switch(x[z]=T,n.has(z)&&(T.autoArrow=!1),z){case"top":case"topLeft":case"topRight":T.offset[1]=-w-M;break;case"bottom":case"bottomLeft":case"bottomRight":T.offset[1]=w+M;break;case"left":case"leftTop":case"leftBottom":T.offset[0]=-w-M;break;case"right":case"rightTop":case"rightBottom":T.offset[0]=w+M;break}const N=(0,a.fS)({contentRadius:h,limitVerticalRadius:!0});if(g)switch(z){case"topLeft":case"bottomLeft":T.offset[0]=-N.dropdownArrowOffset-w;break;case"topRight":case"bottomRight":T.offset[0]=N.dropdownArrowOffset+w;break;case"leftTop":case"rightTop":T.offset[1]=-N.dropdownArrowOffset-w;break;case"leftBottom":case"rightBottom":T.offset[1]=N.dropdownArrowOffset+w;break}T.overflow=t(z,N,c,m),S&&(T.htmlRegion="visibleFirst")}),x}},37047:function(b,y,e){"use strict";var a;e.d(y,{M2:function(){return s},Tm:function(){return d},l$:function(){return o},wm:function(){return n}});var t=e(58757);const{isValidElement:o}=a||(a=e.t(t,2));function s(l){return l&&o(l)&&l.type===t.Fragment}function n(l,c,m){return o(l)?t.cloneElement(l,typeof m=="function"?m(l.props||{}):m):c}function d(l,c){return n(l,l,c)}},87078:function(b,y,e){"use strict";e.d(y,{Z:function(){return d},c:function(){return o}});var a=e(58757),t=e(51806);const o=["xxl","xl","lg","md","sm","xs"],s=l=>({xs:`(max-width: ${l.screenXSMax}px)`,sm:`(min-width: ${l.screenSM}px)`,md:`(min-width: ${l.screenMD}px)`,lg:`(min-width: ${l.screenLG}px)`,xl:`(min-width: ${l.screenXL}px)`,xxl:`(min-width: ${l.screenXXL}px)`}),n=l=>{const c=l,m=[].concat(o).reverse();return m.forEach((g,M)=>{const h=g.toUpperCase(),S=`screen${h}Min`,w=`screen${h}`;if(!(c[S]<=c[w]))throw new Error(`${S}<=${w} fails : !(${c[S]}<=${c[w]})`);if(M{const m=new Map;let g=-1,M={};return{matchHandlers:{},dispatch(h){return M=h,m.forEach(S=>S(M)),m.size>=1},subscribe(h){return m.size||this.register(),g+=1,m.set(g,h),h(M),g},unsubscribe(h){m.delete(h),m.size||this.unregister()},unregister(){Object.keys(c).forEach(h=>{const S=c[h],w=this.matchHandlers[S];w==null||w.mql.removeListener(w==null?void 0:w.listener)}),m.clear()},register(){Object.keys(c).forEach(h=>{const S=c[h],w=z=>{let{matches:U}=z;this.dispatch(Object.assign(Object.assign({},M),{[h]:U}))},x=window.matchMedia(S);x.addListener(w),this.matchHandlers[S]={mql:x,listener:w},w(x)})},responsiveMap:c}},[l])}},41496:function(b,y,e){"use strict";e.d(y,{F:function(){return n},Z:function(){return s}});var a=e(87608),t=e.n(a);const o=null;function s(d,l,c){return t()({[`${d}-status-success`]:l==="success",[`${d}-status-warning`]:l==="warning",[`${d}-status-error`]:l==="error",[`${d}-status-validating`]:l==="validating",[`${d}-has-feedback`]:c})}const n=(d,l)=>l||d},32792:function(b,y,e){"use strict";e.d(y,{fk:function(){return s},jD:function(){return t}});var a=e(19075);const t=()=>(0,a.Z)()&&window.document.documentElement;let o;const s=()=>{if(!t())return!1;if(o!==void 0)return o;const n=document.createElement("div");n.style.display="flex",n.style.flexDirection="column",n.style.rowGap="1px",n.appendChild(document.createElement("div")),n.appendChild(document.createElement("div"));const d=document.createElement("div");return d.style.position="absolute",d.style.zIndex="-9999",d.appendChild(n),document.body.appendChild(d),o=n.scrollHeight===1,document.body.removeChild(d),o}},37486:function(b,y,e){"use strict";e.d(y,{Z:function(){return ne}});var a=e(87608),t=e.n(a),o=e(21319),s=e(46499),n=e(58757),d=e(61836),l=e(37047),c=e(52628);const m=_=>{const{componentCls:ee,colorPrimary:se}=_;return{[ee]:{position:"absolute",background:"transparent",pointerEvents:"none",boxSizing:"border-box",color:`var(--wave-color, ${se})`,boxShadow:"0 0 0 0 currentcolor",opacity:.2,"&.wave-motion-appear":{transition:[`box-shadow 0.4s ${_.motionEaseOutCirc}`,`opacity 2s ${_.motionEaseOutCirc}`].join(","),"&-active":{boxShadow:"0 0 0 6px currentcolor",opacity:0},"&.wave-quick":{transition:[`box-shadow 0.3s ${_.motionEaseInOut}`,`opacity 0.35s ${_.motionEaseInOut}`].join(",")}}}}};var g=(0,c.Z)("Wave",_=>[m(_)]),M=e(51729),h=e(61834),S=e(17598),w=e(52323);function x(_){const ee=(_||"").match(/rgba?\((\d*), (\d*), (\d*)(, [\d.]*)?\)/);return ee&&ee[1]&&ee[2]&&ee[3]?!(ee[1]===ee[2]&&ee[2]===ee[3]):!0}function z(_){return _&&_!=="#fff"&&_!=="#ffffff"&&_!=="rgb(255, 255, 255)"&&_!=="rgba(255, 255, 255, 1)"&&x(_)&&!/rgba\((?:\d*, ){3}0\)/.test(_)&&_!=="transparent"}function U(_){const{borderTopColor:ee,borderColor:se,backgroundColor:Q}=getComputedStyle(_);return z(ee)?ee:z(se)?se:z(Q)?Q:null}var T=e(78856);function N(_){return Number.isNaN(_)?0:_}const Z=_=>{const{className:ee,target:se,component:Q}=_,C=n.useRef(null),[X,O]=n.useState(null),[H,k]=n.useState([]),[A,Y]=n.useState(0),[de,me]=n.useState(0),[ve,be]=n.useState(0),[Pe,Je]=n.useState(0),[qe,Xe]=n.useState(!1),mt={left:A,top:de,width:ve,height:Pe,borderRadius:H.map(Ht=>`${Ht}px`).join(" ")};X&&(mt["--wave-color"]=X);function Ct(){const Ht=getComputedStyle(se);O(U(se));const ke=Ht.position==="static",{borderLeftWidth:Ve,borderTopWidth:ot}=Ht;Y(ke?se.offsetLeft:N(-parseFloat(Ve))),me(ke?se.offsetTop:N(-parseFloat(ot))),be(se.offsetWidth),Je(se.offsetHeight);const{borderTopLeftRadius:Ke,borderTopRightRadius:he,borderBottomLeftRadius:J,borderBottomRightRadius:V}=Ht;k([Ke,he,V,J].map(R=>N(parseFloat(R))))}if(n.useEffect(()=>{if(se){const Ht=(0,h.Z)(()=>{Ct(),Xe(!0)});let ke;return typeof ResizeObserver!="undefined"&&(ke=new ResizeObserver(Ct),ke.observe(se)),()=>{h.Z.cancel(Ht),ke==null||ke.disconnect()}}},[]),!qe)return null;const vt=(Q==="Checkbox"||Q==="Radio")&&(se==null?void 0:se.classList.contains(T.A));return n.createElement(S.ZP,{visible:!0,motionAppear:!0,motionName:"wave-motion",motionDeadline:5e3,onAppearEnd:(Ht,ke)=>{var Ve;if(ke.deadline||ke.propertyName==="opacity"){const ot=(Ve=C.current)===null||Ve===void 0?void 0:Ve.parentElement;(0,w.v)(ot).then(()=>{ot==null||ot.remove()})}return!1}},Ht=>{let{className:ke}=Ht;return n.createElement("div",{ref:C,className:t()(ee,{"wave-quick":vt},ke),style:mt})})};var L=(_,ee)=>{var se;const{component:Q}=ee;if(Q==="Checkbox"&&!(!((se=_.querySelector("input"))===null||se===void 0)&&se.checked))return;const C=document.createElement("div");C.style.position="absolute",C.style.left="0px",C.style.top="0px",_==null||_.insertBefore(C,_==null?void 0:_.firstChild),(0,w.s)(n.createElement(Z,Object.assign({},ee,{target:_})),C)},j=e(51806);function G(_,ee,se){const{wave:Q}=n.useContext(d.E_),[,C,X]=(0,j.Z)(),O=(0,M.Z)(A=>{const Y=_.current;if(Q!=null&&Q.disabled||!Y)return;const de=Y.querySelector(`.${T.A}`)||Y,{showEffect:me}=Q||{};(me||L)(de,{className:ee,token:C,component:se,event:A,hashId:X})}),H=n.useRef();return A=>{h.Z.cancel(H.current),H.current=(0,h.Z)(()=>{O(A)})}}var ne=_=>{const{children:ee,disabled:se,component:Q}=_,{getPrefixCls:C}=(0,n.useContext)(d.E_),X=(0,n.useRef)(null),O=C("wave"),[,H]=g(O),k=G(X,t()(O,H),Q);if(n.useEffect(()=>{const Y=X.current;if(!Y||Y.nodeType!==1||se)return;const de=me=>{!(0,s.Z)(me.target)||!Y.getAttribute||Y.getAttribute("disabled")||Y.disabled||Y.className.includes("disabled")||Y.className.includes("-leave")||k(me)};return Y.addEventListener("click",de,!0),()=>{Y.removeEventListener("click",de,!0)}},[se]),!n.isValidElement(ee))return ee!=null?ee:null;const A=(0,o.Yr)(ee)?(0,o.sQ)(ee.ref,X):X;return(0,l.Tm)(ee,{ref:A})}},78856:function(b,y,e){"use strict";e.d(y,{A:function(){return a}});const a="ant-wave-target"},15618:function(b,y,e){"use strict";e.d(y,{Z:function(){return k}});var a=e(85678),t=e(79999),o=e(52495),s=e(69831),n=e(33064),d=e(87608),l=e.n(d),c=e(17598),m=e(33926),g=e(58757),M=e(37047),h=e(61836),S=e(78330),w=e(52628),x=e(22151);const z=(A,Y,de,me,ve)=>({backgroundColor:A,border:`${me.lineWidth}px ${me.lineType} ${Y}`,[`${ve}-icon`]:{color:de}}),U=A=>{const{componentCls:Y,motionDurationSlow:de,marginXS:me,marginSM:ve,fontSize:be,fontSizeLG:Pe,lineHeight:Je,borderRadiusLG:qe,motionEaseInOutCirc:Xe,alertIconSizeLG:mt,colorText:Ct,paddingContentVerticalSM:vt,alertPaddingHorizontal:Ht,paddingMD:ke,paddingContentHorizontalLG:Ve,colorTextHeading:ot}=A;return{[Y]:Object.assign(Object.assign({},(0,S.Wf)(A)),{position:"relative",display:"flex",alignItems:"center",padding:`${vt}px ${Ht}px`,wordWrap:"break-word",borderRadius:qe,[`&${Y}-rtl`]:{direction:"rtl"},[`${Y}-content`]:{flex:1,minWidth:0},[`${Y}-icon`]:{marginInlineEnd:me,lineHeight:0},["&-description"]:{display:"none",fontSize:be,lineHeight:Je},"&-message":{color:Ct},[`&${Y}-motion-leave`]:{overflow:"hidden",opacity:1,transition:`max-height ${de} ${Xe}, opacity ${de} ${Xe}, + padding-top ${de} ${Xe}, padding-bottom ${de} ${Xe}, + margin-bottom ${de} ${Xe}`},[`&${Y}-motion-leave-active`]:{maxHeight:0,marginBottom:"0 !important",paddingTop:0,paddingBottom:0,opacity:0}}),[`${Y}-with-description`]:{alignItems:"flex-start",paddingInline:Ve,paddingBlock:ke,[`${Y}-icon`]:{marginInlineEnd:ve,fontSize:mt,lineHeight:0},[`${Y}-message`]:{display:"block",marginBottom:me,color:ot,fontSize:Pe},[`${Y}-description`]:{display:"block"}},[`${Y}-banner`]:{marginBottom:0,border:"0 !important",borderRadius:0}}},T=A=>{const{componentCls:Y,colorSuccess:de,colorSuccessBorder:me,colorSuccessBg:ve,colorWarning:be,colorWarningBorder:Pe,colorWarningBg:Je,colorError:qe,colorErrorBorder:Xe,colorErrorBg:mt,colorInfo:Ct,colorInfoBorder:vt,colorInfoBg:Ht}=A;return{[Y]:{"&-success":z(ve,me,de,A,Y),"&-info":z(Ht,vt,Ct,A,Y),"&-warning":z(Je,Pe,be,A,Y),"&-error":Object.assign(Object.assign({},z(mt,Xe,qe,A,Y)),{[`${Y}-description > pre`]:{margin:0,padding:0}})}}},N=A=>{const{componentCls:Y,iconCls:de,motionDurationMid:me,marginXS:ve,fontSizeIcon:be,colorIcon:Pe,colorIconHover:Je}=A;return{[Y]:{["&-action"]:{marginInlineStart:ve},[`${Y}-close-icon`]:{marginInlineStart:ve,padding:0,overflow:"hidden",fontSize:be,lineHeight:`${be}px`,backgroundColor:"transparent",border:"none",outline:"none",cursor:"pointer",[`${de}-close`]:{color:Pe,transition:`color ${me}`,"&:hover":{color:Je}}},"&-close-text":{color:Pe,transition:`color ${me}`,"&:hover":{color:Je}}}}},Z=A=>[U(A),T(A),N(A)];var D=(0,w.Z)("Alert",A=>{const{fontSizeHeading3:Y}=A,de=(0,x.TS)(A,{alertIconSizeLG:Y,alertPaddingHorizontal:12});return[Z(de)]}),L=function(A,Y){var de={};for(var me in A)Object.prototype.hasOwnProperty.call(A,me)&&Y.indexOf(me)<0&&(de[me]=A[me]);if(A!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ve=0,me=Object.getOwnPropertySymbols(A);ve{const{icon:Y,prefixCls:de,type:me}=A,ve=j[me]||null;return Y?(0,M.wm)(Y,g.createElement("span",{className:`${de}-icon`},Y),()=>({className:l()(`${de}-icon`,{[Y.props.className]:Y.props.className})})):g.createElement(ve,{className:`${de}-icon`})},W=A=>{const{isClosable:Y,prefixCls:de,closeIcon:me,handleClose:ve}=A,be=me===!0||me===void 0?g.createElement(o.Z,null):me;return Y?g.createElement("button",{type:"button",onClick:ve,className:`${de}-close-icon`,tabIndex:0},be):null};var _=A=>{const{description:Y,prefixCls:de,message:me,banner:ve,className:be,rootClassName:Pe,style:Je,onMouseEnter:qe,onMouseLeave:Xe,onClick:mt,afterClose:Ct,showIcon:vt,closable:Ht,closeText:ke,closeIcon:Ve,action:ot}=A,Ke=L(A,["description","prefixCls","message","banner","className","rootClassName","style","onMouseEnter","onMouseLeave","onClick","afterClose","showIcon","closable","closeText","closeIcon","action"]),[he,J]=g.useState(!1),V=g.useRef(null),{getPrefixCls:R,direction:P,alert:B}=g.useContext(h.E_),ge=R("alert",de),[ie,pe]=D(ge),Oe=q=>{var ue;J(!0),(ue=A.onClose)===null||ue===void 0||ue.call(A,q)},xe=g.useMemo(()=>A.type!==void 0?A.type:ve?"warning":"info",[A.type,ve]),Se=g.useMemo(()=>ke?!0:typeof Ht=="boolean"?Ht:Ve!==!1&&Ve!==null&&Ve!==void 0,[ke,Ve,Ht]),$e=ve&&vt===void 0?!0:vt,re=l()(ge,`${ge}-${xe}`,{[`${ge}-with-description`]:!!Y,[`${ge}-no-icon`]:!$e,[`${ge}-banner`]:!!ve,[`${ge}-rtl`]:P==="rtl"},B==null?void 0:B.className,be,Pe,pe),oe=(0,m.Z)(Ke,{aria:!0,data:!0});return ie(g.createElement(c.ZP,{visible:!he,motionName:`${ge}-motion`,motionAppear:!1,motionEnter:!1,onLeaveStart:q=>({maxHeight:q.offsetHeight}),onLeaveEnd:Ct},q=>{let{className:ue,style:Ee}=q;return g.createElement("div",Object.assign({ref:V,"data-show":!he,className:l()(re,ue),style:Object.assign(Object.assign(Object.assign({},B==null?void 0:B.style),Je),Ee),onMouseEnter:qe,onMouseLeave:Xe,onClick:mt,role:"alert"},oe),$e?g.createElement(G,{description:Y,icon:A.icon,prefixCls:ge,type:xe}):null,g.createElement("div",{className:`${ge}-content`},me?g.createElement("div",{className:`${ge}-message`},me):null,Y?g.createElement("div",{className:`${ge}-description`},Y):null),ot?g.createElement("div",{className:`${ge}-action`},ot):null,g.createElement(W,{isClosable:Se,prefixCls:ge,closeIcon:ke||Ve,handleClose:Oe}))}))},ee=e(60412),se=e(14346),Q=e(87498),C=e(73726),O=function(A){(0,Q.Z)(de,A);var Y=(0,C.Z)(de);function de(){var me;return(0,ee.Z)(this,de),me=Y.apply(this,arguments),me.state={error:void 0,info:{componentStack:""}},me}return(0,se.Z)(de,[{key:"componentDidCatch",value:function(ve,be){this.setState({error:ve,info:be})}},{key:"render",value:function(){const{message:ve,description:be,children:Pe}=this.props,{error:Je,info:qe}=this.state,Xe=qe&&qe.componentStack?qe.componentStack:null,mt=typeof ve=="undefined"?(Je||"").toString():ve,Ct=typeof be=="undefined"?Xe:be;return Je?g.createElement(_,{type:"error",message:mt,description:g.createElement("pre",{style:{fontSize:"0.9em",overflowX:"auto"}},Ct)}):Pe}}]),de}(g.Component);const H=_;H.ErrorBoundary=O;var k=H},70921:function(b,y,e){"use strict";e.d(y,{n:function(){return re},Z:function(){return Ee}});var a=e(87608),t=e.n(a),o=e(98186),s=e(21319),n=e(58757),d=e(37486),l=e(61836),c=e(92428),m=e(58785),g=e(43528),h=(0,n.forwardRef)((le,Ne)=>{const{className:Ae,style:we,children:Re,prefixCls:st}=le,nt=t()(`${st}-icon`,Ae);return n.createElement("span",{ref:Ne,className:nt,style:we},Re)}),S=e(25755),w=e(17598);const x=(0,n.forwardRef)((le,Ne)=>{let{prefixCls:Ae,className:we,style:Re,iconClassName:st}=le;const nt=t()(`${Ae}-loading-icon`,we);return n.createElement(h,{prefixCls:Ae,className:nt,style:Re,ref:Ne},n.createElement(S.Z,{className:st}))}),z=()=>({width:0,opacity:0,transform:"scale(0)"}),U=le=>({width:le.scrollWidth,opacity:1,transform:"scale(1)"});var N=le=>{const{prefixCls:Ne,loading:Ae,existIcon:we,className:Re,style:st}=le,nt=!!Ae;return we?n.createElement(x,{prefixCls:Ne,className:Re,style:st}):n.createElement(w.ZP,{visible:nt,motionName:`${Ne}-loading-icon-motion`,removeOnLeave:!0,onAppearStart:z,onAppearActive:U,onEnterStart:z,onEnterActive:U,onLeaveStart:U,onLeaveActive:z},(_e,We)=>{let{className:Be,style:it}=_e;return n.createElement(x,{prefixCls:Ne,className:Re,style:Object.assign(Object.assign({},st),it),ref:We,iconClassName:Be})})},Z=e(51806),D=function(le,Ne){var Ae={};for(var we in le)Object.prototype.hasOwnProperty.call(le,we)&&Ne.indexOf(we)<0&&(Ae[we]=le[we]);if(le!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Re=0,we=Object.getOwnPropertySymbols(le);Re{const{getPrefixCls:Ne,direction:Ae}=n.useContext(l.E_),{prefixCls:we,size:Re,className:st}=le,nt=D(le,["prefixCls","size","className"]),_e=Ne("btn-group",we),[,,We]=(0,Z.Z)();let Be="";switch(Re){case"large":Be="lg";break;case"small":Be="sm";break;case"middle":case void 0:break;default:}const it=t()(_e,{[`${_e}-${Be}`]:Be,[`${_e}-rtl`]:Ae==="rtl"},st,We);return n.createElement(L.Provider,{value:Re},n.createElement("div",Object.assign({},nt,{className:it})))},W=e(37047);const ne=/^[\u4e00-\u9fa5]{2}$/,_=ne.test.bind(ne);function ee(le){return typeof le=="string"}function se(le){return le==="text"||le==="link"}function Q(le,Ne){if(le==null)return;const Ae=Ne?" ":"";return typeof le!="string"&&typeof le!="number"&&ee(le.type)&&_(le.props.children)?(0,W.Tm)(le,{children:le.props.children.split("").join(Ae)}):ee(le)?_(le)?n.createElement("span",null,le.split("").join(Ae)):n.createElement("span",null,le):(0,W.M2)(le)?n.createElement("span",null,le):le}function C(le,Ne){let Ae=!1;const we=[];return n.Children.forEach(le,Re=>{const st=typeof Re,nt=st==="string"||st==="number";if(Ae&&nt){const _e=we.length-1,We=we[_e];we[_e]=`${We}${Re}`}else we.push(Re);Ae=nt}),n.Children.map(we,Re=>Q(Re,Ne))}const X=null,O=null,H=null;var k=e(78330),A=e(64493);function Y(le,Ne){return{[`&-item:not(${Ne}-last-item)`]:{marginBottom:-le.lineWidth},"&-item":{"&:hover,&:focus,&:active":{zIndex:2},"&[disabled]":{zIndex:0}}}}function de(le,Ne){return{[`&-item:not(${Ne}-first-item):not(${Ne}-last-item)`]:{borderRadius:0},[`&-item${Ne}-first-item:not(${Ne}-last-item)`]:{[`&, &${le}-sm, &${le}-lg`]:{borderEndEndRadius:0,borderEndStartRadius:0}},[`&-item${Ne}-last-item:not(${Ne}-first-item)`]:{[`&, &${le}-sm, &${le}-lg`]:{borderStartStartRadius:0,borderStartEndRadius:0}}}}function me(le){const Ne=`${le.componentCls}-compact-vertical`;return{[Ne]:Object.assign(Object.assign({},Y(le,Ne)),de(le.componentCls,Ne))}}var ve=e(22151),be=e(52628);const Pe=(le,Ne)=>({[`> span, > ${le}`]:{"&:not(:last-child)":{[`&, & > ${le}`]:{"&:not(:disabled)":{borderInlineEndColor:Ne}}},"&:not(:first-child)":{[`&, & > ${le}`]:{"&:not(:disabled)":{borderInlineStartColor:Ne}}}}});var qe=le=>{const{componentCls:Ne,fontSize:Ae,lineWidth:we,colorPrimaryHover:Re,colorErrorHover:st}=le;return{[`${Ne}-group`]:[{position:"relative",display:"inline-flex",[`> span, > ${Ne}`]:{"&:not(:last-child)":{[`&, & > ${Ne}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},"&:not(:first-child)":{marginInlineStart:-we,[`&, & > ${Ne}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}},[Ne]:{position:"relative",zIndex:1,[`&:hover, + &:focus, + &:active`]:{zIndex:2},"&[disabled]":{zIndex:0}},[`${Ne}-icon-only`]:{fontSize:Ae}},Pe(`${Ne}-primary`,Re),Pe(`${Ne}-danger`,st)]}};const Xe=le=>{const{componentCls:Ne,iconCls:Ae,buttonFontWeight:we}=le;return{[Ne]:{outline:"none",position:"relative",display:"inline-block",fontWeight:we,whiteSpace:"nowrap",textAlign:"center",backgroundImage:"none",backgroundColor:"transparent",border:`${le.lineWidth}px ${le.lineType} transparent`,cursor:"pointer",transition:`all ${le.motionDurationMid} ${le.motionEaseInOut}`,userSelect:"none",touchAction:"manipulation",lineHeight:le.lineHeight,color:le.colorText,"&:disabled > *":{pointerEvents:"none"},"> span":{display:"inline-block"},[`${Ne}-icon`]:{lineHeight:0},[`> ${Ae} + span, > span + ${Ae}`]:{marginInlineStart:le.marginXS},[`&:not(${Ne}-icon-only) > ${Ne}-icon`]:{[`&${Ne}-loading-icon, &:not(:last-child)`]:{marginInlineEnd:le.marginXS}},"> a":{color:"currentColor"},"&:not(:disabled)":Object.assign({},(0,k.Qy)(le)),[`&-icon-only${Ne}-compact-item`]:{flex:"none"},[`&-compact-item${Ne}-primary`]:{[`&:not([disabled]) + ${Ne}-compact-item${Ne}-primary:not([disabled])`]:{position:"relative","&:before":{position:"absolute",top:-le.lineWidth,insetInlineStart:-le.lineWidth,display:"inline-block",width:le.lineWidth,height:`calc(100% + ${le.lineWidth*2}px)`,backgroundColor:le.colorPrimaryHover,content:'""'}}},"&-compact-vertical-item":{[`&${Ne}-primary`]:{[`&:not([disabled]) + ${Ne}-compact-vertical-item${Ne}-primary:not([disabled])`]:{position:"relative","&:before":{position:"absolute",top:-le.lineWidth,insetInlineStart:-le.lineWidth,display:"inline-block",width:`calc(100% + ${le.lineWidth*2}px)`,height:le.lineWidth,backgroundColor:le.colorPrimaryHover,content:'""'}}}}}}},mt=(le,Ne,Ae)=>({[`&:not(:disabled):not(${le}-disabled)`]:{"&:hover":Ne,"&:active":Ae}}),Ct=le=>({minWidth:le.controlHeight,paddingInlineStart:0,paddingInlineEnd:0,borderRadius:"50%"}),vt=le=>({borderRadius:le.controlHeight,paddingInlineStart:le.controlHeight/2,paddingInlineEnd:le.controlHeight/2}),Ht=le=>({cursor:"not-allowed",borderColor:le.colorBorder,color:le.colorTextDisabled,backgroundColor:le.colorBgContainerDisabled,boxShadow:"none"}),ke=(le,Ne,Ae,we,Re,st,nt)=>({[`&${le}-background-ghost`]:Object.assign(Object.assign({color:Ne||void 0,backgroundColor:"transparent",borderColor:Ae||void 0,boxShadow:"none"},mt(le,Object.assign({backgroundColor:"transparent"},st),Object.assign({backgroundColor:"transparent"},nt))),{"&:disabled":{cursor:"not-allowed",color:we||void 0,borderColor:Re||void 0}})}),Ve=le=>({[`&:disabled, &${le.componentCls}-disabled`]:Object.assign({},Ht(le))}),ot=le=>Object.assign({},Ve(le)),Ke=le=>({[`&:disabled, &${le.componentCls}-disabled`]:{cursor:"not-allowed",color:le.colorTextDisabled}}),he=le=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},ot(le)),{backgroundColor:le.colorBgContainer,borderColor:le.colorBorder,boxShadow:`0 ${le.controlOutlineWidth}px 0 ${le.controlTmpOutline}`}),mt(le.componentCls,{color:le.colorPrimaryHover,borderColor:le.colorPrimaryHover},{color:le.colorPrimaryActive,borderColor:le.colorPrimaryActive})),ke(le.componentCls,le.colorBgContainer,le.colorBgContainer,le.colorTextDisabled,le.colorBorder)),{[`&${le.componentCls}-dangerous`]:Object.assign(Object.assign(Object.assign({color:le.colorError,borderColor:le.colorError},mt(le.componentCls,{color:le.colorErrorHover,borderColor:le.colorErrorBorderHover},{color:le.colorErrorActive,borderColor:le.colorErrorActive})),ke(le.componentCls,le.colorError,le.colorError,le.colorTextDisabled,le.colorBorder)),Ve(le))}),J=le=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},ot(le)),{color:le.colorTextLightSolid,backgroundColor:le.colorPrimary,boxShadow:`0 ${le.controlOutlineWidth}px 0 ${le.controlOutline}`}),mt(le.componentCls,{color:le.colorTextLightSolid,backgroundColor:le.colorPrimaryHover},{color:le.colorTextLightSolid,backgroundColor:le.colorPrimaryActive})),ke(le.componentCls,le.colorPrimary,le.colorPrimary,le.colorTextDisabled,le.colorBorder,{color:le.colorPrimaryHover,borderColor:le.colorPrimaryHover},{color:le.colorPrimaryActive,borderColor:le.colorPrimaryActive})),{[`&${le.componentCls}-dangerous`]:Object.assign(Object.assign(Object.assign({backgroundColor:le.colorError,boxShadow:`0 ${le.controlOutlineWidth}px 0 ${le.colorErrorOutline}`},mt(le.componentCls,{backgroundColor:le.colorErrorHover},{backgroundColor:le.colorErrorActive})),ke(le.componentCls,le.colorError,le.colorError,le.colorTextDisabled,le.colorBorder,{color:le.colorErrorHover,borderColor:le.colorErrorHover},{color:le.colorErrorActive,borderColor:le.colorErrorActive})),Ve(le))}),V=le=>Object.assign(Object.assign({},he(le)),{borderStyle:"dashed"}),R=le=>Object.assign(Object.assign(Object.assign({color:le.colorLink},mt(le.componentCls,{color:le.colorLinkHover},{color:le.colorLinkActive})),Ke(le)),{[`&${le.componentCls}-dangerous`]:Object.assign(Object.assign({color:le.colorError},mt(le.componentCls,{color:le.colorErrorHover},{color:le.colorErrorActive})),Ke(le))}),P=le=>Object.assign(Object.assign(Object.assign({},mt(le.componentCls,{color:le.colorText,backgroundColor:le.colorBgTextHover},{color:le.colorText,backgroundColor:le.colorBgTextActive})),Ke(le)),{[`&${le.componentCls}-dangerous`]:Object.assign(Object.assign({color:le.colorError},Ke(le)),mt(le.componentCls,{color:le.colorErrorHover,backgroundColor:le.colorErrorBg},{color:le.colorErrorHover,backgroundColor:le.colorErrorBg}))}),B=le=>{const{componentCls:Ne}=le;return{[`${Ne}-default`]:he(le),[`${Ne}-primary`]:J(le),[`${Ne}-dashed`]:V(le),[`${Ne}-link`]:R(le),[`${Ne}-text`]:P(le),[`${Ne}-ghost`]:ke(le.componentCls,le.colorBgContainer,le.colorBgContainer,le.colorTextDisabled,le.colorBorder)}},ge=function(le){let Ne=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const{componentCls:Ae,controlHeight:we,fontSize:Re,lineHeight:st,lineWidth:nt,borderRadius:_e,buttonPaddingHorizontal:We,iconCls:Be}=le,it=Math.max(0,(we-Re*st)/2-nt),Ge=We-nt,Ot=`${Ae}-icon-only`;return[{[`${Ae}${Ne}`]:{fontSize:Re,height:we,padding:`${it}px ${Ge}px`,borderRadius:_e,[`&${Ot}`]:{width:we,paddingInlineStart:0,paddingInlineEnd:0,[`&${Ae}-round`]:{width:"auto"},[Be]:{fontSize:le.buttonIconOnlyFontSize}},[`&${Ae}-loading`]:{opacity:le.opacityLoading,cursor:"default"},[`${Ae}-loading-icon`]:{transition:`width ${le.motionDurationSlow} ${le.motionEaseInOut}, opacity ${le.motionDurationSlow} ${le.motionEaseInOut}`}}},{[`${Ae}${Ae}-circle${Ne}`]:Ct(le)},{[`${Ae}${Ae}-round${Ne}`]:vt(le)}]},ie=le=>ge(le),pe=le=>{const Ne=(0,ve.TS)(le,{controlHeight:le.controlHeightSM,padding:le.paddingXS,buttonPaddingHorizontal:8,borderRadius:le.borderRadiusSM,buttonIconOnlyFontSize:le.fontSizeLG-2});return ge(Ne,`${le.componentCls}-sm`)},Oe=le=>{const Ne=(0,ve.TS)(le,{controlHeight:le.controlHeightLG,fontSize:le.fontSizeLG,borderRadius:le.borderRadiusLG,buttonIconOnlyFontSize:le.fontSizeLG+2});return ge(Ne,`${le.componentCls}-lg`)},xe=le=>{const{componentCls:Ne}=le;return{[Ne]:{[`&${Ne}-block`]:{width:"100%"}}}};var Se=(0,be.Z)("Button",le=>{const{controlTmpOutline:Ne,paddingContentHorizontal:Ae}=le,we=(0,ve.TS)(le,{colorOutlineDefault:Ne,buttonPaddingHorizontal:Ae,buttonIconOnlyFontSize:le.fontSizeLG,buttonFontWeight:400});return[Xe(we),pe(we),ie(we),Oe(we),xe(we),B(we),qe(we),(0,A.c)(le),me(le)]}),$e=function(le,Ne){var Ae={};for(var we in le)Object.prototype.hasOwnProperty.call(le,we)&&Ne.indexOf(we)<0&&(Ae[we]=le[we]);if(le!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Re=0,we=Object.getOwnPropertySymbols(le);Re{var Ae,we;const{loading:Re=!1,prefixCls:st,type:nt="default",danger:_e,shape:We="default",size:Be,styles:it,disabled:Ge,className:Ot,rootClassName:$t,children:wt,icon:Pt,ghost:dt=!1,block:je=!1,htmlType:tt="button",classNames:lt,style:bt={}}=le,It=$e(le,["loading","prefixCls","type","danger","shape","size","styles","disabled","className","rootClassName","children","icon","ghost","block","htmlType","classNames","style"]),{getPrefixCls:Kt,autoInsertSpaceInButton:zt,direction:Mt,button:Le}=(0,n.useContext)(l.E_),Ce=Kt("btn",st),[Et,Tt]=Se(Ce),Ye=(0,n.useContext)(c.Z),et=Ge!=null?Ge:Ye,_t=(0,n.useContext)(L),Ut=(0,n.useMemo)(()=>oe(Re),[Re]),[qt,un]=(0,n.useState)(Ut.loading),[Mn,vn]=(0,n.useState)(!1),Xn=(0,n.createRef)(),Vn=(0,s.sQ)(Ne,Xn),or=n.Children.count(wt)===1&&!Pt&&!se(nt);(0,n.useEffect)(()=>{let ut=null;Ut.delay>0?ut=setTimeout(()=>{ut=null,un(!0)},Ut.delay):un(Ut.loading);function ct(){ut&&(clearTimeout(ut),ut=null)}return ct},[Ut]),(0,n.useEffect)(()=>{if(!Vn||!Vn.current||zt===!1)return;const ut=Vn.current.textContent;or&&_(ut)?Mn||vn(!0):Mn&&vn(!1)},[Vn]);const er=ut=>{const{onClick:ct}=le;if(qt||et){ut.preventDefault();return}ct==null||ct(ut)},Wt=zt!==!1,{compactSize:en,compactItemClassnames:nn}=(0,g.ri)(Ce,Mt),fn={large:"lg",small:"sm",middle:void 0},En=(0,m.Z)(ut=>{var ct,Dt;return(Dt=(ct=Be!=null?Be:en)!==null&&ct!==void 0?ct:_t)!==null&&Dt!==void 0?Dt:ut}),on=En&&fn[En]||"",pt=qt?"loading":Pt,gt=(0,o.Z)(It,["navigate"]),Xt=t()(Ce,Tt,{[`${Ce}-${We}`]:We!=="default"&&We,[`${Ce}-${nt}`]:nt,[`${Ce}-${on}`]:on,[`${Ce}-icon-only`]:!wt&&wt!==0&&!!pt,[`${Ce}-background-ghost`]:dt&&!se(nt),[`${Ce}-loading`]:qt,[`${Ce}-two-chinese-chars`]:Mn&&Wt&&!qt,[`${Ce}-block`]:je,[`${Ce}-dangerous`]:!!_e,[`${Ce}-rtl`]:Mt==="rtl"},nn,Ot,$t,Le==null?void 0:Le.className),rn=Object.assign(Object.assign({},Le==null?void 0:Le.style),bt),Jt=t()(lt==null?void 0:lt.icon,(Ae=Le==null?void 0:Le.classNames)===null||Ae===void 0?void 0:Ae.icon),pn=Object.assign(Object.assign({},(it==null?void 0:it.icon)||{}),((we=Le==null?void 0:Le.styles)===null||we===void 0?void 0:we.icon)||{}),mn=Pt&&!qt?n.createElement(h,{prefixCls:Ce,className:Jt,style:pn},Pt):n.createElement(N,{existIcon:!!Pt,prefixCls:Ce,loading:!!qt}),Zn=wt||wt===0?C(wt,or&&Wt):null;if(gt.href!==void 0)return Et(n.createElement("a",Object.assign({},gt,{className:t()(Xt,{[`${Ce}-disabled`]:et}),style:rn,onClick:er,ref:Vn}),mn,Zn));let tr=n.createElement("button",Object.assign({},It,{type:tt,className:Xt,style:rn,onClick:er,disabled:et,ref:Vn}),mn,Zn);return se(nt)||(tr=n.createElement(d.Z,{component:"Button",disabled:!!qt},tr)),Et(tr)},ue=(0,n.forwardRef)(q);ue.Group=G,ue.__ANT_BUTTON=!0;var Ee=ue},12562:function(b,y,e){"use strict";var a=e(70921);y.ZP=a.Z},81872:function(b,y,e){"use strict";var a=e(7056);y.Z=a.Z},18624:function(b,y,e){"use strict";e.d(y,{Z:function(){return X}});var a=e(87608),t=e.n(a),o=e(98186),s=e(58757),n=e(61836),d=e(58785),l=e(57214),c=e(16951),m=function(O,H){var k={};for(var A in O)Object.prototype.hasOwnProperty.call(O,A)&&H.indexOf(A)<0&&(k[A]=O[A]);if(O!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Y=0,A=Object.getOwnPropertySymbols(O);Y{var{prefixCls:H,className:k,hoverable:A=!0}=O,Y=m(O,["prefixCls","className","hoverable"]);const{getPrefixCls:de}=s.useContext(n.E_),me=de("card",H),ve=t()(`${me}-grid`,k,{[`${me}-grid-hoverable`]:A});return s.createElement("div",Object.assign({},Y,{className:ve}))},h=e(78330),S=e(52628),w=e(22151);const x=O=>{const{antCls:H,componentCls:k,headerHeight:A,cardPaddingBase:Y,tabsMarginBottom:de}=O;return Object.assign(Object.assign({display:"flex",justifyContent:"center",flexDirection:"column",minHeight:A,marginBottom:-1,padding:`0 ${Y}px`,color:O.colorTextHeading,fontWeight:O.fontWeightStrong,fontSize:O.headerFontSize,background:O.headerBg,borderBottom:`${O.lineWidth}px ${O.lineType} ${O.colorBorderSecondary}`,borderRadius:`${O.borderRadiusLG}px ${O.borderRadiusLG}px 0 0`},(0,h.dF)()),{"&-wrapper":{width:"100%",display:"flex",alignItems:"center"},"&-title":Object.assign(Object.assign({display:"inline-block",flex:1},h.vS),{[` + > ${k}-typography, + > ${k}-typography-edit-content + `]:{insetInlineStart:0,marginTop:0,marginBottom:0}}),[`${H}-tabs-top`]:{clear:"both",marginBottom:de,color:O.colorText,fontWeight:"normal",fontSize:O.fontSize,"&-bar":{borderBottom:`${O.lineWidth}px ${O.lineType} ${O.colorBorderSecondary}`}}})},z=O=>{const{cardPaddingBase:H,colorBorderSecondary:k,cardShadow:A,lineWidth:Y}=O;return{width:"33.33%",padding:H,border:0,borderRadius:0,boxShadow:` + ${Y}px 0 0 0 ${k}, + 0 ${Y}px 0 0 ${k}, + ${Y}px ${Y}px 0 0 ${k}, + ${Y}px 0 0 0 ${k} inset, + 0 ${Y}px 0 0 ${k} inset; + `,transition:`all ${O.motionDurationMid}`,"&-hoverable:hover":{position:"relative",zIndex:1,boxShadow:A}}},U=O=>{const{componentCls:H,iconCls:k,actionsLiMargin:A,cardActionsIconSize:Y,colorBorderSecondary:de,actionsBg:me}=O;return Object.assign(Object.assign({margin:0,padding:0,listStyle:"none",background:me,borderTop:`${O.lineWidth}px ${O.lineType} ${de}`,display:"flex",borderRadius:`0 0 ${O.borderRadiusLG}px ${O.borderRadiusLG}px `},(0,h.dF)()),{"& > li":{margin:A,color:O.colorTextDescription,textAlign:"center","> span":{position:"relative",display:"block",minWidth:O.cardActionsIconSize*2,fontSize:O.fontSize,lineHeight:O.lineHeight,cursor:"pointer","&:hover":{color:O.colorPrimary,transition:`color ${O.motionDurationMid}`},[`a:not(${H}-btn), > ${k}`]:{display:"inline-block",width:"100%",color:O.colorTextDescription,lineHeight:`${O.fontSize*O.lineHeight}px`,transition:`color ${O.motionDurationMid}`,"&:hover":{color:O.colorPrimary}},[`> ${k}`]:{fontSize:Y,lineHeight:`${Y*O.lineHeight}px`}},"&:not(:last-child)":{borderInlineEnd:`${O.lineWidth}px ${O.lineType} ${de}`}}})},T=O=>Object.assign(Object.assign({margin:`-${O.marginXXS}px 0`,display:"flex"},(0,h.dF)()),{"&-avatar":{paddingInlineEnd:O.padding},"&-detail":{overflow:"hidden",flex:1,"> div:not(:last-child)":{marginBottom:O.marginXS}},"&-title":Object.assign({color:O.colorTextHeading,fontWeight:O.fontWeightStrong,fontSize:O.fontSizeLG},h.vS),"&-description":{color:O.colorTextDescription}}),N=O=>{const{componentCls:H,cardPaddingBase:k,colorFillAlter:A}=O;return{[`${H}-head`]:{padding:`0 ${k}px`,background:A,"&-title":{fontSize:O.fontSize}},[`${H}-body`]:{padding:`${O.padding}px ${k}px`}}},Z=O=>{const{componentCls:H}=O;return{overflow:"hidden",[`${H}-body`]:{userSelect:"none"}}},D=O=>{const{antCls:H,componentCls:k,cardShadow:A,cardHeadPadding:Y,colorBorderSecondary:de,boxShadowTertiary:me,cardPaddingBase:ve,extraColor:be}=O;return{[k]:Object.assign(Object.assign({},(0,h.Wf)(O)),{position:"relative",background:O.colorBgContainer,borderRadius:O.borderRadiusLG,[`&:not(${k}-bordered)`]:{boxShadow:me},[`${k}-head`]:x(O),[`${k}-extra`]:{marginInlineStart:"auto",color:be,fontWeight:"normal",fontSize:O.fontSize},[`${k}-body`]:Object.assign({padding:ve,borderRadius:` 0 0 ${O.borderRadiusLG}px ${O.borderRadiusLG}px`},(0,h.dF)()),[`${k}-grid`]:z(O),[`${k}-cover`]:{"> *":{display:"block",width:"100%"},[`img, img + ${H}-image-mask`]:{borderRadius:`${O.borderRadiusLG}px ${O.borderRadiusLG}px 0 0`}},[`${k}-actions`]:U(O),[`${k}-meta`]:T(O)}),[`${k}-bordered`]:{border:`${O.lineWidth}px ${O.lineType} ${de}`,[`${k}-cover`]:{marginTop:-1,marginInlineStart:-1,marginInlineEnd:-1}},[`${k}-hoverable`]:{cursor:"pointer",transition:`box-shadow ${O.motionDurationMid}, border-color ${O.motionDurationMid}`,"&:hover":{borderColor:"transparent",boxShadow:A}},[`${k}-contain-grid`]:{[`${k}-body`]:{display:"flex",flexWrap:"wrap"},[`&:not(${k}-loading) ${k}-body`]:{marginBlockStart:-O.lineWidth,marginInlineStart:-O.lineWidth,padding:0}},[`${k}-contain-tabs`]:{[`> ${k}-head`]:{[`${k}-head-title, ${k}-extra`]:{paddingTop:Y}}},[`${k}-type-inner`]:N(O),[`${k}-loading`]:Z(O),[`${k}-rtl`]:{direction:"rtl"}}},L=O=>{const{componentCls:H,cardPaddingSM:k,headerHeightSM:A,headerFontSizeSM:Y}=O;return{[`${H}-small`]:{[`> ${H}-head`]:{minHeight:A,padding:`0 ${k}px`,fontSize:Y,[`> ${H}-head-wrapper`]:{[`> ${H}-extra`]:{fontSize:O.fontSize}}},[`> ${H}-body`]:{padding:k}},[`${H}-small${H}-contain-tabs`]:{[`> ${H}-head`]:{[`${H}-head-title, ${H}-extra`]:{minHeight:A,paddingTop:0,display:"flex",alignItems:"center"}}}}};var j=(0,S.Z)("Card",O=>{const H=(0,w.TS)(O,{cardShadow:O.boxShadowCard,cardHeadPadding:O.padding,cardPaddingBase:O.paddingLG,cardActionsIconSize:O.fontSize,cardPaddingSM:12});return[D(H),L(H)]},O=>({headerBg:"transparent",headerFontSize:O.fontSizeLG,headerFontSizeSM:O.fontSize,headerHeight:O.fontSizeLG*O.lineHeightLG+O.padding*2,headerHeightSM:O.fontSize*O.lineHeight+O.paddingXS*2,actionsBg:O.colorBgContainer,actionsLiMargin:`${O.paddingSM}px 0`,tabsMarginBottom:-O.padding-O.lineWidth,extraColor:O.colorText})),G=function(O,H){var k={};for(var A in O)Object.prototype.hasOwnProperty.call(O,A)&&H.indexOf(A)<0&&(k[A]=O[A]);if(O!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Y=0,A=Object.getOwnPropertySymbols(O);Ys.createElement("li",{style:{width:`${100/O.length}%`},key:`action-${k}`},s.createElement("span",null,H)))}var _=s.forwardRef((O,H)=>{const{prefixCls:k,className:A,rootClassName:Y,style:de,extra:me,headStyle:ve={},bodyStyle:be={},title:Pe,loading:Je,bordered:qe=!0,size:Xe,type:mt,cover:Ct,actions:vt,tabList:Ht,children:ke,activeTabKey:Ve,defaultActiveTabKey:ot,tabBarExtraContent:Ke,hoverable:he,tabProps:J={}}=O,V=G(O,["prefixCls","className","rootClassName","style","extra","headStyle","bodyStyle","title","loading","bordered","size","type","cover","actions","tabList","children","activeTabKey","defaultActiveTabKey","tabBarExtraContent","hoverable","tabProps"]),{getPrefixCls:R,direction:P,card:B}=s.useContext(n.E_),ge=nt=>{var _e;(_e=O.onTabChange)===null||_e===void 0||_e.call(O,nt)},ie=s.useMemo(()=>{let nt=!1;return s.Children.forEach(ke,_e=>{_e&&_e.type&&_e.type===M&&(nt=!0)}),nt},[ke]),pe=R("card",k),[Oe,xe]=j(pe),Se=s.createElement(l.Z,{loading:!0,active:!0,paragraph:{rows:4},title:!1},ke),$e=Ve!==void 0,re=Object.assign(Object.assign({},J),{[$e?"activeKey":"defaultActiveKey"]:$e?Ve:ot,tabBarExtraContent:Ke});let oe;const q=(0,d.Z)(Xe),ue=!q||q==="default"?"large":q,Ee=Ht?s.createElement(c.Z,Object.assign({size:ue},re,{className:`${pe}-head-tabs`,onChange:ge,items:Ht.map(nt=>{var{tab:_e}=nt,We=G(nt,["tab"]);return Object.assign({label:_e},We)})})):null;(Pe||me||Ee)&&(oe=s.createElement("div",{className:`${pe}-head`,style:ve},s.createElement("div",{className:`${pe}-head-wrapper`},Pe&&s.createElement("div",{className:`${pe}-head-title`},Pe),me&&s.createElement("div",{className:`${pe}-extra`},me)),Ee));const le=Ct?s.createElement("div",{className:`${pe}-cover`},Ct):null,Ne=s.createElement("div",{className:`${pe}-body`,style:be},Je?Se:ke),Ae=vt&&vt.length?s.createElement("ul",{className:`${pe}-actions`},W(vt)):null,we=(0,o.Z)(V,["onTabChange"]),Re=t()(pe,B==null?void 0:B.className,{[`${pe}-loading`]:Je,[`${pe}-bordered`]:qe,[`${pe}-hoverable`]:he,[`${pe}-contain-grid`]:ie,[`${pe}-contain-tabs`]:Ht&&Ht.length,[`${pe}-${q}`]:q,[`${pe}-type-${mt}`]:!!mt,[`${pe}-rtl`]:P==="rtl"},A,Y,xe),st=Object.assign(Object.assign({},B==null?void 0:B.style),de);return Oe(s.createElement("div",Object.assign({ref:H},we,{className:Re,style:st}),oe,le,Ne,Ae))}),ee=function(O,H){var k={};for(var A in O)Object.prototype.hasOwnProperty.call(O,A)&&H.indexOf(A)<0&&(k[A]=O[A]);if(O!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Y=0,A=Object.getOwnPropertySymbols(O);Y{const{prefixCls:H,className:k,avatar:A,title:Y,description:de}=O,me=ee(O,["prefixCls","className","avatar","title","description"]),{getPrefixCls:ve}=s.useContext(n.E_),be=ve("card",H),Pe=t()(`${be}-meta`,k),Je=A?s.createElement("div",{className:`${be}-meta-avatar`},A):null,qe=Y?s.createElement("div",{className:`${be}-meta-title`},Y):null,Xe=de?s.createElement("div",{className:`${be}-meta-description`},de):null,mt=qe||Xe?s.createElement("div",{className:`${be}-meta-detail`},qe,Xe):null;return s.createElement("div",Object.assign({},me,{className:Pe}),Je,mt)};const C=_;C.Grid=M,C.Meta=Q;var X=C},38904:function(b,y,e){"use strict";e.d(y,{Z:function(){return G}});var a=e(87608),t=e.n(a),o=e(60357),s=e(58757),n=e(61836),d=e(92428),l=e(81496),m=s.createContext(null),g=e(7316),M=e(37486),h=e(78856),S=function(W,ne){var _={};for(var ee in W)Object.prototype.hasOwnProperty.call(W,ee)&&ne.indexOf(ee)<0&&(_[ee]=W[ee]);if(W!=null&&typeof Object.getOwnPropertySymbols=="function")for(var se=0,ee=Object.getOwnPropertySymbols(W);se{var _;const{prefixCls:ee,className:se,rootClassName:Q,children:C,indeterminate:X=!1,style:O,onMouseEnter:H,onMouseLeave:k,skipGroup:A=!1,disabled:Y}=W,de=S(W,["prefixCls","className","rootClassName","children","indeterminate","style","onMouseEnter","onMouseLeave","skipGroup","disabled"]),{getPrefixCls:me,direction:ve,checkbox:be}=s.useContext(n.E_),Pe=s.useContext(m),{isFormItemInput:Je}=s.useContext(l.aM),qe=s.useContext(d.Z),Xe=(_=(Pe==null?void 0:Pe.disabled)||Y)!==null&&_!==void 0?_:qe,mt=s.useRef(de.value);s.useEffect(()=>{Pe==null||Pe.registerValue(de.value)},[]),s.useEffect(()=>{if(!A)return de.value!==mt.current&&(Pe==null||Pe.cancelValue(mt.current),Pe==null||Pe.registerValue(de.value),mt.current=de.value),()=>Pe==null?void 0:Pe.cancelValue(de.value)},[de.value]);const Ct=me("checkbox",ee),[vt,Ht]=(0,g.ZP)(Ct),ke=Object.assign({},de);Pe&&!A&&(ke.onChange=function(){de.onChange&&de.onChange.apply(de,arguments),Pe.toggleOption&&Pe.toggleOption({label:C,value:de.value})},ke.name=Pe.name,ke.checked=Pe.value.includes(de.value));const Ve=t()(`${Ct}-wrapper`,{[`${Ct}-rtl`]:ve==="rtl",[`${Ct}-wrapper-checked`]:ke.checked,[`${Ct}-wrapper-disabled`]:Xe,[`${Ct}-wrapper-in-form-item`]:Je},be==null?void 0:be.className,se,Q,Ht),ot=t()({[`${Ct}-indeterminate`]:X},h.A,Ht),Ke=X?"mixed":void 0;return vt(s.createElement(M.Z,{component:"Checkbox",disabled:Xe},s.createElement("label",{className:Ve,style:Object.assign(Object.assign({},be==null?void 0:be.style),O),onMouseEnter:H,onMouseLeave:k},s.createElement(o.Z,Object.assign({"aria-checked":Ke},ke,{prefixCls:Ct,className:ot,disabled:Xe,ref:ne})),C!==void 0&&s.createElement("span",null,C))))};var z=s.forwardRef(w),U=e(29140),T=e(98186),N=function(W,ne){var _={};for(var ee in W)Object.prototype.hasOwnProperty.call(W,ee)&&ne.indexOf(ee)<0&&(_[ee]=W[ee]);if(W!=null&&typeof Object.getOwnPropertySymbols=="function")for(var se=0,ee=Object.getOwnPropertySymbols(W);se{const{defaultValue:_,children:ee,options:se=[],prefixCls:Q,className:C,rootClassName:X,style:O,onChange:H}=W,k=N(W,["defaultValue","children","options","prefixCls","className","rootClassName","style","onChange"]),{getPrefixCls:A,direction:Y}=s.useContext(n.E_),[de,me]=s.useState(k.value||_||[]),[ve,be]=s.useState([]);s.useEffect(()=>{"value"in k&&me(k.value||[])},[k.value]);const Pe=s.useMemo(()=>se.map(he=>typeof he=="string"||typeof he=="number"?{label:he,value:he}:he),[se]),Je=he=>{be(J=>J.filter(V=>V!==he))},qe=he=>{be(J=>[].concat((0,U.Z)(J),[he]))},Xe=he=>{const J=de.indexOf(he.value),V=(0,U.Z)(de);J===-1?V.push(he.value):V.splice(J,1),"value"in k||me(V),H==null||H(V.filter(R=>ve.includes(R)).sort((R,P)=>{const B=Pe.findIndex(ie=>ie.value===R),ge=Pe.findIndex(ie=>ie.value===P);return B-ge}))},mt=A("checkbox",Q),Ct=`${mt}-group`,[vt,Ht]=(0,g.ZP)(mt),ke=(0,T.Z)(k,["value","disabled"]),Ve=se.length?Pe.map(he=>s.createElement(z,{prefixCls:mt,key:he.value.toString(),disabled:"disabled"in he?he.disabled:k.disabled,value:he.value,checked:de.includes(he.value),onChange:he.onChange,className:`${Ct}-item`,style:he.style,title:he.title},he.label)):ee,ot={toggleOption:Xe,value:de,disabled:k.disabled,name:k.name,registerValue:qe,cancelValue:Je},Ke=t()(Ct,{[`${Ct}-rtl`]:Y==="rtl"},C,X,Ht);return vt(s.createElement("div",Object.assign({className:Ke,style:O},ke,{ref:ne}),s.createElement(m.Provider,{value:ot},Ve)))},D=s.forwardRef(Z);var L=s.memo(D);const j=z;j.Group=L,j.__ANT_CHECKBOX=!0;var G=j},7316:function(b,y,e){"use strict";e.d(y,{C2:function(){return n}});var a=e(78330),t=e(22151),o=e(52628);const s=d=>{const{checkboxCls:l}=d,c=`${l}-wrapper`;return[{[`${l}-group`]:Object.assign(Object.assign({},(0,a.Wf)(d)),{display:"inline-flex",flexWrap:"wrap",columnGap:d.marginXS,[`> ${d.antCls}-row`]:{flex:1}}),[c]:Object.assign(Object.assign({},(0,a.Wf)(d)),{display:"inline-flex",alignItems:"baseline",cursor:"pointer","&:after":{display:"inline-block",width:0,overflow:"hidden",content:"'\\a0'"},[`& + ${c}`]:{marginInlineStart:0},[`&${c}-in-form-item`]:{'input[type="checkbox"]':{width:14,height:14}}}),[l]:Object.assign(Object.assign({},(0,a.Wf)(d)),{position:"relative",whiteSpace:"nowrap",lineHeight:1,cursor:"pointer",borderRadius:d.borderRadiusSM,alignSelf:"center",[`${l}-input`]:{position:"absolute",inset:0,zIndex:1,cursor:"pointer",opacity:0,margin:0,[`&:focus-visible + ${l}-inner`]:Object.assign({},(0,a.oN)(d))},[`${l}-inner`]:{boxSizing:"border-box",position:"relative",top:0,insetInlineStart:0,display:"block",width:d.checkboxSize,height:d.checkboxSize,direction:"ltr",backgroundColor:d.colorBgContainer,border:`${d.lineWidth}px ${d.lineType} ${d.colorBorder}`,borderRadius:d.borderRadiusSM,borderCollapse:"separate",transition:`all ${d.motionDurationSlow}`,"&:after":{boxSizing:"border-box",position:"absolute",top:"50%",insetInlineStart:"21.5%",display:"table",width:d.checkboxSize/14*5,height:d.checkboxSize/14*8,border:`${d.lineWidthBold}px solid ${d.colorWhite}`,borderTop:0,borderInlineStart:0,transform:"rotate(45deg) scale(0) translate(-50%,-50%)",opacity:0,content:'""',transition:`all ${d.motionDurationFast} ${d.motionEaseInBack}, opacity ${d.motionDurationFast}`}},"& + span":{paddingInlineStart:d.paddingXS,paddingInlineEnd:d.paddingXS}})},{[` + ${c}:not(${c}-disabled), + ${l}:not(${l}-disabled) + `]:{[`&:hover ${l}-inner`]:{borderColor:d.colorPrimary}},[`${c}:not(${c}-disabled)`]:{[`&:hover ${l}-checked:not(${l}-disabled) ${l}-inner`]:{backgroundColor:d.colorPrimaryHover,borderColor:"transparent"},[`&:hover ${l}-checked:not(${l}-disabled):after`]:{borderColor:d.colorPrimaryHover}}},{[`${l}-checked`]:{[`${l}-inner`]:{backgroundColor:d.colorPrimary,borderColor:d.colorPrimary,"&:after":{opacity:1,transform:"rotate(45deg) scale(1) translate(-50%,-50%)",transition:`all ${d.motionDurationMid} ${d.motionEaseOutBack} ${d.motionDurationFast}`}}},[` + ${c}-checked:not(${c}-disabled), + ${l}-checked:not(${l}-disabled) + `]:{[`&:hover ${l}-inner`]:{backgroundColor:d.colorPrimaryHover,borderColor:"transparent"}}},{[l]:{"&-indeterminate":{[`${l}-inner`]:{backgroundColor:d.colorBgContainer,borderColor:d.colorBorder,"&:after":{top:"50%",insetInlineStart:"50%",width:d.fontSizeLG/2,height:d.fontSizeLG/2,backgroundColor:d.colorPrimary,border:0,transform:"translate(-50%, -50%) scale(1)",opacity:1,content:'""'}}}}},{[`${c}-disabled`]:{cursor:"not-allowed"},[`${l}-disabled`]:{[`&, ${l}-input`]:{cursor:"not-allowed",pointerEvents:"none"},[`${l}-inner`]:{background:d.colorBgContainerDisabled,borderColor:d.colorBorder,"&:after":{borderColor:d.colorTextDisabled}},"&:after":{display:"none"},"& + span":{color:d.colorTextDisabled},[`&${l}-indeterminate ${l}-inner::after`]:{background:d.colorTextDisabled}}}]};function n(d,l){const c=(0,t.TS)(l,{checkboxCls:`.${d}`,checkboxSize:l.controlInteractiveSize});return[s(c)]}y.ZP=(0,o.Z)("Checkbox",(d,l)=>{let{prefixCls:c}=l;return[n(c,d)]})},82968:function(b,y,e){"use strict";e.d(y,{Z:function(){return Ht}});var a=e(91169),t=e(87608),o=e.n(t),s=e(28314),n=e(29140),d=e(38790),l=e(60409),c=e(75556),m=e(58757),g=e(60698),M=e(47075),h=e(42156),S=e(37734),w=e(17598),x=e(29639),z=m.forwardRef(function(ke,Ve){var ot,Ke=ke.prefixCls,he=ke.forceRender,J=ke.className,V=ke.style,R=ke.children,P=ke.isActive,B=ke.role,ge=m.useState(P||he),ie=(0,s.Z)(ge,2),pe=ie[0],Oe=ie[1];return m.useEffect(function(){(he||P)&&Oe(!0)},[he,P]),pe?m.createElement("div",{ref:Ve,className:o()("".concat(Ke,"-content"),(ot={},(0,S.Z)(ot,"".concat(Ke,"-content-active"),P),(0,S.Z)(ot,"".concat(Ke,"-content-inactive"),!P),ot),J),style:V,role:B},m.createElement("div",{className:"".concat(Ke,"-content-box")},R)):null});z.displayName="PanelContent";var U=z,T=["showArrow","headerClass","isActive","onItemClick","forceRender","className","prefixCls","collapsible","accordion","panelKey","extra","header","expandIcon","openMotion","destroyInactivePanel","children"],N=m.forwardRef(function(ke,Ve){var ot,Ke,he=ke.showArrow,J=he===void 0?!0:he,V=ke.headerClass,R=ke.isActive,P=ke.onItemClick,B=ke.forceRender,ge=ke.className,ie=ke.prefixCls,pe=ke.collapsible,Oe=ke.accordion,xe=ke.panelKey,Se=ke.extra,$e=ke.header,re=ke.expandIcon,oe=ke.openMotion,q=ke.destroyInactivePanel,ue=ke.children,Ee=(0,M.Z)(ke,T),le=pe==="disabled",Ne=pe==="header",Ae=pe==="icon",we=Se!=null&&typeof Se!="boolean",Re=function(){P==null||P(xe)},st=function(Ge){(Ge.key==="Enter"||Ge.keyCode===x.Z.ENTER||Ge.which===x.Z.ENTER)&&Re()},nt=typeof re=="function"?re(ke):m.createElement("i",{className:"arrow"});nt&&(nt=m.createElement("div",{className:"".concat(ie,"-expand-icon"),onClick:["header","icon"].includes(pe)?Re:void 0},nt));var _e=o()((ot={},(0,S.Z)(ot,"".concat(ie,"-item"),!0),(0,S.Z)(ot,"".concat(ie,"-item-active"),R),(0,S.Z)(ot,"".concat(ie,"-item-disabled"),le),ot),ge),We=o()(V,(Ke={},(0,S.Z)(Ke,"".concat(ie,"-header"),!0),(0,S.Z)(Ke,"".concat(ie,"-header-collapsible-only"),Ne),(0,S.Z)(Ke,"".concat(ie,"-icon-collapsible-only"),Ae),Ke)),Be={className:We,"aria-expanded":R,"aria-disabled":le,onKeyDown:st};return!Ne&&!Ae&&(Be.onClick=Re,Be.role=Oe?"tab":"button",Be.tabIndex=le?-1:0),m.createElement("div",(0,g.Z)({},Ee,{ref:Ve,className:_e}),m.createElement("div",Be,J&&nt,m.createElement("span",{className:"".concat(ie,"-header-text"),onClick:pe==="header"?Re:void 0},$e),we&&m.createElement("div",{className:"".concat(ie,"-extra")},Se)),m.createElement(w.ZP,(0,g.Z)({visible:R,leavedClassName:"".concat(ie,"-content-hidden")},oe,{forceRender:B,removeOnLeave:q}),function(it,Ge){var Ot=it.className,$t=it.style;return m.createElement(U,{ref:Ge,prefixCls:ie,className:Ot,style:$t,isActive:R,forceRender:B,role:Oe?"tabpanel":void 0},ue)}))}),Z=N,D=["children","label","key","collapsible","onItemClick","destroyInactivePanel"],L=function(Ve,ot){var Ke=ot.prefixCls,he=ot.accordion,J=ot.collapsible,V=ot.destroyInactivePanel,R=ot.onItemClick,P=ot.activeKey,B=ot.openMotion,ge=ot.expandIcon;return Ve.map(function(ie,pe){var Oe=ie.children,xe=ie.label,Se=ie.key,$e=ie.collapsible,re=ie.onItemClick,oe=ie.destroyInactivePanel,q=(0,M.Z)(ie,D),ue=String(Se!=null?Se:pe),Ee=$e!=null?$e:J,le=oe!=null?oe:V,Ne=function(Re){Ee!=="disabled"&&(R(Re),re==null||re(Re))},Ae=!1;return he?Ae=P[0]===ue:Ae=P.indexOf(ue)>-1,m.createElement(Z,(0,g.Z)({},q,{prefixCls:Ke,key:ue,panelKey:ue,isActive:Ae,accordion:he,openMotion:B,expandIcon:ge,header:xe,collapsible:Ee,onItemClick:Ne,destroyInactivePanel:le}),Oe)})},j=function(Ve,ot,Ke){if(!Ve)return null;var he=Ke.prefixCls,J=Ke.accordion,V=Ke.collapsible,R=Ke.destroyInactivePanel,P=Ke.onItemClick,B=Ke.activeKey,ge=Ke.openMotion,ie=Ke.expandIcon,pe=Ve.key||String(ot),Oe=Ve.props,xe=Oe.header,Se=Oe.headerClass,$e=Oe.destroyInactivePanel,re=Oe.collapsible,oe=Oe.onItemClick,q=!1;J?q=B[0]===pe:q=B.indexOf(pe)>-1;var ue=re!=null?re:V,Ee=function(Ae){ue!=="disabled"&&(P(Ae),oe==null||oe(Ae))},le={key:pe,panelKey:pe,header:xe,headerClass:Se,isActive:q,prefixCls:he,destroyInactivePanel:$e!=null?$e:R,openMotion:ge,accordion:J,children:Ve.props.children,onItemClick:Ee,expandIcon:ie,collapsible:ue};return typeof Ve.type=="string"?Ve:(Object.keys(le).forEach(function(Ne){typeof le[Ne]=="undefined"&&delete le[Ne]}),m.cloneElement(Ve,le))};function G(ke,Ve,ot){return Array.isArray(ke)?L(ke,ot):(0,h.Z)(Ve).map(function(Ke,he){return j(Ke,he,ot)})}var W=G;function ne(ke){var Ve=ke;if(!Array.isArray(Ve)){var ot=(0,d.Z)(Ve);Ve=ot==="number"||ot==="string"?[Ve]:[]}return Ve.map(function(Ke){return String(Ke)})}var _=m.forwardRef(function(ke,Ve){var ot=ke.prefixCls,Ke=ot===void 0?"rc-collapse":ot,he=ke.destroyInactivePanel,J=he===void 0?!1:he,V=ke.style,R=ke.accordion,P=ke.className,B=ke.children,ge=ke.collapsible,ie=ke.openMotion,pe=ke.expandIcon,Oe=ke.activeKey,xe=ke.defaultActiveKey,Se=ke.onChange,$e=ke.items,re=o()(Ke,P),oe=(0,l.Z)([],{value:Oe,onChange:function(we){return Se==null?void 0:Se(we)},defaultValue:xe,postState:ne}),q=(0,s.Z)(oe,2),ue=q[0],Ee=q[1],le=function(we){return Ee(function(){if(R)return ue[0]===we?[]:[we];var Re=ue.indexOf(we),st=Re>-1;return st?ue.filter(function(nt){return nt!==we}):[].concat((0,n.Z)(ue),[we])})};(0,c.ZP)(!B,"`children` will be removed in next major version. Please use `items` instead.");var Ne=W($e,B,{prefixCls:Ke,accordion:R,openMotion:ie,expandIcon:pe,collapsible:ge,destroyInactivePanel:J,onItemClick:le,activeKey:ue});return m.createElement("div",{ref:Ve,className:re,style:V,role:R?"tablist":void 0},Ne)}),ee=Object.assign(_,{Panel:Z}),se=ee,Q=ee.Panel,C=e(98186),X=e(90881),O=e(37047),H=e(61836),k=e(58785),Y=m.forwardRef((ke,Ve)=>{const{getPrefixCls:ot}=m.useContext(H.E_),{prefixCls:Ke,className:he,showArrow:J=!0}=ke,V=ot("collapse",Ke),R=o()({[`${V}-no-arrow`]:!J},he);return m.createElement(se.Panel,Object.assign({ref:Ve},ke,{prefixCls:V,className:R}))}),de=e(78330),me=e(41086),ve=e(52628),be=e(22151);const Pe=ke=>{const{componentCls:Ve,collapseContentBg:ot,padding:Ke,collapseContentPaddingHorizontal:he,collapseHeaderBg:J,collapseHeaderPadding:V,collapseHeaderPaddingSM:R,collapseHeaderPaddingLG:P,collapsePanelBorderRadius:B,lineWidth:ge,lineType:ie,colorBorder:pe,colorText:Oe,colorTextHeading:xe,colorTextDisabled:Se,fontSize:$e,fontSizeLG:re,lineHeight:oe,marginSM:q,paddingSM:ue,paddingLG:Ee,paddingXS:le,motionDurationSlow:Ne,fontSizeIcon:Ae}=ke,we=`${ge}px ${ie} ${pe}`;return{[Ve]:Object.assign(Object.assign({},(0,de.Wf)(ke)),{backgroundColor:J,border:we,borderBottom:0,borderRadius:`${B}px`,["&-rtl"]:{direction:"rtl"},[`& > ${Ve}-item`]:{borderBottom:we,["&:last-child"]:{[` + &, + & > ${Ve}-header`]:{borderRadius:`0 0 ${B}px ${B}px`}},[`> ${Ve}-header`]:{position:"relative",display:"flex",flexWrap:"nowrap",alignItems:"flex-start",padding:V,paddingInlineStart:ue,color:xe,lineHeight:oe,cursor:"pointer",transition:`all ${Ne}, visibility 0s`,[`> ${Ve}-header-text`]:{flex:"auto"},"&:focus":{outline:"none"},[`${Ve}-expand-icon`]:{height:$e*oe,display:"flex",alignItems:"center",paddingInlineEnd:q,marginInlineStart:Ke-ue},[`${Ve}-arrow`]:Object.assign(Object.assign({},(0,de.Ro)()),{fontSize:Ae,svg:{transition:`transform ${Ne}`}}),[`${Ve}-header-text`]:{marginInlineEnd:"auto"}},[`${Ve}-header-collapsible-only`]:{cursor:"default",[`${Ve}-header-text`]:{flex:"none",cursor:"pointer"}},[`${Ve}-icon-collapsible-only`]:{cursor:"default",[`${Ve}-expand-icon`]:{cursor:"pointer"}}},[`${Ve}-content`]:{color:Oe,backgroundColor:ot,borderTop:we,[`& > ${Ve}-content-box`]:{padding:`${Ke}px ${he}px`},["&-hidden"]:{display:"none"}},["&-small"]:{[`> ${Ve}-item`]:{[`> ${Ve}-header`]:{padding:R,paddingInlineStart:le,[`> ${Ve}-expand-icon`]:{marginInlineStart:ue-le}},[`> ${Ve}-content > ${Ve}-content-box`]:{padding:ue}}},["&-large"]:{[`> ${Ve}-item`]:{fontSize:re,[`> ${Ve}-header`]:{padding:P,paddingInlineStart:Ke,[`> ${Ve}-expand-icon`]:{height:re*oe,marginInlineStart:Ee-Ke}},[`> ${Ve}-content > ${Ve}-content-box`]:{padding:Ee}}},[`${Ve}-item:last-child`]:{[`> ${Ve}-content`]:{borderRadius:`0 0 ${B}px ${B}px`}},[`& ${Ve}-item-disabled > ${Ve}-header`]:{[` + &, + & > .arrow + `]:{color:Se,cursor:"not-allowed"}},[`&${Ve}-icon-position-end`]:{[`& > ${Ve}-item`]:{[`> ${Ve}-header`]:{[`${Ve}-expand-icon`]:{order:1,paddingInlineEnd:0,paddingInlineStart:q}}}}})}},Je=ke=>{const{componentCls:Ve}=ke,ot=`> ${Ve}-item > ${Ve}-header ${Ve}-arrow svg`;return{[`${Ve}-rtl`]:{[ot]:{transform:"rotate(180deg)"}}}},qe=ke=>{const{componentCls:Ve,collapseHeaderBg:ot,paddingXXS:Ke,colorBorder:he}=ke;return{[`${Ve}-borderless`]:{backgroundColor:ot,border:0,[`> ${Ve}-item`]:{borderBottom:`1px solid ${he}`},[` + > ${Ve}-item:last-child, + > ${Ve}-item:last-child ${Ve}-header + `]:{borderRadius:0},[`> ${Ve}-item:last-child`]:{borderBottom:0},[`> ${Ve}-item > ${Ve}-content`]:{backgroundColor:"transparent",borderTop:0},[`> ${Ve}-item > ${Ve}-content > ${Ve}-content-box`]:{paddingTop:Ke}}}},Xe=ke=>{const{componentCls:Ve,paddingSM:ot}=ke;return{[`${Ve}-ghost`]:{backgroundColor:"transparent",border:0,[`> ${Ve}-item`]:{borderBottom:0,[`> ${Ve}-content`]:{backgroundColor:"transparent",border:0,[`> ${Ve}-content-box`]:{paddingBlock:ot}}}}}};var mt=(0,ve.Z)("Collapse",ke=>{const Ve=(0,be.TS)(ke,{collapseContentBg:ke.colorBgContainer,collapseHeaderBg:ke.colorFillAlter,collapseHeaderPadding:`${ke.paddingSM}px ${ke.padding}px`,collapseHeaderPaddingSM:`${ke.paddingXS}px ${ke.paddingSM}px`,collapseHeaderPaddingLG:`${ke.padding}px ${ke.paddingLG}px`,collapsePanelBorderRadius:ke.borderRadiusLG,collapseContentPaddingHorizontal:16});return[Pe(Ve),qe(Ve),Xe(Ve),Je(Ve),(0,me.Z)(Ve)]}),vt=Object.assign(m.forwardRef((ke,Ve)=>{const{getPrefixCls:ot,direction:Ke,collapse:he}=m.useContext(H.E_),{prefixCls:J,className:V,rootClassName:R,style:P,bordered:B=!0,ghost:ge,size:ie,expandIconPosition:pe="start",children:Oe,expandIcon:xe}=ke,Se=(0,k.Z)(we=>{var Re;return(Re=ie!=null?ie:we)!==null&&Re!==void 0?Re:"middle"}),$e=ot("collapse",J),re=ot(),[oe,q]=mt($e),ue=m.useMemo(()=>pe==="left"?"start":pe==="right"?"end":pe,[pe]),Ee=function(){let we=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const Re=xe?xe(we):m.createElement(a.Z,{rotate:we.isActive?90:void 0});return(0,O.Tm)(Re,()=>({className:o()(Re.props.className,`${$e}-arrow`)}))},le=o()(`${$e}-icon-position-${ue}`,{[`${$e}-borderless`]:!B,[`${$e}-rtl`]:Ke==="rtl",[`${$e}-ghost`]:!!ge,[`${$e}-${Se}`]:Se!=="middle"},he==null?void 0:he.className,V,R,q),Ne=Object.assign(Object.assign({},(0,X.Z)(re)),{motionAppear:!1,leavedClassName:`${$e}-content-hidden`}),Ae=m.useMemo(()=>Oe?(0,h.Z)(Oe).map((we,Re)=>{var st,nt;if(!((st=we.props)===null||st===void 0)&&st.disabled){const _e=(nt=we.key)!==null&&nt!==void 0?nt:String(Re),{disabled:We,collapsible:Be}=we.props,it=Object.assign(Object.assign({},(0,C.Z)(we.props,["disabled"])),{key:_e,collapsible:Be!=null?Be:We?"disabled":void 0});return(0,O.Tm)(we,it)}return we}):null,[Oe]);return oe(m.createElement(se,Object.assign({ref:Ve,openMotion:Ne},(0,C.Z)(ke,["rootClassName"]),{expandIcon:Ee,prefixCls:$e,className:le,style:Object.assign(Object.assign({},he==null?void 0:he.style),P)}),Ae))}),{Panel:Y}),Ht=vt},92428:function(b,y,e){"use strict";e.d(y,{n:function(){return o}});var a=e(58757);const t=a.createContext(!1),o=s=>{let{children:n,disabled:d}=s;const l=a.useContext(t);return a.createElement(t.Provider,{value:d!=null?d:l},n)};y.Z=t},33446:function(b,y,e){"use strict";e.d(y,{q:function(){return o}});var a=e(58757);const t=a.createContext(void 0),o=s=>{let{children:n,size:d}=s;const l=a.useContext(t);return a.createElement(t.Provider,{value:d||l},n)};y.Z=t},61836:function(b,y,e){"use strict";e.d(y,{E_:function(){return s},oR:function(){return t}});var a=e(58757);const t="anticon",o=(d,l)=>l||(d?`ant-${d}`:"ant"),s=a.createContext({getPrefixCls:o,iconPrefixCls:t}),{Consumer:n}=s},10401:function(b,y,e){"use strict";var a=e(58757),t=e(61836),o=e(17444);const s=n=>{const{componentName:d}=n,{getPrefixCls:l}=(0,a.useContext)(t.E_),c=l("empty");switch(d){case"Table":case"List":return a.createElement(o.Z,{image:o.Z.PRESENTED_IMAGE_SIMPLE});case"Select":case"TreeSelect":case"Cascader":case"Transfer":case"Mentions":return a.createElement(o.Z,{image:o.Z.PRESENTED_IMAGE_SIMPLE,className:`${c}-small`});default:return a.createElement(o.Z,null)}};y.Z=s},58785:function(b,y,e){"use strict";var a=e(58757),t=e(33446);const o=s=>{const n=a.useContext(t.Z);return a.useMemo(()=>s?typeof s=="string"?s!=null?s:n:s instanceof Function?s(n):n:n,[s,n])};y.Z=o},42505:function(b,y,e){"use strict";e.d(y,{ZP:function(){return Ht},w6:function(){return mt}});var a=e(57793),t=e(71048),o=e(27903),s=e(16766),n=e(58757),d=e(48736),l=e(67228),c=e(10520);const m="internalMark";var M=ke=>{const{locale:Ve={},children:ot,_ANT_MARK__:Ke}=ke;n.useEffect(()=>(0,l.f)(Ve&&Ve.Modal),[Ve]);const he=n.useMemo(()=>Object.assign(Object.assign({},Ve),{exist:!0}),[Ve]);return n.createElement(c.Z.Provider,{value:he},ot)},h=e(80076),S=e(83631),w=e(28378),x=e(61836),z=e(26134),U=e(66671),T=e(19075),N=e(39678);const Z=`-ant-${Date.now()}-${Math.random()}`;function D(ke,Ve){const ot={},Ke=(V,R)=>{let P=V.clone();return P=(R==null?void 0:R(P))||P,P.toRgbString()},he=(V,R)=>{const P=new U.C(V),B=(0,z.generate)(P.toRgbString());ot[`${R}-color`]=Ke(P),ot[`${R}-color-disabled`]=B[1],ot[`${R}-color-hover`]=B[4],ot[`${R}-color-active`]=B[6],ot[`${R}-color-outline`]=P.clone().setAlpha(.2).toRgbString(),ot[`${R}-color-deprecated-bg`]=B[0],ot[`${R}-color-deprecated-border`]=B[2]};if(Ve.primaryColor){he(Ve.primaryColor,"primary");const V=new U.C(Ve.primaryColor),R=(0,z.generate)(V.toRgbString());R.forEach((B,ge)=>{ot[`primary-${ge+1}`]=B}),ot["primary-color-deprecated-l-35"]=Ke(V,B=>B.lighten(35)),ot["primary-color-deprecated-l-20"]=Ke(V,B=>B.lighten(20)),ot["primary-color-deprecated-t-20"]=Ke(V,B=>B.tint(20)),ot["primary-color-deprecated-t-50"]=Ke(V,B=>B.tint(50)),ot["primary-color-deprecated-f-12"]=Ke(V,B=>B.setAlpha(B.getAlpha()*.12));const P=new U.C(R[0]);ot["primary-color-active-deprecated-f-30"]=Ke(P,B=>B.setAlpha(B.getAlpha()*.3)),ot["primary-color-active-deprecated-d-02"]=Ke(P,B=>B.darken(2))}return Ve.successColor&&he(Ve.successColor,"success"),Ve.warningColor&&he(Ve.warningColor,"warning"),Ve.errorColor&&he(Ve.errorColor,"error"),Ve.infoColor&&he(Ve.infoColor,"info"),` + :root { + ${Object.keys(ot).map(V=>`--${ke}-${V}: ${ot[V]};`).join(` +`)} + } + `.trim()}function L(ke,Ve){const ot=D(ke,Ve);(0,T.Z)()&&(0,N.hq)(ot,`${Z}-dynamic-theme`)}var j=e(92428),G=e(33446);function W(){const ke=(0,n.useContext)(j.Z),Ve=(0,n.useContext)(G.Z);return{componentDisabled:ke,componentSize:Ve}}var ne=W,_=e(7637);function ee(ke,Ve){const ot=ke||{},Ke=ot.inherit===!1||!Ve?S.u_:Ve;return(0,o.Z)(()=>{if(!ke)return Ve;const he=Object.assign({},Ke.components);return Object.keys(ke.components||{}).forEach(J=>{he[J]=Object.assign(Object.assign({},he[J]),ke.components[J])}),Object.assign(Object.assign(Object.assign({},Ke),ot),{token:Object.assign(Object.assign({},Ke.token),ot.token),components:he})},[ot,Ke],(he,J)=>he.some((V,R)=>{const P=J[R];return!(0,_.Z)(V,P,!0)}))}var se=e(17598),Q=e(51806);function C(ke){const{children:Ve}=ke,[,ot]=(0,Q.Z)(),{motion:Ke}=ot,he=n.useRef(!1);return he.current=he.current||Ke===!1,he.current?n.createElement(se.zt,{motion:Ke},Ve):Ve}var X=e(60619),O=function(ke,Ve){var ot={};for(var Ke in ke)Object.prototype.hasOwnProperty.call(ke,Ke)&&Ve.indexOf(Ke)<0&&(ot[Ke]=ke[Ke]);if(ke!=null&&typeof Object.getOwnPropertySymbols=="function")for(var he=0,Ke=Object.getOwnPropertySymbols(ke);heVe.endsWith("Color"))}const Xe=ke=>{let{prefixCls:Ve,iconPrefixCls:ot,theme:Ke}=ke;Ve!==void 0&&(me=Ve),ot!==void 0&&(ve=ot),Ke&&(qe(Ke)?L(Pe(),Ke):be=Ke)},mt=()=>({getPrefixCls:(ke,Ve)=>Ve||(ke?`${Pe()}-${ke}`:Pe()),getIconPrefixCls:Je,getRootPrefixCls:()=>me||Pe(),getTheme:()=>be}),Ct=ke=>{const{children:Ve,csp:ot,autoInsertSpaceInButton:Ke,alert:he,anchor:J,form:V,locale:R,componentSize:P,direction:B,space:ge,virtual:ie,dropdownMatchSelectWidth:pe,popupMatchSelectWidth:Oe,popupOverflow:xe,legacyLocale:Se,parentContext:$e,iconPrefixCls:re,theme:oe,componentDisabled:q,segmented:ue,statistic:Ee,spin:le,calendar:Ne,carousel:Ae,cascader:we,collapse:Re,typography:st,checkbox:nt,descriptions:_e,divider:We,drawer:Be,skeleton:it,steps:Ge,image:Ot,layout:$t,list:wt,mentions:Pt,modal:dt,progress:je,result:tt,slider:lt,breadcrumb:bt,menu:It,pagination:Kt,input:zt,empty:Mt,badge:Le,radio:Ce,rate:Et,switch:Tt,transfer:Ye,avatar:et,message:_t,tag:Ut,table:qt,card:un,tabs:Mn,timeline:vn,timePicker:Xn,upload:Vn,notification:or,tree:er,colorPicker:Wt,datePicker:en,wave:nn}=ke,fn=n.useCallback((ct,Dt)=>{const{prefixCls:xt}=ke;if(Dt)return Dt;const kt=xt||$e.getPrefixCls("");return ct?`${kt}-${ct}`:kt},[$e.getPrefixCls,ke.prefixCls]),En=re||$e.iconPrefixCls||x.oR,on=En!==$e.iconPrefixCls,pt=ot||$e.csp,gt=(0,X.Z)(En,pt),Xt=ee(oe,$e.theme),rn={csp:pt,autoInsertSpaceInButton:Ke,alert:he,anchor:J,locale:R||Se,direction:B,space:ge,virtual:ie,popupMatchSelectWidth:Oe!=null?Oe:pe,popupOverflow:xe,getPrefixCls:fn,iconPrefixCls:En,theme:Xt,segmented:ue,statistic:Ee,spin:le,calendar:Ne,carousel:Ae,cascader:we,collapse:Re,typography:st,checkbox:nt,descriptions:_e,divider:We,drawer:Be,skeleton:it,steps:Ge,image:Ot,input:zt,layout:$t,list:wt,mentions:Pt,modal:dt,progress:je,result:tt,slider:lt,breadcrumb:bt,menu:It,pagination:Kt,empty:Mt,badge:Le,radio:Ce,rate:Et,switch:Tt,transfer:Ye,avatar:et,message:_t,tag:Ut,table:qt,card:un,tabs:Mn,timeline:vn,timePicker:Xn,upload:Vn,notification:or,tree:er,colorPicker:Wt,datePicker:en,wave:nn},Jt=Object.assign({},$e);Object.keys(rn).forEach(ct=>{rn[ct]!==void 0&&(Jt[ct]=rn[ct])}),Y.forEach(ct=>{const Dt=ke[ct];Dt&&(Jt[ct]=Dt)});const pn=(0,o.Z)(()=>Jt,Jt,(ct,Dt)=>{const xt=Object.keys(ct),kt=Object.keys(Dt);return xt.length!==kt.length||xt.some(sn=>ct[sn]!==Dt[sn])}),mn=n.useMemo(()=>({prefixCls:En,csp:pt}),[En,pt]);let Zn=on?gt(Ve):Ve;const tr=n.useMemo(()=>{var ct,Dt,xt,kt;return(0,s.T)(((ct=h.Z.Form)===null||ct===void 0?void 0:ct.defaultValidateMessages)||{},((xt=(Dt=pn.locale)===null||Dt===void 0?void 0:Dt.Form)===null||xt===void 0?void 0:xt.defaultValidateMessages)||{},((kt=pn.form)===null||kt===void 0?void 0:kt.validateMessages)||{},(V==null?void 0:V.validateMessages)||{})},[pn,V==null?void 0:V.validateMessages]);Object.keys(tr).length>0&&(Zn=n.createElement(d.Z.Provider,{value:tr},Ve)),R&&(Zn=n.createElement(M,{locale:R,_ANT_MARK__:m},Zn)),(En||pt)&&(Zn=n.createElement(t.Z.Provider,{value:mn},Zn)),P&&(Zn=n.createElement(G.q,{size:P},Zn)),Zn=n.createElement(C,null,Zn);const ut=n.useMemo(()=>{const ct=Xt||{},{algorithm:Dt,token:xt,components:kt}=ct,sn=O(ct,["algorithm","token","components"]),tn=Dt&&(!Array.isArray(Dt)||Dt.length>0)?(0,a.jG)(Dt):S.uH,xn={};return Object.entries(kt||{}).forEach(Nn=>{let[gr,nr]=Nn;const Rn=Object.assign({},nr);"algorithm"in Rn&&(Rn.algorithm===!0?Rn.theme=tn:(Array.isArray(Rn.algorithm)||typeof Rn.algorithm=="function")&&(Rn.theme=(0,a.jG)(Rn.algorithm)),delete Rn.algorithm),xn[gr]=Rn}),Object.assign(Object.assign({},sn),{theme:tn,token:Object.assign(Object.assign({},w.Z),xt),components:xn})},[Xt]);return oe&&(Zn=n.createElement(S.Mj.Provider,{value:ut},Zn)),q!==void 0&&(Zn=n.createElement(j.n,{disabled:q},Zn)),n.createElement(x.E_.Provider,{value:pn},Zn)},vt=ke=>{const Ve=n.useContext(x.E_),ot=n.useContext(c.Z);return n.createElement(Ct,Object.assign({parentContext:Ve,legacyLocale:ot},ke))};vt.ConfigContext=x.E_,vt.SizeContext=G.Z,vt.config=Xe,vt.useConfig=ne,Object.defineProperty(vt,"SizeContext",{get:()=>G.Z});var Ht=vt},7056:function(b,y,e){"use strict";e.d(y,{Z:function(){return n}});var a={locale:"en_US",today:"Today",now:"Now",backToToday:"Back to today",ok:"OK",clear:"Clear",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"},t=a,o=e(38107),n={lang:Object.assign({placeholder:"Select date",yearPlaceholder:"Select year",quarterPlaceholder:"Select quarter",monthPlaceholder:"Select month",weekPlaceholder:"Select week",rangePlaceholder:["Start date","End date"],rangeYearPlaceholder:["Start year","End year"],rangeQuarterPlaceholder:["Start quarter","End quarter"],rangeMonthPlaceholder:["Start month","End month"],rangeWeekPlaceholder:["Start week","End week"]},t),timePickerLocale:Object.assign({},o.Z)}},51244:function(b,y,e){"use strict";e.d(y,{Z:function(){return h}});var a=e(87608),t=e.n(a),o=e(58757),s=e(61836),n=e(78330),d=e(52628),l=e(22151);const c=S=>{const{componentCls:w,sizePaddingEdgeHorizontal:x,colorSplit:z,lineWidth:U}=S;return{[w]:Object.assign(Object.assign({},(0,n.Wf)(S)),{borderBlockStart:`${U}px solid ${z}`,"&-vertical":{position:"relative",top:"-0.06em",display:"inline-block",height:"0.9em",margin:`0 ${S.dividerVerticalGutterMargin}px`,verticalAlign:"middle",borderTop:0,borderInlineStart:`${U}px solid ${z}`},"&-horizontal":{display:"flex",clear:"both",width:"100%",minWidth:"100%",margin:`${S.dividerHorizontalGutterMargin}px 0`},[`&-horizontal${w}-with-text`]:{display:"flex",alignItems:"center",margin:`${S.dividerHorizontalWithTextGutterMargin}px 0`,color:S.colorTextHeading,fontWeight:500,fontSize:S.fontSizeLG,whiteSpace:"nowrap",textAlign:"center",borderBlockStart:`0 ${z}`,"&::before, &::after":{position:"relative",width:"50%",borderBlockStart:`${U}px solid transparent`,borderBlockStartColor:"inherit",borderBlockEnd:0,transform:"translateY(50%)",content:"''"}},[`&-horizontal${w}-with-text-left`]:{"&::before":{width:"5%"},"&::after":{width:"95%"}},[`&-horizontal${w}-with-text-right`]:{"&::before":{width:"95%"},"&::after":{width:"5%"}},[`${w}-inner-text`]:{display:"inline-block",padding:"0 1em"},"&-dashed":{background:"none",borderColor:z,borderStyle:"dashed",borderWidth:`${U}px 0 0`},[`&-horizontal${w}-with-text${w}-dashed`]:{"&::before, &::after":{borderStyle:"dashed none none"}},[`&-vertical${w}-dashed`]:{borderInlineStartWidth:U,borderInlineEnd:0,borderBlockStart:0,borderBlockEnd:0},[`&-plain${w}-with-text`]:{color:S.colorText,fontWeight:"normal",fontSize:S.fontSize},[`&-horizontal${w}-with-text-left${w}-no-default-orientation-margin-left`]:{"&::before":{width:0},"&::after":{width:"100%"},[`${w}-inner-text`]:{paddingInlineStart:x}},[`&-horizontal${w}-with-text-right${w}-no-default-orientation-margin-right`]:{"&::before":{width:"100%"},"&::after":{width:0},[`${w}-inner-text`]:{paddingInlineEnd:x}}})}};var m=(0,d.Z)("Divider",S=>{const w=(0,l.TS)(S,{dividerVerticalGutterMargin:S.marginXS,dividerHorizontalWithTextGutterMargin:S.margin,dividerHorizontalGutterMargin:S.marginLG});return[c(w)]},{sizePaddingEdgeHorizontal:0}),g=function(S,w){var x={};for(var z in S)Object.prototype.hasOwnProperty.call(S,z)&&w.indexOf(z)<0&&(x[z]=S[z]);if(S!=null&&typeof Object.getOwnPropertySymbols=="function")for(var U=0,z=Object.getOwnPropertySymbols(S);U{const{getPrefixCls:w,direction:x,divider:z}=o.useContext(s.E_),{prefixCls:U,type:T="horizontal",orientation:N="center",orientationMargin:Z,className:D,rootClassName:L,children:j,dashed:G,plain:W,style:ne}=S,_=g(S,["prefixCls","type","orientation","orientationMargin","className","rootClassName","children","dashed","plain","style"]),ee=w("divider",U),[se,Q]=m(ee),C=N.length>0?`-${N}`:N,X=!!j,O=N==="left"&&Z!=null,H=N==="right"&&Z!=null,k=t()(ee,z==null?void 0:z.className,Q,`${ee}-${T}`,{[`${ee}-with-text`]:X,[`${ee}-with-text${C}`]:X,[`${ee}-dashed`]:!!G,[`${ee}-plain`]:!!W,[`${ee}-rtl`]:x==="rtl",[`${ee}-no-default-orientation-margin-left`]:O,[`${ee}-no-default-orientation-margin-right`]:H},D,L),A=o.useMemo(()=>typeof Z=="number"?Z:/^\d+$/.test(Z)?Number(Z):Z,[Z]),Y=Object.assign(Object.assign({},O&&{marginLeft:A}),H&&{marginRight:A});return se(o.createElement("div",Object.assign({className:k,style:Object.assign(Object.assign({},z==null?void 0:z.style),ne)},_,{role:"separator"}),j&&T!=="vertical"&&o.createElement("span",{className:`${ee}-inner-text`,style:Y},j)))}},40627:function(b,y,e){"use strict";var a=e(91169),t=e(87608),o=e.n(t),s=e(4933),n=e(51729),d=e(60409),l=e(98186),c=e(58757),m=e(15018),g=e(95446),M=e(37047),h=e(61836),S=e(85706),w=e(81285),x=e(22802),z=e(78607);const U=null,T=L=>{const{menu:j,arrow:G,prefixCls:W,children:ne,trigger:_,disabled:ee,dropdownRender:se,getPopupContainer:Q,overlayClassName:C,rootClassName:X,open:O,onOpenChange:H,visible:k,onVisibleChange:A,mouseEnterDelay:Y=.15,mouseLeaveDelay:de=.1,autoAdjustOverflow:me=!0,placement:ve="",overlay:be,transitionName:Pe}=L,{getPopupContainer:Je,getPrefixCls:qe,direction:Xe}=c.useContext(h.E_),mt=c.useMemo(()=>{const Oe=qe();return Pe!==void 0?Pe:ve.includes("top")?`${Oe}-slide-down`:`${Oe}-slide-up`},[qe,ve,Pe]),Ct=c.useMemo(()=>ve?ve.includes("Center")?ve.slice(0,ve.indexOf("Center")):ve:Xe==="rtl"?"bottomRight":"bottomLeft",[ve,Xe]),vt=qe("dropdown",W),[Ht,ke]=(0,z.Z)(vt),{token:Ve}=x.Z.useToken(),ot=c.Children.only(ne),Ke=(0,M.Tm)(ot,{className:o()(`${vt}-trigger`,{[`${vt}-rtl`]:Xe==="rtl"},ot.props.className),disabled:ee}),he=ee?[]:_;let J;he&&he.includes("contextMenu")&&(J=!0);const[V,R]=(0,d.Z)(!1,{value:O!=null?O:k}),P=(0,n.Z)(Oe=>{H==null||H(Oe),A==null||A(Oe),R(Oe)}),B=o()(C,X,ke,{[`${vt}-rtl`]:Xe==="rtl"}),ge=(0,g.Z)({arrowPointAtCenter:typeof G=="object"&&G.pointAtCenter,autoAdjustOverflow:me,offset:Ve.marginXXS,arrowWidth:G?Ve.sizePopupArrow:0,borderRadius:Ve.borderRadius}),ie=c.useCallback(()=>{R(!1)},[]),pe=()=>{let Oe;return j!=null&&j.items?Oe=c.createElement(S.Z,Object.assign({},j)):typeof be=="function"?Oe=be():Oe=be,se&&(Oe=se(Oe)),Oe=c.Children.only(typeof Oe=="string"?c.createElement("span",null,Oe):Oe),c.createElement(w.J,{prefixCls:`${vt}-menu`,expandIcon:c.createElement("span",{className:`${vt}-menu-submenu-arrow`},c.createElement(a.Z,{className:`${vt}-menu-submenu-arrow-icon`})),mode:"vertical",selectable:!1,onClick:ie,validator:xe=>{let{mode:Se}=xe}},Oe)};return Ht(c.createElement(s.Z,Object.assign({alignPoint:J},(0,l.Z)(L,["rootClassName"]),{mouseEnterDelay:Y,mouseLeaveDelay:de,visible:V,builtinPlacements:ge,arrow:!!G,overlayClassName:B,prefixCls:vt,getPopupContainer:Q||Je,transitionName:mt,trigger:he,overlay:pe,placement:Ct,onVisibleChange:P}),Ke))};function N(L){return Object.assign(Object.assign({},L),{align:{overflow:{adjustX:!1,adjustY:!1}}})}const Z=(0,m.Z)(T,"dropdown",L=>L,N),D=L=>c.createElement(Z,Object.assign({},L),c.createElement("span",null));T._InternalPanelDoNotUseOrYouWillBeFired=D,y.Z=T},73267:function(b,y,e){"use strict";e.d(y,{Z:function(){return x}});var a=e(40627),t=e(87608),o=e.n(t),s=e(58757),n=e(18974),d=e(12562),l=e(61836),c=e(57414),m=e(43528),g=e(78607),M=function(z,U){var T={};for(var N in z)Object.prototype.hasOwnProperty.call(z,N)&&U.indexOf(N)<0&&(T[N]=z[N]);if(z!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Z=0,N=Object.getOwnPropertySymbols(z);Z{const{getPopupContainer:U,getPrefixCls:T,direction:N}=s.useContext(l.E_),{prefixCls:Z,type:D="default",danger:L,disabled:j,loading:G,onClick:W,htmlType:ne,children:_,className:ee,menu:se,arrow:Q,autoFocus:C,overlay:X,trigger:O,align:H,open:k,onOpenChange:A,placement:Y,getPopupContainer:de,href:me,icon:ve=s.createElement(n.Z,null),title:be,buttonsRender:Pe=pe=>pe,mouseEnterDelay:Je,mouseLeaveDelay:qe,overlayClassName:Xe,overlayStyle:mt,destroyPopupOnHide:Ct,dropdownRender:vt}=z,Ht=M(z,["prefixCls","type","danger","disabled","loading","onClick","htmlType","children","className","menu","arrow","autoFocus","overlay","trigger","align","open","onOpenChange","placement","getPopupContainer","href","icon","title","buttonsRender","mouseEnterDelay","mouseLeaveDelay","overlayClassName","overlayStyle","destroyPopupOnHide","dropdownRender"]),ke=T("dropdown",Z),Ve=`${ke}-button`,[ot,Ke]=(0,g.Z)(ke),he={menu:se,arrow:Q,autoFocus:C,align:H,disabled:j,trigger:j?[]:O,onOpenChange:A,getPopupContainer:de||U,mouseEnterDelay:Je,mouseLeaveDelay:qe,overlayClassName:Xe,overlayStyle:mt,destroyPopupOnHide:Ct,dropdownRender:vt},{compactSize:J,compactItemClassnames:V}=(0,m.ri)(ke,N),R=o()(Ve,V,ee,Ke);"overlay"in z&&(he.overlay=X),"open"in z&&(he.open=k),"placement"in z?he.placement=Y:he.placement=N==="rtl"?"bottomLeft":"bottomRight";const P=s.createElement(d.ZP,{type:D,danger:L,disabled:j,loading:G,onClick:W,htmlType:ne,href:me,title:be},_),B=s.createElement(d.ZP,{type:D,danger:L,icon:ve}),[ge,ie]=Pe([P,B]);return ot(s.createElement(c.Z.Compact,Object.assign({className:R,size:J,block:!0},Ht),ge,s.createElement(a.Z,Object.assign({},he),ie)))};h.__ANT_BUTTON=!0;var S=h;const w=a.Z;w.Button=S;var x=w},78607:function(b,y,e){"use strict";e.d(y,{Z:function(){return M}});var a=e(78330),t=e(1016),o=e(1546),s=e(28107),n=e(24542),d=e(52628),l=e(22151),m=h=>{const{componentCls:S,menuCls:w,colorError:x,colorTextLightSolid:z}=h,U=`${w}-item`;return{[`${S}, ${S}-menu-submenu`]:{[`${w} ${U}`]:{[`&${U}-danger:not(${U}-disabled)`]:{color:x,"&:hover":{color:z,backgroundColor:x}}}}}};const g=h=>{const{componentCls:S,menuCls:w,zIndexPopup:x,dropdownArrowDistance:z,sizePopupArrow:U,antCls:T,iconCls:N,motionDurationMid:Z,dropdownPaddingVertical:D,fontSize:L,dropdownEdgeChildPadding:j,colorTextDisabled:G,fontSizeIcon:W,controlPaddingHorizontal:ne,colorBgElevated:_}=h;return[{[S]:Object.assign(Object.assign({},(0,a.Wf)(h)),{position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:x,display:"block","&::before":{position:"absolute",insetBlock:-z+U/2,zIndex:-9999,opacity:1e-4,content:'""'},[`&-trigger${T}-btn`]:{[`& > ${N}-down, & > ${T}-btn-icon > ${N}-down`]:{fontSize:W}},[`${S}-wrap`]:{position:"relative",[`${T}-btn > ${N}-down`]:{fontSize:W},[`${N}-down::before`]:{transition:`transform ${Z}`}},[`${S}-wrap-open`]:{[`${N}-down::before`]:{transform:"rotate(180deg)"}},[` + &-hidden, + &-menu-hidden, + &-menu-submenu-hidden + `]:{display:"none"},[`&${T}-slide-down-enter${T}-slide-down-enter-active${S}-placement-bottomLeft, + &${T}-slide-down-appear${T}-slide-down-appear-active${S}-placement-bottomLeft, + &${T}-slide-down-enter${T}-slide-down-enter-active${S}-placement-bottom, + &${T}-slide-down-appear${T}-slide-down-appear-active${S}-placement-bottom, + &${T}-slide-down-enter${T}-slide-down-enter-active${S}-placement-bottomRight, + &${T}-slide-down-appear${T}-slide-down-appear-active${S}-placement-bottomRight`]:{animationName:t.fJ},[`&${T}-slide-up-enter${T}-slide-up-enter-active${S}-placement-topLeft, + &${T}-slide-up-appear${T}-slide-up-appear-active${S}-placement-topLeft, + &${T}-slide-up-enter${T}-slide-up-enter-active${S}-placement-top, + &${T}-slide-up-appear${T}-slide-up-appear-active${S}-placement-top, + &${T}-slide-up-enter${T}-slide-up-enter-active${S}-placement-topRight, + &${T}-slide-up-appear${T}-slide-up-appear-active${S}-placement-topRight`]:{animationName:t.Qt},[`&${T}-slide-down-leave${T}-slide-down-leave-active${S}-placement-bottomLeft, + &${T}-slide-down-leave${T}-slide-down-leave-active${S}-placement-bottom, + &${T}-slide-down-leave${T}-slide-down-leave-active${S}-placement-bottomRight`]:{animationName:t.Uw},[`&${T}-slide-up-leave${T}-slide-up-leave-active${S}-placement-topLeft, + &${T}-slide-up-leave${T}-slide-up-leave-active${S}-placement-top, + &${T}-slide-up-leave${T}-slide-up-leave-active${S}-placement-topRight`]:{animationName:t.ly}})},(0,n.ZP)(h,{colorBg:_,limitVerticalRadius:!0,arrowPlacement:{top:!0,bottom:!0}}),{[`${S} ${w}`]:{position:"relative",margin:0},[`${w}-submenu-popup`]:{position:"absolute",zIndex:x,background:"transparent",boxShadow:"none",transformOrigin:"0 0","ul, li":{listStyle:"none",margin:0}},[`${S}, ${S}-menu-submenu`]:{[w]:Object.assign(Object.assign({padding:j,listStyleType:"none",backgroundColor:_,backgroundClip:"padding-box",borderRadius:h.borderRadiusLG,outline:"none",boxShadow:h.boxShadowSecondary},(0,a.Qy)(h)),{[`${w}-item-group-title`]:{padding:`${D}px ${ne}px`,color:h.colorTextDescription,transition:`all ${Z}`},[`${w}-item`]:{position:"relative",display:"flex",alignItems:"center"},[`${w}-item-icon`]:{minWidth:L,marginInlineEnd:h.marginXS,fontSize:h.fontSizeSM},[`${w}-title-content`]:{flex:"auto","> a":{color:"inherit",transition:`all ${Z}`,"&:hover":{color:"inherit"},"&::after":{position:"absolute",inset:0,content:'""'}}},[`${w}-item, ${w}-submenu-title`]:Object.assign(Object.assign({clear:"both",margin:0,padding:`${D}px ${ne}px`,color:h.colorText,fontWeight:"normal",fontSize:L,lineHeight:h.lineHeight,cursor:"pointer",transition:`all ${Z}`,borderRadius:h.borderRadiusSM,["&:hover, &-active"]:{backgroundColor:h.controlItemBgHover}},(0,a.Qy)(h)),{"&-selected":{color:h.colorPrimary,backgroundColor:h.controlItemBgActive,"&:hover, &-active":{backgroundColor:h.controlItemBgActiveHover}},"&-disabled":{color:G,cursor:"not-allowed","&:hover":{color:G,backgroundColor:_,cursor:"not-allowed"},a:{pointerEvents:"none"}},"&-divider":{height:1,margin:`${h.marginXXS}px 0`,overflow:"hidden",lineHeight:0,backgroundColor:h.colorSplit},[`${S}-menu-submenu-expand-icon`]:{position:"absolute",insetInlineEnd:h.paddingXS,[`${S}-menu-submenu-arrow-icon`]:{marginInlineEnd:"0 !important",color:h.colorTextDescription,fontSize:W,fontStyle:"normal"}}}),[`${w}-item-group-list`]:{margin:`0 ${h.marginXS}px`,padding:0,listStyle:"none"},[`${w}-submenu-title`]:{paddingInlineEnd:ne+h.fontSizeSM},[`${w}-submenu-vertical`]:{position:"relative"},[`${w}-submenu${w}-submenu-disabled ${S}-menu-submenu-title`]:{[`&, ${S}-menu-submenu-arrow-icon`]:{color:G,backgroundColor:_,cursor:"not-allowed"}},[`${w}-submenu-selected ${S}-menu-submenu-title`]:{color:h.colorPrimary}})}},[(0,t.oN)(h,"slide-up"),(0,t.oN)(h,"slide-down"),(0,o.Fm)(h,"move-up"),(0,o.Fm)(h,"move-down"),(0,s._y)(h,"zoom-big")]]};var M=(0,d.Z)("Dropdown",(h,S)=>{let{rootPrefixCls:w}=S;const{marginXXS:x,sizePopupArrow:z,controlHeight:U,fontSize:T,lineHeight:N,paddingXXS:Z,componentCls:D,borderRadiusLG:L}=h,j=(U-T*N)/2,{dropdownArrowOffset:G}=(0,n.fS)({contentRadius:L}),W=(0,l.TS)(h,{menuCls:`${D}-menu`,rootPrefixCls:w,dropdownArrowDistance:z/2+x,dropdownArrowOffset:G,dropdownPaddingVertical:j,dropdownEdgeChildPadding:Z});return[g(W),m(W)]},h=>({zIndexPopup:h.zIndexPopupBase+50}))},17444:function(b,y,e){"use strict";e.d(y,{Z:function(){return Z}});var a=e(87608),t=e.n(a),o=e(58757),s=e(61836),n=e(29487),d=e(66671),l=e(51806),m=()=>{const[,D]=(0,l.Z)(),j=new d.C(D.colorBgBase).toHsl().l<.5?{opacity:.65}:{};return o.createElement("svg",{style:j,width:"184",height:"152",viewBox:"0 0 184 152",xmlns:"http://www.w3.org/2000/svg"},o.createElement("g",{fill:"none",fillRule:"evenodd"},o.createElement("g",{transform:"translate(24 31.67)"},o.createElement("ellipse",{fillOpacity:".8",fill:"#F5F5F7",cx:"67.797",cy:"106.89",rx:"67.797",ry:"12.668"}),o.createElement("path",{d:"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z",fill:"#AEB8C2"}),o.createElement("path",{d:"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z",fill:"url(#linearGradient-1)",transform:"translate(13.56)"}),o.createElement("path",{d:"M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z",fill:"#F5F5F7"}),o.createElement("path",{d:"M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z",fill:"#DCE0E6"})),o.createElement("path",{d:"M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z",fill:"#DCE0E6"}),o.createElement("g",{transform:"translate(149.65 15.383)",fill:"#FFF"},o.createElement("ellipse",{cx:"20.654",cy:"3.167",rx:"2.849",ry:"2.815"}),o.createElement("path",{d:"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z"}))))},M=()=>{const[,D]=(0,l.Z)(),{colorFill:L,colorFillTertiary:j,colorFillQuaternary:G,colorBgContainer:W}=D,{borderColor:ne,shadowColor:_,contentColor:ee}=(0,o.useMemo)(()=>({borderColor:new d.C(L).onBackground(W).toHexShortString(),shadowColor:new d.C(j).onBackground(W).toHexShortString(),contentColor:new d.C(G).onBackground(W).toHexShortString()}),[L,j,G,W]);return o.createElement("svg",{width:"64",height:"41",viewBox:"0 0 64 41",xmlns:"http://www.w3.org/2000/svg"},o.createElement("g",{transform:"translate(0 1)",fill:"none",fillRule:"evenodd"},o.createElement("ellipse",{fill:_,cx:"32",cy:"33",rx:"32",ry:"7"}),o.createElement("g",{fillRule:"nonzero",stroke:ne},o.createElement("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),o.createElement("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:ee}))))},h=e(52628),S=e(22151);const w=D=>{const{componentCls:L,margin:j,marginXS:G,marginXL:W,fontSize:ne,lineHeight:_}=D;return{[L]:{marginInline:G,fontSize:ne,lineHeight:_,textAlign:"center",[`${L}-image`]:{height:D.emptyImgHeight,marginBottom:G,opacity:D.opacityImage,img:{height:"100%"},svg:{maxWidth:"100%",height:"100%",margin:"auto"}},[`${L}-description`]:{color:D.colorText},[`${L}-footer`]:{marginTop:j},"&-normal":{marginBlock:W,color:D.colorTextDisabled,[`${L}-description`]:{color:D.colorTextDisabled},[`${L}-image`]:{height:D.emptyImgHeightMD}},"&-small":{marginBlock:G,color:D.colorTextDisabled,[`${L}-image`]:{height:D.emptyImgHeightSM}}}}};var x=(0,h.Z)("Empty",D=>{const{componentCls:L,controlHeightLG:j}=D,G=(0,S.TS)(D,{emptyImgCls:`${L}-img`,emptyImgHeight:j*2.5,emptyImgHeightMD:j,emptyImgHeightSM:j*.875});return[w(G)]}),z=function(D,L){var j={};for(var G in D)Object.prototype.hasOwnProperty.call(D,G)&&L.indexOf(G)<0&&(j[G]=D[G]);if(D!=null&&typeof Object.getOwnPropertySymbols=="function")for(var W=0,G=Object.getOwnPropertySymbols(D);W{var{className:L,rootClassName:j,prefixCls:G,image:W=U,description:ne,children:_,imageStyle:ee,style:se}=D,Q=z(D,["className","rootClassName","prefixCls","image","description","children","imageStyle","style"]);const{getPrefixCls:C,direction:X,empty:O}=o.useContext(s.E_),H=C("empty",G),[k,A]=x(H),[Y]=(0,n.Z)("Empty"),de=typeof ne!="undefined"?ne:Y==null?void 0:Y.description,me=typeof de=="string"?de:"empty";let ve=null;return typeof W=="string"?ve=o.createElement("img",{alt:me,src:W}):ve=W,k(o.createElement("div",Object.assign({className:t()(A,H,O==null?void 0:O.className,{[`${H}-normal`]:W===T,[`${H}-rtl`]:X==="rtl"},L,j),style:Object.assign(Object.assign({},O==null?void 0:O.style),se)},Q),o.createElement("div",{className:`${H}-image`,style:ee},ve),de&&o.createElement("div",{className:`${H}-description`},de),_&&o.createElement("div",{className:`${H}-footer`},_)))};N.PRESENTED_IMAGE_DEFAULT=U,N.PRESENTED_IMAGE_SIMPLE=T;var Z=N},81496:function(b,y,e){"use strict";e.d(y,{RV:function(){return d},Rk:function(){return l},Ux:function(){return m},aM:function(){return c},q3:function(){return s},qI:function(){return n}});var a=e(94866),t=e(98186),o=e(58757);const s=o.createContext({labelAlign:"right",vertical:!1,itemRef:()=>{}}),n=o.createContext(null),d=g=>{const M=(0,t.Z)(g,["prefixCls"]);return o.createElement(a.RV,Object.assign({},M))},l=o.createContext({prefixCls:""}),c=o.createContext({}),m=g=>{let{children:M,status:h,override:S}=g;const w=(0,o.useContext)(c),x=(0,o.useMemo)(()=>{const z=Object.assign({},w);return S&&delete z.isFormItemInput,h&&(delete z.status,delete z.hasFeedback,delete z.feedbackIcon),z},[h,S,w]);return o.createElement(c.Provider,{value:x},M)}},47513:function(b,y,e){"use strict";e.d(y,{Z:function(){return Le}});var a=e(29140),t=e(87608),o=e.n(t),s=e(17598),n=e(58757),d=e(90881),l=e(81496);function c(Ce){const[Et,Tt]=n.useState(Ce);return n.useEffect(()=>{const Ye=setTimeout(()=>{Tt(Ce)},Ce.length?0:10);return()=>{clearTimeout(Ye)}},[Ce]),Et}var m=e(78330),g=e(28107),M=e(41086),h=e(52628),S=e(22151),x=Ce=>{const{componentCls:Et}=Ce,Tt=`${Et}-show-help`,Ye=`${Et}-show-help-item`;return{[Tt]:{transition:`opacity ${Ce.motionDurationSlow} ${Ce.motionEaseInOut}`,"&-appear, &-enter":{opacity:0,"&-active":{opacity:1}},"&-leave":{opacity:1,"&-active":{opacity:0}},[Ye]:{overflow:"hidden",transition:`height ${Ce.motionDurationSlow} ${Ce.motionEaseInOut}, + opacity ${Ce.motionDurationSlow} ${Ce.motionEaseInOut}, + transform ${Ce.motionDurationSlow} ${Ce.motionEaseInOut} !important`,[`&${Ye}-appear, &${Ye}-enter`]:{transform:"translateY(-5px)",opacity:0,["&-active"]:{transform:"translateY(0)",opacity:1}},[`&${Ye}-leave-active`]:{transform:"translateY(-5px)"}}}}};const z=Ce=>({legend:{display:"block",width:"100%",marginBottom:Ce.marginLG,padding:0,color:Ce.colorTextDescription,fontSize:Ce.fontSizeLG,lineHeight:"inherit",border:0,borderBottom:`${Ce.lineWidth}px ${Ce.lineType} ${Ce.colorBorder}`},label:{fontSize:Ce.fontSize},'input[type="search"]':{boxSizing:"border-box"},'input[type="radio"], input[type="checkbox"]':{lineHeight:"normal"},'input[type="file"]':{display:"block"},'input[type="range"]':{display:"block",width:"100%"},"select[multiple], select[size]":{height:"auto"},[`input[type='file']:focus, + input[type='radio']:focus, + input[type='checkbox']:focus`]:{outline:0,boxShadow:`0 0 0 ${Ce.controlOutlineWidth}px ${Ce.controlOutline}`},output:{display:"block",paddingTop:15,color:Ce.colorText,fontSize:Ce.fontSize,lineHeight:Ce.lineHeight}}),U=(Ce,Et)=>{const{formItemCls:Tt}=Ce;return{[Tt]:{[`${Tt}-label > label`]:{height:Et},[`${Tt}-control-input`]:{minHeight:Et}}}},T=Ce=>{const{componentCls:Et}=Ce;return{[Ce.componentCls]:Object.assign(Object.assign(Object.assign({},(0,m.Wf)(Ce)),z(Ce)),{[`${Et}-text`]:{display:"inline-block",paddingInlineEnd:Ce.paddingSM},"&-small":Object.assign({},U(Ce,Ce.controlHeightSM)),"&-large":Object.assign({},U(Ce,Ce.controlHeightLG))})}},N=Ce=>{const{formItemCls:Et,iconCls:Tt,componentCls:Ye,rootPrefixCls:et}=Ce;return{[Et]:Object.assign(Object.assign({},(0,m.Wf)(Ce)),{marginBottom:Ce.marginLG,verticalAlign:"top","&-with-help":{transition:"none"},[`&-hidden, + &-hidden.${et}-row`]:{display:"none"},"&-has-warning":{[`${Et}-split`]:{color:Ce.colorError}},"&-has-error":{[`${Et}-split`]:{color:Ce.colorWarning}},[`${Et}-label`]:{display:"inline-block",flexGrow:0,overflow:"hidden",whiteSpace:"nowrap",textAlign:"end",verticalAlign:"middle","&-left":{textAlign:"start"},"&-wrap":{overflow:"unset",lineHeight:`${Ce.lineHeight} - 0.25em`,whiteSpace:"unset"},"> label":{position:"relative",display:"inline-flex",alignItems:"center",maxWidth:"100%",height:Ce.controlHeight,color:Ce.colorTextHeading,fontSize:Ce.fontSize,[`> ${Tt}`]:{fontSize:Ce.fontSize,verticalAlign:"top"},[`&${Et}-required:not(${Et}-required-mark-optional)::before`]:{display:"inline-block",marginInlineEnd:Ce.marginXXS,color:Ce.colorError,fontSize:Ce.fontSize,fontFamily:"SimSun, sans-serif",lineHeight:1,content:'"*"',[`${Ye}-hide-required-mark &`]:{display:"none"}},[`${Et}-optional`]:{display:"inline-block",marginInlineStart:Ce.marginXXS,color:Ce.colorTextDescription,[`${Ye}-hide-required-mark &`]:{display:"none"}},[`${Et}-tooltip`]:{color:Ce.colorTextDescription,cursor:"help",writingMode:"horizontal-tb",marginInlineStart:Ce.marginXXS},"&::after":{content:'":"',position:"relative",marginBlock:0,marginInlineStart:Ce.marginXXS/2,marginInlineEnd:Ce.marginXS},[`&${Et}-no-colon::after`]:{content:'"\\a0"'}}},[`${Et}-control`]:{display:"flex",flexDirection:"column",flexGrow:1,[`&:first-child:not([class^="'${et}-col-'"]):not([class*="' ${et}-col-'"])`]:{width:"100%"},"&-input":{position:"relative",display:"flex",alignItems:"center",minHeight:Ce.controlHeight,"&-content":{flex:"auto",maxWidth:"100%"}}},[Et]:{"&-explain, &-extra":{clear:"both",color:Ce.colorTextDescription,fontSize:Ce.fontSize,lineHeight:Ce.lineHeight},"&-explain-connected":{width:"100%"},"&-extra":{minHeight:Ce.controlHeightSM,transition:`color ${Ce.motionDurationMid} ${Ce.motionEaseOut}`},"&-explain":{"&-error":{color:Ce.colorError},"&-warning":{color:Ce.colorWarning}}},[`&-with-help ${Et}-explain`]:{height:"auto",opacity:1},[`${Et}-feedback-icon`]:{fontSize:Ce.fontSize,textAlign:"center",visibility:"visible",animationName:g.kr,animationDuration:Ce.motionDurationMid,animationTimingFunction:Ce.motionEaseOutBack,pointerEvents:"none","&-success":{color:Ce.colorSuccess},"&-error":{color:Ce.colorError},"&-warning":{color:Ce.colorWarning},"&-validating":{color:Ce.colorPrimary}}})}},Z=Ce=>{const{componentCls:Et,formItemCls:Tt,rootPrefixCls:Ye}=Ce;return{[`${Et}-horizontal`]:{[`${Tt}-label`]:{flexGrow:0},[`${Tt}-control`]:{flex:"1 1 0",minWidth:0},[`${Tt}-label.${Ye}-col-24 + ${Tt}-control`]:{minWidth:"unset"}}}},D=Ce=>{const{componentCls:Et,formItemCls:Tt}=Ce;return{[`${Et}-inline`]:{display:"flex",flexWrap:"wrap",[Tt]:{flex:"none",marginInlineEnd:Ce.margin,marginBottom:0,"&-row":{flexWrap:"nowrap"},[`> ${Tt}-label, + > ${Tt}-control`]:{display:"inline-block",verticalAlign:"top"},[`> ${Tt}-label`]:{flex:"none"},[`${Et}-text`]:{display:"inline-block"},[`${Tt}-has-feedback`]:{display:"inline-block"}}}}},L=Ce=>({padding:`0 0 ${Ce.paddingXS}px`,whiteSpace:"initial",textAlign:"start","> label":{margin:0,"&::after":{visibility:"hidden"}}}),j=Ce=>{const{componentCls:Et,formItemCls:Tt,rootPrefixCls:Ye}=Ce;return{[`${Tt} ${Tt}-label`]:L(Ce),[Et]:{[Tt]:{flexWrap:"wrap",[`${Tt}-label, ${Tt}-control`]:{[`&:not([class*=" ${Ye}-col-xs"])`]:{flex:"0 0 100%",maxWidth:"100%"}}}}}},G=Ce=>{const{componentCls:Et,formItemCls:Tt,rootPrefixCls:Ye}=Ce;return{[`${Et}-vertical`]:{[Tt]:{"&-row":{flexDirection:"column"},"&-label > label":{height:"auto"},[`${Et}-item-control`]:{width:"100%"}}},[`${Et}-vertical ${Tt}-label, + .${Ye}-col-24${Tt}-label, + .${Ye}-col-xl-24${Tt}-label`]:L(Ce),[`@media (max-width: ${Ce.screenXSMax}px)`]:[j(Ce),{[Et]:{[`.${Ye}-col-xs-24${Tt}-label`]:L(Ce)}}],[`@media (max-width: ${Ce.screenSMMax}px)`]:{[Et]:{[`.${Ye}-col-sm-24${Tt}-label`]:L(Ce)}},[`@media (max-width: ${Ce.screenMDMax}px)`]:{[Et]:{[`.${Ye}-col-md-24${Tt}-label`]:L(Ce)}},[`@media (max-width: ${Ce.screenLGMax}px)`]:{[Et]:{[`.${Ye}-col-lg-24${Tt}-label`]:L(Ce)}}}};var W=(0,h.Z)("Form",(Ce,Et)=>{let{rootPrefixCls:Tt}=Et;const Ye=(0,S.TS)(Ce,{formItemCls:`${Ce.componentCls}-item`,rootPrefixCls:Tt});return[T(Ye),N(Ye),x(Ye),Z(Ye),D(Ye),G(Ye),(0,M.Z)(Ye),g.kr]});const ne=[];function _(Ce,Et,Tt){let Ye=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;return{key:typeof Ce=="string"?Ce:`${Et}-${Ye}`,error:Ce,errorStatus:Tt}}var se=Ce=>{let{help:Et,helpStatus:Tt,errors:Ye=ne,warnings:et=ne,className:_t,fieldId:Ut,onVisibleChanged:qt}=Ce;const{prefixCls:un}=n.useContext(l.Rk),Mn=`${un}-item-explain`,[,vn]=W(un),Xn=(0,n.useMemo)(()=>(0,d.Z)(un),[un]),Vn=c(Ye),or=c(et),er=n.useMemo(()=>Et!=null?[_(Et,"help",Tt)]:[].concat((0,a.Z)(Vn.map((en,nn)=>_(en,"error","error",nn))),(0,a.Z)(or.map((en,nn)=>_(en,"warning","warning",nn)))),[Et,Tt,Vn,or]),Wt={};return Ut&&(Wt.id=`${Ut}_help`),n.createElement(s.ZP,{motionDeadline:Xn.motionDeadline,motionName:`${un}-show-help`,visible:!!er.length,onVisibleChanged:qt},en=>{const{className:nn,style:fn}=en;return n.createElement("div",Object.assign({},Wt,{className:o()(Mn,nn,_t,vn),style:fn,role:"alert"}),n.createElement(s.V4,Object.assign({keys:er},(0,d.Z)(un),{motionName:`${un}-show-help-item`,component:!1}),En=>{const{key:on,error:pt,errorStatus:gt,className:Xt,style:rn}=En;return n.createElement("div",{key:on,className:o()(Xt,{[`${Mn}-${gt}`]:gt}),style:rn},pt)}))})},Q=e(94866),C=e(61836),X=e(92428),O=e(33446),H=e(58785),k=e(18591);const A=["parentNode"],Y="form_item";function de(Ce){return Ce===void 0||Ce===!1?[]:Array.isArray(Ce)?Ce:[Ce]}function me(Ce,Et){if(!Ce.length)return;const Tt=Ce.join("_");return Et?`${Et}_${Tt}`:A.includes(Tt)?`${Y}_${Tt}`:Tt}function ve(Ce){return de(Ce).join("_")}function be(Ce){const[Et]=(0,Q.cI)(),Tt=n.useRef({}),Ye=n.useMemo(()=>Ce!=null?Ce:Object.assign(Object.assign({},Et),{__INTERNAL__:{itemRef:et=>_t=>{const Ut=ve(et);_t?Tt.current[Ut]=_t:delete Tt.current[Ut]}},scrollToField:function(et){let _t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const Ut=de(et),qt=me(Ut,Ye.__INTERNAL__.name),un=qt?document.getElementById(qt):null;un&&(0,k.Z)(un,Object.assign({scrollMode:"if-needed",block:"nearest"},_t))},getFieldInstance:et=>{const _t=ve(et);return Tt.current[_t]}}),[Ce,Et]);return[Ye]}var Pe=e(48736),Je=function(Ce,Et){var Tt={};for(var Ye in Ce)Object.prototype.hasOwnProperty.call(Ce,Ye)&&Et.indexOf(Ye)<0&&(Tt[Ye]=Ce[Ye]);if(Ce!=null&&typeof Object.getOwnPropertySymbols=="function")for(var et=0,Ye=Object.getOwnPropertySymbols(Ce);et{const Tt=n.useContext(X.Z),{getPrefixCls:Ye,direction:et,form:_t}=n.useContext(C.E_),{prefixCls:Ut,className:qt,rootClassName:un,size:Mn,disabled:vn=Tt,form:Xn,colon:Vn,labelAlign:or,labelWrap:er,labelCol:Wt,wrapperCol:en,hideRequiredMark:nn,layout:fn="horizontal",scrollToFirstError:En,requiredMark:on,onFinishFailed:pt,name:gt,style:Xt}=Ce,rn=Je(Ce,["prefixCls","className","rootClassName","size","disabled","form","colon","labelAlign","labelWrap","labelCol","wrapperCol","hideRequiredMark","layout","scrollToFirstError","requiredMark","onFinishFailed","name","style"]),Jt=(0,H.Z)(Mn),pn=n.useContext(Pe.Z),mn=(0,n.useMemo)(()=>on!==void 0?on:_t&&_t.requiredMark!==void 0?_t.requiredMark:!nn,[nn,on,_t]),Zn=Vn!=null?Vn:_t==null?void 0:_t.colon,tr=Ye("form",Ut),[ut,ct]=W(tr),Dt=o()(tr,`${tr}-${fn}`,{[`${tr}-hide-required-mark`]:mn===!1,[`${tr}-rtl`]:et==="rtl",[`${tr}-${Jt}`]:Jt},ct,_t==null?void 0:_t.className,qt,un),[xt]=be(Xn),{__INTERNAL__:kt}=xt;kt.name=gt;const sn=(0,n.useMemo)(()=>({name:gt,labelAlign:or,labelCol:Wt,labelWrap:er,wrapperCol:en,vertical:fn==="vertical",colon:Zn,requiredMark:mn,itemRef:kt.itemRef,form:xt}),[gt,or,Wt,en,fn,Zn,mn,xt]);n.useImperativeHandle(Et,()=>xt);const tn=(Nn,gr)=>{if(Nn){let nr={block:"nearest"};typeof Nn=="object"&&(nr=Nn),xt.scrollToField(gr,nr)}},xn=Nn=>{if(pt==null||pt(Nn),Nn.errorFields.length){const gr=Nn.errorFields[0].name;if(En!==void 0){tn(En,gr);return}_t&&_t.scrollToFirstError!==void 0&&tn(_t.scrollToFirstError,gr)}};return ut(n.createElement(X.n,{disabled:vn},n.createElement(O.q,{size:Jt},n.createElement(l.RV,{validateMessages:pn},n.createElement(l.q3.Provider,{value:sn},n.createElement(Q.ZP,Object.assign({id:gt},rn,{name:gt,onFinishFailed:xn,form:xt,style:Object.assign(Object.assign({},_t==null?void 0:_t.style),Xt),className:Dt})))))))};var mt=n.forwardRef(qe),Ct=e(13989),vt=e(21319),Ht=e(37047);const ke=()=>{const{status:Ce,errors:Et=[],warnings:Tt=[]}=(0,n.useContext)(l.aM);return{status:Ce,errors:Et,warnings:Tt}};ke.Context=l.aM;var Ve=ke,ot=e(61834);function Ke(Ce){const[Et,Tt]=n.useState(Ce),Ye=(0,n.useRef)(null),et=(0,n.useRef)([]),_t=(0,n.useRef)(!1);n.useEffect(()=>(_t.current=!1,()=>{_t.current=!0,ot.Z.cancel(Ye.current),Ye.current=null}),[]);function Ut(qt){_t.current||(Ye.current===null&&(et.current=[],Ye.current=(0,ot.Z)(()=>{Ye.current=null,Tt(un=>{let Mn=un;return et.current.forEach(vn=>{Mn=vn(Mn)}),Mn})})),et.current.push(qt))}return[Et,Ut]}function he(){const{itemRef:Ce}=n.useContext(l.q3),Et=n.useRef({});function Tt(Ye,et){const _t=et&&typeof et=="object"&&et.ref,Ut=Ye.join("_");return(Et.current.name!==Ut||Et.current.originRef!==_t)&&(Et.current.name=Ut,Et.current.originRef=_t,Et.current.ref=(0,vt.sQ)(Ce(Ye),_t)),Et.current.ref}return Tt}var J=e(85678),V=e(79999),R=e(69831),P=e(25755),B=e(81334),ge=e(46499),ie=e(98186),pe=e(67665),Oe=e(91334),Se=Ce=>{const{prefixCls:Et,status:Tt,wrapperCol:Ye,children:et,errors:_t,warnings:Ut,_internalItemRender:qt,extra:un,help:Mn,fieldId:vn,marginBottom:Xn,onErrorVisibleChanged:Vn}=Ce,or=`${Et}-item`,er=n.useContext(l.q3),Wt=Ye||er.wrapperCol||{},en=o()(`${or}-control`,Wt.className),nn=n.useMemo(()=>Object.assign({},er),[er]);delete nn.labelCol,delete nn.wrapperCol;const fn=n.createElement("div",{className:`${or}-control-input`},n.createElement("div",{className:`${or}-control-input-content`},et)),En=n.useMemo(()=>({prefixCls:Et,status:Tt}),[Et,Tt]),on=Xn!==null||_t.length||Ut.length?n.createElement("div",{style:{display:"flex",flexWrap:"nowrap"}},n.createElement(l.Rk.Provider,{value:En},n.createElement(se,{fieldId:vn,errors:_t,warnings:Ut,help:Mn,helpStatus:Tt,className:`${or}-explain-connected`,onVisibleChanged:Vn})),!!Xn&&n.createElement("div",{style:{width:0,height:Xn}})):null,pt={};vn&&(pt.id=`${vn}_extra`);const gt=un?n.createElement("div",Object.assign({},pt,{className:`${or}-extra`}),un):null,Xt=qt&&qt.mark==="pro_table_render"&&qt.render?qt.render(Ce,{input:fn,errorList:on,extra:gt}):n.createElement(n.Fragment,null,fn,on,gt);return n.createElement(l.q3.Provider,{value:nn},n.createElement(Oe.Z,Object.assign({},Wt,{className:en}),Xt))},$e=e(60698),re={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M623.6 316.7C593.6 290.4 554 276 512 276s-81.6 14.5-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56.1 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.1 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0130.9-44.8c59-22.7 97.1-74.7 97.1-132.5.1-39.3-17.1-76-48.3-103.3zM472 732a40 40 0 1080 0 40 40 0 10-80 0z"}}]},name:"question-circle",theme:"outlined"},oe=re,q=e(17202),ue=function(Et,Tt){return n.createElement(q.Z,(0,$e.Z)({},Et,{ref:Tt,icon:oe}))},Ee=n.forwardRef(ue),le=e(80076),Ne=e(29487),Ae=e(74820),we=function(Ce,Et){var Tt={};for(var Ye in Ce)Object.prototype.hasOwnProperty.call(Ce,Ye)&&Et.indexOf(Ye)<0&&(Tt[Ye]=Ce[Ye]);if(Ce!=null&&typeof Object.getOwnPropertySymbols=="function")for(var et=0,Ye=Object.getOwnPropertySymbols(Ce);et{let{prefixCls:Et,label:Tt,htmlFor:Ye,labelCol:et,labelAlign:_t,colon:Ut,required:qt,requiredMark:un,tooltip:Mn}=Ce;var vn;const[Xn]=(0,Ne.Z)("Form"),{vertical:Vn,labelAlign:or,labelCol:er,labelWrap:Wt,colon:en}=n.useContext(l.q3);if(!Tt)return null;const nn=et||er||{},fn=_t||or,En=`${Et}-item-label`,on=o()(En,fn==="left"&&`${En}-left`,nn.className,{[`${En}-wrap`]:!!Wt});let pt=Tt;const gt=Ut===!0||en!==!1&&Ut!==!1;gt&&!Vn&&typeof Tt=="string"&&Tt.trim()!==""&&(pt=Tt.replace(/[:|:]\s*$/,""));const rn=Re(Mn);if(rn){const{icon:pn=n.createElement(Ee,null)}=rn,mn=we(rn,["icon"]),Zn=n.createElement(Ae.Z,Object.assign({},mn),n.cloneElement(pn,{className:`${Et}-item-tooltip`,title:""}));pt=n.createElement(n.Fragment,null,pt,Zn)}un==="optional"&&!qt&&(pt=n.createElement(n.Fragment,null,pt,n.createElement("span",{className:`${Et}-item-optional`,title:""},(Xn==null?void 0:Xn.optional)||((vn=le.Z.Form)===null||vn===void 0?void 0:vn.optional))));const Jt=o()({[`${Et}-item-required`]:qt,[`${Et}-item-required-mark-optional`]:un==="optional",[`${Et}-item-no-colon`]:!gt});return n.createElement(Oe.Z,Object.assign({},nn,{className:on}),n.createElement("label",{htmlFor:Ye,className:Jt,title:typeof Tt=="string"?Tt:""},pt))},_e=function(Ce,Et){var Tt={};for(var Ye in Ce)Object.prototype.hasOwnProperty.call(Ce,Ye)&&Et.indexOf(Ye)<0&&(Tt[Ye]=Ce[Ye]);if(Ce!=null&&typeof Object.getOwnPropertySymbols=="function")for(var et=0,Ye=Object.getOwnPropertySymbols(Ce);et{if(rn&&on.current){const xt=getComputedStyle(on.current);mn(parseInt(xt.marginBottom,10))}},[rn,Jt]);const Zn=xt=>{xt||mn(null)},ut=function(){let xt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,kt="";const sn=xt?pt:Mn.errors,tn=xt?gt:Mn.warnings;return un!==void 0?kt=un:Mn.validating?kt="validating":sn.length?kt="error":tn.length?kt="warning":(Mn.touched||vn&&Mn.validated)&&(kt="success"),kt}(),ct=n.useMemo(()=>{let xt;if(vn){const kt=ut&&We[ut];xt=kt?n.createElement("span",{className:o()(`${fn}-feedback-icon`,`${fn}-feedback-icon-${ut}`)},n.createElement(kt,null)):null}return{status:ut,errors:Ut,warnings:qt,hasFeedback:vn,feedbackIcon:xt,isFormItemInput:!0}},[ut,vn]),Dt=o()(fn,Tt,Ye,{[`${fn}-with-help`]:Xt||pt.length||gt.length,[`${fn}-has-feedback`]:ut&&vn,[`${fn}-has-success`]:ut==="success",[`${fn}-has-warning`]:ut==="warning",[`${fn}-has-error`]:ut==="error",[`${fn}-is-validating`]:ut==="validating",[`${fn}-hidden`]:Xn});return n.createElement("div",{className:Dt,style:et,ref:on},n.createElement(pe.Z,Object.assign({className:`${fn}-row`},(0,ie.Z)(nn,["_internalItemRender","colon","dependencies","extra","fieldKey","getValueFromEvent","getValueProps","htmlFor","id","initialValue","isListField","label","labelAlign","labelCol","labelWrap","messageVariables","name","normalize","noStyle","preserve","requiredMark","rules","shouldUpdate","trigger","tooltip","validateFirst","validateTrigger","valuePropName","wrapperCol"])),n.createElement(nt,Object.assign({htmlFor:or},Ce,{requiredMark:En,required:er!=null?er:Wt,prefixCls:Et})),n.createElement(Se,Object.assign({},Ce,Mn,{errors:pt,warnings:gt,prefixCls:Et,status:ut,help:_t,marginBottom:pn,onErrorVisibleChanged:Zn}),n.createElement(l.qI.Provider,{value:en},n.createElement(l.aM.Provider,{value:ct},Vn)))),!!pn&&n.createElement("div",{className:`${fn}-margin-offset`,style:{marginBottom:-pn}}))}var it=e(42156);function Ge(Ce){if(typeof Ce=="function")return Ce;const Et=(0,it.Z)(Ce);return Et.length<=1?Et[0]:Et}const Ot="__SPLIT__",$t=null,wt=n.memo(Ce=>{let{children:Et}=Ce;return Et},(Ce,Et)=>Ce.value===Et.value&&Ce.update===Et.update&&Ce.childProps.length===Et.childProps.length&&Ce.childProps.every((Tt,Ye)=>Tt===Et.childProps[Ye]));function Pt(Ce){return Ce!=null}function dt(){return{errors:[],warnings:[],touched:!1,validating:!1,name:[],validated:!1}}function je(Ce){const{name:Et,noStyle:Tt,className:Ye,dependencies:et,prefixCls:_t,shouldUpdate:Ut,rules:qt,children:un,required:Mn,label:vn,messageVariables:Xn,trigger:Vn="onChange",validateTrigger:or,hidden:er,help:Wt}=Ce,{getPrefixCls:en}=n.useContext(C.E_),{name:nn}=n.useContext(l.q3),fn=Ge(un),En=typeof fn=="function",on=n.useContext(l.qI),{validateTrigger:pt}=n.useContext(Q.zb),gt=or!==void 0?or:pt,Xt=Pt(Et),rn=en("form",_t),[Jt,pn]=W(rn),mn=n.useContext(Q.ZM),Zn=n.useRef(),[tr,ut]=Ke({}),[ct,Dt]=(0,Ct.Z)(()=>dt()),xt=nr=>{const Rn=mn==null?void 0:mn.getKey(nr.name);if(Dt(nr.destroy?dt():nr,!0),Tt&&Wt!==!1&&on){let kr=nr.name;if(nr.destroy)kr=Zn.current||kr;else if(Rn!==void 0){const[fr,ua]=Rn;kr=[fr].concat((0,a.Z)(ua)),Zn.current=kr}on(nr,kr)}},kt=(nr,Rn)=>{ut(kr=>{const fr=Object.assign({},kr),Pr=[].concat((0,a.Z)(nr.name.slice(0,-1)),(0,a.Z)(Rn)).join(Ot);return nr.destroy?delete fr[Pr]:fr[Pr]=nr,fr})},[sn,tn]=n.useMemo(()=>{const nr=(0,a.Z)(ct.errors),Rn=(0,a.Z)(ct.warnings);return Object.values(tr).forEach(kr=>{nr.push.apply(nr,(0,a.Z)(kr.errors||[])),Rn.push.apply(Rn,(0,a.Z)(kr.warnings||[]))}),[nr,Rn]},[tr,ct.errors,ct.warnings]),xn=he();function Nn(nr,Rn,kr){return Tt&&!er?nr:n.createElement(Be,Object.assign({key:"row"},Ce,{className:o()(Ye,pn),prefixCls:rn,fieldId:Rn,isRequired:kr,errors:sn,warnings:tn,meta:ct,onSubItemMetaChange:kt}),nr)}if(!Xt&&!En&&!et)return Jt(Nn(fn));let gr={};return typeof vn=="string"?gr.label=vn:Et&&(gr.label=String(Et)),Xn&&(gr=Object.assign(Object.assign({},gr),Xn)),Jt(n.createElement(Q.gN,Object.assign({},Ce,{messageVariables:gr,trigger:Vn,validateTrigger:gt,onMetaChange:xt}),(nr,Rn,kr)=>{const fr=de(Et).length&&Rn?Rn.name:[],ua=me(fr,nn),Pr=Mn!==void 0?Mn:!!(qt&&qt.some(wn=>{if(wn&&typeof wn=="object"&&wn.required&&!wn.warningOnly)return!0;if(typeof wn=="function"){const ar=wn(kr);return ar&&ar.required&&!ar.warningOnly}return!1})),Bn=Object.assign({},nr);let Cn=null;if(Array.isArray(fn)&&Xt)Cn=fn;else if(!(En&&(!(Ut||et)||Xt))){if(!(et&&!En&&!Xt))if((0,Ht.l$)(fn)){const wn=Object.assign(Object.assign({},fn.props),Bn);if(wn.id||(wn.id=ua),Wt||sn.length>0||tn.length>0||Ce.extra){const Qr=[];(Wt||sn.length>0)&&Qr.push(`${ua}_help`),Ce.extra&&Qr.push(`${ua}_extra`),wn["aria-describedby"]=Qr.join(" ")}sn.length>0&&(wn["aria-invalid"]="true"),Pr&&(wn["aria-required"]="true"),(0,vt.Yr)(fn)&&(wn.ref=xn(fr,fn)),new Set([].concat((0,a.Z)(de(Vn)),(0,a.Z)(de(gt)))).forEach(Qr=>{wn[Qr]=function(){for(var qr,ya,dr,Br,Ea,ca=arguments.length,Kn=new Array(ca),zn=0;zn{var{prefixCls:Et,children:Tt}=Ce,Ye=bt(Ce,["prefixCls","children"]);const{getPrefixCls:et}=n.useContext(C.E_),_t=et("form",Et),Ut=n.useMemo(()=>({prefixCls:_t,status:"error"}),[_t]);return n.createElement(Q.aV,Object.assign({},Ye),(qt,un,Mn)=>n.createElement(l.Rk.Provider,{value:Ut},Tt(qt.map(vn=>Object.assign(Object.assign({},vn),{fieldKey:vn.key})),un,{errors:Mn.errors,warnings:Mn.warnings})))};function zt(){const{form:Ce}=(0,n.useContext)(l.q3);return Ce}const Mt=mt;Mt.Item=lt,Mt.List=Kt,Mt.ErrorList=se,Mt.useForm=be,Mt.useFormInstance=zt,Mt.useWatch=Q.qo,Mt.Provider=l.RV,Mt.create=()=>{};var Le=Mt},48736:function(b,y,e){"use strict";var a=e(58757);y.Z=(0,a.createContext)(void 0)},35429:function(b,y,e){"use strict";var a=e(58757);const t=(0,a.createContext)({});y.Z=t},91334:function(b,y,e){"use strict";var a=e(87608),t=e.n(a),o=e(58757),s=e(61836),n=e(35429),d=e(58378),l=function(M,h){var S={};for(var w in M)Object.prototype.hasOwnProperty.call(M,w)&&h.indexOf(w)<0&&(S[w]=M[w]);if(M!=null&&typeof Object.getOwnPropertySymbols=="function")for(var x=0,w=Object.getOwnPropertySymbols(M);x{const{getPrefixCls:S,direction:w}=o.useContext(s.E_),{gutter:x,wrap:z,supportFlexGap:U}=o.useContext(n.Z),{prefixCls:T,span:N,order:Z,offset:D,push:L,pull:j,className:G,children:W,flex:ne,style:_}=M,ee=l(M,["prefixCls","span","order","offset","push","pull","className","children","flex","style"]),se=S("col",T),[Q,C]=(0,d.c)(se);let X={};m.forEach(k=>{let A={};const Y=M[k];typeof Y=="number"?A.span=Y:typeof Y=="object"&&(A=Y||{}),delete ee[k],X=Object.assign(Object.assign({},X),{[`${se}-${k}-${A.span}`]:A.span!==void 0,[`${se}-${k}-order-${A.order}`]:A.order||A.order===0,[`${se}-${k}-offset-${A.offset}`]:A.offset||A.offset===0,[`${se}-${k}-push-${A.push}`]:A.push||A.push===0,[`${se}-${k}-pull-${A.pull}`]:A.pull||A.pull===0,[`${se}-${k}-flex-${A.flex}`]:A.flex||A.flex==="auto",[`${se}-rtl`]:w==="rtl"})});const O=t()(se,{[`${se}-${N}`]:N!==void 0,[`${se}-order-${Z}`]:Z,[`${se}-offset-${D}`]:D,[`${se}-push-${L}`]:L,[`${se}-pull-${j}`]:j},G,X,C),H={};if(x&&x[0]>0){const k=x[0]/2;H.paddingLeft=k,H.paddingRight=k}if(x&&x[1]>0&&!U){const k=x[1]/2;H.paddingTop=k,H.paddingBottom=k}return ne&&(H.flex=c(ne),z===!1&&!H.minWidth&&(H.minWidth=0)),Q(o.createElement("div",Object.assign({},ee,{style:Object.assign(Object.assign({},H),_),className:O,ref:h}),W))});y.Z=g},60059:function(b,y,e){"use strict";var a=e(58757),t=e(81334),o=e(4459),s=e(87078);function n(){let d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;const l=(0,a.useRef)({}),c=(0,o.Z)(),m=(0,s.Z)();return(0,t.Z)(()=>{const g=m.subscribe(M=>{l.current=M,d&&c()});return()=>m.unsubscribe(g)},[]),l.current}y.Z=n},67665:function(b,y,e){"use strict";var a=e(87608),t=e.n(a),o=e(58757),s=e(61836),n=e(69387),d=e(87078),l=e(35429),c=e(58378),m=function(w,x){var z={};for(var U in w)Object.prototype.hasOwnProperty.call(w,U)&&x.indexOf(U)<0&&(z[U]=w[U]);if(w!=null&&typeof Object.getOwnPropertySymbols=="function")for(var T=0,U=Object.getOwnPropertySymbols(w);T{if(typeof w=="string"&&U(w),typeof w=="object")for(let N=0;N{T()},[JSON.stringify(w),x]),z}const S=o.forwardRef((w,x)=>{const{prefixCls:z,justify:U,align:T,className:N,style:Z,children:D,gutter:L=0,wrap:j}=w,G=m(w,["prefixCls","justify","align","className","style","children","gutter","wrap"]),{getPrefixCls:W,direction:ne}=o.useContext(s.E_),[_,ee]=o.useState({xs:!0,sm:!0,md:!0,lg:!0,xl:!0,xxl:!0}),[se,Q]=o.useState({xs:!1,sm:!1,md:!1,lg:!1,xl:!1,xxl:!1}),C=h(T,se),X=h(U,se),O=(0,n.Z)(),H=o.useRef(L),k=(0,d.Z)();o.useEffect(()=>{const vt=k.subscribe(Ht=>{Q(Ht);const ke=H.current||0;(!Array.isArray(ke)&&typeof ke=="object"||Array.isArray(ke)&&(typeof ke[0]=="object"||typeof ke[1]=="object"))&&ee(Ht)});return()=>k.unsubscribe(vt)},[]);const A=()=>{const vt=[void 0,void 0];return(Array.isArray(L)?L:[L,void 0]).forEach((ke,Ve)=>{if(typeof ke=="object")for(let ot=0;ot0?ve[0]/-2:void 0,qe=ve[1]!=null&&ve[1]>0?ve[1]/-2:void 0;Je&&(Pe.marginLeft=Je,Pe.marginRight=Je),O?[,Pe.rowGap]=ve:qe&&(Pe.marginTop=qe,Pe.marginBottom=qe);const[Xe,mt]=ve,Ct=o.useMemo(()=>({gutter:[Xe,mt],wrap:j,supportFlexGap:O}),[Xe,mt,j,O]);return de(o.createElement(l.Z.Provider,{value:Ct},o.createElement("div",Object.assign({},G,{className:be,style:Object.assign(Object.assign({},Pe),Z),ref:x}),D)))});y.Z=S},58378:function(b,y,e){"use strict";e.d(y,{V:function(){return c},c:function(){return m}});var a=e(52628),t=e(22151);const o=g=>{const{componentCls:M}=g;return{[M]:{display:"flex",flexFlow:"row wrap",minWidth:0,"&::before, &::after":{display:"flex"},"&-no-wrap":{flexWrap:"nowrap"},"&-start":{justifyContent:"flex-start"},"&-center":{justifyContent:"center"},"&-end":{justifyContent:"flex-end"},"&-space-between":{justifyContent:"space-between"},"&-space-around":{justifyContent:"space-around"},"&-space-evenly":{justifyContent:"space-evenly"},"&-top":{alignItems:"flex-start"},"&-middle":{alignItems:"center"},"&-bottom":{alignItems:"flex-end"}}}},s=g=>{const{componentCls:M}=g;return{[M]:{position:"relative",maxWidth:"100%",minHeight:1}}},n=(g,M)=>{const{componentCls:h,gridColumns:S}=g,w={};for(let x=S;x>=0;x--)x===0?(w[`${h}${M}-${x}`]={display:"none"},w[`${h}-push-${x}`]={insetInlineStart:"auto"},w[`${h}-pull-${x}`]={insetInlineEnd:"auto"},w[`${h}${M}-push-${x}`]={insetInlineStart:"auto"},w[`${h}${M}-pull-${x}`]={insetInlineEnd:"auto"},w[`${h}${M}-offset-${x}`]={marginInlineStart:0},w[`${h}${M}-order-${x}`]={order:0}):(w[`${h}${M}-${x}`]={display:"block",flex:`0 0 ${x/S*100}%`,maxWidth:`${x/S*100}%`},w[`${h}${M}-push-${x}`]={insetInlineStart:`${x/S*100}%`},w[`${h}${M}-pull-${x}`]={insetInlineEnd:`${x/S*100}%`},w[`${h}${M}-offset-${x}`]={marginInlineStart:`${x/S*100}%`},w[`${h}${M}-order-${x}`]={order:x});return w},d=(g,M)=>n(g,M),l=(g,M,h)=>({[`@media (min-width: ${M}px)`]:Object.assign({},d(g,h))}),c=(0,a.Z)("Grid",g=>[o(g)]),m=(0,a.Z)("Grid",g=>{const M=(0,t.TS)(g,{gridColumns:24}),h={"-sm":M.screenSMMin,"-md":M.screenMDMin,"-lg":M.screenLGMin,"-xl":M.screenXLMin,"-xxl":M.screenXXLMin};return[s(M),d(M,""),d(M,"-xs"),Object.keys(h).map(S=>l(M,h[S],S)).reduce((S,w)=>Object.assign(Object.assign({},S),w),{})]})},32423:function(b,y,e){"use strict";e.d(y,{Z:function(){return re}});var a=e(10130),t=e(23926),o=e(87608),s=e.n(o),n=e(60698),d=e(37734),l=e(38790),c=e(28314),m=e(47075),g=e(60412),M=e(14346);function h(){return typeof BigInt=="function"}function S(oe){return!oe&&oe!==0&&!Number.isNaN(oe)||!String(oe).trim()}function w(oe){var q=oe.trim(),ue=q.startsWith("-");ue&&(q=q.slice(1)),q=q.replace(/(\.\d*[^0])0*$/,"$1").replace(/\.0*$/,"").replace(/^0+/,""),q.startsWith(".")&&(q="0".concat(q));var Ee=q||"0",le=Ee.split("."),Ne=le[0]||"0",Ae=le[1]||"0";Ne==="0"&&Ae==="0"&&(ue=!1);var we=ue?"-":"";return{negative:ue,negativeStr:we,trimStr:Ee,integerStr:Ne,decimalStr:Ae,fullStr:"".concat(we).concat(Ee)}}function x(oe){var q=String(oe);return!Number.isNaN(Number(q))&&q.includes("e")}function z(oe){var q=String(oe);if(x(oe)){var ue=Number(q.slice(q.indexOf("e-")+2)),Ee=q.match(/\.(\d+)/);return Ee!=null&&Ee[1]&&(ue+=Ee[1].length),ue}return q.includes(".")&&T(q)?q.length-q.indexOf(".")-1:0}function U(oe){var q=String(oe);if(x(oe)){if(oe>Number.MAX_SAFE_INTEGER)return String(h()?BigInt(oe).toString():Number.MAX_SAFE_INTEGER);if(oe0&&arguments[0]!==void 0?arguments[0]:!0;return ue?this.isInvalidate()?"":w("".concat(this.getMark()).concat(this.getIntegerStr(),".").concat(this.getDecimalStr())).fullStr:this.origin}}]),oe}(),Z=function(){function oe(q){if((0,g.Z)(this,oe),(0,d.Z)(this,"origin",""),(0,d.Z)(this,"number",void 0),(0,d.Z)(this,"empty",void 0),S(q)){this.empty=!0;return}this.origin=String(q),this.number=Number(q)}return(0,M.Z)(oe,[{key:"negate",value:function(){return new oe(-this.toNumber())}},{key:"add",value:function(ue){if(this.isInvalidate())return new oe(ue);var Ee=Number(ue);if(Number.isNaN(Ee))return this;var le=this.number+Ee;if(le>Number.MAX_SAFE_INTEGER)return new oe(Number.MAX_SAFE_INTEGER);if(leNumber.MAX_SAFE_INTEGER)return new oe(Number.MAX_SAFE_INTEGER);if(le0&&arguments[0]!==void 0?arguments[0]:!0;return ue?this.isInvalidate()?"":U(this.number):this.origin}}]),oe}();function D(oe){return h()?new N(oe):new Z(oe)}function L(oe,q,ue){var Ee=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(oe==="")return"";var le=w(oe),Ne=le.negativeStr,Ae=le.integerStr,we=le.decimalStr,Re="".concat(q).concat(we),st="".concat(Ne).concat(Ae);if(ue>=0){var nt=Number(we[ue]);if(nt>=5&&!Ee){var _e=D(oe).add("".concat(Ne,"0.").concat("0".repeat(ue)).concat(10-nt));return L(_e.toString(),q,ue,Ee)}return ue===0?st:"".concat(st).concat(q).concat(we.padEnd(ue,"0").slice(0,ue))}return Re===".0"?st:"".concat(st).concat(Re)}var j=D,G=e(19570),W=e(81334),ne=e(21319),_=e(58757),ee=e(75556);function se(oe,q){var ue=(0,_.useRef)(null);function Ee(){try{var Ne=oe.selectionStart,Ae=oe.selectionEnd,we=oe.value,Re=we.substring(0,Ne),st=we.substring(Ae);ue.current={start:Ne,end:Ae,value:we,beforeTxt:Re,afterTxt:st}}catch(nt){}}function le(){if(oe&&ue.current&&q)try{var Ne=oe.value,Ae=ue.current,we=Ae.beforeTxt,Re=Ae.afterTxt,st=Ae.start,nt=Ne.length;if(Ne.endsWith(Re))nt=Ne.length-ue.current.afterTxt.length;else if(Ne.startsWith(we))nt=we.length;else{var _e=we[st-1],We=Ne.indexOf(_e,st-1);We!==-1&&(nt=We+1)}oe.setSelectionRange(nt,nt)}catch(Be){(0,ee.ZP)(!1,"Something warning of cursor restore. Please fire issue about this: ".concat(Be.message))}}return[Ee,le]}var Q=e(21618),C=function(){var q=(0,_.useState)(!1),ue=(0,c.Z)(q,2),Ee=ue[0],le=ue[1];return(0,W.Z)(function(){le((0,Q.Z)())},[]),Ee},X=C,O=e(61834),H=200,k=600;function A(oe){var q=oe.prefixCls,ue=oe.upNode,Ee=oe.downNode,le=oe.upDisabled,Ne=oe.downDisabled,Ae=oe.onStep,we=_.useRef(),Re=_.useRef([]),st=_.useRef();st.current=Ae;var nt=function(){clearTimeout(we.current)},_e=function(Pt,dt){Pt.preventDefault(),nt(),st.current(dt);function je(){st.current(dt),we.current=setTimeout(je,H)}we.current=setTimeout(je,k)};_.useEffect(function(){return function(){nt(),Re.current.forEach(function(wt){return O.Z.cancel(wt)})}},[]);var We=X();if(We)return null;var Be="".concat(q,"-handler"),it=s()(Be,"".concat(Be,"-up"),(0,d.Z)({},"".concat(Be,"-up-disabled"),le)),Ge=s()(Be,"".concat(Be,"-down"),(0,d.Z)({},"".concat(Be,"-down-disabled"),Ne)),Ot=function(){return Re.current.push((0,O.Z)(nt))},$t={unselectable:"on",role:"button",onMouseUp:Ot,onMouseLeave:Ot};return _.createElement("div",{className:"".concat(Be,"-wrap")},_.createElement("span",(0,n.Z)({},$t,{onMouseDown:function(Pt){_e(Pt,!0)},"aria-label":"Increase Value","aria-disabled":le,className:it}),ue||_.createElement("span",{unselectable:"on",className:"".concat(q,"-handler-up-inner")})),_.createElement("span",(0,n.Z)({},$t,{onMouseDown:function(Pt){_e(Pt,!1)},"aria-label":"Decrease Value","aria-disabled":Ne,className:Ge}),Ee||_.createElement("span",{unselectable:"on",className:"".concat(q,"-handler-down-inner")})))}function Y(oe){var q=typeof oe=="number"?U(oe):w(oe).fullStr,ue=q.includes(".");return ue?w(q.replace(/(\d)\.(\d)/g,"$1$2.")).fullStr:oe+"0"}var de=e(33615),me=function(){var oe=(0,_.useRef)(0),q=function(){O.Z.cancel(oe.current)};return(0,_.useEffect)(function(){return q},[]),function(ue){q(),oe.current=(0,O.Z)(function(){ue()})}},ve=["prefixCls","className","style","min","max","step","defaultValue","value","disabled","readOnly","upHandler","downHandler","keyboard","controls","classNames","stringMode","parser","formatter","precision","decimalSeparator","onChange","onInput","onPressEnter","onStep"],be=["disabled","style","prefixCls","value","prefix","suffix","addonBefore","addonAfter","classes","className","classNames"],Pe=function(q,ue){return q||ue.isEmpty()?ue.toString():ue.toNumber()},Je=function(q){var ue=j(q);return ue.isInvalidate()?null:ue},qe=_.forwardRef(function(oe,q){var ue,Ee=oe.prefixCls,le=Ee===void 0?"rc-input-number":Ee,Ne=oe.className,Ae=oe.style,we=oe.min,Re=oe.max,st=oe.step,nt=st===void 0?1:st,_e=oe.defaultValue,We=oe.value,Be=oe.disabled,it=oe.readOnly,Ge=oe.upHandler,Ot=oe.downHandler,$t=oe.keyboard,wt=oe.controls,Pt=wt===void 0?!0:wt,dt=oe.classNames,je=oe.stringMode,tt=oe.parser,lt=oe.formatter,bt=oe.precision,It=oe.decimalSeparator,Kt=oe.onChange,zt=oe.onInput,Mt=oe.onPressEnter,Le=oe.onStep,Ce=(0,m.Z)(oe,ve),Et="".concat(le,"-input"),Tt=_.useRef(null),Ye=_.useState(!1),et=(0,c.Z)(Ye,2),_t=et[0],Ut=et[1],qt=_.useRef(!1),un=_.useRef(!1),Mn=_.useRef(!1),vn=_.useState(function(){return j(We!=null?We:_e)}),Xn=(0,c.Z)(vn,2),Vn=Xn[0],or=Xn[1];function er(Bn){We===void 0&&or(Bn)}var Wt=_.useCallback(function(Bn,Cn){if(!Cn)return bt>=0?bt:Math.max(z(Bn),z(nt))},[bt,nt]),en=_.useCallback(function(Bn){var Cn=String(Bn);if(tt)return tt(Cn);var wn=Cn;return It&&(wn=wn.replace(It,".")),wn.replace(/[^\w.-]+/g,"")},[tt,It]),nn=_.useRef(""),fn=_.useCallback(function(Bn,Cn){if(lt)return lt(Bn,{userTyping:Cn,input:String(nn.current)});var wn=typeof Bn=="number"?U(Bn):Bn;if(!Cn){var ar=Wt(wn,Cn);if(T(wn)&&(It||ar>=0)){var mr=It||".";wn=L(wn,mr,ar)}}return wn},[lt,Wt,It]),En=_.useState(function(){var Bn=_e!=null?_e:We;return Vn.isInvalidate()&&["string","number"].includes((0,l.Z)(Bn))?Number.isNaN(Bn)?"":Bn:fn(Vn.toString(),!1)}),on=(0,c.Z)(En,2),pt=on[0],gt=on[1];nn.current=pt;function Xt(Bn,Cn){gt(fn(Bn.isInvalidate()?Bn.toString(!1):Bn.toString(!Cn),Cn))}var rn=_.useMemo(function(){return Je(Re)},[Re,bt]),Jt=_.useMemo(function(){return Je(we)},[we,bt]),pn=_.useMemo(function(){return!rn||!Vn||Vn.isInvalidate()?!1:rn.lessEquals(Vn)},[rn,Vn]),mn=_.useMemo(function(){return!Jt||!Vn||Vn.isInvalidate()?!1:Vn.lessEquals(Jt)},[Jt,Vn]),Zn=se(Tt.current,_t),tr=(0,c.Z)(Zn,2),ut=tr[0],ct=tr[1],Dt=function(Cn){return rn&&!Cn.lessEquals(rn)?rn:Jt&&!Jt.lessEquals(Cn)?Jt:null},xt=function(Cn){return!Dt(Cn)},kt=function(Cn,wn){var ar=Cn,mr=xt(ar)||ar.isEmpty();if(!ar.isEmpty()&&!wn&&(ar=Dt(ar)||ar,mr=!0),!it&&!Be&&mr){var Qr=ar.toString(),qr=Wt(Qr,wn);return qr>=0&&(ar=j(L(Qr,".",qr)),xt(ar)||(ar=j(L(Qr,".",qr,!0)))),ar.equals(Vn)||(er(ar),Kt==null||Kt(ar.isEmpty()?null:Pe(je,ar)),We===void 0&&Xt(ar,wn)),ar}return Vn},sn=me(),tn=function Bn(Cn){if(ut(),nn.current=Cn,gt(Cn),!un.current){var wn=en(Cn),ar=j(wn);ar.isNaN()||kt(ar,!0)}zt==null||zt(Cn),sn(function(){var mr=Cn;tt||(mr=Cn.replace(/。/g,".")),mr!==Cn&&Bn(mr)})},xn=function(){un.current=!0},Nn=function(){un.current=!1,tn(Tt.current.value)},gr=function(Cn){tn(Cn.target.value)},nr=function(Cn){var wn;if(!(Cn&&pn||!Cn&&mn)){qt.current=!1;var ar=j(Mn.current?Y(nt):nt);Cn||(ar=ar.negate());var mr=(Vn||j(0)).add(ar.toString()),Qr=kt(mr,!1);Le==null||Le(Pe(je,Qr),{offset:Mn.current?Y(nt):nt,type:Cn?"up":"down"}),(wn=Tt.current)===null||wn===void 0||wn.focus()}},Rn=function(Cn){var wn=j(en(pt)),ar=wn;wn.isNaN()?ar=kt(Vn,Cn):ar=kt(wn,Cn),We!==void 0?Xt(Vn,!1):ar.isNaN()||Xt(ar,!1)},kr=function(){qt.current=!0},fr=function(Cn){var wn=Cn.key,ar=Cn.shiftKey;qt.current=!0,Mn.current=ar,wn==="Enter"&&(un.current||(qt.current=!1),Rn(!1),Mt==null||Mt(Cn)),$t!==!1&&!un.current&&["Up","ArrowUp","Down","ArrowDown"].includes(wn)&&(nr(wn==="Up"||wn==="ArrowUp"),Cn.preventDefault())},ua=function(){qt.current=!1,Mn.current=!1},Pr=function(){Rn(!1),Ut(!1),qt.current=!1};return(0,W.o)(function(){Vn.isInvalidate()||Xt(Vn,!1)},[bt]),(0,W.o)(function(){var Bn=j(We);or(Bn);var Cn=j(en(pt));(!Bn.equals(Cn)||!qt.current||lt)&&Xt(Bn,qt.current)},[We]),(0,W.o)(function(){lt&&ct()},[pt]),_.createElement("div",{className:s()(le,dt==null?void 0:dt.input,Ne,(ue={},(0,d.Z)(ue,"".concat(le,"-focused"),_t),(0,d.Z)(ue,"".concat(le,"-disabled"),Be),(0,d.Z)(ue,"".concat(le,"-readonly"),it),(0,d.Z)(ue,"".concat(le,"-not-a-number"),Vn.isNaN()),(0,d.Z)(ue,"".concat(le,"-out-of-range"),!Vn.isInvalidate()&&!xt(Vn)),ue)),style:Ae,onFocus:function(){Ut(!0)},onBlur:Pr,onKeyDown:fr,onKeyUp:ua,onCompositionStart:xn,onCompositionEnd:Nn,onBeforeInput:kr},Pt&&_.createElement(A,{prefixCls:le,upNode:Ge,downNode:Ot,upDisabled:pn,downDisabled:mn,onStep:nr}),_.createElement("div",{className:"".concat(Et,"-wrap")},_.createElement("input",(0,n.Z)({autoComplete:"off",role:"spinbutton","aria-valuemin":we,"aria-valuemax":Re,"aria-valuenow":Vn.isInvalidate()?null:Vn.toString(),step:nt},Ce,{ref:(0,ne.sQ)(Tt,q),className:Et,value:pt,onChange:gr,disabled:Be,readOnly:it}))))}),Xe=_.forwardRef(function(oe,q){var ue=oe.disabled,Ee=oe.style,le=oe.prefixCls,Ne=oe.value,Ae=oe.prefix,we=oe.suffix,Re=oe.addonBefore,st=oe.addonAfter,nt=oe.classes,_e=oe.className,We=oe.classNames,Be=(0,m.Z)(oe,be),it=_.useRef(null),Ge=function($t){it.current&&(0,de.nH)(it.current,$t)};return _.createElement(G.Q,{inputElement:_.createElement(qe,(0,n.Z)({prefixCls:le,disabled:ue,classNames:We,ref:(0,ne.sQ)(it,q)},Be)),className:_e,triggerFocus:Ge,prefixCls:le,value:Ne,disabled:ue,style:Ee,prefix:Ae,suffix:we,addonAfter:st,addonBefore:Re,classes:nt,classNames:We,components:{affixWrapper:"div",groupWrapper:"div",wrapper:"div",groupAddon:"div"}})});Xe.displayName="InputNumber";var mt=Xe,Ct=mt,vt=e(41496),Ht=e(61836),ke=e(42505),Ve=e(92428),ot=e(58785),Ke=e(81496),he=e(43528),J=e(46902),V=e(78330),R=e(64493),P=e(52628);const B=(oe,q)=>{let{componentCls:ue,borderRadiusSM:Ee,borderRadiusLG:le}=oe;const Ne=q==="lg"?le:Ee;return{[`&-${q}`]:{[`${ue}-handler-wrap`]:{borderStartEndRadius:Ne,borderEndEndRadius:Ne},[`${ue}-handler-up`]:{borderStartEndRadius:Ne},[`${ue}-handler-down`]:{borderEndEndRadius:Ne}}}},ge=oe=>{const{componentCls:q,lineWidth:ue,lineType:Ee,colorBorder:le,borderRadius:Ne,fontSizeLG:Ae,controlHeightLG:we,controlHeightSM:Re,colorError:st,inputPaddingHorizontalSM:nt,colorTextDescription:_e,motionDurationMid:We,colorPrimary:Be,inputPaddingHorizontal:it,inputPaddingVertical:Ge,colorBgContainer:Ot,colorTextDisabled:$t,borderRadiusSM:wt,borderRadiusLG:Pt,controlWidth:dt,handleVisible:je}=oe;return[{[q]:Object.assign(Object.assign(Object.assign(Object.assign({},(0,V.Wf)(oe)),(0,J.ik)(oe)),(0,J.bi)(oe,q)),{display:"inline-block",width:dt,margin:0,padding:0,border:`${ue}px ${Ee} ${le}`,borderRadius:Ne,"&-rtl":{direction:"rtl",[`${q}-input`]:{direction:"rtl"}},"&-lg":{padding:0,fontSize:Ae,borderRadius:Pt,[`input${q}-input`]:{height:we-2*ue}},"&-sm":{padding:0,borderRadius:wt,[`input${q}-input`]:{height:Re-2*ue,padding:`0 ${nt}px`}},"&:hover":Object.assign({},(0,J.pU)(oe)),"&-focused":Object.assign({},(0,J.M1)(oe)),"&-out-of-range":{[`${q}-input-wrap`]:{input:{color:st}}},"&-group":Object.assign(Object.assign(Object.assign({},(0,V.Wf)(oe)),(0,J.s7)(oe)),{"&-wrapper":{display:"inline-block",textAlign:"start",verticalAlign:"top",[`${q}-affix-wrapper`]:{width:"100%"},"&-lg":{[`${q}-group-addon`]:{borderRadius:Pt,fontSize:oe.fontSizeLG}},"&-sm":{[`${q}-group-addon`]:{borderRadius:wt}},[`${q}-wrapper-disabled > ${q}-group-addon`]:Object.assign({},(0,J.Xy)(oe))}}),[`&-disabled ${q}-input`]:{cursor:"not-allowed"},[q]:{"&-input":Object.assign(Object.assign(Object.assign(Object.assign({},(0,V.Wf)(oe)),{width:"100%",padding:`${Ge}px ${it}px`,textAlign:"start",backgroundColor:"transparent",border:0,borderRadius:Ne,outline:0,transition:`all ${We} linear`,appearance:"textfield",fontSize:"inherit"}),(0,J.nz)(oe.colorTextPlaceholder)),{'&[type="number"]::-webkit-inner-spin-button, &[type="number"]::-webkit-outer-spin-button':{margin:0,webkitAppearance:"none",appearance:"none"}})}})},{[q]:Object.assign(Object.assign(Object.assign({[`&:hover ${q}-handler-wrap, &-focused ${q}-handler-wrap`]:{opacity:1},[`${q}-handler-wrap`]:{position:"absolute",insetBlockStart:0,insetInlineEnd:0,width:oe.handleWidth,height:"100%",background:Ot,borderStartStartRadius:0,borderStartEndRadius:Ne,borderEndEndRadius:Ne,borderEndStartRadius:0,opacity:je===!0?1:0,display:"flex",flexDirection:"column",alignItems:"stretch",transition:`opacity ${We} linear ${We}`,[`${q}-handler`]:{display:"flex",alignItems:"center",justifyContent:"center",flex:"auto",height:"40%",[` + ${q}-handler-up-inner, + ${q}-handler-down-inner + `]:{marginInlineEnd:0,fontSize:oe.handleFontSize}}},[`${q}-handler`]:{height:"50%",overflow:"hidden",color:_e,fontWeight:"bold",lineHeight:0,textAlign:"center",cursor:"pointer",borderInlineStart:`${ue}px ${Ee} ${le}`,transition:`all ${We} linear`,"&:active":{background:oe.colorFillAlter},"&:hover":{height:"60%",[` + ${q}-handler-up-inner, + ${q}-handler-down-inner + `]:{color:Be}},"&-up-inner, &-down-inner":Object.assign(Object.assign({},(0,V.Ro)()),{color:_e,transition:`all ${We} linear`,userSelect:"none"})},[`${q}-handler-up`]:{borderStartEndRadius:Ne},[`${q}-handler-down`]:{borderBlockStart:`${ue}px ${Ee} ${le}`,borderEndEndRadius:Ne}},B(oe,"lg")),B(oe,"sm")),{"&-disabled, &-readonly":{[`${q}-handler-wrap`]:{display:"none"},[`${q}-input`]:{color:"inherit"}},[` + ${q}-handler-up-disabled, + ${q}-handler-down-disabled + `]:{cursor:"not-allowed"},[` + ${q}-handler-up-disabled:hover &-handler-up-inner, + ${q}-handler-down-disabled:hover &-handler-down-inner + `]:{color:$t}})},{[`${q}-borderless`]:{borderColor:"transparent",boxShadow:"none",[`${q}-handler-down`]:{borderBlockStartWidth:0}}}]},ie=oe=>{const{componentCls:q,inputPaddingVertical:ue,inputPaddingHorizontal:Ee,inputAffixPadding:le,controlWidth:Ne,borderRadiusLG:Ae,borderRadiusSM:we}=oe;return{[`${q}-affix-wrapper`]:Object.assign(Object.assign(Object.assign({},(0,J.ik)(oe)),(0,J.bi)(oe,`${q}-affix-wrapper`)),{position:"relative",display:"inline-flex",width:Ne,padding:0,paddingInlineStart:Ee,"&-lg":{borderRadius:Ae},"&-sm":{borderRadius:we},[`&:not(${q}-affix-wrapper-disabled):hover`]:Object.assign(Object.assign({},(0,J.pU)(oe)),{zIndex:1}),"&-focused, &:focus":{zIndex:1},[`&-disabled > ${q}-disabled`]:{background:"transparent"},[`> div${q}`]:{width:"100%",border:"none",outline:"none",[`&${q}-focused`]:{boxShadow:"none !important"}},[`input${q}-input`]:{padding:`${ue}px 0`},"&::before":{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'},[`${q}-handler-wrap`]:{zIndex:2},[q]:{"&-prefix, &-suffix":{display:"flex",flex:"none",alignItems:"center",pointerEvents:"none"},"&-prefix":{marginInlineEnd:le},"&-suffix":{position:"absolute",insetBlockStart:0,insetInlineEnd:0,zIndex:1,height:"100%",marginInlineEnd:Ee,marginInlineStart:le}}})}};var pe=(0,P.Z)("InputNumber",oe=>{const q=(0,J.e5)(oe);return[ge(q),ie(q),(0,R.c)(q)]},oe=>({controlWidth:90,handleWidth:oe.controlHeightSM-oe.lineWidth*2,handleFontSize:oe.fontSize/2,handleVisible:"auto"})),Oe=function(oe,q){var ue={};for(var Ee in oe)Object.prototype.hasOwnProperty.call(oe,Ee)&&q.indexOf(Ee)<0&&(ue[Ee]=oe[Ee]);if(oe!=null&&typeof Object.getOwnPropertySymbols=="function")for(var le=0,Ee=Object.getOwnPropertySymbols(oe);le{const{getPrefixCls:ue,direction:Ee}=_.useContext(Ht.E_),le=_.useRef(null);_.useImperativeHandle(q,()=>le.current);const{className:Ne,rootClassName:Ae,size:we,disabled:Re,prefixCls:st,addonBefore:nt,addonAfter:_e,prefix:We,bordered:Be=!0,readOnly:it,status:Ge,controls:Ot}=oe,$t=Oe(oe,["className","rootClassName","size","disabled","prefixCls","addonBefore","addonAfter","prefix","bordered","readOnly","status","controls"]),wt=ue("input-number",st),[Pt,dt]=pe(wt),{compactSize:je,compactItemClassnames:tt}=(0,he.ri)(wt,Ee);let lt=_.createElement(t.Z,{className:`${wt}-handler-up-inner`}),bt=_.createElement(a.Z,{className:`${wt}-handler-down-inner`});const It=typeof Ot=="boolean"?Ot:void 0;typeof Ot=="object"&&(lt=typeof Ot.upIcon=="undefined"?lt:_.createElement("span",{className:`${wt}-handler-up-inner`},Ot.upIcon),bt=typeof Ot.downIcon=="undefined"?bt:_.createElement("span",{className:`${wt}-handler-down-inner`},Ot.downIcon));const{hasFeedback:Kt,status:zt,isFormItemInput:Mt,feedbackIcon:Le}=_.useContext(Ke.aM),Ce=(0,vt.F)(zt,Ge),Et=(0,ot.Z)(qt=>{var un;return(un=we!=null?we:je)!==null&&un!==void 0?un:qt}),Tt=_.useContext(Ve.Z),Ye=Re!=null?Re:Tt,et=s()({[`${wt}-lg`]:Et==="large",[`${wt}-sm`]:Et==="small",[`${wt}-rtl`]:Ee==="rtl",[`${wt}-borderless`]:!Be,[`${wt}-in-form-item`]:Mt},(0,vt.Z)(wt,Ce),tt,dt),_t=`${wt}-group`,Ut=_.createElement(Ct,Object.assign({ref:le,disabled:Ye,className:s()(Ne,Ae),upHandler:lt,downHandler:bt,prefixCls:wt,readOnly:it,controls:It,prefix:We,suffix:Kt&&Le,addonAfter:_e&&_.createElement(he.BR,null,_.createElement(Ke.Ux,{override:!0,status:!0},_e)),addonBefore:nt&&_.createElement(he.BR,null,_.createElement(Ke.Ux,{override:!0,status:!0},nt)),classNames:{input:et},classes:{affixWrapper:s()((0,vt.Z)(`${wt}-affix-wrapper`,Ce,Kt),{[`${wt}-affix-wrapper-sm`]:Et==="small",[`${wt}-affix-wrapper-lg`]:Et==="large",[`${wt}-affix-wrapper-rtl`]:Ee==="rtl",[`${wt}-affix-wrapper-borderless`]:!Be},dt),wrapper:s()({[`${_t}-rtl`]:Ee==="rtl",[`${wt}-wrapper-disabled`]:Ye},dt),group:s()({[`${wt}-group-wrapper-sm`]:Et==="small",[`${wt}-group-wrapper-lg`]:Et==="large",[`${wt}-group-wrapper-rtl`]:Ee==="rtl"},(0,vt.Z)(`${wt}-group-wrapper`,Ce,Kt),dt)}},$t));return Pt(Ut)}),Se=xe,$e=oe=>_.createElement(ke.ZP,{theme:{components:{InputNumber:{handleVisible:!0}}}},_.createElement(xe,Object.assign({},oe)));Se._InternalPanelDoNotUseOrYouWillBeFired=$e;var re=Se},95670:function(b,y,e){"use strict";e.d(y,{Z:function(){return N},n:function(){return U}});var a=e(79999),t=e(87608),o=e.n(t),s=e(19570),n=e(21319),d=e(58757),l=e(41496),c=e(61836),m=e(92428),g=e(58785),M=e(81496),h=e(43528),S=e(52191),w=e(46902);function x(Z){return!!(Z.prefix||Z.suffix||Z.allowClear)}var z=function(Z,D){var L={};for(var j in Z)Object.prototype.hasOwnProperty.call(Z,j)&&D.indexOf(j)<0&&(L[j]=Z[j]);if(Z!=null&&typeof Object.getOwnPropertySymbols=="function")for(var G=0,j=Object.getOwnPropertySymbols(Z);G{var L;const{prefixCls:j,bordered:G=!0,status:W,size:ne,disabled:_,onBlur:ee,onFocus:se,suffix:Q,allowClear:C,addonAfter:X,addonBefore:O,className:H,style:k,styles:A,rootClassName:Y,onChange:de,classNames:me}=Z,ve=z(Z,["prefixCls","bordered","status","size","disabled","onBlur","onFocus","suffix","allowClear","addonAfter","addonBefore","className","style","styles","rootClassName","onChange","classNames"]),{getPrefixCls:be,direction:Pe,input:Je}=d.useContext(c.E_),qe=be("input",j),Xe=(0,d.useRef)(null),[mt,Ct]=(0,w.ZP)(qe),{compactSize:vt,compactItemClassnames:Ht}=(0,h.ri)(qe,Pe),ke=(0,g.Z)(Se=>{var $e;return($e=ne!=null?ne:vt)!==null&&$e!==void 0?$e:Se}),Ve=d.useContext(m.Z),ot=_!=null?_:Ve,{status:Ke,hasFeedback:he,feedbackIcon:J}=(0,d.useContext)(M.aM),V=(0,l.F)(Ke,W),R=x(Z)||!!he,P=(0,d.useRef)(R);(0,d.useEffect)(()=>{var Se;R&&P.current,P.current=R},[R]);const B=(0,S.Z)(Xe,!0),ge=Se=>{B(),ee==null||ee(Se)},ie=Se=>{B(),se==null||se(Se)},pe=Se=>{B(),de==null||de(Se)},Oe=(he||Q)&&d.createElement(d.Fragment,null,Q,he&&J);let xe;return typeof C=="object"&&(C!=null&&C.clearIcon)?xe=C:C&&(xe={clearIcon:d.createElement(a.Z,null)}),mt(d.createElement(s.Z,Object.assign({ref:(0,n.sQ)(D,Xe),prefixCls:qe,autoComplete:Je==null?void 0:Je.autoComplete},ve,{disabled:ot,onBlur:ge,onFocus:ie,style:Object.assign(Object.assign({},Je==null?void 0:Je.style),k),styles:Object.assign(Object.assign({},Je==null?void 0:Je.styles),A),suffix:Oe,allowClear:xe,className:o()(H,Y,Ht,Je==null?void 0:Je.className),onChange:pe,addonAfter:X&&d.createElement(h.BR,null,d.createElement(M.Ux,{override:!0,status:!0},X)),addonBefore:O&&d.createElement(h.BR,null,d.createElement(M.Ux,{override:!0,status:!0},O)),classNames:Object.assign(Object.assign(Object.assign({},me),Je==null?void 0:Je.classNames),{input:o()({[`${qe}-sm`]:ke==="small",[`${qe}-lg`]:ke==="large",[`${qe}-rtl`]:Pe==="rtl",[`${qe}-borderless`]:!G},!R&&(0,l.Z)(qe,V),me==null?void 0:me.input,(L=Je==null?void 0:Je.classNames)===null||L===void 0?void 0:L.input,Ct)}),classes:{affixWrapper:o()({[`${qe}-affix-wrapper-sm`]:ke==="small",[`${qe}-affix-wrapper-lg`]:ke==="large",[`${qe}-affix-wrapper-rtl`]:Pe==="rtl",[`${qe}-affix-wrapper-borderless`]:!G},(0,l.Z)(`${qe}-affix-wrapper`,V,he),Ct),wrapper:o()({[`${qe}-group-rtl`]:Pe==="rtl"},Ct),group:o()({[`${qe}-group-wrapper-sm`]:ke==="small",[`${qe}-group-wrapper-lg`]:ke==="large",[`${qe}-group-wrapper-rtl`]:Pe==="rtl",[`${qe}-group-wrapper-disabled`]:ot},(0,l.Z)(`${qe}-group-wrapper`,V,he),Ct)}})))})},79617:function(b,y,e){"use strict";var a=e(79999),t=e(87608),o=e.n(t),s=e(9457),n=e(58757),d=e(41496),l=e(61836),c=e(92428),m=e(58785),g=e(81496),M=e(95670),h=e(46902),S=function(x,z){var U={};for(var T in x)Object.prototype.hasOwnProperty.call(x,T)&&z.indexOf(T)<0&&(U[T]=x[T]);if(x!=null&&typeof Object.getOwnPropertySymbols=="function")for(var N=0,T=Object.getOwnPropertySymbols(x);N{const{prefixCls:U,bordered:T=!0,size:N,disabled:Z,status:D,allowClear:L,showCount:j,classNames:G}=x,W=S(x,["prefixCls","bordered","size","disabled","status","allowClear","showCount","classNames"]),{getPrefixCls:ne,direction:_}=n.useContext(l.E_),ee=(0,m.Z)(N),se=n.useContext(c.Z),Q=Z!=null?Z:se,{status:C,hasFeedback:X,feedbackIcon:O}=n.useContext(g.aM),H=(0,d.F)(C,D),k=n.useRef(null);n.useImperativeHandle(z,()=>{var ve;return{resizableTextArea:(ve=k.current)===null||ve===void 0?void 0:ve.resizableTextArea,focus:be=>{var Pe,Je;(0,M.n)((Je=(Pe=k.current)===null||Pe===void 0?void 0:Pe.resizableTextArea)===null||Je===void 0?void 0:Je.textArea,be)},blur:()=>{var be;return(be=k.current)===null||be===void 0?void 0:be.blur()}}});const A=ne("input",U);let Y;typeof L=="object"&&(L!=null&&L.clearIcon)?Y=L:L&&(Y={clearIcon:n.createElement(a.Z,null)});const[de,me]=(0,h.ZP)(A);return de(n.createElement(s.Z,Object.assign({},W,{disabled:Q,allowClear:Y,classes:{affixWrapper:o()(`${A}-textarea-affix-wrapper`,{[`${A}-affix-wrapper-rtl`]:_==="rtl",[`${A}-affix-wrapper-borderless`]:!T,[`${A}-affix-wrapper-sm`]:ee==="small",[`${A}-affix-wrapper-lg`]:ee==="large",[`${A}-textarea-show-count`]:j},(0,d.Z)(`${A}-affix-wrapper`,H),me)},classNames:Object.assign(Object.assign({},G),{textarea:o()({[`${A}-borderless`]:!T,[`${A}-sm`]:ee==="small",[`${A}-lg`]:ee==="large"},(0,d.Z)(A,H),me,G==null?void 0:G.textarea)}),prefixCls:A,suffix:X&&n.createElement("span",{className:`${A}-textarea-suffix`},O),showCount:j,ref:k})))});y.Z=w},52191:function(b,y,e){"use strict";e.d(y,{Z:function(){return t}});var a=e(58757);function t(o,s){const n=(0,a.useRef)([]),d=()=>{n.current.push(setTimeout(()=>{var l,c,m,g;!((l=o.current)===null||l===void 0)&&l.input&&((c=o.current)===null||c===void 0?void 0:c.input.getAttribute("type"))==="password"&&(!((m=o.current)===null||m===void 0)&&m.input.hasAttribute("value"))&&((g=o.current)===null||g===void 0||g.input.removeAttribute("value"))}))};return(0,a.useEffect)(()=>(s&&d(),()=>n.current.forEach(l=>{l&&clearTimeout(l)})),[]),d}},21149:function(b,y,e){"use strict";e.d(y,{Z:function(){return Q}});var a=e(87608),t=e.n(a),o=e(58757),s=e(61836),n=e(81496),d=e(46902),c=C=>{const{getPrefixCls:X,direction:O}=(0,o.useContext)(s.E_),{prefixCls:H,className:k}=C,A=X("input-group",H),Y=X("input"),[de,me]=(0,d.ZP)(Y),ve=t()(A,{[`${A}-lg`]:C.size==="large",[`${A}-sm`]:C.size==="small",[`${A}-compact`]:C.compact,[`${A}-rtl`]:O==="rtl"},me,k),be=(0,o.useContext)(n.aM),Pe=(0,o.useMemo)(()=>Object.assign(Object.assign({},be),{isFormItemInput:!1}),[be]);return de(o.createElement("span",{className:ve,style:C.style,onMouseEnter:C.onMouseEnter,onMouseLeave:C.onMouseLeave,onFocus:C.onFocus,onBlur:C.onBlur},o.createElement(n.aM.Provider,{value:Pe},C.children)))},m=e(95670),g=e(83720),M=e(56019),h=e(98186),S=e(21319),w=e(52191),x=function(C,X){var O={};for(var H in C)Object.prototype.hasOwnProperty.call(C,H)&&X.indexOf(H)<0&&(O[H]=C[H]);if(C!=null&&typeof Object.getOwnPropertySymbols=="function")for(var k=0,H=Object.getOwnPropertySymbols(C);kC?o.createElement(M.Z,null):o.createElement(g.Z,null),U={click:"onClick",hover:"onMouseOver"};var N=o.forwardRef((C,X)=>{const{visibilityToggle:O=!0}=C,H=typeof O=="object"&&O.visible!==void 0,[k,A]=(0,o.useState)(()=>H?O.visible:!1),Y=(0,o.useRef)(null);o.useEffect(()=>{H&&A(O.visible)},[H,O]);const de=(0,w.Z)(Y),me=()=>{const{disabled:ot}=C;ot||(k&&de(),A(Ke=>{var he;const J=!Ke;return typeof O=="object"&&((he=O.onVisibleChange)===null||he===void 0||he.call(O,J)),J}))},ve=ot=>{const{action:Ke="click",iconRender:he=z}=C,J=U[Ke]||"",V=he(k),R={[J]:me,className:`${ot}-icon`,key:"passwordIcon",onMouseDown:P=>{P.preventDefault()},onMouseUp:P=>{P.preventDefault()}};return o.cloneElement(o.isValidElement(V)?V:o.createElement("span",null,V),R)},{className:be,prefixCls:Pe,inputPrefixCls:Je,size:qe}=C,Xe=x(C,["className","prefixCls","inputPrefixCls","size"]),{getPrefixCls:mt}=o.useContext(s.E_),Ct=mt("input",Je),vt=mt("input-password",Pe),Ht=O&&ve(vt),ke=t()(vt,be,{[`${vt}-${qe}`]:!!qe}),Ve=Object.assign(Object.assign({},(0,h.Z)(Xe,["suffix","iconRender","visibilityToggle"])),{type:k?"text":"password",className:ke,prefixCls:Ct,suffix:Ht});return qe&&(Ve.size=qe),o.createElement(m.Z,Object.assign({ref:(0,S.sQ)(X,Y)},Ve))}),Z=e(99534),D=e(37047),L=e(12562),j=e(58785),G=e(43528),W=function(C,X){var O={};for(var H in C)Object.prototype.hasOwnProperty.call(C,H)&&X.indexOf(H)<0&&(O[H]=C[H]);if(C!=null&&typeof Object.getOwnPropertySymbols=="function")for(var k=0,H=Object.getOwnPropertySymbols(C);k{const{prefixCls:O,inputPrefixCls:H,className:k,size:A,suffix:Y,enterButton:de=!1,addonAfter:me,loading:ve,disabled:be,onSearch:Pe,onChange:Je,onCompositionStart:qe,onCompositionEnd:Xe}=C,mt=W(C,["prefixCls","inputPrefixCls","className","size","suffix","enterButton","addonAfter","loading","disabled","onSearch","onChange","onCompositionStart","onCompositionEnd"]),{getPrefixCls:Ct,direction:vt}=o.useContext(s.E_),Ht=o.useRef(!1),ke=Ct("input-search",O),Ve=Ct("input",H),{compactSize:ot}=(0,G.ri)(ke,vt),Ke=(0,j.Z)(re=>{var oe;return(oe=A!=null?A:ot)!==null&&oe!==void 0?oe:re}),he=o.useRef(null),J=re=>{re&&re.target&&re.type==="click"&&Pe&&Pe(re.target.value,re),Je&&Je(re)},V=re=>{var oe;document.activeElement===((oe=he.current)===null||oe===void 0?void 0:oe.input)&&re.preventDefault()},R=re=>{var oe,q;Pe&&Pe((q=(oe=he.current)===null||oe===void 0?void 0:oe.input)===null||q===void 0?void 0:q.value,re)},P=re=>{Ht.current||ve||R(re)},B=typeof de=="boolean"?o.createElement(Z.Z,null):null,ge=`${ke}-button`;let ie;const pe=de||{},Oe=pe.type&&pe.type.__ANT_BUTTON===!0;Oe||pe.type==="button"?ie=(0,D.Tm)(pe,Object.assign({onMouseDown:V,onClick:re=>{var oe,q;(q=(oe=pe==null?void 0:pe.props)===null||oe===void 0?void 0:oe.onClick)===null||q===void 0||q.call(oe,re),R(re)},key:"enterButton"},Oe?{className:ge,size:Ke}:{})):ie=o.createElement(L.ZP,{className:ge,type:de?"primary":void 0,size:Ke,disabled:be,key:"enterButton",onMouseDown:V,onClick:R,loading:ve,icon:B},de),me&&(ie=[ie,(0,D.Tm)(me,{key:"addonAfter"})]);const xe=t()(ke,{[`${ke}-rtl`]:vt==="rtl",[`${ke}-${Ke}`]:!!Ke,[`${ke}-with-button`]:!!de},k),Se=re=>{Ht.current=!0,qe==null||qe(re)},$e=re=>{Ht.current=!1,Xe==null||Xe(re)};return o.createElement(m.Z,Object.assign({ref:(0,S.sQ)(he,X),onPressEnter:P},mt,{size:Ke,onCompositionStart:Se,onCompositionEnd:$e,prefixCls:Ve,addonAfter:ie,suffix:Y,onChange:J,className:xe,disabled:be}))}),ee=e(79617);const se=m.Z;se.Group=c,se.Search=_,se.TextArea=ee.Z,se.Password=N;var Q=se},46902:function(b,y,e){"use strict";e.d(y,{M1:function(){return l},Xy:function(){return c},bi:function(){return M},e5:function(){return N},ik:function(){return h},nz:function(){return n},pU:function(){return d},s7:function(){return S},x0:function(){return g}});var a=e(78330),t=e(64493),o=e(22151),s=e(52628);const n=D=>({"&::-moz-placeholder":{opacity:1},"&::placeholder":{color:D,userSelect:"none"},"&:placeholder-shown":{textOverflow:"ellipsis"}}),d=D=>({borderColor:D.inputBorderHoverColor,borderInlineEndWidth:D.lineWidth}),l=D=>({borderColor:D.inputBorderHoverColor,boxShadow:`0 0 0 ${D.controlOutlineWidth}px ${D.controlOutline}`,borderInlineEndWidth:D.lineWidth,outline:0}),c=D=>({color:D.colorTextDisabled,backgroundColor:D.colorBgContainerDisabled,borderColor:D.colorBorder,boxShadow:"none",cursor:"not-allowed",opacity:1,"&:hover":Object.assign({},d((0,o.TS)(D,{inputBorderHoverColor:D.colorBorder})))}),m=D=>{const{inputPaddingVerticalLG:L,fontSizeLG:j,lineHeightLG:G,borderRadiusLG:W,inputPaddingHorizontalLG:ne}=D;return{padding:`${L}px ${ne}px`,fontSize:j,lineHeight:G,borderRadius:W}},g=D=>({padding:`${D.inputPaddingVerticalSM}px ${D.controlPaddingHorizontalSM-1}px`,borderRadius:D.borderRadiusSM}),M=(D,L)=>{const{componentCls:j,colorError:G,colorWarning:W,colorErrorOutline:ne,colorWarningOutline:_,colorErrorBorderHover:ee,colorWarningBorderHover:se}=D;return{[`&-status-error:not(${L}-disabled):not(${L}-borderless)${L}`]:{borderColor:G,"&:hover":{borderColor:ee},"&:focus, &-focused":Object.assign({},l((0,o.TS)(D,{inputBorderActiveColor:G,inputBorderHoverColor:G,controlOutline:ne}))),[`${j}-prefix, ${j}-suffix`]:{color:G}},[`&-status-warning:not(${L}-disabled):not(${L}-borderless)${L}`]:{borderColor:W,"&:hover":{borderColor:se},"&:focus, &-focused":Object.assign({},l((0,o.TS)(D,{inputBorderActiveColor:W,inputBorderHoverColor:W,controlOutline:_}))),[`${j}-prefix, ${j}-suffix`]:{color:W}}}},h=D=>Object.assign(Object.assign({position:"relative",display:"inline-block",width:"100%",minWidth:0,padding:`${D.inputPaddingVertical}px ${D.inputPaddingHorizontal}px`,color:D.colorText,fontSize:D.fontSize,lineHeight:D.lineHeight,backgroundColor:D.colorBgContainer,backgroundImage:"none",borderWidth:D.lineWidth,borderStyle:D.lineType,borderColor:D.colorBorder,borderRadius:D.borderRadius,transition:`all ${D.motionDurationMid}`},n(D.colorTextPlaceholder)),{"&:hover":Object.assign({},d(D)),"&:focus, &-focused":Object.assign({},l(D)),"&-disabled, &[disabled]":Object.assign({},c(D)),"&-borderless":{"&, &:hover, &:focus, &-focused, &-disabled, &[disabled]":{backgroundColor:"transparent",border:"none",boxShadow:"none"}},"textarea&":{maxWidth:"100%",height:"auto",minHeight:D.controlHeight,lineHeight:D.lineHeight,verticalAlign:"bottom",transition:`all ${D.motionDurationSlow}, height 0s`,resize:"vertical"},"&-lg":Object.assign({},m(D)),"&-sm":Object.assign({},g(D)),"&-rtl":{direction:"rtl"},"&-textarea-rtl":{direction:"rtl"}}),S=D=>{const{componentCls:L,antCls:j}=D;return{position:"relative",display:"table",width:"100%",borderCollapse:"separate",borderSpacing:0,["&[class*='col-']"]:{paddingInlineEnd:D.paddingXS,"&:last-child":{paddingInlineEnd:0}},[`&-lg ${L}, &-lg > ${L}-group-addon`]:Object.assign({},m(D)),[`&-sm ${L}, &-sm > ${L}-group-addon`]:Object.assign({},g(D)),[`&-lg ${j}-select-single ${j}-select-selector`]:{height:D.controlHeightLG},[`&-sm ${j}-select-single ${j}-select-selector`]:{height:D.controlHeightSM},[`> ${L}`]:{display:"table-cell","&:not(:first-child):not(:last-child)":{borderRadius:0}},[`${L}-group`]:{["&-addon, &-wrap"]:{display:"table-cell",width:1,whiteSpace:"nowrap",verticalAlign:"middle","&:not(:first-child):not(:last-child)":{borderRadius:0}},"&-wrap > *":{display:"block !important"},"&-addon":{position:"relative",padding:`0 ${D.inputPaddingHorizontal}px`,color:D.colorText,fontWeight:"normal",fontSize:D.fontSize,textAlign:"center",backgroundColor:D.colorFillAlter,border:`${D.lineWidth}px ${D.lineType} ${D.colorBorder}`,borderRadius:D.borderRadius,transition:`all ${D.motionDurationSlow}`,lineHeight:1,[`${j}-select`]:{margin:`-${D.inputPaddingVertical+1}px -${D.inputPaddingHorizontal}px`,[`&${j}-select-single:not(${j}-select-customize-input)`]:{[`${j}-select-selector`]:{backgroundColor:"inherit",border:`${D.lineWidth}px ${D.lineType} transparent`,boxShadow:"none"}},"&-open, &-focused":{[`${j}-select-selector`]:{color:D.colorPrimary}}},[`${j}-cascader-picker`]:{margin:`-9px -${D.inputPaddingHorizontal}px`,backgroundColor:"transparent",[`${j}-cascader-input`]:{textAlign:"start",border:0,boxShadow:"none"}}},"&-addon:first-child":{borderInlineEnd:0},"&-addon:last-child":{borderInlineStart:0}},[`${L}`]:{width:"100%",marginBottom:0,textAlign:"inherit","&:focus":{zIndex:1,borderInlineEndWidth:1},"&:hover":{zIndex:1,borderInlineEndWidth:1,[`${L}-search-with-button &`]:{zIndex:0}}},[`> ${L}:first-child, ${L}-group-addon:first-child`]:{borderStartEndRadius:0,borderEndEndRadius:0,[`${j}-select ${j}-select-selector`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`> ${L}-affix-wrapper`]:{[`&:not(:first-child) ${L}`]:{borderStartStartRadius:0,borderEndStartRadius:0},[`&:not(:last-child) ${L}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`> ${L}:last-child, ${L}-group-addon:last-child`]:{borderStartStartRadius:0,borderEndStartRadius:0,[`${j}-select ${j}-select-selector`]:{borderStartStartRadius:0,borderEndStartRadius:0}},[`${L}-affix-wrapper`]:{"&:not(:last-child)":{borderStartEndRadius:0,borderEndEndRadius:0,[`${L}-search &`]:{borderStartStartRadius:D.borderRadius,borderEndStartRadius:D.borderRadius}},[`&:not(:first-child), ${L}-search &:not(:first-child)`]:{borderStartStartRadius:0,borderEndStartRadius:0}},[`&${L}-group-compact`]:Object.assign(Object.assign({display:"block"},(0,a.dF)()),{[`${L}-group-addon, ${L}-group-wrap, > ${L}`]:{"&:not(:first-child):not(:last-child)":{borderInlineEndWidth:D.lineWidth,"&:hover":{zIndex:1},"&:focus":{zIndex:1}}},"& > *":{display:"inline-block",float:"none",verticalAlign:"top",borderRadius:0},[` + & > ${L}-affix-wrapper, + & > ${L}-number-affix-wrapper, + & > ${j}-picker-range + `]:{display:"inline-flex"},"& > *:not(:last-child)":{marginInlineEnd:-D.lineWidth,borderInlineEndWidth:D.lineWidth},[`${L}`]:{float:"none"},[`& > ${j}-select > ${j}-select-selector, + & > ${j}-select-auto-complete ${L}, + & > ${j}-cascader-picker ${L}, + & > ${L}-group-wrapper ${L}`]:{borderInlineEndWidth:D.lineWidth,borderRadius:0,"&:hover":{zIndex:1},"&:focus":{zIndex:1}},[`& > ${j}-select-focused`]:{zIndex:1},[`& > ${j}-select > ${j}-select-arrow`]:{zIndex:1},[`& > *:first-child, + & > ${j}-select:first-child > ${j}-select-selector, + & > ${j}-select-auto-complete:first-child ${L}, + & > ${j}-cascader-picker:first-child ${L}`]:{borderStartStartRadius:D.borderRadius,borderEndStartRadius:D.borderRadius},[`& > *:last-child, + & > ${j}-select:last-child > ${j}-select-selector, + & > ${j}-cascader-picker:last-child ${L}, + & > ${j}-cascader-picker-focused:last-child ${L}`]:{borderInlineEndWidth:D.lineWidth,borderStartEndRadius:D.borderRadius,borderEndEndRadius:D.borderRadius},[`& > ${j}-select-auto-complete ${L}`]:{verticalAlign:"top"},[`${L}-group-wrapper + ${L}-group-wrapper`]:{marginInlineStart:-D.lineWidth,[`${L}-affix-wrapper`]:{borderRadius:0}},[`${L}-group-wrapper:not(:last-child)`]:{[`&${L}-search > ${L}-group`]:{[`& > ${L}-group-addon > ${L}-search-button`]:{borderRadius:0},[`& > ${L}`]:{borderStartStartRadius:D.borderRadius,borderStartEndRadius:0,borderEndEndRadius:0,borderEndStartRadius:D.borderRadius}}}})}},w=D=>{const{componentCls:L,controlHeightSM:j,lineWidth:G}=D,W=16,ne=(j-G*2-W)/2;return{[L]:Object.assign(Object.assign(Object.assign(Object.assign({},(0,a.Wf)(D)),h(D)),M(D,L)),{'&[type="color"]':{height:D.controlHeight,[`&${L}-lg`]:{height:D.controlHeightLG},[`&${L}-sm`]:{height:j,paddingTop:ne,paddingBottom:ne}},'&[type="search"]::-webkit-search-cancel-button, &[type="search"]::-webkit-search-decoration':{"-webkit-appearance":"none"}})}},x=D=>{const{componentCls:L}=D;return{[`${L}-clear-icon`]:{margin:0,color:D.colorTextQuaternary,fontSize:D.fontSizeIcon,verticalAlign:-1,cursor:"pointer",transition:`color ${D.motionDurationSlow}`,"&:hover":{color:D.colorTextTertiary},"&:active":{color:D.colorText},"&-hidden":{visibility:"hidden"},"&-has-suffix":{margin:`0 ${D.inputAffixPadding}px`}}}},z=D=>{const{componentCls:L,inputAffixPadding:j,colorTextDescription:G,motionDurationSlow:W,colorIcon:ne,colorIconHover:_,iconCls:ee}=D;return{[`${L}-affix-wrapper`]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},h(D)),{display:"inline-flex",[`&:not(${L}-affix-wrapper-disabled):hover`]:Object.assign(Object.assign({},d(D)),{zIndex:1,[`${L}-search-with-button &`]:{zIndex:0}}),"&-focused, &:focus":{zIndex:1},"&-disabled":{[`${L}[disabled]`]:{background:"transparent"}},[`> input${L}`]:{padding:0,fontSize:"inherit",border:"none",borderRadius:0,outline:"none","&::-ms-reveal":{display:"none"},"&:focus":{boxShadow:"none !important"}},"&::before":{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'},[`${L}`]:{"&-prefix, &-suffix":{display:"flex",flex:"none",alignItems:"center","> *:not(:last-child)":{marginInlineEnd:D.paddingXS}},"&-show-count-suffix":{color:G},"&-show-count-has-suffix":{marginInlineEnd:D.paddingXXS},"&-prefix":{marginInlineEnd:j},"&-suffix":{marginInlineStart:j}}}),x(D)),{[`${ee}${L}-password-icon`]:{color:ne,cursor:"pointer",transition:`all ${W}`,"&:hover":{color:_}}}),M(D,`${L}-affix-wrapper`))}},U=D=>{const{componentCls:L,colorError:j,colorWarning:G,borderRadiusLG:W,borderRadiusSM:ne}=D;return{[`${L}-group`]:Object.assign(Object.assign(Object.assign({},(0,a.Wf)(D)),S(D)),{"&-rtl":{direction:"rtl"},"&-wrapper":{display:"inline-block",width:"100%",textAlign:"start",verticalAlign:"top","&-rtl":{direction:"rtl"},"&-lg":{[`${L}-group-addon`]:{borderRadius:W,fontSize:D.fontSizeLG}},"&-sm":{[`${L}-group-addon`]:{borderRadius:ne}},"&-status-error":{[`${L}-group-addon`]:{color:j,borderColor:j}},"&-status-warning":{[`${L}-group-addon`]:{color:G,borderColor:G}},"&-disabled":{[`${L}-group-addon`]:Object.assign({},c(D))},[`&:not(${L}-compact-first-item):not(${L}-compact-last-item)${L}-compact-item`]:{[`${L}, ${L}-group-addon`]:{borderRadius:0}},[`&:not(${L}-compact-last-item)${L}-compact-first-item`]:{[`${L}, ${L}-group-addon`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&:not(${L}-compact-first-item)${L}-compact-last-item`]:{[`${L}, ${L}-group-addon`]:{borderStartStartRadius:0,borderEndStartRadius:0}}}})}},T=D=>{const{componentCls:L,antCls:j}=D,G=`${L}-search`;return{[G]:{[`${L}`]:{"&:hover, &:focus":{borderColor:D.colorPrimaryHover,[`+ ${L}-group-addon ${G}-button:not(${j}-btn-primary)`]:{borderInlineStartColor:D.colorPrimaryHover}}},[`${L}-affix-wrapper`]:{borderRadius:0},[`${L}-lg`]:{lineHeight:D.lineHeightLG-2e-4},[`> ${L}-group`]:{[`> ${L}-group-addon:last-child`]:{insetInlineStart:-1,padding:0,border:0,[`${G}-button`]:{paddingTop:0,paddingBottom:0,borderStartStartRadius:0,borderStartEndRadius:D.borderRadius,borderEndEndRadius:D.borderRadius,borderEndStartRadius:0},[`${G}-button:not(${j}-btn-primary)`]:{color:D.colorTextDescription,"&:hover":{color:D.colorPrimaryHover},"&:active":{color:D.colorPrimaryActive},[`&${j}-btn-loading::before`]:{insetInlineStart:0,insetInlineEnd:0,insetBlockStart:0,insetBlockEnd:0}}}},[`${G}-button`]:{height:D.controlHeight,"&:hover, &:focus":{zIndex:1}},[`&-large ${G}-button`]:{height:D.controlHeightLG},[`&-small ${G}-button`]:{height:D.controlHeightSM},"&-rtl":{direction:"rtl"},[`&${L}-compact-item`]:{[`&:not(${L}-compact-last-item)`]:{[`${L}-group-addon`]:{[`${L}-search-button`]:{marginInlineEnd:-D.lineWidth,borderRadius:0}}},[`&:not(${L}-compact-first-item)`]:{[`${L},${L}-affix-wrapper`]:{borderRadius:0}},[`> ${L}-group-addon ${L}-search-button, + > ${L}, + ${L}-affix-wrapper`]:{"&:hover,&:focus,&:active":{zIndex:2}},[`> ${L}-affix-wrapper-focused`]:{zIndex:2}}}}};function N(D){return(0,o.TS)(D,{inputAffixPadding:D.paddingXXS,inputPaddingVertical:Math.max(Math.round((D.controlHeight-D.fontSize*D.lineHeight)/2*10)/10-D.lineWidth,3),inputPaddingVerticalLG:Math.ceil((D.controlHeightLG-D.fontSizeLG*D.lineHeightLG)/2*10)/10-D.lineWidth,inputPaddingVerticalSM:Math.max(Math.round((D.controlHeightSM-D.fontSize*D.lineHeight)/2*10)/10-D.lineWidth,0),inputPaddingHorizontal:D.paddingSM-D.lineWidth,inputPaddingHorizontalSM:D.paddingXS-D.lineWidth,inputPaddingHorizontalLG:D.controlPaddingHorizontal-D.lineWidth,inputBorderHoverColor:D.colorPrimaryHover,inputBorderActiveColor:D.colorPrimaryHover})}const Z=D=>{const{componentCls:L,paddingLG:j}=D,G=`${L}-textarea`;return{[G]:{position:"relative","&-show-count":{[`> ${L}`]:{height:"100%"},[`${L}-data-count`]:{position:"absolute",bottom:-D.fontSize*D.lineHeight,insetInlineEnd:0,color:D.colorTextDescription,whiteSpace:"nowrap",pointerEvents:"none"}},"&-allow-clear":{[`> ${L}`]:{paddingInlineEnd:j}},[`&-affix-wrapper${G}-has-feedback`]:{[`${L}`]:{paddingInlineEnd:j}},[`&-affix-wrapper${L}-affix-wrapper`]:{padding:0,[`> textarea${L}`]:{fontSize:"inherit",border:"none",outline:"none","&:focus":{boxShadow:"none !important"}},[`${L}-suffix`]:{margin:0,"> *:not(:last-child)":{marginInline:0},[`${L}-clear-icon`]:{position:"absolute",insetInlineEnd:D.paddingXS,insetBlockStart:D.paddingXS},[`${G}-suffix`]:{position:"absolute",top:0,insetInlineEnd:D.inputPaddingHorizontal,bottom:0,zIndex:1,display:"inline-flex",alignItems:"center",margin:"auto",pointerEvents:"none"}}}}}};y.ZP=(0,s.Z)("Input",D=>{const L=N(D);return[w(L),Z(L),z(L),U(L),T(L),(0,t.c)(L)]})},67423:function(b,y,e){"use strict";e.d(y,{D:function(){return N},Z:function(){return L}});var a=e(60698),t=e(58757),o={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"bars",theme:"outlined"},s=o,n=e(17202),d=function(G,W){return t.createElement(n.Z,(0,a.Z)({},G,{ref:W,icon:s}))},l=t.forwardRef(d),c=e(99142),m=e(91169),g=e(87608),M=e.n(g),h=e(98186),w=j=>!isNaN(parseFloat(j))&&isFinite(j),x=e(61836),z=e(79802),U=function(j,G){var W={};for(var ne in j)Object.prototype.hasOwnProperty.call(j,ne)&&G.indexOf(ne)<0&&(W[ne]=j[ne]);if(j!=null&&typeof Object.getOwnPropertySymbols=="function")for(var _=0,ne=Object.getOwnPropertySymbols(j);_{let j=0;return function(){let G=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return j+=1,`${G}${j}`}})();var L=t.forwardRef((j,G)=>{const{prefixCls:W,className:ne,trigger:_,children:ee,defaultCollapsed:se=!1,theme:Q="dark",style:C={},collapsible:X=!1,reverseArrow:O=!1,width:H=200,collapsedWidth:k=80,zeroWidthTriggerStyle:A,breakpoint:Y,onCollapse:de,onBreakpoint:me}=j,ve=U(j,["prefixCls","className","trigger","children","defaultCollapsed","theme","style","collapsible","reverseArrow","width","collapsedWidth","zeroWidthTriggerStyle","breakpoint","onCollapse","onBreakpoint"]),{siderHook:be}=(0,t.useContext)(z.Gs),[Pe,Je]=(0,t.useState)("collapsed"in j?j.collapsed:se),[qe,Xe]=(0,t.useState)(!1);(0,t.useEffect)(()=>{"collapsed"in j&&Je(j.collapsed)},[j.collapsed]);const mt=(ot,Ke)=>{"collapsed"in j||Je(ot),de==null||de(ot,Ke)},Ct=(0,t.useRef)();Ct.current=ot=>{Xe(ot.matches),me==null||me(ot.matches),Pe!==ot.matches&&mt(ot.matches,"responsive")},(0,t.useEffect)(()=>{function ot(he){return Ct.current(he)}let Ke;if(typeof window!="undefined"){const{matchMedia:he}=window;if(he&&Y&&Y in T){Ke=he(`(max-width: ${T[Y]})`);try{Ke.addEventListener("change",ot)}catch(J){Ke.addListener(ot)}ot(Ke)}}return()=>{try{Ke==null||Ke.removeEventListener("change",ot)}catch(he){Ke==null||Ke.removeListener(ot)}}},[Y]),(0,t.useEffect)(()=>{const ot=Z("ant-sider-");return be.addSider(ot),()=>be.removeSider(ot)},[]);const vt=()=>{mt(!Pe,"clickTrigger")},{getPrefixCls:Ht}=(0,t.useContext)(x.E_),ke=()=>{const ot=Ht("layout-sider",W),Ke=(0,h.Z)(ve,["collapsed"]),he=Pe?k:H,J=w(he)?`${he}px`:String(he),V=parseFloat(String(k||0))===0?t.createElement("span",{onClick:vt,className:M()(`${ot}-zero-width-trigger`,`${ot}-zero-width-trigger-${O?"right":"left"}`),style:A},_||t.createElement(l,null)):null,B={expanded:O?t.createElement(m.Z,null):t.createElement(c.Z,null),collapsed:O?t.createElement(c.Z,null):t.createElement(m.Z,null)}[Pe?"collapsed":"expanded"],ge=_!==null?V||t.createElement("div",{className:`${ot}-trigger`,onClick:vt,style:{width:J}},_||B):null,ie=Object.assign(Object.assign({},C),{flex:`0 0 ${J}`,maxWidth:J,minWidth:J,width:J}),pe=M()(ot,`${ot}-${Q}`,{[`${ot}-collapsed`]:!!Pe,[`${ot}-has-trigger`]:X&&_!==null&&!V,[`${ot}-below`]:!!qe,[`${ot}-zero-width`]:parseFloat(J)===0},ne);return t.createElement("aside",Object.assign({className:pe},Ke,{style:ie,ref:G}),t.createElement("div",{className:`${ot}-children`},ee),X||qe&&V?ge:null)},Ve=t.useMemo(()=>({siderCollapsed:Pe}),[Pe]);return t.createElement(N.Provider,{value:Ve},ke())})},79802:function(b,y,e){"use strict";e.d(y,{VY:function(){return D},$_:function(){return Z},h4:function(){return N},Gs:function(){return w},ZP:function(){return L}});var a=e(29140),t=e(87608),o=e.n(t),s=e(98186),n=e(58757),d=e(61836),l=e(52628),c=e(22151),g=j=>{const{componentCls:G,colorBgContainer:W,colorBgBody:ne,colorText:_}=j;return{[`${G}-sider-light`]:{background:W,[`${G}-sider-trigger`]:{color:_,background:W},[`${G}-sider-zero-width-trigger`]:{color:_,background:W,border:`1px solid ${ne}`,borderInlineStart:0}}}};const M=j=>{const{antCls:G,componentCls:W,colorText:ne,colorTextLightSolid:_,colorBgHeader:ee,colorBgBody:se,colorBgTrigger:Q,layoutHeaderHeight:C,layoutHeaderPaddingInline:X,layoutHeaderColor:O,layoutFooterPadding:H,layoutTriggerHeight:k,layoutZeroTriggerSize:A,motionDurationMid:Y,motionDurationSlow:de,fontSize:me,borderRadius:ve}=j;return{[W]:Object.assign(Object.assign({display:"flex",flex:"auto",flexDirection:"column",minHeight:0,background:se,"&, *":{boxSizing:"border-box"},[`&${W}-has-sider`]:{flexDirection:"row",[`> ${W}, > ${W}-content`]:{width:0}},[`${W}-header, &${W}-footer`]:{flex:"0 0 auto"},[`${W}-sider`]:{position:"relative",minWidth:0,background:ee,transition:`all ${Y}, background 0s`,"&-children":{height:"100%",marginTop:-.1,paddingTop:.1,[`${G}-menu${G}-menu-inline-collapsed`]:{width:"auto"}},"&-has-trigger":{paddingBottom:k},"&-right":{order:1},"&-trigger":{position:"fixed",bottom:0,zIndex:1,height:k,color:_,lineHeight:`${k}px`,textAlign:"center",background:Q,cursor:"pointer",transition:`all ${Y}`},"&-zero-width":{"> *":{overflow:"hidden"},"&-trigger":{position:"absolute",top:C,insetInlineEnd:-A,zIndex:1,width:A,height:A,color:_,fontSize:j.fontSizeXL,display:"flex",alignItems:"center",justifyContent:"center",background:ee,borderStartStartRadius:0,borderStartEndRadius:ve,borderEndEndRadius:ve,borderEndStartRadius:0,cursor:"pointer",transition:`background ${de} ease`,"&::after":{position:"absolute",inset:0,background:"transparent",transition:`all ${de}`,content:'""'},"&:hover::after":{background:"rgba(255, 255, 255, 0.2)"},"&-right":{insetInlineStart:-A,borderStartStartRadius:ve,borderStartEndRadius:0,borderEndEndRadius:0,borderEndStartRadius:ve}}}}},g(j)),{"&-rtl":{direction:"rtl"}}),[`${W}-header`]:{height:C,paddingInline:X,color:O,lineHeight:`${C}px`,background:ee,[`${G}-menu`]:{lineHeight:"inherit"}},[`${W}-footer`]:{padding:H,color:ne,fontSize:me,background:se},[`${W}-content`]:{flex:"auto",minHeight:0}}};var h=(0,l.Z)("Layout",j=>{const{colorText:G,controlHeightSM:W,controlHeight:ne,controlHeightLG:_,marginXXS:ee}=j,se=_*1.25,Q=(0,c.TS)(j,{layoutHeaderHeight:ne*2,layoutHeaderPaddingInline:se,layoutHeaderColor:G,layoutFooterPadding:`${W}px ${se}px`,layoutTriggerHeight:_+ee*2,layoutZeroTriggerSize:_});return[M(Q)]},j=>{const{colorBgLayout:G}=j;return{colorBgHeader:"#001529",colorBgBody:G,colorBgTrigger:"#002140"}}),S=function(j,G){var W={};for(var ne in j)Object.prototype.hasOwnProperty.call(j,ne)&&G.indexOf(ne)<0&&(W[ne]=j[ne]);if(j!=null&&typeof Object.getOwnPropertySymbols=="function")for(var _=0,ne=Object.getOwnPropertySymbols(j);_null,removeSider:()=>null}});function x(j){let{suffixCls:G,tagName:W,displayName:ne}=j;return _=>n.forwardRef((se,Q)=>n.createElement(_,Object.assign({ref:Q,suffixCls:G,tagName:W},se)))}const z=n.forwardRef((j,G)=>{const{prefixCls:W,suffixCls:ne,className:_,tagName:ee}=j,se=S(j,["prefixCls","suffixCls","className","tagName"]),{getPrefixCls:Q}=n.useContext(d.E_),C=Q("layout",W),[X,O]=h(C),H=ne?`${C}-${ne}`:C;return X(n.createElement(ee,Object.assign({className:o()(W||H,_,O),ref:G},se)))}),U=n.forwardRef((j,G)=>{const{direction:W}=n.useContext(d.E_),[ne,_]=n.useState([]),{prefixCls:ee,className:se,rootClassName:Q,children:C,hasSider:X,tagName:O,style:H}=j,k=S(j,["prefixCls","className","rootClassName","children","hasSider","tagName","style"]),A=(0,s.Z)(k,["suffixCls"]),{getPrefixCls:Y,layout:de}=n.useContext(d.E_),me=Y("layout",ee),[ve,be]=h(me),Pe=o()(me,{[`${me}-has-sider`]:typeof X=="boolean"?X:ne.length>0,[`${me}-rtl`]:W==="rtl"},de==null?void 0:de.className,se,Q,be),Je=n.useMemo(()=>({siderHook:{addSider:qe=>{_(Xe=>[].concat((0,a.Z)(Xe),[qe]))},removeSider:qe=>{_(Xe=>Xe.filter(mt=>mt!==qe))}}}),[]);return ve(n.createElement(w.Provider,{value:Je},n.createElement(O,Object.assign({ref:G,className:Pe,style:Object.assign(Object.assign({},de==null?void 0:de.style),H)},A),C)))}),T=x({tagName:"div",displayName:"Layout"})(U),N=x({suffixCls:"header",tagName:"header",displayName:"Header"})(z),Z=x({suffixCls:"footer",tagName:"footer",displayName:"Footer"})(z),D=x({suffixCls:"content",tagName:"main",displayName:"Content"})(z);var L=T},37617:function(b,y,e){"use strict";e.d(y,{Z:function(){return C}});var a=e(29140),t=e(87608),o=e.n(t),s=e(58757),n=e(44818),d=e(87078),l=e(61836),c=e(10401),m=e(67665),g=e(60059),M=e(35910),h=e(79233),S=e(37047),w=e(91334);const x=s.createContext({}),z=x.Consumer;var U=function(X,O){var H={};for(var k in X)Object.prototype.hasOwnProperty.call(X,k)&&O.indexOf(k)<0&&(H[k]=X[k]);if(X!=null&&typeof Object.getOwnPropertySymbols=="function")for(var A=0,k=Object.getOwnPropertySymbols(X);A{var{prefixCls:O,className:H,avatar:k,title:A,description:Y}=X,de=U(X,["prefixCls","className","avatar","title","description"]);const{getPrefixCls:me}=(0,s.useContext)(l.E_),ve=me("list",O),be=o()(`${ve}-item-meta`,H),Pe=s.createElement("div",{className:`${ve}-item-meta-content`},A&&s.createElement("h4",{className:`${ve}-item-meta-title`},A),Y&&s.createElement("div",{className:`${ve}-item-meta-description`},Y));return s.createElement("div",Object.assign({},de,{className:be}),k&&s.createElement("div",{className:`${ve}-item-meta-avatar`},k),(A||Y)&&Pe)},N=(X,O)=>{var{prefixCls:H,children:k,actions:A,extra:Y,className:de,colStyle:me}=X,ve=U(X,["prefixCls","children","actions","extra","className","colStyle"]);const{grid:be,itemLayout:Pe}=(0,s.useContext)(x),{getPrefixCls:Je}=(0,s.useContext)(l.E_),qe=()=>{let ke;return s.Children.forEach(k,Ve=>{typeof Ve=="string"&&(ke=!0)}),ke&&s.Children.count(k)>1},Xe=()=>Pe==="vertical"?!!Y:!qe(),mt=Je("list",H),Ct=A&&A.length>0&&s.createElement("ul",{className:`${mt}-item-action`,key:"actions"},A.map((ke,Ve)=>s.createElement("li",{key:`${mt}-item-action-${Ve}`},ke,Ve!==A.length-1&&s.createElement("em",{className:`${mt}-item-action-split`})))),vt=be?"div":"li",Ht=s.createElement(vt,Object.assign({},ve,be?{}:{ref:O},{className:o()(`${mt}-item`,{[`${mt}-item-no-flex`]:!Xe()},de)}),Pe==="vertical"&&Y?[s.createElement("div",{className:`${mt}-item-main`,key:"content"},k,Ct),s.createElement("div",{className:`${mt}-item-extra`,key:"extra"},Y)]:[k,Ct,(0,S.Tm)(Y,{key:"extra"})]);return be?s.createElement(w.Z,{ref:O,flex:1,style:me},Ht):Ht},Z=(0,s.forwardRef)(N);Z.Meta=T;var D=Z,L=e(78330),j=e(52628),G=e(22151);const W=X=>{const{listBorderedCls:O,componentCls:H,paddingLG:k,margin:A,itemPaddingSM:Y,itemPaddingLG:de,marginLG:me,borderRadiusLG:ve}=X;return{[`${O}`]:{border:`${X.lineWidth}px ${X.lineType} ${X.colorBorder}`,borderRadius:ve,[`${H}-header,${H}-footer,${H}-item`]:{paddingInline:k},[`${H}-pagination`]:{margin:`${A}px ${me}px`}},[`${O}${H}-sm`]:{[`${H}-item,${H}-header,${H}-footer`]:{padding:Y}},[`${O}${H}-lg`]:{[`${H}-item,${H}-header,${H}-footer`]:{padding:de}}}},ne=X=>{const{componentCls:O,screenSM:H,screenMD:k,marginLG:A,marginSM:Y,margin:de}=X;return{[`@media screen and (max-width:${k})`]:{[`${O}`]:{[`${O}-item`]:{[`${O}-item-action`]:{marginInlineStart:A}}},[`${O}-vertical`]:{[`${O}-item`]:{[`${O}-item-extra`]:{marginInlineStart:A}}}},[`@media screen and (max-width: ${H})`]:{[`${O}`]:{[`${O}-item`]:{flexWrap:"wrap",[`${O}-action`]:{marginInlineStart:Y}}},[`${O}-vertical`]:{[`${O}-item`]:{flexWrap:"wrap-reverse",[`${O}-item-main`]:{minWidth:X.contentWidth},[`${O}-item-extra`]:{margin:`auto auto ${de}px`}}}}}},_=X=>{const{componentCls:O,antCls:H,controlHeight:k,minHeight:A,paddingSM:Y,marginLG:de,padding:me,itemPadding:ve,colorPrimary:be,itemPaddingSM:Pe,itemPaddingLG:Je,paddingXS:qe,margin:Xe,colorText:mt,colorTextDescription:Ct,motionDurationSlow:vt,lineWidth:Ht,headerBg:ke,footerBg:Ve,emptyTextPadding:ot,metaMarginBottom:Ke,avatarMarginRight:he,titleMarginBottom:J,descriptionFontSize:V}=X,R={};return["start","center","end"].forEach(P=>{R[`&-align-${P}`]={textAlign:P}}),{[`${O}`]:Object.assign(Object.assign({},(0,L.Wf)(X)),{position:"relative","*":{outline:"none"},[`${O}-header`]:{background:ke},[`${O}-footer`]:{background:Ve},[`${O}-header, ${O}-footer`]:{paddingBlock:Y},[`${O}-pagination`]:Object.assign(Object.assign({marginBlockStart:de},R),{[`${H}-pagination-options`]:{textAlign:"start"}}),[`${O}-spin`]:{minHeight:A,textAlign:"center"},[`${O}-items`]:{margin:0,padding:0,listStyle:"none"},[`${O}-item`]:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:ve,color:mt,[`${O}-item-meta`]:{display:"flex",flex:1,alignItems:"flex-start",maxWidth:"100%",[`${O}-item-meta-avatar`]:{marginInlineEnd:he},[`${O}-item-meta-content`]:{flex:"1 0",width:0,color:mt},[`${O}-item-meta-title`]:{margin:`0 0 ${X.marginXXS}px 0`,color:mt,fontSize:X.fontSize,lineHeight:X.lineHeight,"> a":{color:mt,transition:`all ${vt}`,["&:hover"]:{color:be}}},[`${O}-item-meta-description`]:{color:Ct,fontSize:V,lineHeight:X.lineHeight}},[`${O}-item-action`]:{flex:"0 0 auto",marginInlineStart:X.marginXXL,padding:0,fontSize:0,listStyle:"none",["& > li"]:{position:"relative",display:"inline-block",padding:`0 ${qe}px`,color:Ct,fontSize:X.fontSize,lineHeight:X.lineHeight,textAlign:"center",["&:first-child"]:{paddingInlineStart:0}},[`${O}-item-action-split`]:{position:"absolute",insetBlockStart:"50%",insetInlineEnd:0,width:Ht,height:Math.ceil(X.fontSize*X.lineHeight)-X.marginXXS*2,transform:"translateY(-50%)",backgroundColor:X.colorSplit}}},[`${O}-empty`]:{padding:`${me}px 0`,color:Ct,fontSize:X.fontSizeSM,textAlign:"center"},[`${O}-empty-text`]:{padding:ot,color:X.colorTextDisabled,fontSize:X.fontSize,textAlign:"center"},[`${O}-item-no-flex`]:{display:"block"}}),[`${O}-grid ${H}-col > ${O}-item`]:{display:"block",maxWidth:"100%",marginBlockEnd:Xe,paddingBlock:0,borderBlockEnd:"none"},[`${O}-vertical ${O}-item`]:{alignItems:"initial",[`${O}-item-main`]:{display:"block",flex:1},[`${O}-item-extra`]:{marginInlineStart:de},[`${O}-item-meta`]:{marginBlockEnd:Ke,[`${O}-item-meta-title`]:{marginBlockStart:0,marginBlockEnd:J,color:mt,fontSize:X.fontSizeLG,lineHeight:X.lineHeightLG}},[`${O}-item-action`]:{marginBlockStart:me,marginInlineStart:"auto","> li":{padding:`0 ${me}px`,["&:first-child"]:{paddingInlineStart:0}}}},[`${O}-split ${O}-item`]:{borderBlockEnd:`${X.lineWidth}px ${X.lineType} ${X.colorSplit}`,["&:last-child"]:{borderBlockEnd:"none"}},[`${O}-split ${O}-header`]:{borderBlockEnd:`${X.lineWidth}px ${X.lineType} ${X.colorSplit}`},[`${O}-split${O}-empty ${O}-footer`]:{borderTop:`${X.lineWidth}px ${X.lineType} ${X.colorSplit}`},[`${O}-loading ${O}-spin-nested-loading`]:{minHeight:k},[`${O}-split${O}-something-after-last-item ${H}-spin-container > ${O}-items > ${O}-item:last-child`]:{borderBlockEnd:`${X.lineWidth}px ${X.lineType} ${X.colorSplit}`},[`${O}-lg ${O}-item`]:{padding:Je},[`${O}-sm ${O}-item`]:{padding:Pe},[`${O}:not(${O}-vertical)`]:{[`${O}-item-no-flex`]:{[`${O}-item-action`]:{float:"right"}}}}};var ee=(0,j.Z)("List",X=>{const O=(0,G.TS)(X,{listBorderedCls:`${X.componentCls}-bordered`,minHeight:X.controlHeightLG});return[_(O),W(O),ne(O)]},X=>({contentWidth:220,itemPadding:`${X.paddingContentVertical}px 0`,itemPaddingSM:`${X.paddingContentVerticalSM}px ${X.paddingContentHorizontal}px`,itemPaddingLG:`${X.paddingContentVerticalLG}px ${X.paddingContentHorizontalLG}px`,headerBg:"transparent",footerBg:"transparent",emptyTextPadding:X.padding,metaMarginBottom:X.padding,avatarMarginRight:X.padding,titleMarginBottom:X.paddingSM,descriptionFontSize:X.fontSize})),se=function(X,O){var H={};for(var k in X)Object.prototype.hasOwnProperty.call(X,k)&&O.indexOf(k)<0&&(H[k]=X[k]);if(X!=null&&typeof Object.getOwnPropertySymbols=="function")for(var A=0,k=Object.getOwnPropertySymbols(X);A(dt,je)=>{var tt;V(dt),P(je),H&&H[Pt]&&((tt=H==null?void 0:H[Pt])===null||tt===void 0||tt.call(H,dt,je))},Se=xe("onChange"),$e=xe("onShowSizeChange"),re=(Pt,dt)=>{if(!Ve)return null;let je;return typeof ke=="function"?je=ke(Pt):ke?je=Pt[ke]:je=Pt.key,je||(je=`list-item-${dt}`),s.createElement(s.Fragment,{key:je},Ve(Pt,dt))},oe=()=>!!(Je||H||vt),q=B("list",k),[ue,Ee]=ee(q);let le=Ht;typeof le=="boolean"&&(le={spinning:le});const Ne=le&&le.spinning;let Ae="";switch(mt){case"large":Ae="lg";break;case"small":Ae="sm";break;default:break}const we=o()(q,{[`${q}-vertical`]:Pe==="vertical",[`${q}-${Ae}`]:Ae,[`${q}-split`]:Y,[`${q}-bordered`]:A,[`${q}-loading`]:Ne,[`${q}-grid`]:!!qe,[`${q}-something-after-last-item`]:oe(),[`${q}-rtl`]:ie==="rtl"},pe==null?void 0:pe.className,de,me,Ee),Re=(0,n.Z)(Oe,{total:Xe.length,current:J,pageSize:R},H||{}),st=Math.ceil(Re.total/Re.pageSize);Re.current>st&&(Re.current=st);const nt=H?s.createElement("div",{className:o()(`${q}-pagination`,`${q}-pagination-align-${(O=Re==null?void 0:Re.align)!==null&&O!==void 0?O:"end"}`)},s.createElement(M.Z,Object.assign({},Re,{onChange:Se,onShowSizeChange:$e}))):null;let _e=(0,a.Z)(Xe);H&&Xe.length>(Re.current-1)*Re.pageSize&&(_e=(0,a.Z)(Xe).splice((Re.current-1)*Re.pageSize,Re.pageSize));const We=Object.keys(qe||{}).some(Pt=>["xs","sm","md","lg","xl","xxl"].includes(Pt)),Be=(0,g.Z)(We),it=s.useMemo(()=>{for(let Pt=0;Pt{if(!qe)return;const Pt=it&&qe[it]?qe[it]:qe.column;if(Pt)return{width:`${100/Pt}%`,maxWidth:`${100/Pt}%`}},[qe==null?void 0:qe.column,it]);let Ot=Ne&&s.createElement("div",{style:{minHeight:53}});if(_e.length>0){const Pt=_e.map((dt,je)=>re(dt,je));Ot=qe?s.createElement(m.Z,{gutter:qe.gutter},s.Children.map(Pt,dt=>s.createElement("div",{key:dt==null?void 0:dt.key,style:Ge},dt))):s.createElement("ul",{className:`${q}-items`},Pt)}else!be&&!Ne&&(Ot=s.createElement("div",{className:`${q}-empty-text`},ot&&ot.emptyText||(ge==null?void 0:ge("List"))||s.createElement(c.Z,{componentName:"List"})));const $t=Re.position||"bottom",wt=s.useMemo(()=>({grid:qe,itemLayout:Pe}),[JSON.stringify(qe),Pe]);return ue(s.createElement(x.Provider,{value:wt},s.createElement("div",Object.assign({style:Object.assign(Object.assign({},pe==null?void 0:pe.style),ve),className:we},Ke),($t==="top"||$t==="both")&&nt,Ct&&s.createElement("div",{className:`${q}-header`},Ct),s.createElement(h.Z,Object.assign({},le),Ot,be),vt&&s.createElement("div",{className:`${q}-footer`},vt),Je||($t==="bottom"||$t==="both")&&nt)))}Q.Item=D;var C=Q},10520:function(b,y,e){"use strict";var a=e(58757);const t=(0,a.createContext)(void 0);y.Z=t},80076:function(b,y,e){"use strict";var a=e(57522),t=e(81872),o=e(7056),s=e(38107);const n="${label} is not a valid ${type}",d={locale:"en",Pagination:a.Z,DatePicker:o.Z,TimePicker:s.Z,Calendar:t.Z,global:{placeholder:"Please select"},Table:{filterTitle:"Filter menu",filterConfirm:"OK",filterReset:"Reset",filterEmptyText:"No filters",filterCheckall:"Select all items",filterSearchPlaceholder:"Search in filters",emptyText:"No data",selectAll:"Select current page",selectInvert:"Invert current page",selectNone:"Clear all data",selectionAll:"Select all data",sortTitle:"Sort",expand:"Expand row",collapse:"Collapse row",triggerDesc:"Click to sort descending",triggerAsc:"Click to sort ascending",cancelSort:"Click to cancel sorting"},Tour:{Next:"Next",Previous:"Previous",Finish:"Finish"},Modal:{okText:"OK",cancelText:"Cancel",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"Cancel"},Transfer:{titles:["",""],searchPlaceholder:"Search here",itemUnit:"item",itemsUnit:"items",remove:"Remove",selectCurrent:"Select current page",removeCurrent:"Remove current page",selectAll:"Select all data",removeAll:"Remove all data",selectInvert:"Invert current page"},Upload:{uploading:"Uploading...",removeFile:"Remove file",uploadError:"Upload error",previewFile:"Preview file",downloadFile:"Download file"},Empty:{description:"No data"},Icon:{icon:"icon"},Text:{edit:"Edit",copy:"Copy",copied:"Copied",expand:"Expand"},PageHeader:{back:"Back"},Form:{optional:"(optional)",defaultValidateMessages:{default:"Field validation error for ${label}",required:"Please enter ${label}",enum:"${label} must be one of [${enum}]",whitespace:"${label} cannot be a blank character",date:{format:"${label} date format is invalid",parse:"${label} cannot be converted to a date",invalid:"${label} is an invalid date"},types:{string:n,method:n,array:n,object:n,number:n,date:n,boolean:n,integer:n,float:n,regexp:n,email:n,url:n,hex:n},string:{len:"${label} must be ${len} characters",min:"${label} must be at least ${min} characters",max:"${label} must be up to ${max} characters",range:"${label} must be between ${min}-${max} characters"},number:{len:"${label} must be equal to ${len}",min:"${label} must be minimum ${min}",max:"${label} must be maximum ${max}",range:"${label} must be between ${min}-${max}"},array:{len:"Must be ${len} ${label}",min:"At least ${min} ${label}",max:"At most ${max} ${label}",range:"The amount of ${label} must be between ${min}-${max}"},pattern:{mismatch:"${label} does not match the pattern ${pattern}"}}},Image:{preview:"Preview"},QRCode:{expired:"QR code expired",refresh:"Refresh"},ColorPicker:{presetEmpty:"Empty"}};y.Z=d},29487:function(b,y,e){"use strict";var a=e(58757),t=e(10520),o=e(80076);const s=(n,d)=>{const l=a.useContext(t.Z),c=a.useMemo(()=>{var g;const M=d||o.Z[n],h=(g=l==null?void 0:l[n])!==null&&g!==void 0?g:{};return Object.assign(Object.assign({},typeof M=="function"?M():M),h||{})},[n,d,l]),m=a.useMemo(()=>{const g=l==null?void 0:l.locale;return l!=null&&l.exist&&!g?o.Z.locale:g},[l]);return[c,m]};y.Z=s},1597:function(b,y,e){"use strict";e.d(y,{Z:function(){return M}});var a=e(23737),t={locale:"zh_CN",today:"\u4ECA\u5929",now:"\u6B64\u523B",backToToday:"\u8FD4\u56DE\u4ECA\u5929",ok:"\u786E\u5B9A",timeSelect:"\u9009\u62E9\u65F6\u95F4",dateSelect:"\u9009\u62E9\u65E5\u671F",weekSelect:"\u9009\u62E9\u5468",clear:"\u6E05\u9664",month:"\u6708",year:"\u5E74",previousMonth:"\u4E0A\u4E2A\u6708 (\u7FFB\u9875\u4E0A\u952E)",nextMonth:"\u4E0B\u4E2A\u6708 (\u7FFB\u9875\u4E0B\u952E)",monthSelect:"\u9009\u62E9\u6708\u4EFD",yearSelect:"\u9009\u62E9\u5E74\u4EFD",decadeSelect:"\u9009\u62E9\u5E74\u4EE3",yearFormat:"YYYY\u5E74",dayFormat:"D\u65E5",dateFormat:"YYYY\u5E74M\u6708D\u65E5",dateTimeFormat:"YYYY\u5E74M\u6708D\u65E5 HH\u65F6mm\u5206ss\u79D2",previousYear:"\u4E0A\u4E00\u5E74 (Control\u952E\u52A0\u5DE6\u65B9\u5411\u952E)",nextYear:"\u4E0B\u4E00\u5E74 (Control\u952E\u52A0\u53F3\u65B9\u5411\u952E)",previousDecade:"\u4E0A\u4E00\u5E74\u4EE3",nextDecade:"\u4E0B\u4E00\u5E74\u4EE3",previousCentury:"\u4E0A\u4E00\u4E16\u7EAA",nextCentury:"\u4E0B\u4E00\u4E16\u7EAA"},o=t,n={placeholder:"\u8BF7\u9009\u62E9\u65F6\u95F4",rangePlaceholder:["\u5F00\u59CB\u65F6\u95F4","\u7ED3\u675F\u65F6\u95F4"]};const d={lang:Object.assign({placeholder:"\u8BF7\u9009\u62E9\u65E5\u671F",yearPlaceholder:"\u8BF7\u9009\u62E9\u5E74\u4EFD",quarterPlaceholder:"\u8BF7\u9009\u62E9\u5B63\u5EA6",monthPlaceholder:"\u8BF7\u9009\u62E9\u6708\u4EFD",weekPlaceholder:"\u8BF7\u9009\u62E9\u5468",rangePlaceholder:["\u5F00\u59CB\u65E5\u671F","\u7ED3\u675F\u65E5\u671F"],rangeYearPlaceholder:["\u5F00\u59CB\u5E74\u4EFD","\u7ED3\u675F\u5E74\u4EFD"],rangeMonthPlaceholder:["\u5F00\u59CB\u6708\u4EFD","\u7ED3\u675F\u6708\u4EFD"],rangeQuarterPlaceholder:["\u5F00\u59CB\u5B63\u5EA6","\u7ED3\u675F\u5B63\u5EA6"],rangeWeekPlaceholder:["\u5F00\u59CB\u5468","\u7ED3\u675F\u5468"]},o),timePickerLocale:Object.assign({},n)};d.lang.ok="\u786E\u5B9A";var l=d,c=l;const m="${label}\u4E0D\u662F\u4E00\u4E2A\u6709\u6548\u7684${type}";var M={locale:"zh-cn",Pagination:a.Z,DatePicker:l,TimePicker:n,Calendar:c,global:{placeholder:"\u8BF7\u9009\u62E9"},Table:{filterTitle:"\u7B5B\u9009",filterConfirm:"\u786E\u5B9A",filterReset:"\u91CD\u7F6E",filterEmptyText:"\u65E0\u7B5B\u9009\u9879",filterCheckall:"\u5168\u9009",filterSearchPlaceholder:"\u5728\u7B5B\u9009\u9879\u4E2D\u641C\u7D22",selectAll:"\u5168\u9009\u5F53\u9875",selectInvert:"\u53CD\u9009\u5F53\u9875",selectNone:"\u6E05\u7A7A\u6240\u6709",selectionAll:"\u5168\u9009\u6240\u6709",sortTitle:"\u6392\u5E8F",expand:"\u5C55\u5F00\u884C",collapse:"\u5173\u95ED\u884C",triggerDesc:"\u70B9\u51FB\u964D\u5E8F",triggerAsc:"\u70B9\u51FB\u5347\u5E8F",cancelSort:"\u53D6\u6D88\u6392\u5E8F"},Modal:{okText:"\u786E\u5B9A",cancelText:"\u53D6\u6D88",justOkText:"\u77E5\u9053\u4E86"},Tour:{Next:"\u4E0B\u4E00\u6B65",Previous:"\u4E0A\u4E00\u6B65",Finish:"\u7ED3\u675F\u5BFC\u89C8"},Popconfirm:{cancelText:"\u53D6\u6D88",okText:"\u786E\u5B9A"},Transfer:{titles:["",""],searchPlaceholder:"\u8BF7\u8F93\u5165\u641C\u7D22\u5185\u5BB9",itemUnit:"\u9879",itemsUnit:"\u9879",remove:"\u5220\u9664",selectCurrent:"\u5168\u9009\u5F53\u9875",removeCurrent:"\u5220\u9664\u5F53\u9875",selectAll:"\u5168\u9009\u6240\u6709",removeAll:"\u5220\u9664\u5168\u90E8",selectInvert:"\u53CD\u9009\u5F53\u9875"},Upload:{uploading:"\u6587\u4EF6\u4E0A\u4F20\u4E2D",removeFile:"\u5220\u9664\u6587\u4EF6",uploadError:"\u4E0A\u4F20\u9519\u8BEF",previewFile:"\u9884\u89C8\u6587\u4EF6",downloadFile:"\u4E0B\u8F7D\u6587\u4EF6"},Empty:{description:"\u6682\u65E0\u6570\u636E"},Icon:{icon:"\u56FE\u6807"},Text:{edit:"\u7F16\u8F91",copy:"\u590D\u5236",copied:"\u590D\u5236\u6210\u529F",expand:"\u5C55\u5F00"},PageHeader:{back:"\u8FD4\u56DE"},Form:{optional:"\uFF08\u53EF\u9009\uFF09",defaultValidateMessages:{default:"\u5B57\u6BB5\u9A8C\u8BC1\u9519\u8BEF${label}",required:"\u8BF7\u8F93\u5165${label}",enum:"${label}\u5FC5\u987B\u662F\u5176\u4E2D\u4E00\u4E2A[${enum}]",whitespace:"${label}\u4E0D\u80FD\u4E3A\u7A7A\u5B57\u7B26",date:{format:"${label}\u65E5\u671F\u683C\u5F0F\u65E0\u6548",parse:"${label}\u4E0D\u80FD\u8F6C\u6362\u4E3A\u65E5\u671F",invalid:"${label}\u662F\u4E00\u4E2A\u65E0\u6548\u65E5\u671F"},types:{string:m,method:m,array:m,object:m,number:m,date:m,boolean:m,integer:m,float:m,regexp:m,email:m,url:m,hex:m},string:{len:"${label}\u987B\u4E3A${len}\u4E2A\u5B57\u7B26",min:"${label}\u6700\u5C11${min}\u4E2A\u5B57\u7B26",max:"${label}\u6700\u591A${max}\u4E2A\u5B57\u7B26",range:"${label}\u987B\u5728${min}-${max}\u5B57\u7B26\u4E4B\u95F4"},number:{len:"${label}\u5FC5\u987B\u7B49\u4E8E${len}",min:"${label}\u6700\u5C0F\u503C\u4E3A${min}",max:"${label}\u6700\u5927\u503C\u4E3A${max}",range:"${label}\u987B\u5728${min}-${max}\u4E4B\u95F4"},array:{len:"\u987B\u4E3A${len}\u4E2A${label}",min:"\u6700\u5C11${min}\u4E2A${label}",max:"\u6700\u591A${max}\u4E2A${label}",range:"${label}\u6570\u91CF\u987B\u5728${min}-${max}\u4E4B\u95F4"},pattern:{mismatch:"${label}\u4E0E\u6A21\u5F0F\u4E0D\u5339\u914D${pattern}"}}},Image:{preview:"\u9884\u89C8"},QRCode:{expired:"\u4E8C\u7EF4\u7801\u8FC7\u671F",refresh:"\u70B9\u51FB\u5237\u65B0"},ColorPicker:{presetEmpty:"\u6682\u65E0"}}},81285:function(b,y,e){"use strict";e.d(y,{J:function(){return d}});var a=e(58757),t=e(43528),o=e(71219),s=function(l,c){var m={};for(var g in l)Object.prototype.hasOwnProperty.call(l,g)&&c.indexOf(g)<0&&(m[g]=l[g]);if(l!=null&&typeof Object.getOwnPropertySymbols=="function")for(var M=0,g=Object.getOwnPropertySymbols(l);M{const{children:m}=l,g=s(l,["children"]),M=a.useContext(n),h=a.useMemo(()=>Object.assign(Object.assign({},M),g),[M,g.prefixCls,g.mode,g.selectable]);return a.createElement(n.Provider,{value:h},a.createElement(t.BR,null,(0,o.t4)(m)?a.cloneElement(m,{ref:c}):m))});y.Z=n},85706:function(b,y,e){"use strict";e.d(y,{Z:function(){return ot}});var a=e(87854),t=e(58757),o=e(67423),s=e(87608),n=e.n(s),d=e(61836),l=function(Ke,he){var J={};for(var V in Ke)Object.prototype.hasOwnProperty.call(Ke,V)&&he.indexOf(V)<0&&(J[V]=Ke[V]);if(Ke!=null&&typeof Object.getOwnPropertySymbols=="function")for(var R=0,V=Object.getOwnPropertySymbols(Ke);R{const{prefixCls:he,className:J,dashed:V}=Ke,R=l(Ke,["prefixCls","className","dashed"]),{getPrefixCls:P}=t.useContext(d.E_),B=P("menu",he),ge=n()({[`${B}-item-divider-dashed`]:!!V},J);return t.createElement(a.iz,Object.assign({className:ge},R))},g=e(42156),M=e(98186),h=e(74820),S=e(37047),x=(0,t.createContext)({prefixCls:"",firstLevel:!0,inlineCollapsed:!1}),U=Ke=>{var he;const{className:J,children:V,icon:R,title:P,danger:B}=Ke,{prefixCls:ge,firstLevel:ie,direction:pe,disableMenuItemTitleTooltip:Oe,inlineCollapsed:xe}=t.useContext(x),Se=Ee=>{const le=t.createElement("span",{className:`${ge}-title-content`},V);return(!R||(0,S.l$)(V)&&V.type==="span")&&V&&Ee&&ie&&typeof V=="string"?t.createElement("div",{className:`${ge}-inline-collapsed-noicon`},V.charAt(0)):le},{siderCollapsed:$e}=t.useContext(o.D);let re=P;typeof P=="undefined"?re=ie?V:"":P===!1&&(re="");const oe={title:re};!$e&&!xe&&(oe.title=null,oe.open=!1);const q=(0,g.Z)(V).length;let ue=t.createElement(a.ck,Object.assign({},(0,M.Z)(Ke,["title","icon","danger"]),{className:n()({[`${ge}-item-danger`]:B,[`${ge}-item-only-child`]:(R?q+1:q)===1},J),title:typeof P=="string"?P:void 0}),(0,S.Tm)(R,{className:n()((0,S.l$)(R)?(he=R.props)===null||he===void 0?void 0:he.className:"",`${ge}-item-icon`)}),Se(xe));return Oe||(ue=t.createElement(h.Z,Object.assign({},oe,{placement:pe==="rtl"?"left":"right",overlayClassName:`${ge}-inline-collapsed-tooltip`}),ue)),ue},N=Ke=>{var he;const{popupClassName:J,icon:V,title:R,theme:P}=Ke,B=t.useContext(x),{prefixCls:ge,inlineCollapsed:ie,theme:pe}=B,Oe=(0,a.Xl)();let xe;if(!V)xe=ie&&!Oe.length&&R&&typeof R=="string"?t.createElement("div",{className:`${ge}-inline-collapsed-noicon`},R.charAt(0)):t.createElement("span",{className:`${ge}-title-content`},R);else{const $e=(0,S.l$)(R)&&R.type==="span";xe=t.createElement(t.Fragment,null,(0,S.Tm)(V,{className:n()((0,S.l$)(V)?(he=V.props)===null||he===void 0?void 0:he.className:"",`${ge}-item-icon`)}),$e?R:t.createElement("span",{className:`${ge}-title-content`},R))}const Se=t.useMemo(()=>Object.assign(Object.assign({},B),{firstLevel:!1}),[B]);return t.createElement(x.Provider,{value:Se},t.createElement(a.Wd,Object.assign({},(0,M.Z)(Ke,["icon"]),{title:xe,popupClassName:n()(ge,J,`${ge}-${P||pe}`)})))},Z=e(18974),D=e(51729),L=e(90881),j=e(81285),G=function(Ke,he){var J={};for(var V in Ke)Object.prototype.hasOwnProperty.call(Ke,V)&&he.indexOf(V)<0&&(J[V]=Ke[V]);if(Ke!=null&&typeof Object.getOwnPropertySymbols=="function")for(var R=0,V=Object.getOwnPropertySymbols(Ke);R{if(he&&typeof he=="object"){const V=he,{label:R,children:P,key:B,type:ge}=V,ie=G(V,["label","children","key","type"]),pe=B!=null?B:`tmp-${J}`;return P||ge==="group"?ge==="group"?t.createElement(a.BW,Object.assign({key:pe},ie,{title:R}),W(P)):t.createElement(N,Object.assign({key:pe},ie,{title:R}),W(P)):ge==="divider"?t.createElement(m,Object.assign({key:pe},ie)):t.createElement(U,Object.assign({key:pe},ie),R)}return null}).filter(he=>he)}function ne(Ke){return t.useMemo(()=>Ke&&W(Ke),[Ke])}var _=e(66671),ee=e(78330),se=e(41086),Q=e(1016),C=e(28107),X=e(52628),O=e(22151),k=Ke=>{const{componentCls:he,motionDurationSlow:J,horizontalLineHeight:V,colorSplit:R,lineWidth:P,lineType:B,itemPaddingInline:ge}=Ke;return{[`${he}-horizontal`]:{lineHeight:V,border:0,borderBottom:`${P}px ${B} ${R}`,boxShadow:"none","&::after":{display:"block",clear:"both",height:0,content:'"\\20"'},[`${he}-item, ${he}-submenu`]:{position:"relative",display:"inline-block",verticalAlign:"bottom",paddingInline:ge},[`> ${he}-item:hover, + > ${he}-item-active, + > ${he}-submenu ${he}-submenu-title:hover`]:{backgroundColor:"transparent"},[`${he}-item, ${he}-submenu-title`]:{transition:[`border-color ${J}`,`background ${J}`].join(",")},[`${he}-submenu-arrow`]:{display:"none"}}}},Y=Ke=>{let{componentCls:he,menuArrowOffset:J}=Ke;return{[`${he}-rtl`]:{direction:"rtl"},[`${he}-submenu-rtl`]:{transformOrigin:"100% 0"},[`${he}-rtl${he}-vertical, + ${he}-submenu-rtl ${he}-vertical`]:{[`${he}-submenu-arrow`]:{"&::before":{transform:`rotate(-45deg) translateY(-${J})`},"&::after":{transform:`rotate(45deg) translateY(${J})`}}}}};const de=Ke=>Object.assign({},(0,ee.oN)(Ke));var ve=(Ke,he)=>{const{componentCls:J,itemColor:V,itemSelectedColor:R,groupTitleColor:P,itemBg:B,subMenuItemBg:ge,itemSelectedBg:ie,activeBarHeight:pe,activeBarWidth:Oe,activeBarBorderWidth:xe,motionDurationSlow:Se,motionEaseInOut:$e,motionEaseOut:re,itemPaddingInline:oe,motionDurationMid:q,itemHoverColor:ue,lineType:Ee,colorSplit:le,itemDisabledColor:Ne,dangerItemColor:Ae,dangerItemHoverColor:we,dangerItemSelectedColor:Re,dangerItemActiveBg:st,dangerItemSelectedBg:nt,itemHoverBg:_e,itemActiveBg:We,menuSubMenuBg:Be,horizontalItemSelectedColor:it,horizontalItemSelectedBg:Ge,horizontalItemBorderRadius:Ot,horizontalItemHoverBg:$t,popupBg:wt}=Ke;return{[`${J}-${he}, ${J}-${he} > ${J}`]:{color:V,background:B,[`&${J}-root:focus-visible`]:Object.assign({},de(Ke)),[`${J}-item-group-title`]:{color:P},[`${J}-submenu-selected`]:{[`> ${J}-submenu-title`]:{color:R}},[`${J}-item-disabled, ${J}-submenu-disabled`]:{color:`${Ne} !important`},[`${J}-item:not(${J}-item-selected):not(${J}-submenu-selected)`]:{[`&:hover, > ${J}-submenu-title:hover`]:{color:ue}},[`&:not(${J}-horizontal)`]:{[`${J}-item:not(${J}-item-selected)`]:{"&:hover":{backgroundColor:_e},"&:active":{backgroundColor:We}},[`${J}-submenu-title`]:{"&:hover":{backgroundColor:_e},"&:active":{backgroundColor:We}}},[`${J}-item-danger`]:{color:Ae,[`&${J}-item:hover`]:{[`&:not(${J}-item-selected):not(${J}-submenu-selected)`]:{color:we}},[`&${J}-item:active`]:{background:st}},[`${J}-item a`]:{"&, &:hover":{color:"inherit"}},[`${J}-item-selected`]:{color:R,[`&${J}-item-danger`]:{color:Re},["a, a:hover"]:{color:"inherit"}},[`& ${J}-item-selected`]:{backgroundColor:ie,[`&${J}-item-danger`]:{backgroundColor:nt}},[`${J}-item, ${J}-submenu-title`]:{[`&:not(${J}-item-disabled):focus-visible`]:Object.assign({},de(Ke))},[`&${J}-submenu > ${J}`]:{backgroundColor:Be},[`&${J}-popup > ${J}`]:{backgroundColor:wt},[`&${J}-horizontal`]:Object.assign(Object.assign({},he==="dark"?{borderBottom:0}:{}),{[`> ${J}-item, > ${J}-submenu`]:{top:xe,marginTop:-xe,marginBottom:0,borderRadius:Ot,"&::after":{position:"absolute",insetInline:oe,bottom:0,borderBottom:`${pe}px solid transparent`,transition:`border-color ${Se} ${$e}`,content:'""'},["&:hover, &-active, &-open"]:{background:$t,"&::after":{borderBottomWidth:pe,borderBottomColor:it}},["&-selected"]:{color:it,backgroundColor:Ge,"&:hover":{backgroundColor:Ge},"&::after":{borderBottomWidth:pe,borderBottomColor:it}}}}),[`&${J}-root`]:{[`&${J}-inline, &${J}-vertical`]:{borderInlineEnd:`${xe}px ${Ee} ${le}`}},[`&${J}-inline`]:{[`${J}-sub${J}-inline`]:{background:ge},[`${J}-item, ${J}-submenu-title`]:xe&&Oe?{width:`calc(100% + ${xe}px)`}:{},[`${J}-item`]:{position:"relative","&::after":{position:"absolute",insetBlock:0,insetInlineEnd:0,borderInlineEnd:`${Oe}px solid ${R}`,transform:"scaleY(0.0001)",opacity:0,transition:[`transform ${q} ${re}`,`opacity ${q} ${re}`].join(","),content:'""'},[`&${J}-item-danger`]:{"&::after":{borderInlineEndColor:Re}}},[`${J}-selected, ${J}-item-selected`]:{"&::after":{transform:"scaleY(1)",opacity:1,transition:[`transform ${q} ${$e}`,`opacity ${q} ${$e}`].join(",")}}}}}};const be=Ke=>{const{componentCls:he,itemHeight:J,itemMarginInline:V,padding:R,menuArrowSize:P,marginXS:B,itemMarginBlock:ge}=Ke,ie=R+P+B;return{[`${he}-item`]:{position:"relative",overflow:"hidden"},[`${he}-item, ${he}-submenu-title`]:{height:J,lineHeight:`${J}px`,paddingInline:R,overflow:"hidden",textOverflow:"ellipsis",marginInline:V,marginBlock:ge,width:`calc(100% - ${V*2}px)`},[`> ${he}-item, + > ${he}-submenu > ${he}-submenu-title`]:{height:J,lineHeight:`${J}px`},[`${he}-item-group-list ${he}-submenu-title, + ${he}-submenu-title`]:{paddingInlineEnd:ie}}};var Je=Ke=>{const{componentCls:he,iconCls:J,itemHeight:V,colorTextLightSolid:R,dropdownWidth:P,controlHeightLG:B,motionDurationMid:ge,motionEaseOut:ie,paddingXL:pe,itemMarginInline:Oe,fontSizeLG:xe,motionDurationSlow:Se,paddingXS:$e,boxShadowSecondary:re,collapsedWidth:oe,collapsedIconSize:q}=Ke,ue={height:V,lineHeight:`${V}px`,listStylePosition:"inside",listStyleType:"disc"};return[{[he]:{["&-inline, &-vertical"]:Object.assign({[`&${he}-root`]:{boxShadow:"none"}},be(Ke))},[`${he}-submenu-popup`]:{[`${he}-vertical`]:Object.assign(Object.assign({},be(Ke)),{boxShadow:re})}},{[`${he}-submenu-popup ${he}-vertical${he}-sub`]:{minWidth:P,maxHeight:`calc(100vh - ${B*2.5}px)`,padding:"0",overflow:"hidden",borderInlineEnd:0,"&:not([class*='-active'])":{overflowX:"hidden",overflowY:"auto"}}},{[`${he}-inline`]:{width:"100%",[`&${he}-root`]:{[`${he}-item, ${he}-submenu-title`]:{display:"flex",alignItems:"center",transition:[`border-color ${Se}`,`background ${Se}`,`padding ${ge} ${ie}`].join(","),[`> ${he}-title-content`]:{flex:"auto",minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},"> *":{flex:"none"}}},[`${he}-sub${he}-inline`]:{padding:0,border:0,borderRadius:0,boxShadow:"none",[`& > ${he}-submenu > ${he}-submenu-title`]:ue,[`& ${he}-item-group-title`]:{paddingInlineStart:pe}},[`${he}-item`]:ue}},{[`${he}-inline-collapsed`]:{width:oe,[`&${he}-root`]:{[`${he}-item, ${he}-submenu ${he}-submenu-title`]:{[`> ${he}-inline-collapsed-noicon`]:{fontSize:xe,textAlign:"center"}}},[`> ${he}-item, + > ${he}-item-group > ${he}-item-group-list > ${he}-item, + > ${he}-item-group > ${he}-item-group-list > ${he}-submenu > ${he}-submenu-title, + > ${he}-submenu > ${he}-submenu-title`]:{insetInlineStart:0,paddingInline:`calc(50% - ${xe/2}px - ${Oe}px)`,textOverflow:"clip",[` + ${he}-submenu-arrow, + ${he}-submenu-expand-icon + `]:{opacity:0},[`${he}-item-icon, ${J}`]:{margin:0,fontSize:q,lineHeight:`${V}px`,"+ span":{display:"inline-block",opacity:0}}},[`${he}-item-icon, ${J}`]:{display:"inline-block"},"&-tooltip":{pointerEvents:"none",[`${he}-item-icon, ${J}`]:{display:"none"},"a, a:hover":{color:R}},[`${he}-item-group-title`]:Object.assign(Object.assign({},ee.vS),{paddingInline:$e})}}]};const qe=Ke=>{const{componentCls:he,motionDurationSlow:J,motionDurationMid:V,motionEaseInOut:R,motionEaseOut:P,iconCls:B,iconSize:ge,iconMarginInlineEnd:ie}=Ke;return{[`${he}-item, ${he}-submenu-title`]:{position:"relative",display:"block",margin:0,whiteSpace:"nowrap",cursor:"pointer",transition:[`border-color ${J}`,`background ${J}`,`padding ${J} ${R}`].join(","),[`${he}-item-icon, ${B}`]:{minWidth:ge,fontSize:ge,transition:[`font-size ${V} ${P}`,`margin ${J} ${R}`,`color ${J}`].join(","),"+ span":{marginInlineStart:ie,opacity:1,transition:[`opacity ${J} ${R}`,`margin ${J}`,`color ${J}`].join(",")}},[`${he}-item-icon`]:Object.assign({},(0,ee.Ro)()),[`&${he}-item-only-child`]:{[`> ${B}, > ${he}-item-icon`]:{marginInlineEnd:0}}},[`${he}-item-disabled, ${he}-submenu-disabled`]:{background:"none !important",cursor:"not-allowed","&::after":{borderColor:"transparent !important"},a:{color:"inherit !important"},[`> ${he}-submenu-title`]:{color:"inherit !important",cursor:"not-allowed"}}}},Xe=Ke=>{const{componentCls:he,motionDurationSlow:J,motionEaseInOut:V,borderRadius:R,menuArrowSize:P,menuArrowOffset:B}=Ke;return{[`${he}-submenu`]:{["&-expand-icon, &-arrow"]:{position:"absolute",top:"50%",insetInlineEnd:Ke.margin,width:P,color:"currentcolor",transform:"translateY(-50%)",transition:`transform ${J} ${V}, opacity ${J}`},"&-arrow":{"&::before, &::after":{position:"absolute",width:P*.6,height:P*.15,backgroundColor:"currentcolor",borderRadius:R,transition:[`background ${J} ${V}`,`transform ${J} ${V}`,`top ${J} ${V}`,`color ${J} ${V}`].join(","),content:'""'},"&::before":{transform:`rotate(45deg) translateY(-${B})`},"&::after":{transform:`rotate(-45deg) translateY(${B})`}}}}},mt=Ke=>{const{antCls:he,componentCls:J,fontSize:V,motionDurationSlow:R,motionDurationMid:P,motionEaseInOut:B,paddingXS:ge,padding:ie,colorSplit:pe,lineWidth:Oe,zIndexPopup:xe,borderRadiusLG:Se,subMenuItemBorderRadius:$e,menuArrowSize:re,menuArrowOffset:oe,lineType:q,menuPanelMaskInset:ue,groupTitleLineHeight:Ee,groupTitleFontSize:le}=Ke;return[{"":{[`${J}`]:Object.assign(Object.assign({},(0,ee.dF)()),{["&-hidden"]:{display:"none"}})},[`${J}-submenu-hidden`]:{display:"none"}},{[J]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},(0,ee.Wf)(Ke)),(0,ee.dF)()),{marginBottom:0,paddingInlineStart:0,fontSize:V,lineHeight:0,listStyle:"none",outline:"none",transition:`width ${R} cubic-bezier(0.2, 0, 0, 1) 0s`,["ul, ol"]:{margin:0,padding:0,listStyle:"none"},["&-overflow"]:{display:"flex",[`${J}-item`]:{flex:"none"}},[`${J}-item, ${J}-submenu, ${J}-submenu-title`]:{borderRadius:Ke.itemBorderRadius},[`${J}-item-group-title`]:{padding:`${ge}px ${ie}px`,fontSize:le,lineHeight:Ee,transition:`all ${R}`},[`&-horizontal ${J}-submenu`]:{transition:[`border-color ${R} ${B}`,`background ${R} ${B}`].join(",")},[`${J}-submenu, ${J}-submenu-inline`]:{transition:[`border-color ${R} ${B}`,`background ${R} ${B}`,`padding ${P} ${B}`].join(",")},[`${J}-submenu ${J}-sub`]:{cursor:"initial",transition:[`background ${R} ${B}`,`padding ${R} ${B}`].join(",")},[`${J}-title-content`]:{transition:`color ${R}`},[`${J}-item a`]:{"&::before":{position:"absolute",inset:0,backgroundColor:"transparent",content:'""'}},[`${J}-item-divider`]:{overflow:"hidden",lineHeight:0,borderColor:pe,borderStyle:q,borderWidth:0,borderTopWidth:Oe,marginBlock:Oe,padding:0,"&-dashed":{borderStyle:"dashed"}}}),qe(Ke)),{[`${J}-item-group`]:{[`${J}-item-group-list`]:{margin:0,padding:0,[`${J}-item, ${J}-submenu-title`]:{paddingInline:`${V*2}px ${ie}px`}}},"&-submenu":{"&-popup":{position:"absolute",zIndex:xe,borderRadius:Se,boxShadow:"none",transformOrigin:"0 0",[`&${J}-submenu`]:{background:"transparent"},"&::before":{position:"absolute",inset:`${ue}px 0 0`,zIndex:-1,width:"100%",height:"100%",opacity:0,content:'""'}},"&-placement-rightTop::before":{top:0,insetInlineStart:ue},[` + &-placement-leftTop, + &-placement-bottomRight, + `]:{transformOrigin:"100% 0"},[` + &-placement-leftBottom, + &-placement-topRight, + `]:{transformOrigin:"100% 100%"},[` + &-placement-rightBottom, + &-placement-topLeft, + `]:{transformOrigin:"0 100%"},[` + &-placement-bottomLeft, + &-placement-rightTop, + `]:{transformOrigin:"0 0"},[` + &-placement-leftTop, + &-placement-leftBottom + `]:{paddingInlineEnd:Ke.paddingXS},[` + &-placement-rightTop, + &-placement-rightBottom + `]:{paddingInlineStart:Ke.paddingXS},[` + &-placement-topRight, + &-placement-topLeft + `]:{paddingBottom:Ke.paddingXS},[` + &-placement-bottomRight, + &-placement-bottomLeft + `]:{paddingTop:Ke.paddingXS},[`> ${J}`]:Object.assign(Object.assign(Object.assign({borderRadius:Se},qe(Ke)),Xe(Ke)),{[`${J}-item, ${J}-submenu > ${J}-submenu-title`]:{borderRadius:$e},[`${J}-submenu-title::after`]:{transition:`transform ${R} ${B}`}})}}),Xe(Ke)),{[`&-inline-collapsed ${J}-submenu-arrow, + &-inline ${J}-submenu-arrow`]:{"&::before":{transform:`rotate(-45deg) translateX(${oe})`},"&::after":{transform:`rotate(45deg) translateX(-${oe})`}},[`${J}-submenu-open${J}-submenu-inline > ${J}-submenu-title > ${J}-submenu-arrow`]:{transform:`translateY(-${re*.2}px)`,"&::after":{transform:`rotate(-45deg) translateX(-${oe})`},"&::before":{transform:`rotate(45deg) translateX(${oe})`}}})},{[`${he}-layout-header`]:{[J]:{lineHeight:"inherit"}}}]};var Ct=(Ke,he)=>(0,X.Z)("Menu",V=>{if(he===!1)return[];const{colorBgElevated:R,colorPrimary:P,colorTextLightSolid:B,controlHeightLG:ge,fontSize:ie,darkItemColor:pe,darkDangerItemColor:Oe,darkItemBg:xe,darkSubMenuItemBg:Se,darkItemSelectedColor:$e,darkItemSelectedBg:re,darkDangerItemSelectedBg:oe,darkItemHoverBg:q,darkGroupTitleColor:ue,darkItemHoverColor:Ee,darkItemDisabledColor:le,darkDangerItemHoverColor:Ne,darkDangerItemSelectedColor:Ae,darkDangerItemActiveBg:we}=V,Re=ie/7*5,st=(0,O.TS)(V,{menuArrowSize:Re,menuHorizontalHeight:ge*1.15,menuArrowOffset:`${Re*.25}px`,menuPanelMaskInset:-7,menuSubMenuBg:R}),nt=(0,O.TS)(st,{itemColor:pe,itemHoverColor:Ee,groupTitleColor:ue,itemSelectedColor:$e,itemBg:xe,popupBg:xe,subMenuItemBg:Se,itemActiveBg:"transparent",itemSelectedBg:re,activeBarHeight:0,activeBarBorderWidth:0,itemHoverBg:q,itemDisabledColor:le,dangerItemColor:Oe,dangerItemHoverColor:Ne,dangerItemSelectedColor:Ae,dangerItemActiveBg:we,dangerItemSelectedBg:oe,menuSubMenuBg:Se,horizontalItemSelectedColor:B,horizontalItemSelectedBg:P});return[mt(st),k(st),Je(st),ve(st,"light"),ve(nt,"dark"),Y(st),(0,se.Z)(st),(0,Q.oN)(st,"slide-up"),(0,Q.oN)(st,"slide-down"),(0,C._y)(st,"zoom-big")]},V=>{const{colorPrimary:R,colorError:P,colorTextDisabled:B,colorErrorBg:ge,colorText:ie,colorTextDescription:pe,colorBgContainer:Oe,colorFillAlter:xe,colorFillContent:Se,lineWidth:$e,lineWidthBold:re,controlItemBgActive:oe,colorBgTextHover:q,controlHeightLG:ue,lineHeight:Ee,colorBgElevated:le,marginXXS:Ne,padding:Ae,fontSize:we,controlHeightSM:Re,fontSizeLG:st,colorTextLightSolid:nt,colorErrorHover:_e}=V,We=new _.C(nt).setAlpha(.65).toRgbString();return{dropdownWidth:160,zIndexPopup:V.zIndexPopupBase+50,radiusItem:V.borderRadiusLG,itemBorderRadius:V.borderRadiusLG,radiusSubMenuItem:V.borderRadiusSM,subMenuItemBorderRadius:V.borderRadiusSM,colorItemText:ie,itemColor:ie,colorItemTextHover:ie,itemHoverColor:ie,colorItemTextHoverHorizontal:R,horizontalItemHoverColor:R,colorGroupTitle:pe,groupTitleColor:pe,colorItemTextSelected:R,itemSelectedColor:R,colorItemTextSelectedHorizontal:R,horizontalItemSelectedColor:R,colorItemBg:Oe,itemBg:Oe,colorItemBgHover:q,itemHoverBg:q,colorItemBgActive:Se,itemActiveBg:oe,colorSubItemBg:xe,subMenuItemBg:xe,colorItemBgSelected:oe,itemSelectedBg:oe,colorItemBgSelectedHorizontal:"transparent",horizontalItemSelectedBg:"transparent",colorActiveBarWidth:0,activeBarWidth:0,colorActiveBarHeight:re,activeBarHeight:re,colorActiveBarBorderSize:$e,activeBarBorderWidth:$e,colorItemTextDisabled:B,itemDisabledColor:B,colorDangerItemText:P,dangerItemColor:P,colorDangerItemTextHover:P,dangerItemHoverColor:P,colorDangerItemTextSelected:P,dangerItemSelectedColor:P,colorDangerItemBgActive:ge,dangerItemActiveBg:ge,colorDangerItemBgSelected:ge,dangerItemSelectedBg:ge,itemMarginInline:V.marginXXS,horizontalItemBorderRadius:0,horizontalItemHoverBg:"transparent",itemHeight:ue,groupTitleLineHeight:Ee,collapsedWidth:ue*2,popupBg:le,itemMarginBlock:Ne,itemPaddingInline:Ae,horizontalLineHeight:`${ue*1.15}px`,iconSize:we,iconMarginInlineEnd:Re-we,collapsedIconSize:st,groupTitleFontSize:we,darkItemDisabledColor:new _.C(nt).setAlpha(.25).toRgbString(),darkItemColor:We,darkDangerItemColor:P,darkItemBg:"#001529",darkSubMenuItemBg:"#000c17",darkItemSelectedColor:nt,darkItemSelectedBg:R,darkDangerItemSelectedBg:P,darkItemHoverBg:"transparent",darkGroupTitleColor:We,darkItemHoverColor:nt,darkDangerItemHoverColor:_e,darkDangerItemSelectedColor:nt,darkDangerItemActiveBg:P}},{deprecatedTokens:[["colorGroupTitle","groupTitleColor"],["radiusItem","itemBorderRadius"],["radiusSubMenuItem","subMenuItemBorderRadius"],["colorItemText","itemColor"],["colorItemTextHover","itemHoverColor"],["colorItemTextHoverHorizontal","horizontalItemHoverColor"],["colorItemTextSelected","itemSelectedColor"],["colorItemTextSelectedHorizontal","horizontalItemSelectedColor"],["colorItemTextDisabled","itemDisabledColor"],["colorDangerItemText","dangerItemColor"],["colorDangerItemTextHover","dangerItemHoverColor"],["colorDangerItemTextSelected","dangerItemSelectedColor"],["colorDangerItemBgActive","dangerItemActiveBg"],["colorDangerItemBgSelected","dangerItemSelectedBg"],["colorItemBg","itemBg"],["colorItemBgHover","itemHoverBg"],["colorSubItemBg","subMenuItemBg"],["colorItemBgActive","itemActiveBg"],["colorItemBgSelectedHorizontal","horizontalItemSelectedBg"],["colorActiveBarWidth","activeBarWidth"],["colorActiveBarHeight","activeBarHeight"],["colorActiveBarBorderSize","activeBarBorderWidth"],["colorItemBgSelected","itemSelectedBg"]]})(Ke),vt=function(Ke,he){var J={};for(var V in Ke)Object.prototype.hasOwnProperty.call(Ke,V)&&he.indexOf(V)<0&&(J[V]=Ke[V]);if(Ke!=null&&typeof Object.getOwnPropertySymbols=="function")for(var R=0,V=Object.getOwnPropertySymbols(Ke);R{var J,V;const R=t.useContext(j.Z),P=R||{},{getPrefixCls:B,getPopupContainer:ge,direction:ie,menu:pe}=t.useContext(d.E_),Oe=B(),{prefixCls:xe,className:Se,style:$e,theme:re="light",expandIcon:oe,_internalDisableMenuItemTitleTooltip:q,inlineCollapsed:ue,siderCollapsed:Ee,items:le,children:Ne,rootClassName:Ae,mode:we,selectable:Re,onClick:st,overflowedIndicatorPopupClassName:nt}=Ke,_e=vt(Ke,["prefixCls","className","style","theme","expandIcon","_internalDisableMenuItemTitleTooltip","inlineCollapsed","siderCollapsed","items","children","rootClassName","mode","selectable","onClick","overflowedIndicatorPopupClassName"]),We=(0,M.Z)(_e,["collapsedWidth"]),Be=ne(le)||Ne;(J=P.validator)===null||J===void 0||J.call(P,{mode:we});const it=(0,D.Z)(function(){var It;st==null||st.apply(void 0,arguments),(It=P.onClick)===null||It===void 0||It.call(P)}),Ge=P.mode||we,Ot=Re!=null?Re:P.selectable,$t=t.useMemo(()=>Ee!==void 0?Ee:ue,[ue,Ee]),wt={horizontal:{motionName:`${Oe}-slide-up`},inline:(0,L.Z)(Oe),other:{motionName:`${Oe}-zoom-big`}},Pt=B("menu",xe||P.prefixCls),[dt,je]=Ct(Pt,!R),tt=n()(`${Pt}-${re}`,pe==null?void 0:pe.className,Se);let lt;if(typeof oe=="function")lt=oe;else{const It=oe||P.expandIcon;lt=(0,S.Tm)(It,{className:n()(`${Pt}-submenu-expand-icon`,(0,S.l$)(It)?(V=It.props)===null||V===void 0?void 0:V.className:"")})}const bt=t.useMemo(()=>({prefixCls:Pt,inlineCollapsed:$t||!1,direction:ie,firstLevel:!0,theme:re,mode:Ge,disableMenuItemTitleTooltip:q}),[Pt,$t,ie,q,re]);return dt(t.createElement(j.Z.Provider,{value:null},t.createElement(x.Provider,{value:bt},t.createElement(a.ZP,Object.assign({getPopupContainer:ge,overflowedIndicator:t.createElement(Z.Z,null),overflowedIndicatorPopupClassName:n()(Pt,`${Pt}-${re}`,nt),mode:Ge,selectable:Ot,onClick:it},We,{inlineCollapsed:$t,style:Object.assign(Object.assign({},pe==null?void 0:pe.style),$e),className:tt,prefixCls:Pt,direction:ie,defaultMotions:wt,expandIcon:lt,ref:he,rootClassName:n()(Ae,je)}),Be))))});const Ve=(0,t.forwardRef)((Ke,he)=>{const J=(0,t.useRef)(null),V=t.useContext(o.D);return(0,t.useImperativeHandle)(he,()=>({menu:J.current,focus:R=>{var P;(P=J.current)===null||P===void 0||P.focus(R)}})),t.createElement(ke,Object.assign({ref:J},Ke,V))});Ve.Item=U,Ve.SubMenu=N,Ve.Divider=m,Ve.ItemGroup=a.BW;var ot=Ve},80209:function(b,y,e){"use strict";e.d(y,{CW:function(){return w}});var a=e(85678),t=e(79999),o=e(69831),s=e(33064),n=e(25755),d=e(87608),l=e.n(d),c=e(75248),m=e(58757),g=e(61836),M=e(13952),h=function(z,U){var T={};for(var N in z)Object.prototype.hasOwnProperty.call(z,N)&&U.indexOf(N)<0&&(T[N]=z[N]);if(z!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Z=0,N=Object.getOwnPropertySymbols(z);Z{let{prefixCls:U,type:T,icon:N,children:Z}=z;return m.createElement("div",{className:l()(`${U}-custom-content`,`${U}-${T}`)},N||S[T],m.createElement("span",null,Z))},x=z=>{const{prefixCls:U,className:T,type:N,icon:Z,content:D}=z,L=h(z,["prefixCls","className","type","icon","content"]),{getPrefixCls:j}=m.useContext(g.E_),G=U||j("message"),[,W]=(0,M.Z)(G);return m.createElement(c.q,Object.assign({},L,{prefixCls:G,className:l()(T,W,`${G}-notice-pure-panel`),eventKey:"pure",duration:null,content:m.createElement(w,{prefixCls:G,type:N,icon:Z},D)}))};y.ZP=x},84045:function(b,y,e){"use strict";var a=e(29140),t=e(58757),o=e(52323),s=e(42505),n=e(80209),d=e(45054),l=e(86538);let c=null,m=W=>W(),g=[],M={};function h(){const{prefixCls:W,getContainer:ne,duration:_,rtl:ee,maxCount:se,top:Q}=M,C=W!=null?W:(0,s.w6)().getPrefixCls("message"),X=(ne==null?void 0:ne())||document.body;return{prefixCls:C,getContainer:()=>X,duration:_,rtl:ee,maxCount:se,top:Q}}const S=t.forwardRef((W,ne)=>{const[_,ee]=t.useState(h),[se,Q]=(0,d.K)(_),C=(0,s.w6)(),X=C.getRootPrefixCls(),O=C.getIconPrefixCls(),H=C.getTheme(),k=()=>{ee(h)};return t.useEffect(k,[]),t.useImperativeHandle(ne,()=>{const A=Object.assign({},se);return Object.keys(A).forEach(Y=>{A[Y]=function(){return k(),se[Y].apply(se,arguments)}}),{instance:A,sync:k}}),t.createElement(s.ZP,{prefixCls:X,iconPrefixCls:O,theme:H},Q)});function w(){if(!c){const W=document.createDocumentFragment(),ne={fragment:W};c=ne,m(()=>{(0,o.s)(t.createElement(S,{ref:_=>{const{instance:ee,sync:se}=_||{};Promise.resolve().then(()=>{!ne.instance&&ee&&(ne.instance=ee,ne.sync=se,w())})}}),W)});return}c.instance&&(g.forEach(W=>{const{type:ne,skipped:_}=W;if(!_)switch(ne){case"open":{m(()=>{const ee=c.instance.open(Object.assign(Object.assign({},M),W.config));ee==null||ee.then(W.resolve),W.setCloseFn(ee)});break}case"destroy":m(()=>{c==null||c.instance.destroy(W.key)});break;default:m(()=>{var ee;const se=(ee=c.instance)[ne].apply(ee,(0,a.Z)(W.args));se==null||se.then(W.resolve),W.setCloseFn(se)})}}),g=[])}function x(W){M=Object.assign(Object.assign({},M),W),m(()=>{var ne;(ne=c==null?void 0:c.sync)===null||ne===void 0||ne.call(c)})}function z(W){const ne=(0,l.J)(_=>{let ee;const se={type:"open",config:W,resolve:_,setCloseFn:Q=>{ee=Q}};return g.push(se),()=>{ee?m(()=>{ee()}):se.skipped=!0}});return w(),ne}function U(W,ne){const _=(0,l.J)(ee=>{let se;const Q={type:W,args:ne,resolve:ee,setCloseFn:C=>{se=C}};return g.push(Q),()=>{se?m(()=>{se()}):Q.skipped=!0}});return w(),_}function T(W){g.push({type:"destroy",key:W}),w()}const N=["success","info","warning","error","loading"],D={open:z,destroy:T,config:x,useMessage:d.Z,_InternalPanelDoNotUseOrYouWillBeFired:n.ZP};N.forEach(W=>{D[W]=function(){for(var ne=arguments.length,_=new Array(ne),ee=0;ee{};let j=null,G=null;y.ZP=D},13952:function(b,y,e){"use strict";var a=e(57793),t=e(78330),o=e(52628),s=e(22151);const n=d=>{const{componentCls:l,iconCls:c,boxShadow:m,colorText:g,colorSuccess:M,colorError:h,colorWarning:S,colorInfo:w,fontSizeLG:x,motionEaseInOutCirc:z,motionDurationSlow:U,marginXS:T,paddingXS:N,borderRadiusLG:Z,zIndexPopup:D,contentPadding:L,contentBg:j}=d,G=`${l}-notice`,W=new a.E4("MessageMoveIn",{"0%":{padding:0,transform:"translateY(-100%)",opacity:0},"100%":{padding:N,transform:"translateY(0)",opacity:1}}),ne=new a.E4("MessageMoveOut",{"0%":{maxHeight:d.height,padding:N,opacity:1},"100%":{maxHeight:0,padding:0,opacity:0}}),_={padding:N,textAlign:"center",[`${l}-custom-content > ${c}`]:{verticalAlign:"text-bottom",marginInlineEnd:T,fontSize:x},[`${G}-content`]:{display:"inline-block",padding:L,background:j,borderRadius:Z,boxShadow:m,pointerEvents:"all"},[`${l}-success > ${c}`]:{color:M},[`${l}-error > ${c}`]:{color:h},[`${l}-warning > ${c}`]:{color:S},[`${l}-info > ${c}, + ${l}-loading > ${c}`]:{color:w}};return[{[l]:Object.assign(Object.assign({},(0,t.Wf)(d)),{color:g,position:"fixed",top:T,width:"100%",pointerEvents:"none",zIndex:D,[`${l}-move-up`]:{animationFillMode:"forwards"},[` + ${l}-move-up-appear, + ${l}-move-up-enter + `]:{animationName:W,animationDuration:U,animationPlayState:"paused",animationTimingFunction:z},[` + ${l}-move-up-appear${l}-move-up-appear-active, + ${l}-move-up-enter${l}-move-up-enter-active + `]:{animationPlayState:"running"},[`${l}-move-up-leave`]:{animationName:ne,animationDuration:U,animationPlayState:"paused",animationTimingFunction:z},[`${l}-move-up-leave${l}-move-up-leave-active`]:{animationPlayState:"running"},"&-rtl":{direction:"rtl",span:{direction:"rtl"}}})},{[l]:{[G]:Object.assign({},_)}},{[`${l}-notice-pure-panel`]:Object.assign(Object.assign({},_),{padding:0,textAlign:"start"})}]};y.Z=(0,o.Z)("Message",d=>{const l=(0,s.TS)(d,{height:150});return[n(l)]},d=>({zIndexPopup:d.zIndexPopupBase+10,contentBg:d.colorBgElevated,contentPadding:`${(d.controlHeightLG-d.fontSize*d.lineHeight)/2}px ${d.paddingSM}px`}),{clientOnly:!0})},45054:function(b,y,e){"use strict";e.d(y,{K:function(){return x},Z:function(){return z}});var a=e(52495),t=e(87608),o=e.n(t),s=e(75248),n=e(58757),d=e(61836),l=e(80209),c=e(13952),m=e(86538),g=function(U,T){var N={};for(var Z in U)Object.prototype.hasOwnProperty.call(U,Z)&&T.indexOf(Z)<0&&(N[Z]=U[Z]);if(U!=null&&typeof Object.getOwnPropertySymbols=="function")for(var D=0,Z=Object.getOwnPropertySymbols(U);D{const{top:N,prefixCls:Z,getContainer:D,maxCount:L,duration:j=h,rtl:G,transitionName:W,onAllRemoved:ne}=U,{getPrefixCls:_,getPopupContainer:ee,message:se}=n.useContext(d.E_),Q=Z||_("message"),[,C]=(0,c.Z)(Q),X=()=>({left:"50%",transform:"translateX(-50%)",top:N!=null?N:M}),O=()=>o()(C,{[`${Q}-rtl`]:G}),H=()=>(0,m.g)(Q,W),k=n.createElement("span",{className:`${Q}-close-x`},n.createElement(a.Z,{className:`${Q}-close-icon`})),[A,Y]=(0,s.l)({prefixCls:Q,style:X,className:O,motion:H,closable:!1,closeIcon:k,duration:j,getContainer:()=>(D==null?void 0:D())||(ee==null?void 0:ee())||document.body,maxCount:L,onAllRemoved:ne});return n.useImperativeHandle(T,()=>Object.assign(Object.assign({},A),{prefixCls:Q,hashId:C,message:se})),Y});let w=0;function x(U){const T=n.useRef(null);return[n.useMemo(()=>{const Z=W=>{var ne;(ne=T.current)===null||ne===void 0||ne.close(W)},D=W=>{if(!T.current){const ve=()=>{};return ve.then=()=>{},ve}const{open:ne,prefixCls:_,hashId:ee,message:se}=T.current,Q=`${_}-notice`,{content:C,icon:X,type:O,key:H,className:k,style:A,onClose:Y}=W,de=g(W,["content","icon","type","key","className","style","onClose"]);let me=H;return me==null&&(w+=1,me=`antd-message-${w}`),(0,m.J)(ve=>(ne(Object.assign(Object.assign({},de),{key:me,content:n.createElement(l.CW,{prefixCls:_,type:O,icon:X},C),placement:"top",className:o()(O&&`${Q}-${O}`,ee,k,se==null?void 0:se.className),style:Object.assign(Object.assign({},se==null?void 0:se.style),A),onClose:()=>{Y==null||Y(),ve()}})),()=>{Z(me)}))},j={open:D,destroy:W=>{var ne;W!==void 0?Z(W):(ne=T.current)===null||ne===void 0||ne.destroy()}};return["info","success","warning","error","loading"].forEach(W=>{const ne=(_,ee,se)=>{let Q;_&&typeof _=="object"&&"content"in _?Q=_:Q={content:_};let C,X;typeof ee=="function"?X=ee:(C=ee,X=se);const O=Object.assign(Object.assign({onClose:X,duration:C},Q),{type:W});return D(O)};j[W]=ne}),j},[]),n.createElement(S,Object.assign({key:"message-holder"},U,{ref:T}))]}function z(U){return x(U)}},86538:function(b,y,e){"use strict";e.d(y,{J:function(){return t},g:function(){return a}});function a(o,s){return{motionName:s!=null?s:`${o}-move-up`}}function t(o){let s;const n=new Promise(l=>{s=o(()=>{l(!0)})}),d=()=>{s==null||s()};return d.then=(l,c)=>n.then(l,c),d.promise=n,d}},76370:function(b,y,e){"use strict";e.d(y,{O:function(){return S}});var a=e(85678),t=e(79999),o=e(69831),s=e(33064),n=e(87608),d=e.n(n),l=e(58757),c=e(99086),m=e(90881),g=e(42505),M=e(29487),h=e(65401);function S(x){const{icon:z,onCancel:U,onOk:T,close:N,onConfirm:Z,isSilent:D,okText:L,okButtonProps:j,cancelText:G,cancelButtonProps:W,confirmPrefixCls:ne,rootPrefixCls:_,type:ee,okCancel:se,footer:Q,locale:C}=x;let X=z;if(!z&&z!==null)switch(ee){case"info":X=l.createElement(s.Z,null);break;case"success":X=l.createElement(a.Z,null);break;case"error":X=l.createElement(t.Z,null);break;default:X=l.createElement(o.Z,null)}const O=x.okType||"primary",H=se!=null?se:ee==="confirm",k=x.autoFocusButton===null?!1:x.autoFocusButton||"ok",[A]=(0,M.Z)("Modal"),Y=C||A,de=H&&l.createElement(c.Z,{isSilent:D,actionFn:U,close:function(){N==null||N.apply(void 0,arguments),Z==null||Z(!1)},autoFocus:k==="cancel",buttonProps:W,prefixCls:`${_}-btn`},G||(Y==null?void 0:Y.cancelText));return l.createElement("div",{className:`${ne}-body-wrapper`},l.createElement("div",{className:`${ne}-body`},X,x.title===void 0?null:l.createElement("span",{className:`${ne}-title`},x.title),l.createElement("div",{className:`${ne}-content`},x.content)),Q===void 0?l.createElement("div",{className:`${ne}-btns`},de,l.createElement(c.Z,{isSilent:D,type:O,actionFn:T,close:function(){N==null||N.apply(void 0,arguments),Z==null||Z(!0)},autoFocus:k==="ok",buttonProps:j,prefixCls:`${_}-btn`},L||(H?Y==null?void 0:Y.okText:Y==null?void 0:Y.justOkText))):Q)}const w=x=>{const{close:z,zIndex:U,afterClose:T,visible:N,open:Z,keyboard:D,centered:L,getContainer:j,maskStyle:G,direction:W,prefixCls:ne,wrapClassName:_,rootPrefixCls:ee,iconPrefixCls:se,theme:Q,bodyStyle:C,closable:X=!1,closeIcon:O,modalRender:H,focusTriggerAfterClose:k}=x,A=`${ne}-confirm`,Y=x.width||416,de=x.style||{},me=x.mask===void 0?!0:x.mask,ve=x.maskClosable===void 0?!1:x.maskClosable,be=d()(A,`${A}-${x.type}`,{[`${A}-rtl`]:W==="rtl"},x.className);return l.createElement(g.ZP,{prefixCls:ee,iconPrefixCls:se,direction:W,theme:Q},l.createElement(h.Z,{prefixCls:ne,className:be,wrapClassName:d()({[`${A}-centered`]:!!x.centered},_),onCancel:()=>z==null?void 0:z({triggerCancel:!0}),open:Z,title:"",footer:null,transitionName:(0,m.m)(ee,"zoom",x.transitionName),maskTransitionName:(0,m.m)(ee,"fade",x.maskTransitionName),mask:me,maskClosable:ve,maskStyle:G,style:de,bodyStyle:C,width:Y,zIndex:U,afterClose:T,keyboard:D,centered:L,getContainer:j,closable:X,closeIcon:O,modalRender:H,focusTriggerAfterClose:k},l.createElement(S,Object.assign({},x,{confirmPrefixCls:A}))))};y.Z=w},65401:function(b,y,e){"use strict";var a=e(52495),t=e(87608),o=e.n(t),s=e(67117),n=e(58757),d=e(88858),l=e(90881),c=e(32792),m=e(61836),g=e(81496),M=e(43528),h=e(78669),S=e(76073),w=function(T,N){var Z={};for(var D in T)Object.prototype.hasOwnProperty.call(T,D)&&N.indexOf(D)<0&&(Z[D]=T[D]);if(T!=null&&typeof Object.getOwnPropertySymbols=="function")for(var L=0,D=Object.getOwnPropertySymbols(T);L{x={x:T.pageX,y:T.pageY},setTimeout(()=>{x=null},100)};(0,c.jD)()&&document.documentElement.addEventListener("click",z,!0);const U=T=>{var N;const{getPopupContainer:Z,getPrefixCls:D,direction:L,modal:j}=n.useContext(m.E_),G=Ht=>{const{onCancel:ke}=T;ke==null||ke(Ht)},W=Ht=>{const{onOk:ke}=T;ke==null||ke(Ht)},{prefixCls:ne,className:_,rootClassName:ee,open:se,wrapClassName:Q,centered:C,getContainer:X,closeIcon:O,closable:H,focusTriggerAfterClose:k=!0,style:A,visible:Y,width:de=520,footer:me}=T,ve=w(T,["prefixCls","className","rootClassName","open","wrapClassName","centered","getContainer","closeIcon","closable","focusTriggerAfterClose","style","visible","width","footer"]),be=D("modal",ne),Pe=D(),[Je,qe]=(0,S.Z)(be),Xe=o()(Q,{[`${be}-centered`]:!!C,[`${be}-wrap-rtl`]:L==="rtl"}),mt=me===void 0?n.createElement(h.$,Object.assign({},T,{onOk:W,onCancel:G})):me,[Ct,vt]=(0,d.Z)(H,O,Ht=>(0,h.b)(be,Ht),n.createElement(a.Z,{className:`${be}-close-icon`}),!0);return Je(n.createElement(M.BR,null,n.createElement(g.Ux,{status:!0,override:!0},n.createElement(s.Z,Object.assign({width:de},ve,{getContainer:X===void 0?Z:X,prefixCls:be,rootClassName:o()(qe,ee),wrapClassName:Xe,footer:mt,visible:se!=null?se:Y,mousePosition:(N=ve.mousePosition)!==null&&N!==void 0?N:x,onClose:G,closable:Ct,closeIcon:vt,focusTriggerAfterClose:k,transitionName:(0,l.m)(Pe,"zoom",T.transitionName),maskTransitionName:(0,l.m)(Pe,"fade",T.maskTransitionName),className:o()(qe,_,j==null?void 0:j.className),style:Object.assign(Object.assign({},j==null?void 0:j.style),A)})))))};y.Z=U},49316:function(b,y,e){"use strict";e.d(y,{AQ:function(){return x},Au:function(){return z},ZP:function(){return M},ai:function(){return U},cw:function(){return S},uW:function(){return h},vq:function(){return w}});var a=e(29140),t=e(52323),o=e(58757),s=e(42505),n=e(76370),d=e(98702),l=e(67228),c=function(T,N){var Z={};for(var D in T)Object.prototype.hasOwnProperty.call(T,D)&&N.indexOf(D)<0&&(Z[D]=T[D]);if(T!=null&&typeof Object.getOwnPropertySymbols=="function")for(var L=0,D=Object.getOwnPropertySymbols(T);LQ&&Q.triggerCancel);T.onCancel&&se&&T.onCancel.apply(T,[()=>{}].concat((0,a.Z)(_.slice(1))));for(let Q=0;Q{const X=(0,l.A)(),{getPrefixCls:O,getIconPrefixCls:H,getTheme:k}=(0,s.w6)(),A=O(void 0,g()),Y=se||`${A}-modal`,de=H(),me=k();let ve=Q;ve===!1&&(ve=void 0),(0,t.s)(o.createElement(n.Z,Object.assign({},C,{getContainer:ve,prefixCls:Y,rootPrefixCls:A,iconPrefixCls:de,okText:_,locale:X,theme:me,cancelText:ee||X.cancelText})),N)})}function G(){for(var ne=arguments.length,_=new Array(ne),ee=0;ee{typeof T.afterClose=="function"&&T.afterClose(),L.apply(this,_)}}),Z.visible&&delete Z.visible,j(Z)}function W(ne){typeof ne=="function"?Z=ne(Z):Z=Object.assign(Object.assign({},Z),ne),j(Z)}return j(Z),d.Z.push(G),{destroy:G,update:W}}function h(T){return Object.assign(Object.assign({},T),{type:"warning"})}function S(T){return Object.assign(Object.assign({},T),{type:"info"})}function w(T){return Object.assign(Object.assign({},T),{type:"success"})}function x(T){return Object.assign(Object.assign({},T),{type:"error"})}function z(T){return Object.assign(Object.assign({},T),{type:"confirm"})}function U(T){let{rootPrefixCls:N}=T;m=N}},98702:function(b,y){"use strict";const e=[];y.Z=e},62109:function(b,y,e){"use strict";e.d(y,{Z:function(){return N}});var a=e(49316),t=e(98702),o=e(65401),s=e(87608),n=e.n(s),d=e(67117),l=e(58757),c=e(61836),m=e(76370),g=e(78669),M=e(76073),h=e(15018),S=function(Z,D){var L={};for(var j in Z)Object.prototype.hasOwnProperty.call(Z,j)&&D.indexOf(j)<0&&(L[j]=Z[j]);if(Z!=null&&typeof Object.getOwnPropertySymbols=="function")for(var G=0,j=Object.getOwnPropertySymbols(Z);G{const{prefixCls:D,className:L,closeIcon:j,closable:G,type:W,title:ne,children:_}=Z,ee=S(Z,["prefixCls","className","closeIcon","closable","type","title","children"]),{getPrefixCls:se}=l.useContext(c.E_),Q=se(),C=D||se("modal"),[,X]=(0,M.Z)(C),O=`${C}-confirm`;let H={};return W?H={closable:G!=null?G:!1,title:"",footer:"",children:l.createElement(m.O,Object.assign({},Z,{confirmPrefixCls:O,rootPrefixCls:Q,content:_}))}:H={closable:G!=null?G:!0,title:ne,footer:Z.footer===void 0?l.createElement(g.$,Object.assign({},Z)):Z.footer,children:_},l.createElement(d.s,Object.assign({prefixCls:C,className:n()(X,`${C}-pure-panel`,W&&O,W&&`${O}-${W}`,L)},ee,{closeIcon:(0,g.b)(C,j),closable:G},H))};var x=(0,h.i)(w),z=e(65172);function U(Z){return(0,a.ZP)((0,a.uW)(Z))}const T=o.Z;T.useModal=z.Z,T.info=function(D){return(0,a.ZP)((0,a.cw)(D))},T.success=function(D){return(0,a.ZP)((0,a.vq)(D))},T.error=function(D){return(0,a.ZP)((0,a.AQ)(D))},T.warning=U,T.warn=U,T.confirm=function(D){return(0,a.ZP)((0,a.Au)(D))},T.destroyAll=function(){for(;t.Z.length;){const D=t.Z.pop();D&&D()}},T.config=a.ai,T._InternalPanelDoNotUseOrYouWillBeFired=x;var N=T},67228:function(b,y,e){"use strict";e.d(y,{A:function(){return d},f:function(){return n}});var a=e(80076);let t=Object.assign({},a.Z.Modal),o=[];const s=()=>o.reduce((l,c)=>Object.assign(Object.assign({},l),c),a.Z.Modal);function n(l){if(l){const c=Object.assign({},l);return o.push(c),t=s(),()=>{o=o.filter(m=>m!==c),t=s()}}t=Object.assign({},a.Z.Modal)}function d(){return t}},78669:function(b,y,e){"use strict";e.d(y,{$:function(){return m},b:function(){return c}});var a=e(52495),t=e(58757),o=e(12562),s=e(70921),n=e(92428),d=e(29487),l=e(67228);function c(g,M){return t.createElement("span",{className:`${g}-close-x`},M||t.createElement(a.Z,{className:`${g}-close-icon`}))}const m=g=>{const{okText:M,okType:h="primary",cancelText:S,confirmLoading:w,onOk:x,onCancel:z,okButtonProps:U,cancelButtonProps:T}=g,[N]=(0,d.Z)("Modal",(0,l.A)());return t.createElement(n.n,{disabled:!1},t.createElement(o.ZP,Object.assign({onClick:z},T),S||(N==null?void 0:N.cancelText)),t.createElement(o.ZP,Object.assign({},(0,s.n)(h),{loading:w,onClick:x},U),M||(N==null?void 0:N.okText)))}},76073:function(b,y,e){"use strict";e.d(y,{Q:function(){return l}});var a=e(78330),t=e(7239),o=e(28107),s=e(52628),n=e(22151);function d(h){return{position:h,inset:0}}const l=h=>{const{componentCls:S,antCls:w}=h;return[{[`${S}-root`]:{[`${S}${w}-zoom-enter, ${S}${w}-zoom-appear`]:{transform:"none",opacity:0,animationDuration:h.motionDurationSlow,userSelect:"none"},[`${S}${w}-zoom-leave ${S}-content`]:{pointerEvents:"none"},[`${S}-mask`]:Object.assign(Object.assign({},d("fixed")),{zIndex:h.zIndexPopupBase,height:"100%",backgroundColor:h.colorBgMask,pointerEvents:"none",[`${S}-hidden`]:{display:"none"}}),[`${S}-wrap`]:Object.assign(Object.assign({},d("fixed")),{zIndex:h.zIndexPopupBase,overflow:"auto",outline:0,WebkitOverflowScrolling:"touch",[`&:has(${S}${w}-zoom-enter), &:has(${S}${w}-zoom-appear)`]:{pointerEvents:"none"}})}},{[`${S}-root`]:(0,t.J$)(h)}]},c=h=>{const{componentCls:S}=h;return[{[`${S}-root`]:{[`${S}-wrap-rtl`]:{direction:"rtl"},[`${S}-centered`]:{textAlign:"center","&::before":{display:"inline-block",width:0,height:"100%",verticalAlign:"middle",content:'""'},[S]:{top:0,display:"inline-block",paddingBottom:0,textAlign:"start",verticalAlign:"middle"}},[`@media (max-width: ${h.screenSMMax})`]:{[S]:{maxWidth:"calc(100vw - 16px)",margin:`${h.marginXS} auto`},[`${S}-centered`]:{[S]:{flex:1}}}}},{[S]:Object.assign(Object.assign({},(0,a.Wf)(h)),{pointerEvents:"none",position:"relative",top:100,width:"auto",maxWidth:`calc(100vw - ${h.margin*2}px)`,margin:"0 auto",paddingBottom:h.paddingLG,[`${S}-title`]:{margin:0,color:h.titleColor,fontWeight:h.fontWeightStrong,fontSize:h.titleFontSize,lineHeight:h.titleLineHeight,wordWrap:"break-word"},[`${S}-content`]:{position:"relative",backgroundColor:h.contentBg,backgroundClip:"padding-box",border:0,borderRadius:h.borderRadiusLG,boxShadow:h.boxShadow,pointerEvents:"auto",padding:`${h.paddingMD}px ${h.paddingContentHorizontalLG}px`},[`${S}-close`]:Object.assign({position:"absolute",top:(h.modalHeaderHeight-h.modalCloseBtnSize)/2,insetInlineEnd:(h.modalHeaderHeight-h.modalCloseBtnSize)/2,zIndex:h.zIndexPopupBase+10,padding:0,color:h.modalCloseIconColor,fontWeight:h.fontWeightStrong,lineHeight:1,textDecoration:"none",background:"transparent",borderRadius:h.borderRadiusSM,width:h.modalCloseBtnSize,height:h.modalCloseBtnSize,border:0,outline:0,cursor:"pointer",transition:`color ${h.motionDurationMid}, background-color ${h.motionDurationMid}`,"&-x":{display:"flex",fontSize:h.fontSizeLG,fontStyle:"normal",lineHeight:`${h.modalCloseBtnSize}px`,justifyContent:"center",textTransform:"none",textRendering:"auto"},"&:hover":{color:h.modalIconHoverColor,backgroundColor:h.wireframe?"transparent":h.colorFillContent,textDecoration:"none"},"&:active":{backgroundColor:h.wireframe?"transparent":h.colorFillContentHover}},(0,a.Qy)(h)),[`${S}-header`]:{color:h.colorText,background:h.headerBg,borderRadius:`${h.borderRadiusLG}px ${h.borderRadiusLG}px 0 0`,marginBottom:h.marginXS},[`${S}-body`]:{fontSize:h.fontSize,lineHeight:h.lineHeight,wordWrap:"break-word"},[`${S}-footer`]:{textAlign:"end",background:h.footerBg,marginTop:h.marginSM,[`${h.antCls}-btn + ${h.antCls}-btn:not(${h.antCls}-dropdown-trigger)`]:{marginBottom:0,marginInlineStart:h.marginXS}},[`${S}-open`]:{overflow:"hidden"}})},{[`${S}-pure-panel`]:{top:"auto",padding:0,display:"flex",flexDirection:"column",[`${S}-content, + ${S}-body, + ${S}-confirm-body-wrapper`]:{display:"flex",flexDirection:"column",flex:"auto"},[`${S}-confirm-body`]:{marginBottom:"auto"}}}]},m=h=>{const{componentCls:S}=h,w=`${S}-confirm`;return{[w]:{"&-rtl":{direction:"rtl"},[`${h.antCls}-modal-header`]:{display:"none"},[`${w}-body-wrapper`]:Object.assign({},(0,a.dF)()),[`${w}-body`]:{display:"flex",flexWrap:"wrap",alignItems:"center",[`${w}-title`]:{flex:"0 0 100%",display:"block",overflow:"hidden",color:h.colorTextHeading,fontWeight:h.fontWeightStrong,fontSize:h.titleFontSize,lineHeight:h.titleLineHeight,[`+ ${w}-content`]:{marginBlockStart:h.marginXS,flexBasis:"100%",maxWidth:`calc(100% - ${h.modalConfirmIconSize+h.marginSM}px)`}},[`${w}-content`]:{color:h.colorText,fontSize:h.fontSize},[`> ${h.iconCls}`]:{flex:"none",marginInlineEnd:h.marginSM,fontSize:h.modalConfirmIconSize,[`+ ${w}-title`]:{flex:1},[`+ ${w}-title + ${w}-content`]:{marginInlineStart:h.modalConfirmIconSize+h.marginSM}}},[`${w}-btns`]:{textAlign:"end",marginTop:h.marginSM,[`${h.antCls}-btn + ${h.antCls}-btn`]:{marginBottom:0,marginInlineStart:h.marginXS}}},[`${w}-error ${w}-body > ${h.iconCls}`]:{color:h.colorError},[`${w}-warning ${w}-body > ${h.iconCls}, + ${w}-confirm ${w}-body > ${h.iconCls}`]:{color:h.colorWarning},[`${w}-info ${w}-body > ${h.iconCls}`]:{color:h.colorInfo},[`${w}-success ${w}-body > ${h.iconCls}`]:{color:h.colorSuccess}}},g=h=>{const{componentCls:S}=h;return{[`${S}-root`]:{[`${S}-wrap-rtl`]:{direction:"rtl",[`${S}-confirm-body`]:{direction:"rtl"}}}}},M=h=>{const{componentCls:S,antCls:w}=h,x=`${S}-confirm`;return{[S]:{[`${S}-content`]:{padding:0},[`${S}-header`]:{padding:h.modalHeaderPadding,borderBottom:`${h.modalHeaderBorderWidth}px ${h.modalHeaderBorderStyle} ${h.modalHeaderBorderColorSplit}`,marginBottom:0},[`${S}-body`]:{padding:h.modalBodyPadding},[`${S}-footer`]:{padding:`${h.modalFooterPaddingVertical}px ${h.modalFooterPaddingHorizontal}px`,borderTop:`${h.modalFooterBorderWidth}px ${h.modalFooterBorderStyle} ${h.modalFooterBorderColorSplit}`,borderRadius:`0 0 ${h.borderRadiusLG}px ${h.borderRadiusLG}px`,marginTop:0}},[x]:{[`${w}-modal-body`]:{padding:`${h.padding*2}px ${h.padding*2}px ${h.paddingLG}px`},[`${x}-body`]:{[`> ${h.iconCls}`]:{marginInlineEnd:h.margin,[`+ ${x}-title + ${x}-content`]:{marginInlineStart:h.modalConfirmIconSize+h.margin}}},[`${x}-btns`]:{marginTop:h.marginLG}}}};y.Z=(0,s.Z)("Modal",h=>{const S=h.padding,w=h.fontSizeHeading5,x=h.lineHeightHeading5,z=(0,n.TS)(h,{modalBodyPadding:h.paddingLG,modalHeaderPadding:`${S}px ${h.paddingLG}px`,modalHeaderBorderWidth:h.lineWidth,modalHeaderBorderStyle:h.lineType,modalHeaderBorderColorSplit:h.colorSplit,modalHeaderHeight:x*w+S*2,modalFooterBorderColorSplit:h.colorSplit,modalFooterBorderStyle:h.lineType,modalFooterPaddingVertical:h.paddingXS,modalFooterPaddingHorizontal:h.padding,modalFooterBorderWidth:h.lineWidth,modalIconHoverColor:h.colorIconHover,modalCloseIconColor:h.colorIcon,modalCloseBtnSize:h.fontSize*h.lineHeight,modalConfirmIconSize:h.fontSize*h.lineHeight});return[c(z),m(z),g(z),l(z),h.wireframe&&M(z),(0,o._y)(z,"zoom")]},h=>({footerBg:"transparent",headerBg:h.colorBgElevated,titleLineHeight:h.lineHeightHeading5,titleFontSize:h.fontSizeHeading5,contentBg:h.colorBgElevated,titleColor:h.colorTextHeading}))},65172:function(b,y,e){"use strict";e.d(y,{Z:function(){return z}});var a=e(29140),t=e(58757);function o(){const[U,T]=t.useState([]),N=t.useCallback(Z=>(T(D=>[].concat((0,a.Z)(D),[Z])),()=>{T(D=>D.filter(L=>L!==Z))}),[]);return[U,N]}var s=e(49316),n=e(98702),d=e(61836),l=e(80076),c=e(29487),m=e(76370),g=function(U,T){var N={};for(var Z in U)Object.prototype.hasOwnProperty.call(U,Z)&&T.indexOf(Z)<0&&(N[Z]=U[Z]);if(U!=null&&typeof Object.getOwnPropertySymbols=="function")for(var D=0,Z=Object.getOwnPropertySymbols(U);D{var N,{afterClose:Z,config:D}=U,L=g(U,["afterClose","config"]);const[j,G]=t.useState(!0),[W,ne]=t.useState(D),{direction:_,getPrefixCls:ee}=t.useContext(d.E_),se=ee("modal"),Q=ee(),C=()=>{var k;Z(),(k=W.afterClose)===null||k===void 0||k.call(W)},X=function(){G(!1);for(var k=arguments.length,A=new Array(k),Y=0;Yme&&me.triggerCancel);W.onCancel&&de&&W.onCancel.apply(W,[()=>{}].concat((0,a.Z)(A.slice(1))))};t.useImperativeHandle(T,()=>({destroy:X,update:k=>{ne(A=>Object.assign(Object.assign({},A),k))}}));const O=(N=W.okCancel)!==null&&N!==void 0?N:W.type==="confirm",[H]=(0,c.Z)("Modal",l.Z.Modal);return t.createElement(m.Z,Object.assign({prefixCls:se,rootPrefixCls:Q},W,{close:X,open:j,afterClose:C,okText:W.okText||(O?H==null?void 0:H.okText:H==null?void 0:H.justOkText),direction:W.direction||_,cancelText:W.cancelText||(H==null?void 0:H.cancelText)},L))};var h=t.forwardRef(M);let S=0;const w=t.memo(t.forwardRef((U,T)=>{const[N,Z]=o();return t.useImperativeHandle(T,()=>({patchElement:Z}),[]),t.createElement(t.Fragment,null,N)}));function x(){const U=t.useRef(null),[T,N]=t.useState([]);t.useEffect(()=>{T.length&&((0,a.Z)(T).forEach(j=>{j()}),N([]))},[T]);const Z=t.useCallback(L=>function(G){var W;S+=1;const ne=t.createRef();let _;const ee=new Promise(O=>{_=O});let se=!1,Q;const C=t.createElement(h,{key:`modal-${S}`,config:L(G),ref:ne,afterClose:()=>{Q==null||Q()},isSilent:()=>se,onConfirm:O=>{_(O)}});return Q=(W=U.current)===null||W===void 0?void 0:W.patchElement(C),Q&&n.Z.push(Q),{destroy:()=>{function O(){var H;(H=ne.current)===null||H===void 0||H.destroy()}ne.current?O():N(H=>[].concat((0,a.Z)(H),[O]))},update:O=>{function H(){var k;(k=ne.current)===null||k===void 0||k.update(O)}ne.current?H():N(k=>[].concat((0,a.Z)(k),[H]))},then:O=>(se=!0,ee.then(O))}},[]);return[t.useMemo(()=>({info:Z(s.cw),success:Z(s.vq),error:Z(s.AQ),warning:Z(s.uW),confirm:Z(s.Au)}),[]),t.createElement(w,{key:"modal-holder",ref:U})]}var z=x},37864:function(b,y,e){"use strict";e.d(y,{CW:function(){return U},z5:function(){return x}});var a=e(85678),t=e(79999),o=e(52495),s=e(69831),n=e(33064),d=e(25755),l=e(87608),c=e.n(l),m=e(75248),g=e(58757),M=e(61836),h=e(26284),S=function(N,Z){var D={};for(var L in N)Object.prototype.hasOwnProperty.call(N,L)&&Z.indexOf(L)<0&&(D[L]=N[L]);if(N!=null&&typeof Object.getOwnPropertySymbols=="function")for(var j=0,L=Object.getOwnPropertySymbols(N);j{const{prefixCls:Z,icon:D,type:L,message:j,description:G,btn:W,role:ne="alert"}=N;let _=null;return D?_=g.createElement("span",{className:`${Z}-icon`},D):L&&(_=g.createElement(z[L]||null,{className:c()(`${Z}-icon`,`${Z}-icon-${L}`)})),g.createElement("div",{className:c()({[`${Z}-with-icon`]:_}),role:ne},_,g.createElement("div",{className:`${Z}-message`},j),g.createElement("div",{className:`${Z}-description`},G),W&&g.createElement("div",{className:`${Z}-btn`},W))},T=N=>{const{prefixCls:Z,className:D,icon:L,type:j,message:G,description:W,btn:ne,closable:_=!0,closeIcon:ee}=N,se=S(N,["prefixCls","className","icon","type","message","description","btn","closable","closeIcon"]),{getPrefixCls:Q}=g.useContext(M.E_),C=Z||Q("notification"),X=`${C}-notice`,[,O]=(0,h.Z)(C);return g.createElement(m.q,Object.assign({},se,{prefixCls:C,className:c()(D,O,`${X}-pure-panel`),eventKey:"pure",duration:null,closable:_,closeIcon:x(C,ee),content:g.createElement(U,{prefixCls:X,icon:L,type:j,message:G,description:W,btn:ne})}))};y.ZP=T},65388:function(b,y,e){"use strict";var a=e(58757),t=e(52323),o=e(42505),s=e(37864),n=e(75105);let d=null,l=D=>D(),c=[],m={};function g(){const{prefixCls:D,getContainer:L,rtl:j,maxCount:G,top:W,bottom:ne}=m,_=D!=null?D:(0,o.w6)().getPrefixCls("notification"),ee=(L==null?void 0:L())||document.body;return{prefixCls:_,getContainer:()=>ee,rtl:j,maxCount:G,top:W,bottom:ne}}const M=a.forwardRef((D,L)=>{const[j,G]=a.useState(g),[W,ne]=(0,n.k)(j),_=(0,o.w6)(),ee=_.getRootPrefixCls(),se=_.getIconPrefixCls(),Q=_.getTheme(),C=()=>{G(g)};return a.useEffect(C,[]),a.useImperativeHandle(L,()=>{const X=Object.assign({},W);return Object.keys(X).forEach(O=>{X[O]=function(){return C(),W[O].apply(W,arguments)}}),{instance:X,sync:C}}),a.createElement(o.ZP,{prefixCls:ee,iconPrefixCls:se,theme:Q},ne)});function h(){if(!d){const D=document.createDocumentFragment(),L={fragment:D};d=L,l(()=>{(0,t.s)(a.createElement(M,{ref:j=>{const{instance:G,sync:W}=j||{};Promise.resolve().then(()=>{!L.instance&&G&&(L.instance=G,L.sync=W,h())})}}),D)});return}d.instance&&(c.forEach(D=>{switch(D.type){case"open":{l(()=>{d.instance.open(Object.assign(Object.assign({},m),D.config))});break}case"destroy":l(()=>{d==null||d.instance.destroy(D.key)});break}}),c=[])}function S(D){m=Object.assign(Object.assign({},m),D),l(()=>{var L;(L=d==null?void 0:d.sync)===null||L===void 0||L.call(d)})}function w(D){c.push({type:"open",config:D}),h()}function x(D){c.push({type:"destroy",key:D}),h()}const z=["success","info","warning","error"],T={open:w,destroy:x,config:S,useNotification:n.Z,_InternalPanelDoNotUseOrYouWillBeFired:s.ZP};z.forEach(D=>{T[D]=L=>w(Object.assign(Object.assign({},L),{type:D}))});const N=()=>{};let Z=null;y.Z=T},26284:function(b,y,e){"use strict";e.d(y,{Z:function(){return c}});var a=e(57793),t=e(78330),o=e(52628),s=e(22151),d=m=>{const{componentCls:g,width:M,notificationMarginEdge:h}=m,S=new a.E4("antNotificationTopFadeIn",{"0%":{marginTop:"-100%",opacity:0},"100%":{marginTop:0,opacity:1}}),w=new a.E4("antNotificationBottomFadeIn",{"0%":{marginBottom:"-100%",opacity:0},"100%":{marginBottom:0,opacity:1}}),x=new a.E4("antNotificationLeftFadeIn",{"0%":{right:{_skip_check_:!0,value:M},opacity:0},"100%":{right:{_skip_check_:!0,value:0},opacity:1}});return{[`&${g}-top, &${g}-bottom`]:{marginInline:0},[`&${g}-top`]:{[`${g}-fade-enter${g}-fade-enter-active, ${g}-fade-appear${g}-fade-appear-active`]:{animationName:S}},[`&${g}-bottom`]:{[`${g}-fade-enter${g}-fade-enter-active, ${g}-fade-appear${g}-fade-appear-active`]:{animationName:w}},[`&${g}-topLeft, &${g}-bottomLeft`]:{marginInlineEnd:0,marginInlineStart:h,[`${g}-fade-enter${g}-fade-enter-active, ${g}-fade-appear${g}-fade-appear-active`]:{animationName:x}}}};const l=m=>{const{iconCls:g,componentCls:M,boxShadow:h,fontSizeLG:S,notificationMarginBottom:w,borderRadiusLG:x,colorSuccess:z,colorInfo:U,colorWarning:T,colorError:N,colorTextHeading:Z,notificationBg:D,notificationPadding:L,notificationMarginEdge:j,motionDurationMid:G,motionEaseInOut:W,fontSize:ne,lineHeight:_,width:ee,notificationIconSize:se,colorText:Q}=m,C=`${M}-notice`,X=new a.E4("antNotificationFadeIn",{"0%":{left:{_skip_check_:!0,value:ee},opacity:0},"100%":{left:{_skip_check_:!0,value:0},opacity:1}}),O=new a.E4("antNotificationFadeOut",{"0%":{maxHeight:m.animationMaxHeight,marginBottom:w,opacity:1},"100%":{maxHeight:0,marginBottom:0,paddingTop:0,paddingBottom:0,opacity:0}}),H={position:"relative",width:ee,maxWidth:`calc(100vw - ${j*2}px)`,marginBottom:w,marginInlineStart:"auto",padding:L,overflow:"hidden",lineHeight:_,wordWrap:"break-word",background:D,borderRadius:x,boxShadow:h,[`${M}-close-icon`]:{fontSize:ne,cursor:"pointer"},[`${C}-message`]:{marginBottom:m.marginXS,color:Z,fontSize:S,lineHeight:m.lineHeightLG},[`${C}-description`]:{fontSize:ne,color:Q},[`&${C}-closable ${C}-message`]:{paddingInlineEnd:m.paddingLG},[`${C}-with-icon ${C}-message`]:{marginBottom:m.marginXS,marginInlineStart:m.marginSM+se,fontSize:S},[`${C}-with-icon ${C}-description`]:{marginInlineStart:m.marginSM+se,fontSize:ne},[`${C}-icon`]:{position:"absolute",fontSize:se,lineHeight:0,[`&-success${g}`]:{color:z},[`&-info${g}`]:{color:U},[`&-warning${g}`]:{color:T},[`&-error${g}`]:{color:N}},[`${C}-close`]:{position:"absolute",top:m.notificationPaddingVertical,insetInlineEnd:m.notificationPaddingHorizontal,color:m.colorIcon,outline:"none",width:m.notificationCloseButtonSize,height:m.notificationCloseButtonSize,borderRadius:m.borderRadiusSM,transition:`background-color ${m.motionDurationMid}, color ${m.motionDurationMid}`,display:"flex",alignItems:"center",justifyContent:"center","&:hover":{color:m.colorIconHover,backgroundColor:m.wireframe?"transparent":m.colorFillContent}},[`${C}-btn`]:{float:"right",marginTop:m.marginSM}};return[{[M]:Object.assign(Object.assign(Object.assign(Object.assign({},(0,t.Wf)(m)),{position:"fixed",zIndex:m.zIndexPopup,marginInlineEnd:j,[`${M}-hook-holder`]:{position:"relative"},[`&${M}-top, &${M}-bottom`]:{[C]:{marginInline:"auto auto"}},[`&${M}-topLeft, &${M}-bottomLeft`]:{[C]:{marginInlineEnd:"auto",marginInlineStart:0}},[`${M}-fade-enter, ${M}-fade-appear`]:{animationDuration:m.motionDurationMid,animationTimingFunction:W,animationFillMode:"both",opacity:0,animationPlayState:"paused"},[`${M}-fade-leave`]:{animationTimingFunction:W,animationFillMode:"both",animationDuration:G,animationPlayState:"paused"},[`${M}-fade-enter${M}-fade-enter-active, ${M}-fade-appear${M}-fade-appear-active`]:{animationName:X,animationPlayState:"running"},[`${M}-fade-leave${M}-fade-leave-active`]:{animationName:O,animationPlayState:"running"}}),d(m)),{"&-rtl":{direction:"rtl",[`${C}-btn`]:{float:"left"}}})},{[M]:{[C]:Object.assign({},H)}},{[`${C}-pure-panel`]:Object.assign(Object.assign({},H),{margin:0})}]};var c=(0,o.Z)("Notification",m=>{const g=m.paddingMD,M=m.paddingLG,h=(0,s.TS)(m,{notificationBg:m.colorBgElevated,notificationPaddingVertical:g,notificationPaddingHorizontal:M,notificationIconSize:m.fontSizeLG*m.lineHeightLG,notificationCloseButtonSize:m.controlHeightLG*.55,notificationMarginBottom:m.margin,notificationPadding:`${m.paddingMD}px ${m.paddingContentHorizontalLG}px`,notificationMarginEdge:m.marginLG,animationMaxHeight:150});return[l(h)]},m=>({zIndexPopup:m.zIndexPopupBase+50,width:384}),{clientOnly:!0})},75105:function(b,y,e){"use strict";e.d(y,{Z:function(){return z},k:function(){return x}});var a=e(58757),t=e(87608),o=e.n(t),s=e(75248),n=e(61836),d=e(37864),l=e(26284);function c(U,T,N){let Z;switch(U){case"top":Z={left:"50%",transform:"translateX(-50%)",right:"auto",top:T,bottom:"auto"};break;case"topLeft":Z={left:0,top:T,bottom:"auto"};break;case"topRight":Z={right:0,top:T,bottom:"auto"};break;case"bottom":Z={left:"50%",transform:"translateX(-50%)",right:"auto",top:"auto",bottom:N};break;case"bottomLeft":Z={left:0,top:"auto",bottom:N};break;default:Z={right:0,top:"auto",bottom:N};break}return Z}function m(U){return{motionName:`${U}-fade`}}var g=function(U,T){var N={};for(var Z in U)Object.prototype.hasOwnProperty.call(U,Z)&&T.indexOf(Z)<0&&(N[Z]=U[Z]);if(U!=null&&typeof Object.getOwnPropertySymbols=="function")for(var D=0,Z=Object.getOwnPropertySymbols(U);D{const{top:N,bottom:Z,prefixCls:D,getContainer:L,maxCount:j,rtl:G,onAllRemoved:W}=U,{getPrefixCls:ne,getPopupContainer:_,notification:ee}=a.useContext(n.E_),se=D||ne("notification"),Q=A=>c(A,N!=null?N:M,Z!=null?Z:M),[,C]=(0,l.Z)(se),X=()=>o()(C,{[`${se}-rtl`]:G}),O=()=>m(se),[H,k]=(0,s.l)({prefixCls:se,style:Q,className:X,motion:O,closable:!0,closeIcon:(0,d.z5)(se),duration:h,getContainer:()=>(L==null?void 0:L())||(_==null?void 0:_())||document.body,maxCount:j,onAllRemoved:W});return a.useImperativeHandle(T,()=>Object.assign(Object.assign({},H),{prefixCls:se,hashId:C,notification:ee})),k});function x(U){const T=a.useRef(null);return[a.useMemo(()=>{const Z=G=>{var W;if(!T.current)return;const{open:ne,prefixCls:_,hashId:ee,notification:se}=T.current,Q=`${_}-notice`,{message:C,description:X,icon:O,type:H,btn:k,className:A,style:Y,role:de="alert",closeIcon:me}=G,ve=g(G,["message","description","icon","type","btn","className","style","role","closeIcon"]),be=(0,d.z5)(Q,me);return ne(Object.assign(Object.assign({placement:(W=U==null?void 0:U.placement)!==null&&W!==void 0?W:S},ve),{content:a.createElement(d.CW,{prefixCls:Q,icon:O,type:H,message:C,description:X,btn:k,role:de}),className:o()(H&&`${Q}-${H}`,ee,A,se==null?void 0:se.className),style:Object.assign(Object.assign({},se==null?void 0:se.style),Y),closeIcon:be,closable:!!be}))},L={open:Z,destroy:G=>{var W,ne;G!==void 0?(W=T.current)===null||W===void 0||W.close(G):(ne=T.current)===null||ne===void 0||ne.destroy()}};return["success","info","warning","error"].forEach(G=>{L[G]=W=>Z(Object.assign(Object.assign({},W),{type:G}))}),L},[]),a.createElement(w,Object.assign({key:"notification-holder"},U,{ref:T}))]}function z(U){return x(U)}},35910:function(b,y,e){"use strict";e.d(y,{Z:function(){return ge}});var a=e(60698),t=e(58757),o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M272.9 512l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L186.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H532c6.7 0 10.4-7.7 6.3-12.9L272.9 512zm304 0l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L490.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H836c6.7 0 10.4-7.7 6.3-12.9L576.9 512z"}}]},name:"double-left",theme:"outlined"},s=o,n=e(17202),d=function(pe,Oe){return t.createElement(n.Z,(0,a.Z)({},pe,{ref:Oe,icon:s}))},l=t.forwardRef(d),c={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M533.2 492.3L277.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H188c-6.7 0-10.4 7.7-6.3 12.9L447.1 512 181.7 851.1A7.98 7.98 0 00188 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5zm304 0L581.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H492c-6.7 0-10.4 7.7-6.3 12.9L751.1 512 485.7 851.1A7.98 7.98 0 00492 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5z"}}]},name:"double-right",theme:"outlined"},m=c,g=function(pe,Oe){return t.createElement(n.Z,(0,a.Z)({},pe,{ref:Oe,icon:m}))},M=t.forwardRef(g),h=e(99142),S=e(91169),w=e(87608),x=e.n(w),z=e(37734),U=e(57370),T=e(60412),N=e(14346),Z=e(87498),D=e(73726),L=e(33926),j={ZERO:48,NINE:57,NUMPAD_ZERO:96,NUMPAD_NINE:105,BACKSPACE:8,DELETE:46,ENTER:13,ARROW_UP:38,ARROW_DOWN:40},G=j,W=e(23737),ne=function(ie){(0,Z.Z)(Oe,ie);var pe=(0,D.Z)(Oe);function Oe(){var xe;(0,T.Z)(this,Oe);for(var Se=arguments.length,$e=new Array(Se),re=0;re=0||oe.relatedTarget.className.indexOf("".concat(le,"-item"))>=0))&&Ee(xe.getValidValue()))},xe.go=function(oe){var q=xe.state.goInputText;q!==""&&(oe.keyCode===G.ENTER||oe.type==="click")&&(xe.setState({goInputText:""}),xe.props.quickGo(xe.getValidValue()))},xe}return(0,N.Z)(Oe,[{key:"getPageSizeOptions",value:function(){var Se=this.props,$e=Se.pageSize,re=Se.pageSizeOptions;return re.some(function(oe){return oe.toString()===$e.toString()})?re:re.concat([$e.toString()]).sort(function(oe,q){var ue=Number.isNaN(Number(oe))?0:Number(oe),Ee=Number.isNaN(Number(q))?0:Number(q);return ue-Ee})}},{key:"render",value:function(){var Se=this,$e=this.props,re=$e.pageSize,oe=$e.locale,q=$e.rootPrefixCls,ue=$e.changeSize,Ee=$e.quickGo,le=$e.goButton,Ne=$e.selectComponentClass,Ae=$e.buildOptionText,we=$e.selectPrefixCls,Re=$e.disabled,st=this.state.goInputText,nt="".concat(q,"-options"),_e=Ne,We=null,Be=null,it=null;if(!ue&&!Ee)return null;var Ge=this.getPageSizeOptions();if(ue&&_e){var Ot=Ge.map(function($t,wt){return t.createElement(_e.Option,{key:wt,value:$t.toString()},(Ae||Se.buildOptionText)($t))});We=t.createElement(_e,{disabled:Re,prefixCls:we,showSearch:!1,className:"".concat(nt,"-size-changer"),optionLabelProp:"children",popupMatchSelectWidth:!1,value:(re||Ge[0]).toString(),onChange:this.changeSize,getPopupContainer:function(wt){return wt.parentNode},"aria-label":oe.page_size,defaultOpen:!1},Ot)}return Ee&&(le&&(it=typeof le=="boolean"?t.createElement("button",{type:"button",onClick:this.go,onKeyUp:this.go,disabled:Re,className:"".concat(nt,"-quick-jumper-button")},oe.jump_to_confirm):t.createElement("span",{onClick:this.go,onKeyUp:this.go},le)),Be=t.createElement("div",{className:"".concat(nt,"-quick-jumper")},oe.jump_to,t.createElement("input",{disabled:Re,type:"text",value:st,onChange:this.handleChange,onKeyUp:this.go,onBlur:this.handleBlur,"aria-label":oe.page}),oe.page,it)),t.createElement("li",{className:"".concat(nt)},We,Be)}}]),Oe}(t.Component);ne.defaultProps={pageSizeOptions:["10","20","50","100"]};var _=ne,ee=function(pe){var Oe,xe=pe.rootPrefixCls,Se=pe.page,$e=pe.active,re=pe.className,oe=pe.showTitle,q=pe.onClick,ue=pe.onKeyPress,Ee=pe.itemRender,le="".concat(xe,"-item"),Ne=x()(le,"".concat(le,"-").concat(Se),(Oe={},(0,z.Z)(Oe,"".concat(le,"-active"),$e),(0,z.Z)(Oe,"".concat(le,"-disabled"),!Se),(0,z.Z)(Oe,pe.className,re),Oe)),Ae=function(){q(Se)},we=function(nt){ue(nt,q,Se)},Re=Ee(Se,"page",t.createElement("a",{rel:"nofollow"},Se));return Re?t.createElement("li",{title:oe?Se.toString():null,className:Ne,onClick:Ae,onKeyPress:we,tabIndex:0},Re):null},se=ee;function Q(){}function C(ie){var pe=Number(ie);return typeof pe=="number"&&!Number.isNaN(pe)&&isFinite(pe)&&Math.floor(pe)===pe}var X=function(pe,Oe,xe){return xe};function O(ie,pe,Oe){var xe=typeof ie=="undefined"?pe.pageSize:ie;return Math.floor((Oe.total-1)/xe)+1}var H=function(ie){(0,Z.Z)(Oe,ie);var pe=(0,D.Z)(Oe);function Oe(xe){var Se;(0,T.Z)(this,Oe),Se=pe.call(this,xe),Se.paginationNode=t.createRef(),Se.getJumpPrevPage=function(){return Math.max(1,Se.state.current-(Se.props.showLessItems?3:5))},Se.getJumpNextPage=function(){return Math.min(O(void 0,Se.state,Se.props),Se.state.current+(Se.props.showLessItems?3:5))},Se.getItemIcon=function(ue,Ee){var le=Se.props.prefixCls,Ne=ue||t.createElement("button",{type:"button","aria-label":Ee,className:"".concat(le,"-item-link")});return typeof ue=="function"&&(Ne=t.createElement(ue,(0,U.Z)({},Se.props))),Ne},Se.isValid=function(ue){var Ee=Se.props.total;return C(ue)&&ue!==Se.state.current&&C(Ee)&&Ee>0},Se.shouldDisplayQuickJumper=function(){var ue=Se.props,Ee=ue.showQuickJumper,le=ue.total,Ne=Se.state.pageSize;return le<=Ne?!1:Ee},Se.handleKeyDown=function(ue){(ue.keyCode===G.ARROW_UP||ue.keyCode===G.ARROW_DOWN)&&ue.preventDefault()},Se.handleKeyUp=function(ue){var Ee=Se.getValidValue(ue),le=Se.state.currentInputValue;Ee!==le&&Se.setState({currentInputValue:Ee}),ue.keyCode===G.ENTER?Se.handleChange(Ee):ue.keyCode===G.ARROW_UP?Se.handleChange(Ee-1):ue.keyCode===G.ARROW_DOWN&&Se.handleChange(Ee+1)},Se.handleBlur=function(ue){var Ee=Se.getValidValue(ue);Se.handleChange(Ee)},Se.changePageSize=function(ue){var Ee=Se.state.current,le=O(ue,Se.state,Se.props);Ee=Ee>le?le:Ee,le===0&&(Ee=Se.state.current),typeof ue=="number"&&("pageSize"in Se.props||Se.setState({pageSize:ue}),"current"in Se.props||Se.setState({current:Ee,currentInputValue:Ee})),Se.props.onShowSizeChange(Ee,ue),"onChange"in Se.props&&Se.props.onChange&&Se.props.onChange(Ee,ue)},Se.handleChange=function(ue){var Ee=Se.props,le=Ee.disabled,Ne=Ee.onChange,Ae=Se.state,we=Ae.pageSize,Re=Ae.current,st=Ae.currentInputValue;if(Se.isValid(ue)&&!le){var nt=O(void 0,Se.state,Se.props),_e=ue;return ue>nt?_e=nt:ue<1&&(_e=1),"current"in Se.props||Se.setState({current:_e}),_e!==st&&Se.setState({currentInputValue:_e}),Ne(_e,we),_e}return Re},Se.prev=function(){Se.hasPrev()&&Se.handleChange(Se.state.current-1)},Se.next=function(){Se.hasNext()&&Se.handleChange(Se.state.current+1)},Se.jumpPrev=function(){Se.handleChange(Se.getJumpPrevPage())},Se.jumpNext=function(){Se.handleChange(Se.getJumpNextPage())},Se.hasPrev=function(){return Se.state.current>1},Se.hasNext=function(){return Se.state.current2?le-2:0),Ae=2;Ae=re?q=re:q=Number($e),q}},{key:"getShowSizeChanger",value:function(){var Se=this.props,$e=Se.showSizeChanger,re=Se.total,oe=Se.totalBoundaryShowSizeChanger;return typeof $e!="undefined"?$e:re>oe}},{key:"render",value:function(){var Se=this.props,$e=Se.prefixCls,re=Se.className,oe=Se.style,q=Se.disabled,ue=Se.hideOnSinglePage,Ee=Se.total,le=Se.locale,Ne=Se.showQuickJumper,Ae=Se.showLessItems,we=Se.showTitle,Re=Se.showTotal,st=Se.simple,nt=Se.itemRender,_e=Se.showPrevNextJumpers,We=Se.jumpPrevIcon,Be=Se.jumpNextIcon,it=Se.selectComponentClass,Ge=Se.selectPrefixCls,Ot=Se.pageSizeOptions,$t=this.state,wt=$t.current,Pt=$t.pageSize,dt=$t.currentInputValue;if(ue===!0&&Ee<=Pt)return null;var je=O(void 0,this.state,this.props),tt=[],lt=null,bt=null,It=null,Kt=null,zt=null,Mt=Ne&&Ne.goButton,Le=Ae?1:2,Ce=wt-1>0?wt-1:0,Et=wt+1Ee?Ee:wt*Pt]));if(st){Mt&&(typeof Mt=="boolean"?zt=t.createElement("button",{type:"button",onClick:this.handleGoTO,onKeyUp:this.handleGoTO},le.jump_to_confirm):zt=t.createElement("span",{onClick:this.handleGoTO,onKeyUp:this.handleGoTO},Mt),zt=t.createElement("li",{title:we?"".concat(le.jump_to).concat(wt,"/").concat(je):null,className:"".concat($e,"-simple-pager")},zt));var et=this.renderPrev(Ce);return t.createElement("ul",(0,a.Z)({className:x()($e,"".concat($e,"-simple"),(0,z.Z)({},"".concat($e,"-disabled"),q),re),style:oe,ref:this.paginationNode},Tt),Ye,et?t.createElement("li",{title:we?le.prev_page:null,onClick:this.prev,tabIndex:this.hasPrev()?0:null,onKeyPress:this.runIfEnterPrev,className:x()("".concat($e,"-prev"),(0,z.Z)({},"".concat($e,"-disabled"),!this.hasPrev())),"aria-disabled":!this.hasPrev()},et):null,t.createElement("li",{title:we?"".concat(wt,"/").concat(je):null,className:"".concat($e,"-simple-pager")},t.createElement("input",{type:"text",value:dt,disabled:q,onKeyDown:this.handleKeyDown,onKeyUp:this.handleKeyUp,onChange:this.handleKeyUp,onBlur:this.handleBlur,size:3}),t.createElement("span",{className:"".concat($e,"-slash")},"/"),je),t.createElement("li",{title:we?le.next_page:null,onClick:this.next,tabIndex:this.hasPrev()?0:null,onKeyPress:this.runIfEnterNext,className:x()("".concat($e,"-next"),(0,z.Z)({},"".concat($e,"-disabled"),!this.hasNext())),"aria-disabled":!this.hasNext()},this.renderNext(Et)),zt)}if(je<=3+Le*2){var _t={locale:le,rootPrefixCls:$e,onClick:this.handleChange,onKeyPress:this.runIfEnter,showTitle:we,itemRender:nt};je||tt.push(t.createElement(se,(0,a.Z)({},_t,{key:"noPager",page:1,className:"".concat($e,"-item-disabled")})));for(var Ut=1;Ut<=je;Ut+=1){var qt=wt===Ut;tt.push(t.createElement(se,(0,a.Z)({},_t,{key:Ut,page:Ut,active:qt})))}}else{var un=Ae?le.prev_3:le.prev_5,Mn=Ae?le.next_3:le.next_5,vn=nt(this.getJumpPrevPage(),"jump-prev",this.getItemIcon(We,"prev page")),Xn=nt(this.getJumpNextPage(),"jump-next",this.getItemIcon(Be,"next page"));_e&&(lt=vn?t.createElement("li",{title:we?un:null,key:"prev",onClick:this.jumpPrev,tabIndex:0,onKeyPress:this.runIfEnterJumpPrev,className:x()("".concat($e,"-jump-prev"),(0,z.Z)({},"".concat($e,"-jump-prev-custom-icon"),!!We))},vn):null,bt=Xn?t.createElement("li",{title:we?Mn:null,key:"next",tabIndex:0,onClick:this.jumpNext,onKeyPress:this.runIfEnterJumpNext,className:x()("".concat($e,"-jump-next"),(0,z.Z)({},"".concat($e,"-jump-next-custom-icon"),!!Be))},Xn):null),Kt=t.createElement(se,{locale:le,last:!0,rootPrefixCls:$e,onClick:this.handleChange,onKeyPress:this.runIfEnter,key:je,page:je,active:!1,showTitle:we,itemRender:nt}),It=t.createElement(se,{locale:le,rootPrefixCls:$e,onClick:this.handleChange,onKeyPress:this.runIfEnter,key:1,page:1,active:!1,showTitle:we,itemRender:nt});var Vn=Math.max(1,wt-Le),or=Math.min(wt+Le,je);wt-1<=Le&&(or=1+Le*2),je-wt<=Le&&(Vn=je-Le*2);for(var er=Vn;er<=or;er+=1){var Wt=wt===er;tt.push(t.createElement(se,{locale:le,rootPrefixCls:$e,onClick:this.handleChange,onKeyPress:this.runIfEnter,key:er,page:er,active:Wt,showTitle:we,itemRender:nt}))}wt-1>=Le*2&&wt!==1+2&&(tt[0]=(0,t.cloneElement)(tt[0],{className:"".concat($e,"-item-after-jump-prev")}),tt.unshift(lt)),je-wt>=Le*2&&wt!==je-2&&(tt[tt.length-1]=(0,t.cloneElement)(tt[tt.length-1],{className:"".concat($e,"-item-before-jump-next")}),tt.push(bt)),Vn!==1&&tt.unshift(It),or!==je&&tt.push(Kt)}var en=!this.hasPrev()||!je,nn=!this.hasNext()||!je,fn=this.renderPrev(Ce),En=this.renderNext(Et);return t.createElement("ul",(0,a.Z)({className:x()($e,re,(0,z.Z)({},"".concat($e,"-disabled"),q)),style:oe,ref:this.paginationNode},Tt),Ye,fn?t.createElement("li",{title:we?le.prev_page:null,onClick:this.prev,tabIndex:en?null:0,onKeyPress:this.runIfEnterPrev,className:x()("".concat($e,"-prev"),(0,z.Z)({},"".concat($e,"-disabled"),en)),"aria-disabled":en},fn):null,tt,En?t.createElement("li",{title:we?le.next_page:null,onClick:this.next,tabIndex:nn?null:0,onKeyPress:this.runIfEnterNext,className:x()("".concat($e,"-next"),(0,z.Z)({},"".concat($e,"-disabled"),nn)),"aria-disabled":nn},En):null,t.createElement(_,{disabled:q,locale:le,rootPrefixCls:$e,selectComponentClass:it,selectPrefixCls:Ge,changeSize:this.getShowSizeChanger()?this.changePageSize:null,current:wt,pageSize:Pt,pageSizeOptions:Ot,quickGo:this.shouldDisplayQuickJumper()?this.handleChange:null,goButton:Mt}))}}],[{key:"getDerivedStateFromProps",value:function(Se,$e){var re={};if("current"in Se&&(re.current=Se.current,Se.current!==$e.current&&(re.currentInputValue=re.current)),"pageSize"in Se&&Se.pageSize!==$e.pageSize){var oe=$e.current,q=O(Se.pageSize,$e,Se);oe=oe>q?q:oe,"current"in Se||(re.current=oe,re.currentInputValue=oe),re.pageSize=Se.pageSize}return re}}]),Oe}(t.Component);H.defaultProps={defaultCurrent:1,total:0,defaultPageSize:10,onChange:Q,className:"",selectPrefixCls:"rc-select",prefixCls:"rc-pagination",selectComponentClass:null,hideOnSinglePage:!1,showPrevNextJumpers:!0,showQuickJumper:!1,showLessItems:!1,showTitle:!0,onShowSizeChange:Q,locale:W.Z,style:{},itemRender:X,totalBoundaryShowSizeChanger:50};var k=H,A=e(57522),Y=e(61836),de=e(58785),me=e(60059),ve=e(29487),be=e(59504);const Pe=ie=>t.createElement(be.Z,Object.assign({},ie,{showSearch:!0,size:"small"})),Je=ie=>t.createElement(be.Z,Object.assign({},ie,{showSearch:!0,size:"middle"}));Pe.Option=be.Z.Option,Je.Option=be.Z.Option;var qe=e(46902),Xe=e(78330),mt=e(52628),Ct=e(22151);const vt=ie=>{const{componentCls:pe}=ie;return{[`${pe}-disabled`]:{"&, &:hover":{cursor:"not-allowed",[`${pe}-item-link`]:{color:ie.colorTextDisabled,cursor:"not-allowed"}},"&:focus-visible":{cursor:"not-allowed",[`${pe}-item-link`]:{color:ie.colorTextDisabled,cursor:"not-allowed"}}},[`&${pe}-disabled`]:{cursor:"not-allowed",[`${pe}-item`]:{cursor:"not-allowed","&:hover, &:active":{backgroundColor:"transparent"},a:{color:ie.colorTextDisabled,backgroundColor:"transparent",border:"none",cursor:"not-allowed"},"&-active":{borderColor:ie.colorBorder,backgroundColor:ie.itemActiveBgDisabled,"&:hover, &:active":{backgroundColor:ie.itemActiveBgDisabled},a:{color:ie.itemActiveColorDisabled}}},[`${pe}-item-link`]:{color:ie.colorTextDisabled,cursor:"not-allowed","&:hover, &:active":{backgroundColor:"transparent"},[`${pe}-simple&`]:{backgroundColor:"transparent","&:hover, &:active":{backgroundColor:"transparent"}}},[`${pe}-simple-pager`]:{color:ie.colorTextDisabled},[`${pe}-jump-prev, ${pe}-jump-next`]:{[`${pe}-item-link-icon`]:{opacity:0},[`${pe}-item-ellipsis`]:{opacity:1}}},[`&${pe}-simple`]:{[`${pe}-prev, ${pe}-next`]:{[`&${pe}-disabled ${pe}-item-link`]:{"&:hover, &:active":{backgroundColor:"transparent"}}}}}},Ht=ie=>{const{componentCls:pe}=ie;return{[`&${pe}-mini ${pe}-total-text, &${pe}-mini ${pe}-simple-pager`]:{height:ie.itemSizeSM,lineHeight:`${ie.itemSizeSM}px`},[`&${pe}-mini ${pe}-item`]:{minWidth:ie.itemSizeSM,height:ie.itemSizeSM,margin:0,lineHeight:`${ie.itemSizeSM-2}px`},[`&${pe}-mini:not(${pe}-disabled) ${pe}-item:not(${pe}-item-active)`]:{backgroundColor:"transparent",borderColor:"transparent","&:hover":{backgroundColor:ie.colorBgTextHover},"&:active":{backgroundColor:ie.colorBgTextActive}},[`&${pe}-mini ${pe}-prev, &${pe}-mini ${pe}-next`]:{minWidth:ie.itemSizeSM,height:ie.itemSizeSM,margin:0,lineHeight:`${ie.itemSizeSM}px`},[`&${pe}-mini:not(${pe}-disabled)`]:{[`${pe}-prev, ${pe}-next`]:{[`&:hover ${pe}-item-link`]:{backgroundColor:ie.colorBgTextHover},[`&:active ${pe}-item-link`]:{backgroundColor:ie.colorBgTextActive},[`&${pe}-disabled:hover ${pe}-item-link`]:{backgroundColor:"transparent"}}},[` + &${pe}-mini ${pe}-prev ${pe}-item-link, + &${pe}-mini ${pe}-next ${pe}-item-link + `]:{backgroundColor:"transparent",borderColor:"transparent","&::after":{height:ie.itemSizeSM,lineHeight:`${ie.itemSizeSM}px`}},[`&${pe}-mini ${pe}-jump-prev, &${pe}-mini ${pe}-jump-next`]:{height:ie.itemSizeSM,marginInlineEnd:0,lineHeight:`${ie.itemSizeSM}px`},[`&${pe}-mini ${pe}-options`]:{marginInlineStart:ie.paginationMiniOptionsMarginInlineStart,["&-size-changer"]:{top:ie.miniOptionsSizeChangerTop},["&-quick-jumper"]:{height:ie.itemSizeSM,lineHeight:`${ie.itemSizeSM}px`,input:Object.assign(Object.assign({},(0,qe.x0)(ie)),{width:ie.paginationMiniQuickJumperInputWidth,height:ie.controlHeightSM})}}}},ke=ie=>{const{componentCls:pe}=ie;return{[` + &${pe}-simple ${pe}-prev, + &${pe}-simple ${pe}-next + `]:{height:ie.itemSizeSM,lineHeight:`${ie.itemSizeSM}px`,verticalAlign:"top",[`${pe}-item-link`]:{height:ie.itemSizeSM,backgroundColor:"transparent",border:0,"&:hover":{backgroundColor:ie.colorBgTextHover},"&:active":{backgroundColor:ie.colorBgTextActive},"&::after":{height:ie.itemSizeSM,lineHeight:`${ie.itemSizeSM}px`}}},[`&${pe}-simple ${pe}-simple-pager`]:{display:"inline-block",height:ie.itemSizeSM,marginInlineEnd:ie.marginXS,input:{boxSizing:"border-box",height:"100%",marginInlineEnd:ie.marginXS,padding:`0 ${ie.paginationItemPaddingInline}px`,textAlign:"center",backgroundColor:ie.itemInputBg,border:`${ie.lineWidth}px ${ie.lineType} ${ie.colorBorder}`,borderRadius:ie.borderRadius,outline:"none",transition:`border-color ${ie.motionDurationMid}`,color:"inherit","&:hover":{borderColor:ie.colorPrimary},"&:focus":{borderColor:ie.colorPrimaryHover,boxShadow:`${ie.inputOutlineOffset}px 0 ${ie.controlOutlineWidth}px ${ie.controlOutline}`},"&[disabled]":{color:ie.colorTextDisabled,backgroundColor:ie.colorBgContainerDisabled,borderColor:ie.colorBorder,cursor:"not-allowed"}}}}},Ve=ie=>{const{componentCls:pe}=ie;return{[`${pe}-jump-prev, ${pe}-jump-next`]:{outline:0,[`${pe}-item-container`]:{position:"relative",[`${pe}-item-link-icon`]:{color:ie.colorPrimary,fontSize:ie.fontSizeSM,opacity:0,transition:`all ${ie.motionDurationMid}`,"&-svg":{top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,margin:"auto"}},[`${pe}-item-ellipsis`]:{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,display:"block",margin:"auto",color:ie.colorTextDisabled,fontFamily:"Arial, Helvetica, sans-serif",letterSpacing:ie.paginationEllipsisLetterSpacing,textAlign:"center",textIndent:ie.paginationEllipsisTextIndent,opacity:1,transition:`all ${ie.motionDurationMid}`}},"&:hover":{[`${pe}-item-link-icon`]:{opacity:1},[`${pe}-item-ellipsis`]:{opacity:0}}},[` + ${pe}-prev, + ${pe}-jump-prev, + ${pe}-jump-next + `]:{marginInlineEnd:ie.marginXS},[` + ${pe}-prev, + ${pe}-next, + ${pe}-jump-prev, + ${pe}-jump-next + `]:{display:"inline-block",minWidth:ie.itemSize,height:ie.itemSize,color:ie.colorText,fontFamily:ie.fontFamily,lineHeight:`${ie.itemSize}px`,textAlign:"center",verticalAlign:"middle",listStyle:"none",borderRadius:ie.borderRadius,cursor:"pointer",transition:`all ${ie.motionDurationMid}`},[`${pe}-prev, ${pe}-next`]:{fontFamily:"Arial, Helvetica, sans-serif",outline:0,button:{color:ie.colorText,cursor:"pointer",userSelect:"none"},[`${pe}-item-link`]:{display:"block",width:"100%",height:"100%",padding:0,fontSize:ie.fontSizeSM,textAlign:"center",backgroundColor:"transparent",border:`${ie.lineWidth}px ${ie.lineType} transparent`,borderRadius:ie.borderRadius,outline:"none",transition:`all ${ie.motionDurationMid}`},[`&:hover ${pe}-item-link`]:{backgroundColor:ie.colorBgTextHover},[`&:active ${pe}-item-link`]:{backgroundColor:ie.colorBgTextActive},[`&${pe}-disabled:hover`]:{[`${pe}-item-link`]:{backgroundColor:"transparent"}}},[`${pe}-slash`]:{marginInlineEnd:ie.paginationSlashMarginInlineEnd,marginInlineStart:ie.paginationSlashMarginInlineStart},[`${pe}-options`]:{display:"inline-block",marginInlineStart:ie.margin,verticalAlign:"middle","&-size-changer.-select":{display:"inline-block",width:"auto"},"&-quick-jumper":{display:"inline-block",height:ie.controlHeight,marginInlineStart:ie.marginXS,lineHeight:`${ie.controlHeight}px`,verticalAlign:"top",input:Object.assign(Object.assign({},(0,qe.ik)(ie)),{width:ie.controlHeightLG*1.25,height:ie.controlHeight,boxSizing:"border-box",margin:0,marginInlineStart:ie.marginXS,marginInlineEnd:ie.marginXS})}}}},ot=ie=>{const{componentCls:pe}=ie;return{[`${pe}-item`]:{display:"inline-block",minWidth:ie.itemSize,height:ie.itemSize,marginInlineEnd:ie.marginXS,fontFamily:ie.fontFamily,lineHeight:`${ie.itemSize-2}px`,textAlign:"center",verticalAlign:"middle",listStyle:"none",backgroundColor:"transparent",border:`${ie.lineWidth}px ${ie.lineType} transparent`,borderRadius:ie.borderRadius,outline:0,cursor:"pointer",userSelect:"none",a:{display:"block",padding:`0 ${ie.paginationItemPaddingInline}px`,color:ie.colorText,"&:hover":{textDecoration:"none"}},[`&:not(${pe}-item-active)`]:{"&:hover":{transition:`all ${ie.motionDurationMid}`,backgroundColor:ie.colorBgTextHover},"&:active":{backgroundColor:ie.colorBgTextActive}},"&-active":{fontWeight:ie.fontWeightStrong,backgroundColor:ie.itemActiveBg,borderColor:ie.colorPrimary,a:{color:ie.colorPrimary},"&:hover":{borderColor:ie.colorPrimaryHover},"&:hover a":{color:ie.colorPrimaryHover}}}}},Ke=ie=>{const{componentCls:pe}=ie;return{[pe]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},(0,Xe.Wf)(ie)),{"ul, ol":{margin:0,padding:0,listStyle:"none"},"&::after":{display:"block",clear:"both",height:0,overflow:"hidden",visibility:"hidden",content:'""'},[`${pe}-total-text`]:{display:"inline-block",height:ie.itemSize,marginInlineEnd:ie.marginXS,lineHeight:`${ie.itemSize-2}px`,verticalAlign:"middle"}}),ot(ie)),Ve(ie)),ke(ie)),Ht(ie)),vt(ie)),{[`@media only screen and (max-width: ${ie.screenLG}px)`]:{[`${pe}-item`]:{"&-after-jump-prev, &-before-jump-next":{display:"none"}}},[`@media only screen and (max-width: ${ie.screenSM}px)`]:{[`${pe}-options`]:{display:"none"}}}),[`&${ie.componentCls}-rtl`]:{direction:"rtl"}}},he=ie=>{const{componentCls:pe}=ie;return{[`${pe}${pe}-disabled:not(${pe}-mini)`]:{"&, &:hover":{[`${pe}-item-link`]:{borderColor:ie.colorBorder}},"&:focus-visible":{[`${pe}-item-link`]:{borderColor:ie.colorBorder}},[`${pe}-item, ${pe}-item-link`]:{backgroundColor:ie.colorBgContainerDisabled,borderColor:ie.colorBorder,[`&:hover:not(${pe}-item-active)`]:{backgroundColor:ie.colorBgContainerDisabled,borderColor:ie.colorBorder,a:{color:ie.colorTextDisabled}},[`&${pe}-item-active`]:{backgroundColor:ie.itemActiveBgDisabled}},[`${pe}-prev, ${pe}-next`]:{"&:hover button":{backgroundColor:ie.colorBgContainerDisabled,borderColor:ie.colorBorder,color:ie.colorTextDisabled},[`${pe}-item-link`]:{backgroundColor:ie.colorBgContainerDisabled,borderColor:ie.colorBorder}}},[`${pe}:not(${pe}-mini)`]:{[`${pe}-prev, ${pe}-next`]:{"&:hover button":{borderColor:ie.colorPrimaryHover,backgroundColor:ie.itemBg},[`${pe}-item-link`]:{backgroundColor:ie.itemLinkBg,borderColor:ie.colorBorder},[`&:hover ${pe}-item-link`]:{borderColor:ie.colorPrimary,backgroundColor:ie.itemBg,color:ie.colorPrimary},[`&${pe}-disabled`]:{[`${pe}-item-link`]:{borderColor:ie.colorBorder,color:ie.colorTextDisabled}}},[`${pe}-item`]:{backgroundColor:ie.itemBg,border:`${ie.lineWidth}px ${ie.lineType} ${ie.colorBorder}`,[`&:hover:not(${pe}-item-active)`]:{borderColor:ie.colorPrimary,backgroundColor:ie.itemBg,a:{color:ie.colorPrimary}},"&-active":{borderColor:ie.colorPrimary}}}}},J=ie=>{const{componentCls:pe}=ie;return{[`${pe}:not(${pe}-disabled)`]:{[`${pe}-item`]:Object.assign({},(0,Xe.Qy)(ie)),[`${pe}-jump-prev, ${pe}-jump-next`]:{"&:focus-visible":Object.assign({[`${pe}-item-link-icon`]:{opacity:1},[`${pe}-item-ellipsis`]:{opacity:0}},(0,Xe.oN)(ie))},[`${pe}-prev, ${pe}-next`]:{[`&:focus-visible ${pe}-item-link`]:Object.assign({},(0,Xe.oN)(ie))}}}};var V=(0,mt.Z)("Pagination",ie=>{const pe=(0,Ct.TS)(ie,{inputOutlineOffset:0,paginationMiniOptionsMarginInlineStart:ie.marginXXS/2,paginationMiniQuickJumperInputWidth:ie.controlHeightLG*1.1,paginationItemPaddingInline:ie.marginXXS*1.5,paginationEllipsisLetterSpacing:ie.marginXXS/2,paginationSlashMarginInlineStart:ie.marginXXS,paginationSlashMarginInlineEnd:ie.marginSM,paginationEllipsisTextIndent:"0.13em"},(0,qe.e5)(ie));return[Ke(pe),J(pe),ie.wireframe&&he(pe)]},ie=>({itemBg:ie.colorBgContainer,itemSize:ie.controlHeight,itemSizeSM:ie.controlHeightSM,itemActiveBg:ie.colorBgContainer,itemLinkBg:ie.colorBgContainer,itemActiveColorDisabled:ie.colorTextDisabled,itemActiveBgDisabled:ie.controlItemBgActiveDisabled,itemInputBg:ie.colorBgContainer,miniOptionsSizeChangerTop:0})),R=function(ie,pe){var Oe={};for(var xe in ie)Object.prototype.hasOwnProperty.call(ie,xe)&&pe.indexOf(xe)<0&&(Oe[xe]=ie[xe]);if(ie!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Se=0,xe=Object.getOwnPropertySymbols(ie);Se{const{prefixCls:pe,selectPrefixCls:Oe,className:xe,rootClassName:Se,style:$e,size:re,locale:oe,selectComponentClass:q,responsive:ue,showSizeChanger:Ee}=ie,le=R(ie,["prefixCls","selectPrefixCls","className","rootClassName","style","size","locale","selectComponentClass","responsive","showSizeChanger"]),{xs:Ne}=(0,me.Z)(ue),{getPrefixCls:Ae,direction:we,pagination:Re={}}=t.useContext(Y.E_),st=Ae("pagination",pe),[nt,_e]=V(st),We=Ee!=null?Ee:Re.showSizeChanger,Be=t.useMemo(()=>{const je=t.createElement("span",{className:`${st}-item-ellipsis`},"\u2022\u2022\u2022"),tt=t.createElement("button",{className:`${st}-item-link`,type:"button",tabIndex:-1},we==="rtl"?t.createElement(S.Z,null):t.createElement(h.Z,null)),lt=t.createElement("button",{className:`${st}-item-link`,type:"button",tabIndex:-1},we==="rtl"?t.createElement(h.Z,null):t.createElement(S.Z,null)),bt=t.createElement("a",{className:`${st}-item-link`},t.createElement("div",{className:`${st}-item-container`},we==="rtl"?t.createElement(M,{className:`${st}-item-link-icon`}):t.createElement(l,{className:`${st}-item-link-icon`}),je)),It=t.createElement("a",{className:`${st}-item-link`},t.createElement("div",{className:`${st}-item-container`},we==="rtl"?t.createElement(l,{className:`${st}-item-link-icon`}):t.createElement(M,{className:`${st}-item-link-icon`}),je));return{prevIcon:tt,nextIcon:lt,jumpPrevIcon:bt,jumpNextIcon:It}},[we,st]),[it]=(0,ve.Z)("Pagination",A.Z),Ge=Object.assign(Object.assign({},it),oe),Ot=(0,de.Z)(re),$t=Ot==="small"||!!(Ne&&!Ot&&ue),wt=Ae("select",Oe),Pt=x()({[`${st}-mini`]:$t,[`${st}-rtl`]:we==="rtl"},Re==null?void 0:Re.className,xe,Se,_e),dt=Object.assign(Object.assign({},Re==null?void 0:Re.style),$e);return nt(t.createElement(k,Object.assign({},Be,le,{style:dt,prefixCls:st,selectPrefixCls:wt,className:Pt,selectComponentClass:q||($t?Pe:Je),locale:Ge,showSizeChanger:We})))},ge=B},21465:function(b,y,e){"use strict";e.d(y,{t5:function(){return g}});var a=e(87608),t=e.n(a),o=e(33664),s=e(58757),n=e(61836),d=e(99836),l=e(86194),c=function(h,S){var w={};for(var x in h)Object.prototype.hasOwnProperty.call(h,x)&&S.indexOf(x)<0&&(w[x]=h[x]);if(h!=null&&typeof Object.getOwnPropertySymbols=="function")for(var z=0,x=Object.getOwnPropertySymbols(h);z{if(!(!S&&!w))return s.createElement(s.Fragment,null,S&&s.createElement("div",{className:`${h}-title`},(0,d.Z)(S)),s.createElement("div",{className:`${h}-inner-content`},(0,d.Z)(w)))},g=h=>{const{hashId:S,prefixCls:w,className:x,style:z,placement:U="top",title:T,content:N,children:Z}=h;return s.createElement("div",{className:t()(S,w,`${w}-pure`,`${w}-placement-${U}`,x),style:z},s.createElement("div",{className:`${w}-arrow`}),s.createElement(o.G,Object.assign({},h,{className:S,prefixCls:w}),Z||m(w,T,N)))},M=h=>{const{prefixCls:S}=h,w=c(h,["prefixCls"]),{getPrefixCls:x}=s.useContext(n.E_),z=x("popover",S),[U,T]=(0,l.Z)(z);return U(s.createElement(g,Object.assign({},w,{prefixCls:z,hashId:T})))};y.ZP=M},33181:function(b,y,e){"use strict";var a=e(87608),t=e.n(a),o=e(58757),s=e(99836),n=e(90881),d=e(61836),l=e(74820),c=e(21465),m=e(86194),g=function(S,w){var x={};for(var z in S)Object.prototype.hasOwnProperty.call(S,z)&&w.indexOf(z)<0&&(x[z]=S[z]);if(S!=null&&typeof Object.getOwnPropertySymbols=="function")for(var U=0,z=Object.getOwnPropertySymbols(S);U{let{title:w,content:x,prefixCls:z}=S;return o.createElement(o.Fragment,null,w&&o.createElement("div",{className:`${z}-title`},(0,s.Z)(w)),o.createElement("div",{className:`${z}-inner-content`},(0,s.Z)(x)))},h=o.forwardRef((S,w)=>{const{prefixCls:x,title:z,content:U,overlayClassName:T,placement:N="top",trigger:Z="hover",mouseEnterDelay:D=.1,mouseLeaveDelay:L=.1,overlayStyle:j={}}=S,G=g(S,["prefixCls","title","content","overlayClassName","placement","trigger","mouseEnterDelay","mouseLeaveDelay","overlayStyle"]),{getPrefixCls:W}=o.useContext(d.E_),ne=W("popover",x),[_,ee]=(0,m.Z)(ne),se=W(),Q=t()(T,ee);return _(o.createElement(l.Z,Object.assign({placement:N,trigger:Z,mouseEnterDelay:D,mouseLeaveDelay:L,overlayStyle:j},G,{prefixCls:ne,overlayClassName:Q,ref:w,overlay:z||U?o.createElement(M,{prefixCls:ne,title:z,content:U}):null,transitionName:(0,n.m)(se,"zoom-big",G.transitionName),"data-popover-inject":!0})))});h._InternalPanelDoNotUseOrYouWillBeFired=c.ZP,y.Z=h},86194:function(b,y,e){"use strict";var a=e(78330),t=e(28107),o=e(24542),s=e(34966),n=e(52628),d=e(22151);const l=g=>{const{componentCls:M,popoverColor:h,minWidth:S,fontWeightStrong:w,popoverPadding:x,boxShadowSecondary:z,colorTextHeading:U,borderRadiusLG:T,zIndexPopup:N,marginXS:Z,colorBgElevated:D,popoverBg:L}=g;return[{[M]:Object.assign(Object.assign({},(0,a.Wf)(g)),{position:"absolute",top:0,left:{_skip_check_:!0,value:0},zIndex:N,fontWeight:"normal",whiteSpace:"normal",textAlign:"start",cursor:"auto",userSelect:"text",transformOrigin:"var(--arrow-x, 50%) var(--arrow-y, 50%)","--antd-arrow-background-color":D,"&-rtl":{direction:"rtl"},"&-hidden":{display:"none"},[`${M}-content`]:{position:"relative"},[`${M}-inner`]:{backgroundColor:L,backgroundClip:"padding-box",borderRadius:T,boxShadow:z,padding:x},[`${M}-title`]:{minWidth:S,marginBottom:Z,color:U,fontWeight:w},[`${M}-inner-content`]:{color:h}})},(0,o.ZP)(g,{colorBg:"var(--antd-arrow-background-color)"}),{[`${M}-pure`]:{position:"relative",maxWidth:"none",margin:g.sizePopupArrow,display:"inline-block",[`${M}-content`]:{display:"inline-block"}}}]},c=g=>{const{componentCls:M}=g;return{[M]:s.i.map(h=>{const S=g[`${h}6`];return{[`&${M}-${h}`]:{"--antd-arrow-background-color":S,[`${M}-inner`]:{backgroundColor:S},[`${M}-arrow`]:{background:"transparent"}}}})}},m=g=>{const{componentCls:M,lineWidth:h,lineType:S,colorSplit:w,paddingSM:x,controlHeight:z,fontSize:U,lineHeight:T,padding:N}=g,Z=z-Math.round(U*T),D=Z/2,L=Z/2-h,j=N;return{[M]:{[`${M}-inner`]:{padding:0},[`${M}-title`]:{margin:0,padding:`${D}px ${j}px ${L}px`,borderBottom:`${h}px ${S} ${w}`},[`${M}-inner-content`]:{padding:`${x}px ${j}px`}}}};y.Z=(0,n.Z)("Popover",g=>{const{colorBgElevated:M,colorText:h,wireframe:S}=g,w=(0,d.TS)(g,{popoverPadding:12,popoverBg:M,popoverColor:h});return[l(w),c(w),S&&m(w),(0,t._y)(w,"zoom-big")]},g=>({width:177,minWidth:177,zIndexPopup:g.zIndexPopupBase+30}),{deprecatedTokens:[["width","minWidth"]]})},95664:function(b,y,e){"use strict";e.d(y,{Z:function(){return $e}});var a=e(85678),t=e(35725),o=e(79999),s=e(52495),n=e(87608),d=e.n(n),l=e(98186),c=e(58757),m=e(61836),g=e(60698),M=e(57370),h=e(47075),S={percent:0,prefixCls:"rc-progress",strokeColor:"#2db7f5",strokeLinecap:"round",strokeWidth:1,trailColor:"#D9D9D9",trailWidth:1,gapPosition:"bottom"},w=function(){var oe=(0,c.useRef)([]),q=(0,c.useRef)(null);return(0,c.useEffect)(function(){var ue=Date.now(),Ee=!1;oe.current.forEach(function(le){if(le){Ee=!0;var Ne=le.style;Ne.transitionDuration=".3s, .3s, .3s, .06s",q.current&&ue-q.current<100&&(Ne.transitionDuration="0s, 0s")}}),Ee&&(q.current=Date.now())}),oe.current},x=["className","percent","prefixCls","strokeColor","strokeLinecap","strokeWidth","style","trailColor","trailWidth","transition"],z=function(oe){var q=(0,M.Z)((0,M.Z)({},S),oe),ue=q.className,Ee=q.percent,le=q.prefixCls,Ne=q.strokeColor,Ae=q.strokeLinecap,we=q.strokeWidth,Re=q.style,st=q.trailColor,nt=q.trailWidth,_e=q.transition,We=(0,h.Z)(q,x);delete We.gapPosition;var Be=Array.isArray(Ee)?Ee:[Ee],it=Array.isArray(Ne)?Ne:[Ne],Ge=w(),Ot=we/2,$t=100-we/2,wt="M ".concat(Ae==="round"?Ot:0,",").concat(Ot,` + L `).concat(Ae==="round"?$t:100,",").concat(Ot),Pt="0 0 100 ".concat(we),dt=0;return c.createElement("svg",(0,g.Z)({className:d()("".concat(le,"-line"),ue),viewBox:Pt,preserveAspectRatio:"none",style:Re},We),c.createElement("path",{className:"".concat(le,"-line-trail"),d:wt,strokeLinecap:Ae,stroke:st,strokeWidth:nt||we,fillOpacity:"0"}),Be.map(function(je,tt){var lt=1;switch(Ae){case"round":lt=1-we/100;break;case"square":lt=1-we/2/100;break;default:lt=1;break}var bt={strokeDasharray:"".concat(je*lt,"px, 100px"),strokeDashoffset:"-".concat(dt,"px"),transition:_e||"stroke-dashoffset 0.3s ease 0s, stroke-dasharray .3s ease 0s, stroke 0.3s linear"},It=it[tt]||it[it.length-1];return dt+=je,c.createElement("path",{key:tt,className:"".concat(le,"-line-path"),d:wt,strokeLinecap:Ae,stroke:It,strokeWidth:we,fillOpacity:"0",ref:function(zt){Ge[tt]=zt},style:bt})}))},U=z,T=e(38790),N=e(28314),Z=e(19075),D=0,L=(0,Z.Z)();function j(){var re;return L?(re=D,D+=1):re="TEST_OR_SSR",re}var G=function(re){var oe=c.useState(),q=(0,N.Z)(oe,2),ue=q[0],Ee=q[1];return c.useEffect(function(){Ee("rc_progress_".concat(j()))},[]),re||ue},W=["id","prefixCls","steps","strokeWidth","trailWidth","gapDegree","gapPosition","trailColor","strokeLinecap","style","className","strokeColor","percent"];function ne(re){return+re.replace("%","")}function _(re){var oe=re!=null?re:[];return Array.isArray(oe)?oe:[oe]}var ee=100,se=function(oe,q,ue,Ee,le,Ne,Ae,we,Re,st){var nt=arguments.length>10&&arguments[10]!==void 0?arguments[10]:0,_e=ue/100*360*((360-Ne)/360),We=Ne===0?0:{bottom:0,top:180,left:90,right:-90}[Ae],Be=(100-Ee)/100*q;return Re==="round"&&Ee!==100&&(Be+=st/2,Be>=q&&(Be=q-.01)),{stroke:typeof we=="string"?we:void 0,strokeDasharray:"".concat(q,"px ").concat(oe),strokeDashoffset:Be+nt,transform:"rotate(".concat(le+_e+We,"deg)"),transformOrigin:"0 0",transition:"stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s, opacity .3s ease 0s",fillOpacity:0}},Q=function(oe){var q=(0,M.Z)((0,M.Z)({},S),oe),ue=q.id,Ee=q.prefixCls,le=q.steps,Ne=q.strokeWidth,Ae=q.trailWidth,we=q.gapDegree,Re=we===void 0?0:we,st=q.gapPosition,nt=q.trailColor,_e=q.strokeLinecap,We=q.style,Be=q.className,it=q.strokeColor,Ge=q.percent,Ot=(0,h.Z)(q,W),$t=G(ue),wt="".concat($t,"-gradient"),Pt=ee/2-Ne/2,dt=Math.PI*2*Pt,je=Re>0?90+Re/2:-90,tt=dt*((360-Re)/360),lt=(0,T.Z)(le)==="object"?le:{count:le,space:2},bt=lt.count,It=lt.space,Kt=se(dt,tt,0,100,je,Re,st,nt,_e,Ne),zt=_(Ge),Mt=_(it),Le=Mt.find(function(Ye){return Ye&&(0,T.Z)(Ye)==="object"}),Ce=w(),Et=function(){var et=0;return zt.map(function(_t,Ut){var qt=Mt[Ut]||Mt[Mt.length-1],un=qt&&(0,T.Z)(qt)==="object"?"url(#".concat(wt,")"):void 0,Mn=se(dt,tt,et,_t,je,Re,st,qt,_e,Ne);return et+=_t,c.createElement("circle",{key:Ut,className:"".concat(Ee,"-circle-path"),r:Pt,cx:0,cy:0,stroke:un,strokeLinecap:_e,strokeWidth:Ne,opacity:_t===0?0:1,style:Mn,ref:function(Xn){Ce[Ut]=Xn}})}).reverse()},Tt=function(){var et=Math.round(bt*(zt[0]/100)),_t=100/bt,Ut=0;return new Array(bt).fill(null).map(function(qt,un){var Mn=un<=et-1?Mt[0]:nt,vn=Mn&&(0,T.Z)(Mn)==="object"?"url(#".concat(wt,")"):void 0,Xn=se(dt,tt,Ut,_t,je,Re,st,Mn,"butt",Ne,It);return Ut+=(tt-Xn.strokeDashoffset+It)*100/tt,c.createElement("circle",{key:un,className:"".concat(Ee,"-circle-path"),r:Pt,cx:0,cy:0,stroke:vn,strokeWidth:Ne,opacity:1,style:Xn,ref:function(or){Ce[un]=or}})})};return c.createElement("svg",(0,g.Z)({className:d()("".concat(Ee,"-circle"),Be),viewBox:"".concat(-ee/2," ").concat(-ee/2," ").concat(ee," ").concat(ee),style:We,id:ue,role:"presentation"},Ot),Le&&c.createElement("defs",null,c.createElement("linearGradient",{id:wt,x1:"100%",y1:"0%",x2:"0%",y2:"0%"},Object.keys(Le).sort(function(Ye,et){return ne(Ye)-ne(et)}).map(function(Ye,et){return c.createElement("stop",{key:et,offset:Ye,stopColor:Le[Ye]})}))),!bt&&c.createElement("circle",{className:"".concat(Ee,"-circle-trail"),r:Pt,cx:0,cy:0,stroke:nt,strokeLinecap:_e,strokeWidth:Ae||Ne,style:Kt}),bt?Tt():Et())},C=Q,X={Line:U,Circle:C},O=e(74820),H=e(26134);function k(re){return!re||re<0?0:re>100?100:re}function A(re){let{success:oe,successPercent:q}=re,ue=q;return oe&&"progress"in oe&&(ue=oe.progress),oe&&"percent"in oe&&(ue=oe.percent),ue}const Y=re=>{let{percent:oe,success:q,successPercent:ue}=re;const Ee=k(A({success:q,successPercent:ue}));return[Ee,k(k(oe)-Ee)]},de=re=>{let{success:oe={},strokeColor:q}=re;const{strokeColor:ue}=oe;return[ue||H.presetPrimaryColors.green,q||null]},me=(re,oe,q)=>{var ue,Ee,le,Ne;let Ae=-1,we=-1;if(oe==="step"){const Re=q.steps,st=q.strokeWidth;typeof re=="string"||typeof re=="undefined"?(Ae=re==="small"?2:14,we=st!=null?st:8):typeof re=="number"?[Ae,we]=[re,re]:[Ae=14,we=8]=re,Ae*=Re}else if(oe==="line"){const Re=q==null?void 0:q.strokeWidth;typeof re=="string"||typeof re=="undefined"?we=Re||(re==="small"?6:8):typeof re=="number"?[Ae,we]=[re,re]:[Ae=-1,we=8]=re}else(oe==="circle"||oe==="dashboard")&&(typeof re=="string"||typeof re=="undefined"?[Ae,we]=re==="small"?[60,60]:[120,120]:typeof re=="number"?[Ae,we]=[re,re]:(Ae=(Ee=(ue=re[0])!==null&&ue!==void 0?ue:re[1])!==null&&Ee!==void 0?Ee:120,we=(Ne=(le=re[0])!==null&&le!==void 0?le:re[1])!==null&&Ne!==void 0?Ne:120));return[Ae,we]},ve=3,be=re=>ve/re*100;var Je=re=>{const{prefixCls:oe,trailColor:q=null,strokeLinecap:ue="round",gapPosition:Ee,gapDegree:le,width:Ne=120,type:Ae,children:we,success:Re,size:st=Ne}=re,[nt,_e]=me(st,"circle");let{strokeWidth:We}=re;We===void 0&&(We=Math.max(be(nt),6));const Be={width:nt,height:_e,fontSize:nt*.15+6},it=c.useMemo(()=>{if(le||le===0)return le;if(Ae==="dashboard")return 75},[le,Ae]),Ge=Ee||Ae==="dashboard"&&"bottom"||void 0,Ot=Object.prototype.toString.call(re.strokeColor)==="[object Object]",$t=de({success:Re,strokeColor:re.strokeColor}),wt=d()(`${oe}-inner`,{[`${oe}-circle-gradient`]:Ot}),Pt=c.createElement(C,{percent:Y(re),strokeWidth:We,trailWidth:We,strokeColor:$t,strokeLinecap:ue,trailColor:q,prefixCls:oe,gapDegree:it,gapPosition:Ge});return c.createElement("div",{className:wt,style:Be},nt<=20?c.createElement(O.Z,{title:we},c.createElement("span",null,Pt)):c.createElement(c.Fragment,null,Pt,we))},qe=function(re,oe){var q={};for(var ue in re)Object.prototype.hasOwnProperty.call(re,ue)&&oe.indexOf(ue)<0&&(q[ue]=re[ue]);if(re!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Ee=0,ue=Object.getOwnPropertySymbols(re);Ee{let oe=[];return Object.keys(re).forEach(q=>{const ue=parseFloat(q.replace(/%/g,""));isNaN(ue)||oe.push({key:ue,value:re[q]})}),oe=oe.sort((q,ue)=>q.key-ue.key),oe.map(q=>{let{key:ue,value:Ee}=q;return`${Ee} ${ue}%`}).join(", ")},mt=(re,oe)=>{const{from:q=H.presetPrimaryColors.blue,to:ue=H.presetPrimaryColors.blue,direction:Ee=oe==="rtl"?"to left":"to right"}=re,le=qe(re,["from","to","direction"]);if(Object.keys(le).length!==0){const Ne=Xe(le);return{backgroundImage:`linear-gradient(${Ee}, ${Ne})`}}return{backgroundImage:`linear-gradient(${Ee}, ${q}, ${ue})`}};var vt=re=>{const{prefixCls:oe,direction:q,percent:ue,size:Ee,strokeWidth:le,strokeColor:Ne,strokeLinecap:Ae="round",children:we,trailColor:Re=null,success:st}=re,nt=Ne&&typeof Ne!="string"?mt(Ne,q):{backgroundColor:Ne},_e=Ae==="square"||Ae==="butt"?0:void 0,We={backgroundColor:Re||void 0,borderRadius:_e},Be=Ee!=null?Ee:[-1,le||(Ee==="small"?6:8)],[it,Ge]=me(Be,"line",{strokeWidth:le}),Ot=Object.assign({width:`${k(ue)}%`,height:Ge,borderRadius:_e},nt),$t=A(re),wt={width:`${k($t)}%`,height:Ge,borderRadius:_e,backgroundColor:st==null?void 0:st.strokeColor},Pt={width:it<0?"100%":it,height:Ge};return c.createElement(c.Fragment,null,c.createElement("div",{className:`${oe}-outer`,style:Pt},c.createElement("div",{className:`${oe}-inner`,style:We},c.createElement("div",{className:`${oe}-bg`,style:Ot}),$t!==void 0?c.createElement("div",{className:`${oe}-success-bg`,style:wt}):null)),we)},ke=re=>{const{size:oe,steps:q,percent:ue=0,strokeWidth:Ee=8,strokeColor:le,trailColor:Ne=null,prefixCls:Ae,children:we}=re,Re=Math.round(q*(ue/100)),st=oe==="small"?2:14,nt=oe!=null?oe:[st,Ee],[_e,We]=me(nt,"step",{steps:q,strokeWidth:Ee}),Be=_e/q,it=new Array(q);for(let Ge=0;Ge{const oe=re?"100%":"-100%";return new Ve.E4(`antProgress${re?"RTL":"LTR"}Active`,{"0%":{transform:`translateX(${oe}) scaleX(0)`,opacity:.1},"20%":{transform:`translateX(${oe}) scaleX(0)`,opacity:.5},to:{transform:"translateX(0) scaleX(1)",opacity:0}})},V=re=>{const{componentCls:oe,iconCls:q}=re;return{[oe]:Object.assign(Object.assign({},(0,ot.Wf)(re)),{display:"inline-block","&-rtl":{direction:"rtl"},"&-line":{position:"relative",width:"100%",fontSize:re.fontSize,marginInlineEnd:re.marginXS,marginBottom:re.marginXS},[`${oe}-outer`]:{display:"inline-block",width:"100%"},[`&${oe}-show-info`]:{[`${oe}-outer`]:{marginInlineEnd:`calc(-2em - ${re.marginXS}px)`,paddingInlineEnd:`calc(2em + ${re.paddingXS}px)`}},[`${oe}-inner`]:{position:"relative",display:"inline-block",width:"100%",overflow:"hidden",verticalAlign:"middle",backgroundColor:re.progressRemainingColor,borderRadius:re.progressLineRadius},[`${oe}-inner:not(${oe}-circle-gradient)`]:{[`${oe}-circle-path`]:{stroke:re.colorInfo}},[`${oe}-success-bg, ${oe}-bg`]:{position:"relative",backgroundColor:re.colorInfo,borderRadius:re.progressLineRadius,transition:`all ${re.motionDurationSlow} ${re.motionEaseInOutCirc}`},[`${oe}-success-bg`]:{position:"absolute",insetBlockStart:0,insetInlineStart:0,backgroundColor:re.colorSuccess},[`${oe}-text`]:{display:"inline-block",width:"2em",marginInlineStart:re.marginXS,color:re.progressInfoTextColor,lineHeight:1,whiteSpace:"nowrap",textAlign:"start",verticalAlign:"middle",wordBreak:"normal",[q]:{fontSize:re.fontSize}},[`&${oe}-status-active`]:{[`${oe}-bg::before`]:{position:"absolute",inset:0,backgroundColor:re.colorBgContainer,borderRadius:re.progressLineRadius,opacity:0,animationName:J(),animationDuration:re.progressActiveMotionDuration,animationTimingFunction:re.motionEaseOutQuint,animationIterationCount:"infinite",content:'""'}},[`&${oe}-rtl${oe}-status-active`]:{[`${oe}-bg::before`]:{animationName:J(!0)}},[`&${oe}-status-exception`]:{[`${oe}-bg`]:{backgroundColor:re.colorError},[`${oe}-text`]:{color:re.colorError}},[`&${oe}-status-exception ${oe}-inner:not(${oe}-circle-gradient)`]:{[`${oe}-circle-path`]:{stroke:re.colorError}},[`&${oe}-status-success`]:{[`${oe}-bg`]:{backgroundColor:re.colorSuccess},[`${oe}-text`]:{color:re.colorSuccess}},[`&${oe}-status-success ${oe}-inner:not(${oe}-circle-gradient)`]:{[`${oe}-circle-path`]:{stroke:re.colorSuccess}}})}},R=re=>{const{componentCls:oe,iconCls:q}=re;return{[oe]:{[`${oe}-circle-trail`]:{stroke:re.progressRemainingColor},[`&${oe}-circle ${oe}-inner`]:{position:"relative",lineHeight:1,backgroundColor:"transparent"},[`&${oe}-circle ${oe}-text`]:{position:"absolute",insetBlockStart:"50%",insetInlineStart:0,width:"100%",margin:0,padding:0,color:re.colorText,lineHeight:1,whiteSpace:"normal",textAlign:"center",transform:"translateY(-50%)",[q]:{fontSize:`${re.fontSize/re.fontSizeSM}em`}},[`${oe}-circle&-status-exception`]:{[`${oe}-text`]:{color:re.colorError}},[`${oe}-circle&-status-success`]:{[`${oe}-text`]:{color:re.colorSuccess}}},[`${oe}-inline-circle`]:{lineHeight:1,[`${oe}-inner`]:{verticalAlign:"bottom"}}}},P=re=>{const{componentCls:oe}=re;return{[oe]:{[`${oe}-steps`]:{display:"inline-block","&-outer":{display:"flex",flexDirection:"row",alignItems:"center"},"&-item":{flexShrink:0,minWidth:re.progressStepMinWidth,marginInlineEnd:re.progressStepMarginInlineEnd,backgroundColor:re.progressRemainingColor,transition:`all ${re.motionDurationSlow}`,"&-active":{backgroundColor:re.colorInfo}}}}}},B=re=>{const{componentCls:oe,iconCls:q}=re;return{[oe]:{[`${oe}-small&-line, ${oe}-small&-line ${oe}-text ${q}`]:{fontSize:re.fontSizeSM}}}};var ge=(0,Ke.Z)("Progress",re=>{const oe=re.marginXXS/2,q=(0,he.TS)(re,{progressLineRadius:100,progressInfoTextColor:re.colorText,progressDefaultColor:re.colorInfo,progressRemainingColor:re.colorFillSecondary,progressStepMarginInlineEnd:oe,progressStepMinWidth:oe,progressActiveMotionDuration:"2.4s"});return[V(q),R(q),P(q),B(q)]}),ie=function(re,oe){var q={};for(var ue in re)Object.prototype.hasOwnProperty.call(re,ue)&&oe.indexOf(ue)<0&&(q[ue]=re[ue]);if(re!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Ee=0,ue=Object.getOwnPropertySymbols(re);Ee{const{prefixCls:q,className:ue,rootClassName:Ee,steps:le,strokeColor:Ne,percent:Ae=0,size:we="default",showInfo:Re=!0,type:st="line",status:nt,format:_e,style:We}=re,Be=ie(re,["prefixCls","className","rootClassName","steps","strokeColor","percent","size","showInfo","type","status","format","style"]),it=c.useMemo(()=>{var zt,Mt;const Le=A(re);return parseInt(Le!==void 0?(zt=Le!=null?Le:0)===null||zt===void 0?void 0:zt.toString():(Mt=Ae!=null?Ae:0)===null||Mt===void 0?void 0:Mt.toString(),10)},[Ae,re.success,re.successPercent]),Ge=c.useMemo(()=>!Oe.includes(nt)&&it>=100?"success":nt||"normal",[nt,it]),{getPrefixCls:Ot,direction:$t,progress:wt}=c.useContext(m.E_),Pt=Ot("progress",q),[dt,je]=ge(Pt),tt=c.useMemo(()=>{if(!Re)return null;const zt=A(re);let Mt;const Le=_e||(Et=>`${Et}%`),Ce=st==="line";return _e||Ge!=="exception"&&Ge!=="success"?Mt=Le(k(Ae),k(zt)):Ge==="exception"?Mt=Ce?c.createElement(o.Z,null):c.createElement(s.Z,null):Ge==="success"&&(Mt=Ce?c.createElement(a.Z,null):c.createElement(t.Z,null)),c.createElement("span",{className:`${Pt}-text`,title:typeof Mt=="string"?Mt:void 0},Mt)},[Re,Ae,it,Ge,st,Pt,_e]),lt=Array.isArray(Ne)?Ne[0]:Ne,bt=typeof Ne=="string"||Array.isArray(Ne)?Ne:void 0;let It;st==="line"?It=le?c.createElement(ke,Object.assign({},re,{strokeColor:bt,prefixCls:Pt,steps:le}),tt):c.createElement(vt,Object.assign({},re,{strokeColor:lt,prefixCls:Pt,direction:$t}),tt):(st==="circle"||st==="dashboard")&&(It=c.createElement(Je,Object.assign({},re,{strokeColor:lt,prefixCls:Pt,progressStatus:Ge}),tt));const Kt=d()(Pt,`${Pt}-status-${Ge}`,`${Pt}-${st==="dashboard"&&"circle"||le&&"steps"||st}`,{[`${Pt}-inline-circle`]:st==="circle"&&me(we,"circle")[0]<=20,[`${Pt}-show-info`]:Re,[`${Pt}-${we}`]:typeof we=="string",[`${Pt}-rtl`]:$t==="rtl"},wt==null?void 0:wt.className,ue,Ee,je);return dt(c.createElement("div",Object.assign({ref:oe,style:Object.assign(Object.assign({},wt==null?void 0:wt.style),We),className:Kt,role:"progressbar","aria-valuenow":it},(0,l.Z)(Be,["trailColor","strokeWidth","width","gapDegree","gapPosition","strokeLinecap","success","successPercent"])),It))}),$e=Se},86035:function(b,y,e){"use strict";e.d(y,{Ag:function(){return s},IH:function(){return n},w:function(){return o}});var a=e(58757);const t=a.createContext(null),o=t.Provider;y.ZP=t;const s=a.createContext(null),n=s.Provider},40256:function(b,y,e){"use strict";var a=e(87608),t=e.n(a),o=e(60409),s=e(33926),n=e(58757),d=e(61836),l=e(58785),c=e(86035),m=e(27538),g=e(44397);const M=n.forwardRef((h,S)=>{const{getPrefixCls:w,direction:x}=n.useContext(d.E_),[z,U]=(0,o.Z)(h.defaultValue,{value:h.value}),T=ve=>{const be=z,Pe=ve.target.value;"value"in h||U(Pe);const{onChange:Je}=h;Je&&Pe!==be&&Je(ve)},{prefixCls:N,className:Z,rootClassName:D,options:L,buttonStyle:j="outline",disabled:G,children:W,size:ne,style:_,id:ee,onMouseEnter:se,onMouseLeave:Q,onFocus:C,onBlur:X}=h,O=w("radio",N),H=`${O}-group`,[k,A]=(0,g.Z)(O);let Y=W;L&&L.length>0&&(Y=L.map(ve=>typeof ve=="string"||typeof ve=="number"?n.createElement(m.Z,{key:ve.toString(),prefixCls:O,disabled:G,value:ve,checked:z===ve},ve):n.createElement(m.Z,{key:`radio-group-value-options-${ve.value}`,prefixCls:O,disabled:ve.disabled||G,value:ve.value,checked:z===ve.value,title:ve.title,style:ve.style},ve.label)));const de=(0,l.Z)(ne),me=t()(H,`${H}-${j}`,{[`${H}-${de}`]:de,[`${H}-rtl`]:x==="rtl"},Z,D,A);return k(n.createElement("div",Object.assign({},(0,s.Z)(h,{aria:!0,data:!0}),{className:me,style:_,onMouseEnter:se,onMouseLeave:Q,onFocus:C,onBlur:X,id:ee,ref:S}),n.createElement(c.w,{value:{onChange:T,value:z,disabled:h.disabled,name:h.name,optionType:h.optionType}},Y)))});y.Z=n.memo(M)},10852:function(b,y,e){"use strict";var a=e(40256),t=e(27538),o=e(42253);const s=t.Z;s.Button=o.Z,s.Group=a.Z,s.__ANT_RADIO=!0,y.ZP=s},27538:function(b,y,e){"use strict";var a=e(87608),t=e.n(a),o=e(60357),s=e(21319),n=e(58757),d=e(61836),l=e(92428),c=e(81496),m=e(86035),g=e(44397),M=e(37486),h=e(78856),S=function(z,U){var T={};for(var N in z)Object.prototype.hasOwnProperty.call(z,N)&&U.indexOf(N)<0&&(T[N]=z[N]);if(z!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Z=0,N=Object.getOwnPropertySymbols(z);Z{var T,N;const Z=n.useContext(m.ZP),D=n.useContext(m.Ag),{getPrefixCls:L,direction:j,radio:G}=n.useContext(d.E_),W=n.useRef(null),ne=(0,s.sQ)(U,W),{isFormItemInput:_}=n.useContext(c.aM),ee=Je=>{var qe,Xe;(qe=z.onChange)===null||qe===void 0||qe.call(z,Je),(Xe=Z==null?void 0:Z.onChange)===null||Xe===void 0||Xe.call(Z,Je)},{prefixCls:se,className:Q,rootClassName:C,children:X,style:O}=z,H=S(z,["prefixCls","className","rootClassName","children","style"]),k=L("radio",se),A=((Z==null?void 0:Z.optionType)||D)==="button",Y=A?`${k}-button`:k,[de,me]=(0,g.Z)(k),ve=Object.assign({},H),be=n.useContext(l.Z);Z&&(ve.name=Z.name,ve.onChange=ee,ve.checked=z.value===Z.value,ve.disabled=(T=ve.disabled)!==null&&T!==void 0?T:Z.disabled),ve.disabled=(N=ve.disabled)!==null&&N!==void 0?N:be;const Pe=t()(`${Y}-wrapper`,{[`${Y}-wrapper-checked`]:ve.checked,[`${Y}-wrapper-disabled`]:ve.disabled,[`${Y}-wrapper-rtl`]:j==="rtl",[`${Y}-wrapper-in-form-item`]:_},G==null?void 0:G.className,Q,C,me);return de(n.createElement(M.Z,{component:"Radio",disabled:ve.disabled},n.createElement("label",{className:Pe,style:Object.assign(Object.assign({},G==null?void 0:G.style),O),onMouseEnter:z.onMouseEnter,onMouseLeave:z.onMouseLeave},n.createElement(o.Z,Object.assign({},ve,{className:t()(ve.className,!A&&h.A),type:"radio",prefixCls:Y,ref:ne})),X!==void 0?n.createElement("span",null,X):null)))},x=n.forwardRef(w);y.Z=x},42253:function(b,y,e){"use strict";var a=e(58757),t=e(61836),o=e(86035),s=e(27538),n=function(l,c){var m={};for(var g in l)Object.prototype.hasOwnProperty.call(l,g)&&c.indexOf(g)<0&&(m[g]=l[g]);if(l!=null&&typeof Object.getOwnPropertySymbols=="function")for(var M=0,g=Object.getOwnPropertySymbols(l);M{const{getPrefixCls:m}=a.useContext(t.E_),{prefixCls:g}=l,M=n(l,["prefixCls"]),h=m("radio",g);return a.createElement(o.IH,{value:"button"},a.createElement(s.Z,Object.assign({prefixCls:h},M,{type:"radio",ref:c})))};y.Z=a.forwardRef(d)},44397:function(b,y,e){"use strict";var a=e(78330),t=e(52628),o=e(22151);const s=c=>{const{componentCls:m,antCls:g}=c,M=`${m}-group`;return{[M]:Object.assign(Object.assign({},(0,a.Wf)(c)),{display:"inline-block",fontSize:0,[`&${M}-rtl`]:{direction:"rtl"},[`${g}-badge ${g}-badge-count`]:{zIndex:1},[`> ${g}-badge:not(:first-child) > ${g}-button-wrapper`]:{borderInlineStart:"none"}})}},n=c=>{const{componentCls:m,wrapperMarginInlineEnd:g,colorPrimary:M,radioSize:h,motionDurationSlow:S,motionDurationMid:w,motionEaseInOutCirc:x,colorBgContainer:z,colorBorder:U,lineWidth:T,dotSize:N,colorBgContainerDisabled:Z,colorTextDisabled:D,paddingXS:L,dotColorDisabled:j,lineType:G,radioDotDisabledSize:W,wireframe:ne,colorWhite:_}=c,ee=`${m}-inner`;return{[`${m}-wrapper`]:Object.assign(Object.assign({},(0,a.Wf)(c)),{display:"inline-flex",alignItems:"baseline",marginInlineStart:0,marginInlineEnd:g,cursor:"pointer",[`&${m}-wrapper-rtl`]:{direction:"rtl"},"&-disabled":{cursor:"not-allowed",color:c.colorTextDisabled},"&::after":{display:"inline-block",width:0,overflow:"hidden",content:'"\\a0"'},[`${m}-checked::after`]:{position:"absolute",insetBlockStart:0,insetInlineStart:0,width:"100%",height:"100%",border:`${T}px ${G} ${M}`,borderRadius:"50%",visibility:"hidden",content:'""'},[m]:Object.assign(Object.assign({},(0,a.Wf)(c)),{position:"relative",display:"inline-block",outline:"none",cursor:"pointer",alignSelf:"center",borderRadius:"50%"}),[`${m}-wrapper:hover &, + &:hover ${ee}`]:{borderColor:M},[`${m}-input:focus-visible + ${ee}`]:Object.assign({},(0,a.oN)(c)),[`${m}:hover::after, ${m}-wrapper:hover &::after`]:{visibility:"visible"},[`${m}-inner`]:{"&::after":{boxSizing:"border-box",position:"absolute",insetBlockStart:"50%",insetInlineStart:"50%",display:"block",width:h,height:h,marginBlockStart:h/-2,marginInlineStart:h/-2,backgroundColor:ne?M:_,borderBlockStart:0,borderInlineStart:0,borderRadius:h,transform:"scale(0)",opacity:0,transition:`all ${S} ${x}`,content:'""'},boxSizing:"border-box",position:"relative",insetBlockStart:0,insetInlineStart:0,display:"block",width:h,height:h,backgroundColor:z,borderColor:U,borderStyle:"solid",borderWidth:T,borderRadius:"50%",transition:`all ${w}`},[`${m}-input`]:{position:"absolute",inset:0,zIndex:1,cursor:"pointer",opacity:0},[`${m}-checked`]:{[ee]:{borderColor:M,backgroundColor:ne?z:M,"&::after":{transform:`scale(${N/h})`,opacity:1,transition:`all ${S} ${x}`}}},[`${m}-disabled`]:{cursor:"not-allowed",[ee]:{backgroundColor:Z,borderColor:U,cursor:"not-allowed","&::after":{backgroundColor:j}},[`${m}-input`]:{cursor:"not-allowed"},[`${m}-disabled + span`]:{color:D,cursor:"not-allowed"},[`&${m}-checked`]:{[ee]:{"&::after":{transform:`scale(${W/h})`}}}},[`span${m} + *`]:{paddingInlineStart:L,paddingInlineEnd:L}})}},d=c=>{const{buttonColor:m,controlHeight:g,componentCls:M,lineWidth:h,lineType:S,colorBorder:w,motionDurationSlow:x,motionDurationMid:z,buttonPaddingInline:U,fontSize:T,buttonBg:N,fontSizeLG:Z,controlHeightLG:D,controlHeightSM:L,paddingXS:j,borderRadius:G,borderRadiusSM:W,borderRadiusLG:ne,buttonCheckedBg:_,buttonSolidCheckedColor:ee,colorTextDisabled:se,colorBgContainerDisabled:Q,buttonCheckedBgDisabled:C,buttonCheckedColorDisabled:X,colorPrimary:O,colorPrimaryHover:H,colorPrimaryActive:k}=c;return{[`${M}-button-wrapper`]:{position:"relative",display:"inline-block",height:g,margin:0,paddingInline:U,paddingBlock:0,color:m,fontSize:T,lineHeight:`${g-h*2}px`,background:N,border:`${h}px ${S} ${w}`,borderBlockStartWidth:h+.02,borderInlineStartWidth:0,borderInlineEndWidth:h,cursor:"pointer",transition:[`color ${z}`,`background ${z}`,`box-shadow ${z}`].join(","),a:{color:m},[`> ${M}-button`]:{position:"absolute",insetBlockStart:0,insetInlineStart:0,zIndex:-1,width:"100%",height:"100%"},"&:not(:first-child)":{"&::before":{position:"absolute",insetBlockStart:-h,insetInlineStart:-h,display:"block",boxSizing:"content-box",width:1,height:"100%",paddingBlock:h,paddingInline:0,backgroundColor:w,transition:`background-color ${x}`,content:'""'}},"&:first-child":{borderInlineStart:`${h}px ${S} ${w}`,borderStartStartRadius:G,borderEndStartRadius:G},"&:last-child":{borderStartEndRadius:G,borderEndEndRadius:G},"&:first-child:last-child":{borderRadius:G},[`${M}-group-large &`]:{height:D,fontSize:Z,lineHeight:`${D-h*2}px`,"&:first-child":{borderStartStartRadius:ne,borderEndStartRadius:ne},"&:last-child":{borderStartEndRadius:ne,borderEndEndRadius:ne}},[`${M}-group-small &`]:{height:L,paddingInline:j-h,paddingBlock:0,lineHeight:`${L-h*2}px`,"&:first-child":{borderStartStartRadius:W,borderEndStartRadius:W},"&:last-child":{borderStartEndRadius:W,borderEndEndRadius:W}},"&:hover":{position:"relative",color:O},"&:has(:focus-visible)":Object.assign({},(0,a.oN)(c)),[`${M}-inner, input[type='checkbox'], input[type='radio']`]:{width:0,height:0,opacity:0,pointerEvents:"none"},[`&-checked:not(${M}-button-wrapper-disabled)`]:{zIndex:1,color:O,background:_,borderColor:O,"&::before":{backgroundColor:O},"&:first-child":{borderColor:O},"&:hover":{color:H,borderColor:H,"&::before":{backgroundColor:H}},"&:active":{color:k,borderColor:k,"&::before":{backgroundColor:k}}},[`${M}-group-solid &-checked:not(${M}-button-wrapper-disabled)`]:{color:ee,background:O,borderColor:O,"&:hover":{color:ee,background:H,borderColor:H},"&:active":{color:ee,background:k,borderColor:k}},"&-disabled":{color:se,backgroundColor:Q,borderColor:w,cursor:"not-allowed","&:first-child, &:hover":{color:se,backgroundColor:Q,borderColor:w}},[`&-disabled${M}-button-wrapper-checked`]:{color:X,backgroundColor:C,borderColor:w,boxShadow:"none"}}}},l=c=>c-4*2;y.Z=(0,t.Z)("Radio",c=>{const{controlOutline:m,controlOutlineWidth:g,radioSize:M}=c,h=`0 0 0 ${g}px ${m}`,S=h,w=l(M),x=(0,o.TS)(c,{radioDotDisabledSize:w,radioFocusShadow:h,radioButtonFocusShadow:S});return[s(x),n(x),d(x)]},c=>{const{wireframe:m,padding:g,marginXS:M,lineWidth:h,fontSizeLG:S,colorText:w,colorBgContainer:x,colorTextDisabled:z,controlItemBgActiveDisabled:U,colorTextLightSolid:T}=c,N=4,Z=S,D=m?l(Z):Z-(N+h)*2;return{radioSize:Z,dotSize:D,dotColorDisabled:z,buttonSolidCheckedColor:T,buttonBg:x,buttonCheckedBg:x,buttonColor:w,buttonCheckedBgDisabled:U,buttonCheckedColorDisabled:z,buttonPaddingInline:g-h,wrapperMarginInlineEnd:M}})},12632:function(b,y,e){"use strict";e.d(y,{ZP:function(){return O}});var a=e(85678),t=e(79999),o=e(69831),s=e(60698),n=e(58757),d={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M955.7 856l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zM480 416c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v184c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V416zm32 352a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"warning",theme:"filled"},l=d,c=e(17202),m=function(k,A){return n.createElement(c.Z,(0,s.Z)({},k,{ref:A,icon:l}))},g=n.forwardRef(m),M=e(87608),h=e.n(M),S=e(61836),x=()=>n.createElement("svg",{width:"252",height:"294"},n.createElement("defs",null,n.createElement("path",{d:"M0 .387h251.772v251.772H0z"})),n.createElement("g",{fill:"none",fillRule:"evenodd"},n.createElement("g",{transform:"translate(0 .012)"},n.createElement("mask",{fill:"#fff"}),n.createElement("path",{d:"M0 127.32v-2.095C0 56.279 55.892.387 124.838.387h2.096c68.946 0 124.838 55.892 124.838 124.838v2.096c0 68.946-55.892 124.838-124.838 124.838h-2.096C55.892 252.16 0 196.267 0 127.321",fill:"#E4EBF7",mask:"url(#b)"})),n.createElement("path",{d:"M39.755 130.84a8.276 8.276 0 1 1-16.468-1.66 8.276 8.276 0 0 1 16.468 1.66",fill:"#FFF"}),n.createElement("path",{d:"M36.975 134.297l10.482 5.943M48.373 146.508l-12.648 10.788",stroke:"#FFF",strokeWidth:"2"}),n.createElement("path",{d:"M39.875 159.352a5.667 5.667 0 1 1-11.277-1.136 5.667 5.667 0 0 1 11.277 1.136M57.588 143.247a5.708 5.708 0 1 1-11.358-1.145 5.708 5.708 0 0 1 11.358 1.145M99.018 26.875l29.82-.014a4.587 4.587 0 1 0-.003-9.175l-29.82.013a4.587 4.587 0 1 0 .003 9.176M110.424 45.211l29.82-.013a4.588 4.588 0 0 0-.004-9.175l-29.82.013a4.587 4.587 0 1 0 .004 9.175",fill:"#FFF"}),n.createElement("path",{d:"M112.798 26.861v-.002l15.784-.006a4.588 4.588 0 1 0 .003 9.175l-15.783.007v-.002a4.586 4.586 0 0 0-.004-9.172M184.523 135.668c-.553 5.485-5.447 9.483-10.931 8.93-5.485-.553-9.483-5.448-8.93-10.932.552-5.485 5.447-9.483 10.932-8.93 5.485.553 9.483 5.447 8.93 10.932",fill:"#FFF"}),n.createElement("path",{d:"M179.26 141.75l12.64 7.167M193.006 156.477l-15.255 13.011",stroke:"#FFF",strokeWidth:"2"}),n.createElement("path",{d:"M184.668 170.057a6.835 6.835 0 1 1-13.6-1.372 6.835 6.835 0 0 1 13.6 1.372M203.34 153.325a6.885 6.885 0 1 1-13.7-1.382 6.885 6.885 0 0 1 13.7 1.382",fill:"#FFF"}),n.createElement("path",{d:"M151.931 192.324a2.222 2.222 0 1 1-4.444 0 2.222 2.222 0 0 1 4.444 0zM225.27 116.056a2.222 2.222 0 1 1-4.445 0 2.222 2.222 0 0 1 4.444 0zM216.38 151.08a2.223 2.223 0 1 1-4.446-.001 2.223 2.223 0 0 1 4.446 0zM176.917 107.636a2.223 2.223 0 1 1-4.445 0 2.223 2.223 0 0 1 4.445 0zM195.291 92.165a2.223 2.223 0 1 1-4.445 0 2.223 2.223 0 0 1 4.445 0zM202.058 180.711a2.223 2.223 0 1 1-4.446 0 2.223 2.223 0 0 1 4.446 0z",stroke:"#FFF",strokeWidth:"2"}),n.createElement("path",{stroke:"#FFF",strokeWidth:"2",d:"M214.404 153.302l-1.912 20.184-10.928 5.99M173.661 174.792l-6.356 9.814h-11.36l-4.508 6.484M174.941 125.168v-15.804M220.824 117.25l-12.84 7.901-15.31-7.902V94.39"}),n.createElement("path",{d:"M166.588 65.936h-3.951a4.756 4.756 0 0 1-4.743-4.742 4.756 4.756 0 0 1 4.743-4.743h3.951a4.756 4.756 0 0 1 4.743 4.743 4.756 4.756 0 0 1-4.743 4.742",fill:"#FFF"}),n.createElement("path",{d:"M174.823 30.03c0-16.281 13.198-29.48 29.48-29.48 16.28 0 29.48 13.199 29.48 29.48 0 16.28-13.2 29.48-29.48 29.48-16.282 0-29.48-13.2-29.48-29.48",fill:"#1677ff"}),n.createElement("path",{d:"M205.952 38.387c.5.5.785 1.142.785 1.928s-.286 1.465-.785 1.964c-.572.5-1.214.75-2 .75-.785 0-1.429-.285-1.929-.785-.572-.5-.82-1.143-.82-1.929s.248-1.428.82-1.928c.5-.5 1.144-.75 1.93-.75.785 0 1.462.25 1.999.75m4.285-19.463c1.428 1.249 2.143 2.963 2.143 5.142 0 1.712-.427 3.13-1.219 4.25-.067.096-.137.18-.218.265-.416.429-1.41 1.346-2.956 2.699a5.07 5.07 0 0 0-1.428 1.75 5.207 5.207 0 0 0-.536 2.357v.5h-4.107v-.5c0-1.357.215-2.536.714-3.5.464-.964 1.857-2.464 4.178-4.536l.43-.5c.643-.785.964-1.643.964-2.535 0-1.18-.358-2.108-1-2.785-.678-.68-1.643-1.001-2.858-1.001-1.536 0-2.642.464-3.357 1.43-.37.5-.621 1.135-.76 1.904a1.999 1.999 0 0 1-1.971 1.63h-.004c-1.277 0-2.257-1.183-1.98-2.43.337-1.518 1.02-2.78 2.073-3.784 1.536-1.5 3.607-2.25 6.25-2.25 2.32 0 4.214.607 5.642 1.894",fill:"#FFF"}),n.createElement("path",{d:"M52.04 76.131s21.81 5.36 27.307 15.945c5.575 10.74-6.352 9.26-15.73 4.935-10.86-5.008-24.7-11.822-11.577-20.88",fill:"#FFB594"}),n.createElement("path",{d:"M90.483 67.504l-.449 2.893c-.753.49-4.748-2.663-4.748-2.663l-1.645.748-1.346-5.684s6.815-4.589 8.917-5.018c2.452-.501 9.884.94 10.7 2.278 0 0 1.32.486-2.227.69-3.548.203-5.043.447-6.79 3.132-1.747 2.686-2.412 3.624-2.412 3.624",fill:"#FFC6A0"}),n.createElement("path",{d:"M128.055 111.367c-2.627-7.724-6.15-13.18-8.917-15.478-3.5-2.906-9.34-2.225-11.366-4.187-1.27-1.231-3.215-1.197-3.215-1.197s-14.98-3.158-16.828-3.479c-2.37-.41-2.124-.714-6.054-1.405-1.57-1.907-2.917-1.122-2.917-1.122l-7.11-1.383c-.853-1.472-2.423-1.023-2.423-1.023l-2.468-.897c-1.645 9.976-7.74 13.796-7.74 13.796 1.795 1.122 15.703 8.3 15.703 8.3l5.107 37.11s-3.321 5.694 1.346 9.109c0 0 19.883-3.743 34.921-.329 0 0 3.047-2.546.972-8.806.523-3.01 1.394-8.263 1.736-11.622.385.772 2.019 1.918 3.14 3.477 0 0 9.407-7.365 11.052-14.012-.832-.723-1.598-1.585-2.267-2.453-.567-.736-.358-2.056-.765-2.717-.669-1.084-1.804-1.378-1.907-1.682",fill:"#FFF"}),n.createElement("path",{d:"M101.09 289.998s4.295 2.041 7.354 1.021c2.821-.94 4.53.668 7.08 1.178 2.55.51 6.874 1.1 11.686-1.26-.103-5.51-6.889-3.98-11.96-6.713-2.563-1.38-3.784-4.722-3.598-8.799h-9.402s-1.392 10.52-1.16 14.573",fill:"#CBD1D1"}),n.createElement("path",{d:"M101.067 289.826s2.428 1.271 6.759.653c3.058-.437 3.712.481 7.423 1.031 3.712.55 10.724-.069 11.823-.894.413 1.1-.343 2.063-.343 2.063s-1.512.603-4.812.824c-2.03.136-5.8.291-7.607-.503-1.787-1.375-5.247-1.903-5.728-.241-3.918.95-7.355-.286-7.355-.286l-.16-2.647z",fill:"#2B0849"}),n.createElement("path",{d:"M108.341 276.044h3.094s-.103 6.702 4.536 8.558c-4.64.618-8.558-2.303-7.63-8.558",fill:"#A4AABA"}),n.createElement("path",{d:"M57.542 272.401s-2.107 7.416-4.485 12.306c-1.798 3.695-4.225 7.492 5.465 7.492 6.648 0 8.953-.48 7.423-6.599-1.53-6.12.266-13.199.266-13.199h-8.669z",fill:"#CBD1D1"}),n.createElement("path",{d:"M51.476 289.793s2.097 1.169 6.633 1.169c6.083 0 8.249-1.65 8.249-1.65s.602 1.114-.619 2.165c-.993.855-3.597 1.591-7.39 1.546-4.145-.048-5.832-.566-6.736-1.168-.825-.55-.687-1.58-.137-2.062",fill:"#2B0849"}),n.createElement("path",{d:"M58.419 274.304s.033 1.519-.314 2.93c-.349 1.42-1.078 3.104-1.13 4.139-.058 1.151 4.537 1.58 5.155.034.62-1.547 1.294-6.427 1.913-7.252.619-.825-4.903-2.119-5.624.15",fill:"#A4AABA"}),n.createElement("path",{d:"M99.66 278.514l13.378.092s1.298-54.52 1.853-64.403c.554-9.882 3.776-43.364 1.002-63.128l-12.547-.644-22.849.78s-.434 3.966-1.195 9.976c-.063.496-.682.843-.749 1.365-.075.585.423 1.354.32 1.966-2.364 14.08-6.377 33.104-8.744 46.677-.116.666-1.234 1.009-1.458 2.691-.04.302.211 1.525.112 1.795-6.873 18.744-10.949 47.842-14.277 61.885l14.607-.014s2.197-8.57 4.03-16.97c2.811-12.886 23.111-85.01 23.111-85.01l3.016-.521 1.043 46.35s-.224 1.234.337 2.02c.56.785-.56 1.123-.392 2.244l.392 1.794s-.449 7.178-.898 11.89c-.448 4.71-.092 39.165-.092 39.165",fill:"#7BB2F9"}),n.createElement("path",{d:"M76.085 221.626c1.153.094 4.038-2.019 6.955-4.935M106.36 225.142s2.774-1.11 6.103-3.883",stroke:"#648BD8",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M107.275 222.1s2.773-1.11 6.102-3.884",stroke:"#648BD8",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M74.74 224.767s2.622-.591 6.505-3.365M86.03 151.634c-.27 3.106.3 8.525-4.336 9.123M103.625 149.88s.11 14.012-1.293 15.065c-2.219 1.664-2.99 1.944-2.99 1.944M99.79 150.438s.035 12.88-1.196 24.377M93.673 175.911s7.212-1.664 9.431-1.664M74.31 205.861a212.013 212.013 0 0 1-.979 4.56s-1.458 1.832-1.009 3.776c.449 1.944-.947 2.045-4.985 15.355-1.696 5.59-4.49 18.591-6.348 27.597l-.231 1.12M75.689 197.807a320.934 320.934 0 0 1-.882 4.754M82.591 152.233L81.395 162.7s-1.097.15-.5 2.244c.113 1.346-2.674 15.775-5.18 30.43M56.12 274.418h13.31",stroke:"#648BD8",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M116.241 148.22s-17.047-3.104-35.893.2c.158 2.514-.003 4.15-.003 4.15s14.687-2.818 35.67-.312c.252-2.355.226-4.038.226-4.038",fill:"#192064"}),n.createElement("path",{d:"M106.322 151.165l.003-4.911a.81.81 0 0 0-.778-.815c-2.44-.091-5.066-.108-7.836-.014a.818.818 0 0 0-.789.815l-.003 4.906a.81.81 0 0 0 .831.813c2.385-.06 4.973-.064 7.73.017a.815.815 0 0 0 .842-.81",fill:"#FFF"}),n.createElement("path",{d:"M105.207 150.233l.002-3.076a.642.642 0 0 0-.619-.646 94.321 94.321 0 0 0-5.866-.01.65.65 0 0 0-.63.647v3.072a.64.64 0 0 0 .654.644 121.12 121.12 0 0 1 5.794.011c.362.01.665-.28.665-.642",fill:"#192064"}),n.createElement("path",{d:"M100.263 275.415h12.338M101.436 270.53c.006 3.387.042 5.79.111 6.506M101.451 264.548a915.75 915.75 0 0 0-.015 4.337M100.986 174.965l.898 44.642s.673 1.57-.225 2.692c-.897 1.122 2.468.673.898 2.243-1.57 1.57.897 1.122 0 3.365-.596 1.489-.994 21.1-1.096 35.146",stroke:"#648BD8",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M46.876 83.427s-.516 6.045 7.223 5.552c11.2-.712 9.218-9.345 31.54-21.655-.786-2.708-2.447-4.744-2.447-4.744s-11.068 3.11-22.584 8.046c-6.766 2.9-13.395 6.352-13.732 12.801M104.46 91.057l.941-5.372-8.884-11.43-5.037 5.372-1.74 7.834a.321.321 0 0 0 .108.32c.965.8 6.5 5.013 14.347 3.544a.332.332 0 0 0 .264-.268",fill:"#FFC6A0"}),n.createElement("path",{d:"M93.942 79.387s-4.533-2.853-2.432-6.855c1.623-3.09 4.513 1.133 4.513 1.133s.52-3.642 3.121-3.642c.52-1.04 1.561-4.162 1.561-4.162s11.445 2.601 13.526 3.121c0 5.203-2.304 19.424-7.84 19.861-8.892.703-12.449-9.456-12.449-9.456",fill:"#FFC6A0"}),n.createElement("path",{d:"M113.874 73.446c2.601-2.081 3.47-9.722 3.47-9.722s-2.479-.49-6.64-2.05c-4.683-2.081-12.798-4.747-17.48.976-9.668 3.223-2.05 19.823-2.05 19.823l2.713-3.021s-3.935-3.287-2.08-6.243c2.17-3.462 3.92 1.073 3.92 1.073s.637-2.387 3.581-3.342c.355-.71 1.036-2.674 1.432-3.85a1.073 1.073 0 0 1 1.263-.704c2.4.558 8.677 2.019 11.356 2.662.522.125.871.615.82 1.15l-.305 3.248z",fill:"#520038"}),n.createElement("path",{d:"M104.977 76.064c-.103.61-.582 1.038-1.07.956-.489-.083-.801-.644-.698-1.254.103-.61.582-1.038 1.07-.956.488.082.8.644.698 1.254M112.132 77.694c-.103.61-.582 1.038-1.07.956-.488-.083-.8-.644-.698-1.254.103-.61.582-1.038 1.07-.956.488.082.8.643.698 1.254",fill:"#552950"}),n.createElement("path",{stroke:"#DB836E",strokeWidth:"1.118",strokeLinecap:"round",strokeLinejoin:"round",d:"M110.13 74.84l-.896 1.61-.298 4.357h-2.228"}),n.createElement("path",{d:"M110.846 74.481s1.79-.716 2.506.537",stroke:"#5C2552",strokeWidth:"1.118",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M92.386 74.282s.477-1.114 1.113-.716c.637.398 1.274 1.433.558 1.99-.717.556.159 1.67.159 1.67",stroke:"#DB836E",strokeWidth:"1.118",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M103.287 72.93s1.83 1.113 4.137.954",stroke:"#5C2552",strokeWidth:"1.118",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M103.685 81.762s2.227 1.193 4.376 1.193M104.64 84.308s.954.398 1.511.318M94.693 81.205s2.308 7.4 10.424 7.639",stroke:"#DB836E",strokeWidth:"1.118",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M81.45 89.384s.45 5.647-4.935 12.787M69 82.654s-.726 9.282-8.204 14.206",stroke:"#E4EBF7",strokeWidth:"1.101",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M129.405 122.865s-5.272 7.403-9.422 10.768",stroke:"#E4EBF7",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M119.306 107.329s.452 4.366-2.127 32.062",stroke:"#E4EBF7",strokeWidth:"1.101",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M150.028 151.232h-49.837a1.01 1.01 0 0 1-1.01-1.01v-31.688c0-.557.452-1.01 1.01-1.01h49.837c.558 0 1.01.453 1.01 1.01v31.688a1.01 1.01 0 0 1-1.01 1.01",fill:"#F2D7AD"}),n.createElement("path",{d:"M150.29 151.232h-19.863v-33.707h20.784v32.786a.92.92 0 0 1-.92.92",fill:"#F4D19D"}),n.createElement("path",{d:"M123.554 127.896H92.917a.518.518 0 0 1-.425-.816l6.38-9.113c.193-.277.51-.442.85-.442h31.092l-7.26 10.371z",fill:"#F2D7AD"}),n.createElement("path",{fill:"#CC9B6E",d:"M123.689 128.447H99.25v-.519h24.169l7.183-10.26.424.298z"}),n.createElement("path",{d:"M158.298 127.896h-18.669a2.073 2.073 0 0 1-1.659-.83l-7.156-9.541h19.965c.49 0 .95.23 1.244.622l6.69 8.92a.519.519 0 0 1-.415.83",fill:"#F4D19D"}),n.createElement("path",{fill:"#CC9B6E",d:"M157.847 128.479h-19.384l-7.857-10.475.415-.31 7.7 10.266h19.126zM130.554 150.685l-.032-8.177.519-.002.032 8.177z"}),n.createElement("path",{fill:"#CC9B6E",d:"M130.511 139.783l-.08-21.414.519-.002.08 21.414zM111.876 140.932l-.498-.143 1.479-5.167.498.143zM108.437 141.06l-2.679-2.935 2.665-3.434.41.318-2.397 3.089 2.384 2.612zM116.607 141.06l-.383-.35 2.383-2.612-2.397-3.089.41-.318 2.665 3.434z"}),n.createElement("path",{d:"M154.316 131.892l-3.114-1.96.038 3.514-1.043.092c-1.682.115-3.634.23-4.789.23-1.902 0-2.693 2.258 2.23 2.648l-2.645-.596s-2.168 1.317.504 2.3c0 0-1.58 1.217.561 2.58-.584 3.504 5.247 4.058 7.122 3.59 1.876-.47 4.233-2.359 4.487-5.16.28-3.085-.89-5.432-3.35-7.238",fill:"#FFC6A0"}),n.createElement("path",{d:"M153.686 133.577s-6.522.47-8.36.372c-1.836-.098-1.904 2.19 2.359 2.264 3.739.15 5.451-.044 5.451-.044",stroke:"#DB836E",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M145.16 135.877c-1.85 1.346.561 2.355.561 2.355s3.478.898 6.73.617",stroke:"#DB836E",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M151.89 141.71s-6.28.111-6.73-2.132c-.223-1.346.45-1.402.45-1.402M146.114 140.868s-1.103 3.16 5.44 3.533M151.202 129.932v3.477M52.838 89.286c3.533-.337 8.423-1.248 13.582-7.754",stroke:"#DB836E",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M168.567 248.318a6.647 6.647 0 0 1-6.647-6.647v-66.466a6.647 6.647 0 1 1 13.294 0v66.466a6.647 6.647 0 0 1-6.647 6.647",fill:"#5BA02E"}),n.createElement("path",{d:"M176.543 247.653a6.647 6.647 0 0 1-6.646-6.647v-33.232a6.647 6.647 0 1 1 13.293 0v33.232a6.647 6.647 0 0 1-6.647 6.647",fill:"#92C110"}),n.createElement("path",{d:"M186.443 293.613H158.92a3.187 3.187 0 0 1-3.187-3.187v-46.134a3.187 3.187 0 0 1 3.187-3.187h27.524a3.187 3.187 0 0 1 3.187 3.187v46.134a3.187 3.187 0 0 1-3.187 3.187",fill:"#F2D7AD"}),n.createElement("path",{d:"M88.979 89.48s7.776 5.384 16.6 2.842",stroke:"#E4EBF7",strokeWidth:"1.101",strokeLinecap:"round",strokeLinejoin:"round"}))),U=()=>n.createElement("svg",{width:"254",height:"294"},n.createElement("defs",null,n.createElement("path",{d:"M0 .335h253.49v253.49H0z"}),n.createElement("path",{d:"M0 293.665h253.49V.401H0z"})),n.createElement("g",{fill:"none",fillRule:"evenodd"},n.createElement("g",{transform:"translate(0 .067)"},n.createElement("mask",{fill:"#fff"}),n.createElement("path",{d:"M0 128.134v-2.11C0 56.608 56.273.334 125.69.334h2.11c69.416 0 125.69 56.274 125.69 125.69v2.11c0 69.417-56.274 125.69-125.69 125.69h-2.11C56.273 253.824 0 197.551 0 128.134",fill:"#E4EBF7",mask:"url(#b)"})),n.createElement("path",{d:"M39.989 132.108a8.332 8.332 0 1 1-16.581-1.671 8.332 8.332 0 0 1 16.58 1.671",fill:"#FFF"}),n.createElement("path",{d:"M37.19 135.59l10.553 5.983M48.665 147.884l-12.734 10.861",stroke:"#FFF",strokeWidth:"2"}),n.createElement("path",{d:"M40.11 160.816a5.706 5.706 0 1 1-11.354-1.145 5.706 5.706 0 0 1 11.354 1.145M57.943 144.6a5.747 5.747 0 1 1-11.436-1.152 5.747 5.747 0 0 1 11.436 1.153M99.656 27.434l30.024-.013a4.619 4.619 0 1 0-.004-9.238l-30.024.013a4.62 4.62 0 0 0 .004 9.238M111.14 45.896l30.023-.013a4.62 4.62 0 1 0-.004-9.238l-30.024.013a4.619 4.619 0 1 0 .004 9.238",fill:"#FFF"}),n.createElement("path",{d:"M113.53 27.421v-.002l15.89-.007a4.619 4.619 0 1 0 .005 9.238l-15.892.007v-.002a4.618 4.618 0 0 0-.004-9.234M150.167 70.091h-3.979a4.789 4.789 0 0 1-4.774-4.775 4.788 4.788 0 0 1 4.774-4.774h3.979a4.789 4.789 0 0 1 4.775 4.774 4.789 4.789 0 0 1-4.775 4.775",fill:"#FFF"}),n.createElement("path",{d:"M171.687 30.234c0-16.392 13.289-29.68 29.681-29.68 16.392 0 29.68 13.288 29.68 29.68 0 16.393-13.288 29.681-29.68 29.681s-29.68-13.288-29.68-29.68",fill:"#FF603B"}),n.createElement("path",{d:"M203.557 19.435l-.676 15.035a1.514 1.514 0 0 1-3.026 0l-.675-15.035a2.19 2.19 0 1 1 4.377 0m-.264 19.378c.513.477.77 1.1.77 1.87s-.257 1.393-.77 1.907c-.55.476-1.21.733-1.943.733a2.545 2.545 0 0 1-1.87-.77c-.55-.514-.806-1.136-.806-1.87 0-.77.256-1.393.806-1.87.513-.513 1.137-.733 1.87-.733.77 0 1.43.22 1.943.733",fill:"#FFF"}),n.createElement("path",{d:"M119.3 133.275c4.426-.598 3.612-1.204 4.079-4.778.675-5.18-3.108-16.935-8.262-25.118-1.088-10.72-12.598-11.24-12.598-11.24s4.312 4.895 4.196 16.199c1.398 5.243.804 14.45.804 14.45s5.255 11.369 11.78 10.487",fill:"#FFB594"}),n.createElement("path",{d:"M100.944 91.61s1.463-.583 3.211.582c8.08 1.398 10.368 6.706 11.3 11.368 1.864 1.282 1.864 2.33 1.864 3.496.365.777 1.515 3.03 1.515 3.03s-7.225 1.748-10.954 6.758c-1.399-6.41-6.936-25.235-6.936-25.235",fill:"#FFF"}),n.createElement("path",{d:"M94.008 90.5l1.019-5.815-9.23-11.874-5.233 5.581-2.593 9.863s8.39 5.128 16.037 2.246",fill:"#FFB594"}),n.createElement("path",{d:"M82.931 78.216s-4.557-2.868-2.445-6.892c1.632-3.107 4.537 1.139 4.537 1.139s.524-3.662 3.139-3.662c.523-1.046 1.569-4.184 1.569-4.184s11.507 2.615 13.6 3.138c-.001 5.23-2.317 19.529-7.884 19.969-8.94.706-12.516-9.508-12.516-9.508",fill:"#FFC6A0"}),n.createElement("path",{d:"M102.971 72.243c2.616-2.093 3.489-9.775 3.489-9.775s-2.492-.492-6.676-2.062c-4.708-2.092-12.867-4.771-17.575.982-9.54 4.41-2.062 19.93-2.062 19.93l2.729-3.037s-3.956-3.304-2.092-6.277c2.183-3.48 3.943 1.08 3.943 1.08s.64-2.4 3.6-3.36c.356-.714 1.04-2.69 1.44-3.872a1.08 1.08 0 0 1 1.27-.707c2.41.56 8.723 2.03 11.417 2.676.524.126.876.619.825 1.156l-.308 3.266z",fill:"#520038"}),n.createElement("path",{d:"M101.22 76.514c-.104.613-.585 1.044-1.076.96-.49-.082-.805-.646-.702-1.26.104-.613.585-1.044 1.076-.961.491.083.805.647.702 1.26M94.26 75.074c-.104.613-.585 1.044-1.076.96-.49-.082-.805-.646-.702-1.26.104-.613.585-1.044 1.076-.96.491.082.805.646.702 1.26",fill:"#552950"}),n.createElement("path",{stroke:"#DB836E",strokeWidth:"1.063",strokeLinecap:"round",strokeLinejoin:"round",d:"M99.206 73.644l-.9 1.62-.3 4.38h-2.24"}),n.createElement("path",{d:"M99.926 73.284s1.8-.72 2.52.54",stroke:"#5C2552",strokeWidth:"1.117",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M81.367 73.084s.48-1.12 1.12-.72c.64.4 1.28 1.44.56 2s.16 1.68.16 1.68",stroke:"#DB836E",strokeWidth:"1.117",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M92.326 71.724s1.84 1.12 4.16.96",stroke:"#5C2552",strokeWidth:"1.117",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M92.726 80.604s2.24 1.2 4.4 1.2M93.686 83.164s.96.4 1.52.32M83.687 80.044s1.786 6.547 9.262 7.954",stroke:"#DB836E",strokeWidth:"1.063",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M95.548 91.663s-1.068 2.821-8.298 2.105c-7.23-.717-10.29-5.044-10.29-5.044",stroke:"#E4EBF7",strokeWidth:"1.136",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M78.126 87.478s6.526 4.972 16.47 2.486c0 0 9.577 1.02 11.536 5.322 5.36 11.77.543 36.835 0 39.962 3.496 4.055-.466 8.483-.466 8.483-15.624-3.548-35.81-.6-35.81-.6-4.849-3.546-1.223-9.044-1.223-9.044L62.38 110.32c-2.485-15.227.833-19.803 3.549-20.743 3.03-1.049 8.04-1.282 8.04-1.282.496-.058 1.08-.076 1.37-.233 2.36-1.282 2.787-.583 2.787-.583",fill:"#FFF"}),n.createElement("path",{d:"M65.828 89.81s-6.875.465-7.59 8.156c-.466 8.857 3.03 10.954 3.03 10.954s6.075 22.102 16.796 22.957c8.39-2.176 4.758-6.702 4.661-11.42-.233-11.304-7.108-16.897-7.108-16.897s-4.212-13.75-9.789-13.75",fill:"#FFC6A0"}),n.createElement("path",{d:"M71.716 124.225s.855 11.264 9.828 6.486c4.765-2.536 7.581-13.828 9.789-22.568 1.456-5.768 2.58-12.197 2.58-12.197l-4.973-1.709s-2.408 5.516-7.769 12.275c-4.335 5.467-9.144 11.11-9.455 17.713",fill:"#FFC6A0"}),n.createElement("path",{d:"M108.463 105.191s1.747 2.724-2.331 30.535c2.376 2.216 1.053 6.012-.233 7.51",stroke:"#E4EBF7",strokeWidth:"1.085",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M123.262 131.527s-.427 2.732-11.77 1.981c-15.187-1.006-25.326-3.25-25.326-3.25l.933-5.8s.723.215 9.71-.068c11.887-.373 18.714-6.07 24.964-1.022 4.039 3.263 1.489 8.16 1.489 8.16",fill:"#FFC6A0"}),n.createElement("path",{d:"M70.24 90.974s-5.593-4.739-11.054 2.68c-3.318 7.223.517 15.284 2.664 19.578-.31 3.729 2.33 4.311 2.33 4.311s.108.895 1.516 2.68c4.078-7.03 6.72-9.166 13.711-12.546-.328-.656-1.877-3.265-1.825-3.767.175-1.69-1.282-2.623-1.282-2.623s-.286-.156-1.165-2.738c-.788-2.313-2.036-5.177-4.895-7.575",fill:"#FFF"}),n.createElement("path",{d:"M90.232 288.027s4.855 2.308 8.313 1.155c3.188-1.063 5.12.755 8.002 1.331 2.881.577 7.769 1.243 13.207-1.424-.117-6.228-7.786-4.499-13.518-7.588-2.895-1.56-4.276-5.336-4.066-9.944H91.544s-1.573 11.89-1.312 16.47",fill:"#CBD1D1"}),n.createElement("path",{d:"M90.207 287.833s2.745 1.437 7.639.738c3.456-.494 3.223.66 7.418 1.282 4.195.621 13.092-.194 14.334-1.126.466 1.242-.388 2.33-.388 2.33s-1.709.682-5.438.932c-2.295.154-8.098.276-10.14-.621-2.02-1.554-4.894-1.515-6.06-.234-4.427 1.075-7.184-.31-7.184-.31l-.181-2.991z",fill:"#2B0849"}),n.createElement("path",{d:"M98.429 272.257h3.496s-.117 7.574 5.127 9.671c-5.244.7-9.672-2.602-8.623-9.671",fill:"#A4AABA"}),n.createElement("path",{d:"M44.425 272.046s-2.208 7.774-4.702 12.899c-1.884 3.874-4.428 7.854 5.729 7.854 6.97 0 9.385-.503 7.782-6.917-1.604-6.415.279-13.836.279-13.836h-9.088z",fill:"#CBD1D1"}),n.createElement("path",{d:"M38.066 290.277s2.198 1.225 6.954 1.225c6.376 0 8.646-1.73 8.646-1.73s.63 1.168-.649 2.27c-1.04.897-3.77 1.668-7.745 1.621-4.347-.05-6.115-.593-7.062-1.224-.864-.577-.72-1.657-.144-2.162",fill:"#2B0849"}),n.createElement("path",{d:"M45.344 274.041s.035 1.592-.329 3.07c-.365 1.49-1.13 3.255-1.184 4.34-.061 1.206 4.755 1.657 5.403.036.65-1.622 1.357-6.737 2.006-7.602.648-.865-5.14-2.222-5.896.156",fill:"#A4AABA"}),n.createElement("path",{d:"M89.476 277.57l13.899.095s1.349-56.643 1.925-66.909c.576-10.267 3.923-45.052 1.042-65.585l-13.037-.669-23.737.81s-.452 4.12-1.243 10.365c-.065.515-.708.874-.777 1.417-.078.608.439 1.407.332 2.044-2.455 14.627-5.797 32.736-8.256 46.837-.121.693-1.282 1.048-1.515 2.796-.042.314.22 1.584.116 1.865-7.14 19.473-12.202 52.601-15.66 67.19l15.176-.015s2.282-10.145 4.185-18.871c2.922-13.389 24.012-88.32 24.012-88.32l3.133-.954-.158 48.568s-.233 1.282.35 2.098c.583.815-.581 1.167-.408 2.331l.408 1.864s-.466 7.458-.932 12.352c-.467 4.895 1.145 40.69 1.145 40.69",fill:"#7BB2F9"}),n.createElement("path",{d:"M64.57 218.881c1.197.099 4.195-2.097 7.225-5.127M96.024 222.534s2.881-1.152 6.34-4.034",stroke:"#648BD8",strokeWidth:"1.085",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M96.973 219.373s2.882-1.153 6.34-4.034",stroke:"#648BD8",strokeWidth:"1.032",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M63.172 222.144s2.724-.614 6.759-3.496M74.903 146.166c-.281 3.226.31 8.856-4.506 9.478M93.182 144.344s.115 14.557-1.344 15.65c-2.305 1.73-3.107 2.02-3.107 2.02M89.197 144.923s.269 13.144-1.01 25.088M83.525 170.71s6.81-1.051 9.116-1.051M46.026 270.045l-.892 4.538M46.937 263.289l-.815 4.157M62.725 202.503c-.33 1.618-.102 1.904-.449 3.438 0 0-2.756 1.903-2.29 3.923.466 2.02-.31 3.424-4.505 17.252-1.762 5.807-4.233 18.922-6.165 28.278-.03.144-.521 2.646-1.14 5.8M64.158 194.136c-.295 1.658-.6 3.31-.917 4.938M71.33 146.787l-1.244 10.877s-1.14.155-.519 2.33c.117 1.399-2.778 16.39-5.382 31.615M44.242 273.727H58.07",stroke:"#648BD8",strokeWidth:"1.085",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M106.18 142.117c-3.028-.489-18.825-2.744-36.219.2a.625.625 0 0 0-.518.644c.063 1.307.044 2.343.015 2.995a.617.617 0 0 0 .716.636c3.303-.534 17.037-2.412 35.664-.266.347.04.66-.214.692-.56.124-1.347.16-2.425.17-3.029a.616.616 0 0 0-.52-.62",fill:"#192064"}),n.createElement("path",{d:"M96.398 145.264l.003-5.102a.843.843 0 0 0-.809-.847 114.104 114.104 0 0 0-8.141-.014.85.85 0 0 0-.82.847l-.003 5.097c0 .476.388.857.864.845 2.478-.064 5.166-.067 8.03.017a.848.848 0 0 0 .876-.843",fill:"#FFF"}),n.createElement("path",{d:"M95.239 144.296l.002-3.195a.667.667 0 0 0-.643-.672c-1.9-.061-3.941-.073-6.094-.01a.675.675 0 0 0-.654.672l-.002 3.192c0 .376.305.677.68.669 1.859-.042 3.874-.043 6.02.012.376.01.69-.291.691-.668",fill:"#192064"}),n.createElement("path",{d:"M90.102 273.522h12.819M91.216 269.761c.006 3.519-.072 5.55 0 6.292M90.923 263.474c-.009 1.599-.016 2.558-.016 4.505M90.44 170.404l.932 46.38s.7 1.631-.233 2.796c-.932 1.166 2.564.7.932 2.33-1.63 1.633.933 1.166 0 3.497-.618 1.546-1.031 21.921-1.138 36.513",stroke:"#648BD8",strokeWidth:"1.085",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M73.736 98.665l2.214 4.312s2.098.816 1.865 2.68l.816 2.214M64.297 116.611c.233-.932 2.176-7.147 12.585-10.488M77.598 90.042s7.691 6.137 16.547 2.72",stroke:"#E4EBF7",strokeWidth:"1.085",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M91.974 86.954s5.476-.816 7.574-4.545c1.297-.345.72 2.212-.33 3.671-.7.971-1.01 1.554-1.01 1.554s.194.31.155.816c-.053.697-.175.653-.272 1.048-.081.335.108.657 0 1.049-.046.17-.198.5-.382.878-.12.249-.072.687-.2.948-.231.469-1.562 1.87-2.622 2.855-3.826 3.554-5.018 1.644-6.001-.408-.894-1.865-.661-5.127-.874-6.875-.35-2.914-2.622-3.03-1.923-4.429.343-.685 2.87.69 3.263 1.748.757 2.04 2.952 1.807 2.622 1.69",fill:"#FFC6A0"}),n.createElement("path",{d:"M99.8 82.429c-.465.077-.35.272-.97 1.243-.622.971-4.817 2.932-6.39 3.224-2.589.48-2.278-1.56-4.254-2.855-1.69-1.107-3.562-.638-1.398 1.398.99.932.932 1.107 1.398 3.205.335 1.506-.64 3.67.7 5.593",stroke:"#DB836E",strokeWidth:".774",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M79.543 108.673c-2.1 2.926-4.266 6.175-5.557 8.762",stroke:"#E59788",strokeWidth:".774",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M87.72 124.768s-2.098-1.942-5.127-2.719c-3.03-.777-3.574-.155-5.516.078-1.942.233-3.885-.932-3.652.7.233 1.63 5.05 1.01 5.206 2.097.155 1.087-6.37 2.796-8.313 2.175-.777.777.466 1.864 2.02 2.175.233 1.554 2.253 1.554 2.253 1.554s.699 1.01 2.641 1.088c2.486 1.32 8.934-.7 10.954-1.554 2.02-.855-.466-5.594-.466-5.594",fill:"#FFC6A0"}),n.createElement("path",{d:"M73.425 122.826s.66 1.127 3.167 1.418c2.315.27 2.563.583 2.563.583s-2.545 2.894-9.07 2.272M72.416 129.274s3.826.097 4.933-.718M74.98 130.75s1.961.136 3.36-.505M77.232 131.916s1.748.019 2.914-.505M73.328 122.321s-.595-1.032 1.262-.427c1.671.544 2.833.055 5.128.155 1.389.061 3.067-.297 3.982.15 1.606.784 3.632 2.181 3.632 2.181s10.526 1.204 19.033-1.127M78.864 108.104s-8.39 2.758-13.168 12.12",stroke:"#E59788",strokeWidth:".774",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M109.278 112.533s3.38-3.613 7.575-4.662",stroke:"#E4EBF7",strokeWidth:"1.085",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M107.375 123.006s9.697-2.745 11.445-.88",stroke:"#E59788",strokeWidth:".774",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M194.605 83.656l3.971-3.886M187.166 90.933l3.736-3.655M191.752 84.207l-4.462-4.56M198.453 91.057l-4.133-4.225M129.256 163.074l3.718-3.718M122.291 170.039l3.498-3.498M126.561 163.626l-4.27-4.27M132.975 170.039l-3.955-3.955",stroke:"#BFCDDD",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M190.156 211.779h-1.604a4.023 4.023 0 0 1-4.011-4.011V175.68a4.023 4.023 0 0 1 4.01-4.01h1.605a4.023 4.023 0 0 1 4.011 4.01v32.088a4.023 4.023 0 0 1-4.01 4.01",fill:"#A3B4C6"}),n.createElement("path",{d:"M237.824 212.977a4.813 4.813 0 0 1-4.813 4.813h-86.636a4.813 4.813 0 0 1 0-9.626h86.636a4.813 4.813 0 0 1 4.813 4.813",fill:"#A3B4C6"}),n.createElement("mask",{fill:"#fff"}),n.createElement("path",{fill:"#A3B4C6",mask:"url(#d)",d:"M154.098 190.096h70.513v-84.617h-70.513z"}),n.createElement("path",{d:"M224.928 190.096H153.78a3.219 3.219 0 0 1-3.208-3.209V167.92a3.219 3.219 0 0 1 3.208-3.21h71.148a3.219 3.219 0 0 1 3.209 3.21v18.967a3.219 3.219 0 0 1-3.21 3.209M224.928 130.832H153.78a3.218 3.218 0 0 1-3.208-3.208v-18.968a3.219 3.219 0 0 1 3.208-3.209h71.148a3.219 3.219 0 0 1 3.209 3.21v18.967a3.218 3.218 0 0 1-3.21 3.208",fill:"#BFCDDD",mask:"url(#d)"}),n.createElement("path",{d:"M159.563 120.546a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M166.98 120.546a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M174.397 120.546a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M222.539 120.546h-22.461a.802.802 0 0 1-.802-.802v-3.208c0-.443.359-.803.802-.803h22.46c.444 0 .803.36.803.803v3.208c0 .443-.36.802-.802.802",fill:"#FFF",mask:"url(#d)"}),n.createElement("path",{d:"M224.928 160.464H153.78a3.218 3.218 0 0 1-3.208-3.209v-18.967a3.219 3.219 0 0 1 3.208-3.209h71.148a3.219 3.219 0 0 1 3.209 3.209v18.967a3.218 3.218 0 0 1-3.21 3.209",fill:"#BFCDDD",mask:"url(#d)"}),n.createElement("path",{d:"M173.455 130.832h49.301M164.984 130.832h6.089M155.952 130.832h6.75M173.837 160.613h49.3M165.365 160.613h6.089M155.57 160.613h6.751",stroke:"#7C90A5",strokeWidth:"1.124",strokeLinecap:"round",strokeLinejoin:"round",mask:"url(#d)"}),n.createElement("path",{d:"M159.563 151.038a2.407 2.407 0 1 1 0-4.814 2.407 2.407 0 0 1 0 4.814M166.98 151.038a2.407 2.407 0 1 1 0-4.814 2.407 2.407 0 0 1 0 4.814M174.397 151.038a2.407 2.407 0 1 1 .001-4.814 2.407 2.407 0 0 1 0 4.814M222.539 151.038h-22.461a.802.802 0 0 1-.802-.802v-3.209c0-.443.359-.802.802-.802h22.46c.444 0 .803.36.803.802v3.209c0 .443-.36.802-.802.802M159.563 179.987a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M166.98 179.987a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M174.397 179.987a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M222.539 179.987h-22.461a.802.802 0 0 1-.802-.802v-3.209c0-.443.359-.802.802-.802h22.46c.444 0 .803.36.803.802v3.209c0 .443-.36.802-.802.802",fill:"#FFF",mask:"url(#d)"}),n.createElement("path",{d:"M203.04 221.108h-27.372a2.413 2.413 0 0 1-2.406-2.407v-11.448a2.414 2.414 0 0 1 2.406-2.407h27.372a2.414 2.414 0 0 1 2.407 2.407V218.7a2.413 2.413 0 0 1-2.407 2.407",fill:"#BFCDDD",mask:"url(#d)"}),n.createElement("path",{d:"M177.259 207.217v11.52M201.05 207.217v11.52",stroke:"#A3B4C6",strokeWidth:"1.124",strokeLinecap:"round",strokeLinejoin:"round",mask:"url(#d)"}),n.createElement("path",{d:"M162.873 267.894a9.422 9.422 0 0 1-9.422-9.422v-14.82a9.423 9.423 0 0 1 18.845 0v14.82a9.423 9.423 0 0 1-9.423 9.422",fill:"#5BA02E",mask:"url(#d)"}),n.createElement("path",{d:"M171.22 267.83a9.422 9.422 0 0 1-9.422-9.423v-3.438a9.423 9.423 0 0 1 18.845 0v3.438a9.423 9.423 0 0 1-9.422 9.423",fill:"#92C110",mask:"url(#d)"}),n.createElement("path",{d:"M181.31 293.666h-27.712a3.209 3.209 0 0 1-3.209-3.21V269.79a3.209 3.209 0 0 1 3.209-3.21h27.711a3.209 3.209 0 0 1 3.209 3.21v20.668a3.209 3.209 0 0 1-3.209 3.209",fill:"#F2D7AD",mask:"url(#d)"}))),N=()=>n.createElement("svg",{width:"251",height:"294"},n.createElement("g",{fill:"none",fillRule:"evenodd"},n.createElement("path",{d:"M0 129.023v-2.084C0 58.364 55.591 2.774 124.165 2.774h2.085c68.574 0 124.165 55.59 124.165 124.165v2.084c0 68.575-55.59 124.166-124.165 124.166h-2.085C55.591 253.189 0 197.598 0 129.023",fill:"#E4EBF7"}),n.createElement("path",{d:"M41.417 132.92a8.231 8.231 0 1 1-16.38-1.65 8.231 8.231 0 0 1 16.38 1.65",fill:"#FFF"}),n.createElement("path",{d:"M38.652 136.36l10.425 5.91M49.989 148.505l-12.58 10.73",stroke:"#FFF",strokeWidth:"2"}),n.createElement("path",{d:"M41.536 161.28a5.636 5.636 0 1 1-11.216-1.13 5.636 5.636 0 0 1 11.216 1.13M59.154 145.261a5.677 5.677 0 1 1-11.297-1.138 5.677 5.677 0 0 1 11.297 1.138M100.36 29.516l29.66-.013a4.562 4.562 0 1 0-.004-9.126l-29.66.013a4.563 4.563 0 0 0 .005 9.126M111.705 47.754l29.659-.013a4.563 4.563 0 1 0-.004-9.126l-29.66.013a4.563 4.563 0 1 0 .005 9.126",fill:"#FFF"}),n.createElement("path",{d:"M114.066 29.503V29.5l15.698-.007a4.563 4.563 0 1 0 .004 9.126l-15.698.007v-.002a4.562 4.562 0 0 0-.004-9.122M185.405 137.723c-.55 5.455-5.418 9.432-10.873 8.882-5.456-.55-9.432-5.418-8.882-10.873.55-5.455 5.418-9.432 10.873-8.882 5.455.55 9.432 5.418 8.882 10.873",fill:"#FFF"}),n.createElement("path",{d:"M180.17 143.772l12.572 7.129M193.841 158.42L178.67 171.36",stroke:"#FFF",strokeWidth:"2"}),n.createElement("path",{d:"M185.55 171.926a6.798 6.798 0 1 1-13.528-1.363 6.798 6.798 0 0 1 13.527 1.363M204.12 155.285a6.848 6.848 0 1 1-13.627-1.375 6.848 6.848 0 0 1 13.626 1.375",fill:"#FFF"}),n.createElement("path",{d:"M152.988 194.074a2.21 2.21 0 1 1-4.42 0 2.21 2.21 0 0 1 4.42 0zM225.931 118.217a2.21 2.21 0 1 1-4.421 0 2.21 2.21 0 0 1 4.421 0zM217.09 153.051a2.21 2.21 0 1 1-4.421 0 2.21 2.21 0 0 1 4.42 0zM177.84 109.842a2.21 2.21 0 1 1-4.422 0 2.21 2.21 0 0 1 4.421 0zM196.114 94.454a2.21 2.21 0 1 1-4.421 0 2.21 2.21 0 0 1 4.421 0zM202.844 182.523a2.21 2.21 0 1 1-4.42 0 2.21 2.21 0 0 1 4.42 0z",stroke:"#FFF",strokeWidth:"2"}),n.createElement("path",{stroke:"#FFF",strokeWidth:"2",d:"M215.125 155.262l-1.902 20.075-10.87 5.958M174.601 176.636l-6.322 9.761H156.98l-4.484 6.449M175.874 127.28V111.56M221.51 119.404l-12.77 7.859-15.228-7.86V96.668"}),n.createElement("path",{d:"M180.68 29.32C180.68 13.128 193.806 0 210 0c16.193 0 29.32 13.127 29.32 29.32 0 16.194-13.127 29.322-29.32 29.322-16.193 0-29.32-13.128-29.32-29.321",fill:"#A26EF4"}),n.createElement("path",{d:"M221.45 41.706l-21.563-.125a1.744 1.744 0 0 1-1.734-1.754l.071-12.23a1.744 1.744 0 0 1 1.754-1.734l21.562.125c.964.006 1.74.791 1.735 1.755l-.071 12.229a1.744 1.744 0 0 1-1.754 1.734",fill:"#FFF"}),n.createElement("path",{d:"M215.106 29.192c-.015 2.577-2.049 4.654-4.543 4.64-2.494-.014-4.504-2.115-4.489-4.693l.04-6.925c.016-2.577 2.05-4.654 4.543-4.64 2.494.015 4.504 2.116 4.49 4.693l-.04 6.925zm-4.53-14.074a6.877 6.877 0 0 0-6.916 6.837l-.043 7.368a6.877 6.877 0 0 0 13.754.08l.042-7.368a6.878 6.878 0 0 0-6.837-6.917zM167.566 68.367h-3.93a4.73 4.73 0 0 1-4.717-4.717 4.73 4.73 0 0 1 4.717-4.717h3.93a4.73 4.73 0 0 1 4.717 4.717 4.73 4.73 0 0 1-4.717 4.717",fill:"#FFF"}),n.createElement("path",{d:"M168.214 248.838a6.611 6.611 0 0 1-6.61-6.611v-66.108a6.611 6.611 0 0 1 13.221 0v66.108a6.611 6.611 0 0 1-6.61 6.61",fill:"#5BA02E"}),n.createElement("path",{d:"M176.147 248.176a6.611 6.611 0 0 1-6.61-6.61v-33.054a6.611 6.611 0 1 1 13.221 0v33.053a6.611 6.611 0 0 1-6.61 6.611",fill:"#92C110"}),n.createElement("path",{d:"M185.994 293.89h-27.376a3.17 3.17 0 0 1-3.17-3.17v-45.887a3.17 3.17 0 0 1 3.17-3.17h27.376a3.17 3.17 0 0 1 3.17 3.17v45.886a3.17 3.17 0 0 1-3.17 3.17",fill:"#F2D7AD"}),n.createElement("path",{d:"M81.972 147.673s6.377-.927 17.566-1.28c11.729-.371 17.57 1.086 17.57 1.086s3.697-3.855.968-8.424c1.278-12.077 5.982-32.827.335-48.273-1.116-1.339-3.743-1.512-7.536-.62-1.337.315-7.147-.149-7.983-.1l-15.311-.347s-3.487-.17-8.035-.508c-1.512-.113-4.227-1.683-5.458-.338-.406.443-2.425 5.669-1.97 16.077l8.635 35.642s-3.141 3.61 1.219 7.085",fill:"#FFF"}),n.createElement("path",{d:"M75.768 73.325l-.9-6.397 11.982-6.52s7.302-.118 8.038 1.205c.737 1.324-5.616.993-5.616.993s-1.836 1.388-2.615 2.5c-1.654 2.363-.986 6.471-8.318 5.986-1.708.284-2.57 2.233-2.57 2.233",fill:"#FFC6A0"}),n.createElement("path",{d:"M52.44 77.672s14.217 9.406 24.973 14.444c1.061.497-2.094 16.183-11.892 11.811-7.436-3.318-20.162-8.44-21.482-14.496-.71-3.258 2.543-7.643 8.401-11.76M141.862 80.113s-6.693 2.999-13.844 6.876c-3.894 2.11-10.137 4.704-12.33 7.988-6.224 9.314 3.536 11.22 12.947 7.503 6.71-2.651 28.999-12.127 13.227-22.367",fill:"#FFB594"}),n.createElement("path",{d:"M76.166 66.36l3.06 3.881s-2.783 2.67-6.31 5.747c-7.103 6.195-12.803 14.296-15.995 16.44-3.966 2.662-9.754 3.314-12.177-.118-3.553-5.032.464-14.628 31.422-25.95",fill:"#FFC6A0"}),n.createElement("path",{d:"M64.674 85.116s-2.34 8.413-8.912 14.447c.652.548 18.586 10.51 22.144 10.056 5.238-.669 6.417-18.968 1.145-20.531-.702-.208-5.901-1.286-8.853-2.167-.87-.26-1.611-1.71-3.545-.936l-1.98-.869zM128.362 85.826s5.318 1.956 7.325 13.734c-.546.274-17.55 12.35-21.829 7.805-6.534-6.94-.766-17.393 4.275-18.61 4.646-1.121 5.03-1.37 10.23-2.929",fill:"#FFF"}),n.createElement("path",{d:"M78.18 94.656s.911 7.41-4.914 13.078",stroke:"#E4EBF7",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M87.397 94.68s3.124 2.572 10.263 2.572c7.14 0 9.074-3.437 9.074-3.437",stroke:"#E4EBF7",strokeWidth:".932",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M117.184 68.639l-6.781-6.177s-5.355-4.314-9.223-.893c-3.867 3.422 4.463 2.083 5.653 4.165 1.19 2.082.848 1.143-2.083.446-5.603-1.331-2.082.893 2.975 5.355 2.091 1.845 6.992.955 6.992.955l2.467-3.851z",fill:"#FFC6A0"}),n.createElement("path",{d:"M105.282 91.315l-.297-10.937-15.918-.027-.53 10.45c-.026.403.17.788.515.999 2.049 1.251 9.387 5.093 15.799.424.287-.21.443-.554.431-.91",fill:"#FFB594"}),n.createElement("path",{d:"M107.573 74.24c.817-1.147.982-9.118 1.015-11.928a1.046 1.046 0 0 0-.965-1.055l-4.62-.365c-7.71-1.044-17.071.624-18.253 6.346-5.482 5.813-.421 13.244-.421 13.244s1.963 3.566 4.305 6.791c.756 1.041.398-3.731 3.04-5.929 5.524-4.594 15.899-7.103 15.899-7.103",fill:"#5C2552"}),n.createElement("path",{d:"M88.426 83.206s2.685 6.202 11.602 6.522c7.82.28 8.973-7.008 7.434-17.505l-.909-5.483c-6.118-2.897-15.478.54-15.478.54s-.576 2.044-.19 5.504c-2.276 2.066-1.824 5.618-1.824 5.618s-.905-1.922-1.98-2.321c-.86-.32-1.897.089-2.322 1.98-1.04 4.632 3.667 5.145 3.667 5.145",fill:"#FFC6A0"}),n.createElement("path",{stroke:"#DB836E",strokeWidth:"1.145",strokeLinecap:"round",strokeLinejoin:"round",d:"M100.843 77.099l1.701-.928-1.015-4.324.674-1.406"}),n.createElement("path",{d:"M105.546 74.092c-.022.713-.452 1.279-.96 1.263-.51-.016-.904-.607-.882-1.32.021-.713.452-1.278.96-1.263.51.016.904.607.882 1.32M97.592 74.349c-.022.713-.452 1.278-.961 1.263-.509-.016-.904-.607-.882-1.32.022-.713.452-1.279.961-1.263.51.016.904.606.882 1.32",fill:"#552950"}),n.createElement("path",{d:"M91.132 86.786s5.269 4.957 12.679 2.327",stroke:"#DB836E",strokeWidth:"1.145",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M99.776 81.903s-3.592.232-1.44-2.79c1.59-1.496 4.897-.46 4.897-.46s1.156 3.906-3.457 3.25",fill:"#DB836E"}),n.createElement("path",{d:"M102.88 70.6s2.483.84 3.402.715M93.883 71.975s2.492-1.144 4.778-1.073",stroke:"#5C2552",strokeWidth:"1.526",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M86.32 77.374s.961.879 1.458 2.106c-.377.48-1.033 1.152-.236 1.809M99.337 83.719s1.911.151 2.509-.254",stroke:"#DB836E",strokeWidth:"1.145",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M87.782 115.821l15.73-3.012M100.165 115.821l10.04-2.008",stroke:"#E4EBF7",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M66.508 86.763s-1.598 8.83-6.697 14.078",stroke:"#E4EBF7",strokeWidth:"1.114",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M128.31 87.934s3.013 4.121 4.06 11.785",stroke:"#E4EBF7",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M64.09 84.816s-6.03 9.912-13.607 9.903",stroke:"#DB836E",strokeWidth:".795",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M112.366 65.909l-.142 5.32s5.993 4.472 11.945 9.202c4.482 3.562 8.888 7.455 10.985 8.662 4.804 2.766 8.9 3.355 11.076 1.808 4.071-2.894 4.373-9.878-8.136-15.263-4.271-1.838-16.144-6.36-25.728-9.73",fill:"#FFC6A0"}),n.createElement("path",{d:"M130.532 85.488s4.588 5.757 11.619 6.214",stroke:"#DB836E",strokeWidth:".75",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M121.708 105.73s-.393 8.564-1.34 13.612",stroke:"#E4EBF7",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M115.784 161.512s-3.57-1.488-2.678-7.14",stroke:"#648BD8",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M101.52 290.246s4.326 2.057 7.408 1.03c2.842-.948 4.564.673 7.132 1.186 2.57.514 6.925 1.108 11.772-1.269-.104-5.551-6.939-4.01-12.048-6.763-2.582-1.39-3.812-4.757-3.625-8.863h-9.471s-1.402 10.596-1.169 14.68",fill:"#CBD1D1"}),n.createElement("path",{d:"M101.496 290.073s2.447 1.281 6.809.658c3.081-.44 3.74.485 7.479 1.039 3.739.554 10.802-.07 11.91-.9.415 1.108-.347 2.077-.347 2.077s-1.523.608-4.847.831c-2.045.137-5.843.293-7.663-.507-1.8-1.385-5.286-1.917-5.77-.243-3.947.958-7.41-.288-7.41-.288l-.16-2.667z",fill:"#2B0849"}),n.createElement("path",{d:"M108.824 276.19h3.116s-.103 6.751 4.57 8.62c-4.673.624-8.62-2.32-7.686-8.62",fill:"#A4AABA"}),n.createElement("path",{d:"M57.65 272.52s-2.122 7.47-4.518 12.396c-1.811 3.724-4.255 7.548 5.505 7.548 6.698 0 9.02-.483 7.479-6.648-1.541-6.164.268-13.296.268-13.296H57.65z",fill:"#CBD1D1"}),n.createElement("path",{d:"M51.54 290.04s2.111 1.178 6.682 1.178c6.128 0 8.31-1.662 8.31-1.662s.605 1.122-.624 2.18c-1 .862-3.624 1.603-7.444 1.559-4.177-.049-5.876-.57-6.786-1.177-.831-.554-.692-1.593-.138-2.078",fill:"#2B0849"}),n.createElement("path",{d:"M58.533 274.438s.034 1.529-.315 2.95c-.352 1.431-1.087 3.127-1.139 4.17-.058 1.16 4.57 1.592 5.194.035.623-1.559 1.303-6.475 1.927-7.306.622-.831-4.94-2.135-5.667.15",fill:"#A4AABA"}),n.createElement("path",{d:"M100.885 277.015l13.306.092s1.291-54.228 1.843-64.056c.552-9.828 3.756-43.13.997-62.788l-12.48-.64-22.725.776s-.433 3.944-1.19 9.921c-.062.493-.677.838-.744 1.358-.075.582.42 1.347.318 1.956-2.35 14.003-6.343 32.926-8.697 46.425-.116.663-1.227 1.004-1.45 2.677-.04.3.21 1.516.112 1.785-6.836 18.643-10.89 47.584-14.2 61.551l14.528-.014s2.185-8.524 4.008-16.878c2.796-12.817 22.987-84.553 22.987-84.553l3-.517 1.037 46.1s-.223 1.228.334 2.008c.558.782-.556 1.117-.39 2.233l.39 1.784s-.446 7.14-.892 11.826c-.446 4.685-.092 38.954-.092 38.954",fill:"#7BB2F9"}),n.createElement("path",{d:"M77.438 220.434c1.146.094 4.016-2.008 6.916-4.91M107.55 223.931s2.758-1.103 6.069-3.862",stroke:"#648BD8",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M108.459 220.905s2.759-1.104 6.07-3.863",stroke:"#648BD8",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M76.099 223.557s2.608-.587 6.47-3.346M87.33 150.82c-.27 3.088.297 8.478-4.315 9.073M104.829 149.075s.11 13.936-1.286 14.983c-2.207 1.655-2.975 1.934-2.975 1.934M101.014 149.63s.035 12.81-1.19 24.245M94.93 174.965s7.174-1.655 9.38-1.655M75.671 204.754c-.316 1.55-.64 3.067-.973 4.535 0 0-1.45 1.822-1.003 3.756.446 1.934-.943 2.034-4.96 15.273-1.686 5.559-4.464 18.49-6.313 27.447-.078.38-4.018 18.06-4.093 18.423M77.043 196.743a313.269 313.269 0 0 1-.877 4.729M83.908 151.414l-1.19 10.413s-1.091.148-.496 2.23c.111 1.34-2.66 15.692-5.153 30.267M57.58 272.94h13.238",stroke:"#648BD8",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"}),n.createElement("path",{d:"M117.377 147.423s-16.955-3.087-35.7.199c.157 2.501-.002 4.128-.002 4.128s14.607-2.802 35.476-.31c.251-2.342.226-4.017.226-4.017",fill:"#192064"}),n.createElement("path",{d:"M107.511 150.353l.004-4.885a.807.807 0 0 0-.774-.81c-2.428-.092-5.04-.108-7.795-.014a.814.814 0 0 0-.784.81l-.003 4.88c0 .456.371.82.827.808a140.76 140.76 0 0 1 7.688.017.81.81 0 0 0 .837-.806",fill:"#FFF"}),n.createElement("path",{d:"M106.402 149.426l.002-3.06a.64.64 0 0 0-.616-.643 94.135 94.135 0 0 0-5.834-.009.647.647 0 0 0-.626.643l-.001 3.056c0 .36.291.648.651.64 1.78-.04 3.708-.041 5.762.012.36.009.662-.279.662-.64",fill:"#192064"}),n.createElement("path",{d:"M101.485 273.933h12.272M102.652 269.075c.006 3.368.04 5.759.11 6.47M102.667 263.125c-.009 1.53-.015 2.98-.016 4.313M102.204 174.024l.893 44.402s.669 1.561-.224 2.677c-.892 1.116 2.455.67.893 2.231-1.562 1.562.893 1.116 0 3.347-.592 1.48-.988 20.987-1.09 34.956",stroke:"#648BD8",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"}))),Z=e(52628),D=e(22151);const L=H=>{const{componentCls:k,lineHeightHeading3:A,iconCls:Y,padding:de,paddingXL:me,paddingXS:ve,paddingLG:be,marginXS:Pe,lineHeight:Je}=H;return{[k]:{padding:`${be*2}px ${me}px`,"&-rtl":{direction:"rtl"}},[`${k} ${k}-image`]:{width:H.imageWidth,height:H.imageHeight,margin:"auto"},[`${k} ${k}-icon`]:{marginBottom:be,textAlign:"center",[`& > ${Y}`]:{fontSize:H.iconFontSize}},[`${k} ${k}-title`]:{color:H.colorTextHeading,fontSize:H.titleFontSize,lineHeight:A,marginBlock:Pe,textAlign:"center"},[`${k} ${k}-subtitle`]:{color:H.colorTextDescription,fontSize:H.subtitleFontSize,lineHeight:Je,textAlign:"center"},[`${k} ${k}-content`]:{marginTop:be,padding:`${be}px ${de*2.5}px`,backgroundColor:H.colorFillAlter},[`${k} ${k}-extra`]:{margin:H.extraMargin,textAlign:"center","& > *":{marginInlineEnd:ve,"&:last-child":{marginInlineEnd:0}}}}},j=H=>{const{componentCls:k,iconCls:A}=H;return{[`${k}-success ${k}-icon > ${A}`]:{color:H.resultSuccessIconColor},[`${k}-error ${k}-icon > ${A}`]:{color:H.resultErrorIconColor},[`${k}-info ${k}-icon > ${A}`]:{color:H.resultInfoIconColor},[`${k}-warning ${k}-icon > ${A}`]:{color:H.resultWarningIconColor}}},G=H=>[L(H),j(H)],W=H=>G(H);var ne=(0,Z.Z)("Result",H=>{const k=H.colorInfo,A=H.colorError,Y=H.colorSuccess,de=H.colorWarning,me=(0,D.TS)(H,{resultInfoIconColor:k,resultErrorIconColor:A,resultSuccessIconColor:Y,resultWarningIconColor:de,imageWidth:250,imageHeight:295});return[W(me)]},H=>({titleFontSize:H.fontSizeHeading3,subtitleFontSize:H.fontSize,iconFontSize:H.fontSizeHeading3*3,extraMargin:`${H.paddingLG}px 0 0 0`}));const _={success:a.Z,error:t.Z,info:o.Z,warning:g},ee={404:x,500:U,403:N},se=Object.keys(ee),Q=H=>{let{prefixCls:k,icon:A,status:Y}=H;const de=h()(`${k}-icon`);if(se.includes(`${Y}`)){const ve=ee[Y];return n.createElement("div",{className:`${de} ${k}-image`},n.createElement(ve,null))}const me=n.createElement(_[Y]);return A===null||A===!1?null:n.createElement("div",{className:de},A||me)},C=H=>{let{prefixCls:k,extra:A}=H;return A?n.createElement("div",{className:`${k}-extra`},A):null},X=H=>{let{prefixCls:k,className:A,rootClassName:Y,subTitle:de,title:me,style:ve,children:be,status:Pe="info",icon:Je,extra:qe}=H;const{getPrefixCls:Xe,direction:mt,result:Ct}=n.useContext(S.E_),vt=Xe("result",k),[Ht,ke]=ne(vt),Ve=h()(vt,`${vt}-${Pe}`,A,Ct==null?void 0:Ct.className,Y,{[`${vt}-rtl`]:mt==="rtl"},ke),ot=Object.assign(Object.assign({},Ct==null?void 0:Ct.style),ve);return Ht(n.createElement("div",{className:Ve,style:ot},n.createElement(Q,{prefixCls:vt,status:Pe,icon:Je}),n.createElement("div",{className:`${vt}-title`},me),de&&n.createElement("div",{className:`${vt}-subtitle`},de),n.createElement(C,{prefixCls:vt,extra:qe}),be&&n.createElement("div",{className:`${vt}-content`},be)))};X.PRESENTED_IMAGE_403=ee[403],X.PRESENTED_IMAGE_404=ee[404],X.PRESENTED_IMAGE_500=ee[500];var O=X},59504:function(b,y,e){"use strict";var a=e(87608),t=e.n(a),o=e(18510),s=e(98186),n=e(58757),d=e(15018),l=e(90881),c=e(41496),m=e(61836),g=e(92428),M=e(10401),h=e(58785),S=e(81496),w=e(43528),x=e(92493),z=e(25639),U=e(61698),T=e(29701),N=function(G,W){var ne={};for(var _ in G)Object.prototype.hasOwnProperty.call(G,_)&&W.indexOf(_)<0&&(ne[_]=G[_]);if(G!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ee=0,_=Object.getOwnPropertySymbols(G);ee<_.length;ee++)W.indexOf(_[ee])<0&&Object.prototype.propertyIsEnumerable.call(G,_[ee])&&(ne[_[ee]]=G[_[ee]]);return ne};const Z="SECRET_COMBOBOX_MODE_DO_NOT_USE",D=(G,W)=>{var ne,{prefixCls:_,bordered:ee=!0,className:se,rootClassName:Q,getPopupContainer:C,popupClassName:X,dropdownClassName:O,listHeight:H=256,placement:k,listItemHeight:A=24,size:Y,disabled:de,notFoundContent:me,status:ve,builtinPlacements:be,dropdownMatchSelectWidth:Pe,popupMatchSelectWidth:Je,direction:qe,style:Xe,allowClear:mt}=G,Ct=N(G,["prefixCls","bordered","className","rootClassName","getPopupContainer","popupClassName","dropdownClassName","listHeight","placement","listItemHeight","size","disabled","notFoundContent","status","builtinPlacements","dropdownMatchSelectWidth","popupMatchSelectWidth","direction","style","allowClear"]);const{getPopupContainer:vt,getPrefixCls:Ht,renderEmpty:ke,direction:Ve,virtual:ot,popupMatchSelectWidth:Ke,popupOverflow:he,select:J}=n.useContext(m.E_),V=Ht("select",_),R=Ht(),P=qe!=null?qe:Ve,{compactSize:B,compactItemClassnames:ge}=(0,w.ri)(V,P),[ie,pe]=(0,x.Z)(V),Oe=n.useMemo(()=>{const{mode:wt}=Ct;if(wt!=="combobox")return wt===Z?"combobox":wt},[Ct.mode]),xe=Oe==="multiple"||Oe==="tags",Se=(0,U.Z)(Ct.suffixIcon,Ct.showArrow),$e=(ne=Je!=null?Je:Pe)!==null&&ne!==void 0?ne:Ke,{status:re,hasFeedback:oe,isFormItemInput:q,feedbackIcon:ue}=n.useContext(S.aM),Ee=(0,c.F)(re,ve);let le;me!==void 0?le=me:Oe==="combobox"?le=null:le=(ke==null?void 0:ke("Select"))||n.createElement(M.Z,{componentName:"Select"});const{suffixIcon:Ne,itemIcon:Ae,removeIcon:we,clearIcon:Re}=(0,T.Z)(Object.assign(Object.assign({},Ct),{multiple:xe,hasFeedback:oe,feedbackIcon:ue,showSuffixIcon:Se,prefixCls:V,showArrow:Ct.showArrow,componentName:"Select"})),st=mt===!0?{clearIcon:Re}:mt,nt=(0,s.Z)(Ct,["suffixIcon","itemIcon"]),_e=t()(X||O,{[`${V}-dropdown-${P}`]:P==="rtl"},Q,pe),We=(0,h.Z)(wt=>{var Pt;return(Pt=Y!=null?Y:B)!==null&&Pt!==void 0?Pt:wt}),Be=n.useContext(g.Z),it=de!=null?de:Be,Ge=t()({[`${V}-lg`]:We==="large",[`${V}-sm`]:We==="small",[`${V}-rtl`]:P==="rtl",[`${V}-borderless`]:!ee,[`${V}-in-form-item`]:q},(0,c.Z)(V,Ee,oe),ge,J==null?void 0:J.className,se,Q,pe),Ot=n.useMemo(()=>k!==void 0?k:P==="rtl"?"bottomRight":"bottomLeft",[k,P]),$t=(0,z.Z)(be,he);return ie(n.createElement(o.ZP,Object.assign({ref:W,virtual:ot,showSearch:J==null?void 0:J.showSearch},nt,{style:Object.assign(Object.assign({},J==null?void 0:J.style),Xe),dropdownMatchSelectWidth:$e,builtinPlacements:$t,transitionName:(0,l.m)(R,"slide-up",Ct.transitionName),listHeight:H,listItemHeight:A,mode:Oe,prefixCls:V,placement:Ot,direction:P,suffixIcon:Ne,menuItemSelectedIcon:Ae,removeIcon:we,allowClear:st,notFoundContent:le,className:Ge,getPopupContainer:C||vt,dropdownClassName:_e,disabled:it})))},L=n.forwardRef(D),j=(0,d.Z)(L);L.SECRET_COMBOBOX_MODE_DO_NOT_USE=Z,L.Option=o.Wx,L.OptGroup=o.Xo,L._InternalPanelDoNotUseOrYouWillBeFired=j,y.Z=L},92493:function(b,y,e){"use strict";e.d(y,{Z:function(){return L}});var a=e(78330),t=e(64493),o=e(22151),s=e(52628),n=e(1016),d=e(1546);const l=j=>{const{controlPaddingHorizontal:G,controlHeight:W,fontSize:ne,lineHeight:_}=j;return{position:"relative",display:"block",minHeight:W,padding:`${(W-ne*_)/2}px ${G}px`,color:j.colorText,fontWeight:"normal",fontSize:ne,lineHeight:_,boxSizing:"border-box"}};var m=j=>{const{antCls:G,componentCls:W}=j,ne=`${W}-item`,_=`&${G}-slide-up-enter${G}-slide-up-enter-active`,ee=`&${G}-slide-up-appear${G}-slide-up-appear-active`,se=`&${G}-slide-up-leave${G}-slide-up-leave-active`,Q=`${W}-dropdown-placement-`;return[{[`${W}-dropdown`]:Object.assign(Object.assign({},(0,a.Wf)(j)),{position:"absolute",top:-9999,zIndex:j.zIndexPopup,boxSizing:"border-box",padding:j.paddingXXS,overflow:"hidden",fontSize:j.fontSize,fontVariant:"initial",backgroundColor:j.colorBgElevated,borderRadius:j.borderRadiusLG,outline:"none",boxShadow:j.boxShadowSecondary,[` + ${_}${Q}bottomLeft, + ${ee}${Q}bottomLeft + `]:{animationName:n.fJ},[` + ${_}${Q}topLeft, + ${ee}${Q}topLeft, + ${_}${Q}topRight, + ${ee}${Q}topRight + `]:{animationName:n.Qt},[`${se}${Q}bottomLeft`]:{animationName:n.Uw},[` + ${se}${Q}topLeft, + ${se}${Q}topRight + `]:{animationName:n.ly},"&-hidden":{display:"none"},[`${ne}`]:Object.assign(Object.assign({},l(j)),{cursor:"pointer",transition:`background ${j.motionDurationSlow} ease`,borderRadius:j.borderRadiusSM,"&-group":{color:j.colorTextDescription,fontSize:j.fontSizeSM,cursor:"default"},"&-option":{display:"flex","&-content":Object.assign({flex:"auto"},a.vS),"&-state":{flex:"none",display:"flex",alignItems:"center"},[`&-active:not(${ne}-option-disabled)`]:{backgroundColor:j.controlItemBgHover},[`&-selected:not(${ne}-option-disabled)`]:{color:j.colorText,fontWeight:j.fontWeightStrong,backgroundColor:j.controlItemBgActive,[`${ne}-option-state`]:{color:j.colorPrimary}},"&-disabled":{[`&${ne}-option-selected`]:{backgroundColor:j.colorBgContainerDisabled},color:j.colorTextDisabled,cursor:"not-allowed"},"&-grouped":{paddingInlineStart:j.controlPaddingHorizontal*2}}}),"&-rtl":{direction:"rtl"}})},(0,n.oN)(j,"slide-up"),(0,n.oN)(j,"slide-down"),(0,d.Fm)(j,"move-up"),(0,d.Fm)(j,"move-down")]};const g=2,M=j=>{let{controlHeightSM:G,controlHeight:W,lineWidth:ne}=j;const _=(W-G)/2-ne,ee=Math.ceil(_/2);return[_,ee]};function h(j,G){const{componentCls:W,iconCls:ne}=j,_=`${W}-selection-overflow`,ee=j.controlHeightSM,[se]=M(j),Q=G?`${W}-${G}`:"";return{[`${W}-multiple${Q}`]:{fontSize:j.fontSize,[_]:{position:"relative",display:"flex",flex:"auto",flexWrap:"wrap",maxWidth:"100%","&-item":{flex:"none",alignSelf:"center",maxWidth:"100%",display:"inline-flex"}},[`${W}-selector`]:{display:"flex",flexWrap:"wrap",alignItems:"center",padding:`${se-g}px ${g*2}px`,borderRadius:j.borderRadius,[`${W}-show-search&`]:{cursor:"text"},[`${W}-disabled&`]:{background:j.colorBgContainerDisabled,cursor:"not-allowed"},"&:after":{display:"inline-block",width:0,margin:`${g}px 0`,lineHeight:`${ee}px`,visibility:"hidden",content:'"\\a0"'}},[` + &${W}-show-arrow ${W}-selector, + &${W}-allow-clear ${W}-selector + `]:{paddingInlineEnd:j.fontSizeIcon+j.controlPaddingHorizontal},[`${W}-selection-item`]:{position:"relative",display:"flex",flex:"none",boxSizing:"border-box",maxWidth:"100%",height:ee,marginTop:g,marginBottom:g,lineHeight:`${ee-j.lineWidth*2}px`,background:j.colorFillSecondary,borderRadius:j.borderRadiusSM,cursor:"default",transition:`font-size ${j.motionDurationSlow}, line-height ${j.motionDurationSlow}, height ${j.motionDurationSlow}`,userSelect:"none",marginInlineEnd:g*2,paddingInlineStart:j.paddingXS,paddingInlineEnd:j.paddingXS/2,[`${W}-disabled&`]:{color:j.colorTextDisabled,cursor:"not-allowed"},"&-content":{display:"inline-block",marginInlineEnd:j.paddingXS/2,overflow:"hidden",whiteSpace:"pre",textOverflow:"ellipsis"},"&-remove":Object.assign(Object.assign({},(0,a.Ro)()),{display:"inline-flex",alignItems:"center",color:j.colorIcon,fontWeight:"bold",fontSize:10,lineHeight:"inherit",cursor:"pointer",[`> ${ne}`]:{verticalAlign:"-0.2em"},"&:hover":{color:j.colorIconHover}})},[`${_}-item + ${_}-item`]:{[`${W}-selection-search`]:{marginInlineStart:0}},[`${W}-selection-search`]:{display:"inline-flex",position:"relative",maxWidth:"100%",marginInlineStart:j.inputPaddingHorizontalBase-se,[` + &-input, + &-mirror + `]:{height:ee,fontFamily:j.fontFamily,lineHeight:`${ee}px`,transition:`all ${j.motionDurationSlow}`},"&-input":{width:"100%",minWidth:4.1},"&-mirror":{position:"absolute",top:0,insetInlineStart:0,insetInlineEnd:"auto",zIndex:999,whiteSpace:"pre",visibility:"hidden"}},[`${W}-selection-placeholder `]:{position:"absolute",top:"50%",insetInlineStart:j.inputPaddingHorizontalBase,insetInlineEnd:j.inputPaddingHorizontalBase,transform:"translateY(-50%)",transition:`all ${j.motionDurationSlow}`}}}}var w=j=>{const{componentCls:G}=j,W=(0,o.TS)(j,{controlHeight:j.controlHeightSM,controlHeightSM:j.controlHeightXS,borderRadius:j.borderRadiusSM,borderRadiusSM:j.borderRadiusXS}),ne=(0,o.TS)(j,{fontSize:j.fontSizeLG,controlHeight:j.controlHeightLG,controlHeightSM:j.controlHeight,borderRadius:j.borderRadiusLG,borderRadiusSM:j.borderRadius}),[,_]=M(j);return[h(j),h(W,"sm"),{[`${G}-multiple${G}-sm`]:{[`${G}-selection-placeholder`]:{insetInline:j.controlPaddingHorizontalSM-j.lineWidth},[`${G}-selection-search`]:{marginInlineStart:_}}},h(ne,"lg")]};function x(j,G){const{componentCls:W,inputPaddingHorizontalBase:ne,borderRadius:_}=j,ee=j.controlHeight-j.lineWidth*2,se=Math.ceil(j.fontSize*1.25),Q=G?`${W}-${G}`:"";return{[`${W}-single${Q}`]:{fontSize:j.fontSize,[`${W}-selector`]:Object.assign(Object.assign({},(0,a.Wf)(j)),{display:"flex",borderRadius:_,[`${W}-selection-search`]:{position:"absolute",top:0,insetInlineStart:ne,insetInlineEnd:ne,bottom:0,"&-input":{width:"100%"}},[` + ${W}-selection-item, + ${W}-selection-placeholder + `]:{padding:0,lineHeight:`${ee}px`,transition:`all ${j.motionDurationSlow}, visibility 0s`,"@supports (-moz-appearance: meterbar)":{lineHeight:`${ee}px`}},[`${W}-selection-item`]:{position:"relative",userSelect:"none"},[`${W}-selection-placeholder`]:{transition:"none",pointerEvents:"none"},[["&:after",`${W}-selection-item:after`,`${W}-selection-placeholder:after`].join(",")]:{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'}}),[` + &${W}-show-arrow ${W}-selection-item, + &${W}-show-arrow ${W}-selection-placeholder + `]:{paddingInlineEnd:se},[`&${W}-open ${W}-selection-item`]:{color:j.colorTextPlaceholder},[`&:not(${W}-customize-input)`]:{[`${W}-selector`]:{width:"100%",height:j.controlHeight,padding:`0 ${ne}px`,[`${W}-selection-search-input`]:{height:ee},"&:after":{lineHeight:`${ee}px`}}},[`&${W}-customize-input`]:{[`${W}-selector`]:{"&:after":{display:"none"},[`${W}-selection-search`]:{position:"static",width:"100%"},[`${W}-selection-placeholder`]:{position:"absolute",insetInlineStart:0,insetInlineEnd:0,padding:`0 ${ne}px`,"&:after":{display:"none"}}}}}}}function z(j){const{componentCls:G}=j,W=j.controlPaddingHorizontalSM-j.lineWidth;return[x(j),x((0,o.TS)(j,{controlHeight:j.controlHeightSM,borderRadius:j.borderRadiusSM}),"sm"),{[`${G}-single${G}-sm`]:{[`&:not(${G}-customize-input)`]:{[`${G}-selection-search`]:{insetInlineStart:W,insetInlineEnd:W},[`${G}-selector`]:{padding:`0 ${W}px`},[`&${G}-show-arrow ${G}-selection-search`]:{insetInlineEnd:W+j.fontSize*1.5},[` + &${G}-show-arrow ${G}-selection-item, + &${G}-show-arrow ${G}-selection-placeholder + `]:{paddingInlineEnd:j.fontSize*1.5}}}},x((0,o.TS)(j,{controlHeight:j.controlHeightLG,fontSize:j.fontSizeLG,borderRadius:j.borderRadiusLG}),"lg")]}const U=j=>{const{componentCls:G}=j;return{position:"relative",backgroundColor:j.colorBgContainer,border:`${j.lineWidth}px ${j.lineType} ${j.colorBorder}`,transition:`all ${j.motionDurationMid} ${j.motionEaseInOut}`,input:{cursor:"pointer"},[`${G}-show-search&`]:{cursor:"text",input:{cursor:"auto",color:"inherit"}},[`${G}-disabled&`]:{color:j.colorTextDisabled,background:j.colorBgContainerDisabled,cursor:"not-allowed",[`${G}-multiple&`]:{background:j.colorBgContainerDisabled},input:{cursor:"not-allowed"}}}},T=function(j,G){let W=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;const{componentCls:ne,borderHoverColor:_,outlineColor:ee,antCls:se}=G,Q=W?{[`${ne}-selector`]:{borderColor:_}}:{};return{[j]:{[`&:not(${ne}-disabled):not(${ne}-customize-input):not(${se}-pagination-size-changer)`]:Object.assign(Object.assign({},Q),{[`${ne}-focused& ${ne}-selector`]:{borderColor:_,boxShadow:`0 0 0 ${G.controlOutlineWidth}px ${ee}`,outline:0},[`&:hover ${ne}-selector`]:{borderColor:_}})}}},N=j=>{const{componentCls:G}=j;return{[`${G}-selection-search-input`]:{margin:0,padding:0,background:"transparent",border:"none",outline:"none",appearance:"none","&::-webkit-search-cancel-button":{display:"none","-webkit-appearance":"none"}}}},Z=j=>{const{componentCls:G,inputPaddingHorizontalBase:W,iconCls:ne}=j;return{[G]:Object.assign(Object.assign({},(0,a.Wf)(j)),{position:"relative",display:"inline-block",cursor:"pointer",[`&:not(${G}-customize-input) ${G}-selector`]:Object.assign(Object.assign({},U(j)),N(j)),[`${G}-selection-item`]:Object.assign({flex:1,fontWeight:"normal"},a.vS),[`${G}-selection-placeholder`]:Object.assign(Object.assign({},a.vS),{flex:1,color:j.colorTextPlaceholder,pointerEvents:"none"}),[`${G}-arrow`]:Object.assign(Object.assign({},(0,a.Ro)()),{position:"absolute",top:"50%",insetInlineStart:"auto",insetInlineEnd:W,height:j.fontSizeIcon,marginTop:-j.fontSizeIcon/2,color:j.colorTextQuaternary,fontSize:j.fontSizeIcon,lineHeight:1,textAlign:"center",pointerEvents:"none",display:"flex",alignItems:"center",[ne]:{verticalAlign:"top",transition:`transform ${j.motionDurationSlow}`,"> svg":{verticalAlign:"top"},[`&:not(${G}-suffix)`]:{pointerEvents:"auto"}},[`${G}-disabled &`]:{cursor:"not-allowed"},"> *:not(:last-child)":{marginInlineEnd:8}}),[`${G}-clear`]:{position:"absolute",top:"50%",insetInlineStart:"auto",insetInlineEnd:W,zIndex:1,display:"inline-block",width:j.fontSizeIcon,height:j.fontSizeIcon,marginTop:-j.fontSizeIcon/2,color:j.colorTextQuaternary,fontSize:j.fontSizeIcon,fontStyle:"normal",lineHeight:1,textAlign:"center",textTransform:"none",background:j.colorBgContainer,cursor:"pointer",opacity:0,transition:`color ${j.motionDurationMid} ease, opacity ${j.motionDurationSlow} ease`,textRendering:"auto","&:before":{display:"block"},"&:hover":{color:j.colorTextTertiary}},"&:hover":{[`${G}-clear`]:{opacity:1}}}),[`${G}-has-feedback`]:{[`${G}-clear`]:{insetInlineEnd:W+j.fontSize+j.paddingXS}}}},D=j=>{const{componentCls:G}=j;return[{[G]:{[`&-borderless ${G}-selector`]:{backgroundColor:"transparent !important",borderColor:"transparent !important",boxShadow:"none !important"},[`&${G}-in-form-item`]:{width:"100%"}}},Z(j),z(j),w(j),m(j),{[`${G}-rtl`]:{direction:"rtl"}},T(G,(0,o.TS)(j,{borderHoverColor:j.colorPrimaryHover,outlineColor:j.controlOutline})),T(`${G}-status-error`,(0,o.TS)(j,{borderHoverColor:j.colorErrorHover,outlineColor:j.colorErrorOutline}),!0),T(`${G}-status-warning`,(0,o.TS)(j,{borderHoverColor:j.colorWarningHover,outlineColor:j.colorWarningOutline}),!0),(0,t.c)(j,{borderElCls:`${G}-selector`,focusElCls:`${G}-focused`})]};var L=(0,s.Z)("Select",(j,G)=>{let{rootPrefixCls:W}=G;const ne=(0,o.TS)(j,{rootPrefixCls:W,inputPaddingHorizontalBase:j.paddingSM-1});return[D(ne)]},j=>({zIndexPopup:j.zIndexPopupBase+50}))},25639:function(b,y,e){"use strict";e.d(y,{Z:function(){return t}});const a=o=>{const n={overflow:{adjustX:!0,adjustY:!0,shiftY:!0},htmlRegion:o==="scroll"?"scroll":"visible",_experimental:{dynamicInset:!0}};return{bottomLeft:Object.assign(Object.assign({},n),{points:["tl","bl"],offset:[0,4]}),bottomRight:Object.assign(Object.assign({},n),{points:["tr","br"],offset:[0,4]}),topLeft:Object.assign(Object.assign({},n),{points:["bl","tl"],offset:[0,-4]}),topRight:Object.assign(Object.assign({},n),{points:["br","tr"],offset:[0,-4]})}};function t(o,s){return o||a(s)}},61698:function(b,y,e){"use strict";e.d(y,{Z:function(){return a}});function a(t,o){return o!==void 0?o:t!==null}},29701:function(b,y,e){"use strict";e.d(y,{Z:function(){return c}});var a=e(35725),t=e(79999),o=e(52495),s=e(10130),n=e(25755),d=e(99534),l=e(58757);function c(m){let{suffixIcon:g,clearIcon:M,menuItemSelectedIcon:h,removeIcon:S,loading:w,multiple:x,hasFeedback:z,prefixCls:U,showSuffixIcon:T,feedbackIcon:N,showArrow:Z,componentName:D}=m;const L=M!=null?M:l.createElement(t.Z,null),j=_=>g===null&&!z&&!Z?null:l.createElement(l.Fragment,null,T!==!1&&_,z&&N);let G=null;if(g!==void 0)G=j(g);else if(w)G=j(l.createElement(n.Z,{spin:!0}));else{const _=`${U}-suffix`;G=ee=>{let{open:se,showSearch:Q}=ee;return j(se&&Q?l.createElement(d.Z,{className:_}):l.createElement(s.Z,{className:_}))}}let W=null;h!==void 0?W=h:x?W=l.createElement(a.Z,null):W=null;let ne=null;return S!==void 0?ne=S:ne=l.createElement(o.Z,null),{clearIcon:L,suffixIcon:G,itemIcon:W,removeIcon:ne}}},57214:function(b,y,e){"use strict";e.d(y,{Z:function(){return Ke}});var a=e(87608),t=e.n(a),o=e(58757),s=e(61836),n=e(98186),l=he=>{const{prefixCls:J,className:V,style:R,size:P,shape:B}=he,ge=t()({[`${J}-lg`]:P==="large",[`${J}-sm`]:P==="small"}),ie=t()({[`${J}-circle`]:B==="circle",[`${J}-square`]:B==="square",[`${J}-round`]:B==="round"}),pe=o.useMemo(()=>typeof P=="number"?{width:P,height:P,lineHeight:`${P}px`}:{},[P]);return o.createElement("span",{className:t()(J,ge,ie,V),style:Object.assign(Object.assign({},pe),R)})},c=e(57793),m=e(52628),g=e(22151);const M=new c.E4("ant-skeleton-loading",{"0%":{backgroundPosition:"100% 50%"},"100%":{backgroundPosition:"0 50%"}}),h=he=>({height:he,lineHeight:`${he}px`}),S=he=>Object.assign({width:he},h(he)),w=he=>({background:he.skeletonLoadingBackground,backgroundSize:"400% 100%",animationName:M,animationDuration:he.skeletonLoadingMotionDuration,animationTimingFunction:"ease",animationIterationCount:"infinite"}),x=he=>Object.assign({width:he*5,minWidth:he*5},h(he)),z=he=>{const{skeletonAvatarCls:J,gradientFromColor:V,controlHeight:R,controlHeightLG:P,controlHeightSM:B}=he;return{[`${J}`]:Object.assign({display:"inline-block",verticalAlign:"top",background:V},S(R)),[`${J}${J}-circle`]:{borderRadius:"50%"},[`${J}${J}-lg`]:Object.assign({},S(P)),[`${J}${J}-sm`]:Object.assign({},S(B))}},U=he=>{const{controlHeight:J,borderRadiusSM:V,skeletonInputCls:R,controlHeightLG:P,controlHeightSM:B,gradientFromColor:ge}=he;return{[`${R}`]:Object.assign({display:"inline-block",verticalAlign:"top",background:ge,borderRadius:V},x(J)),[`${R}-lg`]:Object.assign({},x(P)),[`${R}-sm`]:Object.assign({},x(B))}},T=he=>Object.assign({width:he},h(he)),N=he=>{const{skeletonImageCls:J,imageSizeBase:V,gradientFromColor:R,borderRadiusSM:P}=he;return{[`${J}`]:Object.assign(Object.assign({display:"flex",alignItems:"center",justifyContent:"center",verticalAlign:"top",background:R,borderRadius:P},T(V*2)),{[`${J}-path`]:{fill:"#bfbfbf"},[`${J}-svg`]:Object.assign(Object.assign({},T(V)),{maxWidth:V*4,maxHeight:V*4}),[`${J}-svg${J}-svg-circle`]:{borderRadius:"50%"}}),[`${J}${J}-circle`]:{borderRadius:"50%"}}},Z=(he,J,V)=>{const{skeletonButtonCls:R}=he;return{[`${V}${R}-circle`]:{width:J,minWidth:J,borderRadius:"50%"},[`${V}${R}-round`]:{borderRadius:J}}},D=he=>Object.assign({width:he*2,minWidth:he*2},h(he)),L=he=>{const{borderRadiusSM:J,skeletonButtonCls:V,controlHeight:R,controlHeightLG:P,controlHeightSM:B,gradientFromColor:ge}=he;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({[`${V}`]:Object.assign({display:"inline-block",verticalAlign:"top",background:ge,borderRadius:J,width:R*2,minWidth:R*2},D(R))},Z(he,R,V)),{[`${V}-lg`]:Object.assign({},D(P))}),Z(he,P,`${V}-lg`)),{[`${V}-sm`]:Object.assign({},D(B))}),Z(he,B,`${V}-sm`))},j=he=>{const{componentCls:J,skeletonAvatarCls:V,skeletonTitleCls:R,skeletonParagraphCls:P,skeletonButtonCls:B,skeletonInputCls:ge,skeletonImageCls:ie,controlHeight:pe,controlHeightLG:Oe,controlHeightSM:xe,gradientFromColor:Se,padding:$e,marginSM:re,borderRadius:oe,titleHeight:q,blockRadius:ue,paragraphLiHeight:Ee,controlHeightXS:le,paragraphMarginTop:Ne}=he;return{[`${J}`]:{display:"table",width:"100%",[`${J}-header`]:{display:"table-cell",paddingInlineEnd:$e,verticalAlign:"top",[`${V}`]:Object.assign({display:"inline-block",verticalAlign:"top",background:Se},S(pe)),[`${V}-circle`]:{borderRadius:"50%"},[`${V}-lg`]:Object.assign({},S(Oe)),[`${V}-sm`]:Object.assign({},S(xe))},[`${J}-content`]:{display:"table-cell",width:"100%",verticalAlign:"top",[`${R}`]:{width:"100%",height:q,background:Se,borderRadius:ue,[`+ ${P}`]:{marginBlockStart:xe}},[`${P}`]:{padding:0,"> li":{width:"100%",height:Ee,listStyle:"none",background:Se,borderRadius:ue,"+ li":{marginBlockStart:le}}},[`${P}> li:last-child:not(:first-child):not(:nth-child(2))`]:{width:"61%"}},[`&-round ${J}-content`]:{[`${R}, ${P} > li`]:{borderRadius:oe}}},[`${J}-with-avatar ${J}-content`]:{[`${R}`]:{marginBlockStart:re,[`+ ${P}`]:{marginBlockStart:Ne}}},[`${J}${J}-element`]:Object.assign(Object.assign(Object.assign(Object.assign({display:"inline-block",width:"auto"},L(he)),z(he)),U(he)),N(he)),[`${J}${J}-block`]:{width:"100%",[`${B}`]:{width:"100%"},[`${ge}`]:{width:"100%"}},[`${J}${J}-active`]:{[` + ${R}, + ${P} > li, + ${V}, + ${B}, + ${ge}, + ${ie} + `]:Object.assign({},w(he))}}};var G=(0,m.Z)("Skeleton",he=>{const{componentCls:J}=he,V=(0,g.TS)(he,{skeletonAvatarCls:`${J}-avatar`,skeletonTitleCls:`${J}-title`,skeletonParagraphCls:`${J}-paragraph`,skeletonButtonCls:`${J}-button`,skeletonInputCls:`${J}-input`,skeletonImageCls:`${J}-image`,imageSizeBase:he.controlHeight*1.5,borderRadius:100,skeletonLoadingBackground:`linear-gradient(90deg, ${he.gradientFromColor} 25%, ${he.gradientToColor} 37%, ${he.gradientFromColor} 63%)`,skeletonLoadingMotionDuration:"1.4s"});return[j(V)]},he=>{const{colorFillContent:J,colorFill:V}=he,R=J,P=V;return{color:R,colorGradientEnd:P,gradientFromColor:R,gradientToColor:P,titleHeight:he.controlHeight/2,blockRadius:he.borderRadiusSM,paragraphMarginTop:he.marginLG+he.marginXXS,paragraphLiHeight:he.controlHeight/2}},{deprecatedTokens:[["color","gradientFromColor"],["colorGradientEnd","gradientToColor"]]}),ne=he=>{const{prefixCls:J,className:V,rootClassName:R,active:P,shape:B="circle",size:ge="default"}=he,{getPrefixCls:ie}=o.useContext(s.E_),pe=ie("skeleton",J),[Oe,xe]=G(pe),Se=(0,n.Z)(he,["prefixCls","className"]),$e=t()(pe,`${pe}-element`,{[`${pe}-active`]:P},V,R,xe);return Oe(o.createElement("div",{className:$e},o.createElement(l,Object.assign({prefixCls:`${pe}-avatar`,shape:B,size:ge},Se))))},ee=he=>{const{prefixCls:J,className:V,rootClassName:R,active:P,block:B=!1,size:ge="default"}=he,{getPrefixCls:ie}=o.useContext(s.E_),pe=ie("skeleton",J),[Oe,xe]=G(pe),Se=(0,n.Z)(he,["prefixCls"]),$e=t()(pe,`${pe}-element`,{[`${pe}-active`]:P,[`${pe}-block`]:B},V,R,xe);return Oe(o.createElement("div",{className:$e},o.createElement(l,Object.assign({prefixCls:`${pe}-button`,size:ge},Se))))};const se="M365.714286 329.142857q0 45.714286-32.036571 77.677714t-77.677714 32.036571-77.677714-32.036571-32.036571-77.677714 32.036571-77.677714 77.677714-32.036571 77.677714 32.036571 32.036571 77.677714zM950.857143 548.571429l0 256-804.571429 0 0-109.714286 182.857143-182.857143 91.428571 91.428571 292.571429-292.571429zM1005.714286 146.285714l-914.285714 0q-7.460571 0-12.873143 5.412571t-5.412571 12.873143l0 694.857143q0 7.460571 5.412571 12.873143t12.873143 5.412571l914.285714 0q7.460571 0 12.873143-5.412571t5.412571-12.873143l0-694.857143q0-7.460571-5.412571-12.873143t-12.873143-5.412571zM1097.142857 164.571429l0 694.857143q0 37.741714-26.843429 64.585143t-64.585143 26.843429l-914.285714 0q-37.741714 0-64.585143-26.843429t-26.843429-64.585143l0-694.857143q0-37.741714 26.843429-64.585143t64.585143-26.843429l914.285714 0q37.741714 0 64.585143 26.843429t26.843429 64.585143z";var C=he=>{const{prefixCls:J,className:V,rootClassName:R,style:P,active:B}=he,{getPrefixCls:ge}=o.useContext(s.E_),ie=ge("skeleton",J),[pe,Oe]=G(ie),xe=t()(ie,`${ie}-element`,{[`${ie}-active`]:B},V,R,Oe);return pe(o.createElement("div",{className:xe},o.createElement("div",{className:t()(`${ie}-image`,V),style:P},o.createElement("svg",{viewBox:"0 0 1098 1024",xmlns:"http://www.w3.org/2000/svg",className:`${ie}-image-svg`},o.createElement("path",{d:se,className:`${ie}-image-path`})))))},O=he=>{const{prefixCls:J,className:V,rootClassName:R,active:P,block:B,size:ge="default"}=he,{getPrefixCls:ie}=o.useContext(s.E_),pe=ie("skeleton",J),[Oe,xe]=G(pe),Se=(0,n.Z)(he,["prefixCls"]),$e=t()(pe,`${pe}-element`,{[`${pe}-active`]:P,[`${pe}-block`]:B},V,R,xe);return Oe(o.createElement("div",{className:$e},o.createElement(l,Object.assign({prefixCls:`${pe}-input`,size:ge},Se))))},H=e(60698),k={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM288 604a64 64 0 10128 0 64 64 0 10-128 0zm118-224a48 48 0 1096 0 48 48 0 10-96 0zm158 228a96 96 0 10192 0 96 96 0 10-192 0zm148-314a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"dot-chart",theme:"outlined"},A=k,Y=e(17202),de=function(J,V){return o.createElement(Y.Z,(0,H.Z)({},J,{ref:V,icon:A}))},me=o.forwardRef(de),be=he=>{const{prefixCls:J,className:V,rootClassName:R,style:P,active:B,children:ge}=he,{getPrefixCls:ie}=o.useContext(s.E_),pe=ie("skeleton",J),[Oe,xe]=G(pe),Se=t()(pe,`${pe}-element`,{[`${pe}-active`]:B},xe,V,R),$e=ge!=null?ge:o.createElement(me,null);return Oe(o.createElement("div",{className:Se},o.createElement("div",{className:t()(`${pe}-image`,V),style:P},$e)))},Pe=e(29140),qe=he=>{const J=ie=>{const{width:pe,rows:Oe=2}=he;if(Array.isArray(pe))return pe[ie];if(Oe-1===ie)return pe},{prefixCls:V,className:R,style:P,rows:B}=he,ge=(0,Pe.Z)(Array(B)).map((ie,pe)=>o.createElement("li",{key:pe,style:{width:J(pe)}}));return o.createElement("ul",{className:t()(V,R),style:P},ge)},mt=he=>{let{prefixCls:J,className:V,width:R,style:P}=he;return o.createElement("h3",{className:t()(J,V),style:Object.assign({width:R},P)})};function Ct(he){return he&&typeof he=="object"?he:{}}function vt(he,J){return he&&!J?{size:"large",shape:"square"}:{size:"large",shape:"circle"}}function Ht(he,J){return!he&&J?{width:"38%"}:he&&J?{width:"50%"}:{}}function ke(he,J){const V={};return(!he||!J)&&(V.width="61%"),!he&&J?V.rows=3:V.rows=2,V}const Ve=he=>{const{prefixCls:J,loading:V,className:R,rootClassName:P,style:B,children:ge,avatar:ie=!1,title:pe=!0,paragraph:Oe=!0,active:xe,round:Se}=he,{getPrefixCls:$e,direction:re,skeleton:oe}=o.useContext(s.E_),q=$e("skeleton",J),[ue,Ee]=G(q);if(V||!("loading"in he)){const le=!!ie,Ne=!!pe,Ae=!!Oe;let we;if(le){const nt=Object.assign(Object.assign({prefixCls:`${q}-avatar`},vt(Ne,Ae)),Ct(ie));we=o.createElement("div",{className:`${q}-header`},o.createElement(l,Object.assign({},nt)))}let Re;if(Ne||Ae){let nt;if(Ne){const We=Object.assign(Object.assign({prefixCls:`${q}-title`},Ht(le,Ae)),Ct(pe));nt=o.createElement(mt,Object.assign({},We))}let _e;if(Ae){const We=Object.assign(Object.assign({prefixCls:`${q}-paragraph`},ke(le,Ne)),Ct(Oe));_e=o.createElement(qe,Object.assign({},We))}Re=o.createElement("div",{className:`${q}-content`},nt,_e)}const st=t()(q,{[`${q}-with-avatar`]:le,[`${q}-active`]:xe,[`${q}-rtl`]:re==="rtl",[`${q}-round`]:Se},oe==null?void 0:oe.className,R,P,Ee);return ue(o.createElement("div",{className:st,style:Object.assign(Object.assign({},oe==null?void 0:oe.style),B)},we,Re))}return typeof ge!="undefined"?ge:null};Ve.Button=ee,Ve.Avatar=ne,Ve.Input=O,Ve.Image=C,Ve.Node=be;var ot=Ve,Ke=ot},94706:function(b,y,e){"use strict";e.d(y,{Z:function(){return R}});var a=e(87608),t=e.n(a),o=e(37734),s=e(29140),n=e(28314),d=e(38790),l=e(58757),c=e(7637),m=e(60409),g=e(60698),M=e(47075),h=e(57370),S=e(29639),w=l.createContext({min:0,max:0,direction:"ltr",step:1,includedStart:0,includedEnd:0,tabIndex:0,keyboard:!0}),x=w;function z(P,B,ge){return(P-B)/(ge-B)}function U(P,B,ge,ie){var pe=z(B,ge,ie),Oe={};switch(P){case"rtl":Oe.right="".concat(pe*100,"%"),Oe.transform="translateX(50%)";break;case"btt":Oe.bottom="".concat(pe*100,"%"),Oe.transform="translateY(50%)";break;case"ttb":Oe.top="".concat(pe*100,"%"),Oe.transform="translateY(-50%)";break;default:Oe.left="".concat(pe*100,"%"),Oe.transform="translateX(-50%)";break}return Oe}function T(P,B){return Array.isArray(P)?P[B]:P}var N=["prefixCls","value","valueIndex","onStartMove","style","render","dragging","onOffsetChange"],Z=l.forwardRef(function(P,B){var ge,ie,pe=P.prefixCls,Oe=P.value,xe=P.valueIndex,Se=P.onStartMove,$e=P.style,re=P.render,oe=P.dragging,q=P.onOffsetChange,ue=(0,M.Z)(P,N),Ee=l.useContext(x),le=Ee.min,Ne=Ee.max,Ae=Ee.direction,we=Ee.disabled,Re=Ee.keyboard,st=Ee.range,nt=Ee.tabIndex,_e=Ee.ariaLabelForHandle,We=Ee.ariaLabelledByForHandle,Be=Ee.ariaValueTextFormatterForHandle,it="".concat(pe,"-handle"),Ge=function(dt){we||Se(dt,xe)},Ot=function(dt){if(!we&&Re){var je=null;switch(dt.which||dt.keyCode){case S.Z.LEFT:je=Ae==="ltr"||Ae==="btt"?-1:1;break;case S.Z.RIGHT:je=Ae==="ltr"||Ae==="btt"?1:-1;break;case S.Z.UP:je=Ae!=="ttb"?1:-1;break;case S.Z.DOWN:je=Ae!=="ttb"?-1:1;break;case S.Z.HOME:je="min";break;case S.Z.END:je="max";break;case S.Z.PAGE_UP:je=2;break;case S.Z.PAGE_DOWN:je=-2;break}je!==null&&(dt.preventDefault(),q(je,xe))}},$t=U(Ae,Oe,le,Ne),wt=l.createElement("div",(0,g.Z)({ref:B,className:t()(it,(ge={},(0,o.Z)(ge,"".concat(it,"-").concat(xe+1),st),(0,o.Z)(ge,"".concat(it,"-dragging"),oe),ge)),style:(0,h.Z)((0,h.Z)({},$t),$e),onMouseDown:Ge,onTouchStart:Ge,onKeyDown:Ot,tabIndex:we?null:T(nt,xe),role:"slider","aria-valuemin":le,"aria-valuemax":Ne,"aria-valuenow":Oe,"aria-disabled":we,"aria-label":T(_e,xe),"aria-labelledby":T(We,xe),"aria-valuetext":(ie=T(Be,xe))===null||ie===void 0?void 0:ie(Oe)},ue));return re&&(wt=re(wt,{index:xe,prefixCls:pe,value:Oe,dragging:oe})),wt}),D=Z,L=["prefixCls","style","onStartMove","onOffsetChange","values","handleRender","draggingIndex"],j=l.forwardRef(function(P,B){var ge=P.prefixCls,ie=P.style,pe=P.onStartMove,Oe=P.onOffsetChange,xe=P.values,Se=P.handleRender,$e=P.draggingIndex,re=(0,M.Z)(P,L),oe=l.useRef({});return l.useImperativeHandle(B,function(){return{focus:function(ue){var Ee;(Ee=oe.current[ue])===null||Ee===void 0||Ee.focus()}}}),l.createElement(l.Fragment,null,xe.map(function(q,ue){return l.createElement(D,(0,g.Z)({ref:function(le){le?oe.current[ue]=le:delete oe.current[ue]},dragging:$e===ue,prefixCls:ge,style:T(ie,ue),key:ue,value:q,valueIndex:ue,onStartMove:pe,onOffsetChange:Oe,render:Se},re))}))}),G=j;function W(P){var B="touches"in P?P.touches[0]:P;return{pageX:B.pageX,pageY:B.pageY}}function ne(P,B,ge,ie,pe,Oe,xe,Se,$e){var re=l.useState(null),oe=(0,n.Z)(re,2),q=oe[0],ue=oe[1],Ee=l.useState(-1),le=(0,n.Z)(Ee,2),Ne=le[0],Ae=le[1],we=l.useState(ge),Re=(0,n.Z)(we,2),st=Re[0],nt=Re[1],_e=l.useState(ge),We=(0,n.Z)(_e,2),Be=We[0],it=We[1],Ge=l.useRef(null),Ot=l.useRef(null);l.useEffect(function(){Ne===-1&&nt(ge)},[ge,Ne]),l.useEffect(function(){return function(){document.removeEventListener("mousemove",Ge.current),document.removeEventListener("mouseup",Ot.current),document.removeEventListener("touchmove",Ge.current),document.removeEventListener("touchend",Ot.current)}},[]);var $t=function(lt,bt){st.some(function(It,Kt){return It!==lt[Kt]})&&(bt!==void 0&&ue(bt),nt(lt),xe(lt))},wt=function(lt,bt){if(lt===-1){var It=Be[0],Kt=Be[Be.length-1],zt=ie-It,Mt=pe-Kt,Le=bt*(pe-ie);Le=Math.max(Le,zt),Le=Math.min(Le,Mt);var Ce=Oe(It+Le);Le=Ce-It;var Et=Be.map(function(_t){return _t+Le});$t(Et)}else{var Tt=(pe-ie)*bt,Ye=(0,s.Z)(st);Ye[lt]=Be[lt];var et=$e(Ye,Tt,lt,"dist");$t(et.values,et.value)}},Pt=l.useRef(wt);Pt.current=wt;var dt=function(lt,bt){lt.stopPropagation();var It=ge[bt];Ae(bt),ue(It),it(ge);var Kt=W(lt),zt=Kt.pageX,Mt=Kt.pageY,Le=function(Tt){Tt.preventDefault();var Ye=W(Tt),et=Ye.pageX,_t=Ye.pageY,Ut=et-zt,qt=_t-Mt,un=P.current.getBoundingClientRect(),Mn=un.width,vn=un.height,Xn;switch(B){case"btt":Xn=-qt/vn;break;case"ttb":Xn=qt/vn;break;case"rtl":Xn=-Ut/Mn;break;default:Xn=Ut/Mn}Pt.current(bt,Xn)},Ce=function Et(Tt){Tt.preventDefault(),document.removeEventListener("mouseup",Et),document.removeEventListener("mousemove",Le),document.removeEventListener("touchend",Et),document.removeEventListener("touchmove",Le),Ge.current=null,Ot.current=null,Ae(-1),Se()};document.addEventListener("mouseup",Ce),document.addEventListener("mousemove",Le),document.addEventListener("touchend",Ce),document.addEventListener("touchmove",Le),Ge.current=Le,Ot.current=Ce},je=l.useMemo(function(){var tt=(0,s.Z)(ge).sort(function(bt,It){return bt-It}),lt=(0,s.Z)(st).sort(function(bt,It){return bt-It});return tt.every(function(bt,It){return bt===lt[It]})?st:ge},[ge,st]);return[Ne,q,je,dt]}function _(P){var B=P.prefixCls,ge=P.style,ie=P.start,pe=P.end,Oe=P.index,xe=P.onStartMove,Se=l.useContext(x),$e=Se.direction,re=Se.min,oe=Se.max,q=Se.disabled,ue=Se.range,Ee="".concat(B,"-track"),le=z(ie,re,oe),Ne=z(pe,re,oe),Ae=function(st){!q&&xe&&xe(st,-1)},we={};switch($e){case"rtl":we.right="".concat(le*100,"%"),we.width="".concat(Ne*100-le*100,"%");break;case"btt":we.bottom="".concat(le*100,"%"),we.height="".concat(Ne*100-le*100,"%");break;case"ttb":we.top="".concat(le*100,"%"),we.height="".concat(Ne*100-le*100,"%");break;default:we.left="".concat(le*100,"%"),we.width="".concat(Ne*100-le*100,"%")}return l.createElement("div",{className:t()(Ee,ue&&"".concat(Ee,"-").concat(Oe+1)),style:(0,h.Z)((0,h.Z)({},we),ge),onMouseDown:Ae,onTouchStart:Ae})}function ee(P){var B=P.prefixCls,ge=P.style,ie=P.values,pe=P.startPoint,Oe=P.onStartMove,xe=l.useContext(x),Se=xe.included,$e=xe.range,re=xe.min,oe=l.useMemo(function(){if(!$e){if(ie.length===0)return[];var q=pe!=null?pe:re,ue=ie[0];return[{start:Math.min(q,ue),end:Math.max(q,ue)}]}for(var Ee=[],le=0;le3&&arguments[3]!==void 0?arguments[3]:"unit";if(typeof Ne=="number"){var Re,st=le[Ae],nt=st+Ne,_e=[];ie.forEach(function(Ot){_e.push(Ot.value)}),_e.push(P,B),_e.push(Se(st));var We=Ne>0?1:-1;we==="unit"?_e.push(Se(st+We*ge)):_e.push(Se(nt)),_e=_e.filter(function(Ot){return Ot!==null}).filter(function(Ot){return Ne<0?Ot<=st:Ot>=st}),we==="unit"&&(_e=_e.filter(function(Ot){return Ot!==st}));var Be=we==="unit"?st:nt;Re=_e[0];var it=Math.abs(Re-Be);if(_e.forEach(function(Ot){var $t=Math.abs(Ot-Be);$t1){var Ge=(0,s.Z)(le);return Ge[Ae]=Re,Ee(Ge,Ne-We,Ae,we)}return Re}else{if(Ne==="min")return P;if(Ne==="max")return B}},oe=function(le,Ne,Ae){var we=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"unit",Re=le[Ae],st=re(le,Ne,Ae,we);return{value:st,changed:st!==Re}},q=function(le){return Oe===null&&le===0||typeof Oe=="number"&&le3&&arguments[3]!==void 0?arguments[3]:"unit",Re=le.map($e),st=Re[Ae],nt=re(Re,Ne,Ae,we);if(Re[Ae]=nt,pe===!1){var _e=Oe||0;Ae>0&&Re[Ae-1]!==st&&(Re[Ae]=Math.max(Re[Ae],Re[Ae-1]+_e)),Ae0;Ge-=1)for(var Ot=!0;q(Re[Ge]-Re[Ge-1])&&Ot;){var $t=oe(Re,-1,Ge-1);Re[Ge-1]=$t.value,Ot=$t.changed}for(var wt=Re.length-1;wt>0;wt-=1)for(var Pt=!0;q(Re[wt]-Re[wt-1])&&Pt;){var dt=oe(Re,-1,wt-1);Re[wt-1]=dt.value,Pt=dt.changed}for(var je=0;je=0?dt:!1},[dt,Wt]),nn=l.useMemo(function(){var ya=Object.keys(Tt||{});return ya.map(function(dr){var Br=Tt[dr],Ea={value:Number(dr)};return Br&&(0,d.Z)(Br)==="object"&&!l.isValidElement(Br)&&("label"in Br||"style"in Br)?(Ea.style=Br.style,Ea.label=Br.label):Ea.label=Br,Ea}).filter(function(dr){var Br=dr.label;return Br||typeof Br=="number"}).sort(function(dr,Br){return dr.value-Br.value})},[Tt]),fn=O(or,er,Wt,nn,wt,en),En=(0,n.Z)(fn,2),on=En[0],pt=En[1],gt=(0,m.Z)(_e,{value:nt}),Xt=(0,n.Z)(gt,2),rn=Xt[0],Jt=Xt[1],pn=l.useMemo(function(){var ya=rn==null?[]:Array.isArray(rn)?rn:[rn],dr=(0,n.Z)(ya,1),Br=dr[0],Ea=Br===void 0?or:Br,ca=rn===null?[]:[Ea];if(We){if(ca=(0,s.Z)(ya),Be||rn===void 0){var Kn=Be>=0?Be+1:2;for(ca=ca.slice(0,Kn);ca.length=0&&vn.current.focus(ya)}sn(null)},[kt]);var xn=l.useMemo(function(){return je&&Wt===null?!1:je},[je,Wt]),Nn=function(){Ot==null||Ot(Zn(mn.current))},gr=ne(Xn,Vn,pn,or,er,on,tr,Nn,pt),nr=(0,n.Z)(gr,4),Rn=nr[0],kr=nr[1],fr=nr[2],ua=nr[3],Pr=function(dr,Br){ua(dr,Br),Ge==null||Ge(Zn(mn.current))},Bn=Rn!==-1;l.useEffect(function(){if(!Bn){var ya=pn.lastIndexOf(kr);vn.current.focus(ya)}},[Bn]);var Cn=l.useMemo(function(){return(0,s.Z)(fr).sort(function(ya,dr){return ya-dr})},[fr]),wn=l.useMemo(function(){return We?[Cn[0],Cn[Cn.length-1]]:[or,Cn[0]]},[Cn,We,or]),ar=(0,n.Z)(wn,2),mr=ar[0],Qr=ar[1];l.useImperativeHandle(B,function(){return{focus:function(){vn.current.focus(0)},blur:function(){var dr=document,Br=dr.activeElement;Xn.current.contains(Br)&&(Br==null||Br.blur())}}}),l.useEffect(function(){q&&vn.current.focus(0)},[]);var qr=l.useMemo(function(){return{min:or,max:er,direction:Vn,disabled:$e,keyboard:oe,step:Wt,included:It,includedStart:mr,includedEnd:Qr,range:We,tabIndex:Ut,ariaLabelForHandle:qt,ariaLabelledByForHandle:un,ariaValueTextFormatterForHandle:Mn}},[or,er,Vn,$e,oe,Wt,It,mr,Qr,We,Ut,qt,un,Mn]);return l.createElement(x.Provider,{value:qr},l.createElement("div",{ref:Xn,className:t()(pe,Oe,(ge={},(0,o.Z)(ge,"".concat(pe,"-disabled"),$e),(0,o.Z)(ge,"".concat(pe,"-vertical"),lt),(0,o.Z)(ge,"".concat(pe,"-horizontal"),!lt),(0,o.Z)(ge,"".concat(pe,"-with-marks"),nn.length),ge)),style:xe,onMouseDown:ct},l.createElement("div",{className:"".concat(pe,"-rail"),style:Le}),l.createElement(ee,{prefixCls:pe,style:zt,values:Cn,startPoint:Kt,onStartMove:xn?Pr:null}),l.createElement(X,{prefixCls:pe,marks:nn,dots:Ye,style:Ce,activeStyle:Et}),l.createElement(G,{ref:vn,prefixCls:pe,style:Mt,values:fr,draggingIndex:Rn,onStartMove:Pr,onOffsetChange:tn,onFocus:ue,onBlur:Ee,handleRender:et}),l.createElement(Q,{prefixCls:pe,marks:nn,onClick:ut})))}),A=k,Y=A,de=e(61836),me=e(92428),ve=e(61834),be=e(21319),Pe=e(74820),qe=l.forwardRef((P,B)=>{const{open:ge}=P,ie=(0,l.useRef)(null),pe=(0,l.useRef)(null);function Oe(){ve.Z.cancel(pe.current),pe.current=null}function xe(){pe.current=(0,ve.Z)(()=>{var Se;(Se=ie.current)===null||Se===void 0||Se.forceAlign(),pe.current=null})}return l.useEffect(()=>(ge?xe():Oe(),Oe),[ge,P.title]),l.createElement(Pe.Z,Object.assign({ref:(0,be.sQ)(ie,B)},P))}),Xe=e(66671),mt=e(78330),Ct=e(52628),vt=e(22151);const Ht=P=>{const{componentCls:B,antCls:ge,controlSize:ie,dotSize:pe,marginFull:Oe,marginPart:xe,colorFillContentHover:Se}=P;return{[B]:Object.assign(Object.assign({},(0,mt.Wf)(P)),{position:"relative",height:ie,margin:`${xe}px ${Oe}px`,padding:0,cursor:"pointer",touchAction:"none",["&-vertical"]:{margin:`${Oe}px ${xe}px`},[`${B}-rail`]:{position:"absolute",backgroundColor:P.railBg,borderRadius:P.borderRadiusXS,transition:`background-color ${P.motionDurationMid}`},[`${B}-track`]:{position:"absolute",backgroundColor:P.trackBg,borderRadius:P.borderRadiusXS,transition:`background-color ${P.motionDurationMid}`},"&:hover":{[`${B}-rail`]:{backgroundColor:P.railHoverBg},[`${B}-track`]:{backgroundColor:P.trackHoverBg},[`${B}-dot`]:{borderColor:Se},[`${B}-handle::after`]:{boxShadow:`0 0 0 ${P.handleLineWidth}px ${P.colorPrimaryBorderHover}`},[`${B}-dot-active`]:{borderColor:P.dotActiveBorderColor}},[`${B}-handle`]:{position:"absolute",width:P.handleSize,height:P.handleSize,outline:"none",[`${B}-dragging`]:{zIndex:1},"&::before":{content:'""',position:"absolute",insetInlineStart:-P.handleLineWidth,insetBlockStart:-P.handleLineWidth,width:P.handleSize+P.handleLineWidth*2,height:P.handleSize+P.handleLineWidth*2,backgroundColor:"transparent"},"&::after":{content:'""',position:"absolute",insetBlockStart:0,insetInlineStart:0,width:P.handleSize,height:P.handleSize,backgroundColor:P.colorBgElevated,boxShadow:`0 0 0 ${P.handleLineWidth}px ${P.handleColor}`,borderRadius:"50%",cursor:"pointer",transition:` + inset-inline-start ${P.motionDurationMid}, + inset-block-start ${P.motionDurationMid}, + width ${P.motionDurationMid}, + height ${P.motionDurationMid}, + box-shadow ${P.motionDurationMid} + `},"&:hover, &:active, &:focus":{"&::before":{insetInlineStart:-((P.handleSizeHover-P.handleSize)/2+P.handleLineWidthHover),insetBlockStart:-((P.handleSizeHover-P.handleSize)/2+P.handleLineWidthHover),width:P.handleSizeHover+P.handleLineWidthHover*2,height:P.handleSizeHover+P.handleLineWidthHover*2},"&::after":{boxShadow:`0 0 0 ${P.handleLineWidthHover}px ${P.handleActiveColor}`,width:P.handleSizeHover,height:P.handleSizeHover,insetInlineStart:(P.handleSize-P.handleSizeHover)/2,insetBlockStart:(P.handleSize-P.handleSizeHover)/2}}},[`${B}-mark`]:{position:"absolute",fontSize:P.fontSize},[`${B}-mark-text`]:{position:"absolute",display:"inline-block",color:P.colorTextDescription,textAlign:"center",wordBreak:"keep-all",cursor:"pointer",userSelect:"none","&-active":{color:P.colorText}},[`${B}-step`]:{position:"absolute",background:"transparent",pointerEvents:"none"},[`${B}-dot`]:{position:"absolute",width:pe,height:pe,backgroundColor:P.colorBgElevated,border:`${P.handleLineWidth}px solid ${P.dotBorderColor}`,borderRadius:"50%",cursor:"pointer",transition:`border-color ${P.motionDurationSlow}`,pointerEvents:"auto","&-active":{borderColor:P.dotActiveBorderColor}},[`&${B}-disabled`]:{cursor:"not-allowed",[`${B}-rail`]:{backgroundColor:`${P.railBg} !important`},[`${B}-track`]:{backgroundColor:`${P.trackBgDisabled} !important`},[` + ${B}-dot + `]:{backgroundColor:P.colorBgElevated,borderColor:P.trackBgDisabled,boxShadow:"none",cursor:"not-allowed"},[`${B}-handle::after`]:{backgroundColor:P.colorBgElevated,cursor:"not-allowed",width:P.handleSize,height:P.handleSize,boxShadow:`0 0 0 ${P.handleLineWidth}px ${new Xe.C(P.colorTextDisabled).onBackground(P.colorBgContainer).toHexShortString()}`,insetInlineStart:0,insetBlockStart:0},[` + ${B}-mark-text, + ${B}-dot + `]:{cursor:"not-allowed !important"}},[`&-tooltip ${ge}-tooltip-inner`]:{minWidth:"unset"}})}},ke=(P,B)=>{const{componentCls:ge,railSize:ie,handleSize:pe,dotSize:Oe}=P,xe=B?"paddingBlock":"paddingInline",Se=B?"width":"height",$e=B?"height":"width",re=B?"insetBlockStart":"insetInlineStart",oe=B?"top":"insetInlineStart";return{[xe]:ie,[$e]:ie*3,[`${ge}-rail`]:{[Se]:"100%",[$e]:ie},[`${ge}-track`]:{[$e]:ie},[`${ge}-handle`]:{[re]:(ie*3-pe)/2},[`${ge}-mark`]:{insetInlineStart:0,top:0,[oe]:ie*3+(B?0:P.marginFull),[Se]:"100%"},[`${ge}-step`]:{insetInlineStart:0,top:0,[oe]:ie,[Se]:"100%",[$e]:ie},[`${ge}-dot`]:{position:"absolute",[re]:(ie-Oe)/2}}},Ve=P=>{const{componentCls:B,marginPartWithMark:ge}=P;return{[`${B}-horizontal`]:Object.assign(Object.assign({},ke(P,!0)),{[`&${B}-with-marks`]:{marginBottom:ge}})}},ot=P=>{const{componentCls:B}=P;return{[`${B}-vertical`]:Object.assign(Object.assign({},ke(P,!1)),{height:"100%"})}};var Ke=(0,Ct.Z)("Slider",P=>{const B=(0,vt.TS)(P,{marginPart:(P.controlHeight-P.controlSize)/2,marginFull:P.controlSize/2,marginPartWithMark:P.controlHeightLG-P.controlSize});return[Ht(B),Ve(B),ot(B)]},P=>{const ge=P.controlHeightLG/4,ie=P.controlHeightSM/2,pe=P.lineWidth+1,Oe=P.lineWidth+1*3;return{controlSize:ge,railSize:4,handleSize:ge,handleSizeHover:ie,dotSize:8,handleLineWidth:pe,handleLineWidthHover:Oe,railBg:P.colorFillTertiary,railHoverBg:P.colorFillSecondary,trackBg:P.colorPrimaryBorder,trackHoverBg:P.colorPrimaryBorderHover,handleColor:P.colorPrimaryBorder,handleActiveColor:P.colorPrimary,dotBorderColor:P.colorBorderSecondary,dotActiveBorderColor:P.colorPrimaryBorder,trackBgDisabled:P.colorBgContainerDisabled}}),he=function(P,B){var ge={};for(var ie in P)Object.prototype.hasOwnProperty.call(P,ie)&&B.indexOf(ie)<0&&(ge[ie]=P[ie]);if(P!=null&&typeof Object.getOwnPropertySymbols=="function")for(var pe=0,ie=Object.getOwnPropertySymbols(P);petypeof P=="number"?P.toString():"";var R=l.forwardRef((P,B)=>{const{prefixCls:ge,range:ie,className:pe,rootClassName:Oe,style:xe,disabled:Se,tooltipPrefixCls:$e,tipFormatter:re,tooltipVisible:oe,getTooltipPopupContainer:q,tooltipPlacement:ue}=P,Ee=he(P,["prefixCls","range","className","rootClassName","style","disabled","tooltipPrefixCls","tipFormatter","tooltipVisible","getTooltipPopupContainer","tooltipPlacement"]),{direction:le,slider:Ne,getPrefixCls:Ae,getPopupContainer:we}=l.useContext(de.E_),Re=l.useContext(me.Z),st=Se!=null?Se:Re,[nt,_e]=l.useState({}),We=(tt,lt)=>{_e(bt=>Object.assign(Object.assign({},bt),{[tt]:lt}))},Be=(tt,lt)=>tt||(lt?le==="rtl"?"left":"right":"top"),it=Ae("slider",ge),[Ge,Ot]=Ke(it),$t=t()(pe,Ne==null?void 0:Ne.className,Oe,{[`${it}-rtl`]:le==="rtl"},Ot);le==="rtl"&&!Ee.vertical&&(Ee.reverse=!Ee.reverse);const[wt,Pt]=l.useMemo(()=>ie?typeof ie=="object"?[!0,ie.draggableTrack]:[!0,!1]:[!1],[ie]),dt=(tt,lt)=>{var bt;const{index:It,dragging:Kt}=lt,{tooltip:zt={},vertical:Mt}=P,Le=Object.assign({},zt),{open:Ce,placement:Et,getPopupContainer:Tt,prefixCls:Ye,formatter:et}=Le;let _t;et||et===null?_t=et:re||re===null?_t=re:_t=J;const Ut=_t?nt[It]||Kt:!1,qt=(bt=Ce!=null?Ce:oe)!==null&&bt!==void 0?bt:Ce===void 0&&Ut,un=Object.assign(Object.assign({},tt.props),{onMouseEnter:()=>We(It,!0),onMouseLeave:()=>We(It,!1)}),Mn=Ae("tooltip",Ye!=null?Ye:$e);return l.createElement(qe,Object.assign({},Le,{prefixCls:Mn,title:_t?_t(lt.value):"",open:qt,placement:Be(Et!=null?Et:ue,Mt),key:It,overlayClassName:`${it}-tooltip`,getPopupContainer:Tt||q||we}),l.cloneElement(tt,un))},je=Object.assign(Object.assign({},Ne==null?void 0:Ne.style),xe);return Ge(l.createElement(Y,Object.assign({},Ee,{step:Ee.step,range:wt,draggableTrack:Pt,className:$t,style:je,disabled:st,ref:B,prefixCls:it,handleRender:dt})))})},43528:function(b,y,e){"use strict";e.d(y,{BR:function(){return M},ri:function(){return g}});var a=e(87608),t=e.n(a),o=e(42156),s=e(58757),n=e(61836),d=e(58785),l=e(21724),c=function(w,x){var z={};for(var U in w)Object.prototype.hasOwnProperty.call(w,U)&&x.indexOf(U)<0&&(z[U]=w[U]);if(w!=null&&typeof Object.getOwnPropertySymbols=="function")for(var T=0,U=Object.getOwnPropertySymbols(w);T{const z=s.useContext(m),U=s.useMemo(()=>{if(!z)return"";const{compactDirection:T,isFirstItem:N,isLastItem:Z}=z,D=T==="vertical"?"-vertical-":"-";return t()(`${w}-compact${D}item`,{[`${w}-compact${D}first-item`]:N,[`${w}-compact${D}last-item`]:Z,[`${w}-compact${D}item-rtl`]:x==="rtl"})},[w,x,z]);return{compactSize:z==null?void 0:z.compactSize,compactDirection:z==null?void 0:z.compactDirection,compactItemClassnames:U}},M=w=>{let{children:x}=w;return s.createElement(m.Provider,{value:null},x)},h=w=>{var{children:x}=w,z=c(w,["children"]);return s.createElement(m.Provider,{value:z},x)},S=w=>{const{getPrefixCls:x,direction:z}=s.useContext(n.E_),{size:U,direction:T,block:N,prefixCls:Z,className:D,rootClassName:L,children:j}=w,G=c(w,["size","direction","block","prefixCls","className","rootClassName","children"]),W=(0,d.Z)(O=>U!=null?U:O),ne=x("space-compact",Z),[_,ee]=(0,l.Z)(ne),se=t()(ne,ee,{[`${ne}-rtl`]:z==="rtl",[`${ne}-block`]:N,[`${ne}-vertical`]:T==="vertical"},D,L),Q=s.useContext(m),C=(0,o.Z)(j),X=s.useMemo(()=>C.map((O,H)=>{const k=O&&O.key||`${ne}-item-${H}`;return s.createElement(h,{key:k,compactSize:W,compactDirection:T,isFirstItem:H===0&&(!Q||(Q==null?void 0:Q.isFirstItem)),isLastItem:H===C.length-1&&(!Q||(Q==null?void 0:Q.isLastItem))},O)}),[U,C,Q]);return C.length===0?null:_(s.createElement("div",Object.assign({className:se},G),X))};y.ZP=S},57414:function(b,y,e){"use strict";e.d(y,{Z:function(){return T}});var a=e(87608),t=e.n(a),o=e(42156),s=e(58757),n=e(69387),d=e(61836),l=e(43528);const c=s.createContext({latestIndex:0,horizontalSize:0,verticalSize:0,supportFlexGap:!1}),m=c.Provider;var M=N=>{let{className:Z,direction:D,index:L,marginDirection:j,children:G,split:W,wrap:ne,style:_}=N;const{horizontalSize:ee,verticalSize:se,latestIndex:Q,supportFlexGap:C}=s.useContext(c);let X={};return C||(D==="vertical"?L{var D,L;const{getPrefixCls:j,space:G,direction:W}=s.useContext(d.E_),{size:ne=(G==null?void 0:G.size)||"small",align:_,className:ee,rootClassName:se,children:Q,direction:C="horizontal",prefixCls:X,split:O,style:H,wrap:k=!1,classNames:A,styles:Y}=N,de=S(N,["size","align","className","rootClassName","children","direction","prefixCls","split","style","wrap","classNames","styles"]),me=(0,n.Z)(),[ve,be]=s.useMemo(()=>(Array.isArray(ne)?ne:[ne,ne]).map(he=>x(he)),[ne]),Pe=(0,o.Z)(Q,{keepEmpty:!0}),Je=_===void 0&&C==="horizontal"?"center":_,qe=j("space",X),[Xe,mt]=(0,h.Z)(qe),Ct=t()(qe,G==null?void 0:G.className,mt,`${qe}-${C}`,{[`${qe}-rtl`]:W==="rtl",[`${qe}-align-${Je}`]:Je},ee,se),vt=t()(`${qe}-item`,(D=A==null?void 0:A.item)!==null&&D!==void 0?D:(L=G==null?void 0:G.classNames)===null||L===void 0?void 0:L.item),Ht=W==="rtl"?"marginLeft":"marginRight";let ke=0;const Ve=Pe.map((he,J)=>{var V,R;he!=null&&(ke=J);const P=he&&he.key||`${vt}-${J}`;return s.createElement(M,{className:vt,key:P,direction:C,index:J,marginDirection:Ht,split:O,wrap:k,style:(V=Y==null?void 0:Y.item)!==null&&V!==void 0?V:(R=G==null?void 0:G.styles)===null||R===void 0?void 0:R.item},he)}),ot=s.useMemo(()=>({horizontalSize:ve,verticalSize:be,latestIndex:ke,supportFlexGap:me}),[ve,be,ke,me]);if(Pe.length===0)return null;const Ke={};return k&&(Ke.flexWrap="wrap",me||(Ke.marginBottom=-be)),me&&(Ke.columnGap=ve,Ke.rowGap=be),Xe(s.createElement("div",Object.assign({ref:Z,className:Ct,style:Object.assign(Object.assign(Object.assign({},Ke),G==null?void 0:G.style),H)},de),s.createElement(m,{value:ot},Ve)))});U.Compact=l.ZP;var T=U},21724:function(b,y,e){"use strict";e.d(y,{Z:function(){return n}});var a=e(52628),o=d=>{const{componentCls:l}=d;return{[l]:{"&-block":{display:"flex",width:"100%"},"&-vertical":{flexDirection:"column"}}}};const s=d=>{const{componentCls:l}=d;return{[l]:{display:"inline-flex","&-rtl":{direction:"rtl"},"&-vertical":{flexDirection:"column"},"&-align":{flexDirection:"column","&-center":{alignItems:"center"},"&-start":{alignItems:"flex-start"},"&-end":{alignItems:"flex-end"},"&-baseline":{alignItems:"baseline"}},[`${l}-item:empty`]:{display:"none"}}}};var n=(0,a.Z)("Space",d=>[s(d),o(d)],()=>({}),{resetStyle:!1})},79233:function(b,y,e){"use strict";e.d(y,{Z:function(){return j}});var a=e(87608),t=e.n(a),o=e(98186),s=e(58757),n=e(70989),d=e(37047),l=e(61836),c=e(57793),m=e(78330),g=e(52628),M=e(22151);const h=new c.E4("antSpinMove",{to:{opacity:1}}),S=new c.E4("antRotate",{to:{transform:"rotate(405deg)"}}),w=G=>({[`${G.componentCls}`]:Object.assign(Object.assign({},(0,m.Wf)(G)),{position:"absolute",display:"none",color:G.colorPrimary,fontSize:0,textAlign:"center",verticalAlign:"middle",opacity:0,transition:`transform ${G.motionDurationSlow} ${G.motionEaseInOutCirc}`,"&-spinning":{position:"static",display:"inline-block",opacity:1},"&-nested-loading":{position:"relative",[`> div > ${G.componentCls}`]:{position:"absolute",top:0,insetInlineStart:0,zIndex:4,display:"block",width:"100%",height:"100%",maxHeight:G.contentHeight,[`${G.componentCls}-dot`]:{position:"absolute",top:"50%",insetInlineStart:"50%",margin:-G.spinDotSize/2},[`${G.componentCls}-text`]:{position:"absolute",top:"50%",width:"100%",paddingTop:(G.spinDotSize-G.fontSize)/2+2,textShadow:`0 1px 2px ${G.colorBgContainer}`,fontSize:G.fontSize},[`&${G.componentCls}-show-text ${G.componentCls}-dot`]:{marginTop:-(G.spinDotSize/2)-10},"&-sm":{[`${G.componentCls}-dot`]:{margin:-G.spinDotSizeSM/2},[`${G.componentCls}-text`]:{paddingTop:(G.spinDotSizeSM-G.fontSize)/2+2},[`&${G.componentCls}-show-text ${G.componentCls}-dot`]:{marginTop:-(G.spinDotSizeSM/2)-10}},"&-lg":{[`${G.componentCls}-dot`]:{margin:-(G.spinDotSizeLG/2)},[`${G.componentCls}-text`]:{paddingTop:(G.spinDotSizeLG-G.fontSize)/2+2},[`&${G.componentCls}-show-text ${G.componentCls}-dot`]:{marginTop:-(G.spinDotSizeLG/2)-10}}},[`${G.componentCls}-container`]:{position:"relative",transition:`opacity ${G.motionDurationSlow}`,"&::after":{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,zIndex:10,width:"100%",height:"100%",background:G.colorBgContainer,opacity:0,transition:`all ${G.motionDurationSlow}`,content:'""',pointerEvents:"none"}},[`${G.componentCls}-blur`]:{clear:"both",opacity:.5,userSelect:"none",pointerEvents:"none",["&::after"]:{opacity:.4,pointerEvents:"auto"}}},["&-tip"]:{color:G.spinDotDefault},[`${G.componentCls}-dot`]:{position:"relative",display:"inline-block",fontSize:G.spinDotSize,width:"1em",height:"1em","&-item":{position:"absolute",display:"block",width:(G.spinDotSize-G.marginXXS/2)/2,height:(G.spinDotSize-G.marginXXS/2)/2,backgroundColor:G.colorPrimary,borderRadius:"100%",transform:"scale(0.75)",transformOrigin:"50% 50%",opacity:.3,animationName:h,animationDuration:"1s",animationIterationCount:"infinite",animationTimingFunction:"linear",animationDirection:"alternate","&:nth-child(1)":{top:0,insetInlineStart:0},"&:nth-child(2)":{top:0,insetInlineEnd:0,animationDelay:"0.4s"},"&:nth-child(3)":{insetInlineEnd:0,bottom:0,animationDelay:"0.8s"},"&:nth-child(4)":{bottom:0,insetInlineStart:0,animationDelay:"1.2s"}},"&-spin":{transform:"rotate(45deg)",animationName:S,animationDuration:"1.2s",animationIterationCount:"infinite",animationTimingFunction:"linear"}},[`&-sm ${G.componentCls}-dot`]:{fontSize:G.spinDotSizeSM,i:{width:(G.spinDotSizeSM-G.marginXXS/2)/2,height:(G.spinDotSizeSM-G.marginXXS/2)/2}},[`&-lg ${G.componentCls}-dot`]:{fontSize:G.spinDotSizeLG,i:{width:(G.spinDotSizeLG-G.marginXXS)/2,height:(G.spinDotSizeLG-G.marginXXS)/2}},[`&${G.componentCls}-show-text ${G.componentCls}-text`]:{display:"block"}})});var x=(0,g.Z)("Spin",G=>{const W=(0,M.TS)(G,{spinDotDefault:G.colorTextDescription,spinDotSize:G.controlHeightLG/2,spinDotSizeSM:G.controlHeightLG*.35,spinDotSizeLG:G.controlHeight});return[w(W)]},{contentHeight:400}),z=function(G,W){var ne={};for(var _ in G)Object.prototype.hasOwnProperty.call(G,_)&&W.indexOf(_)<0&&(ne[_]=G[_]);if(G!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ee=0,_=Object.getOwnPropertySymbols(G);ee<_.length;ee++)W.indexOf(_[ee])<0&&Object.prototype.propertyIsEnumerable.call(G,_[ee])&&(ne[_[ee]]=G[_[ee]]);return ne};const U=null;let T=null;function N(G,W){const{indicator:ne}=W,_=`${G}-dot`;return ne===null?null:(0,d.l$)(ne)?(0,d.Tm)(ne,{className:t()(ne.props.className,_)}):(0,d.l$)(T)?(0,d.Tm)(T,{className:t()(T.props.className,_)}):s.createElement("span",{className:t()(_,`${G}-dot-spin`)},s.createElement("i",{className:`${G}-dot-item`,key:1}),s.createElement("i",{className:`${G}-dot-item`,key:2}),s.createElement("i",{className:`${G}-dot-item`,key:3}),s.createElement("i",{className:`${G}-dot-item`,key:4}))}function Z(G,W){return!!G&&!!W&&!isNaN(Number(W))}const D=G=>{const{spinPrefixCls:W,spinning:ne=!0,delay:_=0,className:ee,rootClassName:se,size:Q="default",tip:C,wrapperClassName:X,style:O,children:H,hashId:k}=G,A=z(G,["spinPrefixCls","spinning","delay","className","rootClassName","size","tip","wrapperClassName","style","children","hashId"]),[Y,de]=s.useState(()=>ne&&!Z(ne,_));s.useEffect(()=>{if(ne){const Ct=(0,n.D)(_,()=>{de(!0)});return Ct(),()=>{var vt;(vt=Ct==null?void 0:Ct.cancel)===null||vt===void 0||vt.call(Ct)}}de(!1)},[_,ne]);const me=s.useMemo(()=>typeof H!="undefined",[H]),{direction:ve,spin:be}=s.useContext(l.E_),Pe=t()(W,be==null?void 0:be.className,{[`${W}-sm`]:Q==="small",[`${W}-lg`]:Q==="large",[`${W}-spinning`]:Y,[`${W}-show-text`]:!!C,[`${W}-rtl`]:ve==="rtl"},ee,se,k),Je=t()(`${W}-container`,{[`${W}-blur`]:Y}),qe=(0,o.Z)(A,["indicator","prefixCls"]),Xe=Object.assign(Object.assign({},be==null?void 0:be.style),O),mt=s.createElement("div",Object.assign({},qe,{style:Xe,className:Pe,"aria-live":"polite","aria-busy":Y}),N(W,G),C&&me?s.createElement("div",{className:`${W}-text`},C):null);return me?s.createElement("div",Object.assign({},qe,{className:t()(`${W}-nested-loading`,X,k)}),Y&&s.createElement("div",{key:"loading"},mt),s.createElement("div",{className:Je,key:"container"},H)):mt},L=G=>{const{prefixCls:W}=G,{getPrefixCls:ne}=s.useContext(l.E_),_=ne("spin",W),[ee,se]=x(_),Q=Object.assign(Object.assign({},G),{spinPrefixCls:_,hashId:se});return ee(s.createElement(D,Object.assign({},Q)))};L.setDefaultIndicator=G=>{T=G};var j=L},64493:function(b,y,e){"use strict";e.d(y,{c:function(){return o}});function a(s,n,d){const{focusElCls:l,focus:c,borderElCls:m}=d,g=m?"> *":"",M=["hover",c?"focus":null,"active"].filter(Boolean).map(h=>`&:${h} ${g}`).join(",");return{[`&-item:not(${n}-last-item)`]:{marginInlineEnd:-s.lineWidth},"&-item":Object.assign(Object.assign({[M]:{zIndex:2}},l?{[`&${l}`]:{zIndex:2}}:{}),{[`&[disabled] ${g}`]:{zIndex:0}})}}function t(s,n,d){const{borderElCls:l}=d,c=l?`> ${l}`:"";return{[`&-item:not(${n}-first-item):not(${n}-last-item) ${c}`]:{borderRadius:0},[`&-item:not(${n}-last-item)${n}-first-item`]:{[`& ${c}, &${s}-sm ${c}, &${s}-lg ${c}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&-item:not(${n}-first-item)${n}-last-item`]:{[`& ${c}, &${s}-sm ${c}, &${s}-lg ${c}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}}}function o(s){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{focus:!0};const{componentCls:d}=s,l=`${d}-compact`;return{[l]:Object.assign(Object.assign({},a(s,l,n)),t(d,l,n))}}},78330:function(b,y,e){"use strict";e.d(y,{Lx:function(){return n},Qy:function(){return c},Ro:function(){return o},Wf:function(){return t},dF:function(){return s},du:function(){return d},oN:function(){return l},vS:function(){return a}});const a={overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},t=m=>({boxSizing:"border-box",margin:0,padding:0,color:m.colorText,fontSize:m.fontSize,lineHeight:m.lineHeight,listStyle:"none",fontFamily:m.fontFamily}),o=()=>({display:"inline-flex",alignItems:"center",color:"inherit",fontStyle:"normal",lineHeight:0,textAlign:"center",textTransform:"none",verticalAlign:"-0.125em",textRendering:"optimizeLegibility","-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale","> *":{lineHeight:1},svg:{display:"inline-block"}}),s=()=>({"&::before":{display:"table",content:'""'},"&::after":{display:"table",clear:"both",content:'""'}}),n=m=>({a:{color:m.colorLink,textDecoration:m.linkDecoration,backgroundColor:"transparent",outline:"none",cursor:"pointer",transition:`color ${m.motionDurationSlow}`,"-webkit-text-decoration-skip":"objects","&:hover":{color:m.colorLinkHover},"&:active":{color:m.colorLinkActive},[`&:active, + &:hover`]:{textDecoration:m.linkHoverDecoration,outline:0},"&:focus":{textDecoration:m.linkFocusDecoration,outline:0},"&[disabled]":{color:m.colorTextDisabled,cursor:"not-allowed"}}}),d=(m,g)=>{const{fontFamily:M,fontSize:h}=m,S=`[class^="${g}"], [class*=" ${g}"]`;return{[S]:{fontFamily:M,fontSize:h,boxSizing:"border-box","&::before, &::after":{boxSizing:"border-box"},[S]:{boxSizing:"border-box","&::before, &::after":{boxSizing:"border-box"}}}}},l=m=>({outline:`${m.lineWidthFocus}px solid ${m.colorPrimaryBorder}`,outlineOffset:1,transition:"outline-offset 0s, outline 0s"}),c=m=>({"&:focus-visible":Object.assign({},l(m))})},41086:function(b,y){"use strict";const e=a=>({[a.componentCls]:{[`${a.antCls}-motion-collapse-legacy`]:{overflow:"hidden","&-active":{transition:`height ${a.motionDurationMid} ${a.motionEaseInOut}, + opacity ${a.motionDurationMid} ${a.motionEaseInOut} !important`}},[`${a.antCls}-motion-collapse`]:{overflow:"hidden",transition:`height ${a.motionDurationMid} ${a.motionEaseInOut}, + opacity ${a.motionDurationMid} ${a.motionEaseInOut} !important`}}});y.Z=e},7239:function(b,y,e){"use strict";e.d(y,{J$:function(){return n}});var a=e(57793),t=e(85745);const o=new a.E4("antFadeIn",{"0%":{opacity:0},"100%":{opacity:1}}),s=new a.E4("antFadeOut",{"0%":{opacity:1},"100%":{opacity:0}}),n=function(d){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const{antCls:c}=d,m=`${c}-fade`,g=l?"&":"";return[(0,t.R)(m,o,s,d.motionDurationMid,l),{[` + ${g}${m}-enter, + ${g}${m}-appear + `]:{opacity:0,animationTimingFunction:"linear"},[`${g}${m}-leave`]:{animationTimingFunction:"linear"}}]}},85745:function(b,y,e){"use strict";e.d(y,{R:function(){return o}});const a=s=>({animationDuration:s,animationFillMode:"both"}),t=s=>({animationDuration:s,animationFillMode:"both"}),o=function(s,n,d,l){const m=(arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1)?"&":"";return{[` + ${m}${s}-enter, + ${m}${s}-appear + `]:Object.assign(Object.assign({},a(l)),{animationPlayState:"paused"}),[`${m}${s}-leave`]:Object.assign(Object.assign({},t(l)),{animationPlayState:"paused"}),[` + ${m}${s}-enter${s}-enter-active, + ${m}${s}-appear${s}-appear-active + `]:{animationName:n,animationPlayState:"running"},[`${m}${s}-leave${s}-leave-active`]:{animationName:d,animationPlayState:"running",pointerEvents:"none"}}}},1546:function(b,y,e){"use strict";e.d(y,{Fm:function(){return h}});var a=e(57793),t=e(85745);const o=new a.E4("antMoveDownIn",{"0%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),s=new a.E4("antMoveDownOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0}}),n=new a.E4("antMoveLeftIn",{"0%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),d=new a.E4("antMoveLeftOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),l=new a.E4("antMoveRightIn",{"0%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),c=new a.E4("antMoveRightOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),m=new a.E4("antMoveUpIn",{"0%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),g=new a.E4("antMoveUpOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0}}),M={"move-up":{inKeyframes:m,outKeyframes:g},"move-down":{inKeyframes:o,outKeyframes:s},"move-left":{inKeyframes:n,outKeyframes:d},"move-right":{inKeyframes:l,outKeyframes:c}},h=(S,w)=>{const{antCls:x}=S,z=`${x}-${w}`,{inKeyframes:U,outKeyframes:T}=M[w];return[(0,t.R)(z,U,T,S.motionDurationMid),{[` + ${z}-enter, + ${z}-appear + `]:{opacity:0,animationTimingFunction:S.motionEaseOutCirc},[`${z}-leave`]:{animationTimingFunction:S.motionEaseInOutCirc}}]}},1016:function(b,y,e){"use strict";e.d(y,{Qt:function(){return n},Uw:function(){return s},fJ:function(){return o},ly:function(){return d},oN:function(){return h}});var a=e(57793),t=e(85745);const o=new a.E4("antSlideUpIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1}}),s=new a.E4("antSlideUpOut",{"0%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0}}),n=new a.E4("antSlideDownIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1}}),d=new a.E4("antSlideDownOut",{"0%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0}}),l=new a.E4("antSlideLeftIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1}}),c=new a.E4("antSlideLeftOut",{"0%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0}}),m=new a.E4("antSlideRightIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1}}),g=new a.E4("antSlideRightOut",{"0%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0}}),M={"slide-up":{inKeyframes:o,outKeyframes:s},"slide-down":{inKeyframes:n,outKeyframes:d},"slide-left":{inKeyframes:l,outKeyframes:c},"slide-right":{inKeyframes:m,outKeyframes:g}},h=(S,w)=>{const{antCls:x}=S,z=`${x}-${w}`,{inKeyframes:U,outKeyframes:T}=M[w];return[(0,t.R)(z,U,T,S.motionDurationMid),{[` + ${z}-enter, + ${z}-appear + `]:{transform:"scale(0)",transformOrigin:"0% 0%",opacity:0,animationTimingFunction:S.motionEaseOutQuint,["&-prepare"]:{transform:"scale(1)"}},[`${z}-leave`]:{animationTimingFunction:S.motionEaseInQuint}}]}},28107:function(b,y,e){"use strict";e.d(y,{_y:function(){return z},kr:function(){return o}});var a=e(57793),t=e(85745);const o=new a.E4("antZoomIn",{"0%":{transform:"scale(0.2)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),s=new a.E4("antZoomOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.2)",opacity:0}}),n=new a.E4("antZoomBigIn",{"0%":{transform:"scale(0.8)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),d=new a.E4("antZoomBigOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.8)",opacity:0}}),l=new a.E4("antZoomUpIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 0%"}}),c=new a.E4("antZoomUpOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 0%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0}}),m=new a.E4("antZoomLeftIn",{"0%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"0% 50%"}}),g=new a.E4("antZoomLeftOut",{"0%":{transform:"scale(1)",transformOrigin:"0% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0}}),M=new a.E4("antZoomRightIn",{"0%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"100% 50%"}}),h=new a.E4("antZoomRightOut",{"0%":{transform:"scale(1)",transformOrigin:"100% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0}}),S=new a.E4("antZoomDownIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 100%"}}),w=new a.E4("antZoomDownOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 100%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0}}),x={zoom:{inKeyframes:o,outKeyframes:s},"zoom-big":{inKeyframes:n,outKeyframes:d},"zoom-big-fast":{inKeyframes:n,outKeyframes:d},"zoom-left":{inKeyframes:m,outKeyframes:g},"zoom-right":{inKeyframes:M,outKeyframes:h},"zoom-up":{inKeyframes:l,outKeyframes:c},"zoom-down":{inKeyframes:S,outKeyframes:w}},z=(U,T)=>{const{antCls:N}=U,Z=`${N}-${T}`,{inKeyframes:D,outKeyframes:L}=x[T];return[(0,t.R)(Z,D,L,T==="zoom-big-fast"?U.motionDurationFast:U.motionDurationMid),{[` + ${Z}-enter, + ${Z}-appear + `]:{transform:"scale(0)",opacity:0,animationTimingFunction:U.motionEaseOutCirc,"&-prepare":{transform:"none"}},[`${Z}-leave`]:{animationTimingFunction:U.motionEaseInOutCirc}}]}},24542:function(b,y,e){"use strict";e.d(y,{ZP:function(){return n},fS:function(){return o},qN:function(){return t}});var a=e(72944);const t=8;function o(d){const l=t,{contentRadius:c,limitVerticalRadius:m}=d,g=c>12?c+2:12;return{dropdownArrowOffset:g,dropdownArrowOffsetVertical:m?l:g}}function s(d,l){return d?l:{}}function n(d,l){const{componentCls:c,sizePopupArrow:m,borderRadiusXS:g,borderRadiusOuter:M,boxShadowPopoverArrow:h}=d,{colorBg:S,contentRadius:w=d.borderRadiusLG,limitVerticalRadius:x,arrowDistance:z=0,arrowPlacement:U={left:!0,right:!0,top:!0,bottom:!0}}=l,{dropdownArrowOffsetVertical:T,dropdownArrowOffset:N}=o({contentRadius:w,limitVerticalRadius:x});return{[c]:Object.assign(Object.assign(Object.assign(Object.assign({[`${c}-arrow`]:[Object.assign(Object.assign({position:"absolute",zIndex:1,display:"block"},(0,a.r)(m,g,M,S,h)),{"&:before":{background:S}})]},s(!!U.top,{[[`&-placement-top ${c}-arrow`,`&-placement-topLeft ${c}-arrow`,`&-placement-topRight ${c}-arrow`].join(",")]:{bottom:z,transform:"translateY(100%) rotate(180deg)"},[`&-placement-top ${c}-arrow`]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(100%) rotate(180deg)"},[`&-placement-topLeft ${c}-arrow`]:{left:{_skip_check_:!0,value:N}},[`&-placement-topRight ${c}-arrow`]:{right:{_skip_check_:!0,value:N}}})),s(!!U.bottom,{[[`&-placement-bottom ${c}-arrow`,`&-placement-bottomLeft ${c}-arrow`,`&-placement-bottomRight ${c}-arrow`].join(",")]:{top:z,transform:"translateY(-100%)"},[`&-placement-bottom ${c}-arrow`]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(-100%)"},[`&-placement-bottomLeft ${c}-arrow`]:{left:{_skip_check_:!0,value:N}},[`&-placement-bottomRight ${c}-arrow`]:{right:{_skip_check_:!0,value:N}}})),s(!!U.left,{[[`&-placement-left ${c}-arrow`,`&-placement-leftTop ${c}-arrow`,`&-placement-leftBottom ${c}-arrow`].join(",")]:{right:{_skip_check_:!0,value:z},transform:"translateX(100%) rotate(90deg)"},[`&-placement-left ${c}-arrow`]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(100%) rotate(90deg)"},[`&-placement-leftTop ${c}-arrow`]:{top:T},[`&-placement-leftBottom ${c}-arrow`]:{bottom:T}})),s(!!U.right,{[[`&-placement-right ${c}-arrow`,`&-placement-rightTop ${c}-arrow`,`&-placement-rightBottom ${c}-arrow`].join(",")]:{left:{_skip_check_:!0,value:z},transform:"translateX(-100%) rotate(-90deg)"},[`&-placement-right ${c}-arrow`]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(-100%) rotate(-90deg)"},[`&-placement-rightTop ${c}-arrow`]:{top:T},[`&-placement-rightBottom ${c}-arrow`]:{bottom:T}}))}}},72944:function(b,y,e){"use strict";e.d(y,{r:function(){return a}});const a=(t,o,s,n,d)=>{const l=t/2,c=0,m=l,g=s*1/Math.sqrt(2),M=l-s*(1-1/Math.sqrt(2)),h=l-o*(1/Math.sqrt(2)),S=s*(Math.sqrt(2)-1)+o*(1/Math.sqrt(2)),w=2*l-h,x=S,z=2*l-g,U=M,T=2*l-c,N=m,Z=l*Math.sqrt(2)+s*(Math.sqrt(2)-2),D=s*(Math.sqrt(2)-1);return{pointerEvents:"none",width:t,height:t,overflow:"hidden","&::before":{position:"absolute",bottom:0,insetInlineStart:0,width:t,height:t/2,background:n,clipPath:{_multi_value_:!0,value:[`polygon(${D}px 100%, 50% ${D}px, ${2*l-D}px 100%, ${D}px 100%)`,`path('M ${c} ${m} A ${s} ${s} 0 0 0 ${g} ${M} L ${h} ${S} A ${o} ${o} 0 0 1 ${w} ${x} L ${z} ${U} A ${s} ${s} 0 0 0 ${T} ${N} Z')`]},content:'""'},"&::after":{content:'""',position:"absolute",width:Z,height:Z,bottom:0,insetInline:0,margin:"auto",borderRadius:{_skip_check_:!0,value:`0 0 ${o}px 0`},transform:"translateY(50%) rotate(-135deg)",boxShadow:d,zIndex:0,background:"transparent"}}}},16951:function(b,y,e){"use strict";e.d(y,{Z:function(){return Mt}});var a=e(52495),t=e(18974),o=e(12673),s=e(87608),n=e.n(s),d=e(60698),l=e(37734),c=e(57370),m=e(28314),g=e(38790),M=e(47075),h=e(58757),S=e(21618),w=e(60409),x=e(17598),z=(0,h.createContext)(null),U=h.forwardRef(function(Le,Ce){var Et=Le.prefixCls,Tt=Le.className,Ye=Le.style,et=Le.id,_t=Le.active,Ut=Le.tabKey,qt=Le.children;return h.createElement("div",{id:et&&"".concat(et,"-panel-").concat(Ut),role:"tabpanel",tabIndex:_t?0:-1,"aria-labelledby":et&&"".concat(et,"-tab-").concat(Ut),"aria-hidden":!_t,style:Ye,className:n()(Et,_t&&"".concat(Et,"-active"),Tt),ref:Ce},qt)}),T=U,N=["key","forceRender","style","className"];function Z(Le){var Ce=Le.id,Et=Le.activeKey,Tt=Le.animated,Ye=Le.tabPosition,et=Le.destroyInactiveTabPane,_t=h.useContext(z),Ut=_t.prefixCls,qt=_t.tabs,un=Tt.tabPane,Mn="".concat(Ut,"-tabpane");return h.createElement("div",{className:n()("".concat(Ut,"-content-holder"))},h.createElement("div",{className:n()("".concat(Ut,"-content"),"".concat(Ut,"-content-").concat(Ye),(0,l.Z)({},"".concat(Ut,"-content-animated"),un))},qt.map(function(vn){var Xn=vn.key,Vn=vn.forceRender,or=vn.style,er=vn.className,Wt=(0,M.Z)(vn,N),en=Xn===Et;return h.createElement(x.ZP,(0,d.Z)({key:Xn,visible:en,forceRender:Vn,removeOnLeave:!!et,leavedClassName:"".concat(Mn,"-hidden")},Tt.tabPaneMotion),function(nn,fn){var En=nn.style,on=nn.className;return h.createElement(T,(0,d.Z)({},Wt,{prefixCls:Mn,id:Ce,tabKey:Xn,animated:un,active:en,style:(0,c.Z)((0,c.Z)({},or),En),className:n()(er,on),ref:fn}))})})))}var D=e(29140),L=e(19425),j=e(51729),G=e(61834),W=e(21319),ne={width:0,height:0,left:0,top:0};function _(Le,Ce,Et){return(0,h.useMemo)(function(){for(var Tt,Ye=new Map,et=Ce.get((Tt=Le[0])===null||Tt===void 0?void 0:Tt.key)||ne,_t=et.left+et.width,Ut=0;Uttr?(mn=Jt,pt.current="x"):(mn=pn,pt.current="y"),Ce(-mn,-mn)&&rn.preventDefault()}var Xt=(0,h.useRef)(null);Xt.current={onTouchStart:fn,onTouchMove:En,onTouchEnd:on,onWheel:gt},h.useEffect(function(){function rn(Zn){Xt.current.onTouchStart(Zn)}function Jt(Zn){Xt.current.onTouchMove(Zn)}function pn(Zn){Xt.current.onTouchEnd(Zn)}function mn(Zn){Xt.current.onWheel(Zn)}return document.addEventListener("touchmove",Jt,{passive:!1}),document.addEventListener("touchend",pn,{passive:!1}),Le.current.addEventListener("touchstart",rn,{passive:!1}),Le.current.addEventListener("wheel",mn),function(){document.removeEventListener("touchmove",Jt),document.removeEventListener("touchend",pn)}},[])}var H=e(81334);function k(Le){var Ce=(0,h.useState)(0),Et=(0,m.Z)(Ce,2),Tt=Et[0],Ye=Et[1],et=(0,h.useRef)(0),_t=(0,h.useRef)();return _t.current=Le,(0,H.o)(function(){var Ut;(Ut=_t.current)===null||Ut===void 0||Ut.call(_t)},[Tt]),function(){et.current===Tt&&(et.current+=1,Ye(et.current))}}function A(Le){var Ce=(0,h.useRef)([]),Et=(0,h.useState)({}),Tt=(0,m.Z)(Et,2),Ye=Tt[1],et=(0,h.useRef)(typeof Le=="function"?Le():Le),_t=k(function(){var qt=et.current;Ce.current.forEach(function(un){qt=un(qt)}),Ce.current=[],et.current=qt,Ye({})});function Ut(qt){Ce.current.push(qt),_t()}return[et.current,Ut]}var Y={width:0,height:0,left:0,top:0,right:0};function de(Le,Ce,Et,Tt,Ye,et,_t){var Ut=_t.tabs,qt=_t.tabPosition,un=_t.rtl,Mn,vn,Xn;return["top","bottom"].includes(qt)?(Mn="width",vn=un?"right":"left",Xn=Math.abs(Et)):(Mn="height",vn="top",Xn=-Et),(0,h.useMemo)(function(){if(!Ut.length)return[0,0];for(var Vn=Ut.length,or=Vn,er=0;erXn+Ce){or=er-1;break}}for(var en=0,nn=Vn-1;nn>=0;nn-=1){var fn=Le.get(Ut[nn].key)||Y;if(fn[vn]=or?[0,0]:[en,or]},[Le,Ce,Tt,Ye,et,Xn,qt,Ut.map(function(Vn){return Vn.key}).join("_"),un])}function me(Le){var Ce;return Le instanceof Map?(Ce={},Le.forEach(function(Et,Tt){Ce[Tt]=Et})):Ce=Le,JSON.stringify(Ce)}var ve="TABS_DQ";function be(Le){return String(Le).replace(/"/g,ve)}function Pe(Le,Ce,Et,Tt){return!(!Et||Tt||Le===!1||Le===void 0&&(Ce===!1||Ce===null))}function Je(Le,Ce){var Et=Le.prefixCls,Tt=Le.editable,Ye=Le.locale,et=Le.style;return!Tt||Tt.showAdd===!1?null:h.createElement("button",{ref:Ce,type:"button",className:"".concat(Et,"-nav-add"),style:et,"aria-label":(Ye==null?void 0:Ye.addAriaLabel)||"Add tab",onClick:function(Ut){Tt.onEdit("add",{event:Ut})}},Tt.addIcon||"+")}var qe=h.forwardRef(Je),Xe=h.forwardRef(function(Le,Ce){var Et=Le.position,Tt=Le.prefixCls,Ye=Le.extra;if(!Ye)return null;var et,_t={};return(0,g.Z)(Ye)==="object"&&!h.isValidElement(Ye)?_t=Ye:_t.right=Ye,Et==="right"&&(et=_t.right),Et==="left"&&(et=_t.left),et?h.createElement("div",{className:"".concat(Tt,"-extra-content"),ref:Ce},et):null}),mt=Xe,Ct=e(4933),vt=e(87854),Ht=e(29639);function ke(Le,Ce){var Et=Le.prefixCls,Tt=Le.id,Ye=Le.tabs,et=Le.locale,_t=Le.mobile,Ut=Le.moreIcon,qt=Ut===void 0?"More":Ut,un=Le.moreTransitionName,Mn=Le.style,vn=Le.className,Xn=Le.editable,Vn=Le.tabBarGutter,or=Le.rtl,er=Le.removeAriaLabel,Wt=Le.onTabClick,en=Le.getPopupContainer,nn=Le.popupClassName,fn=(0,h.useState)(!1),En=(0,m.Z)(fn,2),on=En[0],pt=En[1],gt=(0,h.useState)(null),Xt=(0,m.Z)(gt,2),rn=Xt[0],Jt=Xt[1],pn="".concat(Tt,"-more-popup"),mn="".concat(Et,"-dropdown"),Zn=rn!==null?"".concat(pn,"-").concat(rn):null,tr=et==null?void 0:et.dropdownAriaLabel;function ut(xn,Nn){xn.preventDefault(),xn.stopPropagation(),Xn.onEdit("remove",{key:Nn,event:xn})}var ct=h.createElement(vt.ZP,{onClick:function(Nn){var gr=Nn.key,nr=Nn.domEvent;Wt(gr,nr),pt(!1)},prefixCls:"".concat(mn,"-menu"),id:pn,tabIndex:-1,role:"listbox","aria-activedescendant":Zn,selectedKeys:[rn],"aria-label":tr!==void 0?tr:"expanded dropdown"},Ye.map(function(xn){var Nn=xn.closable,gr=xn.disabled,nr=xn.closeIcon,Rn=xn.key,kr=xn.label,fr=Pe(Nn,nr,Xn,gr);return h.createElement(vt.sN,{key:Rn,id:"".concat(pn,"-").concat(Rn),role:"option","aria-controls":Tt&&"".concat(Tt,"-panel-").concat(Rn),disabled:gr},h.createElement("span",null,kr),fr&&h.createElement("button",{type:"button","aria-label":er||"remove",tabIndex:0,className:"".concat(mn,"-menu-item-remove"),onClick:function(Pr){Pr.stopPropagation(),ut(Pr,Rn)}},nr||Xn.removeIcon||"\xD7"))}));function Dt(xn){for(var Nn=Ye.filter(function(fr){return!fr.disabled}),gr=Nn.findIndex(function(fr){return fr.key===rn})||0,nr=Nn.length,Rn=0;Rnta?"left":"right"})}),Zn=(0,m.Z)(mn,2),tr=Zn[0],ut=Zn[1],ct=ee(0,function(Hr,ta){!pn&&fn&&fn({direction:Hr>ta?"top":"bottom"})}),Dt=(0,m.Z)(ct,2),xt=Dt[0],kt=Dt[1],sn=(0,h.useState)([0,0]),tn=(0,m.Z)(sn,2),xn=tn[0],Nn=tn[1],gr=(0,h.useState)([0,0]),nr=(0,m.Z)(gr,2),Rn=nr[0],kr=nr[1],fr=(0,h.useState)([0,0]),ua=(0,m.Z)(fr,2),Pr=ua[0],Bn=ua[1],Cn=(0,h.useState)([0,0]),wn=(0,m.Z)(Cn,2),ar=wn[0],mr=wn[1],Qr=A(new Map),qr=(0,m.Z)(Qr,2),ya=qr[0],dr=qr[1],Br=_(et,ya,Rn[0]),Ea=J(xn,pn),ca=J(Rn,pn),Kn=J(Pr,pn),zn=J(ar,pn),vr=Eaan?an:Hr}var ao=(0,h.useRef)(),Mo=(0,h.useState)(),Ua=(0,m.Z)(Mo,2),Ha=Ua[0],eo=Ua[1];function jo(){eo(Date.now())}function Wo(){window.clearTimeout(ao.current)}O(gt,function(Hr,ta){function sr(zr,va){zr(function(Sr){var xa=hn(Sr+va);return xa})}return vr?(pn?sr(ut,Hr):sr(kt,ta),Wo(),jo(),!0):!1}),(0,h.useEffect)(function(){return Wo(),Ha&&(ao.current=window.setTimeout(function(){eo(0)},100)),Wo},[Ha]);var Eo=de(Br,ra,pn?tr:xt,ca,Kn,zn,(0,c.Z)((0,c.Z)({},Le),{},{tabs:et})),ft=(0,m.Z)(Eo,2),Nt=ft[0],Ie=ft[1],cn=(0,j.Z)(function(){var Hr=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Mn,ta=Br.get(Hr)||{width:0,height:0,left:0,right:0,top:0};if(pn){var sr=tr;vn?ta.righttr+ra&&(sr=ta.right+ta.width-ra):ta.left<-tr?sr=-ta.left:ta.left+ta.width>-tr+ra&&(sr=-(ta.left+ta.width-ra)),kt(0),ut(hn(sr))}else{var zr=xt;ta.top<-xt?zr=-ta.top:ta.top+ta.height>-xt+ra&&(zr=-(ta.top+ta.height-ra)),ut(0),kt(hn(zr))}}),dn={};er==="top"||er==="bottom"?dn[vn?"marginRight":"marginLeft"]=Wt:dn.marginTop=Wt;var _n=et.map(function(Hr,ta){var sr=Hr.key;return h.createElement(Ke,{id:qt,prefixCls:Ye,key:sr,tab:Hr,style:ta===0?void 0:dn,closable:Hr.closable,editable:Vn,active:sr===Mn,renderWrapper:en,removeAriaLabel:or==null?void 0:or.removeAriaLabel,onClick:function(va){nn(sr,va)},onFocus:function(){cn(sr),jo(),gt.current&&(vn||(gt.current.scrollLeft=0),gt.current.scrollTop=0)}})}),Tn=function(){return dr(function(){var ta=new Map;return et.forEach(function(sr){var zr,va=sr.key,Sr=(zr=Xt.current)===null||zr===void 0?void 0:zr.querySelector('[data-node-key="'.concat(be(va),'"]'));Sr&&ta.set(va,{width:Sr.offsetWidth,height:Sr.offsetHeight,left:Sr.offsetLeft,top:Sr.offsetTop})}),ta})};(0,h.useEffect)(function(){Tn()},[et.map(function(Hr){return Hr.key}).join("_")]);var yr=k(function(){var Hr=he(En),ta=he(on),sr=he(pt);Nn([Hr[0]-ta[0]-sr[0],Hr[1]-ta[1]-sr[1]]);var zr=he(Jt);Bn(zr);var va=he(rn);mr(va);var Sr=he(Xt);kr([Sr[0]-zr[0],Sr[1]-zr[1]]),Tn()}),Wr=et.slice(0,Nt),Da=et.slice(Ie+1),la=[].concat((0,D.Z)(Wr),(0,D.Z)(Da)),ea=(0,h.useState)(),oa=(0,m.Z)(ea,2),Ir=oa[0],$r=oa[1],pa=Br.get(Mn),La=(0,h.useRef)();function lo(){G.Z.cancel(La.current)}(0,h.useEffect)(function(){var Hr={};return pa&&(pn?(vn?Hr.right=pa.right:Hr.left=pa.left,Hr.width=pa.width):(Hr.top=pa.top,Hr.height=pa.height)),lo(),La.current=(0,G.Z)(function(){$r(Hr)}),lo},[pa,pn,vn]),(0,h.useEffect)(function(){cn()},[Mn,jt,an,me(pa),me(Br),pn]),(0,h.useEffect)(function(){yr()},[vn]);var Qa=!!la.length,Gt="".concat(Ye,"-nav-wrap"),yn,jn,Gn,br;return pn?vn?(jn=tr>0,yn=tr!==an):(yn=tr<0,jn=tr!==jt):(Gn=xt<0,br=xt!==jt),h.createElement(L.Z,{onResize:yr},h.createElement("div",{ref:(0,W.x1)(Ce,En),role:"tablist",className:n()("".concat(Ye,"-nav"),_t),style:Ut,onKeyDown:function(){jo()}},h.createElement(mt,{ref:on,position:"left",extra:Xn,prefixCls:Ye}),h.createElement("div",{className:n()(Gt,(Et={},(0,l.Z)(Et,"".concat(Gt,"-ping-left"),yn),(0,l.Z)(Et,"".concat(Gt,"-ping-right"),jn),(0,l.Z)(Et,"".concat(Gt,"-ping-top"),Gn),(0,l.Z)(Et,"".concat(Gt,"-ping-bottom"),br),Et)),ref:gt},h.createElement(L.Z,{onResize:yr},h.createElement("div",{ref:Xt,className:"".concat(Ye,"-nav-list"),style:{transform:"translate(".concat(tr,"px, ").concat(xt,"px)"),transition:Ha?"none":void 0}},_n,h.createElement(qe,{ref:Jt,prefixCls:Ye,locale:or,editable:Vn,style:(0,c.Z)((0,c.Z)({},_n.length===0?void 0:dn),{},{visibility:Qa?"hidden":null})}),h.createElement("div",{className:n()("".concat(Ye,"-ink-bar"),(0,l.Z)({},"".concat(Ye,"-ink-bar-animated"),un.inkBar)),style:Ir})))),h.createElement(Ve,(0,d.Z)({},Le,{removeAriaLabel:or==null?void 0:or.removeAriaLabel,ref:rn,prefixCls:Ye,tabs:la,className:!Qa&&xr,tabMoving:!!Ha})),h.createElement(mt,{ref:pt,position:"right",extra:Xn,prefixCls:Ye})))}var R=h.forwardRef(V),P=["renderTabBar"],B=["label","key"];function ge(Le){var Ce=Le.renderTabBar,Et=(0,M.Z)(Le,P),Tt=h.useContext(z),Ye=Tt.tabs;if(Ce){var et=(0,c.Z)((0,c.Z)({},Et),{},{panes:Ye.map(function(_t){var Ut=_t.label,qt=_t.key,un=(0,M.Z)(_t,B);return h.createElement(T,(0,d.Z)({tab:Ut,key:qt,tabKey:qt},un))})});return Ce(et,R)}return h.createElement(R,Et)}var ie=e(75556);function pe(){var Le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{inkBar:!0,tabPane:!1},Ce;return Le===!1?Ce={inkBar:!1,tabPane:!1}:Le===!0?Ce={inkBar:!0,tabPane:!1}:Ce=(0,c.Z)({inkBar:!0},(0,g.Z)(Le)==="object"?Le:{}),Ce.tabPaneMotion&&Ce.tabPane===void 0&&(Ce.tabPane=!0),!Ce.tabPaneMotion&&Ce.tabPane&&(Ce.tabPane=!1),Ce}var Oe=["id","prefixCls","className","items","direction","activeKey","defaultActiveKey","editable","animated","tabPosition","tabBarGutter","tabBarStyle","tabBarExtraContent","locale","moreIcon","moreTransitionName","destroyInactiveTabPane","renderTabBar","onChange","onTabClick","onTabScroll","getPopupContainer","popupClassName"],xe=0;function Se(Le,Ce){var Et,Tt=Le.id,Ye=Le.prefixCls,et=Ye===void 0?"rc-tabs":Ye,_t=Le.className,Ut=Le.items,qt=Le.direction,un=Le.activeKey,Mn=Le.defaultActiveKey,vn=Le.editable,Xn=Le.animated,Vn=Le.tabPosition,or=Vn===void 0?"top":Vn,er=Le.tabBarGutter,Wt=Le.tabBarStyle,en=Le.tabBarExtraContent,nn=Le.locale,fn=Le.moreIcon,En=Le.moreTransitionName,on=Le.destroyInactiveTabPane,pt=Le.renderTabBar,gt=Le.onChange,Xt=Le.onTabClick,rn=Le.onTabScroll,Jt=Le.getPopupContainer,pn=Le.popupClassName,mn=(0,M.Z)(Le,Oe),Zn=h.useMemo(function(){return(Ut||[]).filter(function(Qr){return Qr&&(0,g.Z)(Qr)==="object"&&"key"in Qr})},[Ut]),tr=qt==="rtl",ut=pe(Xn),ct=(0,h.useState)(!1),Dt=(0,m.Z)(ct,2),xt=Dt[0],kt=Dt[1];(0,h.useEffect)(function(){kt((0,S.Z)())},[]);var sn=(0,w.Z)(function(){var Qr;return(Qr=Zn[0])===null||Qr===void 0?void 0:Qr.key},{value:un,defaultValue:Mn}),tn=(0,m.Z)(sn,2),xn=tn[0],Nn=tn[1],gr=(0,h.useState)(function(){return Zn.findIndex(function(Qr){return Qr.key===xn})}),nr=(0,m.Z)(gr,2),Rn=nr[0],kr=nr[1];(0,h.useEffect)(function(){var Qr=Zn.findIndex(function(ya){return ya.key===xn});if(Qr===-1){var qr;Qr=Math.max(0,Math.min(Rn,Zn.length-1)),Nn((qr=Zn[Qr])===null||qr===void 0?void 0:qr.key)}kr(Qr)},[Zn.map(function(Qr){return Qr.key}).join("_"),xn,Rn]);var fr=(0,w.Z)(null,{value:Tt}),ua=(0,m.Z)(fr,2),Pr=ua[0],Bn=ua[1];(0,h.useEffect)(function(){Tt||(Bn("rc-tabs-".concat(xe)),xe+=1)},[]);function Cn(Qr,qr){Xt==null||Xt(Qr,qr);var ya=Qr!==xn;Nn(Qr),ya&&(gt==null||gt(Qr))}var wn={id:Pr,activeKey:xn,animated:ut,tabPosition:or,rtl:tr,mobile:xt},ar,mr=(0,c.Z)((0,c.Z)({},wn),{},{editable:vn,locale:nn,moreIcon:fn,moreTransitionName:En,tabBarGutter:er,onTabClick:Cn,onTabScroll:rn,extra:en,style:Wt,panes:null,getPopupContainer:Jt,popupClassName:pn});return h.createElement(z.Provider,{value:{tabs:Zn,prefixCls:et}},h.createElement("div",(0,d.Z)({ref:Ce,id:Tt,className:n()(et,"".concat(et,"-").concat(or),(Et={},(0,l.Z)(Et,"".concat(et,"-mobile"),xt),(0,l.Z)(Et,"".concat(et,"-editable"),vn),(0,l.Z)(Et,"".concat(et,"-rtl"),tr),Et),_t)},mn),ar,h.createElement(ge,(0,d.Z)({},mr,{renderTabBar:pt})),h.createElement(Z,(0,d.Z)({destroyInactiveTabPane:on},wn,{animated:ut}))))}var $e=h.forwardRef(Se),re=$e,oe=re,q=e(61836),ue=e(58785),le=()=>null,Ne=e(90881);const Ae={motionAppear:!1,motionEnter:!0,motionLeave:!0};function we(Le){let Ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{inkBar:!0,tabPane:!1},Et;return Ce===!1?Et={inkBar:!1,tabPane:!1}:Ce===!0?Et={inkBar:!0,tabPane:!0}:Et=Object.assign({inkBar:!0},typeof Ce=="object"?Ce:{}),Et.tabPane&&(Et.tabPaneMotion=Object.assign(Object.assign({},Ae),{motionName:(0,Ne.m)(Le,"switch")})),Et}var Re=e(42156),st=function(Le,Ce){var Et={};for(var Tt in Le)Object.prototype.hasOwnProperty.call(Le,Tt)&&Ce.indexOf(Tt)<0&&(Et[Tt]=Le[Tt]);if(Le!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Ye=0,Tt=Object.getOwnPropertySymbols(Le);YeCe)}function _e(Le,Ce){if(Le)return Le;const Et=(0,Re.Z)(Ce).map(Tt=>{if(h.isValidElement(Tt)){const{key:Ye,props:et}=Tt,_t=et||{},{tab:Ut}=_t,qt=st(_t,["tab"]);return Object.assign(Object.assign({key:String(Ye)},qt),{label:Ut})}return null});return nt(Et)}var We=e(78330),Be=e(52628),it=e(22151),Ge=e(1016),$t=Le=>{const{componentCls:Ce,motionDurationSlow:Et}=Le;return[{[Ce]:{[`${Ce}-switch`]:{"&-appear, &-enter":{transition:"none","&-start":{opacity:0},"&-active":{opacity:1,transition:`opacity ${Et}`}},"&-leave":{position:"absolute",transition:"none",inset:0,"&-start":{opacity:1},"&-active":{opacity:0,transition:`opacity ${Et}`}}}}},[(0,Ge.oN)(Le,"slide-up"),(0,Ge.oN)(Le,"slide-down")]]};const wt=Le=>{const{componentCls:Ce,tabsCardPadding:Et,cardBg:Tt,cardGutter:Ye,colorBorderSecondary:et,itemSelectedColor:_t}=Le;return{[`${Ce}-card`]:{[`> ${Ce}-nav, > div > ${Ce}-nav`]:{[`${Ce}-tab`]:{margin:0,padding:Et,background:Tt,border:`${Le.lineWidth}px ${Le.lineType} ${et}`,transition:`all ${Le.motionDurationSlow} ${Le.motionEaseInOut}`},[`${Ce}-tab-active`]:{color:_t,background:Le.colorBgContainer},[`${Ce}-ink-bar`]:{visibility:"hidden"}},[`&${Ce}-top, &${Ce}-bottom`]:{[`> ${Ce}-nav, > div > ${Ce}-nav`]:{[`${Ce}-tab + ${Ce}-tab`]:{marginLeft:{_skip_check_:!0,value:`${Ye}px`}}}},[`&${Ce}-top`]:{[`> ${Ce}-nav, > div > ${Ce}-nav`]:{[`${Ce}-tab`]:{borderRadius:`${Le.borderRadiusLG}px ${Le.borderRadiusLG}px 0 0`},[`${Ce}-tab-active`]:{borderBottomColor:Le.colorBgContainer}}},[`&${Ce}-bottom`]:{[`> ${Ce}-nav, > div > ${Ce}-nav`]:{[`${Ce}-tab`]:{borderRadius:`0 0 ${Le.borderRadiusLG}px ${Le.borderRadiusLG}px`},[`${Ce}-tab-active`]:{borderTopColor:Le.colorBgContainer}}},[`&${Ce}-left, &${Ce}-right`]:{[`> ${Ce}-nav, > div > ${Ce}-nav`]:{[`${Ce}-tab + ${Ce}-tab`]:{marginTop:`${Ye}px`}}},[`&${Ce}-left`]:{[`> ${Ce}-nav, > div > ${Ce}-nav`]:{[`${Ce}-tab`]:{borderRadius:{_skip_check_:!0,value:`${Le.borderRadiusLG}px 0 0 ${Le.borderRadiusLG}px`}},[`${Ce}-tab-active`]:{borderRightColor:{_skip_check_:!0,value:Le.colorBgContainer}}}},[`&${Ce}-right`]:{[`> ${Ce}-nav, > div > ${Ce}-nav`]:{[`${Ce}-tab`]:{borderRadius:{_skip_check_:!0,value:`0 ${Le.borderRadiusLG}px ${Le.borderRadiusLG}px 0`}},[`${Ce}-tab-active`]:{borderLeftColor:{_skip_check_:!0,value:Le.colorBgContainer}}}}}}},Pt=Le=>{const{componentCls:Ce,itemHoverColor:Et,dropdownEdgeChildVerticalPadding:Tt}=Le;return{[`${Ce}-dropdown`]:Object.assign(Object.assign({},(0,We.Wf)(Le)),{position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:Le.zIndexPopup,display:"block","&-hidden":{display:"none"},[`${Ce}-dropdown-menu`]:{maxHeight:Le.tabsDropdownHeight,margin:0,padding:`${Tt}px 0`,overflowX:"hidden",overflowY:"auto",textAlign:{_skip_check_:!0,value:"left"},listStyleType:"none",backgroundColor:Le.colorBgContainer,backgroundClip:"padding-box",borderRadius:Le.borderRadiusLG,outline:"none",boxShadow:Le.boxShadowSecondary,"&-item":Object.assign(Object.assign({},We.vS),{display:"flex",alignItems:"center",minWidth:Le.tabsDropdownWidth,margin:0,padding:`${Le.paddingXXS}px ${Le.paddingSM}px`,color:Le.colorText,fontWeight:"normal",fontSize:Le.fontSize,lineHeight:Le.lineHeight,cursor:"pointer",transition:`all ${Le.motionDurationSlow}`,"> span":{flex:1,whiteSpace:"nowrap"},"&-remove":{flex:"none",marginLeft:{_skip_check_:!0,value:Le.marginSM},color:Le.colorTextDescription,fontSize:Le.fontSizeSM,background:"transparent",border:0,cursor:"pointer","&:hover":{color:Et}},"&:hover":{background:Le.controlItemBgHover},"&-disabled":{"&, &:hover":{color:Le.colorTextDisabled,background:"transparent",cursor:"not-allowed"}}})}})}},dt=Le=>{const{componentCls:Ce,margin:Et,colorBorderSecondary:Tt,horizontalMargin:Ye,verticalItemPadding:et,verticalItemMargin:_t}=Le;return{[`${Ce}-top, ${Ce}-bottom`]:{flexDirection:"column",[`> ${Ce}-nav, > div > ${Ce}-nav`]:{margin:Ye,"&::before":{position:"absolute",right:{_skip_check_:!0,value:0},left:{_skip_check_:!0,value:0},borderBottom:`${Le.lineWidth}px ${Le.lineType} ${Tt}`,content:"''"},[`${Ce}-ink-bar`]:{height:Le.lineWidthBold,"&-animated":{transition:`width ${Le.motionDurationSlow}, left ${Le.motionDurationSlow}, + right ${Le.motionDurationSlow}`}},[`${Ce}-nav-wrap`]:{"&::before, &::after":{top:0,bottom:0,width:Le.controlHeight},"&::before":{left:{_skip_check_:!0,value:0},boxShadow:Le.boxShadowTabsOverflowLeft},"&::after":{right:{_skip_check_:!0,value:0},boxShadow:Le.boxShadowTabsOverflowRight},[`&${Ce}-nav-wrap-ping-left::before`]:{opacity:1},[`&${Ce}-nav-wrap-ping-right::after`]:{opacity:1}}}},[`${Ce}-top`]:{[`> ${Ce}-nav, + > div > ${Ce}-nav`]:{"&::before":{bottom:0},[`${Ce}-ink-bar`]:{bottom:0}}},[`${Ce}-bottom`]:{[`> ${Ce}-nav, > div > ${Ce}-nav`]:{order:1,marginTop:`${Et}px`,marginBottom:0,"&::before":{top:0},[`${Ce}-ink-bar`]:{top:0}},[`> ${Ce}-content-holder, > div > ${Ce}-content-holder`]:{order:0}},[`${Ce}-left, ${Ce}-right`]:{[`> ${Ce}-nav, > div > ${Ce}-nav`]:{flexDirection:"column",minWidth:Le.controlHeight*1.25,[`${Ce}-tab`]:{padding:et,textAlign:"center"},[`${Ce}-tab + ${Ce}-tab`]:{margin:_t},[`${Ce}-nav-wrap`]:{flexDirection:"column","&::before, &::after":{right:{_skip_check_:!0,value:0},left:{_skip_check_:!0,value:0},height:Le.controlHeight},"&::before":{top:0,boxShadow:Le.boxShadowTabsOverflowTop},"&::after":{bottom:0,boxShadow:Le.boxShadowTabsOverflowBottom},[`&${Ce}-nav-wrap-ping-top::before`]:{opacity:1},[`&${Ce}-nav-wrap-ping-bottom::after`]:{opacity:1}},[`${Ce}-ink-bar`]:{width:Le.lineWidthBold,"&-animated":{transition:`height ${Le.motionDurationSlow}, top ${Le.motionDurationSlow}`}},[`${Ce}-nav-list, ${Ce}-nav-operations`]:{flex:"1 0 auto",flexDirection:"column"}}},[`${Ce}-left`]:{[`> ${Ce}-nav, > div > ${Ce}-nav`]:{[`${Ce}-ink-bar`]:{right:{_skip_check_:!0,value:0}}},[`> ${Ce}-content-holder, > div > ${Ce}-content-holder`]:{marginLeft:{_skip_check_:!0,value:`-${Le.lineWidth}px`},borderLeft:{_skip_check_:!0,value:`${Le.lineWidth}px ${Le.lineType} ${Le.colorBorder}`},[`> ${Ce}-content > ${Ce}-tabpane`]:{paddingLeft:{_skip_check_:!0,value:Le.paddingLG}}}},[`${Ce}-right`]:{[`> ${Ce}-nav, > div > ${Ce}-nav`]:{order:1,[`${Ce}-ink-bar`]:{left:{_skip_check_:!0,value:0}}},[`> ${Ce}-content-holder, > div > ${Ce}-content-holder`]:{order:0,marginRight:{_skip_check_:!0,value:-Le.lineWidth},borderRight:{_skip_check_:!0,value:`${Le.lineWidth}px ${Le.lineType} ${Le.colorBorder}`},[`> ${Ce}-content > ${Ce}-tabpane`]:{paddingRight:{_skip_check_:!0,value:Le.paddingLG}}}}}},je=Le=>{const{componentCls:Ce,cardPaddingSM:Et,cardPaddingLG:Tt,horizontalItemPaddingSM:Ye,horizontalItemPaddingLG:et}=Le;return{[Ce]:{"&-small":{[`> ${Ce}-nav`]:{[`${Ce}-tab`]:{padding:Ye,fontSize:Le.titleFontSizeSM}}},"&-large":{[`> ${Ce}-nav`]:{[`${Ce}-tab`]:{padding:et,fontSize:Le.titleFontSizeLG}}}},[`${Ce}-card`]:{[`&${Ce}-small`]:{[`> ${Ce}-nav`]:{[`${Ce}-tab`]:{padding:Et}},[`&${Ce}-bottom`]:{[`> ${Ce}-nav ${Ce}-tab`]:{borderRadius:`0 0 ${Le.borderRadius}px ${Le.borderRadius}px`}},[`&${Ce}-top`]:{[`> ${Ce}-nav ${Ce}-tab`]:{borderRadius:`${Le.borderRadius}px ${Le.borderRadius}px 0 0`}},[`&${Ce}-right`]:{[`> ${Ce}-nav ${Ce}-tab`]:{borderRadius:{_skip_check_:!0,value:`0 ${Le.borderRadius}px ${Le.borderRadius}px 0`}}},[`&${Ce}-left`]:{[`> ${Ce}-nav ${Ce}-tab`]:{borderRadius:{_skip_check_:!0,value:`${Le.borderRadius}px 0 0 ${Le.borderRadius}px`}}}},[`&${Ce}-large`]:{[`> ${Ce}-nav`]:{[`${Ce}-tab`]:{padding:Tt}}}}}},tt=Le=>{const{componentCls:Ce,itemActiveColor:Et,itemHoverColor:Tt,iconCls:Ye,tabsHorizontalItemMargin:et,horizontalItemPadding:_t,itemSelectedColor:Ut}=Le,qt=`${Ce}-tab`;return{[qt]:{position:"relative",WebkitTouchCallout:"none",WebkitTapHighlightColor:"transparent",display:"inline-flex",alignItems:"center",padding:_t,fontSize:Le.titleFontSize,background:"transparent",border:0,outline:"none",cursor:"pointer","&-btn, &-remove":Object.assign({"&:focus:not(:focus-visible), &:active":{color:Et}},(0,We.Qy)(Le)),"&-btn":{outline:"none",transition:"all 0.3s"},"&-remove":{flex:"none",marginRight:{_skip_check_:!0,value:-Le.marginXXS},marginLeft:{_skip_check_:!0,value:Le.marginXS},color:Le.colorTextDescription,fontSize:Le.fontSizeSM,background:"transparent",border:"none",outline:"none",cursor:"pointer",transition:`all ${Le.motionDurationSlow}`,"&:hover":{color:Le.colorTextHeading}},"&:hover":{color:Tt},[`&${qt}-active ${qt}-btn`]:{color:Ut,textShadow:Le.tabsActiveTextShadow},[`&${qt}-disabled`]:{color:Le.colorTextDisabled,cursor:"not-allowed"},[`&${qt}-disabled ${qt}-btn, &${qt}-disabled ${Ce}-remove`]:{"&:focus, &:active":{color:Le.colorTextDisabled}},[`& ${qt}-remove ${Ye}`]:{margin:0},[Ye]:{marginRight:{_skip_check_:!0,value:Le.marginSM}}},[`${qt} + ${qt}`]:{margin:{_skip_check_:!0,value:et}}}},lt=Le=>{const{componentCls:Ce,tabsHorizontalItemMarginRTL:Et,iconCls:Tt,cardGutter:Ye}=Le;return{[`${Ce}-rtl`]:{direction:"rtl",[`${Ce}-nav`]:{[`${Ce}-tab`]:{margin:{_skip_check_:!0,value:Et},[`${Ce}-tab:last-of-type`]:{marginLeft:{_skip_check_:!0,value:0}},[Tt]:{marginRight:{_skip_check_:!0,value:0},marginLeft:{_skip_check_:!0,value:`${Le.marginSM}px`}},[`${Ce}-tab-remove`]:{marginRight:{_skip_check_:!0,value:`${Le.marginXS}px`},marginLeft:{_skip_check_:!0,value:`-${Le.marginXXS}px`},[Tt]:{margin:0}}}},[`&${Ce}-left`]:{[`> ${Ce}-nav`]:{order:1},[`> ${Ce}-content-holder`]:{order:0}},[`&${Ce}-right`]:{[`> ${Ce}-nav`]:{order:0},[`> ${Ce}-content-holder`]:{order:1}},[`&${Ce}-card${Ce}-top, &${Ce}-card${Ce}-bottom`]:{[`> ${Ce}-nav, > div > ${Ce}-nav`]:{[`${Ce}-tab + ${Ce}-tab`]:{marginRight:{_skip_check_:!0,value:Ye},marginLeft:{_skip_check_:!0,value:0}}}}},[`${Ce}-dropdown-rtl`]:{direction:"rtl"},[`${Ce}-menu-item`]:{[`${Ce}-dropdown-rtl`]:{textAlign:{_skip_check_:!0,value:"right"}}}}},bt=Le=>{const{componentCls:Ce,tabsCardPadding:Et,cardHeight:Tt,cardGutter:Ye,itemHoverColor:et,itemActiveColor:_t,colorBorderSecondary:Ut}=Le;return{[Ce]:Object.assign(Object.assign(Object.assign(Object.assign({},(0,We.Wf)(Le)),{display:"flex",[`> ${Ce}-nav, > div > ${Ce}-nav`]:{position:"relative",display:"flex",flex:"none",alignItems:"center",[`${Ce}-nav-wrap`]:{position:"relative",display:"flex",flex:"auto",alignSelf:"stretch",overflow:"hidden",whiteSpace:"nowrap",transform:"translate(0)","&::before, &::after":{position:"absolute",zIndex:1,opacity:0,transition:`opacity ${Le.motionDurationSlow}`,content:"''",pointerEvents:"none"}},[`${Ce}-nav-list`]:{position:"relative",display:"flex",transition:`opacity ${Le.motionDurationSlow}`},[`${Ce}-nav-operations`]:{display:"flex",alignSelf:"stretch"},[`${Ce}-nav-operations-hidden`]:{position:"absolute",visibility:"hidden",pointerEvents:"none"},[`${Ce}-nav-more`]:{position:"relative",padding:Et,background:"transparent",border:0,color:Le.colorText,"&::after":{position:"absolute",right:{_skip_check_:!0,value:0},bottom:0,left:{_skip_check_:!0,value:0},height:Le.controlHeightLG/8,transform:"translateY(100%)",content:"''"}},[`${Ce}-nav-add`]:Object.assign({minWidth:Tt,marginLeft:{_skip_check_:!0,value:Ye},padding:`0 ${Le.paddingXS}px`,background:"transparent",border:`${Le.lineWidth}px ${Le.lineType} ${Ut}`,borderRadius:`${Le.borderRadiusLG}px ${Le.borderRadiusLG}px 0 0`,outline:"none",cursor:"pointer",color:Le.colorText,transition:`all ${Le.motionDurationSlow} ${Le.motionEaseInOut}`,"&:hover":{color:et},"&:active, &:focus:not(:focus-visible)":{color:_t}},(0,We.Qy)(Le))},[`${Ce}-extra-content`]:{flex:"none"},[`${Ce}-ink-bar`]:{position:"absolute",background:Le.inkBarColor,pointerEvents:"none"}}),tt(Le)),{[`${Ce}-content`]:{position:"relative",width:"100%"},[`${Ce}-content-holder`]:{flex:"auto",minWidth:0,minHeight:0},[`${Ce}-tabpane`]:{outline:"none","&-hidden":{display:"none"}}}),[`${Ce}-centered`]:{[`> ${Ce}-nav, > div > ${Ce}-nav`]:{[`${Ce}-nav-wrap`]:{[`&:not([class*='${Ce}-nav-wrap-ping'])`]:{justifyContent:"center"}}}}}};var It=(0,Be.Z)("Tabs",Le=>{const Ce=(0,it.TS)(Le,{tabsCardPadding:Le.cardPadding||`${(Le.cardHeight-Math.round(Le.fontSize*Le.lineHeight))/2-Le.lineWidth}px ${Le.padding}px`,dropdownEdgeChildVerticalPadding:Le.paddingXXS,tabsActiveTextShadow:"0 0 0.25px currentcolor",tabsDropdownHeight:200,tabsDropdownWidth:120,tabsHorizontalItemMargin:`0 0 0 ${Le.horizontalItemGutter}px`,tabsHorizontalItemMarginRTL:`0 0 0 ${Le.horizontalItemGutter}px`});return[je(Ce),lt(Ce),dt(Ce),Pt(Ce),wt(Ce),bt(Ce),$t(Ce)]},Le=>{const Ce=Le.controlHeightLG;return{zIndexPopup:Le.zIndexPopupBase+50,cardBg:Le.colorFillAlter,cardHeight:Ce,cardPadding:"",cardPaddingSM:`${Le.paddingXXS*1.5}px ${Le.padding}px`,cardPaddingLG:`${Le.paddingXS}px ${Le.padding}px ${Le.paddingXXS*1.5}px`,titleFontSize:Le.fontSize,titleFontSizeLG:Le.fontSizeLG,titleFontSizeSM:Le.fontSize,inkBarColor:Le.colorPrimary,horizontalMargin:`0 0 ${Le.margin}px 0`,horizontalItemGutter:32,horizontalItemMargin:"",horizontalItemMarginRTL:"",horizontalItemPadding:`${Le.paddingSM}px 0`,horizontalItemPaddingSM:`${Le.paddingXS}px 0`,horizontalItemPaddingLG:`${Le.padding}px 0`,verticalItemPadding:`${Le.paddingXS}px ${Le.paddingLG}px`,verticalItemMargin:`${Le.margin}px 0 0 0`,itemSelectedColor:Le.colorPrimary,itemHoverColor:Le.colorPrimaryHover,itemActiveColor:Le.colorPrimaryActive,cardGutter:Le.marginXXS/2}}),Kt=function(Le,Ce){var Et={};for(var Tt in Le)Object.prototype.hasOwnProperty.call(Le,Tt)&&Ce.indexOf(Tt)<0&&(Et[Tt]=Le[Tt]);if(Le!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Ye=0,Tt=Object.getOwnPropertySymbols(Le);Ye{const{type:Ce,className:Et,rootClassName:Tt,size:Ye,onEdit:et,hideAdd:_t,centered:Ut,addIcon:qt,popupClassName:un,children:Mn,items:vn,animated:Xn,style:Vn}=Le,or=Kt(Le,["type","className","rootClassName","size","onEdit","hideAdd","centered","addIcon","popupClassName","children","items","animated","style"]),{prefixCls:er,moreIcon:Wt=h.createElement(t.Z,null)}=or,{direction:en,tabs:nn,getPrefixCls:fn,getPopupContainer:En}=h.useContext(q.E_),on=fn("tabs",er),[pt,gt]=It(on);let Xt;Ce==="editable-card"&&(Xt={onEdit:(tr,ut)=>{let{key:ct,event:Dt}=ut;et==null||et(tr==="add"?Dt:ct,tr)},removeIcon:h.createElement(a.Z,null),addIcon:qt||h.createElement(o.Z,null),showAdd:_t!==!0});const rn=fn(),Jt=_e(vn,Mn),pn=we(on,Xn),mn=(0,ue.Z)(Ye),Zn=Object.assign(Object.assign({},nn==null?void 0:nn.style),Vn);return pt(h.createElement(oe,Object.assign({direction:en,getPopupContainer:En,moreTransitionName:`${rn}-slide-up`},or,{items:Jt,className:n()({[`${on}-${mn}`]:mn,[`${on}-card`]:["card","editable-card"].includes(Ce),[`${on}-editable-card`]:Ce==="editable-card",[`${on}-centered`]:Ut},nn==null?void 0:nn.className,Et,Tt,gt),popupClassName:n()(un,gt),style:Zn,editable:Xt,moreIcon:Wt,prefixCls:on,animated:pn})))};zt.TabPane=le;var Mt=zt},32814:function(b,y,e){"use strict";e.d(y,{Z:function(){return G}});var a=e(52495),t=e(87608),o=e.n(t),s=e(58757),n=e(1878),d=e(88858),l=e(37486),c=e(61836);function m(W){return typeof W!="string"?W:W.charAt(0).toUpperCase()+W.slice(1)}var g=e(78330),M=e(98251),h=e(52628),S=e(22151);const w=(W,ne,_)=>{const ee=m(_);return{[`${W.componentCls}-${ne}`]:{color:W[`color${_}`],background:W[`color${ee}Bg`],borderColor:W[`color${ee}Border`],[`&${W.componentCls}-borderless`]:{borderColor:"transparent"}}}},x=W=>(0,M.Z)(W,(ne,_)=>{let{textColor:ee,lightBorderColor:se,lightColor:Q,darkColor:C}=_;return{[`${W.componentCls}-${ne}`]:{color:ee,background:Q,borderColor:se,"&-inverse":{color:W.colorTextLightSolid,background:C,borderColor:C},[`&${W.componentCls}-borderless`]:{borderColor:"transparent"}}}}),z=W=>{const{paddingXXS:ne,lineWidth:_,tagPaddingHorizontal:ee,componentCls:se}=W,Q=ee-_,C=ne-_;return{[se]:Object.assign(Object.assign({},(0,g.Wf)(W)),{display:"inline-block",height:"auto",marginInlineEnd:W.marginXS,paddingInline:Q,fontSize:W.tagFontSize,lineHeight:W.tagLineHeight,whiteSpace:"nowrap",background:W.defaultBg,border:`${W.lineWidth}px ${W.lineType} ${W.colorBorder}`,borderRadius:W.borderRadiusSM,opacity:1,transition:`all ${W.motionDurationMid}`,textAlign:"start",position:"relative",[`&${se}-rtl`]:{direction:"rtl"},"&, a, a:hover":{color:W.defaultColor},[`${se}-close-icon`]:{marginInlineStart:C,color:W.colorTextDescription,fontSize:W.tagIconSize,cursor:"pointer",transition:`all ${W.motionDurationMid}`,"&:hover":{color:W.colorTextHeading}},[`&${se}-has-color`]:{borderColor:"transparent",[`&, a, a:hover, ${W.iconCls}-close, ${W.iconCls}-close:hover`]:{color:W.colorTextLightSolid}},["&-checkable"]:{backgroundColor:"transparent",borderColor:"transparent",cursor:"pointer",[`&:not(${se}-checkable-checked):hover`]:{color:W.colorPrimary,backgroundColor:W.colorFillSecondary},"&:active, &-checked":{color:W.colorTextLightSolid},"&-checked":{backgroundColor:W.colorPrimary,"&:hover":{backgroundColor:W.colorPrimaryHover}},"&:active":{backgroundColor:W.colorPrimaryActive}},["&-hidden"]:{display:"none"},[`> ${W.iconCls} + span, > span + ${W.iconCls}`]:{marginInlineStart:Q}}),[`${se}-borderless`]:{borderColor:"transparent",background:W.tagBorderlessBg}}};var U=(0,h.Z)("Tag",W=>{const{lineWidth:ne,fontSizeIcon:_}=W,ee=W.fontSizeSM,se=`${W.lineHeightSM*ee}px`,Q=(0,S.TS)(W,{tagFontSize:ee,tagLineHeight:se,tagIconSize:_-2*ne,tagPaddingHorizontal:8,tagBorderlessBg:W.colorFillTertiary});return[z(Q),x(Q),w(Q,"success","Success"),w(Q,"processing","Info"),w(Q,"error","Error"),w(Q,"warning","Warning")]},W=>({defaultBg:W.colorFillQuaternary,defaultColor:W.colorText})),T=function(W,ne){var _={};for(var ee in W)Object.prototype.hasOwnProperty.call(W,ee)&&ne.indexOf(ee)<0&&(_[ee]=W[ee]);if(W!=null&&typeof Object.getOwnPropertySymbols=="function")for(var se=0,ee=Object.getOwnPropertySymbols(W);se{const{prefixCls:ne,className:_,checked:ee,onChange:se,onClick:Q}=W,C=T(W,["prefixCls","className","checked","onChange","onClick"]),{getPrefixCls:X}=s.useContext(c.E_),O=de=>{se==null||se(!ee),Q==null||Q(de)},H=X("tag",ne),[k,A]=U(H),Y=o()(H,`${H}-checkable`,{[`${H}-checkable-checked`]:ee},_,A);return k(s.createElement("span",Object.assign({},C,{className:Y,onClick:O})))},D=function(W,ne){var _={};for(var ee in W)Object.prototype.hasOwnProperty.call(W,ee)&&ne.indexOf(ee)<0&&(_[ee]=W[ee]);if(W!=null&&typeof Object.getOwnPropertySymbols=="function")for(var se=0,ee=Object.getOwnPropertySymbols(W);se{const{prefixCls:_,className:ee,rootClassName:se,style:Q,children:C,icon:X,color:O,onClose:H,closeIcon:k,closable:A,bordered:Y=!0}=W,de=D(W,["prefixCls","className","rootClassName","style","children","icon","color","onClose","closeIcon","closable","bordered"]),{getPrefixCls:me,direction:ve,tag:be}=s.useContext(c.E_),[Pe,Je]=s.useState(!0);s.useEffect(()=>{"visible"in de&&Je(de.visible)},[de.visible]);const qe=(0,n.o2)(O)||(0,n.yT)(O),Xe=Object.assign(Object.assign({backgroundColor:O&&!qe?O:void 0},be==null?void 0:be.style),Q),mt=me("tag",_),[Ct,vt]=U(mt),Ht=o()(mt,be==null?void 0:be.className,{[`${mt}-${O}`]:qe,[`${mt}-has-color`]:O&&!qe,[`${mt}-hidden`]:!Pe,[`${mt}-rtl`]:ve==="rtl",[`${mt}-borderless`]:!Y},ee,se,vt),ke=V=>{V.stopPropagation(),H==null||H(V),!V.defaultPrevented&&Je(!1)},[,Ve]=(0,d.Z)(A,k,V=>V===null?s.createElement(a.Z,{className:`${mt}-close-icon`,onClick:ke}):s.createElement("span",{className:`${mt}-close-icon`,onClick:ke},V),null,!1),ot=typeof de.onClick=="function"||C&&C.type==="a",Ke=X||null,he=Ke?s.createElement(s.Fragment,null,Ke,C&&s.createElement("span",null,C)):C,J=s.createElement("span",Object.assign({},de,{ref:ne,className:Ht,style:Xe}),he,Ve);return Ct(ot?s.createElement(l.Z,{component:"Tag"},J):J)},j=s.forwardRef(L);j.CheckableTag=Z;var G=j},83631:function(b,y,e){"use strict";e.d(y,{Mj:function(){return l},uH:function(){return n},u_:function(){return d}});var a=e(57793),t=e(58757),o=e(57738),s=e(28378);const n=(0,a.jG)(o.Z),d={token:s.Z,hashed:!0},l=t.createContext(d)},22802:function(b,y,e){"use strict";e.d(y,{Z:function(){return G}});var a=e(57793),t=e(57738),o=e(28378),s=e(57634),d=W=>{const ne=W!=null&&W.algorithm?(0,a.jG)(W.algorithm):(0,a.jG)(t.Z),_=Object.assign(Object.assign({},o.Z),W==null?void 0:W.token);return(0,a.t2)(_,{override:W==null?void 0:W.token},ne,s.Z)},l=e(51806),c=e(83631),m=e(38458);function g(W){const{sizeUnit:ne,sizeStep:_}=W,ee=_-2;return{sizeXXL:ne*(ee+10),sizeXL:ne*(ee+6),sizeLG:ne*(ee+2),sizeMD:ne*(ee+2),sizeMS:ne*(ee+1),size:ne*ee,sizeSM:ne*ee,sizeXS:ne*(ee-1),sizeXXS:ne*(ee-1)}}var M=e(4490),S=(W,ne)=>{const _=ne!=null?ne:(0,t.Z)(W),ee=_.fontSizeSM,se=_.controlHeight-4;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},_),g(ne!=null?ne:W)),(0,M.Z)(ee)),{controlHeight:se}),(0,m.Z)(Object.assign(Object.assign({},_),{controlHeight:se})))},w=e(26134),x=e(67782),z=e(66671);const U=(W,ne)=>new z.C(W).setAlpha(ne).toRgbString(),T=(W,ne)=>new z.C(W).lighten(ne).toHexString(),N=W=>{const ne=(0,w.generate)(W,{theme:"dark"});return{1:ne[0],2:ne[1],3:ne[2],4:ne[3],5:ne[6],6:ne[5],7:ne[4],8:ne[6],9:ne[5],10:ne[4]}},Z=(W,ne)=>{const _=W||"#000",ee=ne||"#fff";return{colorBgBase:_,colorTextBase:ee,colorText:U(ee,.85),colorTextSecondary:U(ee,.65),colorTextTertiary:U(ee,.45),colorTextQuaternary:U(ee,.25),colorFill:U(ee,.18),colorFillSecondary:U(ee,.12),colorFillTertiary:U(ee,.08),colorFillQuaternary:U(ee,.04),colorBgElevated:T(_,12),colorBgContainer:T(_,8),colorBgLayout:T(_,0),colorBgSpotlight:T(_,26),colorBorder:T(_,26),colorBorderSecondary:T(_,19)}};var L=(W,ne)=>{const _=Object.keys(o.M).map(se=>{const Q=(0,w.generate)(W[se],{theme:"dark"});return new Array(10).fill(1).reduce((C,X,O)=>(C[`${se}-${O+1}`]=Q[O],C[`${se}${O+1}`]=Q[O],C),{})}).reduce((se,Q)=>(se=Object.assign(Object.assign({},se),Q),se),{}),ee=ne!=null?ne:(0,t.Z)(W);return Object.assign(Object.assign(Object.assign({},ee),_),(0,x.Z)(W,{generateColorPalettes:N,generateNeutralColorPalettes:Z}))};function j(){const[W,ne,_]=(0,l.Z)();return{theme:W,token:ne,hashId:_}}var G={defaultConfig:c.u_,defaultSeed:c.u_.token,useToken:j,defaultAlgorithm:t.Z,darkAlgorithm:L,compactAlgorithm:S,getDesignToken:d}},34966:function(b,y,e){"use strict";e.d(y,{i:function(){return a}});const a=["blue","purple","cyan","green","magenta","pink","red","orange","yellow","volcano","geekblue","lime","gold"]},57738:function(b,y,e){"use strict";e.d(y,{Z:function(){return x}});var a=e(26134),t=e(38458);function o(z){const{sizeUnit:U,sizeStep:T}=z;return{sizeXXL:U*(T+8),sizeXL:U*(T+4),sizeLG:U*(T+2),sizeMD:U*(T+1),sizeMS:U*T,size:U*T,sizeSM:U*(T-1),sizeXS:U*(T-2),sizeXXS:U*(T-3)}}var s=e(28378),n=e(67782),l=z=>{let U=z,T=z,N=z,Z=z;return z<6&&z>=5?U=z+1:z<16&&z>=6?U=z+2:z>=16&&(U=16),z<7&&z>=5?T=4:z<8&&z>=7?T=5:z<14&&z>=8?T=6:z<16&&z>=14?T=7:z>=16&&(T=8),z<6&&z>=2?N=1:z>=6&&(N=2),z>4&&z<8?Z=4:z>=8&&(Z=6),{borderRadius:z>16?16:z,borderRadiusXS:N,borderRadiusSM:T,borderRadiusLG:U,borderRadiusOuter:Z}};function c(z){const{motionUnit:U,motionBase:T,borderRadius:N,lineWidth:Z}=z;return Object.assign({motionDurationFast:`${(T+U).toFixed(1)}s`,motionDurationMid:`${(T+U*2).toFixed(1)}s`,motionDurationSlow:`${(T+U*3).toFixed(1)}s`,lineWidthBold:Z+1},l(N))}var m=e(66671);const g=(z,U)=>new m.C(z).setAlpha(U).toRgbString(),M=(z,U)=>new m.C(z).darken(U).toHexString(),h=z=>{const U=(0,a.generate)(z);return{1:U[0],2:U[1],3:U[2],4:U[3],5:U[4],6:U[5],7:U[6],8:U[4],9:U[5],10:U[6]}},S=(z,U)=>{const T=z||"#fff",N=U||"#000";return{colorBgBase:T,colorTextBase:N,colorText:g(N,.88),colorTextSecondary:g(N,.65),colorTextTertiary:g(N,.45),colorTextQuaternary:g(N,.25),colorFill:g(N,.15),colorFillSecondary:g(N,.06),colorFillTertiary:g(N,.04),colorFillQuaternary:g(N,.02),colorBgLayout:M(T,4),colorBgContainer:M(T,0),colorBgElevated:M(T,0),colorBgSpotlight:g(N,.85),colorBorder:M(T,15),colorBorderSecondary:M(T,6)}};var w=e(4490);function x(z){const U=Object.keys(s.M).map(T=>{const N=(0,a.generate)(z[T]);return new Array(10).fill(1).reduce((Z,D,L)=>(Z[`${T}-${L+1}`]=N[L],Z[`${T}${L+1}`]=N[L],Z),{})}).reduce((T,N)=>(T=Object.assign(Object.assign({},T),N),T),{});return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},z),U),(0,n.Z)(z,{generateColorPalettes:h,generateNeutralColorPalettes:S})),(0,w.Z)(z.fontSize)),o(z)),(0,t.Z)(z)),c(z))}},28378:function(b,y,e){"use strict";e.d(y,{M:function(){return a}});const a={blue:"#1677ff",purple:"#722ED1",cyan:"#13C2C2",green:"#52C41A",magenta:"#EB2F96",pink:"#eb2f96",red:"#F5222D",orange:"#FA8C16",yellow:"#FADB14",volcano:"#FA541C",geekblue:"#2F54EB",gold:"#FAAD14",lime:"#A0D911"},t=Object.assign(Object.assign({},a),{colorPrimary:"#1677ff",colorSuccess:"#52c41a",colorWarning:"#faad14",colorError:"#ff4d4f",colorInfo:"#1677ff",colorLink:"",colorTextBase:"",colorBgBase:"",fontFamily:`-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, +'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', +'Noto Color Emoji'`,fontFamilyCode:"'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace",fontSize:14,lineWidth:1,lineType:"solid",motionUnit:.1,motionBase:0,motionEaseOutCirc:"cubic-bezier(0.08, 0.82, 0.17, 1)",motionEaseInOutCirc:"cubic-bezier(0.78, 0.14, 0.15, 0.86)",motionEaseOut:"cubic-bezier(0.215, 0.61, 0.355, 1)",motionEaseInOut:"cubic-bezier(0.645, 0.045, 0.355, 1)",motionEaseOutBack:"cubic-bezier(0.12, 0.4, 0.29, 1.46)",motionEaseInBack:"cubic-bezier(0.71, -0.46, 0.88, 0.6)",motionEaseInQuint:"cubic-bezier(0.755, 0.05, 0.855, 0.06)",motionEaseOutQuint:"cubic-bezier(0.23, 1, 0.32, 1)",borderRadius:6,sizeUnit:4,sizeStep:4,sizePopupArrow:16,controlHeight:32,zIndexBase:0,zIndexPopupBase:1e3,opacityImage:1,wireframe:!1,motion:!0});y.Z=t},67782:function(b,y,e){"use strict";e.d(y,{Z:function(){return t}});var a=e(66671);function t(o,s){let{generateColorPalettes:n,generateNeutralColorPalettes:d}=s;const{colorSuccess:l,colorWarning:c,colorError:m,colorInfo:g,colorPrimary:M,colorBgBase:h,colorTextBase:S}=o,w=n(M),x=n(l),z=n(c),U=n(m),T=n(g),N=d(h,S),Z=o.colorLink||o.colorInfo,D=n(Z);return Object.assign(Object.assign({},N),{colorPrimaryBg:w[1],colorPrimaryBgHover:w[2],colorPrimaryBorder:w[3],colorPrimaryBorderHover:w[4],colorPrimaryHover:w[5],colorPrimary:w[6],colorPrimaryActive:w[7],colorPrimaryTextHover:w[8],colorPrimaryText:w[9],colorPrimaryTextActive:w[10],colorSuccessBg:x[1],colorSuccessBgHover:x[2],colorSuccessBorder:x[3],colorSuccessBorderHover:x[4],colorSuccessHover:x[4],colorSuccess:x[6],colorSuccessActive:x[7],colorSuccessTextHover:x[8],colorSuccessText:x[9],colorSuccessTextActive:x[10],colorErrorBg:U[1],colorErrorBgHover:U[2],colorErrorBorder:U[3],colorErrorBorderHover:U[4],colorErrorHover:U[5],colorError:U[6],colorErrorActive:U[7],colorErrorTextHover:U[8],colorErrorText:U[9],colorErrorTextActive:U[10],colorWarningBg:z[1],colorWarningBgHover:z[2],colorWarningBorder:z[3],colorWarningBorderHover:z[4],colorWarningHover:z[4],colorWarning:z[6],colorWarningActive:z[7],colorWarningTextHover:z[8],colorWarningText:z[9],colorWarningTextActive:z[10],colorInfoBg:T[1],colorInfoBgHover:T[2],colorInfoBorder:T[3],colorInfoBorderHover:T[4],colorInfoHover:T[4],colorInfo:T[6],colorInfoActive:T[7],colorInfoTextHover:T[8],colorInfoText:T[9],colorInfoTextActive:T[10],colorLinkHover:D[4],colorLink:D[6],colorLinkActive:D[7],colorBgMask:new a.C("#000").setAlpha(.45).toRgbString(),colorWhite:"#fff"})}},38458:function(b,y){"use strict";const e=a=>{const{controlHeight:t}=a;return{controlHeightSM:t*.75,controlHeightXS:t*.5,controlHeightLG:t*1.25}};y.Z=e},4490:function(b,y,e){"use strict";e.d(y,{Z:function(){return o}});function a(s){const n=new Array(10).fill(null).map((d,l)=>{const c=l-1,m=s*Math.pow(2.71828,c/5),g=l>1?Math.floor(m):Math.ceil(m);return Math.floor(g/2)*2});return n[1]=s,n.map(d=>{const l=d+8;return{size:d,lineHeight:l/d}})}var o=s=>{const n=a(s),d=n.map(c=>c.size),l=n.map(c=>c.lineHeight);return{fontSizeSM:d[0],fontSize:d[1],fontSizeLG:d[2],fontSizeXL:d[3],fontSizeHeading1:d[6],fontSizeHeading2:d[5],fontSizeHeading3:d[4],fontSizeHeading4:d[3],fontSizeHeading5:d[2],lineHeight:l[1],lineHeightLG:l[2],lineHeightSM:l[0],lineHeightHeading1:l[6],lineHeightHeading2:l[5],lineHeightHeading3:l[4],lineHeightHeading4:l[3],lineHeightHeading5:l[2]}}},51806:function(b,y,e){"use strict";e.d(y,{Z:function(){return m}});var a=e(57793),t=e(58757),o=e(93430),s=e(83631),n=e(28378),d=e(57634),l=function(g,M){var h={};for(var S in g)Object.prototype.hasOwnProperty.call(g,S)&&M.indexOf(S)<0&&(h[S]=g[S]);if(g!=null&&typeof Object.getOwnPropertySymbols=="function")for(var w=0,S=Object.getOwnPropertySymbols(g);w{const S=h.getDerivativeToken(g),{override:w}=M,x=l(M,["override"]);let z=Object.assign(Object.assign({},S),{override:w});return z=(0,d.Z)(z),x&&Object.entries(x).forEach(U=>{let[T,N]=U;const{theme:Z}=N,D=l(N,["theme"]);let L=D;Z&&(L=c(Object.assign(Object.assign({},z),D),{override:D},Z)),z[T]=L}),z};function m(){const{token:g,hashed:M,theme:h,components:S}=t.useContext(s.Mj),w=`${o.Z}-${M||""}`,x=h||s.uH,[z,U]=(0,a.fp)(x,[n.Z,g],{salt:w,override:Object.assign({override:g},S),getComputedToken:c,formatToken:d.Z});return[x,z,M?U:""]}},57634:function(b,y,e){"use strict";e.d(y,{Z:function(){return l}});var a=e(66671),t=e(28378);function o(c){return c>=0&&c<=255}function s(c,m){const{r:g,g:M,b:h,a:S}=new a.C(c).toRgb();if(S<1)return c;const{r:w,g:x,b:z}=new a.C(m).toRgb();for(let U=.01;U<=1;U+=.01){const T=Math.round((g-w*(1-U))/U),N=Math.round((M-x*(1-U))/U),Z=Math.round((h-z*(1-U))/U);if(o(T)&&o(N)&&o(Z))return new a.C({r:T,g:N,b:Z,a:Math.round(U*100)/100}).toRgbString()}return new a.C({r:g,g:M,b:h,a:1}).toRgbString()}var n=s,d=function(c,m){var g={};for(var M in c)Object.prototype.hasOwnProperty.call(c,M)&&m.indexOf(M)<0&&(g[M]=c[M]);if(c!=null&&typeof Object.getOwnPropertySymbols=="function")for(var h=0,M=Object.getOwnPropertySymbols(c);h{delete M[Z]});const h=Object.assign(Object.assign({},g),M),S=480,w=576,x=768,z=992,U=1200,T=1600;if(h.motion===!1){const Z="0s";h.motionDurationFast=Z,h.motionDurationMid=Z,h.motionDurationSlow=Z}return Object.assign(Object.assign(Object.assign({},h),{colorFillContent:h.colorFillSecondary,colorFillContentHover:h.colorFill,colorFillAlter:h.colorFillQuaternary,colorBgContainerDisabled:h.colorFillTertiary,colorBorderBg:h.colorBgContainer,colorSplit:n(h.colorBorderSecondary,h.colorBgContainer),colorTextPlaceholder:h.colorTextQuaternary,colorTextDisabled:h.colorTextQuaternary,colorTextHeading:h.colorText,colorTextLabel:h.colorTextSecondary,colorTextDescription:h.colorTextTertiary,colorTextLightSolid:h.colorWhite,colorHighlight:h.colorError,colorBgTextHover:h.colorFillSecondary,colorBgTextActive:h.colorFill,colorIcon:h.colorTextTertiary,colorIconHover:h.colorText,colorErrorOutline:n(h.colorErrorBg,h.colorBgContainer),colorWarningOutline:n(h.colorWarningBg,h.colorBgContainer),fontSizeIcon:h.fontSizeSM,lineWidthFocus:h.lineWidth*4,lineWidth:h.lineWidth,controlOutlineWidth:h.lineWidth*2,controlInteractiveSize:h.controlHeight/2,controlItemBgHover:h.colorFillTertiary,controlItemBgActive:h.colorPrimaryBg,controlItemBgActiveHover:h.colorPrimaryBgHover,controlItemBgActiveDisabled:h.colorFill,controlTmpOutline:h.colorFillQuaternary,controlOutline:n(h.colorPrimaryBg,h.colorBgContainer),lineType:h.lineType,borderRadius:h.borderRadius,borderRadiusXS:h.borderRadiusXS,borderRadiusSM:h.borderRadiusSM,borderRadiusLG:h.borderRadiusLG,fontWeightStrong:600,opacityLoading:.65,linkDecoration:"none",linkHoverDecoration:"none",linkFocusDecoration:"none",controlPaddingHorizontal:12,controlPaddingHorizontalSM:8,paddingXXS:h.sizeXXS,paddingXS:h.sizeXS,paddingSM:h.sizeSM,padding:h.size,paddingMD:h.sizeMD,paddingLG:h.sizeLG,paddingXL:h.sizeXL,paddingContentHorizontalLG:h.sizeLG,paddingContentVerticalLG:h.sizeMS,paddingContentHorizontal:h.sizeMS,paddingContentVertical:h.sizeSM,paddingContentHorizontalSM:h.size,paddingContentVerticalSM:h.sizeXS,marginXXS:h.sizeXXS,marginXS:h.sizeXS,marginSM:h.sizeSM,margin:h.size,marginMD:h.sizeMD,marginLG:h.sizeLG,marginXL:h.sizeXL,marginXXL:h.sizeXXL,boxShadow:` + 0 6px 16px 0 rgba(0, 0, 0, 0.08), + 0 3px 6px -4px rgba(0, 0, 0, 0.12), + 0 9px 28px 8px rgba(0, 0, 0, 0.05) + `,boxShadowSecondary:` + 0 6px 16px 0 rgba(0, 0, 0, 0.08), + 0 3px 6px -4px rgba(0, 0, 0, 0.12), + 0 9px 28px 8px rgba(0, 0, 0, 0.05) + `,boxShadowTertiary:` + 0 1px 2px 0 rgba(0, 0, 0, 0.03), + 0 1px 6px -1px rgba(0, 0, 0, 0.02), + 0 2px 4px 0 rgba(0, 0, 0, 0.02) + `,screenXS:S,screenXSMin:S,screenXSMax:w-1,screenSM:w,screenSMMin:w,screenSMMax:x-1,screenMD:x,screenMDMin:x,screenMDMax:z-1,screenLG:z,screenLGMin:z,screenLGMax:U-1,screenXL:U,screenXLMin:U,screenXLMax:T-1,screenXXL:T,screenXXLMin:T,boxShadowPopoverArrow:"2px 2px 5px rgba(0, 0, 0, 0.05)",boxShadowCard:` + 0 1px 2px -2px ${new a.C("rgba(0, 0, 0, 0.16)").toRgbString()}, + 0 3px 6px 0 ${new a.C("rgba(0, 0, 0, 0.12)").toRgbString()}, + 0 5px 12px 4px ${new a.C("rgba(0, 0, 0, 0.09)").toRgbString()} + `,boxShadowDrawerRight:` + -6px 0 16px 0 rgba(0, 0, 0, 0.08), + -3px 0 6px -4px rgba(0, 0, 0, 0.12), + -9px 0 28px 8px rgba(0, 0, 0, 0.05) + `,boxShadowDrawerLeft:` + 6px 0 16px 0 rgba(0, 0, 0, 0.08), + 3px 0 6px -4px rgba(0, 0, 0, 0.12), + 9px 0 28px 8px rgba(0, 0, 0, 0.05) + `,boxShadowDrawerUp:` + 0 6px 16px 0 rgba(0, 0, 0, 0.08), + 0 3px 6px -4px rgba(0, 0, 0, 0.12), + 0 9px 28px 8px rgba(0, 0, 0, 0.05) + `,boxShadowDrawerDown:` + 0 -6px 16px 0 rgba(0, 0, 0, 0.08), + 0 -3px 6px -4px rgba(0, 0, 0, 0.12), + 0 -9px 28px 8px rgba(0, 0, 0, 0.05) + `,boxShadowTabsOverflowLeft:"inset 10px 0 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowRight:"inset -10px 0 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowTop:"inset 0 10px 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowBottom:"inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08)"}),M)}},52628:function(b,y,e){"use strict";e.d(y,{Z:function(){return m}});var a=e(58757),t=e(57793),o=e(71219),s=e(61836),n=e(78330),d=e(51806),l=e(22151),c=e(60619);function m(g,M,h,S){const w=Array.isArray(g)?g:[g,g],[x]=w,z=w.join("-");return U=>{const[T,N,Z]=(0,d.Z)(),{getPrefixCls:D,iconPrefixCls:L,csp:j}=(0,a.useContext)(s.E_),G=D(),W={theme:T,token:N,hashId:Z,nonce:()=>j==null?void 0:j.nonce,clientOnly:S==null?void 0:S.clientOnly,order:-999};return(0,t.xy)(Object.assign(Object.assign({},W),{clientOnly:!1,path:["Shared",G]}),()=>[{"&":(0,n.Lx)(N)}]),(0,c.Z)(L),[(0,t.xy)(Object.assign(Object.assign({},W),{path:[z,U,L]}),()=>{const{token:ne,flush:_}=(0,l.ZP)(N),ee=Object.assign({},N[x]);if(S!=null&&S.deprecatedTokens){const{deprecatedTokens:H}=S;H.forEach(k=>{let[A,Y]=k;var de;(ee!=null&&ee[A]||ee!=null&&ee[Y])&&((de=ee[Y])!==null&&de!==void 0||(ee[Y]=ee==null?void 0:ee[A]))})}const se=typeof h=="function"?h((0,l.TS)(ne,ee!=null?ee:{})):h,Q=Object.assign(Object.assign({},se),ee),C=`.${U}`,X=(0,l.TS)(ne,{componentCls:C,prefixCls:U,iconCls:`.${L}`,antCls:`.${G}`},Q),O=M(X,{hashId:Z,prefixCls:U,rootPrefixCls:G,iconPrefixCls:L,overrideComponentToken:ee});return _(x,Q),[(S==null?void 0:S.resetStyle)===!1?null:(0,n.du)(N,U),O]}),Z]}}},98251:function(b,y,e){"use strict";e.d(y,{Z:function(){return t}});var a=e(34966);function t(o,s){return a.i.reduce((n,d)=>{const l=o[`${d}1`],c=o[`${d}3`],m=o[`${d}6`],g=o[`${d}7`];return Object.assign(Object.assign({},n),s(d,{lightColor:l,lightBorderColor:c,darkColor:m,textColor:g}))},{})}},22151:function(b,y,e){"use strict";e.d(y,{TS:function(){return o},ZP:function(){return l}});const a=typeof CSSINJS_STATISTIC!="undefined";let t=!0;function o(){for(var c=arguments.length,m=new Array(c),g=0;g{Object.keys(h).forEach(w=>{Object.defineProperty(M,w,{configurable:!0,enumerable:!0,get:()=>h[w]})})}),t=!0,M}const s={},n={};function d(){}function l(c){let m,g=c,M=d;return a&&(m=new Set,g=new Proxy(c,{get(h,S){return t&&m.add(S),h[S]}}),M=(h,S)=>{var w;s[h]={global:Array.from(m),component:Object.assign(Object.assign({},(w=s[h])===null||w===void 0?void 0:w.component),S)}}),{token:g,keys:m,flush:M}}},60619:function(b,y,e){"use strict";var a=e(57793),t=e(78330),o=e(51806);const s=(n,d)=>{const[l,c]=(0,o.Z)();return(0,a.xy)({theme:l,token:c,hashId:"",path:["ant-design-icons",n],nonce:()=>d==null?void 0:d.nonce},()=>[{[`.${n}`]:Object.assign(Object.assign({},(0,t.Ro)()),{[`.${n} .${n}-icon`]:{display:"block"}})}])};y.Z=s},38107:function(b,y){"use strict";const e={placeholder:"Select time",rangePlaceholder:["Start time","End time"]};y.Z=e},74820:function(b,y,e){"use strict";e.d(y,{Z:function(){return se}});var a=e(87608),t=e.n(a),o=e(33664),s=e(60409),n=e(58757),d=e(90881),l=e(95446),c=e(37047),m=e(61836),g=e(43528),M=e(22802),h=e(78330),S=e(28107),w=e(24542),x=e(98251),z=e(22151),U=e(52628);const T=Q=>{const{componentCls:C,tooltipMaxWidth:X,tooltipColor:O,tooltipBg:H,tooltipBorderRadius:k,zIndexPopup:A,controlHeight:Y,boxShadowSecondary:de,paddingSM:me,paddingXS:ve,tooltipRadiusOuter:be}=Q;return[{[C]:Object.assign(Object.assign(Object.assign(Object.assign({},(0,h.Wf)(Q)),{position:"absolute",zIndex:A,display:"block",width:"max-content",maxWidth:X,visibility:"visible",transformOrigin:"var(--arrow-x, 50%) var(--arrow-y, 50%)","&-hidden":{display:"none"},"--antd-arrow-background-color":H,[`${C}-inner`]:{minWidth:Y,minHeight:Y,padding:`${me/2}px ${ve}px`,color:O,textAlign:"start",textDecoration:"none",wordWrap:"break-word",backgroundColor:H,borderRadius:k,boxShadow:de,boxSizing:"border-box"},[["&-placement-left","&-placement-leftTop","&-placement-leftBottom","&-placement-right","&-placement-rightTop","&-placement-rightBottom"].join(",")]:{[`${C}-inner`]:{borderRadius:Math.min(k,w.qN)}},[`${C}-content`]:{position:"relative"}}),(0,x.Z)(Q,(Pe,Je)=>{let{darkColor:qe}=Je;return{[`&${C}-${Pe}`]:{[`${C}-inner`]:{backgroundColor:qe},[`${C}-arrow`]:{"--antd-arrow-background-color":qe}}}})),{"&-rtl":{direction:"rtl"}})},(0,w.ZP)((0,z.TS)(Q,{borderRadiusOuter:be}),{colorBg:"var(--antd-arrow-background-color)",contentRadius:k,limitVerticalRadius:!0}),{[`${C}-pure`]:{position:"relative",maxWidth:"none",margin:Q.sizePopupArrow}}]};var N=(Q,C)=>(0,U.Z)("Tooltip",O=>{if(C===!1)return[];const{borderRadius:H,colorTextLightSolid:k,colorBgDefault:A,borderRadiusOuter:Y}=O,de=(0,z.TS)(O,{tooltipMaxWidth:250,tooltipColor:k,tooltipBorderRadius:H,tooltipBg:A,tooltipRadiusOuter:Y>4?4:Y});return[T(de),(0,S._y)(O,"zoom-big-fast")]},O=>{let{zIndexPopupBase:H,colorBgSpotlight:k}=O;return{zIndexPopup:H+70,colorBgDefault:k}},{resetStyle:!1})(Q),Z=e(1878);function D(Q,C){const X=(0,Z.o2)(C),O=t()({[`${Q}-${C}`]:C&&X}),H={},k={};return C&&!X&&(H.background=C,k["--antd-arrow-background-color"]=C),{className:O,overlayStyle:H,arrowStyle:k}}var j=Q=>{const{prefixCls:C,className:X,placement:O="top",title:H,color:k,overlayInnerStyle:A}=Q,{getPrefixCls:Y}=n.useContext(m.E_),de=Y("tooltip",C),[me,ve]=N(de,!0),be=D(de,k),Pe=be.arrowStyle,Je=Object.assign(Object.assign({},A),be.overlayStyle),qe=t()(ve,de,`${de}-pure`,`${de}-placement-${O}`,X,be.className);return me(n.createElement("div",{className:qe,style:Pe},n.createElement("div",{className:`${de}-arrow`}),n.createElement(o.G,Object.assign({},Q,{className:ve,prefixCls:de,overlayInnerStyle:Je}),H)))},G=function(Q,C){var X={};for(var O in Q)Object.prototype.hasOwnProperty.call(Q,O)&&C.indexOf(O)<0&&(X[O]=Q[O]);if(Q!=null&&typeof Object.getOwnPropertySymbols=="function")for(var H=0,O=Object.getOwnPropertySymbols(Q);H{const X={},O=Object.assign({},Q);return C.forEach(H=>{Q&&H in Q&&(X[H]=Q[H],delete O[H])}),{picked:X,omitted:O}};function _(Q,C){const X=Q.type;if((X.__ANT_BUTTON===!0||Q.type==="button")&&Q.props.disabled||X.__ANT_SWITCH===!0&&(Q.props.disabled||Q.props.loading)||X.__ANT_RADIO===!0&&Q.props.disabled){const{picked:O,omitted:H}=ne(Q.props.style,["position","left","right","top","bottom","float","display","zIndex"]),k=Object.assign(Object.assign({display:"inline-block"},O),{cursor:"not-allowed",width:Q.props.block?"100%":void 0}),A=Object.assign(Object.assign({},H),{pointerEvents:"none"}),Y=(0,c.Tm)(Q,{style:A,className:null});return n.createElement("span",{style:k,className:t()(Q.props.className,`${C}-disabled-compatible-wrapper`)},Y)}return Q}const ee=n.forwardRef((Q,C)=>{var X,O;const{prefixCls:H,openClassName:k,getTooltipContainer:A,overlayClassName:Y,color:de,overlayInnerStyle:me,children:ve,afterOpenChange:be,afterVisibleChange:Pe,destroyTooltipOnHide:Je,arrow:qe=!0,title:Xe,overlay:mt,builtinPlacements:Ct,arrowPointAtCenter:vt=!1,autoAdjustOverflow:Ht=!0}=Q,ke=!!qe,{token:Ve}=W(),{getPopupContainer:ot,getPrefixCls:Ke,direction:he}=n.useContext(m.E_),J=n.useRef(null),V=()=>{var Ot;(Ot=J.current)===null||Ot===void 0||Ot.forceAlign()};n.useImperativeHandle(C,()=>({forceAlign:V,forcePopupAlign:()=>{V()}}));const[R,P]=(0,s.Z)(!1,{value:(X=Q.open)!==null&&X!==void 0?X:Q.visible,defaultValue:(O=Q.defaultOpen)!==null&&O!==void 0?O:Q.defaultVisible}),B=!Xe&&!mt&&Xe!==0,ge=Ot=>{var $t,wt;P(B?!1:Ot),B||(($t=Q.onOpenChange)===null||$t===void 0||$t.call(Q,Ot),(wt=Q.onVisibleChange)===null||wt===void 0||wt.call(Q,Ot))},ie=n.useMemo(()=>{var Ot,$t;let wt=vt;return typeof qe=="object"&&(wt=($t=(Ot=qe.pointAtCenter)!==null&&Ot!==void 0?Ot:qe.arrowPointAtCenter)!==null&&$t!==void 0?$t:vt),Ct||(0,l.Z)({arrowPointAtCenter:wt,autoAdjustOverflow:Ht,arrowWidth:ke?Ve.sizePopupArrow:0,borderRadius:Ve.borderRadius,offset:Ve.marginXXS,visibleFirst:!0})},[vt,qe,Ct,Ve]),pe=n.useMemo(()=>Xe===0?Xe:mt||Xe||"",[mt,Xe]),Oe=n.createElement(g.BR,null,typeof pe=="function"?pe():pe),{getPopupContainer:xe,placement:Se="top",mouseEnterDelay:$e=.1,mouseLeaveDelay:re=.1,overlayStyle:oe,rootClassName:q}=Q,ue=G(Q,["getPopupContainer","placement","mouseEnterDelay","mouseLeaveDelay","overlayStyle","rootClassName"]),Ee=Ke("tooltip",H),le=Ke(),Ne=Q["data-popover-inject"];let Ae=R;!("open"in Q)&&!("visible"in Q)&&B&&(Ae=!1);const we=_((0,c.l$)(ve)&&!(0,c.M2)(ve)?ve:n.createElement("span",null,ve),Ee),Re=we.props,st=!Re.className||typeof Re.className=="string"?t()(Re.className,k||`${Ee}-open`):Re.className,[nt,_e]=N(Ee,!Ne),We=D(Ee,de),Be=We.arrowStyle,it=Object.assign(Object.assign({},me),We.overlayStyle),Ge=t()(Y,{[`${Ee}-rtl`]:he==="rtl"},We.className,q,_e);return nt(n.createElement(o.Z,Object.assign({},ue,{showArrow:ke,placement:Se,mouseEnterDelay:$e,mouseLeaveDelay:re,prefixCls:Ee,overlayClassName:Ge,overlayStyle:Object.assign(Object.assign({},Be),oe),getTooltipContainer:xe||A||ot,ref:J,builtinPlacements:ie,overlay:Oe,visible:Ae,onVisibleChange:ge,afterVisibleChange:be!=null?be:Pe,overlayInnerStyle:it,arrowContent:n.createElement("span",{className:`${Ee}-arrow-content`}),motion:{motionName:(0,d.m)(le,"zoom-big-fast",Q.transitionName),motionDeadline:1e3},destroyTooltipOnHide:!!Je}),Ae?(0,c.Tm)(we,{className:st}):we))});ee._InternalPanelDoNotUseOrYouWillBeFired=j;var se=ee},23241:function(b,y,e){"use strict";e.d(y,{Z:function(){return er}});var a=e(58757),t=e(29140),o=e(87608),s=e.n(o),n=e(60698),d=e(60412),l=e(14346),c=e(87498),m=e(73726),g=e(37734),M=e(47075),h=e(74632),S=e(38790),w=e(79290),x=e(33926);function z(Wt,en){var nn="cannot ".concat(Wt.method," ").concat(Wt.action," ").concat(en.status,"'"),fn=new Error(nn);return fn.status=en.status,fn.method=Wt.method,fn.url=Wt.action,fn}function U(Wt){var en=Wt.responseText||Wt.response;if(!en)return en;try{return JSON.parse(en)}catch(nn){return en}}function T(Wt){var en=new XMLHttpRequest;Wt.onProgress&&en.upload&&(en.upload.onprogress=function(on){on.total>0&&(on.percent=on.loaded/on.total*100),Wt.onProgress(on)});var nn=new FormData;Wt.data&&Object.keys(Wt.data).forEach(function(En){var on=Wt.data[En];if(Array.isArray(on)){on.forEach(function(pt){nn.append("".concat(En,"[]"),pt)});return}nn.append(En,on)}),Wt.file instanceof Blob?nn.append(Wt.filename,Wt.file,Wt.file.name):nn.append(Wt.filename,Wt.file),en.onerror=function(on){Wt.onError(on)},en.onload=function(){return en.status<200||en.status>=300?Wt.onError(z(Wt,en),U(en)):Wt.onSuccess(U(en),en)},en.open(Wt.method,Wt.action,!0),Wt.withCredentials&&"withCredentials"in en&&(en.withCredentials=!0);var fn=Wt.headers||{};return fn["X-Requested-With"]!==null&&en.setRequestHeader("X-Requested-With","XMLHttpRequest"),Object.keys(fn).forEach(function(En){fn[En]!==null&&en.setRequestHeader(En,fn[En])}),en.send(nn),{abort:function(){en.abort()}}}var N=+new Date,Z=0;function D(){return"rc-upload-".concat(N,"-").concat(++Z)}var L=e(75556),j=function(Wt,en){if(Wt&&en){var nn=Array.isArray(en)?en:en.split(","),fn=Wt.name||"",En=Wt.type||"",on=En.replace(/\/.*$/,"");return nn.some(function(pt){var gt=pt.trim();if(/^\*(\/\*)?$/.test(pt))return!0;if(gt.charAt(0)==="."){var Xt=fn.toLowerCase(),rn=gt.toLowerCase(),Jt=[rn];return(rn===".jpg"||rn===".jpeg")&&(Jt=[".jpg",".jpeg"]),Jt.some(function(pn){return Xt.endsWith(pn)})}return/\/\*$/.test(gt)?on===gt.replace(/\/.*$/,""):En===gt?!0:/^\w+$/.test(gt)?((0,L.ZP)(!1,"Upload takes an invalidate 'accept' type '".concat(gt,"'.Skip for check.")),!0):!1})}return!0};function G(Wt,en){var nn=Wt.createReader(),fn=[];function En(){nn.readEntries(function(on){var pt=Array.prototype.slice.apply(on);fn=fn.concat(pt);var gt=!pt.length;gt?en(fn):En()})}En()}var W=function(en,nn,fn){var En=function on(pt,gt){pt.path=gt||"",pt.isFile?pt.file(function(Xt){fn(Xt)&&(pt.fullPath&&!Xt.webkitRelativePath&&(Object.defineProperties(Xt,{webkitRelativePath:{writable:!0}}),Xt.webkitRelativePath=pt.fullPath.replace(/^\//,""),Object.defineProperties(Xt,{webkitRelativePath:{writable:!1}})),nn([Xt]))}):pt.isDirectory&&G(pt,function(Xt){Xt.forEach(function(rn){on(rn,"".concat(gt).concat(pt.name,"/"))})})};en.forEach(function(on){En(on.webkitGetAsEntry())})},ne=W,_=["component","prefixCls","className","disabled","id","style","multiple","accept","capture","children","directory","openFileDialogOnClick","onMouseEnter","onMouseLeave"],ee=function(Wt){(0,c.Z)(nn,Wt);var en=(0,m.Z)(nn);function nn(){var fn;(0,d.Z)(this,nn);for(var En=arguments.length,on=new Array(En),pt=0;pt{let{uid:on}=En;return on===Wt.uid});return fn===-1?nn.push(Wt):nn[fn]=Wt,nn}function ie(Wt,en){const nn=Wt.uid!==void 0?"uid":"name";return en.filter(fn=>fn[nn]===Wt[nn])[0]}function pe(Wt,en){const nn=Wt.uid!==void 0?"uid":"name",fn=en.filter(En=>En[nn]!==Wt[nn]);return fn.length===en.length?null:fn}const Oe=function(){const en=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:"").split("/"),fn=en[en.length-1].split(/#|\?/)[0];return(/\.[^./\\]*$/.exec(fn)||[""])[0]},xe=Wt=>Wt.indexOf("image/")===0,Se=Wt=>{if(Wt.type&&!Wt.thumbUrl)return xe(Wt.type);const en=Wt.thumbUrl||Wt.url||"",nn=Oe(en);return/^data:image\//.test(en)||/(webp|svg|png|gif|jpg|jpeg|jfif|bmp|dpg|ico|heic|heif)$/i.test(nn)?!0:!(/^data:/.test(en)||nn)},$e=200;function re(Wt){return new Promise(en=>{if(!Wt.type||!xe(Wt.type)){en("");return}const nn=document.createElement("canvas");nn.width=$e,nn.height=$e,nn.style.cssText=`position: fixed; left: 0; top: 0; width: ${$e}px; height: ${$e}px; z-index: 9999; display: none;`,document.body.appendChild(nn);const fn=nn.getContext("2d"),En=new Image;if(En.onload=()=>{const{width:on,height:pt}=En;let gt=$e,Xt=$e,rn=0,Jt=0;on>pt?(Xt=pt*($e/on),Jt=-(Xt-gt)/2):(gt=on*($e/pt),rn=-(gt-Xt)/2),fn.drawImage(En,rn,Jt,gt,Xt);const pn=nn.toDataURL();document.body.removeChild(nn),window.URL.revokeObjectURL(En.src),en(pn)},En.crossOrigin="anonymous",Wt.type.startsWith("image/svg+xml")){const on=new FileReader;on.onload=()=>{on.result&&(En.src=on.result)},on.readAsDataURL(Wt)}else if(Wt.type.startsWith("image/gif")){const on=new FileReader;on.onload=()=>{on.result&&en(on.result)},on.readAsDataURL(Wt)}else En.src=window.URL.createObjectURL(Wt)})}var oe=e(23605),q={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M505.7 661a8 8 0 0012.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]},name:"download",theme:"outlined"},ue=q,Ee=function(en,nn){return a.createElement(Pe.Z,(0,n.Z)({},en,{ref:nn,icon:ue}))},le=a.forwardRef(Ee),Ne=e(56019),Ae=e(95664),we=e(74820),st=a.forwardRef((Wt,en)=>{let{prefixCls:nn,className:fn,style:En,locale:on,listType:pt,file:gt,items:Xt,progress:rn,iconRender:Jt,actionIconRender:pn,itemRender:mn,isImgUrl:Zn,showPreviewIcon:tr,showRemoveIcon:ut,showDownloadIcon:ct,previewIcon:Dt,removeIcon:xt,downloadIcon:kt,onPreview:sn,onDownload:tn,onClose:xn}=Wt;var Nn,gr;const{status:nr}=gt,[Rn,kr]=a.useState(nr);a.useEffect(()=>{nr!=="removed"&&kr(nr)},[nr]);const[fr,ua]=a.useState(!1);a.useEffect(()=>{const xr=setTimeout(()=>{ua(!0)},300);return()=>{clearTimeout(xr)}},[]);const Pr=Jt(gt);let Bn=a.createElement("div",{className:`${nn}-icon`},Pr);if(pt==="picture"||pt==="picture-card"||pt==="picture-circle")if(Rn==="uploading"||!gt.thumbUrl&&!gt.url){const xr=s()(`${nn}-list-item-thumbnail`,{[`${nn}-list-item-file`]:Rn!=="uploading"});Bn=a.createElement("div",{className:xr},Pr)}else{const xr=Zn!=null&&Zn(gt)?a.createElement("img",{src:gt.thumbUrl||gt.url,alt:gt.name,className:`${nn}-list-item-image`,crossOrigin:gt.crossOrigin}):Pr,jt=s()(`${nn}-list-item-thumbnail`,{[`${nn}-list-item-file`]:Zn&&!Zn(gt)});Bn=a.createElement("a",{className:jt,onClick:an=>sn(gt,an),href:gt.url||gt.thumbUrl,target:"_blank",rel:"noopener noreferrer"},xr)}const Cn=s()(`${nn}-list-item`,`${nn}-list-item-${Rn}`),wn=typeof gt.linkProps=="string"?JSON.parse(gt.linkProps):gt.linkProps,ar=ut?pn((typeof xt=="function"?xt(gt):xt)||a.createElement(oe.Z,null),()=>xn(gt),nn,on.removeFile):null,mr=ct&&Rn==="done"?pn((typeof kt=="function"?kt(gt):kt)||a.createElement(le,null),()=>tn(gt),nn,on.downloadFile):null,Qr=pt!=="picture-card"&&pt!=="picture-circle"&&a.createElement("span",{key:"download-delete",className:s()(`${nn}-list-item-actions`,{picture:pt==="picture"})},mr,ar),qr=s()(`${nn}-list-item-name`),ya=gt.url?[a.createElement("a",Object.assign({key:"view",target:"_blank",rel:"noopener noreferrer",className:qr,title:gt.name},wn,{href:gt.url,onClick:xr=>sn(gt,xr)}),gt.name),Qr]:[a.createElement("span",{key:"view",className:qr,onClick:xr=>sn(gt,xr),title:gt.name},gt.name),Qr],dr={pointerEvents:"none",opacity:.5},Br=tr?a.createElement("a",{href:gt.url||gt.thumbUrl,target:"_blank",rel:"noopener noreferrer",style:gt.url||gt.thumbUrl?void 0:dr,onClick:xr=>sn(gt,xr),title:on.previewFile},typeof Dt=="function"?Dt(gt):Dt||a.createElement(Ne.Z,null)):null,Ea=(pt==="picture-card"||pt==="picture-circle")&&Rn!=="uploading"&&a.createElement("span",{className:`${nn}-list-item-actions`},Br,Rn==="done"&&mr,ar),{getPrefixCls:ca}=a.useContext(A.E_),Kn=ca(),zn=a.createElement("div",{className:Cn},Bn,ya,Ea,fr&&a.createElement(he.ZP,{motionName:`${Kn}-fade`,visible:Rn==="uploading",motionDeadline:2e3},xr=>{let{className:jt}=xr;const an="percent"in gt?a.createElement(Ae.Z,Object.assign({},rn,{type:"line",percent:gt.percent,"aria-label":gt["aria-label"],"aria-labelledby":gt["aria-labelledby"]})):null;return a.createElement("div",{className:s()(`${nn}-list-item-progress`,jt)},an)})),vr=gt.response&&typeof gt.response=="string"?gt.response:((Nn=gt.error)===null||Nn===void 0?void 0:Nn.statusText)||((gr=gt.error)===null||gr===void 0?void 0:gr.message)||on.uploadError,ra=Rn==="error"?a.createElement(we.Z,{title:vr,getPopupContainer:xr=>xr.parentNode},zn):zn;return a.createElement("div",{className:s()(`${nn}-list-item-container`,fn),style:En,ref:en},mn?mn(ra,gt,Xt,{download:tn.bind(null,gt),preview:sn.bind(null,gt),remove:xn.bind(null,gt)}):ra)});const nt=(Wt,en)=>{const{listType:nn="text",previewFile:fn=re,onPreview:En,onDownload:on,onRemove:pt,locale:gt,iconRender:Xt,isImageUrl:rn=Se,prefixCls:Jt,items:pn=[],showPreviewIcon:mn=!0,showRemoveIcon:Zn=!0,showDownloadIcon:tr=!1,removeIcon:ut,previewIcon:ct,downloadIcon:Dt,progress:xt={size:[-1,2],showInfo:!1},appendAction:kt,appendActionVisible:sn=!0,itemRender:tn,disabled:xn}=Wt,Nn=(0,J.Z)(),[gr,nr]=a.useState(!1);a.useEffect(()=>{nn!=="picture"&&nn!=="picture-card"&&nn!=="picture-circle"||(pn||[]).forEach(dr=>{typeof document=="undefined"||typeof window=="undefined"||!window.FileReader||!window.File||!(dr.originFileObj instanceof File||dr.originFileObj instanceof Blob)||dr.thumbUrl!==void 0||(dr.thumbUrl="",fn&&fn(dr.originFileObj).then(Br=>{dr.thumbUrl=Br||"",Nn()}))})},[nn,pn,fn]),a.useEffect(()=>{nr(!0)},[]);const Rn=(dr,Br)=>{if(En)return Br==null||Br.preventDefault(),En(dr)},kr=dr=>{typeof on=="function"?on(dr):dr.url&&window.open(dr.url)},fr=dr=>{pt==null||pt(dr)},ua=dr=>{if(Xt)return Xt(dr,nn);const Br=dr.status==="uploading",Ea=rn&&rn(dr)?a.createElement(Ke,null):a.createElement(qe,null);let ca=Br?a.createElement(Xe.Z,null):a.createElement(Ht,null);return nn==="picture"?ca=Br?a.createElement(Xe.Z,null):Ea:(nn==="picture-card"||nn==="picture-circle")&&(ca=Br?gt.uploading:Ea),ca},Pr=(dr,Br,Ea,ca)=>{const Kn={type:"text",size:"small",title:ca,onClick:zn=>{Br(),(0,R.l$)(dr)&&dr.props.onClick&&dr.props.onClick(zn)},className:`${Ea}-list-item-action`,disabled:xn};if((0,R.l$)(dr)){const zn=(0,R.Tm)(dr,Object.assign(Object.assign({},dr.props),{onClick:()=>{}}));return a.createElement(P.ZP,Object.assign({},Kn,{icon:zn}))}return a.createElement(P.ZP,Object.assign({},Kn),a.createElement("span",null,dr))};a.useImperativeHandle(en,()=>({handlePreview:Rn,handleDownload:kr}));const{getPrefixCls:Bn}=a.useContext(A.E_),Cn=Bn("upload",Jt),wn=Bn(),ar=s()(`${Cn}-list`,`${Cn}-list-${nn}`),mr=(0,t.Z)(pn.map(dr=>({key:dr.uid,file:dr})));let qr={motionDeadline:2e3,motionName:`${Cn}-${nn==="picture-card"||nn==="picture-circle"?"animate-inline":"animate"}`,keys:mr,motionAppear:gr};const ya=a.useMemo(()=>{const dr=Object.assign({},(0,V.Z)(wn));return delete dr.onAppearEnd,delete dr.onEnterEnd,delete dr.onLeaveEnd,dr},[wn]);return nn!=="picture-card"&&nn!=="picture-circle"&&(qr=Object.assign(Object.assign({},ya),qr)),a.createElement("div",{className:ar},a.createElement(he.V4,Object.assign({},qr,{component:!1}),dr=>{let{key:Br,file:Ea,className:ca,style:Kn}=dr;return a.createElement(st,{key:Br,locale:gt,prefixCls:Cn,className:ca,style:Kn,file:Ea,items:pn,progress:xt,listType:nn,isImgUrl:rn,showPreviewIcon:mn,showRemoveIcon:Zn,showDownloadIcon:tr,removeIcon:ut,previewIcon:ct,downloadIcon:Dt,iconRender:ua,actionIconRender:Pr,itemRender:tn,onPreview:Rn,onDownload:kr,onClose:fr})}),kt&&a.createElement(he.ZP,Object.assign({},qr,{visible:sn,forceRender:!0}),dr=>{let{className:Br,style:Ea}=dr;return(0,R.Tm)(kt,ca=>({className:s()(ca.className,Br),style:Object.assign(Object.assign(Object.assign({},Ea),{pointerEvents:Br?"none":void 0}),ca.style)}))}))};var We=a.forwardRef(nt),Be=e(78330),it=e(41086),Ge=e(52628),Ot=e(22151),wt=Wt=>{const{componentCls:en,iconCls:nn}=Wt;return{[`${en}-wrapper`]:{[`${en}-drag`]:{position:"relative",width:"100%",height:"100%",textAlign:"center",background:Wt.colorFillAlter,border:`${Wt.lineWidth}px dashed ${Wt.colorBorder}`,borderRadius:Wt.borderRadiusLG,cursor:"pointer",transition:`border-color ${Wt.motionDurationSlow}`,[en]:{padding:`${Wt.padding}px 0`},[`${en}-btn`]:{display:"table",width:"100%",height:"100%",outline:"none"},[`${en}-drag-container`]:{display:"table-cell",verticalAlign:"middle"},[`&:not(${en}-disabled):hover`]:{borderColor:Wt.colorPrimaryHover},[`p${en}-drag-icon`]:{marginBottom:Wt.margin,[nn]:{color:Wt.colorPrimary,fontSize:Wt.uploadThumbnailSize}},[`p${en}-text`]:{margin:`0 0 ${Wt.marginXXS}px`,color:Wt.colorTextHeading,fontSize:Wt.fontSizeLG},[`p${en}-hint`]:{color:Wt.colorTextDescription,fontSize:Wt.fontSize},[`&${en}-disabled`]:{cursor:"not-allowed",[`p${en}-drag-icon ${nn}, + p${en}-text, + p${en}-hint + `]:{color:Wt.colorTextDisabled}}}}}},dt=Wt=>{const{componentCls:en,antCls:nn,iconCls:fn,fontSize:En,lineHeight:on}=Wt,pt=`${en}-list-item`,gt=`${pt}-actions`,Xt=`${pt}-action`,rn=Math.round(En*on);return{[`${en}-wrapper`]:{[`${en}-list`]:Object.assign(Object.assign({},(0,Be.dF)()),{lineHeight:Wt.lineHeight,[pt]:{position:"relative",height:Wt.lineHeight*En,marginTop:Wt.marginXS,fontSize:En,display:"flex",alignItems:"center",transition:`background-color ${Wt.motionDurationSlow}`,"&:hover":{backgroundColor:Wt.controlItemBgHover},[`${pt}-name`]:Object.assign(Object.assign({},Be.vS),{padding:`0 ${Wt.paddingXS}px`,lineHeight:on,flex:"auto",transition:`all ${Wt.motionDurationSlow}`}),[gt]:{[Xt]:{opacity:0},[`${Xt}${nn}-btn-sm`]:{height:rn,border:0,lineHeight:1,"> span":{transform:"scale(1)"}},[` + ${Xt}:focus, + &.picture ${Xt} + `]:{opacity:1},[fn]:{color:Wt.actionsColor,transition:`all ${Wt.motionDurationSlow}`},[`&:hover ${fn}`]:{color:Wt.colorText}},[`${en}-icon ${fn}`]:{color:Wt.colorTextDescription,fontSize:En},[`${pt}-progress`]:{position:"absolute",bottom:-Wt.uploadProgressOffset,width:"100%",paddingInlineStart:En+Wt.paddingXS,fontSize:En,lineHeight:0,pointerEvents:"none","> div":{margin:0}}},[`${pt}:hover ${Xt}`]:{opacity:1,color:Wt.colorText},[`${pt}-error`]:{color:Wt.colorError,[`${pt}-name, ${en}-icon ${fn}`]:{color:Wt.colorError},[gt]:{[`${fn}, ${fn}:hover`]:{color:Wt.colorError},[Xt]:{opacity:1}}},[`${en}-list-item-container`]:{transition:`opacity ${Wt.motionDurationSlow}, height ${Wt.motionDurationSlow}`,"&::before":{display:"table",width:0,height:0,content:'""'}}})}}},je=e(57793),tt=e(7239);const lt=new je.E4("uploadAnimateInlineIn",{from:{width:0,height:0,margin:0,padding:0,opacity:0}}),bt=new je.E4("uploadAnimateInlineOut",{to:{width:0,height:0,margin:0,padding:0,opacity:0}});var Kt=Wt=>{const{componentCls:en}=Wt,nn=`${en}-animate-inline`;return[{[`${en}-wrapper`]:{[`${nn}-appear, ${nn}-enter, ${nn}-leave`]:{animationDuration:Wt.motionDurationSlow,animationTimingFunction:Wt.motionEaseInOutCirc,animationFillMode:"forwards"},[`${nn}-appear, ${nn}-enter`]:{animationName:lt},[`${nn}-leave`]:{animationName:bt}}},{[`${en}-wrapper`]:(0,tt.J$)(Wt)},lt,bt]},zt=e(26134),Mt=e(66671);const Le=Wt=>{const{componentCls:en,iconCls:nn,uploadThumbnailSize:fn,uploadProgressOffset:En}=Wt,on=`${en}-list`,pt=`${on}-item`;return{[`${en}-wrapper`]:{[` + ${on}${on}-picture, + ${on}${on}-picture-card, + ${on}${on}-picture-circle + `]:{[pt]:{position:"relative",height:fn+Wt.lineWidth*2+Wt.paddingXS*2,padding:Wt.paddingXS,border:`${Wt.lineWidth}px ${Wt.lineType} ${Wt.colorBorder}`,borderRadius:Wt.borderRadiusLG,"&:hover":{background:"transparent"},[`${pt}-thumbnail`]:Object.assign(Object.assign({},Be.vS),{width:fn,height:fn,lineHeight:`${fn+Wt.paddingSM}px`,textAlign:"center",flex:"none",[nn]:{fontSize:Wt.fontSizeHeading2,color:Wt.colorPrimary},img:{display:"block",width:"100%",height:"100%",overflow:"hidden"}}),[`${pt}-progress`]:{bottom:En,width:`calc(100% - ${Wt.paddingSM*2}px)`,marginTop:0,paddingInlineStart:fn+Wt.paddingXS}},[`${pt}-error`]:{borderColor:Wt.colorError,[`${pt}-thumbnail ${nn}`]:{[`svg path[fill='${zt.blue[0]}']`]:{fill:Wt.colorErrorBg},[`svg path[fill='${zt.blue.primary}']`]:{fill:Wt.colorError}}},[`${pt}-uploading`]:{borderStyle:"dashed",[`${pt}-name`]:{marginBottom:En}}},[`${on}${on}-picture-circle ${pt}`]:{[`&, &::before, ${pt}-thumbnail`]:{borderRadius:"50%"}}}}},Ce=Wt=>{const{componentCls:en,iconCls:nn,fontSizeLG:fn,colorTextLightSolid:En}=Wt,on=`${en}-list`,pt=`${on}-item`,gt=Wt.uploadPicCardSize;return{[` + ${en}-wrapper${en}-picture-card-wrapper, + ${en}-wrapper${en}-picture-circle-wrapper + `]:Object.assign(Object.assign({},(0,Be.dF)()),{display:"inline-block",width:"100%",[`${en}${en}-select`]:{width:gt,height:gt,marginInlineEnd:Wt.marginXS,marginBottom:Wt.marginXS,textAlign:"center",verticalAlign:"top",backgroundColor:Wt.colorFillAlter,border:`${Wt.lineWidth}px dashed ${Wt.colorBorder}`,borderRadius:Wt.borderRadiusLG,cursor:"pointer",transition:`border-color ${Wt.motionDurationSlow}`,[`> ${en}`]:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",textAlign:"center"},[`&:not(${en}-disabled):hover`]:{borderColor:Wt.colorPrimary}},[`${on}${on}-picture-card, ${on}${on}-picture-circle`]:{[`${on}-item-container`]:{display:"inline-block",width:gt,height:gt,marginBlock:`0 ${Wt.marginXS}px`,marginInline:`0 ${Wt.marginXS}px`,verticalAlign:"top"},"&::after":{display:"none"},[pt]:{height:"100%",margin:0,"&::before":{position:"absolute",zIndex:1,width:`calc(100% - ${Wt.paddingXS*2}px)`,height:`calc(100% - ${Wt.paddingXS*2}px)`,backgroundColor:Wt.colorBgMask,opacity:0,transition:`all ${Wt.motionDurationSlow}`,content:'" "'}},[`${pt}:hover`]:{[`&::before, ${pt}-actions`]:{opacity:1}},[`${pt}-actions`]:{position:"absolute",insetInlineStart:0,zIndex:10,width:"100%",whiteSpace:"nowrap",textAlign:"center",opacity:0,transition:`all ${Wt.motionDurationSlow}`,[`${nn}-eye, ${nn}-download, ${nn}-delete`]:{zIndex:10,width:fn,margin:`0 ${Wt.marginXXS}px`,fontSize:fn,cursor:"pointer",transition:`all ${Wt.motionDurationSlow}`,svg:{verticalAlign:"baseline"}}},[`${pt}-actions, ${pt}-actions:hover`]:{[`${nn}-eye, ${nn}-download, ${nn}-delete`]:{color:new Mt.C(En).setAlpha(.65).toRgbString(),"&:hover":{color:En}}},[`${pt}-thumbnail, ${pt}-thumbnail img`]:{position:"static",display:"block",width:"100%",height:"100%",objectFit:"contain"},[`${pt}-name`]:{display:"none",textAlign:"center"},[`${pt}-file + ${pt}-name`]:{position:"absolute",bottom:Wt.margin,display:"block",width:`calc(100% - ${Wt.paddingXS*2}px)`},[`${pt}-uploading`]:{[`&${pt}`]:{backgroundColor:Wt.colorFillAlter},[`&::before, ${nn}-eye, ${nn}-download, ${nn}-delete`]:{display:"none"}},[`${pt}-progress`]:{bottom:Wt.marginXL,width:`calc(100% - ${Wt.paddingXS*2}px)`,paddingInlineStart:0}}}),[`${en}-wrapper${en}-picture-circle-wrapper`]:{[`${en}${en}-select`]:{borderRadius:"50%"}}}};var Tt=Wt=>{const{componentCls:en}=Wt;return{[`${en}-rtl`]:{direction:"rtl"}}};const Ye=Wt=>{const{componentCls:en,colorTextDisabled:nn}=Wt;return{[`${en}-wrapper`]:Object.assign(Object.assign({},(0,Be.Wf)(Wt)),{[en]:{outline:0,"input[type='file']":{cursor:"pointer"}},[`${en}-select`]:{display:"inline-block"},[`${en}-disabled`]:{color:nn,cursor:"not-allowed"}})}};var et=(0,Ge.Z)("Upload",Wt=>{const{fontSizeHeading3:en,fontSize:nn,lineHeight:fn,lineWidth:En,controlHeightLG:on}=Wt,pt=Math.round(nn*fn),gt=(0,Ot.TS)(Wt,{uploadThumbnailSize:en*2,uploadProgressOffset:pt/2+En,uploadPicCardSize:on*2.55});return[Ye(gt),wt(gt),Le(gt),Ce(gt),dt(gt),Kt(gt),Tt(gt),(0,it.Z)(gt)]},Wt=>({actionsColor:Wt.colorTextDescription})),_t=function(Wt,en,nn,fn){function En(on){return on instanceof nn?on:new nn(function(pt){pt(on)})}return new(nn||(nn=Promise))(function(on,pt){function gt(Jt){try{rn(fn.next(Jt))}catch(pn){pt(pn)}}function Xt(Jt){try{rn(fn.throw(Jt))}catch(pn){pt(pn)}}function rn(Jt){Jt.done?on(Jt.value):En(Jt.value).then(gt,Xt)}rn((fn=fn.apply(Wt,en||[])).next())})};const Ut=`__LIST_IGNORE_${Date.now()}__`,qt=(Wt,en)=>{const{fileList:nn,defaultFileList:fn,onRemove:En,showUploadList:on=!0,listType:pt="text",onPreview:gt,onDownload:Xt,onChange:rn,onDrop:Jt,previewFile:pn,disabled:mn,locale:Zn,iconRender:tr,isImageUrl:ut,progress:ct,prefixCls:Dt,className:xt,type:kt="select",children:sn,style:tn,itemRender:xn,maxCount:Nn,data:gr={},multiple:nr=!1,action:Rn="",accept:kr="",supportServerRender:fr=!0}=Wt,ua=a.useContext(Y.Z),Pr=mn!=null?mn:ua,[Bn,Cn]=(0,H.Z)(fn||[],{value:nn,postState:_n=>_n!=null?_n:[]}),[wn,ar]=a.useState("drop"),mr=a.useRef(null);a.useMemo(()=>{const _n=Date.now();(nn||[]).forEach((Tn,yr)=>{!Tn.uid&&!Object.isFrozen(Tn)&&(Tn.uid=`__AUTO__${_n}_${yr}__`)})},[nn]);const Qr=(_n,Tn,yr)=>{let Wr=(0,t.Z)(Tn),Da=!1;Nn===1?Wr=Wr.slice(-1):Nn&&(Da=Wr.length>Nn,Wr=Wr.slice(0,Nn)),(0,k.flushSync)(()=>{Cn(Wr)});const la={file:_n,fileList:Wr};yr&&(la.event=yr),(!Da||Wr.some(ea=>ea.uid===_n.uid))&&(0,k.flushSync)(()=>{rn==null||rn(la)})},qr=(_n,Tn)=>_t(void 0,void 0,void 0,function*(){const{beforeUpload:yr,transformFile:Wr}=Wt;let Da=_n;if(yr){const la=yield yr(_n,Tn);if(la===!1)return!1;if(delete _n[Ut],la===Ut)return Object.defineProperty(_n,Ut,{value:!0,configurable:!0}),!1;typeof la=="object"&&la&&(Da=la)}return Wr&&(Da=yield Wr(Da)),Da}),ya=_n=>{const Tn=_n.filter(Da=>!Da.file[Ut]);if(!Tn.length)return;const yr=Tn.map(Da=>B(Da.file));let Wr=(0,t.Z)(Bn);yr.forEach(Da=>{Wr=ge(Da,Wr)}),yr.forEach((Da,la)=>{let ea=Da;if(Tn[la].parsedFile)Da.status="uploading";else{const{originFileObj:oa}=Da;let Ir;try{Ir=new File([oa],oa.name,{type:oa.type})}catch($r){Ir=new Blob([oa],{type:oa.type}),Ir.name=oa.name,Ir.lastModifiedDate=new Date,Ir.lastModified=new Date().getTime()}Ir.uid=Da.uid,ea=Ir}Qr(ea,Wr)})},dr=(_n,Tn,yr)=>{try{typeof _n=="string"&&(_n=JSON.parse(_n))}catch(la){}if(!ie(Tn,Bn))return;const Wr=B(Tn);Wr.status="done",Wr.percent=100,Wr.response=_n,Wr.xhr=yr;const Da=ge(Wr,Bn);Qr(Wr,Da)},Br=(_n,Tn)=>{if(!ie(Tn,Bn))return;const yr=B(Tn);yr.status="uploading",yr.percent=_n.percent;const Wr=ge(yr,Bn);Qr(yr,Wr,_n)},Ea=(_n,Tn,yr)=>{if(!ie(yr,Bn))return;const Wr=B(yr);Wr.error=_n,Wr.response=Tn,Wr.status="error";const Da=ge(Wr,Bn);Qr(Wr,Da)},ca=_n=>{let Tn;Promise.resolve(typeof En=="function"?En(_n):En).then(yr=>{var Wr;if(yr===!1)return;const Da=pe(_n,Bn);Da&&(Tn=Object.assign(Object.assign({},_n),{status:"removed"}),Bn==null||Bn.forEach(la=>{const ea=Tn.uid!==void 0?"uid":"name";la[ea]===Tn[ea]&&!Object.isFrozen(la)&&(la.status="removed")}),(Wr=mr.current)===null||Wr===void 0||Wr.abort(Tn),Qr(Tn,Da))})},Kn=_n=>{ar(_n.type),_n.type==="drop"&&(Jt==null||Jt(_n))};a.useImperativeHandle(en,()=>({onBatchStart:ya,onSuccess:dr,onProgress:Br,onError:Ea,fileList:Bn,upload:mr.current}));const{getPrefixCls:zn,direction:vr,upload:ra}=a.useContext(A.E_),xr=zn("upload",Dt),jt=Object.assign(Object.assign({onBatchStart:ya,onError:Ea,onProgress:Br,onSuccess:dr},Wt),{data:gr,multiple:nr,action:Rn,accept:kr,supportServerRender:fr,prefixCls:xr,disabled:Pr,beforeUpload:qr,onChange:void 0});delete jt.className,delete jt.style,(!sn||Pr)&&delete jt.id;const[an,hn]=et(xr),[ao]=(0,de.Z)("Upload",me.Z.Upload),{showRemoveIcon:Mo,showPreviewIcon:Ua,showDownloadIcon:Ha,removeIcon:eo,previewIcon:jo,downloadIcon:Wo}=typeof on=="boolean"?{}:on,Eo=(_n,Tn)=>on?a.createElement(We,{prefixCls:xr,listType:pt,items:Bn,previewFile:pn,onPreview:gt,onDownload:Xt,onRemove:ca,showRemoveIcon:!Pr&&Mo,showPreviewIcon:Ua,showDownloadIcon:Ha,removeIcon:eo,previewIcon:jo,downloadIcon:Wo,iconRender:tr,locale:Object.assign(Object.assign({},ao),Zn),isImageUrl:ut,progress:ct,appendAction:_n,appendActionVisible:Tn,itemRender:xn,disabled:Pr}):_n,ft=s()(`${xr}-wrapper`,xt,hn,ra==null?void 0:ra.className,{[`${xr}-rtl`]:vr==="rtl",[`${xr}-picture-card-wrapper`]:pt==="picture-card",[`${xr}-picture-circle-wrapper`]:pt==="picture-circle"}),Nt=Object.assign(Object.assign({},ra==null?void 0:ra.style),tn);if(kt==="drag"){const _n=s()(hn,xr,`${xr}-drag`,{[`${xr}-drag-uploading`]:Bn.some(Tn=>Tn.status==="uploading"),[`${xr}-drag-hover`]:wn==="dragover",[`${xr}-disabled`]:Pr,[`${xr}-rtl`]:vr==="rtl"});return an(a.createElement("span",{className:ft},a.createElement("div",{className:_n,style:Nt,onDrop:Kn,onDragOver:Kn,onDragLeave:Kn},a.createElement(O,Object.assign({},jt,{ref:mr,className:`${xr}-btn`}),a.createElement("div",{className:`${xr}-drag-container`},sn))),Eo()))}const Ie=s()(xr,`${xr}-select`,{[`${xr}-disabled`]:Pr}),dn=(_n=>a.createElement("div",{className:Ie,style:_n},a.createElement(O,Object.assign({},jt,{ref:mr}))))(sn?void 0:{display:"none"});return an(pt==="picture-card"||pt==="picture-circle"?a.createElement("span",{className:ft},Eo(dn,!!sn)):a.createElement("span",{className:ft},dn,Eo()))};var Mn=a.forwardRef(qt),vn=function(Wt,en){var nn={};for(var fn in Wt)Object.prototype.hasOwnProperty.call(Wt,fn)&&en.indexOf(fn)<0&&(nn[fn]=Wt[fn]);if(Wt!=null&&typeof Object.getOwnPropertySymbols=="function")for(var En=0,fn=Object.getOwnPropertySymbols(Wt);En{var{style:nn,height:fn}=Wt,En=vn(Wt,["style","height"]);return a.createElement(Mn,Object.assign({ref:en},En,{type:"drag",style:Object.assign(Object.assign({},nn),{height:fn})}))});const or=Mn;or.Dragger=Vn,or.LIST_IGNORE=Ut;var er=or},93430:function(b,y,e){"use strict";e.d(y,{Z:function(){return t}});var a="5.8.5",t=a},78635:function(b,y,e){"use strict";e.d(y,{Z:function(){return V}});var a=e(73656);function t(){return t=Object.assign?Object.assign.bind():function(R){for(var P=1;P1?P-1:0),ge=1;ge=pe)return xe;switch(xe){case"%s":return String(B[ie++]);case"%d":return Number(B[ie++]);case"%j":try{return JSON.stringify(B[ie++])}catch(Se){return"[Circular]"}break;default:return xe}});return Oe}return R}function w(R){return R==="string"||R==="url"||R==="hex"||R==="email"||R==="date"||R==="pattern"}function x(R,P){return!!(R==null||P==="array"&&Array.isArray(R)&&!R.length||w(P)&&typeof R=="string"&&!R)}function z(R,P,B){var ge=[],ie=0,pe=R.length;function Oe(xe){ge.push.apply(ge,xe||[]),ie++,ie===pe&&B(ge)}R.forEach(function(xe){P(xe,Oe)})}function U(R,P,B){var ge=0,ie=R.length;function pe(Oe){if(Oe&&Oe.length){B(Oe);return}var xe=ge;ge=ge+1,xe()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},Q={integer:function(P){return Q.number(P)&&parseInt(P,10)===P},float:function(P){return Q.number(P)&&!Q.integer(P)},array:function(P){return Array.isArray(P)},regexp:function(P){if(P instanceof RegExp)return!0;try{return!!new RegExp(P)}catch(B){return!1}},date:function(P){return typeof P.getTime=="function"&&typeof P.getMonth=="function"&&typeof P.getYear=="function"&&!isNaN(P.getTime())},number:function(P){return isNaN(P)?!1:typeof P=="number"},object:function(P){return typeof P=="object"&&!Q.array(P)},method:function(P){return typeof P=="function"},email:function(P){return typeof P=="string"&&P.length<=320&&!!P.match(se.email)},url:function(P){return typeof P=="string"&&P.length<=2048&&!!P.match(ee())},hex:function(P){return typeof P=="string"&&!!P.match(se.hex)}},C=function(P,B,ge,ie,pe){if(P.required&&B===void 0){W(P,B,ge,ie,pe);return}var Oe=["integer","float","array","regexp","object","method","email","number","date","url","hex"],xe=P.type;Oe.indexOf(xe)>-1?Q[xe](B)||ie.push(S(pe.messages.types[xe],P.fullField,P.type)):xe&&typeof B!==P.type&&ie.push(S(pe.messages.types[xe],P.fullField,P.type))},X=function(P,B,ge,ie,pe){var Oe=typeof P.len=="number",xe=typeof P.min=="number",Se=typeof P.max=="number",$e=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,re=B,oe=null,q=typeof B=="number",ue=typeof B=="string",Ee=Array.isArray(B);if(q?oe="number":ue?oe="string":Ee&&(oe="array"),!oe)return!1;Ee&&(re=B.length),ue&&(re=B.replace($e,"_").length),Oe?re!==P.len&&ie.push(S(pe.messages[oe].len,P.fullField,P.len)):xe&&!Se&&reP.max?ie.push(S(pe.messages[oe].max,P.fullField,P.max)):xe&&Se&&(reP.max)&&ie.push(S(pe.messages[oe].range,P.fullField,P.min,P.max))},O="enum",H=function(P,B,ge,ie,pe){P[O]=Array.isArray(P[O])?P[O]:[],P[O].indexOf(B)===-1&&ie.push(S(pe.messages[O],P.fullField,P[O].join(", ")))},k=function(P,B,ge,ie,pe){if(P.pattern){if(P.pattern instanceof RegExp)P.pattern.lastIndex=0,P.pattern.test(B)||ie.push(S(pe.messages.pattern.mismatch,P.fullField,B,P.pattern));else if(typeof P.pattern=="string"){var Oe=new RegExp(P.pattern);Oe.test(B)||ie.push(S(pe.messages.pattern.mismatch,P.fullField,B,P.pattern))}}},A={required:W,whitespace:ne,type:C,range:X,enum:H,pattern:k},Y=function(P,B,ge,ie,pe){var Oe=[],xe=P.required||!P.required&&ie.hasOwnProperty(P.field);if(xe){if(x(B,"string")&&!P.required)return ge();A.required(P,B,ie,Oe,pe,"string"),x(B,"string")||(A.type(P,B,ie,Oe,pe),A.range(P,B,ie,Oe,pe),A.pattern(P,B,ie,Oe,pe),P.whitespace===!0&&A.whitespace(P,B,ie,Oe,pe))}ge(Oe)},de=function(P,B,ge,ie,pe){var Oe=[],xe=P.required||!P.required&&ie.hasOwnProperty(P.field);if(xe){if(x(B)&&!P.required)return ge();A.required(P,B,ie,Oe,pe),B!==void 0&&A.type(P,B,ie,Oe,pe)}ge(Oe)},me=function(P,B,ge,ie,pe){var Oe=[],xe=P.required||!P.required&&ie.hasOwnProperty(P.field);if(xe){if(B===""&&(B=void 0),x(B)&&!P.required)return ge();A.required(P,B,ie,Oe,pe),B!==void 0&&(A.type(P,B,ie,Oe,pe),A.range(P,B,ie,Oe,pe))}ge(Oe)},ve=function(P,B,ge,ie,pe){var Oe=[],xe=P.required||!P.required&&ie.hasOwnProperty(P.field);if(xe){if(x(B)&&!P.required)return ge();A.required(P,B,ie,Oe,pe),B!==void 0&&A.type(P,B,ie,Oe,pe)}ge(Oe)},be=function(P,B,ge,ie,pe){var Oe=[],xe=P.required||!P.required&&ie.hasOwnProperty(P.field);if(xe){if(x(B)&&!P.required)return ge();A.required(P,B,ie,Oe,pe),x(B)||A.type(P,B,ie,Oe,pe)}ge(Oe)},Pe=function(P,B,ge,ie,pe){var Oe=[],xe=P.required||!P.required&&ie.hasOwnProperty(P.field);if(xe){if(x(B)&&!P.required)return ge();A.required(P,B,ie,Oe,pe),B!==void 0&&(A.type(P,B,ie,Oe,pe),A.range(P,B,ie,Oe,pe))}ge(Oe)},Je=function(P,B,ge,ie,pe){var Oe=[],xe=P.required||!P.required&&ie.hasOwnProperty(P.field);if(xe){if(x(B)&&!P.required)return ge();A.required(P,B,ie,Oe,pe),B!==void 0&&(A.type(P,B,ie,Oe,pe),A.range(P,B,ie,Oe,pe))}ge(Oe)},qe=function(P,B,ge,ie,pe){var Oe=[],xe=P.required||!P.required&&ie.hasOwnProperty(P.field);if(xe){if(B==null&&!P.required)return ge();A.required(P,B,ie,Oe,pe,"array"),B!=null&&(A.type(P,B,ie,Oe,pe),A.range(P,B,ie,Oe,pe))}ge(Oe)},Xe=function(P,B,ge,ie,pe){var Oe=[],xe=P.required||!P.required&&ie.hasOwnProperty(P.field);if(xe){if(x(B)&&!P.required)return ge();A.required(P,B,ie,Oe,pe),B!==void 0&&A.type(P,B,ie,Oe,pe)}ge(Oe)},mt="enum",Ct=function(P,B,ge,ie,pe){var Oe=[],xe=P.required||!P.required&&ie.hasOwnProperty(P.field);if(xe){if(x(B)&&!P.required)return ge();A.required(P,B,ie,Oe,pe),B!==void 0&&A[mt](P,B,ie,Oe,pe)}ge(Oe)},vt=function(P,B,ge,ie,pe){var Oe=[],xe=P.required||!P.required&&ie.hasOwnProperty(P.field);if(xe){if(x(B,"string")&&!P.required)return ge();A.required(P,B,ie,Oe,pe),x(B,"string")||A.pattern(P,B,ie,Oe,pe)}ge(Oe)},Ht=function(P,B,ge,ie,pe){var Oe=[],xe=P.required||!P.required&&ie.hasOwnProperty(P.field);if(xe){if(x(B,"date")&&!P.required)return ge();if(A.required(P,B,ie,Oe,pe),!x(B,"date")){var Se;B instanceof Date?Se=B:Se=new Date(B),A.type(P,Se,ie,Oe,pe),Se&&A.range(P,Se.getTime(),ie,Oe,pe)}}ge(Oe)},ke=function(P,B,ge,ie,pe){var Oe=[],xe=Array.isArray(B)?"array":typeof B;A.required(P,B,ie,Oe,pe,xe),ge(Oe)},Ve=function(P,B,ge,ie,pe){var Oe=P.type,xe=[],Se=P.required||!P.required&&ie.hasOwnProperty(P.field);if(Se){if(x(B,Oe)&&!P.required)return ge();A.required(P,B,ie,xe,pe,Oe),x(B,Oe)||A.type(P,B,ie,xe,pe)}ge(xe)},ot=function(P,B,ge,ie,pe){var Oe=[],xe=P.required||!P.required&&ie.hasOwnProperty(P.field);if(xe){if(x(B)&&!P.required)return ge();A.required(P,B,ie,Oe,pe)}ge(Oe)},Ke={string:Y,method:de,number:me,boolean:ve,regexp:be,integer:Pe,float:Je,array:qe,object:Xe,enum:Ct,pattern:vt,date:Ht,url:Ve,hex:Ve,email:Ve,required:ke,any:ot};function he(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var P=JSON.parse(JSON.stringify(this));return P.clone=this.clone,P}}}var J=he(),V=function(){function R(B){this.rules=null,this._messages=J,this.define(B)}var P=R.prototype;return P.define=function(ge){var ie=this;if(!ge)throw new Error("Cannot configure a schema with no rules");if(typeof ge!="object"||Array.isArray(ge))throw new Error("Rules must be an object");this.rules={},Object.keys(ge).forEach(function(pe){var Oe=ge[pe];ie.rules[pe]=Array.isArray(Oe)?Oe:[Oe]})},P.messages=function(ge){return ge&&(this._messages=G(he(),ge)),this._messages},P.validate=function(ge,ie,pe){var Oe=this;ie===void 0&&(ie={}),pe===void 0&&(pe=function(){});var xe=ge,Se=ie,$e=pe;if(typeof Se=="function"&&($e=Se,Se={}),!this.rules||Object.keys(this.rules).length===0)return $e&&$e(null,xe),Promise.resolve(xe);function re(le){var Ne=[],Ae={};function we(st){if(Array.isArray(st)){var nt;Ne=(nt=Ne).concat.apply(nt,st)}else Ne.push(st)}for(var Re=0;Re=200&&S<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};t.forEach(["delete","get","head"],function(S){M.headers[S]={}}),t.forEach(["post","put","patch"],function(S){M.headers[S]=t.merge(l)}),b.exports=M},30872:function(b){"use strict";b.exports={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1}},93424:function(b){b.exports={version:"0.27.2"}},22154:function(b){"use strict";b.exports=function(e,a){return function(){for(var o=new Array(arguments.length),s=0;s=0)return;d==="set-cookie"?n[d]=(n[d]?n[d]:[]).concat([l]):n[d]=n[d]?n[d]+", "+l:l}}),n}},17437:function(b){"use strict";b.exports=function(e){var a=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return a&&a[1]||""}},64476:function(b){"use strict";b.exports=function(e){return function(t){return e.apply(null,t)}}},90792:function(b,y,e){"use strict";var a=e(21468).lW,t=e(82774);function o(s,n){n=n||new FormData;var d=[];function l(m){return m===null?"":t.isDate(m)?m.toISOString():t.isArrayBuffer(m)||t.isTypedArray(m)?typeof Blob=="function"?new Blob([m]):a.from(m):m}function c(m,g){if(t.isPlainObject(m)||t.isArray(m)){if(d.indexOf(m)!==-1)throw Error("Circular reference detected in "+g);d.push(m),t.forEach(m,function(h,S){if(!t.isUndefined(h)){var w=g?g+"."+S:S,x;if(h&&!g&&typeof h=="object"){if(t.endsWith(S,"{}"))h=JSON.stringify(h);else if(t.endsWith(S,"[]")&&(x=t.toArray(h))){x.forEach(function(z){!t.isUndefined(z)&&n.append(w,l(z))});return}}c(h,w)}}),d.pop()}else n.append(g,l(m))}return c(s),n}b.exports=o},73215:function(b,y,e){"use strict";var a=e(93424).version,t=e(44936),o={};["object","boolean","number","function","string","symbol"].forEach(function(d,l){o[d]=function(m){return typeof m===d||"a"+(l<1?"n ":" ")+d}});var s={};o.transitional=function(l,c,m){function g(M,h){return"[Axios v"+a+"] Transitional option '"+M+"'"+h+(m?". "+m:"")}return function(M,h,S){if(l===!1)throw new t(g(h," has been removed"+(c?" in "+c:"")),t.ERR_DEPRECATED);return c&&!s[h]&&(s[h]=!0,console.warn(g(h," has been deprecated since v"+c+" and will be removed in the near future"))),l?l(M,h,S):!0}};function n(d,l,c){if(typeof d!="object")throw new t("options must be an object",t.ERR_BAD_OPTION_VALUE);for(var m=Object.keys(d),g=m.length;g-- >0;){var M=m[g],h=l[M];if(h){var S=d[M],w=S===void 0||h(S,M,d);if(w!==!0)throw new t("option "+M+" must be "+w,t.ERR_BAD_OPTION_VALUE);continue}if(c!==!0)throw new t("Unknown option "+M,t.ERR_BAD_OPTION)}}b.exports={assertOptions:n,validators:o}},82774:function(b,y,e){"use strict";var a=e(22154),t=Object.prototype.toString,o=function(O){return function(H){var k=t.call(H);return O[k]||(O[k]=k.slice(8,-1).toLowerCase())}}(Object.create(null));function s(O){return O=O.toLowerCase(),function(k){return o(k)===O}}function n(O){return Array.isArray(O)}function d(O){return typeof O=="undefined"}function l(O){return O!==null&&!d(O)&&O.constructor!==null&&!d(O.constructor)&&typeof O.constructor.isBuffer=="function"&&O.constructor.isBuffer(O)}var c=s("ArrayBuffer");function m(O){var H;return typeof ArrayBuffer!="undefined"&&ArrayBuffer.isView?H=ArrayBuffer.isView(O):H=O&&O.buffer&&c(O.buffer),H}function g(O){return typeof O=="string"}function M(O){return typeof O=="number"}function h(O){return O!==null&&typeof O=="object"}function S(O){if(o(O)!=="object")return!1;var H=Object.getPrototypeOf(O);return H===null||H===Object.prototype}var w=s("Date"),x=s("File"),z=s("Blob"),U=s("FileList");function T(O){return t.call(O)==="[object Function]"}function N(O){return h(O)&&T(O.pipe)}function Z(O){var H="[object FormData]";return O&&(typeof FormData=="function"&&O instanceof FormData||t.call(O)===H||T(O.toString)&&O.toString()===H)}var D=s("URLSearchParams");function L(O){return O.trim?O.trim():O.replace(/^\s+|\s+$/g,"")}function j(){return typeof navigator!="undefined"&&(navigator.product==="ReactNative"||navigator.product==="NativeScript"||navigator.product==="NS")?!1:typeof window!="undefined"&&typeof document!="undefined"}function G(O,H){if(!(O===null||typeof O=="undefined"))if(typeof O!="object"&&(O=[O]),n(O))for(var k=0,A=O.length;k0;)de=A[Y],me[de]||(H[de]=O[de],me[de]=!0);O=Object.getPrototypeOf(O)}while(O&&(!k||k(O,H))&&O!==Object.prototype);return H}function Q(O,H,k){O=String(O),(k===void 0||k>O.length)&&(k=O.length),k-=H.length;var A=O.indexOf(H,k);return A!==-1&&A===k}function C(O){if(!O)return null;var H=O.length;if(d(H))return null;for(var k=new Array(H);H-- >0;)k[H]=O[H];return k}var X=function(O){return function(H){return O&&H instanceof O}}(typeof Uint8Array!="undefined"&&Object.getPrototypeOf(Uint8Array));b.exports={isArray:n,isArrayBuffer:c,isBuffer:l,isFormData:Z,isArrayBufferView:m,isString:g,isNumber:M,isObject:h,isPlainObject:S,isUndefined:d,isDate:w,isFile:x,isBlob:z,isFunction:T,isStream:N,isURLSearchParams:D,isStandardBrowserEnv:j,forEach:G,merge:W,extend:ne,trim:L,stripBOM:_,inherits:ee,toFlatObject:se,kindOf:o,kindOfTest:s,endsWith:Q,toArray:C,isTypedArray:X,isFileList:U}},26446:function(b,y){"use strict";y.byteLength=l,y.toByteArray=m,y.fromByteArray=h;for(var e=[],a=[],t=typeof Uint8Array!="undefined"?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,n=o.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var x=S.indexOf("=");x===-1&&(x=w);var z=x===w?0:4-x%4;return[x,z]}function l(S){var w=d(S),x=w[0],z=w[1];return(x+z)*3/4-z}function c(S,w,x){return(w+x)*3/4-x}function m(S){var w,x=d(S),z=x[0],U=x[1],T=new t(c(S,z,U)),N=0,Z=U>0?z-4:z,D;for(D=0;D>16&255,T[N++]=w>>8&255,T[N++]=w&255;return U===2&&(w=a[S.charCodeAt(D)]<<2|a[S.charCodeAt(D+1)]>>4,T[N++]=w&255),U===1&&(w=a[S.charCodeAt(D)]<<10|a[S.charCodeAt(D+1)]<<4|a[S.charCodeAt(D+2)]>>2,T[N++]=w>>8&255,T[N++]=w&255),T}function g(S){return e[S>>18&63]+e[S>>12&63]+e[S>>6&63]+e[S&63]}function M(S,w,x){for(var z,U=[],T=w;TZ?Z:N+T));return z===1?(w=S[x-1],U.push(e[w>>2]+e[w<<4&63]+"==")):z===2&&(w=(S[x-2]<<8)+S[x-1],U.push(e[w>>10]+e[w>>4&63]+e[w<<2&63]+"=")),U.join("")}},21468:function(b,y,e){"use strict";var a;var t=e(26446),o=e(47164),s=e(23161);y.lW=c,a=T,y.h2=50,c.TYPED_ARRAY_SUPPORT=e.g.TYPED_ARRAY_SUPPORT!==void 0?e.g.TYPED_ARRAY_SUPPORT:n(),a=d();function n(){try{var J=new Uint8Array(1);return J.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},J.foo()===42&&typeof J.subarray=="function"&&J.subarray(1,1).byteLength===0}catch(V){return!1}}function d(){return c.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function l(J,V){if(d()=d())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+d().toString(16)+" bytes");return J|0}function T(J){return+J!=J&&(J=0),c.alloc(+J)}c.isBuffer=function(V){return!!(V!=null&&V._isBuffer)},c.compare=function(V,R){if(!c.isBuffer(V)||!c.isBuffer(R))throw new TypeError("Arguments must be Buffers");if(V===R)return 0;for(var P=V.length,B=R.length,ge=0,ie=Math.min(P,B);ge>>1;case"base64":return ot(J).length;default:if(P)return Ht(J).length;V=(""+V).toLowerCase(),P=!0}}c.byteLength=N;function Z(J,V,R){var P=!1;if((V===void 0||V<0)&&(V=0),V>this.length||((R===void 0||R>this.length)&&(R=this.length),R<=0)||(R>>>=0,V>>>=0,R<=V))return"";for(J||(J="utf8");;)switch(J){case"hex":return A(this,V,R);case"utf8":case"utf-8":return C(this,V,R);case"ascii":return H(this,V,R);case"latin1":case"binary":return k(this,V,R);case"base64":return Q(this,V,R);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Y(this,V,R);default:if(P)throw new TypeError("Unknown encoding: "+J);J=(J+"").toLowerCase(),P=!0}}c.prototype._isBuffer=!0;function D(J,V,R){var P=J[V];J[V]=J[R],J[R]=P}c.prototype.swap16=function(){var V=this.length;if(V%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var R=0;R0&&(V=this.toString("hex",0,R).match(/.{2}/g).join(" "),this.length>R&&(V+=" ... ")),""},c.prototype.compare=function(V,R,P,B,ge){if(!c.isBuffer(V))throw new TypeError("Argument must be a Buffer");if(R===void 0&&(R=0),P===void 0&&(P=V?V.length:0),B===void 0&&(B=0),ge===void 0&&(ge=this.length),R<0||P>V.length||B<0||ge>this.length)throw new RangeError("out of range index");if(B>=ge&&R>=P)return 0;if(B>=ge)return-1;if(R>=P)return 1;if(R>>>=0,P>>>=0,B>>>=0,ge>>>=0,this===V)return 0;for(var ie=ge-B,pe=P-R,Oe=Math.min(ie,pe),xe=this.slice(B,ge),Se=V.slice(R,P),$e=0;$e2147483647?R=2147483647:R<-2147483648&&(R=-2147483648),R=+R,isNaN(R)&&(R=B?0:J.length-1),R<0&&(R=J.length+R),R>=J.length){if(B)return-1;R=J.length-1}else if(R<0)if(B)R=0;else return-1;if(typeof V=="string"&&(V=c.from(V,P)),c.isBuffer(V))return V.length===0?-1:j(J,V,R,P,B);if(typeof V=="number")return V=V&255,c.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf=="function"?B?Uint8Array.prototype.indexOf.call(J,V,R):Uint8Array.prototype.lastIndexOf.call(J,V,R):j(J,[V],R,P,B);throw new TypeError("val must be string, number or Buffer")}function j(J,V,R,P,B){var ge=1,ie=J.length,pe=V.length;if(P!==void 0&&(P=String(P).toLowerCase(),P==="ucs2"||P==="ucs-2"||P==="utf16le"||P==="utf-16le")){if(J.length<2||V.length<2)return-1;ge=2,ie/=2,pe/=2,R/=2}function Oe(oe,q){return ge===1?oe[q]:oe.readUInt16BE(q*ge)}var xe;if(B){var Se=-1;for(xe=R;xeie&&(R=ie-pe),xe=R;xe>=0;xe--){for(var $e=!0,re=0;reB&&(P=B)):P=B;var ge=V.length;if(ge%2!==0)throw new TypeError("Invalid hex string");P>ge/2&&(P=ge/2);for(var ie=0;iege)&&(P=ge),V.length>0&&(P<0||R<0)||R>this.length)throw new RangeError("Attempt to write outside buffer bounds");B||(B="utf8");for(var ie=!1;;)switch(B){case"hex":return G(this,V,R,P);case"utf8":case"utf-8":return W(this,V,R,P);case"ascii":return ne(this,V,R,P);case"latin1":case"binary":return _(this,V,R,P);case"base64":return ee(this,V,R,P);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return se(this,V,R,P);default:if(ie)throw new TypeError("Unknown encoding: "+B);B=(""+B).toLowerCase(),ie=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Q(J,V,R){return V===0&&R===J.length?t.fromByteArray(J):t.fromByteArray(J.slice(V,R))}function C(J,V,R){R=Math.min(J.length,R);for(var P=[],B=V;B239?4:ge>223?3:ge>191?2:1;if(B+pe<=R){var Oe,xe,Se,$e;switch(pe){case 1:ge<128&&(ie=ge);break;case 2:Oe=J[B+1],(Oe&192)===128&&($e=(ge&31)<<6|Oe&63,$e>127&&(ie=$e));break;case 3:Oe=J[B+1],xe=J[B+2],(Oe&192)===128&&(xe&192)===128&&($e=(ge&15)<<12|(Oe&63)<<6|xe&63,$e>2047&&($e<55296||$e>57343)&&(ie=$e));break;case 4:Oe=J[B+1],xe=J[B+2],Se=J[B+3],(Oe&192)===128&&(xe&192)===128&&(Se&192)===128&&($e=(ge&15)<<18|(Oe&63)<<12|(xe&63)<<6|Se&63,$e>65535&&$e<1114112&&(ie=$e))}}ie===null?(ie=65533,pe=1):ie>65535&&(ie-=65536,P.push(ie>>>10&1023|55296),ie=56320|ie&1023),P.push(ie),B+=pe}return O(P)}var X=4096;function O(J){var V=J.length;if(V<=X)return String.fromCharCode.apply(String,J);for(var R="",P=0;PP)&&(R=P);for(var B="",ge=V;geP&&(V=P),R<0?(R+=P,R<0&&(R=0)):R>P&&(R=P),RR)throw new RangeError("Trying to access beyond buffer length")}c.prototype.readUIntLE=function(V,R,P){V=V|0,R=R|0,P||de(V,R,this.length);for(var B=this[V],ge=1,ie=0;++ie0&&(ge*=256);)B+=this[V+--R]*ge;return B},c.prototype.readUInt8=function(V,R){return R||de(V,1,this.length),this[V]},c.prototype.readUInt16LE=function(V,R){return R||de(V,2,this.length),this[V]|this[V+1]<<8},c.prototype.readUInt16BE=function(V,R){return R||de(V,2,this.length),this[V]<<8|this[V+1]},c.prototype.readUInt32LE=function(V,R){return R||de(V,4,this.length),(this[V]|this[V+1]<<8|this[V+2]<<16)+this[V+3]*16777216},c.prototype.readUInt32BE=function(V,R){return R||de(V,4,this.length),this[V]*16777216+(this[V+1]<<16|this[V+2]<<8|this[V+3])},c.prototype.readIntLE=function(V,R,P){V=V|0,R=R|0,P||de(V,R,this.length);for(var B=this[V],ge=1,ie=0;++ie=ge&&(B-=Math.pow(2,8*R)),B},c.prototype.readIntBE=function(V,R,P){V=V|0,R=R|0,P||de(V,R,this.length);for(var B=R,ge=1,ie=this[V+--B];B>0&&(ge*=256);)ie+=this[V+--B]*ge;return ge*=128,ie>=ge&&(ie-=Math.pow(2,8*R)),ie},c.prototype.readInt8=function(V,R){return R||de(V,1,this.length),this[V]&128?(255-this[V]+1)*-1:this[V]},c.prototype.readInt16LE=function(V,R){R||de(V,2,this.length);var P=this[V]|this[V+1]<<8;return P&32768?P|4294901760:P},c.prototype.readInt16BE=function(V,R){R||de(V,2,this.length);var P=this[V+1]|this[V]<<8;return P&32768?P|4294901760:P},c.prototype.readInt32LE=function(V,R){return R||de(V,4,this.length),this[V]|this[V+1]<<8|this[V+2]<<16|this[V+3]<<24},c.prototype.readInt32BE=function(V,R){return R||de(V,4,this.length),this[V]<<24|this[V+1]<<16|this[V+2]<<8|this[V+3]},c.prototype.readFloatLE=function(V,R){return R||de(V,4,this.length),o.read(this,V,!0,23,4)},c.prototype.readFloatBE=function(V,R){return R||de(V,4,this.length),o.read(this,V,!1,23,4)},c.prototype.readDoubleLE=function(V,R){return R||de(V,8,this.length),o.read(this,V,!0,52,8)},c.prototype.readDoubleBE=function(V,R){return R||de(V,8,this.length),o.read(this,V,!1,52,8)};function me(J,V,R,P,B,ge){if(!c.isBuffer(J))throw new TypeError('"buffer" argument must be a Buffer instance');if(V>B||VJ.length)throw new RangeError("Index out of range")}c.prototype.writeUIntLE=function(V,R,P,B){if(V=+V,R=R|0,P=P|0,!B){var ge=Math.pow(2,8*P)-1;me(this,V,R,P,ge,0)}var ie=1,pe=0;for(this[R]=V&255;++pe=0&&(pe*=256);)this[R+ie]=V/pe&255;return R+P},c.prototype.writeUInt8=function(V,R,P){return V=+V,R=R|0,P||me(this,V,R,1,255,0),c.TYPED_ARRAY_SUPPORT||(V=Math.floor(V)),this[R]=V&255,R+1};function ve(J,V,R,P){V<0&&(V=65535+V+1);for(var B=0,ge=Math.min(J.length-R,2);B>>(P?B:1-B)*8}c.prototype.writeUInt16LE=function(V,R,P){return V=+V,R=R|0,P||me(this,V,R,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[R]=V&255,this[R+1]=V>>>8):ve(this,V,R,!0),R+2},c.prototype.writeUInt16BE=function(V,R,P){return V=+V,R=R|0,P||me(this,V,R,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[R]=V>>>8,this[R+1]=V&255):ve(this,V,R,!1),R+2};function be(J,V,R,P){V<0&&(V=4294967295+V+1);for(var B=0,ge=Math.min(J.length-R,4);B>>(P?B:3-B)*8&255}c.prototype.writeUInt32LE=function(V,R,P){return V=+V,R=R|0,P||me(this,V,R,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[R+3]=V>>>24,this[R+2]=V>>>16,this[R+1]=V>>>8,this[R]=V&255):be(this,V,R,!0),R+4},c.prototype.writeUInt32BE=function(V,R,P){return V=+V,R=R|0,P||me(this,V,R,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[R]=V>>>24,this[R+1]=V>>>16,this[R+2]=V>>>8,this[R+3]=V&255):be(this,V,R,!1),R+4},c.prototype.writeIntLE=function(V,R,P,B){if(V=+V,R=R|0,!B){var ge=Math.pow(2,8*P-1);me(this,V,R,P,ge-1,-ge)}var ie=0,pe=1,Oe=0;for(this[R]=V&255;++ie>0)-Oe&255;return R+P},c.prototype.writeIntBE=function(V,R,P,B){if(V=+V,R=R|0,!B){var ge=Math.pow(2,8*P-1);me(this,V,R,P,ge-1,-ge)}var ie=P-1,pe=1,Oe=0;for(this[R+ie]=V&255;--ie>=0&&(pe*=256);)V<0&&Oe===0&&this[R+ie+1]!==0&&(Oe=1),this[R+ie]=(V/pe>>0)-Oe&255;return R+P},c.prototype.writeInt8=function(V,R,P){return V=+V,R=R|0,P||me(this,V,R,1,127,-128),c.TYPED_ARRAY_SUPPORT||(V=Math.floor(V)),V<0&&(V=255+V+1),this[R]=V&255,R+1},c.prototype.writeInt16LE=function(V,R,P){return V=+V,R=R|0,P||me(this,V,R,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[R]=V&255,this[R+1]=V>>>8):ve(this,V,R,!0),R+2},c.prototype.writeInt16BE=function(V,R,P){return V=+V,R=R|0,P||me(this,V,R,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[R]=V>>>8,this[R+1]=V&255):ve(this,V,R,!1),R+2},c.prototype.writeInt32LE=function(V,R,P){return V=+V,R=R|0,P||me(this,V,R,4,2147483647,-2147483648),c.TYPED_ARRAY_SUPPORT?(this[R]=V&255,this[R+1]=V>>>8,this[R+2]=V>>>16,this[R+3]=V>>>24):be(this,V,R,!0),R+4},c.prototype.writeInt32BE=function(V,R,P){return V=+V,R=R|0,P||me(this,V,R,4,2147483647,-2147483648),V<0&&(V=4294967295+V+1),c.TYPED_ARRAY_SUPPORT?(this[R]=V>>>24,this[R+1]=V>>>16,this[R+2]=V>>>8,this[R+3]=V&255):be(this,V,R,!1),R+4};function Pe(J,V,R,P,B,ge){if(R+P>J.length)throw new RangeError("Index out of range");if(R<0)throw new RangeError("Index out of range")}function Je(J,V,R,P,B){return B||Pe(J,V,R,4,34028234663852886e22,-34028234663852886e22),o.write(J,V,R,P,23,4),R+4}c.prototype.writeFloatLE=function(V,R,P){return Je(this,V,R,!0,P)},c.prototype.writeFloatBE=function(V,R,P){return Je(this,V,R,!1,P)};function qe(J,V,R,P,B){return B||Pe(J,V,R,8,17976931348623157e292,-17976931348623157e292),o.write(J,V,R,P,52,8),R+8}c.prototype.writeDoubleLE=function(V,R,P){return qe(this,V,R,!0,P)},c.prototype.writeDoubleBE=function(V,R,P){return qe(this,V,R,!1,P)},c.prototype.copy=function(V,R,P,B){if(P||(P=0),!B&&B!==0&&(B=this.length),R>=V.length&&(R=V.length),R||(R=0),B>0&&B=this.length)throw new RangeError("sourceStart out of bounds");if(B<0)throw new RangeError("sourceEnd out of bounds");B>this.length&&(B=this.length),V.length-R=0;--ie)V[ie+R]=this[ie+P];else if(ge<1e3||!c.TYPED_ARRAY_SUPPORT)for(ie=0;ie>>0,P=P===void 0?this.length:P>>>0,V||(V=0);var ie;if(typeof V=="number")for(ie=R;ie55295&&R<57344){if(!B){if(R>56319){(V-=3)>-1&&ge.push(239,191,189);continue}else if(ie+1===P){(V-=3)>-1&&ge.push(239,191,189);continue}B=R;continue}if(R<56320){(V-=3)>-1&&ge.push(239,191,189),B=R;continue}R=(B-55296<<10|R-56320)+65536}else B&&(V-=3)>-1&&ge.push(239,191,189);if(B=null,R<128){if((V-=1)<0)break;ge.push(R)}else if(R<2048){if((V-=2)<0)break;ge.push(R>>6|192,R&63|128)}else if(R<65536){if((V-=3)<0)break;ge.push(R>>12|224,R>>6&63|128,R&63|128)}else if(R<1114112){if((V-=4)<0)break;ge.push(R>>18|240,R>>12&63|128,R>>6&63|128,R&63|128)}else throw new Error("Invalid code point")}return ge}function ke(J){for(var V=[],R=0;R>8,B=R%256,ge.push(B),ge.push(P);return ge}function ot(J){return t.toByteArray(mt(J))}function Ke(J,V,R,P){for(var B=0;B=V.length||B>=J.length);++B)V[B+R]=J[B];return B}function he(J){return J!==J}},87608:function(b,y){var e,a;(function(){"use strict";var t={}.hasOwnProperty,o="[native code]";function s(){for(var n=[],d=0;d1?arguments[1]:void 0,W=j>2?arguments[2]:void 0;return new(M("Promise"))(function(ne){var _=o(D);G!==void 0&&(G=a(G,W));var ee=m(_,x),se=ee?void 0:c(_)||T,Q=s(L)?new L:[],C=ee?n(_,ee):new S(l(d(_,se)));ne(w(C,G,Q))})}},50112:function(b,y,e){var a=e(89122);b.exports=function(t,o){for(var s=0,n=a(o),d=new t(n);n>s;)d[s]=o[s++];return d}},59765:function(b,y,e){"use strict";var a=e(34066),t=e(11700),o=e(42414),s=e(64441),n=e(89122),d=e(85623),l=d.Map,c=d.get,m=d.has,g=d.set,M=t([].push);b.exports=function(S){for(var w=s(this),x=o(w),z=a(S,arguments.length>1?arguments[1]:void 0),U=new l,T=n(x),N=0,Z,D;T>N;N++)D=x[N],Z=z(D,N,w),m(U,Z)?M(c(U,Z),D):g(U,Z,[D]);return U}},69093:function(b,y,e){var a=e(34066),t=e(11700),o=e(42414),s=e(64441),n=e(76846),d=e(89122),l=e(34552),c=e(50112),m=Array,g=t([].push);b.exports=function(M,h,S,w){for(var x=s(M),z=o(x),U=a(h,S),T=l(null),N=d(z),Z=0,D,L,j;N>Z;Z++)j=z[Z],L=n(U(j,Z,x)),L in T?g(T[L],j):T[L]=[j];if(w&&(D=w(x),D!==m))for(L in T)T[L]=c(D,T[L]);return T}},63795:function(b,y,e){var a=e(514),t=e(71410),o=e(89122),s=function(n){return function(d,l,c){var m=a(d),g=o(m),M=t(c,g),h;if(n&&l!=l){for(;g>M;)if(h=m[M++],h!=h)return!0}else for(;g>M;M++)if((n||M in m)&&m[M]===l)return n||M||0;return!n&&-1}};b.exports={includes:s(!0),indexOf:s(!1)}},17464:function(b,y,e){var a=e(34066),t=e(42414),o=e(64441),s=e(89122),n=function(d){var l=d==1;return function(c,m,g){for(var M=o(c),h=t(M),S=a(m,g),w=s(h),x,z;w-- >0;)if(x=h[w],z=S(x,w,M),z)switch(d){case 0:return x;case 1:return w}return l?-1:void 0}};b.exports={findLast:n(0),findLastIndex:n(1)}},44708:function(b,y,e){var a=e(34066),t=e(11700),o=e(42414),s=e(64441),n=e(89122),d=e(70850),l=t([].push),c=function(m){var g=m==1,M=m==2,h=m==3,S=m==4,w=m==6,x=m==7,z=m==5||w;return function(U,T,N,Z){for(var D=s(U),L=o(D),j=a(T,N),G=n(L),W=0,ne=Z||d,_=g?ne(U,G):M||x?ne(U,0):void 0,ee,se;G>W;W++)if((z||W in L)&&(ee=L[W],se=j(ee,W,D),m))if(g)_[W]=se;else if(se)switch(m){case 3:return!0;case 5:return ee;case 6:return W;case 2:l(_,ee)}else switch(m){case 4:return!1;case 7:l(_,ee)}return w?-1:h||S?S:_}};b.exports={forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findIndex:c(6),filterReject:c(7)}},83242:function(b,y,e){"use strict";var a=e(77149);b.exports=function(t,o){var s=[][t];return!!s&&a(function(){s.call(null,o||function(){return 1},1)})}},82565:function(b,y,e){var a=e(31927),t=e(64441),o=e(42414),s=e(89122),n=TypeError,d=function(l){return function(c,m,g,M){a(m);var h=t(c),S=o(h),w=s(h),x=l?w-1:0,z=l?-1:1;if(g<2)for(;;){if(x in S){M=S[x],x+=z;break}if(x+=z,l?x<0:w<=x)throw n("Reduce of empty array with no initial value")}for(;l?x>=0:w>x;x+=z)x in S&&(M=m(M,S[x],x,h));return M}};b.exports={left:d(!1),right:d(!0)}},77060:function(b,y,e){"use strict";var a=e(57759),t=e(190),o=TypeError,s=Object.getOwnPropertyDescriptor,n=a&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(d){return d instanceof TypeError}}();b.exports=n?function(d,l){if(t(d)&&!s(d,"length").writable)throw o("Cannot set read only .length");return d.length=l}:function(d,l){return d.length=l}},81469:function(b,y,e){var a=e(71410),t=e(89122),o=e(46509),s=Array,n=Math.max;b.exports=function(d,l,c){for(var m=t(d),g=a(l,m),M=a(c===void 0?m:c,m),h=s(n(M-g,0)),S=0;g=c||g<0)throw o("Incorrect index");for(var M=new n(c),h=0;h1?arguments[1]:void 0,h,S,w,x;return s(this),h=M!==void 0,h&&o(M),n(m)?new this:(S=[],h?(w=0,x=a(M,g>2?arguments[2]:void 0),d(m,function(z){t(l,S,x(z,w++))})):d(m,l,{that:S}),new this(S))}},55042:function(b,y,e){"use strict";var a=e(66322);b.exports=function(){return new this(a(arguments))}},42710:function(b,y,e){"use strict";var a=e(34552),t=e(2265),o=e(3313),s=e(34066),n=e(92453),d=e(74883),l=e(95815),c=e(94636),m=e(76835),g=e(51309),M=e(57759),h=e(80787).fastKey,S=e(71584),w=S.set,x=S.getterFor;b.exports={getConstructor:function(z,U,T,N){var Z=z(function(W,ne){n(W,D),w(W,{type:U,index:a(null),first:void 0,last:void 0,size:0}),M||(W.size=0),d(ne)||l(ne,W[N],{that:W,AS_ENTRIES:T})}),D=Z.prototype,L=x(U),j=function(W,ne,_){var ee=L(W),se=G(W,ne),Q,C;return se?se.value=_:(ee.last=se={index:C=h(ne,!0),key:ne,value:_,previous:Q=ee.last,next:void 0,removed:!1},ee.first||(ee.first=se),Q&&(Q.next=se),M?ee.size++:W.size++,C!=="F"&&(ee.index[C]=se)),W},G=function(W,ne){var _=L(W),ee=h(ne),se;if(ee!=="F")return _.index[ee];for(se=_.first;se;se=se.next)if(se.key==ne)return se};return o(D,{clear:function(){for(var ne=this,_=L(ne),ee=_.index,se=_.first;se;)se.removed=!0,se.previous&&(se.previous=se.previous.next=void 0),delete ee[se.index],se=se.next;_.first=_.last=void 0,M?_.size=0:ne.size=0},delete:function(W){var ne=this,_=L(ne),ee=G(ne,W);if(ee){var se=ee.next,Q=ee.previous;delete _.index[ee.index],ee.removed=!0,Q&&(Q.next=se),se&&(se.previous=Q),_.first==ee&&(_.first=se),_.last==ee&&(_.last=Q),M?_.size--:ne.size--}return!!ee},forEach:function(ne){for(var _=L(this),ee=s(ne,arguments.length>1?arguments[1]:void 0),se;se=se?se.next:_.first;)for(ee(se.value,se.key,this);se&&se.removed;)se=se.previous},has:function(ne){return!!G(this,ne)}}),o(D,T?{get:function(ne){var _=G(this,ne);return _&&_.value},set:function(ne,_){return j(this,ne===0?0:ne,_)}}:{add:function(ne){return j(this,ne=ne===0?0:ne,ne)}}),M&&t(D,"size",{configurable:!0,get:function(){return L(this).size}}),Z},setStrong:function(z,U,T){var N=U+" Iterator",Z=x(U),D=x(N);c(z,U,function(L,j){w(this,{type:N,target:L,state:Z(L),kind:j,last:void 0})},function(){for(var L=D(this),j=L.kind,G=L.last;G&&G.removed;)G=G.previous;return!L.target||!(L.last=G=G?G.next:L.state.first)?(L.target=void 0,m(void 0,!0)):j=="keys"?m(G.key,!1):j=="values"?m(G.value,!1):m([G.key,G.value],!1)},T?"entries":"values",!T,!0),g(U)}}},90253:function(b,y,e){"use strict";var a=e(11700),t=e(3313),o=e(80787).getWeakData,s=e(92453),n=e(78958),d=e(74883),l=e(33225),c=e(95815),m=e(44708),g=e(26583),M=e(71584),h=M.set,S=M.getterFor,w=m.find,x=m.findIndex,z=a([].splice),U=0,T=function(D){return D.frozen||(D.frozen=new N)},N=function(){this.entries=[]},Z=function(D,L){return w(D.entries,function(j){return j[0]===L})};N.prototype={get:function(D){var L=Z(this,D);if(L)return L[1]},has:function(D){return!!Z(this,D)},set:function(D,L){var j=Z(this,D);j?j[1]=L:this.entries.push([D,L])},delete:function(D){var L=x(this.entries,function(j){return j[0]===D});return~L&&z(this.entries,L,1),!!~L}},b.exports={getConstructor:function(D,L,j,G){var W=D(function(se,Q){s(se,ne),h(se,{type:L,id:U++,frozen:void 0}),d(Q)||c(Q,se[G],{that:se,AS_ENTRIES:j})}),ne=W.prototype,_=S(L),ee=function(se,Q,C){var X=_(se),O=o(n(Q),!0);return O===!0?T(X).set(Q,C):O[X.id]=C,se};return t(ne,{delete:function(se){var Q=_(this);if(!l(se))return!1;var C=o(se);return C===!0?T(Q).delete(se):C&&g(C,Q.id)&&delete C[Q.id]},has:function(Q){var C=_(this);if(!l(Q))return!1;var X=o(Q);return X===!0?T(C).has(Q):X&&g(X,C.id)}}),t(ne,j?{get:function(Q){var C=_(this);if(l(Q)){var X=o(Q);return X===!0?T(C).get(Q):X?X[C.id]:void 0}},set:function(Q,C){return ee(this,Q,C)}}:{add:function(Q){return ee(this,Q,!0)}}),W}}},91821:function(b,y,e){"use strict";var a=e(13354),t=e(53065),o=e(11700),s=e(29206),n=e(28621),d=e(80787),l=e(95815),c=e(92453),m=e(6508),g=e(74883),M=e(33225),h=e(77149),S=e(44277),w=e(68156),x=e(95173);b.exports=function(z,U,T){var N=z.indexOf("Map")!==-1,Z=z.indexOf("Weak")!==-1,D=N?"set":"add",L=t[z],j=L&&L.prototype,G=L,W={},ne=function(O){var H=o(j[O]);n(j,O,O=="add"?function(A){return H(this,A===0?0:A),this}:O=="delete"?function(k){return Z&&!M(k)?!1:H(this,k===0?0:k)}:O=="get"?function(A){return Z&&!M(A)?void 0:H(this,A===0?0:A)}:O=="has"?function(A){return Z&&!M(A)?!1:H(this,A===0?0:A)}:function(A,Y){return H(this,A===0?0:A,Y),this})},_=s(z,!m(L)||!(Z||j.forEach&&!h(function(){new L().entries().next()})));if(_)G=T.getConstructor(U,z,N,D),d.enable();else if(s(z,!0)){var ee=new G,se=ee[D](Z?{}:-0,1)!=ee,Q=h(function(){ee.has(1)}),C=S(function(O){new L(O)}),X=!Z&&h(function(){for(var O=new L,H=5;H--;)O[D](H,H);return!O.has(-0)});C||(G=U(function(O,H){c(O,j);var k=x(new L,O,G);return g(H)||l(H,k[D],{that:k,AS_ENTRIES:N}),k}),G.prototype=j,j.constructor=G),(Q||X)&&(ne("delete"),ne("has"),N&&ne("get")),(X||se)&&ne(D),Z&&j.clear&&delete j.clear}return W[z]=G,a({global:!0,constructor:!0,forced:G!=L},W),w(G,z),Z||T.setStrong(G,z,N),G}},95249:function(b,y,e){e(72660),e(11995);var a=e(42725),t=e(34552),o=e(33225),s=Object,n=TypeError,d=a("Map"),l=a("WeakMap"),c=function(){this.object=null,this.symbol=null,this.primitives=null,this.objectsByIndex=t(null)};c.prototype.get=function(g,M){return this[g]||(this[g]=M())},c.prototype.next=function(g,M,h){var S=h?this.objectsByIndex[g]||(this.objectsByIndex[g]=new l):this.primitives||(this.primitives=new d),w=S.get(M);return w||S.set(M,w=new c),w};var m=new c;b.exports=function(){var g=m,M=arguments.length,h,S;for(h=0;he)throw y("Maximum allowed index exceeded");return a}},73443:function(b){b.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},83051:function(b,y,e){var a=e(79132),t=e(79727);b.exports=!a&&!t&&typeof window=="object"&&typeof document=="object"},8266:function(b){b.exports=typeof Bun=="function"&&Bun&&typeof Bun.version=="string"},79132:function(b){b.exports=typeof Deno=="object"&&Deno&&typeof Deno.version=="object"},72833:function(b,y,e){var a=e(47048);b.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(a)},79727:function(b,y,e){var a=e(73656),t=e(88596);b.exports=typeof a!="undefined"&&t(a)=="process"},47048:function(b){b.exports=typeof navigator!="undefined"&&String(navigator.userAgent)||""},8783:function(b,y,e){var a=e(53065),t=e(47048),o=a.process,s=a.Deno,n=o&&o.versions||s&&s.version,d=n&&n.v8,l,c;d&&(l=d.split("."),c=l[0]>0&&l[0]<4?1:+(l[0]+l[1])),!c&&t&&(l=t.match(/Edge\/(\d+)/),(!l||l[1]>=74)&&(l=t.match(/Chrome\/(\d+)/),l&&(c=+l[1]))),b.exports=c},70721:function(b,y,e){var a=e(53065);b.exports=function(t){return a[t].prototype}},68150:function(b){b.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},68488:function(b,y,e){var a=e(11700),t=Error,o=a("".replace),s=function(l){return String(t(l).stack)}("zxcasd"),n=/\n\s*at [^:]*:[^\n]*/,d=n.test(s);b.exports=function(l,c){if(d&&typeof l=="string"&&!t.prepareStackTrace)for(;c--;)l=o(l,n,"");return l}},96410:function(b,y,e){var a=e(5927),t=e(68488),o=e(39728),s=Error.captureStackTrace;b.exports=function(n,d,l,c){o&&(s?s(n,d):a(n,"stack",t(l,c)))}},39728:function(b,y,e){var a=e(77149),t=e(87971);b.exports=!a(function(){var o=Error("a");return"stack"in o?(Object.defineProperty(o,"stack",t(1,7)),o.stack!==7):!0})},13354:function(b,y,e){var a=e(53065),t=e(91042).f,o=e(5927),s=e(28621),n=e(40194),d=e(81732),l=e(29206);b.exports=function(c,m){var g=c.target,M=c.global,h=c.stat,S,w,x,z,U,T;if(M?w=a:h?w=a[g]||n(g,{}):w=(a[g]||{}).prototype,w)for(x in m){if(U=m[x],c.dontCallGetSet?(T=t(w,x),z=T&&T.value):z=w[x],S=l(M?x:g+(h?".":"#")+x,c.forced),!S&&z!==void 0){if(typeof U==typeof z)continue;d(U,z)}(c.sham||z&&z.sham)&&o(U,"sham",!0),s(w,x,U,c)}}},77149:function(b){b.exports=function(y){try{return!!y()}catch(e){return!0}}},81506:function(b,y,e){var a=e(77149);b.exports=!a(function(){return Object.isExtensible(Object.preventExtensions({}))})},59178:function(b,y,e){var a=e(34300),t=Function.prototype,o=t.apply,s=t.call;b.exports=typeof Reflect=="object"&&Reflect.apply||(a?s.bind(o):function(){return s.apply(o,arguments)})},34066:function(b,y,e){var a=e(39338),t=e(31927),o=e(34300),s=a(a.bind);b.exports=function(n,d){return t(n),d===void 0?n:o?s(n,d):function(){return n.apply(d,arguments)}}},34300:function(b,y,e){var a=e(77149);b.exports=!a(function(){var t=function(){}.bind();return typeof t!="function"||t.hasOwnProperty("prototype")})},68029:function(b,y,e){var a=e(34300),t=Function.prototype.call;b.exports=a?t.bind(t):function(){return t.apply(t,arguments)}},44761:function(b,y,e){"use strict";var a=e(11700),t=e(31927);b.exports=function(){return a(t(this))}},27593:function(b,y,e){var a=e(57759),t=e(26583),o=Function.prototype,s=a&&Object.getOwnPropertyDescriptor,n=t(o,"name"),d=n&&function(){}.name==="something",l=n&&(!a||a&&s(o,"name").configurable);b.exports={EXISTS:n,PROPER:d,CONFIGURABLE:l}},12719:function(b,y,e){var a=e(11700),t=e(31927);b.exports=function(o,s,n){try{return a(t(Object.getOwnPropertyDescriptor(o,s)[n]))}catch(d){}}},39338:function(b,y,e){var a=e(88596),t=e(11700);b.exports=function(o){if(a(o)==="Function")return t(o)}},11700:function(b,y,e){var a=e(34300),t=Function.prototype,o=t.call,s=a&&t.bind.bind(o,o);b.exports=a?s:function(n){return function(){return o.apply(n,arguments)}}},83658:function(b,y,e){var a=e(68029),t=e(6508),o=e(78958),s=e(55086),n=e(56071),d=e(15931),l=e(77740),c=e(66219),m=l("asyncIterator");b.exports=function(M){var h=o(M),S=!0,w=d(h,m),x;return t(w)||(w=n(h),S=!1),t(w)?x=a(w,h):(x=h,S=!0),o(x),s(S?x:new c(s(x)))}},85231:function(b,y,e){var a=e(68029),t=e(66219),o=e(78958),s=e(64712),n=e(55086),d=e(15931),l=e(77740),c=l("asyncIterator");b.exports=function(m,g){var M=arguments.length<2?d(m,c):g;return M?o(a(M,m)):new t(n(s(m)))}},42725:function(b,y,e){var a=e(53065),t=e(6508),o=function(s){return t(s)?s:void 0};b.exports=function(s,n){return arguments.length<2?o(a[s]):a[s]&&a[s][n]}},55086:function(b,y,e){var a=e(31927),t=e(78958);b.exports=function(o){return{iterator:o,next:a(t(o).next)}}},69896:function(b,y,e){var a=e(68029),t=e(6508),o=e(78958),s=e(55086),n=e(56071);b.exports=function(d){var l=o(d),c=n(l);return s(o(t(c)?a(c,l):l))}},56071:function(b,y,e){var a=e(56834),t=e(15931),o=e(74883),s=e(43125),n=e(77740),d=n("iterator");b.exports=function(l){if(!o(l))return t(l,d)||t(l,"@@iterator")||s[a(l)]}},64712:function(b,y,e){var a=e(68029),t=e(31927),o=e(78958),s=e(30238),n=e(56071),d=TypeError;b.exports=function(l,c){var m=arguments.length<2?n(l):c;if(t(m))return o(a(m,l));throw d(s(l)+" is not iterable")}},75126:function(b,y,e){var a=e(11700),t=e(190),o=e(6508),s=e(88596),n=e(68424),d=a([].push);b.exports=function(l){if(o(l))return l;if(t(l)){for(var c=l.length,m=[],g=0;g]*>)/g,c=/\$([$&'`]|\d{1,2})/g;b.exports=function(m,g,M,h,S,w){var x=M+m.length,z=h.length,U=c;return S!==void 0&&(S=t(S),U=l),n(w,U,function(T,N){var Z;switch(s(N,0)){case"$":return"$";case"&":return m;case"`":return d(g,0,M);case"'":return d(g,x);case"<":Z=S[d(N,1,-1)];break;default:var D=+N;if(D===0)return T;if(D>z){var L=o(D/10);return L===0?T:L<=z?h[L-1]===void 0?s(N,1):h[L-1]+s(N,1):T}Z=h[D-1]}return Z===void 0?"":Z})}},53065:function(b,y,e){var a=function(t){return t&&t.Math==Math&&t};b.exports=a(typeof globalThis=="object"&&globalThis)||a(typeof window=="object"&&window)||a(typeof self=="object"&&self)||a(typeof e.g=="object"&&e.g)||function(){return this}()||Function("return this")()},26583:function(b,y,e){var a=e(11700),t=e(64441),o=a({}.hasOwnProperty);b.exports=Object.hasOwn||function(n,d){return o(t(n),d)}},17859:function(b){b.exports={}},3234:function(b){b.exports=function(y,e){try{arguments.length==1?console.error(y):console.error(y,e)}catch(a){}}},8199:function(b,y,e){var a=e(42725);b.exports=a("document","documentElement")},96335:function(b,y,e){var a=e(57759),t=e(77149),o=e(75074);b.exports=!a&&!t(function(){return Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a!=7})},42414:function(b,y,e){var a=e(11700),t=e(77149),o=e(88596),s=Object,n=a("".split);b.exports=t(function(){return!s("z").propertyIsEnumerable(0)})?function(d){return o(d)=="String"?n(d,""):s(d)}:s},95173:function(b,y,e){var a=e(6508),t=e(33225),o=e(63332);b.exports=function(s,n,d){var l,c;return o&&a(l=n.constructor)&&l!==d&&t(c=l.prototype)&&c!==d.prototype&&o(s,c),s}},45274:function(b,y,e){var a=e(11700),t=e(6508),o=e(1396),s=a(Function.toString);t(o.inspectSource)||(o.inspectSource=function(n){return s(n)}),b.exports=o.inspectSource},13719:function(b,y,e){var a=e(33225),t=e(5927);b.exports=function(o,s){a(s)&&"cause"in s&&t(o,"cause",s.cause)}},80787:function(b,y,e){var a=e(13354),t=e(11700),o=e(17859),s=e(33225),n=e(26583),d=e(38248).f,l=e(94561),c=e(56647),m=e(50175),g=e(89669),M=e(81506),h=!1,S=g("meta"),w=0,x=function(D){d(D,S,{value:{objectID:"O"+w++,weakData:{}}})},z=function(D,L){if(!s(D))return typeof D=="symbol"?D:(typeof D=="string"?"S":"P")+D;if(!n(D,S)){if(!m(D))return"F";if(!L)return"E";x(D)}return D[S].objectID},U=function(D,L){if(!n(D,S)){if(!m(D))return!0;if(!L)return!1;x(D)}return D[S].weakData},T=function(D){return M&&h&&m(D)&&!n(D,S)&&x(D),D},N=function(){Z.enable=function(){},h=!0;var D=l.f,L=t([].splice),j={};j[S]=1,D(j).length&&(l.f=function(G){for(var W=D(G),ne=0,_=W.length;ne<_;ne++)if(W[ne]===S){L(W,ne,1);break}return W},a({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:c.f}))},Z=b.exports={enable:N,fastKey:z,getWeakData:U,onFreeze:T};o[S]=!0},71584:function(b,y,e){var a=e(94919),t=e(53065),o=e(33225),s=e(5927),n=e(26583),d=e(1396),l=e(39376),c=e(17859),m="Object already initialized",g=t.TypeError,M=t.WeakMap,h,S,w,x=function(N){return w(N)?S(N):h(N,{})},z=function(N){return function(Z){var D;if(!o(Z)||(D=S(Z)).type!==N)throw g("Incompatible receiver, "+N+" required");return D}};if(a||d.state){var U=d.state||(d.state=new M);U.get=U.get,U.has=U.has,U.set=U.set,h=function(N,Z){if(U.has(N))throw g(m);return Z.facade=N,U.set(N,Z),Z},S=function(N){return U.get(N)||{}},w=function(N){return U.has(N)}}else{var T=l("state");c[T]=!0,h=function(N,Z){if(n(N,T))throw g(m);return Z.facade=N,s(N,T,Z),Z},S=function(N){return n(N,T)?N[T]:{}},w=function(N){return n(N,T)}}b.exports={set:h,get:S,has:w,enforce:x,getterFor:z}},7890:function(b,y,e){var a=e(77740),t=e(43125),o=a("iterator"),s=Array.prototype;b.exports=function(n){return n!==void 0&&(t.Array===n||s[o]===n)}},190:function(b,y,e){var a=e(88596);b.exports=Array.isArray||function(o){return a(o)=="Array"}},30879:function(b,y,e){var a=e(56834);b.exports=function(t){var o=a(t);return o=="BigInt64Array"||o=="BigUint64Array"}},6508:function(b,y,e){var a=e(71299),t=a.all;b.exports=a.IS_HTMLDDA?function(o){return typeof o=="function"||o===t}:function(o){return typeof o=="function"}},13893:function(b,y,e){var a=e(11700),t=e(77149),o=e(6508),s=e(56834),n=e(42725),d=e(45274),l=function(){},c=[],m=n("Reflect","construct"),g=/^\s*(?:class|function)\b/,M=a(g.exec),h=!g.exec(l),S=function(z){if(!o(z))return!1;try{return m(l,c,z),!0}catch(U){return!1}},w=function(z){if(!o(z))return!1;switch(s(z)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return h||!!M(g,d(z))}catch(U){return!0}};w.sham=!0,b.exports=!m||t(function(){var x;return S(S.call)||!S(Object)||!S(function(){x=!0})||x})?w:S},29206:function(b,y,e){var a=e(77149),t=e(6508),o=/#|\.prototype\./,s=function(m,g){var M=d[n(m)];return M==c?!0:M==l?!1:t(g)?a(g):!!g},n=s.normalize=function(m){return String(m).replace(o,".").toLowerCase()},d=s.data={},l=s.NATIVE="N",c=s.POLYFILL="P";b.exports=s},94653:function(b,y,e){var a=e(56834),t=e(26583),o=e(74883),s=e(77740),n=e(43125),d=s("iterator"),l=Object;b.exports=function(c){if(o(c))return!1;var m=l(c);return m[d]!==void 0||"@@iterator"in m||t(n,a(m))}},74883:function(b){b.exports=function(y){return y==null}},33225:function(b,y,e){var a=e(6508),t=e(71299),o=t.all;b.exports=t.IS_HTMLDDA?function(s){return typeof s=="object"?s!==null:a(s)||s===o}:function(s){return typeof s=="object"?s!==null:a(s)}},77449:function(b){b.exports=!1},37099:function(b,y,e){var a=e(33225),t=e(71584).get;b.exports=function(s){if(!a(s))return!1;var n=t(s);return!!n&&n.type==="RawJSON"}},42854:function(b,y,e){var a=e(33225),t=e(88596),o=e(77740),s=o("match");b.exports=function(n){var d;return a(n)&&((d=n[s])!==void 0?!!d:t(n)=="RegExp")}},59549:function(b,y,e){var a=e(42725),t=e(6508),o=e(72901),s=e(61037),n=Object;b.exports=s?function(d){return typeof d=="symbol"}:function(d){var l=a("Symbol");return t(l)&&o(l.prototype,n(d))}},95060:function(b,y,e){var a=e(68029);b.exports=function(t,o,s){for(var n=s||t.next,d,l;!(d=a(n,t)).done;)if(l=o(d.value),l!==void 0)return l}},95815:function(b,y,e){var a=e(34066),t=e(68029),o=e(78958),s=e(30238),n=e(7890),d=e(89122),l=e(72901),c=e(64712),m=e(56071),g=e(40164),M=TypeError,h=function(w,x){this.stopped=w,this.result=x},S=h.prototype;b.exports=function(w,x,z){var U=z&&z.that,T=!!(z&&z.AS_ENTRIES),N=!!(z&&z.IS_RECORD),Z=!!(z&&z.IS_ITERATOR),D=!!(z&&z.INTERRUPTED),L=a(x,U),j,G,W,ne,_,ee,se,Q=function(X){return j&&g(j,"normal",X),new h(!0,X)},C=function(X){return T?(o(X),D?L(X[0],X[1],Q):L(X[0],X[1])):D?L(X,Q):L(X)};if(N)j=w.iterator;else if(Z)j=w;else{if(G=m(w),!G)throw M(s(w)+" is not iterable");if(n(G)){for(W=0,ne=d(w);ne>W;W++)if(_=C(w[W]),_&&l(S,_))return _;return new h(!1)}j=c(w,G)}for(ee=N?w.next:j.next;!(se=t(ee,j)).done;){try{_=C(se.value)}catch(X){g(j,"throw",X)}if(typeof _=="object"&&_&&l(S,_))return _}return new h(!1)}},40164:function(b,y,e){var a=e(68029),t=e(78958),o=e(15931);b.exports=function(s,n,d){var l,c;t(s);try{if(l=o(s,"return"),!l){if(n==="throw")throw d;return d}l=a(l,s)}catch(m){c=!0,l=m}if(n==="throw")throw d;if(c)throw l;return t(l),d}},87821:function(b,y,e){"use strict";var a=e(41019).IteratorPrototype,t=e(34552),o=e(87971),s=e(68156),n=e(43125),d=function(){return this};b.exports=function(l,c,m,g){var M=c+" Iterator";return l.prototype=t(a,{next:o(+!g,m)}),s(l,M,!1,!0),n[M]=d,l}},36911:function(b,y,e){"use strict";var a=e(68029),t=e(34552),o=e(5927),s=e(3313),n=e(77740),d=e(71584),l=e(15931),c=e(41019).IteratorPrototype,m=e(76835),g=e(40164),M=n("toStringTag"),h="IteratorHelper",S="WrapForValidIterator",w=d.set,x=function(T){var N=d.getterFor(T?S:h);return s(t(c),{next:function(){var D=N(this);if(T)return D.nextHandler();try{var L=D.done?void 0:D.nextHandler();return m(L,D.done)}catch(j){throw D.done=!0,j}},return:function(){var Z=N(this),D=Z.iterator;if(Z.done=!0,T){var L=l(D,"return");return L?a(L,D):m(void 0,!0)}if(Z.inner)try{g(Z.inner.iterator,"normal")}catch(j){return g(D,"throw",j)}return g(D,"normal"),m(void 0,!0)}})},z=x(!0),U=x(!1);o(U,M,"Iterator Helper"),b.exports=function(T,N){var Z=function(L,j){j?(j.iterator=L.iterator,j.next=L.next):j=L,j.type=N?S:h,j.nextHandler=T,j.counter=0,j.done=!1,w(this,j)};return Z.prototype=N?z:U,Z}},94636:function(b,y,e){"use strict";var a=e(13354),t=e(68029),o=e(77449),s=e(27593),n=e(6508),d=e(87821),l=e(77767),c=e(63332),m=e(68156),g=e(5927),M=e(28621),h=e(77740),S=e(43125),w=e(41019),x=s.PROPER,z=s.CONFIGURABLE,U=w.IteratorPrototype,T=w.BUGGY_SAFARI_ITERATORS,N=h("iterator"),Z="keys",D="values",L="entries",j=function(){return this};b.exports=function(G,W,ne,_,ee,se,Q){d(ne,W,_);var C=function(be){if(be===ee&&A)return A;if(!T&&be in H)return H[be];switch(be){case Z:return function(){return new ne(this,be)};case D:return function(){return new ne(this,be)};case L:return function(){return new ne(this,be)}}return function(){return new ne(this)}},X=W+" Iterator",O=!1,H=G.prototype,k=H[N]||H["@@iterator"]||ee&&H[ee],A=!T&&k||C(ee),Y=W=="Array"&&H.entries||k,de,me,ve;if(Y&&(de=l(Y.call(new G)),de!==Object.prototype&&de.next&&(!o&&l(de)!==U&&(c?c(de,U):n(de[N])||M(de,N,j)),m(de,X,!0,!0),o&&(S[X]=j))),x&&ee==D&&k&&k.name!==D&&(!o&&z?g(H,"name",D):(O=!0,A=function(){return t(k,this)})),ee)if(me={values:C(D),keys:se?A:C(Z),entries:C(L)},Q)for(ve in me)(T||O||!(ve in H))&&M(H,ve,me[ve]);else a({target:W,proto:!0,forced:T||O},me);return(!o||Q)&&H[N]!==A&&M(H,N,A,{name:ee}),S[W]=A,me}},45656:function(b,y,e){"use strict";var a=e(68029),t=e(87931),o=function(s,n){return[n,s]};b.exports=function(){return a(t,this,o)}},87931:function(b,y,e){"use strict";var a=e(68029),t=e(31927),o=e(78958),s=e(55086),n=e(36911),d=e(74031),l=n(function(){var c=this.iterator,m=o(a(this.next,c)),g=this.done=!!m.done;if(!g)return d(c,this.mapper,[m.value,this.counter++],!0)});b.exports=function(m){return new l(s(this),{mapper:t(m)})}},41019:function(b,y,e){"use strict";var a=e(77149),t=e(6508),o=e(33225),s=e(34552),n=e(77767),d=e(28621),l=e(77740),c=e(77449),m=l("iterator"),g=!1,M,h,S;[].keys&&(S=[].keys(),"next"in S?(h=n(n(S)),h!==Object.prototype&&(M=h)):g=!0);var w=!o(M)||a(function(){var x={};return M[m].call(x)!==x});w?M={}:c&&(M=s(M)),t(M[m])||d(M,m,function(){return this}),b.exports={IteratorPrototype:M,BUGGY_SAFARI_ITERATORS:g}},43125:function(b){b.exports={}},89122:function(b,y,e){var a=e(25010);b.exports=function(t){return a(t.length)}},70377:function(b,y,e){var a=e(11700),t=e(77149),o=e(6508),s=e(26583),n=e(57759),d=e(27593).CONFIGURABLE,l=e(45274),c=e(71584),m=c.enforce,g=c.get,M=String,h=Object.defineProperty,S=a("".slice),w=a("".replace),x=a([].join),z=n&&!t(function(){return h(function(){},"length",{value:8}).length!==8}),U=String(String).split("String"),T=b.exports=function(N,Z,D){S(M(Z),0,7)==="Symbol("&&(Z="["+w(M(Z),/^Symbol\(([^)]*)\)/,"$1")+"]"),D&&D.getter&&(Z="get "+Z),D&&D.setter&&(Z="set "+Z),(!s(N,"name")||d&&N.name!==Z)&&(n?h(N,"name",{value:Z,configurable:!0}):N.name=Z),z&&D&&s(D,"arity")&&N.length!==D.arity&&h(N,"length",{value:D.arity});try{D&&s(D,"constructor")&&D.constructor?n&&h(N,"prototype",{writable:!1}):N.prototype&&(N.prototype=void 0)}catch(j){}var L=m(N);return s(L,"source")||(L.source=x(U,typeof Z=="string"?Z:"")),N};Function.prototype.toString=T(function(){return o(this)&&g(this).source||l(this)},"toString")},85623:function(b,y,e){var a=e(11700),t=Map.prototype;b.exports={Map,set:a(t.set),get:a(t.get),has:a(t.has),remove:a(t.delete),proto:t}},46782:function(b,y,e){var a=e(11700),t=e(95060),o=e(85623),s=o.Map,n=o.proto,d=a(n.forEach),l=a(n.entries),c=l(new s).next;b.exports=function(m,g,M){return M?t(l(m),function(h){return g(h[1],h[0])},c):d(m,g)}},32171:function(b,y,e){"use strict";var a=e(68029),t=e(31927),o=e(6508),s=e(78958),n=TypeError;b.exports=function(l,c){var m=s(this),g=t(m.get),M=t(m.has),h=t(m.set),S=arguments.length>2?arguments[2]:void 0,w;if(!o(c)&&!o(S))throw n("At least one callback required");return a(M,m,l)?(w=a(g,m,l),o(c)&&(w=c(w),a(h,m,l,w))):o(S)&&(w=S(),a(h,m,l,w)),w}},18749:function(b,y,e){var a=e(75169),t=Math.abs,o=Math.pow,s=o(2,-52),n=o(2,-23),d=o(2,127)*(2-n),l=o(2,-126),c=function(m){return m+1/s-1/s};b.exports=Math.fround||function(g){var M=+g,h=t(M),S=a(M),w,x;return hd||x!=x?S*(1/0):S*x)}},15129:function(b){b.exports=Math.scale||function(e,a,t,o,s){var n=+e,d=+a,l=+t,c=+o,m=+s;return n!=n||d!=d||l!=l||c!=c||m!=m?NaN:n===1/0||n===-1/0?n:(n-d)*(m-c)/(l-d)+c}},75169:function(b){b.exports=Math.sign||function(e){var a=+e;return a==0||a!=a?a:a<0?-1:1}},18243:function(b){var y=Math.ceil,e=Math.floor;b.exports=Math.trunc||function(t){var o=+t;return(o>0?e:y)(o)}},66286:function(b,y,e){var a=e(77149);b.exports=!a(function(){var t="9007199254740993",o=JSON.rawJSON(t);return!JSON.isRawJSON(o)||JSON.stringify(o)!==t})},71440:function(b,y,e){"use strict";var a=e(31927),t=TypeError,o=function(s){var n,d;this.promise=new s(function(l,c){if(n!==void 0||d!==void 0)throw t("Bad Promise constructor");n=l,d=c}),this.resolve=a(n),this.reject=a(d)};b.exports.f=function(s){return new o(s)}},9280:function(b,y,e){var a=e(68424);b.exports=function(t,o){return t===void 0?arguments.length<2?"":o:a(t)}},29597:function(b){var y=RangeError;b.exports=function(e){if(e===e)return e;throw y("NaN is not allowed")}},54633:function(b,y,e){var a=e(53065),t=a.isFinite;b.exports=Number.isFinite||function(s){return typeof s=="number"&&t(s)}},35323:function(b,y,e){var a=e(53065),t=e(77149),o=e(11700),s=e(68424),n=e(53761).trim,d=e(91289),l=a.parseInt,c=a.Symbol,m=c&&c.iterator,g=/^[+-]?0x/i,M=o(g.exec),h=l(d+"08")!==8||l(d+"0x16")!==22||m&&!t(function(){l(Object(m))});b.exports=h?function(w,x){var z=n(s(w));return l(z,x>>>0||(M(g,z)?16:10))}:l},73126:function(b,y,e){"use strict";var a=e(71584),t=e(87821),o=e(76835),s=e(74883),n=e(33225),d=e(97867).f,l=e(57759),c="Incorrect Iterator.range arguments",m="NumericRangeIterator",g=a.set,M=a.getterFor(m),h=RangeError,S=TypeError,w=t(function(U,T,N,Z,D,L){if(typeof U!=Z||T!==1/0&&T!==-1/0&&typeof T!=Z)throw S(c);if(U===1/0||U===-1/0)throw h(c);var j=T>U,G=!1,W;if(N===void 0)W=void 0;else if(n(N))W=N.step,G=!!N.inclusive;else if(typeof N==Z)W=N;else throw S(c);if(s(W)&&(W=j?L:-L),typeof W!=Z)throw S(c);if(W===1/0||W===-1/0||W===D&&U!==T)throw h(c);var ne=U!=U||T!=T||W!=W||T>U!=W>D;g(this,{type:m,start:U,end:T,step:W,inclusiveEnd:G,hitsEnd:ne,currentCount:D,zero:D}),l||(this.start=U,this.end=T,this.step=W,this.inclusive=G)},m,function(){var U=M(this);if(U.hitsEnd)return o(void 0,!0);var T=U.start,N=U.end,Z=U.step,D=T+Z*U.currentCount++;D===N&&(U.hitsEnd=!0);var L=U.inclusiveEnd,j;return N>T?j=L?D>N:D>=N:j=L?N>D:N>=D,j?(U.hitsEnd=!0,o(void 0,!0)):o(D,!1)}),x=function(z){return{get:z,set:function(){},configurable:!0,enumerable:!1}};l&&d(w.prototype,{start:x(function(){return M(this).start}),end:x(function(){return M(this).end}),inclusive:x(function(){return M(this).inclusiveEnd}),step:x(function(){return M(this).step})}),b.exports=w},34552:function(b,y,e){var a=e(78958),t=e(97867),o=e(68150),s=e(17859),n=e(8199),d=e(75074),l=e(39376),c=">",m="<",g="prototype",M="script",h=l("IE_PROTO"),S=function(){},w=function(N){return m+M+c+N+m+"/"+M+c},x=function(N){N.write(w("")),N.close();var Z=N.parentWindow.Object;return N=null,Z},z=function(){var N=d("iframe"),Z="java"+M+":",D;return N.style.display="none",n.appendChild(N),N.src=String(Z),D=N.contentWindow.document,D.open(),D.write(w("document.F=Object")),D.close(),D.F},U,T=function(){try{U=new ActiveXObject("htmlfile")}catch(Z){}T=typeof document!="undefined"?document.domain&&U?x(U):z():x(U);for(var N=o.length;N--;)delete T[g][o[N]];return T()};s[h]=!0,b.exports=Object.create||function(Z,D){var L;return Z!==null?(S[g]=a(Z),L=new S,S[g]=null,L[h]=Z):L=T(),D===void 0?L:t.f(L,D)}},97867:function(b,y,e){var a=e(57759),t=e(63980),o=e(38248),s=e(78958),n=e(514),d=e(71691);y.f=a&&!t?Object.defineProperties:function(c,m){s(c);for(var g=n(m),M=d(m),h=M.length,S=0,w;h>S;)o.f(c,w=M[S++],g[w]);return c}},38248:function(b,y,e){var a=e(57759),t=e(96335),o=e(63980),s=e(78958),n=e(76846),d=TypeError,l=Object.defineProperty,c=Object.getOwnPropertyDescriptor,m="enumerable",g="configurable",M="writable";y.f=a?o?function(S,w,x){if(s(S),w=n(w),s(x),typeof S=="function"&&w==="prototype"&&"value"in x&&M in x&&!x[M]){var z=c(S,w);z&&z[M]&&(S[w]=x.value,x={configurable:g in x?x[g]:z[g],enumerable:m in x?x[m]:z[m],writable:!1})}return l(S,w,x)}:l:function(S,w,x){if(s(S),w=n(w),s(x),t)try{return l(S,w,x)}catch(z){}if("get"in x||"set"in x)throw d("Accessors not supported");return"value"in x&&(S[w]=x.value),S}},91042:function(b,y,e){var a=e(57759),t=e(68029),o=e(83688),s=e(87971),n=e(514),d=e(76846),l=e(26583),c=e(96335),m=Object.getOwnPropertyDescriptor;y.f=a?m:function(M,h){if(M=n(M),h=d(h),c)try{return m(M,h)}catch(S){}if(l(M,h))return s(!t(o.f,M,h),M[h])}},56647:function(b,y,e){var a=e(88596),t=e(514),o=e(94561).f,s=e(81469),n=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],d=function(l){try{return o(l)}catch(c){return s(n)}};b.exports.f=function(c){return n&&a(c)=="Window"?d(c):o(t(c))}},94561:function(b,y,e){var a=e(4482),t=e(68150),o=t.concat("length","prototype");y.f=Object.getOwnPropertyNames||function(n){return a(n,o)}},10290:function(b,y){y.f=Object.getOwnPropertySymbols},77767:function(b,y,e){var a=e(26583),t=e(6508),o=e(64441),s=e(39376),n=e(80978),d=s("IE_PROTO"),l=Object,c=l.prototype;b.exports=n?l.getPrototypeOf:function(m){var g=o(m);if(a(g,d))return g[d];var M=g.constructor;return t(M)&&g instanceof M?M.prototype:g instanceof l?c:null}},50175:function(b,y,e){var a=e(77149),t=e(33225),o=e(88596),s=e(23932),n=Object.isExtensible,d=a(function(){n(1)});b.exports=d||s?function(c){return!t(c)||s&&o(c)=="ArrayBuffer"?!1:n?n(c):!0}:n},72901:function(b,y,e){var a=e(11700);b.exports=a({}.isPrototypeOf)},65556:function(b,y,e){"use strict";var a=e(71584),t=e(87821),o=e(76835),s=e(26583),n=e(71691),d=e(64441),l="Object Iterator",c=a.set,m=a.getterFor(l);b.exports=t(function(M,h){var S=d(M);c(this,{type:l,mode:h,object:S,keys:n(S),index:0})},"Object",function(){for(var M=m(this),h=M.keys;;){if(h===null||M.index>=h.length)return M.object=M.keys=null,o(void 0,!0);var S=h[M.index++],w=M.object;if(s(w,S)){switch(M.mode){case"keys":return o(S,!1);case"values":return o(w[S],!1)}return o([S,w[S]],!1)}}})},4482:function(b,y,e){var a=e(11700),t=e(26583),o=e(514),s=e(63795).indexOf,n=e(17859),d=a([].push);b.exports=function(l,c){var m=o(l),g=0,M=[],h;for(h in m)!t(n,h)&&t(m,h)&&d(M,h);for(;c.length>g;)t(m,h=c[g++])&&(~s(M,h)||d(M,h));return M}},71691:function(b,y,e){var a=e(4482),t=e(68150);b.exports=Object.keys||function(s){return a(s,t)}},83688:function(b,y){"use strict";var e={}.propertyIsEnumerable,a=Object.getOwnPropertyDescriptor,t=a&&!e.call({1:2},1);y.f=t?function(s){var n=a(this,s);return!!n&&n.enumerable}:e},63332:function(b,y,e){var a=e(12719),t=e(78958),o=e(66961);b.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var s=!1,n={},d;try{d=a(Object.prototype,"__proto__","set"),d(n,[]),s=n instanceof Array}catch(l){}return function(c,m){return t(c),o(m),s?d(c,m):c.__proto__=m,c}}():void 0)},88818:function(b,y,e){var a=e(53065),t=e(6508),o=e(77740),s=o("observable"),n=a.Observable,d=n&&n.prototype;b.exports=!t(n)||!t(n.from)||!t(n.of)||!t(d.subscribe)||!t(d[s])},54026:function(b,y,e){var a=e(68029),t=e(6508),o=e(33225),s=TypeError;b.exports=function(n,d){var l,c;if(d==="string"&&t(l=n.toString)&&!o(c=a(l,n))||t(l=n.valueOf)&&!o(c=a(l,n))||d!=="string"&&t(l=n.toString)&&!o(c=a(l,n)))return c;throw s("Can't convert object to primitive value")}},60999:function(b,y,e){var a=e(42725),t=e(11700),o=e(94561),s=e(10290),n=e(78958),d=t([].concat);b.exports=a("Reflect","ownKeys")||function(c){var m=o.f(n(c)),g=s.f;return g?d(m,g(c)):m}},12539:function(b,y,e){var a=e(11700),t=e(26583),o=SyntaxError,s=parseInt,n=String.fromCharCode,d=a("".charAt),l=a("".slice),c=a(/./.exec),m={'\\"':'"',"\\\\":"\\","\\/":"/","\\b":"\b","\\f":"\f","\\n":` +`,"\\r":"\r","\\t":" "},g=/^[\da-f]{4}$/i,M=/^[\u0000-\u001F]$/;b.exports=function(h,S){for(var w=!0,x="";Sh,z=o(S)?S:c(S),U=x?d(arguments,h):[],T=x?function(){t(z,this,U)}:z;return M?g(T,w):g(T)}:g}},38684:function(b,y,e){var a=e(23313),t=e(22731),o=a.Set,s=a.add;b.exports=function(n){var d=new o;return t(n,function(l){s(d,l)}),d}},53505:function(b,y,e){"use strict";var a=e(77318),t=e(23313),o=e(38684),s=e(17085),n=e(35710),d=e(22731),l=e(95060),c=t.has,m=t.remove;b.exports=function(M){var h=a(this),S=n(M),w=o(h);return s(h)<=S.size?d(h,function(x){S.includes(x)&&m(w,x)}):l(S.getIterator(),function(x){c(h,x)&&m(w,x)}),w}},23313:function(b,y,e){var a=e(11700),t=Set.prototype;b.exports={Set,add:a(t.add),has:a(t.has),remove:a(t.delete),proto:t,$has:t.has,$keys:t.keys}},51737:function(b,y,e){"use strict";var a=e(77318),t=e(23313),o=e(17085),s=e(35710),n=e(22731),d=e(95060),l=t.Set,c=t.add,m=t.has,g=t.$has,M=t.$keys,h=function(S){return S.has===g&&S.keys===M};b.exports=function(w){var x=a(this),z=s(w),U=new l;if(!h(z)&&o(x)>z.size){if(d(z.getIterator(),function(N){m(x,N)&&c(U,N)}),o(U)<2)return U;var T=U;U=new l,n(x,function(N){m(T,N)&&c(U,N)})}else n(x,function(N){z.includes(N)&&c(U,N)});return U}},46149:function(b,y,e){"use strict";var a=e(77318),t=e(23313).has,o=e(17085),s=e(35710),n=e(22731),d=e(95060),l=e(40164);b.exports=function(m){var g=a(this),M=s(m);if(o(g)<=M.size)return n(g,function(S){if(M.includes(S))return!1},!0)!==!1;var h=M.getIterator();return d(h,function(S){if(t(g,S))return l(h,"normal",!1)})!==!1}},99527:function(b,y,e){"use strict";var a=e(77318),t=e(17085),o=e(22731),s=e(35710);b.exports=function(d){var l=a(this),c=s(d);return t(l)>c.size?!1:o(l,function(m){if(!c.includes(m))return!1},!0)!==!1}},20698:function(b,y,e){"use strict";var a=e(77318),t=e(23313).has,o=e(17085),s=e(35710),n=e(95060),d=e(40164);b.exports=function(c){var m=a(this),g=s(c);if(o(m)=w?m?"":void 0:(x=d(h,S),x<55296||x>56319||S+1===w||(z=d(h,S+1))<56320||z>57343?m?n(h,S):x:m?l(h,S,S+2):(x-55296<<10)+(z-56320)+65536)}};b.exports={codeAt:c(!1),charAt:c(!0)}},81089:function(b,y,e){var a=e(42725),t=e(11700),o=String.fromCharCode,s=a("String","fromCodePoint"),n=t("".charAt),d=t("".charCodeAt),l=t("".indexOf),c=t("".slice),m=48,g=57,M=97,h=102,S=65,w=70,x=function(T,N){var Z=d(T,N);return Z>=m&&Z<=g},z=function(T,N,Z){if(Z>=T.length)return-1;for(var D=0;N=m&&T<=g?T-m:T>=M&&T<=h?T-M+10:T>=S&&T<=w?T-S+10:-1};b.exports=function(T){for(var N="",Z=0,D=0,L;(D=l(T,"\\",D))>-1;){if(N+=c(T,Z,D),++D===T.length)return;var j=n(T,D++);switch(j){case"b":N+="\b";break;case"t":N+=" ";break;case"n":N+=` +`;break;case"v":N+="\v";break;case"f":N+="\f";break;case"r":N+="\r";break;case"\r":D1114111)return;N+=s(L);break;default:if(x(j,0))return;N+=j}Z=D}return N+c(T,Z)}},53761:function(b,y,e){var a=e(11700),t=e(12105),o=e(68424),s=e(91289),n=a("".replace),d=RegExp("^["+s+"]+"),l=RegExp("(^|[^"+s+"])["+s+"]+$"),c=function(m){return function(g){var M=o(t(g));return m&1&&(M=n(M,d,"")),m&2&&(M=n(M,l,"$1")),M}};b.exports={start:c(1),end:c(2),trim:c(3)}},27698:function(b,y,e){var a=e(53065),t=e(77149),o=e(8783),s=e(83051),n=e(79132),d=e(79727),l=a.structuredClone;b.exports=!!l&&!t(function(){if(n&&o>92||d&&o>94||s&&o>97)return!1;var c=new ArrayBuffer(8),m=l(c,{transfer:[c]});return c.byteLength!=0||m.byteLength!=8})},18680:function(b,y,e){var a=e(8783),t=e(77149);b.exports=!!Object.getOwnPropertySymbols&&!t(function(){var o=Symbol();return!String(o)||!(Object(o)instanceof Symbol)||!Symbol.sham&&a&&a<41})},56912:function(b,y,e){var a=e(53065),t=e(59178),o=e(34066),s=e(6508),n=e(26583),d=e(77149),l=e(8199),c=e(66322),m=e(75074),g=e(87486),M=e(72833),h=e(79727),S=a.setImmediate,w=a.clearImmediate,x=a.process,z=a.Dispatch,U=a.Function,T=a.MessageChannel,N=a.String,Z=0,D={},L="onreadystatechange",j,G,W,ne;d(function(){j=a.location});var _=function(C){if(n(D,C)){var X=D[C];delete D[C],X()}},ee=function(C){return function(){_(C)}},se=function(C){_(C.data)},Q=function(C){a.postMessage(N(C),j.protocol+"//"+j.host)};(!S||!w)&&(S=function(X){g(arguments.length,1);var O=s(X)?X:U(X),H=c(arguments,1);return D[++Z]=function(){t(O,void 0,H)},G(Z),Z},w=function(X){delete D[X]},h?G=function(C){x.nextTick(ee(C))}:z&&z.now?G=function(C){z.now(ee(C))}:T&&!M?(W=new T,ne=W.port2,W.port1.onmessage=se,G=o(ne.postMessage,ne)):a.addEventListener&&s(a.postMessage)&&!a.importScripts&&j&&j.protocol!=="file:"&&!d(Q)?(G=Q,a.addEventListener("message",se,!1)):L in m("script")?G=function(C){l.appendChild(m("script"))[L]=function(){l.removeChild(this),_(C)}}:G=function(C){setTimeout(ee(C),0)}),b.exports={set:S,clear:w}},71410:function(b,y,e){var a=e(68345),t=Math.max,o=Math.min;b.exports=function(s,n){var d=a(s);return d<0?t(d+n,0):o(d,n)}},28046:function(b,y,e){var a=e(54845),t=TypeError;b.exports=function(o){var s=a(o,"number");if(typeof s=="number")throw t("Can't convert number to bigint");return BigInt(s)}},92503:function(b,y,e){var a=e(68345),t=e(25010),o=RangeError;b.exports=function(s){if(s===void 0)return 0;var n=a(s),d=t(n);if(n!==d)throw o("Wrong length or index");return d}},514:function(b,y,e){var a=e(42414),t=e(12105);b.exports=function(o){return a(t(o))}},68345:function(b,y,e){var a=e(18243);b.exports=function(t){var o=+t;return o!==o||o===0?0:a(o)}},25010:function(b,y,e){var a=e(68345),t=Math.min;b.exports=function(o){return o>0?t(a(o),9007199254740991):0}},64441:function(b,y,e){var a=e(12105),t=Object;b.exports=function(o){return t(a(o))}},5561:function(b,y,e){var a=e(82053),t=RangeError;b.exports=function(o,s){var n=a(o);if(n%s)throw t("Wrong offset");return n}},82053:function(b,y,e){var a=e(68345),t=RangeError;b.exports=function(o){var s=a(o);if(s<0)throw t("The argument can't be less than 0");return s}},54845:function(b,y,e){var a=e(68029),t=e(33225),o=e(59549),s=e(15931),n=e(54026),d=e(77740),l=TypeError,c=d("toPrimitive");b.exports=function(m,g){if(!t(m)||o(m))return m;var M=s(m,c),h;if(M){if(g===void 0&&(g="default"),h=a(M,m,g),!t(h)||o(h))return h;throw l("Can't convert object to primitive value")}return g===void 0&&(g="number"),n(m,g)}},76846:function(b,y,e){var a=e(54845),t=e(59549);b.exports=function(o){var s=a(o,"string");return t(s)?s:s+""}},74089:function(b,y,e){var a=e(42725),t=e(6508),o=e(94653),s=e(33225),n=a("Set"),d=function(l){return s(l)&&typeof l.size=="number"&&t(l.has)&&t(l.keys)};b.exports=function(l){if(d(l))return l;if(o(l))return new n(l)}},64726:function(b,y,e){var a=e(77740),t=a("toStringTag"),o={};o[t]="z",b.exports=String(o)==="[object z]"},68424:function(b,y,e){var a=e(56834),t=String;b.exports=function(o){if(a(o)==="Symbol")throw TypeError("Cannot convert a Symbol value to a string");return t(o)}},30238:function(b){var y=String;b.exports=function(e){try{return y(e)}catch(a){return"Object"}}},64395:function(b,y,e){var a=e(50112),t=e(93947);b.exports=function(o,s){return a(t(o),s)}},93947:function(b,y,e){var a=e(94641),t=e(23473),o=a.aTypedArrayConstructor,s=a.getTypedArrayConstructor;b.exports=function(n){return o(t(n,s(n)))}},89669:function(b,y,e){var a=e(11700),t=0,o=Math.random(),s=a(1 .toString);b.exports=function(n){return"Symbol("+(n===void 0?"":n)+")_"+s(++t+o,36)}},61037:function(b,y,e){var a=e(18680);b.exports=a&&!Symbol.sham&&typeof Symbol.iterator=="symbol"},63980:function(b,y,e){var a=e(57759),t=e(77149);b.exports=a&&t(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})},87486:function(b){var y=TypeError;b.exports=function(e,a){if(eN&&g(se,arguments[N]),se});if(W.prototype=j,D!=="Error"?n?n(W,G):d(W,G,{name:!0}):h&&T in L&&(l(W,L,T),l(W,L,"prepareStackTrace")),d(W,L),!S)try{j.name!==D&&o(j,"name",D),j.constructor=W}catch(ne){}return W}}},74503:function(b,y,e){var a=e(13354),t=e(42725),o=e(59178),s=e(77149),n=e(69485),d="AggregateError",l=t(d),c=!s(function(){return l([1]).errors[0]!==1})&&s(function(){return l([1],d,{cause:7}).cause!==7});a({global:!0,constructor:!0,arity:2,forced:c},{AggregateError:n(d,function(m){return function(M,h){return o(m,this,arguments)}},c,!0)})},90570:function(b,y,e){"use strict";var a=e(13354),t=e(72901),o=e(77767),s=e(63332),n=e(81732),d=e(34552),l=e(5927),c=e(87971),m=e(13719),g=e(96410),M=e(95815),h=e(9280),S=e(77740),w=S("toStringTag"),x=Error,z=[].push,U=function(Z,D){var L=t(T,this),j;s?j=s(x(),L?o(this):T):(j=L?this:d(T),l(j,w,"Error")),D!==void 0&&l(j,"message",h(D)),g(j,U,j.stack,1),arguments.length>2&&m(j,arguments[2]);var G=[];return M(Z,z,{that:G}),l(j,"errors",G),j};s?s(U,x):n(U,x,{name:!0});var T=U.prototype=d(x.prototype,{constructor:c(1,U),message:c(1,""),name:c(1,"AggregateError")});a({global:!0,constructor:!0,arity:2},{AggregateError:U})},511:function(b,y,e){e(90570)},65591:function(b,y,e){"use strict";var a=e(13354),t=e(64441),o=e(89122),s=e(68345),n=e(22054);a({target:"Array",proto:!0},{at:function(l){var c=t(this),m=o(c),g=s(l),M=g>=0?g:m+g;return M<0||M>=m?void 0:c[M]}}),n("at")},33356:function(b,y,e){"use strict";var a=e(13354),t=e(17464).findLastIndex,o=e(22054);a({target:"Array",proto:!0},{findLastIndex:function(n){return t(this,n,arguments.length>1?arguments[1]:void 0)}}),o("findLastIndex")},56082:function(b,y,e){"use strict";var a=e(13354),t=e(17464).findLast,o=e(22054);a({target:"Array",proto:!0},{findLast:function(n){return t(this,n,arguments.length>1?arguments[1]:void 0)}}),o("findLast")},73034:function(b,y,e){"use strict";var a=e(13354),t=e(64441),o=e(89122),s=e(77060),n=e(12262),d=e(77149),l=d(function(){return[].push.call({length:4294967296},1)!==4294967297}),c=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(g){return g instanceof TypeError}},m=l||!c();a({target:"Array",proto:!0,arity:1,forced:m},{push:function(M){var h=t(this),S=o(h),w=arguments.length;n(S+w);for(var x=0;x79&&s<83,l=d||!o("reduceRight");a({target:"Array",proto:!0,forced:l},{reduceRight:function(m){return t(this,m,arguments.length,arguments.length>1?arguments[1]:void 0)}})},62083:function(b,y,e){"use strict";var a=e(13354),t=e(82565).left,o=e(83242),s=e(8783),n=e(79727),d=!n&&s>79&&s<83,l=d||!o("reduce");a({target:"Array",proto:!0,forced:l},{reduce:function(m){var g=arguments.length;return t(this,m,g,g>1?arguments[1]:void 0)}})},36021:function(b,y,e){"use strict";var a=e(13354),t=e(2333),o=e(514),s=e(22054),n=Array;a({target:"Array",proto:!0},{toReversed:function(){return t(o(this),n)}}),s("toReversed")},38122:function(b,y,e){"use strict";var a=e(13354),t=e(11700),o=e(31927),s=e(514),n=e(50112),d=e(70721),l=e(22054),c=Array,m=t(d("Array").sort);a({target:"Array",proto:!0},{toSorted:function(M){M!==void 0&&o(M);var h=s(this),S=n(c,h);return m(S,M)}}),l("toSorted")},37116:function(b,y,e){"use strict";var a=e(13354),t=e(22054),o=e(12262),s=e(89122),n=e(71410),d=e(514),l=e(68345),c=Array,m=Math.max,g=Math.min;a({target:"Array",proto:!0},{toSpliced:function(h,S){var w=d(this),x=s(w),z=n(h,x),U=arguments.length,T=0,N,Z,D,L;for(U===0?N=Z=0:U===1?(N=0,Z=x-z):(N=U-2,Z=g(m(l(S),0),x-z)),D=o(x+N-Z),L=c(D);T=0?S:h+S;return w<0||w>=h?void 0:l(M,w)}})},97390:function(b,y,e){"use strict";var a=e(13354),t=e(68029),o=e(11700),s=e(12105),n=e(6508),d=e(74883),l=e(42854),c=e(68424),m=e(15931),g=e(50533),M=e(47947),h=e(77740),S=e(77449),w=h("replace"),x=TypeError,z=o("".indexOf),U=o("".replace),T=o("".slice),N=Math.max,Z=function(D,L,j){return j>D.length?-1:L===""?j:z(D,L,j)};a({target:"String",proto:!0},{replaceAll:function(L,j){var G=s(this),W,ne,_,ee,se,Q,C,X,O,H=0,k=0,A="";if(!d(L)){if(W=l(L),W&&(ne=c(s(g(L))),!~z(ne,"g")))throw x("`.replaceAll` does not allow non-global regexes");if(_=m(L,w),_)return t(_,L,G,j);if(S&&W)return U(c(G),L,j)}for(ee=c(G),se=c(L),Q=n(j),Q||(j=c(j)),C=se.length,X=N(1,C),H=Z(ee,se,0);H!==-1;)O=Q?c(j(se,H,ee)):M(se,ee,H,[],void 0,j),A+=T(ee,k,H)+O,k=H+C,H=Z(ee,se,H+X);return k=0?g:m+g;return M<0||M>=m?void 0:c[M]})},55759:function(b,y,e){"use strict";var a=e(94641),t=e(17464).findLastIndex,o=a.aTypedArray,s=a.exportTypedArrayMethod;s("findLastIndex",function(d){return t(o(this),d,arguments.length>1?arguments[1]:void 0)})},23239:function(b,y,e){"use strict";var a=e(94641),t=e(17464).findLast,o=a.aTypedArray,s=a.exportTypedArrayMethod;s("findLast",function(d){return t(o(this),d,arguments.length>1?arguments[1]:void 0)})},53289:function(b,y,e){"use strict";var a=e(53065),t=e(68029),o=e(94641),s=e(89122),n=e(5561),d=e(64441),l=e(77149),c=a.RangeError,m=a.Int8Array,g=m&&m.prototype,M=g&&g.set,h=o.aTypedArray,S=o.exportTypedArrayMethod,w=!l(function(){var z=new Uint8ClampedArray(2);return t(M,z,{length:1,0:3},1),z[1]!==3}),x=w&&o.NATIVE_ARRAY_BUFFER_VIEWS&&l(function(){var z=new m(2);return z.set(1),z.set("2",1),z[0]!==0||z[1]!==2});S("set",function(U){h(this);var T=n(arguments.length>1?arguments[1]:void 0,1),N=d(U);if(w)return t(M,this,N,T);var Z=this.length,D=s(N),L=0;if(D+T>Z)throw c("Wrong length");for(;L1?arguments[1]:void 0)}}),o("filterOut")},6719:function(b,y,e){"use strict";var a=e(13354),t=e(44708).filterReject,o=e(22054);a({target:"Array",proto:!0,forced:!0},{filterReject:function(n){return t(this,n,arguments.length>1?arguments[1]:void 0)}}),o("filterReject")},85590:function(b,y,e){var a=e(13354),t=e(44594);a({target:"Array",stat:!0},{fromAsync:t})},84602:function(b,y,e){var a=e(13354),t=e(83242),o=e(22054),s=e(59765),n=e(77449);a({target:"Array",proto:!0,name:"groupToMap",forced:n||!t("groupByToMap")},{groupByToMap:s}),o("groupByToMap")},56179:function(b,y,e){"use strict";var a=e(13354),t=e(69093),o=e(83242),s=e(22054);a({target:"Array",proto:!0,forced:!o("groupBy")},{groupBy:function(d){var l=arguments.length>1?arguments[1]:void 0;return t(this,d,l)}}),s("groupBy")},68765:function(b,y,e){var a=e(13354),t=e(22054),o=e(59765),s=e(77449);a({target:"Array",proto:!0,forced:s},{groupToMap:o}),t("groupToMap")},68090:function(b,y,e){"use strict";var a=e(13354),t=e(69093),o=e(22054);a({target:"Array",proto:!0},{group:function(n){var d=arguments.length>1?arguments[1]:void 0;return t(this,n,d)}}),o("group")},46377:function(b,y,e){var a=e(13354),t=e(190),o=Object.isFrozen,s=function(n,d){if(!o||!t(n)||!o(n))return!1;for(var l=0,c=n.length,m;l1?arguments[1]:void 0);return s(l,function(m,g){if(!c(m,g,l))return!1},!0)!==!1}})},82412:function(b,y,e){"use strict";var a=e(13354),t=e(34066),o=e(7328),s=e(85623),n=e(46782),d=s.Map,l=s.set;a({target:"Map",proto:!0,real:!0,forced:!0},{filter:function(m){var g=o(this),M=t(m,arguments.length>1?arguments[1]:void 0),h=new d;return n(g,function(S,w){M(S,w,g)&&l(h,w,S)}),h}})},69205:function(b,y,e){"use strict";var a=e(13354),t=e(34066),o=e(7328),s=e(46782);a({target:"Map",proto:!0,real:!0,forced:!0},{findKey:function(d){var l=o(this),c=t(d,arguments.length>1?arguments[1]:void 0),m=s(l,function(g,M){if(c(g,M,l))return{key:M}},!0);return m&&m.key}})},53677:function(b,y,e){"use strict";var a=e(13354),t=e(34066),o=e(7328),s=e(46782);a({target:"Map",proto:!0,real:!0,forced:!0},{find:function(d){var l=o(this),c=t(d,arguments.length>1?arguments[1]:void 0),m=s(l,function(g,M){if(c(g,M,l))return{value:g}},!0);return m&&m.value}})},55994:function(b,y,e){var a=e(13354),t=e(67640);a({target:"Map",stat:!0,forced:!0},{from:t})},96103:function(b,y,e){"use strict";var a=e(13354),t=e(68029),o=e(11700),s=e(6508),n=e(31927),d=e(95815),l=e(85623).Map,c=o([].push);a({target:"Map",stat:!0,forced:!0},{groupBy:function(g,M){var h=s(this)?this:l,S=new h;n(M);var w=n(S.has),x=n(S.get),z=n(S.set);return d(g,function(U){var T=M(U);t(w,S,T)?c(t(x,S,T),U):t(z,S,T,[U])}),S}})},13153:function(b,y,e){"use strict";var a=e(13354),t=e(53496),o=e(7328),s=e(46782);a({target:"Map",proto:!0,real:!0,forced:!0},{includes:function(d){return s(o(this),function(l){if(t(l,d))return!0},!0)===!0}})},51331:function(b,y,e){"use strict";var a=e(13354),t=e(68029),o=e(95815),s=e(6508),n=e(31927),d=e(85623).Map;a({target:"Map",stat:!0,forced:!0},{keyBy:function(c,m){var g=s(this)?this:d,M=new g;n(m);var h=n(M.set);return o(c,function(S){t(h,M,m(S),S)}),M}})},31471:function(b,y,e){"use strict";var a=e(13354),t=e(7328),o=e(46782);a({target:"Map",proto:!0,real:!0,forced:!0},{keyOf:function(n){var d=o(t(this),function(l,c){if(l===n)return{key:c}},!0);return d&&d.key}})},48008:function(b,y,e){"use strict";var a=e(13354),t=e(34066),o=e(7328),s=e(85623),n=e(46782),d=s.Map,l=s.set;a({target:"Map",proto:!0,real:!0,forced:!0},{mapKeys:function(m){var g=o(this),M=t(m,arguments.length>1?arguments[1]:void 0),h=new d;return n(g,function(S,w){l(h,M(S,w,g),S)}),h}})},72877:function(b,y,e){"use strict";var a=e(13354),t=e(34066),o=e(7328),s=e(85623),n=e(46782),d=s.Map,l=s.set;a({target:"Map",proto:!0,real:!0,forced:!0},{mapValues:function(m){var g=o(this),M=t(m,arguments.length>1?arguments[1]:void 0),h=new d;return n(g,function(S,w){l(h,w,M(S,w,g))}),h}})},55778:function(b,y,e){"use strict";var a=e(13354),t=e(7328),o=e(95815),s=e(85623).set;a({target:"Map",proto:!0,real:!0,arity:1,forced:!0},{merge:function(d){for(var l=t(this),c=arguments.length,m=0;m1?arguments[1]:void 0);return s(l,function(m,g){if(c(m,g,l))return!0},!0)===!0}})},74613:function(b,y,e){"use strict";var a=e(13354),t=e(32171);a({target:"Map",proto:!0,real:!0,name:"upsert",forced:!0},{updateOrInsert:t})},22252:function(b,y,e){"use strict";var a=e(13354),t=e(31927),o=e(7328),s=e(85623),n=TypeError,d=s.get,l=s.has,c=s.set;a({target:"Map",proto:!0,real:!0,forced:!0},{update:function(g,M){var h=o(this),S=arguments.length;t(M);var w=l(h,g);if(!w&&S<3)throw n("Updating absent value");var x=w?d(h,g):t(S>2?arguments[2]:void 0)(g,h);return c(h,g,M(x,g,h)),h}})},85890:function(b,y,e){"use strict";var a=e(13354),t=e(32171);a({target:"Map",proto:!0,real:!0,forced:!0},{upsert:t})},49489:function(b,y,e){var a=e(13354),t=Math.min,o=Math.max;a({target:"Math",stat:!0,forced:!0},{clamp:function(n,d,l){return t(l,o(d,n))}})},63478:function(b,y,e){var a=e(13354);a({target:"Math",stat:!0,nonConfigurable:!0,nonWritable:!0},{DEG_PER_RAD:Math.PI/180})},88126:function(b,y,e){var a=e(13354),t=180/Math.PI;a({target:"Math",stat:!0,forced:!0},{degrees:function(s){return s*t}})},24760:function(b,y,e){var a=e(13354),t=e(15129),o=e(18749);a({target:"Math",stat:!0,forced:!0},{fscale:function(n,d,l,c,m){return o(t(n,d,l,c,m))}})},37877:function(b,y,e){var a=e(13354);a({target:"Math",stat:!0,forced:!0},{iaddh:function(o,s,n,d){var l=o>>>0,c=s>>>0,m=n>>>0;return c+(d>>>0)+((l&m|(l|m)&~(l+m>>>0))>>>31)|0}})},99461:function(b,y,e){var a=e(13354);a({target:"Math",stat:!0,forced:!0},{imulh:function(o,s){var n=65535,d=+o,l=+s,c=d&n,m=l&n,g=d>>16,M=l>>16,h=(g*m>>>0)+(c*m>>>16);return g*M+(h>>16)+((c*M>>>0)+(h&n)>>16)}})},63746:function(b,y,e){var a=e(13354);a({target:"Math",stat:!0,forced:!0},{isubh:function(o,s,n,d){var l=o>>>0,c=s>>>0,m=n>>>0;return c-(d>>>0)-((~l&m|~(l^m)&l-m>>>0)>>>31)|0}})},8443:function(b,y,e){var a=e(13354);a({target:"Math",stat:!0,nonConfigurable:!0,nonWritable:!0},{RAD_PER_DEG:180/Math.PI})},75738:function(b,y,e){var a=e(13354),t=Math.PI/180;a({target:"Math",stat:!0,forced:!0},{radians:function(s){return s*t}})},13322:function(b,y,e){var a=e(13354),t=e(15129);a({target:"Math",stat:!0,forced:!0},{scale:t})},64748:function(b,y,e){var a=e(13354),t=e(78958),o=e(54633),s=e(87821),n=e(76835),d=e(71584),l="Seeded Random",c=l+" Generator",m='Math.seededPRNG() argument should have a "seed" field with a finite value.',g=d.set,M=d.getterFor(c),h=TypeError,S=s(function(x){g(this,{type:c,seed:x%2147483647})},l,function(){var x=M(this),z=x.seed=(x.seed*1103515245+12345)%2147483647;return n((z&1073741823)/1073741823,!1)});a({target:"Math",stat:!0,forced:!0},{seededPRNG:function(x){var z=t(x).seed;if(!o(z))throw h(m);return new S(z)}})},59048:function(b,y,e){var a=e(13354);a({target:"Math",stat:!0,forced:!0},{signbit:function(o){var s=+o;return s==s&&s==0?1/s==-1/0:s<0}})},25215:function(b,y,e){var a=e(13354);a({target:"Math",stat:!0,forced:!0},{umulh:function(o,s){var n=65535,d=+o,l=+s,c=d&n,m=l&n,g=d>>>16,M=l>>>16,h=(g*m>>>0)+(c*m>>>16);return g*M+(h>>>16)+((c*M>>>0)+(h&n)>>>16)}})},89495:function(b,y,e){"use strict";var a=e(13354),t=e(11700),o=e(68345),s=e(35323),n="Invalid number representation",d="Invalid radix",l=RangeError,c=SyntaxError,m=TypeError,g=/^[\da-z]+$/,M=t("".charAt),h=t(g.exec),S=t(1 .toString),w=t("".slice);a({target:"Number",stat:!0,forced:!0},{fromString:function(z,U){var T=1,N,Z;if(typeof z!="string")throw m(n);if(!z.length||M(z,0)=="-"&&(T=-1,z=w(z,1),!z.length))throw c(n);if(N=U===void 0?10:o(U),N<2||N>36)throw l(d);if(!h(g,z)||S(Z=s(z,N),N)!==z)throw c(n);return T*Z}})},78490:function(b,y,e){"use strict";var a=e(13354),t=e(73126);a({target:"Number",stat:!0,forced:!0},{range:function(s,n,d){return new t(s,n,d,"number",0,1)}})},11790:function(b,y,e){"use strict";var a=e(13354),t=e(65556);a({target:"Object",stat:!0,forced:!0},{iterateEntries:function(s){return new t(s,"entries")}})},52739:function(b,y,e){"use strict";var a=e(13354),t=e(65556);a({target:"Object",stat:!0,forced:!0},{iterateKeys:function(s){return new t(s,"keys")}})},96847:function(b,y,e){"use strict";var a=e(13354),t=e(65556);a({target:"Object",stat:!0,forced:!0},{iterateValues:function(s){return new t(s,"values")}})},8120:function(b,y,e){"use strict";var a=e(13354),t=e(68029),o=e(57759),s=e(51309),n=e(31927),d=e(78958),l=e(92453),c=e(6508),m=e(74883),g=e(33225),M=e(15931),h=e(28621),S=e(3313),w=e(2265),x=e(3234),z=e(77740),U=e(71584),T=e(88818),N=z("observable"),Z="Observable",D="Subscription",L="SubscriptionObserver",j=U.getterFor,G=U.set,W=j(Z),ne=j(D),_=j(L),ee=function(O){this.observer=d(O),this.cleanup=void 0,this.subscriptionObserver=void 0};ee.prototype={type:D,clean:function(){var O=this.cleanup;if(O){this.cleanup=void 0;try{O()}catch(H){x(H)}}},close:function(){if(!o){var O=this.facade,H=this.subscriptionObserver;O.closed=!0,H&&(H.closed=!0)}this.observer=void 0},isClosed:function(){return this.observer===void 0}};var se=function(O,H){var k=G(this,new ee(O)),A;o||(this.closed=!1);try{(A=M(O,"start"))&&t(A,O,this)}catch(ve){x(ve)}if(!k.isClosed()){var Y=k.subscriptionObserver=new Q(k);try{var de=H(Y),me=de;m(de)||(k.cleanup=c(de.unsubscribe)?function(){me.unsubscribe()}:n(de))}catch(ve){Y.error(ve);return}k.isClosed()&&k.clean()}};se.prototype=S({},{unsubscribe:function(){var H=ne(this);H.isClosed()||(H.close(),H.clean())}}),o&&w(se.prototype,"closed",{configurable:!0,get:function(){return ne(this).isClosed()}});var Q=function(O){G(this,{type:L,subscriptionState:O}),o||(this.closed=!1)};Q.prototype=S({},{next:function(H){var k=_(this).subscriptionState;if(!k.isClosed()){var A=k.observer;try{var Y=M(A,"next");Y&&t(Y,A,H)}catch(de){x(de)}}},error:function(H){var k=_(this).subscriptionState;if(!k.isClosed()){var A=k.observer;k.close();try{var Y=M(A,"error");Y?t(Y,A,H):x(H)}catch(de){x(de)}k.clean()}},complete:function(){var H=_(this).subscriptionState;if(!H.isClosed()){var k=H.observer;H.close();try{var A=M(k,"complete");A&&t(A,k)}catch(Y){x(Y)}H.clean()}}}),o&&w(Q.prototype,"closed",{configurable:!0,get:function(){return _(this).subscriptionState.isClosed()}});var C=function(H){l(this,X),G(this,{type:Z,subscriber:n(H)})},X=C.prototype;S(X,{subscribe:function(H){var k=arguments.length;return new se(c(H)?{next:H,error:k>1?arguments[1]:void 0,complete:k>2?arguments[2]:void 0}:g(H)?H:{},W(this).subscriber)}}),h(X,N,function(){return this}),a({global:!0,constructor:!0,forced:T},{Observable:C}),s(Z)},11341:function(b,y,e){"use strict";var a=e(13354),t=e(42725),o=e(68029),s=e(78958),n=e(13893),d=e(64712),l=e(15931),c=e(95815),m=e(77740),g=e(88818),M=m("observable");a({target:"Observable",stat:!0,forced:g},{from:function(S){var w=n(this)?this:t("Observable"),x=l(s(S),M);if(x){var z=s(o(x,S));return z.constructor===w?z:new w(function(T){return z.subscribe(T)})}var U=d(S);return new w(function(T){c(U,function(N,Z){if(T.next(N),T.closed)return Z()},{IS_ITERATOR:!0,INTERRUPTED:!0}),T.complete()})}})},57099:function(b,y,e){e(8120),e(11341),e(21720)},21720:function(b,y,e){"use strict";var a=e(13354),t=e(42725),o=e(13893),s=e(88818),n=t("Array");a({target:"Observable",stat:!0,forced:s},{of:function(){for(var l=o(this)?this:t("Observable"),c=arguments.length,m=n(c),g=0;g1?arguments[1]:void 0);return s(l,function(m){if(!c(m,m,l))return!1},!0)!==!1}})},17960:function(b,y,e){"use strict";var a=e(13354),t=e(34066),o=e(77318),s=e(23313),n=e(22731),d=s.Set,l=s.add;a({target:"Set",proto:!0,real:!0,forced:!0},{filter:function(m){var g=o(this),M=t(m,arguments.length>1?arguments[1]:void 0),h=new d;return n(g,function(S){M(S,S,g)&&l(h,S)}),h}})},25823:function(b,y,e){"use strict";var a=e(13354),t=e(34066),o=e(77318),s=e(22731);a({target:"Set",proto:!0,real:!0,forced:!0},{find:function(d){var l=o(this),c=t(d,arguments.length>1?arguments[1]:void 0),m=s(l,function(g){if(c(g,g,l))return{value:g}},!0);return m&&m.value}})},56133:function(b,y,e){var a=e(13354),t=e(67640);a({target:"Set",stat:!0,forced:!0},{from:t})},6762:function(b,y,e){"use strict";var a=e(13354),t=e(68029),o=e(74089),s=e(51737);a({target:"Set",proto:!0,real:!0,forced:!0},{intersection:function(d){return t(s,this,o(d))}})},60682:function(b,y,e){var a=e(13354),t=e(51737),o=e(82493);a({target:"Set",proto:!0,real:!0,forced:!o("intersection")},{intersection:t})},36925:function(b,y,e){"use strict";var a=e(13354),t=e(68029),o=e(74089),s=e(46149);a({target:"Set",proto:!0,real:!0,forced:!0},{isDisjointFrom:function(d){return t(s,this,o(d))}})},65107:function(b,y,e){var a=e(13354),t=e(46149),o=e(82493);a({target:"Set",proto:!0,real:!0,forced:!o("isDisjointFrom")},{isDisjointFrom:t})},9882:function(b,y,e){"use strict";var a=e(13354),t=e(68029),o=e(74089),s=e(99527);a({target:"Set",proto:!0,real:!0,forced:!0},{isSubsetOf:function(d){return t(s,this,o(d))}})},31772:function(b,y,e){var a=e(13354),t=e(99527),o=e(82493);a({target:"Set",proto:!0,real:!0,forced:!o("isSubsetOf")},{isSubsetOf:t})},95344:function(b,y,e){"use strict";var a=e(13354),t=e(68029),o=e(74089),s=e(20698);a({target:"Set",proto:!0,real:!0,forced:!0},{isSupersetOf:function(d){return t(s,this,o(d))}})},19453:function(b,y,e){var a=e(13354),t=e(20698),o=e(82493);a({target:"Set",proto:!0,real:!0,forced:!o("isSupersetOf")},{isSupersetOf:t})},51301:function(b,y,e){"use strict";var a=e(13354),t=e(11700),o=e(77318),s=e(22731),n=e(68424),d=t([].join),l=t([].push);a({target:"Set",proto:!0,real:!0,forced:!0},{join:function(m){var g=o(this),M=m===void 0?",":n(m),h=[];return s(g,function(S){l(h,S)}),d(h,M)}})},71395:function(b,y,e){"use strict";var a=e(13354),t=e(34066),o=e(77318),s=e(23313),n=e(22731),d=s.Set,l=s.add;a({target:"Set",proto:!0,real:!0,forced:!0},{map:function(m){var g=o(this),M=t(m,arguments.length>1?arguments[1]:void 0),h=new d;return n(g,function(S){l(h,M(S,S,g))}),h}})},38054:function(b,y,e){var a=e(13354),t=e(55042);a({target:"Set",stat:!0,forced:!0},{of:t})},92141:function(b,y,e){"use strict";var a=e(13354),t=e(31927),o=e(77318),s=e(22731),n=TypeError;a({target:"Set",proto:!0,real:!0,forced:!0},{reduce:function(l){var c=o(this),m=arguments.length<2,g=m?void 0:arguments[1];if(t(l),s(c,function(M){m?(m=!1,g=M):g=l(g,M,M,c)}),m)throw n("Reduce of empty set with no initial value");return g}})},95396:function(b,y,e){"use strict";var a=e(13354),t=e(34066),o=e(77318),s=e(22731);a({target:"Set",proto:!0,real:!0,forced:!0},{some:function(d){var l=o(this),c=t(d,arguments.length>1?arguments[1]:void 0);return s(l,function(m){if(c(m,m,l))return!0},!0)===!0}})},11859:function(b,y,e){"use strict";var a=e(13354),t=e(68029),o=e(74089),s=e(52100);a({target:"Set",proto:!0,real:!0,forced:!0},{symmetricDifference:function(d){return t(s,this,o(d))}})},13409:function(b,y,e){var a=e(13354),t=e(52100),o=e(82493);a({target:"Set",proto:!0,real:!0,forced:!o("symmetricDifference")},{symmetricDifference:t})},4681:function(b,y,e){"use strict";var a=e(13354),t=e(68029),o=e(74089),s=e(45953);a({target:"Set",proto:!0,real:!0,forced:!0},{union:function(d){return t(s,this,o(d))}})},51113:function(b,y,e){var a=e(13354),t=e(45953),o=e(82493);a({target:"Set",proto:!0,real:!0,forced:!o("union")},{union:t})},15307:function(b,y,e){"use strict";var a=e(13354),t=e(81673).charAt,o=e(12105),s=e(68345),n=e(68424);a({target:"String",proto:!0,forced:!0},{at:function(l){var c=n(o(this)),m=c.length,g=s(l),M=g>=0?g:m+g;return M<0||M>=m?void 0:t(c,M)}})},36879:function(b,y,e){"use strict";var a=e(13354),t=e(87821),o=e(76835),s=e(12105),n=e(68424),d=e(71584),l=e(81673),c=l.codeAt,m=l.charAt,g="String Iterator",M=d.set,h=d.getterFor(g),S=t(function(x){M(this,{type:g,string:x,index:0})},"String",function(){var x=h(this),z=x.string,U=x.index,T;return U>=z.length?o(void 0,!0):(T=m(z,U),x.index+=T.length,o({codePoint:c(T,0),position:U},!1))});a({target:"String",proto:!0,forced:!0},{codePoints:function(){return new S(n(s(this)))}})},27008:function(b,y,e){var a=e(13354),t=e(85650);a({target:"String",stat:!0,forced:!0},{cooked:t})},91345:function(b,y,e){"use strict";var a=e(81506),t=e(13354),o=e(71980),s=e(42725),n=e(70377),d=e(11700),l=e(59178),c=e(78958),m=e(64441),g=e(6508),M=e(89122),h=e(38248).f,S=e(81469),w=e(85650),x=e(81089),z=e(91289),U=s("WeakMap"),T=o("GlobalDedentRegistry",new U);T.has=T.has,T.get=T.get,T.set=T.set;var N=Array,Z=TypeError,D=Object.freeze||Object,L=Object.isFrozen,j=Math.min,G=d("".charAt),W=d("".slice),ne=d("".split),_=d(/./.exec),ee=/([\n\u2028\u2029]|\r\n?)/g,se=RegExp("^["+z+"]*"),Q=RegExp("[^"+z+"]"),C="Invalid tag",X="Invalid opening line",O="Invalid closing line",H=function(ve){var be=ve.raw;if(a&&!L(be))throw Z("Raw template should be frozen");if(T.has(be))return T.get(be);var Pe=k(be),Je=Y(Pe);return h(Je,"raw",{value:D(Pe)}),D(Je),T.set(be,Je),Je},k=function(ve){var be=m(ve),Pe=M(be),Je=N(Pe),qe=N(Pe),Xe=0,mt,Ct;if(!Pe)throw Z(C);for(;Xe0)throw Z(X);mt[1]=""}if(Ht){if(mt.length===1||_(Q,mt[mt.length-1]))throw Z(O);mt[mt.length-2]="",mt[mt.length-1]=""}for(var ke=2;ke=56320||++m>=c||(n(l,m)&64512)!=56320))return!1}return!0}})},5744:function(b,y,e){"use strict";var a=e(13354),t=e(68029),o=e(11700),s=e(12105),n=e(68424),d=e(77149),l=Array,c=o("".charAt),m=o("".charCodeAt),g=o([].join),M="".toWellFormed,h="\uFFFD",S=M&&d(function(){return t(M,1)!=="1"});a({target:"String",proto:!0,forced:S},{toWellFormed:function(){var x=n(s(this));if(S)return t(M,x);for(var z=x.length,U=l(z),T=0;T=56320||T+1>=z||(m(x,T+1)&64512)!=56320?U[T]=h:(U[T]=c(x,T),U[++T]=c(x,T))}return g(U,"")}})},2017:function(b,y,e){"use strict";var a=e(13354),t=e(72901),o=e(77767),s=e(63332),n=e(81732),d=e(34552),l=e(5927),c=e(87971),m=e(96410),g=e(9280),M=e(77740),h=M("toStringTag"),S=Error,w=function(U,T,N){var Z=t(x,this),D;return s?D=s(S(),Z?o(this):x):(D=Z?this:d(x),l(D,h,"Error")),N!==void 0&&l(D,"message",g(N)),m(D,w,D.stack,1),l(D,"error",U),l(D,"suppressed",T),D};s?s(w,S):n(w,S,{name:!0});var x=w.prototype=d(S.prototype,{constructor:c(1,w),message:c(1,""),name:c(1,"SuppressedError")});a({global:!0,constructor:!0,arity:3},{SuppressedError:w})},12447:function(b,y,e){var a=e(78186);a("asyncDispose")},50706:function(b,y,e){var a=e(78186);a("dispose")},80593:function(b,y,e){var a=e(13354),t=e(42725),o=e(11700),s=t("Symbol"),n=s.keyFor,d=o(s.prototype.valueOf);a({target:"Symbol",stat:!0},{isRegistered:function(c){try{return n(d(c))!==void 0}catch(m){return!1}}})},41693:function(b,y,e){for(var a=e(13354),t=e(71980),o=e(42725),s=e(11700),n=e(59549),d=e(77740),l=o("Symbol"),c=l.isWellKnown,m=o("Object","getOwnPropertyNames"),g=s(l.prototype.valueOf),M=t("wks"),h=0,S=m(l),w=S.length;h1?arguments[1]:void 0);return o(this,c)},!0)},73165:function(b,y,e){"use strict";var a=e(94641),t=e(44708).filterReject,o=e(64395),s=a.aTypedArray,n=a.exportTypedArrayMethod;n("filterReject",function(l){var c=t(s(this),l,arguments.length>1?arguments[1]:void 0);return o(this,c)},!0)},56390:function(b,y,e){"use strict";var a=e(42725),t=e(89764),o=e(44594),s=e(94641),n=e(50112),d=s.aTypedArrayConstructor,l=s.exportTypedArrayStaticMethod;l("fromAsync",function(m){var g=this,M=arguments.length,h=M>1?arguments[1]:void 0,S=M>2?arguments[2]:void 0;return new(a("Promise"))(function(w){t(g),w(o(m,h,S))}).then(function(w){return n(d(g),w)})},!0)},20233:function(b,y,e){"use strict";var a=e(94641),t=e(69093),o=e(93947),s=a.aTypedArray,n=a.exportTypedArrayMethod;n("groupBy",function(l){var c=arguments.length>1?arguments[1]:void 0;return t(s(this),l,c,o)},!0)},18444:function(b,y,e){"use strict";var a=e(94641),t=e(89122),o=e(30879),s=e(71410),n=e(28046),d=e(68345),l=e(77149),c=a.aTypedArray,m=a.getTypedArrayConstructor,g=a.exportTypedArrayMethod,M=Math.max,h=Math.min,S=!l(function(){var w=new Int8Array([1]),x=w.toSpliced(1,0,{valueOf:function(){return w[0]=2,3}});return x[0]!==2||x[1]!==3});g("toSpliced",function(x,z){var U=c(this),T=m(U),N=t(U),Z=s(x,N),D=arguments.length,L=0,j,G,W,ne,_,ee,se;if(D===0)j=G=0;else if(D===1)j=0,G=N-Z;else if(G=h(M(d(z),0),N-Z),j=D-2,j){ne=new T(j),W=o(ne);for(var Q=2;Q1&&!g(arguments[1])?w(arguments[1]):void 0,le=Ee?Ee.transfer:void 0,Ne;return le!==void 0&&(Ne=new Pe,oe(le,Ne)),re(ue,Ne)}})},81474:function(b,y,e){"use strict";var a=e(90894),t=e(8197),o=e(56265),s=e(20610),n=e(13),d=b.exports=function(l,c){var m,g,M,h,S;return arguments.length<2||typeof l!="string"?(h=c,c=l,l=null):h=arguments[2],a(l)?(m=n.call(l,"c"),g=n.call(l,"e"),M=n.call(l,"w")):(m=M=!0,g=!1),S={value:c,configurable:m,enumerable:g,writable:M},h?o(s(h),S):S};d.gs=function(l,c,m){var g,M,h,S;return typeof l!="string"?(h=m,m=c,c=l,l=null):h=arguments[3],a(c)?t(c)?a(m)?t(m)||(h=m,m=void 0):m=void 0:(h=c,c=m=void 0):c=void 0,a(l)?(g=n.call(l,"c"),M=n.call(l,"e")):(g=!0,M=!1),S={get:c,set:m,configurable:g,enumerable:M},h?o(s(h),S):S}},65140:function(b){"use strict";var y="%[a-f0-9]{2}",e=new RegExp("("+y+")|([^%]+?)","gi"),a=new RegExp("("+y+")+","gi");function t(n,d){try{return[decodeURIComponent(n.join(""))]}catch(m){}if(n.length===1)return n;d=d||1;var l=n.slice(0,d),c=n.slice(d);return Array.prototype.concat.call([],t(l),t(c))}function o(n){try{return decodeURIComponent(n)}catch(c){for(var d=n.match(e)||[],l=1;l1&&arguments[1]!==void 0?arguments[1]:s;if(t){var m={match:function(){l&&l(!0)},unmatch:function(){l&&l()}};return t.register(c,m),m}}function d(l){var c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:s;t&&t.unregister(c,l)}a=t},20699:function(b,y,e){var a=e(66835),t=e(54802).each;function o(s,n){this.query=s,this.isUnconditional=n,this.handlers=[],this.mql=window.matchMedia(s);var d=this;this.listener=function(l){d.mql=l.currentTarget||l,d.assess()},this.mql.addListener(this.listener)}o.prototype={constuctor:o,addHandler:function(s){var n=new a(s);this.handlers.push(n),this.matches()&&n.on()},removeHandler:function(s){var n=this.handlers;t(n,function(d,l){if(d.equals(s))return d.destroy(),!n.splice(l,1)})},matches:function(){return this.mql.matches||this.isUnconditional},clear:function(){t(this.handlers,function(s){s.destroy()}),this.mql.removeListener(this.listener),this.handlers.length=0},assess:function(){var s=this.matches()?"on":"off";t(this.handlers,function(n){n[s]()})}},b.exports=o},68323:function(b,y,e){var a=e(20699),t=e(54802),o=t.each,s=t.isFunction,n=t.isArray;function d(){if(!window.matchMedia)throw new Error("matchMedia not present, legacy browsers require a polyfill");this.queries={},this.browserIsIncapable=!window.matchMedia("only all").matches}d.prototype={constructor:d,register:function(l,c,m){var g=this.queries,M=m&&this.browserIsIncapable;return g[l]||(g[l]=new a(l,M)),s(c)&&(c={match:c}),n(c)||(c=[c]),o(c,function(h){s(h)&&(h={match:h}),g[l].addHandler(h)}),this},unregister:function(l,c){var m=this.queries[l];return m&&(c?m.removeHandler(c):(m.clear(),delete this.queries[l])),this}},b.exports=d},66835:function(b){function y(e){this.options=e,!e.deferSetup&&this.setup()}y.prototype={constructor:y,setup:function(){this.options.setup&&this.options.setup(),this.initialised=!0},on:function(){!this.initialised&&this.setup(),this.options.match&&this.options.match()},off:function(){this.options.unmatch&&this.options.unmatch()},destroy:function(){this.options.destroy?this.options.destroy():this.off()},equals:function(e){return this.options===e||this.options.match===e}},b.exports=y},54802:function(b){function y(t,o){var s=0,n=t.length,d;for(s;s-1}},87308:function(b,y,e){"use strict";var a=e(81474),t=e(54550),o=Function.prototype.apply,s=Function.prototype.call,n=Object.create,d=Object.defineProperty,l=Object.defineProperties,c=Object.prototype.hasOwnProperty,m={configurable:!0,enumerable:!1,writable:!0},g,M,h,S,w,x,z;g=function(U,T){var N;return t(T),c.call(this,"__ee__")?N=this.__ee__:(N=m.value=n(null),d(this,"__ee__",m),m.value=null),N[U]?typeof N[U]=="object"?N[U].push(T):N[U]=[N[U],T]:N[U]=T,this},M=function(U,T){var N,Z;return t(T),Z=this,g.call(this,U,N=function(){h.call(Z,U,N),o.call(T,this,arguments)}),N.__eeOnceListener__=T,this},h=function(U,T){var N,Z,D,L;if(t(T),!c.call(this,"__ee__"))return this;if(N=this.__ee__,!N[U])return this;if(Z=N[U],typeof Z=="object")for(L=0;D=Z[L];++L)(D===T||D.__eeOnceListener__===T)&&(Z.length===2?N[U]=Z[L?0:1]:Z.splice(L,1));else(Z===T||Z.__eeOnceListener__===T)&&delete N[U];return this},S=function(U){var T,N,Z,D,L;if(c.call(this,"__ee__")&&(D=this.__ee__[U],!!D))if(typeof D=="object"){for(N=arguments.length,L=new Array(N-1),T=1;T=0&&(T.hash=U.substr(N),U=U.substr(0,N));var Z=U.indexOf("?");Z>=0&&(T.search=U.substr(Z),U=U.substr(0,Z)),U&&(T.pathname=U)}return T}},10063:function(b,y,e){"use strict";var a=e(99415),t={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},s={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},n={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},d={};d[a.ForwardRef]=s,d[a.Memo]=n;function l(x){return a.isMemo(x)?n:d[x.$$typeof]||t}var c=Object.defineProperty,m=Object.getOwnPropertyNames,g=Object.getOwnPropertySymbols,M=Object.getOwnPropertyDescriptor,h=Object.getPrototypeOf,S=Object.prototype;function w(x,z,U){if(typeof z!="string"){if(S){var T=h(z);T&&T!==S&&w(x,T,U)}var N=m(z);g&&(N=N.concat(g(z)));for(var Z=l(x),D=l(z),L=0;L>1,g=-7,M=t?s-1:0,h=t?-1:1,S=e[a+M];for(M+=h,n=S&(1<<-g)-1,S>>=-g,g+=l;g>0;n=n*256+e[a+M],M+=h,g-=8);for(d=n&(1<<-g)-1,n>>=-g,g+=o;g>0;d=d*256+e[a+M],M+=h,g-=8);if(n===0)n=1-m;else{if(n===c)return d?NaN:(S?-1:1)*(1/0);d=d+Math.pow(2,o),n=n-m}return(S?-1:1)*d*Math.pow(2,n-o)},y.write=function(e,a,t,o,s,n){var d,l,c,m=n*8-s-1,g=(1<>1,h=s===23?Math.pow(2,-24)-Math.pow(2,-77):0,S=o?0:n-1,w=o?1:-1,x=a<0||a===0&&1/a<0?1:0;for(a=Math.abs(a),isNaN(a)||a===1/0?(l=isNaN(a)?1:0,d=g):(d=Math.floor(Math.log(a)/Math.LN2),a*(c=Math.pow(2,-d))<1&&(d--,c*=2),d+M>=1?a+=h/c:a+=h*Math.pow(2,1-M),a*c>=2&&(d++,c/=2),d+M>=g?(l=0,d=g):d+M>=1?(l=(a*c-1)*Math.pow(2,s),d=d+M):(l=a*Math.pow(2,M-1)*Math.pow(2,s),d=0));s>=8;e[t+S]=l&255,S+=w,l/=256,s-=8);for(d=d<0;e[t+S]=d&255,S+=w,d/=256,m-=8);e[t+S-w]|=x*128}},21700:function(b){"use strict";var y=function(e,a,t,o,s,n,d,l){if(!e){var c;if(a===void 0)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var m=[t,o,s,n,d,l],g=0;c=new Error(a.replace(/%s/g,function(){return m[g++]})),c.name="Invariant Violation"}throw c.framesToPop=1,c}};b.exports=y},23161:function(b){var y={}.toString;b.exports=Array.isArray||function(e){return y.call(e)=="[object Array]"}},61012:function(b,y,e){var a=1/0,t="[object Symbol]",o=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,s=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,n="\\ud800-\\udfff",d="\\u0300-\\u036f\\ufe20-\\ufe23",l="\\u20d0-\\u20f0",c="\\u2700-\\u27bf",m="a-z\\xdf-\\xf6\\xf8-\\xff",g="\\xac\\xb1\\xd7\\xf7",M="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",h="\\u2000-\\u206f",S=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",w="A-Z\\xc0-\\xd6\\xd8-\\xde",x="\\ufe0e\\ufe0f",z=g+M+h+S,U="['\u2019]",T="["+n+"]",N="["+z+"]",Z="["+d+l+"]",D="\\d+",L="["+c+"]",j="["+m+"]",G="[^"+n+z+D+c+m+w+"]",W="\\ud83c[\\udffb-\\udfff]",ne="(?:"+Z+"|"+W+")",_="[^"+n+"]",ee="(?:\\ud83c[\\udde6-\\uddff]){2}",se="[\\ud800-\\udbff][\\udc00-\\udfff]",Q="["+w+"]",C="\\u200d",X="(?:"+j+"|"+G+")",O="(?:"+Q+"|"+G+")",H="(?:"+U+"(?:d|ll|m|re|s|t|ve))?",k="(?:"+U+"(?:D|LL|M|RE|S|T|VE))?",A=ne+"?",Y="["+x+"]?",de="(?:"+C+"(?:"+[_,ee,se].join("|")+")"+Y+A+")*",me=Y+A+de,ve="(?:"+[L,ee,se].join("|")+")"+me,be="(?:"+[_+Z+"?",Z,ee,se,T].join("|")+")",Pe=RegExp(U,"g"),Je=RegExp(Z,"g"),qe=RegExp(W+"(?="+W+")|"+be+me,"g"),Xe=RegExp([Q+"?"+j+"+"+H+"(?="+[N,Q,"$"].join("|")+")",O+"+"+k+"(?="+[N,Q+X,"$"].join("|")+")",Q+"?"+X+"+"+H,Q+"+"+k,D,ve].join("|"),"g"),mt=RegExp("["+C+n+d+l+x+"]"),Ct=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,vt={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"ss"},Ht=typeof e.g=="object"&&e.g&&e.g.Object===Object&&e.g,ke=typeof self=="object"&&self&&self.Object===Object&&self,Ve=Ht||ke||Function("return this")();function ot(We,Be,it,Ge){var Ot=-1,$t=We?We.length:0;for(Ge&&$t&&(it=We[++Ot]);++Ot<$t;)it=Be(it,We[Ot],Ot,We);return it}function Ke(We){return We.split("")}function he(We){return We.match(o)||[]}function J(We){return function(Be){return We==null?void 0:We[Be]}}var V=J(vt);function R(We){return mt.test(We)}function P(We){return Ct.test(We)}function B(We){return R(We)?ge(We):Ke(We)}function ge(We){return We.match(qe)||[]}function ie(We){return We.match(Xe)||[]}var pe=Object.prototype,Oe=pe.toString,xe=Ve.Symbol,Se=xe?xe.prototype:void 0,$e=Se?Se.toString:void 0;function re(We,Be,it){var Ge=-1,Ot=We.length;Be<0&&(Be=-Be>Ot?0:Ot+Be),it=it>Ot?Ot:it,it<0&&(it+=Ot),Ot=Be>it?0:it-Be>>>0,Be>>>=0;for(var $t=Array(Ot);++Ge=Ge?We:re(We,Be,it)}function ue(We){return function(Be){Be=Ae(Be);var it=R(Be)?B(Be):void 0,Ge=it?it[0]:Be.charAt(0),Ot=it?q(it,1).join(""):Be.slice(1);return Ge[We]()+Ot}}function Ee(We){return function(Be){return ot(_e(st(Be).replace(Pe,"")),We,"")}}function le(We){return!!We&&typeof We=="object"}function Ne(We){return typeof We=="symbol"||le(We)&&Oe.call(We)==t}function Ae(We){return We==null?"":oe(We)}var we=Ee(function(We,Be,it){return Be=Be.toLowerCase(),We+(it?Re(Be):Be)});function Re(We){return nt(Ae(We).toLowerCase())}function st(We){return We=Ae(We),We&&We.replace(s,V).replace(Je,"")}var nt=ue("toUpperCase");function _e(We,Be,it){return We=Ae(We),Be=it?void 0:Be,Be===void 0?P(We)?ie(We):he(We):We.match(Be)||[]}b.exports=we},51899:function(b,y,e){var a="Expected a function",t=NaN,o="[object Symbol]",s=/^\s+|\s+$/g,n=/^[-+]0x[0-9a-f]+$/i,d=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt,m=typeof e.g=="object"&&e.g&&e.g.Object===Object&&e.g,g=typeof self=="object"&&self&&self.Object===Object&&self,M=m||g||Function("return this")(),h=Object.prototype,S=h.toString,w=Math.max,x=Math.min,z=function(){return M.Date.now()};function U(L,j,G){var W,ne,_,ee,se,Q,C=0,X=!1,O=!1,H=!0;if(typeof L!="function")throw new TypeError(a);j=D(j)||0,T(G)&&(X=!!G.leading,O="maxWait"in G,_=O?w(D(G.maxWait)||0,j):_,H="trailing"in G?!!G.trailing:H);function k(qe){var Xe=W,mt=ne;return W=ne=void 0,C=qe,ee=L.apply(mt,Xe),ee}function A(qe){return C=qe,se=setTimeout(me,j),X?k(qe):ee}function Y(qe){var Xe=qe-Q,mt=qe-C,Ct=j-Xe;return O?x(Ct,_-mt):Ct}function de(qe){var Xe=qe-Q,mt=qe-C;return Q===void 0||Xe>=j||Xe<0||O&&mt>=_}function me(){var qe=z();if(de(qe))return ve(qe);se=setTimeout(me,Y(qe))}function ve(qe){return se=void 0,H&&W?k(qe):(W=ne=void 0,ee)}function be(){se!==void 0&&clearTimeout(se),C=0,W=Q=ne=se=void 0}function Pe(){return se===void 0?ee:ve(z())}function Je(){var qe=z(),Xe=de(qe);if(W=arguments,ne=this,Q=qe,Xe){if(se===void 0)return A(Q);if(O)return se=setTimeout(me,j),k(Q)}return se===void 0&&(se=setTimeout(me,j)),ee}return Je.cancel=be,Je.flush=Pe,Je}function T(L){var j=typeof L;return!!L&&(j=="object"||j=="function")}function N(L){return!!L&&typeof L=="object"}function Z(L){return typeof L=="symbol"||N(L)&&S.call(L)==o}function D(L){if(typeof L=="number")return L;if(Z(L))return t;if(T(L)){var j=typeof L.valueOf=="function"?L.valueOf():L;L=T(j)?j+"":j}if(typeof L!="string")return L===0?L:+L;L=L.replace(s,"");var G=d.test(L);return G||l.test(L)?c(L.slice(2),G?2:8):n.test(L)?t:+L}b.exports=U},14978:function(b,y,e){var a="Expected a function",t=NaN,o="[object Symbol]",s=/^\s+|\s+$/g,n=/^[-+]0x[0-9a-f]+$/i,d=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt,m=typeof e.g=="object"&&e.g&&e.g.Object===Object&&e.g,g=typeof self=="object"&&self&&self.Object===Object&&self,M=m||g||Function("return this")(),h=Object.prototype,S=h.toString,w=Math.max,x=Math.min,z=function(){return M.Date.now()};function U(j,G,W){var ne,_,ee,se,Q,C,X=0,O=!1,H=!1,k=!0;if(typeof j!="function")throw new TypeError(a);G=L(G)||0,N(W)&&(O=!!W.leading,H="maxWait"in W,ee=H?w(L(W.maxWait)||0,G):ee,k="trailing"in W?!!W.trailing:k);function A(Xe){var mt=ne,Ct=_;return ne=_=void 0,X=Xe,se=j.apply(Ct,mt),se}function Y(Xe){return X=Xe,Q=setTimeout(ve,G),O?A(Xe):se}function de(Xe){var mt=Xe-C,Ct=Xe-X,vt=G-mt;return H?x(vt,ee-Ct):vt}function me(Xe){var mt=Xe-C,Ct=Xe-X;return C===void 0||mt>=G||mt<0||H&&Ct>=ee}function ve(){var Xe=z();if(me(Xe))return be(Xe);Q=setTimeout(ve,de(Xe))}function be(Xe){return Q=void 0,k&&ne?A(Xe):(ne=_=void 0,se)}function Pe(){Q!==void 0&&clearTimeout(Q),X=0,ne=C=_=Q=void 0}function Je(){return Q===void 0?se:be(z())}function qe(){var Xe=z(),mt=me(Xe);if(ne=arguments,_=this,C=Xe,mt){if(Q===void 0)return Y(C);if(H)return Q=setTimeout(ve,G),A(C)}return Q===void 0&&(Q=setTimeout(ve,G)),se}return qe.cancel=Pe,qe.flush=Je,qe}function T(j,G,W){var ne=!0,_=!0;if(typeof j!="function")throw new TypeError(a);return N(W)&&(ne="leading"in W?!!W.leading:ne,_="trailing"in W?!!W.trailing:_),U(j,G,{leading:ne,maxWait:G,trailing:_})}function N(j){var G=typeof j;return!!j&&(G=="object"||G=="function")}function Z(j){return!!j&&typeof j=="object"}function D(j){return typeof j=="symbol"||Z(j)&&S.call(j)==o}function L(j){if(typeof j=="number")return j;if(D(j))return t;if(N(j)){var G=typeof j.valueOf=="function"?j.valueOf():j;j=N(G)?G+"":G}if(typeof j!="string")return j===0?j:+j;j=j.replace(s,"");var W=d.test(j);return W||l.test(j)?c(j.slice(2),W?2:8):n.test(j)?t:+j}b.exports=T},94466:function(b,y,e){var a=e(65234),t=e(83250),o=a(t,"DataView");b.exports=o},85208:function(b,y,e){var a=e(34440),t=e(84108),o=e(61085),s=e(77706),n=e(8636);function d(l){var c=-1,m=l==null?0:l.length;for(this.clear();++cw))return!1;var z=h.get(l),U=h.get(c);if(z&&U)return z==c&&U==l;var T=-1,N=!0,Z=m&n?new a:void 0;for(h.set(l,c),h.set(c,l);++T-1&&t%1==0&&t-1}b.exports=t},67690:function(b,y,e){var a=e(18498);function t(o,s){var n=this.__data__,d=a(n,o);return d<0?(++this.size,n.push([o,s])):n[d][1]=s,this}b.exports=t},39016:function(b,y,e){var a=e(85208),t=e(81998),o=e(72887);function s(){this.size=0,this.__data__={hash:new a,map:new(o||t),string:new a}}b.exports=s},62363:function(b,y,e){var a=e(77570);function t(o){var s=a(this,o).delete(o);return this.size-=s?1:0,s}b.exports=t},64348:function(b,y,e){var a=e(77570);function t(o){return a(this,o).get(o)}b.exports=t},53062:function(b,y,e){var a=e(77570);function t(o){return a(this,o).has(o)}b.exports=t},30262:function(b,y,e){var a=e(77570);function t(o,s){var n=a(this,o),d=n.size;return n.set(o,s),this.size+=n.size==d?0:1,this}b.exports=t},81140:function(b){function y(e){var a=-1,t=Array(e.size);return e.forEach(function(o,s){t[++a]=[s,o]}),t}b.exports=y},24545:function(b,y,e){var a=e(65234),t=a(Object,"create");b.exports=t},82825:function(b,y,e){var a=e(33540),t=a(Object.keys,Object);b.exports=t},8690:function(b,y,e){b=e.nmd(b);var a=e(20302),t=y&&!y.nodeType&&y,o=t&&!0&&b&&!b.nodeType&&b,s=o&&o.exports===t,n=s&&a.process,d=function(){try{var l=o&&o.require&&o.require("util").types;return l||n&&n.binding&&n.binding("util")}catch(c){}}();b.exports=d},25151:function(b){var y=Object.prototype,e=y.toString;function a(t){return e.call(t)}b.exports=a},33540:function(b){function y(e,a){return function(t){return e(a(t))}}b.exports=y},83250:function(b,y,e){var a=e(20302),t=typeof self=="object"&&self&&self.Object===Object&&self,o=a||t||Function("return this")();b.exports=o},83937:function(b){var y="__lodash_hash_undefined__";function e(a){return this.__data__.set(a,y),this}b.exports=e},15009:function(b){function y(e){return this.__data__.has(e)}b.exports=y},77969:function(b){function y(e){var a=-1,t=Array(e.size);return e.forEach(function(o){t[++a]=o}),t}b.exports=y},93210:function(b,y,e){var a=e(81998);function t(){this.__data__=new a,this.size=0}b.exports=t},48603:function(b){function y(e){var a=this.__data__,t=a.delete(e);return this.size=a.size,t}b.exports=y},38947:function(b){function y(e){return this.__data__.get(e)}b.exports=y},70885:function(b){function y(e){return this.__data__.has(e)}b.exports=y},98938:function(b,y,e){var a=e(81998),t=e(72887),o=e(95678),s=200;function n(d,l){var c=this.__data__;if(c instanceof a){var m=c.__data__;if(!t||m.length=m||C<0||N&&X>=S}function W(){var Q=t();if(G(Q))return ne(Q);x=setTimeout(W,j(Q))}function ne(Q){return x=void 0,Z&&M?D(Q):(M=h=void 0,w)}function _(){x!==void 0&&clearTimeout(x),U=0,M=z=h=x=void 0}function ee(){return x===void 0?w:ne(t())}function se(){var Q=t(),C=G(Q);if(M=arguments,h=this,z=Q,C){if(x===void 0)return L(z);if(N)return clearTimeout(x),x=setTimeout(W,m),D(z)}return x===void 0&&(x=setTimeout(W,m)),w}return se.cancel=_,se.flush=ee,se}b.exports=l},58260:function(b){function y(e,a){return e===a||e!==e&&a!==a}b.exports=y},79312:function(b,y,e){var a=e(33016),t=e(50440),o=Object.prototype,s=o.hasOwnProperty,n=o.propertyIsEnumerable,d=a(function(){return arguments}())?a:function(l){return t(l)&&s.call(l,"callee")&&!n.call(l,"callee")};b.exports=d},55589:function(b){var y=Array.isArray;b.exports=y},30568:function(b,y,e){var a=e(45563),t=e(66052);function o(s){return s!=null&&t(s.length)&&!a(s)}b.exports=o},85778:function(b,y,e){b=e.nmd(b);var a=e(83250),t=e(37999),o=y&&!y.nodeType&&y,s=o&&!0&&b&&!b.nodeType&&b,n=s&&s.exports===o,d=n?a.Buffer:void 0,l=d?d.isBuffer:void 0,c=l||t;b.exports=c},85466:function(b,y,e){var a=e(34662);function t(o,s){return a(o,s)}b.exports=t},45563:function(b,y,e){var a=e(69823),t=e(93702),o="[object AsyncFunction]",s="[object Function]",n="[object GeneratorFunction]",d="[object Proxy]";function l(c){if(!t(c))return!1;var m=a(c);return m==s||m==n||m==o||m==d}b.exports=l},66052:function(b){var y=9007199254740991;function e(a){return typeof a=="number"&&a>-1&&a%1==0&&a<=y}b.exports=e},93702:function(b){function y(e){var a=typeof e;return e!=null&&(a=="object"||a=="function")}b.exports=y},50440:function(b){function y(e){return e!=null&&typeof e=="object"}b.exports=y},52624:function(b,y,e){var a=e(69823),t=e(50440),o="[object Symbol]";function s(n){return typeof n=="symbol"||t(n)&&a(n)==o}b.exports=s},50922:function(b,y,e){var a=e(42448),t=e(31525),o=e(8690),s=o&&o.isTypedArray,n=s?t(s):a;b.exports=n},62096:function(b,y,e){var a=e(75825),t=e(41351),o=e(30568);function s(n){return o(n)?a(n):t(n)}b.exports=s},39378:function(b,y,e){b=e.nmd(b);var a;(function(){var t,o="4.17.21",s=200,n="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",d="Expected a function",l="Invalid `variable` option passed into `_.template`",c="__lodash_hash_undefined__",m=500,g="__lodash_placeholder__",M=1,h=2,S=4,w=1,x=2,z=1,U=2,T=4,N=8,Z=16,D=32,L=64,j=128,G=256,W=512,ne=30,_="...",ee=800,se=16,Q=1,C=2,X=3,O=1/0,H=9007199254740991,k=17976931348623157e292,A=0/0,Y=4294967295,de=Y-1,me=Y>>>1,ve=[["ary",j],["bind",z],["bindKey",U],["curry",N],["curryRight",Z],["flip",W],["partial",D],["partialRight",L],["rearg",G]],be="[object Arguments]",Pe="[object Array]",Je="[object AsyncFunction]",qe="[object Boolean]",Xe="[object Date]",mt="[object DOMException]",Ct="[object Error]",vt="[object Function]",Ht="[object GeneratorFunction]",ke="[object Map]",Ve="[object Number]",ot="[object Null]",Ke="[object Object]",he="[object Promise]",J="[object Proxy]",V="[object RegExp]",R="[object Set]",P="[object String]",B="[object Symbol]",ge="[object Undefined]",ie="[object WeakMap]",pe="[object WeakSet]",Oe="[object ArrayBuffer]",xe="[object DataView]",Se="[object Float32Array]",$e="[object Float64Array]",re="[object Int8Array]",oe="[object Int16Array]",q="[object Int32Array]",ue="[object Uint8Array]",Ee="[object Uint8ClampedArray]",le="[object Uint16Array]",Ne="[object Uint32Array]",Ae=/\b__p \+= '';/g,we=/\b(__p \+=) '' \+/g,Re=/(__e\(.*?\)|\b__t\)) \+\n'';/g,st=/&(?:amp|lt|gt|quot|#39);/g,nt=/[&<>"']/g,_e=RegExp(st.source),We=RegExp(nt.source),Be=/<%-([\s\S]+?)%>/g,it=/<%([\s\S]+?)%>/g,Ge=/<%=([\s\S]+?)%>/g,Ot=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,$t=/^\w*$/,wt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Pt=/[\\^$.*+?()[\]{}|]/g,dt=RegExp(Pt.source),je=/^\s+/,tt=/\s/,lt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,bt=/\{\n\/\* \[wrapped with (.+)\] \*/,It=/,? & /,Kt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,zt=/[()=,{}\[\]\/\s]/,Mt=/\\(\\)?/g,Le=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Ce=/\w*$/,Et=/^[-+]0x[0-9a-f]+$/i,Tt=/^0b[01]+$/i,Ye=/^\[object .+?Constructor\]$/,et=/^0o[0-7]+$/i,_t=/^(?:0|[1-9]\d*)$/,Ut=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,qt=/($^)/,un=/['\n\r\u2028\u2029\\]/g,Mn="\\ud800-\\udfff",vn="\\u0300-\\u036f",Xn="\\ufe20-\\ufe2f",Vn="\\u20d0-\\u20ff",or=vn+Xn+Vn,er="\\u2700-\\u27bf",Wt="a-z\\xdf-\\xf6\\xf8-\\xff",en="\\xac\\xb1\\xd7\\xf7",nn="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",fn="\\u2000-\\u206f",En=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",on="A-Z\\xc0-\\xd6\\xd8-\\xde",pt="\\ufe0e\\ufe0f",gt=en+nn+fn+En,Xt="['\u2019]",rn="["+Mn+"]",Jt="["+gt+"]",pn="["+or+"]",mn="\\d+",Zn="["+er+"]",tr="["+Wt+"]",ut="[^"+Mn+gt+mn+er+Wt+on+"]",ct="\\ud83c[\\udffb-\\udfff]",Dt="(?:"+pn+"|"+ct+")",xt="[^"+Mn+"]",kt="(?:\\ud83c[\\udde6-\\uddff]){2}",sn="[\\ud800-\\udbff][\\udc00-\\udfff]",tn="["+on+"]",xn="\\u200d",Nn="(?:"+tr+"|"+ut+")",gr="(?:"+tn+"|"+ut+")",nr="(?:"+Xt+"(?:d|ll|m|re|s|t|ve))?",Rn="(?:"+Xt+"(?:D|LL|M|RE|S|T|VE))?",kr=Dt+"?",fr="["+pt+"]?",ua="(?:"+xn+"(?:"+[xt,kt,sn].join("|")+")"+fr+kr+")*",Pr="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Bn="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Cn=fr+kr+ua,wn="(?:"+[Zn,kt,sn].join("|")+")"+Cn,ar="(?:"+[xt+pn+"?",pn,kt,sn,rn].join("|")+")",mr=RegExp(Xt,"g"),Qr=RegExp(pn,"g"),qr=RegExp(ct+"(?="+ct+")|"+ar+Cn,"g"),ya=RegExp([tn+"?"+tr+"+"+nr+"(?="+[Jt,tn,"$"].join("|")+")",gr+"+"+Rn+"(?="+[Jt,tn+Nn,"$"].join("|")+")",tn+"?"+Nn+"+"+nr,tn+"+"+Rn,Bn,Pr,mn,wn].join("|"),"g"),dr=RegExp("["+xn+Mn+or+pt+"]"),Br=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ea=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ca=-1,Kn={};Kn[Se]=Kn[$e]=Kn[re]=Kn[oe]=Kn[q]=Kn[ue]=Kn[Ee]=Kn[le]=Kn[Ne]=!0,Kn[be]=Kn[Pe]=Kn[Oe]=Kn[qe]=Kn[xe]=Kn[Xe]=Kn[Ct]=Kn[vt]=Kn[ke]=Kn[Ve]=Kn[Ke]=Kn[V]=Kn[R]=Kn[P]=Kn[ie]=!1;var zn={};zn[be]=zn[Pe]=zn[Oe]=zn[xe]=zn[qe]=zn[Xe]=zn[Se]=zn[$e]=zn[re]=zn[oe]=zn[q]=zn[ke]=zn[Ve]=zn[Ke]=zn[V]=zn[R]=zn[P]=zn[B]=zn[ue]=zn[Ee]=zn[le]=zn[Ne]=!0,zn[Ct]=zn[vt]=zn[ie]=!1;var vr={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},ra={"&":"&","<":"<",">":">",'"':""","'":"'"},xr={"&":"&","<":"<",">":">",""":'"',"'":"'"},jt={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},an=parseFloat,hn=parseInt,ao=typeof e.g=="object"&&e.g&&e.g.Object===Object&&e.g,Mo=typeof self=="object"&&self&&self.Object===Object&&self,Ua=ao||Mo||Function("return this")(),Ha=y&&!y.nodeType&&y,eo=Ha&&!0&&b&&!b.nodeType&&b,jo=eo&&eo.exports===Ha,Wo=jo&&ao.process,Eo=function(){try{var kn=eo&&eo.require&&eo.require("util").types;return kn||Wo&&Wo.binding&&Wo.binding("util")}catch(_r){}}(),ft=Eo&&Eo.isArrayBuffer,Nt=Eo&&Eo.isDate,Ie=Eo&&Eo.isMap,cn=Eo&&Eo.isRegExp,dn=Eo&&Eo.isSet,_n=Eo&&Eo.isTypedArray;function Tn(kn,_r,Dr){switch(Dr.length){case 0:return kn.call(_r);case 1:return kn.call(_r,Dr[0]);case 2:return kn.call(_r,Dr[0],Dr[1]);case 3:return kn.call(_r,Dr[0],Dr[1],Dr[2])}return kn.apply(_r,Dr)}function yr(kn,_r,Dr,Zr){for(var sa=-1,ja=kn==null?0:kn.length;++sa-1}function Ir(kn,_r,Dr){for(var Zr=-1,sa=kn==null?0:kn.length;++Zr-1;);return Dr}function Yo(kn,_r){for(var Dr=kn.length;Dr--&&Hr(_r,kn[Dr],0)>-1;);return Dr}function ni(kn,_r){for(var Dr=kn.length,Zr=0;Dr--;)kn[Dr]===_r&&++Zr;return Zr}var co=Sr(vr),Mi=Sr(ra);function ai(kn){return"\\"+jt[kn]}function Po(kn,_r){return kn==null?t:kn[_r]}function li(kn){return dr.test(kn)}function Pi(kn){return Br.test(kn)}function hi(kn){for(var _r,Dr=[];!(_r=kn.next()).done;)Dr.push(_r.value);return Dr}function yi(kn){var _r=-1,Dr=Array(kn.size);return kn.forEach(function(Zr,sa){Dr[++_r]=[sa,Zr]}),Dr}function Zi(kn,_r){return function(Dr){return kn(_r(Dr))}}function ji(kn,_r){for(var Dr=-1,Zr=kn.length,sa=0,ja=[];++Dr-1}function wu(p,E){var ae=this.__data__,Fe=Hi(ae,p);return Fe<0?(++this.size,ae.push([p,E])):ae[Fe][1]=E,this}ho.prototype.clear=nl,ho.prototype.delete=yu,ho.prototype.get=Ni,ho.prototype.has=lu,ho.prototype.set=wu;function rl(p){var E=-1,ae=p==null?0:p.length;for(this.clear();++E=E?p:E)),p}function Es(p,E,ae,Fe,ht,Qt){var bn,Fn=E&M,ur=E&h,Ma=E&S;if(ae&&(bn=ht?ae(p,Fe,ht,Qt):ae(p)),bn!==t)return bn;if(!Bs(p))return p;var Sa=mi(p);if(Sa){if(bn=Qi(p),!Fn)return Yn(p,bn)}else{var Ta=mo(p),ro=Ta==vt||Ta==Ht;if(cd(p))return Pn(p,Fn);if(Ta==Ke||Ta==be||ro&&!ht){if(bn=ur||ro?{}:Ai(p),!Fn)return ur?ia(p,ql(bn,p)):Nr(p,uu(bn,p))}else{if(!zn[Ta])return ht?p:{};bn=$i(p,Ta,Fn)}}Qt||(Qt=new Vt);var Co=Qt.get(p);if(Co)return Co;Qt.set(p,bn),wf(p)?p.forEach(function(Jo){bn.add(Es(Jo,E,ae,Jo,p,Qt))}):Of(p)&&p.forEach(function(Jo,wi){bn.set(wi,Es(Jo,E,ae,wi,p,Qt))});var Xo=Ma?ur?Pa:ba:ur?Uu:Vl,bi=Sa?t:Xo(p);return Wr(bi||p,function(Jo,wi){bi&&(wi=Jo,Jo=p[wi]),To(bn,wi,Es(Jo,E,ae,wi,p,Qt))}),bn}function Lc(p){var E=Vl(p);return function(ae){return rc(ae,p,E)}}function rc(p,E,ae){var Fe=ae.length;if(p==null)return!Fe;for(p=Na(p);Fe--;){var ht=ae[Fe],Qt=E[ht],bn=p[ht];if(bn===t&&!(ht in p)||!Qt(bn))return!1}return!0}function Hs(p,E,ae){if(typeof p!="function")throw new Go(d);return Cu(function(){p.apply(t,ae)},E)}function jl(p,E,ae,Fe){var ht=-1,Qt=oa,bn=!0,Fn=p.length,ur=[],Ma=E.length;if(!Fn)return ur;ae&&(E=$r(E,io(ae))),Fe?(Qt=Ir,bn=!1):E.length>=s&&(Qt=_a,bn=!1,E=new Ws(E));e:for(;++htht?0:ht+ae),Fe=Fe===t||Fe>ht?ht:pi(Fe),Fe<0&&(Fe+=ht),Fe=ae>Fe?0:Pf(Fe);ae0&&ae(Fn)?E>1?ts(Fn,E-1,ae,Fe,ht):pa(ht,Fn):Fe||(ht[ht.length]=Fn)}return ht}var Lu=aa(),ws=aa(!0);function Vi(p,E){return p&&Lu(p,E,Vl)}function Ns(p,E){return p&&ws(p,E,Vl)}function pl(p,E){return ea(E,function(ae){return Vc(p[ae])})}function ei(p,E){E=ye(E,p);for(var ae=0,Fe=E.length;p!=null&&aeE}function _s(p,E){return p!=null&&qo.call(p,E)}function hl(p,E){return p!=null&&E in Na(p)}function Ys(p,E,ae){return p>=Si(E,ae)&&p=120&&Sa.length>=120)?new Ws(bn&&Sa):t}Sa=p[0];var Ta=-1,ro=Fn[0];e:for(;++Ta-1;)Fn!==p&&ks.call(Fn,ur,1),ks.call(p,ur,1);return p}function _u(p,E){for(var ae=p?E.length:0,Fe=ae-1;ae--;){var ht=E[ae];if(ae==Fe||ht!==Qt){var Qt=ht;Oa(ht)?ks.call(p,ht,1):Ic(p,ht)}}return p}function Yu(p,E){return p+fa(qa()*(E-p+1))}function Fu(p,E,ae,Fe){for(var ht=-1,Qt=wo(Ol((E-p)/(ae||1)),0),bn=Dr(Qt);Qt--;)bn[Fe?Qt:++ht]=p,p+=ae;return bn}function _i(p,E){var ae="";if(!p||E<1||E>H)return ae;do E%2&&(ae+=p),E=fa(E/2),E&&(p+=p);while(E);return ae}function So(p,E){return Hl(ds(p,E,ku),p+"")}function gs(p){return os(Nd(p))}function vc(p,E){var ae=Nd(p);return Fc(ae,eu(E,0,ae.length))}function du(p,E,ae,Fe){if(!Bs(p))return p;E=ye(E,p);for(var ht=-1,Qt=E.length,bn=Qt-1,Fn=p;Fn!=null&&++htht?0:ht+E),ae=ae>ht?ht:ae,ae<0&&(ae+=ht),ht=E>ae?0:ae-E>>>0,E>>>=0;for(var Qt=Dr(ht);++Fe>>1,bn=p[Qt];bn!==null&&!ec(bn)&&(ae?bn<=E:bn=s){var Ma=E?null:St(p);if(Ma)return oo(Ma);bn=!1,ht=_a,ur=new Ws}else ur=E?[]:Fn;e:for(;++Fe=Fe?p:il(p,E,ae)}var yt=Do||function(p){return Ua.clearTimeout(p)};function Pn(p,E){if(E)return p.slice();var ae=p.length,Fe=gu?gu(ae):new p.constructor(ae);return p.copy(Fe),Fe}function Sn(p){var E=new p.constructor(p.byteLength);return new fl(E).set(new fl(p)),E}function In(p,E){var ae=E?Sn(p.buffer):p.buffer;return new p.constructor(ae,p.byteOffset,p.byteLength)}function Un(p){var E=new p.constructor(p.source,Ce.exec(p));return E.lastIndex=p.lastIndex,E}function ir(p){return tl?Na(tl.call(p)):{}}function Mr(p,E){var ae=E?Sn(p.buffer):p.buffer;return new p.constructor(ae,p.byteOffset,p.length)}function pr(p,E){if(p!==E){var ae=p!==t,Fe=p===null,ht=p===p,Qt=ec(p),bn=E!==t,Fn=E===null,ur=E===E,Ma=ec(E);if(!Fn&&!Ma&&!Qt&&p>E||Qt&&bn&&ur&&!Fn&&!Ma||Fe&&bn&&ur||!ae&&ur||!ht)return 1;if(!Fe&&!Qt&&!Ma&&p=Fn)return ur;var Ma=ae[Fe];return ur*(Ma=="desc"?-1:1)}}return p.index-E.index}function da(p,E,ae,Fe){for(var ht=-1,Qt=p.length,bn=ae.length,Fn=-1,ur=E.length,Ma=wo(Qt-bn,0),Sa=Dr(ur+Ma),Ta=!Fe;++Fn1?ae[ht-1]:t,bn=ht>2?ae[2]:t;for(Qt=p.length>3&&typeof Qt=="function"?(ht--,Qt):t,bn&&ko(ae[0],ae[1],bn)&&(Qt=ht<3?t:Qt,ht=1),E=Na(E);++Fe-1?ht[Qt?E[bn]:bn]:t}}function Ur(p){return Or(function(E){var ae=E.length,Fe=ae,ht=Wi.prototype.thru;for(p&&E.reverse();Fe--;){var Qt=E[Fe];if(typeof Qt!="function")throw new Go(d);if(ht&&!bn&&to(Qt)=="wrapper")var bn=new Wi([],!0)}for(Fe=bn?Fe:ae;++Fe1&&Li.reverse(),Sa&&urFn))return!1;var Ma=Qt.get(p),Sa=Qt.get(E);if(Ma&&Sa)return Ma==E&&Sa==p;var Ta=-1,ro=!0,Co=ae&x?new Ws:t;for(Qt.set(p,E),Qt.set(E,p);++Ta1?"& ":"")+E[Fe],E=E.join(ae>2?", ":" "),p.replace(lt,`{ +/* [wrapped with `+E+`] */ +`)}function Ri(p){return mi(p)||hd(p)||!!(mu&&p&&p[mu])}function Oa(p,E){var ae=typeof p;return E=E==null?H:E,!!E&&(ae=="number"||ae!="symbol"&&_t.test(p))&&p>-1&&p%1==0&&p0){if(++E>=ee)return arguments[0]}else E=0;return p.apply(t,arguments)}}function Fc(p,E){var ae=-1,Fe=p.length,ht=Fe-1;for(E=E===t?Fe:E;++ae1?p[E-1]:t;return ae=typeof ae=="function"?(p.pop(),ae):t,Ji(p,ae)});function Id(p){var E=Zt(p);return E.__chain__=!0,E}function af(p,E){return E(p),p}function qu(p,E){return E(p)}var Ad=Or(function(p){var E=p.length,ae=E?p[0]:0,Fe=this.__wrapped__,ht=function(Qt){return Mu(Qt,p)};return E>1||this.__actions__.length||!(Fe instanceof Ko)||!Oa(ae)?this.thru(ht):(Fe=Fe.slice(ae,+ae+(E?1:0)),Fe.__actions__.push({func:qu,args:[ht],thisArg:t}),new Wi(Fe,this.__chain__).thru(function(Qt){return E&&!Qt.length&&Qt.push(t),Qt}))});function _c(){return Id(this)}function Od(){return new Wi(this.value(),this.__chain__)}function Bd(){this.__values__===t&&(this.__values__=jf(this.value()));var p=this.__index__>=this.__values__.length,E=p?t:this.__values__[this.__index__++];return{done:p,value:E}}function $d(){return this}function of(p){for(var E,ae=this;ae instanceof Jl;){var Fe=Bc(ae);Fe.__index__=0,Fe.__values__=t,E?ht.__wrapped__=Fe:E=Fe;var ht=Fe;ae=ae.__wrapped__}return ht.__wrapped__=p,E}function Zd(){var p=this.__wrapped__;if(p instanceof Ko){var E=p;return this.__actions__.length&&(E=new Ko(this)),E=E.reverse(),E.__actions__.push({func:qu,args:[od],thisArg:t}),new Wi(E,this.__chain__)}return this.thru(od)}function sf(){return Rc(this.__wrapped__,this.__actions__)}var Vd=Vr(function(p,E,ae){qo.call(p,ae)?++p[ae]:Ss(p,ae,1)});function Gd(p,E,ae){var Fe=mi(p)?la:Ec;return ae&&ko(p,E,ae)&&(E=t),Fe(p,Aa(E,3))}function Dd(p,E){var ae=mi(p)?ea:Su;return ae(p,Aa(E,3))}var wd=Cr(Zc),Kd=Cr(jc);function Ud(p,E){return ts(Yc(p,E),1)}function lf(p,E){return ts(Yc(p,E),O)}function Qd(p,E,ae){return ae=ae===t?1:pi(ae),ts(Yc(p,E),ae)}function jd(p,E){var ae=mi(p)?Wr:tu;return ae(p,Aa(E,3))}function md(p,E){var ae=mi(p)?Da:ju;return ae(p,Aa(E,3))}var kd=Vr(function(p,E,ae){qo.call(p,ae)?p[ae].push(E):Ss(p,ae,[E])});function Pd(p,E,ae,Fe){p=Zu(p)?p:Nd(p),ae=ae&&!Fe?pi(ae):0;var ht=p.length;return ae<0&&(ae=wo(ht+ae,0)),qd(p)?ae<=ht&&p.indexOf(E,ae)>-1:!!ht&&Hr(p,E,ae)>-1}var Xd=So(function(p,E,ae){var Fe=-1,ht=typeof E=="function",Qt=Zu(p)?Dr(p.length):[];return tu(p,function(bn){Qt[++Fe]=ht?Tn(E,bn,ae):Nu(bn,E,ae)}),Qt}),uf=Vr(function(p,E,ae){Ss(p,ae,E)});function Yc(p,E){var ae=mi(p)?$r:fo;return ae(p,Aa(E,3))}function cf(p,E,ae,Fe){return p==null?[]:(mi(E)||(E=E==null?[]:[E]),ae=Fe?t:ae,mi(ae)||(ae=ae==null?[]:[ae]),oc(p,E,ae))}var pd=Vr(function(p,E,ae){p[ae?0:1].push(E)},function(){return[[],[]]});function df(p,E,ae){var Fe=mi(p)?La:xa,ht=arguments.length<3;return Fe(p,Aa(E,4),ae,ht,tu)}function Td(p,E,ae){var Fe=mi(p)?lo:xa,ht=arguments.length<3;return Fe(p,Aa(E,4),ae,ht,ju)}function i(p,E){var ae=mi(p)?ea:Su;return ae(p,$a(Aa(E,3)))}function v(p){var E=mi(p)?os:gs;return E(p)}function I(p,E,ae){(ae?ko(p,E,ae):E===t)?E=1:E=pi(E);var Fe=mi(p)?ui:vc;return Fe(p,E)}function te(p){var E=mi(p)?fi:Rs;return E(p)}function De(p){if(p==null)return 0;if(Zu(p))return qd(p)?No(p):p.length;var E=mo(p);return E==ke||E==R?p.size:Rt(p).length}function He(p,E,ae){var Fe=mi(p)?Qa:xc;return ae&&ko(p,E,ae)&&(E=t),Fe(p,Aa(E,3))}var Bt=So(function(p,E){if(p==null)return[];var ae=E.length;return ae>1&&ko(p,E[0],E[1])?E=[]:ae>2&&ko(E[0],E[1],E[2])&&(E=[E[0]]),oc(p,ts(E,1),[])}),gn=Ls||function(){return Ua.Date.now()};function $n(p,E){if(typeof E!="function")throw new Go(d);return p=pi(p),function(){if(--p<1)return E.apply(this,arguments)}}function wr(p,E,ae){return E=ae?t:E,E=p&&E==null?p.length:E,Yt(p,j,t,t,t,t,E)}function Ia(p,E){var ae;if(typeof E!="function")throw new Go(d);return p=pi(p),function(){return--p>0&&(ae=E.apply(this,arguments)),p<=1&&(E=t),ae}}var Ka=So(function(p,E,ae){var Fe=z;if(ae.length){var ht=ji(ae,Ra(Ka));Fe|=D}return Yt(p,Fe,E,ae,ht)}),ma=So(function(p,E,ae){var Fe=z|U;if(ae.length){var ht=ji(ae,Ra(ma));Fe|=D}return Yt(E,Fe,p,ae,ht)});function so(p,E,ae){E=ae?t:E;var Fe=Yt(p,N,t,t,t,t,t,E);return Fe.placeholder=so.placeholder,Fe}function Ya(p,E,ae){E=ae?t:E;var Fe=Yt(p,Z,t,t,t,t,t,E);return Fe.placeholder=Ya.placeholder,Fe}function si(p,E,ae){var Fe,ht,Qt,bn,Fn,ur,Ma=0,Sa=!1,Ta=!1,ro=!0;if(typeof p!="function")throw new Go(d);E=cc(E)||0,Bs(ae)&&(Sa=!!ae.leading,Ta="maxWait"in ae,Qt=Ta?wo(cc(ae.maxWait)||0,E):Qt,ro="trailing"in ae?!!ae.trailing:ro);function Co(ul){var Mc=Fe,Kc=ht;return Fe=ht=t,Ma=ul,bn=p.apply(Kc,Mc),bn}function Xo(ul){return Ma=ul,Fn=Cu(wi,E),Sa?Co(ul):bn}function bi(ul){var Mc=ul-ur,Kc=ul-Ma,Wf=E-Mc;return Ta?Si(Wf,Qt-Kc):Wf}function Jo(ul){var Mc=ul-ur,Kc=ul-Ma;return ur===t||Mc>=E||Mc<0||Ta&&Kc>=Qt}function wi(){var ul=gn();if(Jo(ul))return Li(ul);Fn=Cu(wi,bi(ul))}function Li(ul){return Fn=t,ro&&Fe?Co(ul):(Fe=ht=t,bn)}function tc(){Fn!==t&&yt(Fn),Ma=0,Fe=ur=ht=Fn=t}function Iu(){return Fn===t?bn:Li(gn())}function nc(){var ul=gn(),Mc=Jo(ul);if(Fe=arguments,ht=this,ur=ul,Mc){if(Fn===t)return Xo(ur);if(Ta)return yt(Fn),Fn=Cu(wi,E),Co(ur)}return Fn===t&&(Fn=Cu(wi,E)),bn}return nc.cancel=tc,nc.flush=Iu,nc}var Fs=So(function(p,E){return Hs(p,1,E)}),hr=So(function(p,E,ae){return Hs(p,cc(E)||0,ae)});function Qn(p){return Yt(p,W)}function Ar(p,E){if(typeof p!="function"||E!=null&&typeof E!="function")throw new Go(d);var ae=function(){var Fe=arguments,ht=E?E.apply(this,Fe):Fe[0],Qt=ae.cache;if(Qt.has(ht))return Qt.get(ht);var bn=p.apply(this,Fe);return ae.cache=Qt.set(ht,bn)||Qt,bn};return ae.cache=new(Ar.Cache||rl),ae}Ar.Cache=rl;function $a(p){if(typeof p!="function")throw new Go(d);return function(){var E=arguments;switch(E.length){case 0:return!p.call(this);case 1:return!p.call(this,E[0]);case 2:return!p.call(this,E[0],E[1]);case 3:return!p.call(this,E[0],E[1],E[2])}return!p.apply(this,E)}}function yo(p){return Ia(2,p)}var Fo=Te(function(p,E){E=E.length==1&&mi(E[0])?$r(E[0],io(Aa())):$r(ts(E,1),io(Aa()));var ae=E.length;return So(function(Fe){for(var ht=-1,Qt=Si(Fe.length,ae);++ht=E}),hd=Wu(function(){return arguments}())?Wu:function(p){return Ks(p)&&qo.call(p,"callee")&&!Us.call(p,"callee")},mi=Dr.isArray,nv=ft?io(ft):yl;function Zu(p){return p!=null&&Jd(p.length)&&!Vc(p)}function ll(p){return Ks(p)&&Zu(p)}function rv(p){return p===!0||p===!1||Ks(p)&&cs(p)==qe}var cd=Bl||Cf,av=Nt?io(Nt):Eu;function ov(p){return Ks(p)&&p.nodeType===1&&!Wd(p)}function iv(p){if(p==null)return!0;if(Zu(p)&&(mi(p)||typeof p=="string"||typeof p.splice=="function"||cd(p)||Ld(p)||hd(p)))return!p.length;var E=mo(p);if(E==ke||E==R)return!p.size;if(Xi(p))return!Rt(p).length;for(var ae in p)if(qo.call(p,ae))return!1;return!0}function sv(p,E){return Ru(p,E)}function lv(p,E,ae){ae=typeof ae=="function"?ae:t;var Fe=ae?ae(p,E):t;return Fe===t?Ru(p,E,t,ae):!!Fe}function vf(p){if(!Ks(p))return!1;var E=cs(p);return E==Ct||E==mt||typeof p.message=="string"&&typeof p.name=="string"&&!Wd(p)}function uv(p){return typeof p=="number"&&qs(p)}function Vc(p){if(!Bs(p))return!1;var E=cs(p);return E==vt||E==Ht||E==Je||E==J}function Af(p){return typeof p=="number"&&p==pi(p)}function Jd(p){return typeof p=="number"&&p>-1&&p%1==0&&p<=H}function Bs(p){var E=typeof p;return p!=null&&(E=="object"||E=="function")}function Ks(p){return p!=null&&typeof p=="object"}var Of=Ie?io(Ie):bl;function cv(p,E){return p===E||kl(p,E,Ba(E))}function dv(p,E,ae){return ae=typeof ae=="function"?ae:t,kl(p,E,Ba(E),ae)}function fv(p){return Df(p)&&p!=+p}function vv(p){if(Cl(p))throw new sa(n);return ii(p)}function gv(p){return p===null}function mv(p){return p==null}function Df(p){return typeof p=="number"||Ks(p)&&cs(p)==Ve}function Wd(p){if(!Ks(p)||cs(p)!=Ke)return!1;var E=vs(p);if(E===null)return!0;var ae=qo.call(E,"constructor")&&E.constructor;return typeof ae=="function"&&ae instanceof ae&&ss.call(ae)==vu}var gf=cn?io(cn):$;function pv(p){return Af(p)&&p>=-H&&p<=H}var wf=dn?io(dn):fe;function qd(p){return typeof p=="string"||!mi(p)&&Ks(p)&&cs(p)==P}function ec(p){return typeof p=="symbol"||Ks(p)&&cs(p)==B}var Ld=_n?io(_n):Ue;function hv(p){return p===t}function yv(p){return Ks(p)&&mo(p)==ie}function bv(p){return Ks(p)&&cs(p)==pe}var Mv=Me(Tr),Sv=Me(function(p,E){return p<=E});function jf(p){if(!p)return[];if(Zu(p))return qd(p)?zo(p):Yn(p);if(Kl&&p[Kl])return hi(p[Kl]());var E=mo(p),ae=E==ke?yi:E==R?oo:Nd;return ae(p)}function Gc(p){if(!p)return p===0?p:0;if(p=cc(p),p===O||p===-O){var E=p<0?-1:1;return E*k}return p===p?p:0}function pi(p){var E=Gc(p),ae=E%1;return E===E?ae?E-ae:E:0}function Pf(p){return p?eu(pi(p),0,Y):0}function cc(p){if(typeof p=="number")return p;if(ec(p))return A;if(Bs(p)){var E=typeof p.valueOf=="function"?p.valueOf():p;p=Bs(E)?E+"":E}if(typeof p!="string")return p===0?p:+p;p=xo(p);var ae=Tt.test(p);return ae||et.test(p)?hn(p.slice(2),ae?2:8):Et.test(p)?A:+p}function Tf(p){return lr(p,Uu(p))}function Ev(p){return p?eu(pi(p),-H,H):p===0?p:0}function qi(p){return p==null?"":sl(p)}var Cv=Lr(function(p,E){if(Xi(E)||Zu(E)){lr(E,Vl(E),p);return}for(var ae in E)qo.call(E,ae)&&To(p,ae,E[ae])}),Lf=Lr(function(p,E){lr(E,Uu(E),p)}),ef=Lr(function(p,E,ae,Fe){lr(E,Uu(E),p,Fe)}),xv=Lr(function(p,E,ae,Fe){lr(E,Vl(E),p,Fe)}),Iv=Or(Mu);function Av(p,E){var ae=Ii(p);return E==null?ae:uu(ae,E)}var Ov=So(function(p,E){p=Na(p);var ae=-1,Fe=E.length,ht=Fe>2?E[2]:t;for(ht&&ko(E[0],E[1],ht)&&(Fe=1);++ae1),Qt}),lr(p,Pa(p),ae),Fe&&(ae=Es(ae,M|h|S,Dn));for(var ht=E.length;ht--;)Ic(ae,E[ht]);return ae});function _v(p,E){return Rf(p,$a(Aa(E)))}var Yv=Or(function(p,E){return p==null?{}:Ki(p,E)});function Rf(p,E){if(p==null)return{};var ae=$r(Pa(p),function(Fe){return[Fe]});return E=Aa(E),zu(p,ae,function(Fe,ht){return E(Fe,ht[0])})}function Vv(p,E,ae){E=ye(E,p);var Fe=-1,ht=E.length;for(ht||(ht=1,p=t);++FeE){var Fe=p;p=E,E=Fe}if(ae||p%1||E%1){var ht=qa();return Si(p+ht*(E-p+an("1e-"+((ht+"").length-1))),E)}return Yu(p,E)}var a0=Fr(function(p,E,ae){return E=E.toLowerCase(),p+(ae?Bf(E):E)});function Bf(p){return hf(qi(p).toLowerCase())}function $f(p){return p=qi(p),p&&p.replace(Ut,co).replace(Qr,"")}function o0(p,E,ae){p=qi(p),E=sl(E);var Fe=p.length;ae=ae===t?Fe:eu(pi(ae),0,Fe);var ht=ae;return ae-=E.length,ae>=0&&p.slice(ae,ht)==E}function i0(p){return p=qi(p),p&&We.test(p)?p.replace(nt,Mi):p}function s0(p){return p=qi(p),p&&dt.test(p)?p.replace(Pt,"\\$&"):p}var l0=Fr(function(p,E,ae){return p+(ae?"-":"")+E.toLowerCase()}),u0=Fr(function(p,E,ae){return p+(ae?" ":"")+E.toLowerCase()}),c0=Jn("toLowerCase");function d0(p,E,ae){p=qi(p),E=pi(E);var Fe=E?No(p):0;if(!E||Fe>=E)return p;var ht=(E-Fe)/2;return K(fa(ht),ae)+p+K(Ol(ht),ae)}function f0(p,E,ae){p=qi(p),E=pi(E);var Fe=E?No(p):0;return E&&Fe>>0,ae?(p=qi(p),p&&(typeof E=="string"||E!=null&&!gf(E))&&(E=sl(E),!E&&li(p))?An(zo(p),0,ae):p.split(E,ae)):[]}var b0=Fr(function(p,E,ae){return p+(ae?" ":"")+hf(E)});function M0(p,E,ae){return p=qi(p),ae=ae==null?0:eu(pi(ae),0,p.length),E=sl(E),p.slice(ae,ae+E.length)==E}function S0(p,E,ae){var Fe=Zt.templateSettings;ae&&ko(p,E,ae)&&(E=t),p=qi(p),E=ef({},E,Fe,ln);var ht=ef({},E.imports,Fe.imports,ln),Qt=Vl(ht),bn=Ca(ht,Qt),Fn,ur,Ma=0,Sa=E.interpolate||qt,Ta="__p += '",ro=Bo((E.escape||qt).source+"|"+Sa.source+"|"+(Sa===Ge?Le:qt).source+"|"+(E.evaluate||qt).source+"|$","g"),Co="//# sourceURL="+(qo.call(E,"sourceURL")?(E.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++ca+"]")+` +`;p.replace(ro,function(Jo,wi,Li,tc,Iu,nc){return Li||(Li=tc),Ta+=p.slice(Ma,nc).replace(un,ai),wi&&(Fn=!0,Ta+=`' + +__e(`+wi+`) + +'`),Iu&&(ur=!0,Ta+=`'; +`+Iu+`; +__p += '`),Li&&(Ta+=`' + +((__t = (`+Li+`)) == null ? '' : __t) + +'`),Ma=nc+Jo.length,Jo}),Ta+=`'; +`;var Xo=qo.call(E,"variable")&&E.variable;if(!Xo)Ta=`with (obj) { +`+Ta+` +} +`;else if(zt.test(Xo))throw new sa(l);Ta=(ur?Ta.replace(Ae,""):Ta).replace(we,"$1").replace(Re,"$1;"),Ta="function("+(Xo||"obj")+`) { +`+(Xo?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(Fn?", __e = _.escape":"")+(ur?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+Ta+`return __p +}`;var bi=Uf(function(){return ja(Qt,Co+"return "+Ta).apply(t,bn)});if(bi.source=Ta,vf(bi))throw bi;return bi}function E0(p){return qi(p).toLowerCase()}function C0(p){return qi(p).toUpperCase()}function x0(p,E,ae){if(p=qi(p),p&&(ae||E===t))return xo(p);if(!p||!(E=sl(E)))return p;var Fe=zo(p),ht=zo(E),Qt=Io(Fe,ht),bn=Yo(Fe,ht)+1;return An(Fe,Qt,bn).join("")}function I0(p,E,ae){if(p=qi(p),p&&(ae||E===t))return p.slice(0,xi(p)+1);if(!p||!(E=sl(E)))return p;var Fe=zo(p),ht=Yo(Fe,zo(E))+1;return An(Fe,0,ht).join("")}function A0(p,E,ae){if(p=qi(p),p&&(ae||E===t))return p.replace(je,"");if(!p||!(E=sl(E)))return p;var Fe=zo(p),ht=Io(Fe,zo(E));return An(Fe,ht).join("")}function O0(p,E){var ae=ne,Fe=_;if(Bs(E)){var ht="separator"in E?E.separator:ht;ae="length"in E?pi(E.length):ae,Fe="omission"in E?sl(E.omission):Fe}p=qi(p);var Qt=p.length;if(li(p)){var bn=zo(p);Qt=bn.length}if(ae>=Qt)return p;var Fn=ae-No(Fe);if(Fn<1)return Fe;var ur=bn?An(bn,0,Fn).join(""):p.slice(0,Fn);if(ht===t)return ur+Fe;if(bn&&(Fn+=ur.length-Fn),gf(ht)){if(p.slice(Fn).search(ht)){var Ma,Sa=ur;for(ht.global||(ht=Bo(ht.source,qi(Ce.exec(ht))+"g")),ht.lastIndex=0;Ma=ht.exec(Sa);)var Ta=Ma.index;ur=ur.slice(0,Ta===t?Fn:Ta)}}else if(p.indexOf(sl(ht),Fn)!=Fn){var ro=ur.lastIndexOf(ht);ro>-1&&(ur=ur.slice(0,ro))}return ur+Fe}function D0(p){return p=qi(p),p&&_e.test(p)?p.replace(st,Ui):p}var w0=Fr(function(p,E,ae){return p+(ae?" ":"")+E.toUpperCase()}),hf=Jn("toUpperCase");function Zf(p,E,ae){return p=qi(p),E=ae?t:E,E===t?Pi(p)?fs(p):jn(p):p.match(E)||[]}var Uf=So(function(p,E){try{return Tn(p,t,E)}catch(ae){return vf(ae)?ae:new sa(ae)}}),j0=Or(function(p,E){return Wr(E,function(ae){ae=xu(ae),Ss(p,ae,Ka(p[ae],p))}),p});function P0(p){var E=p==null?0:p.length,ae=Aa();return p=E?$r(p,function(Fe){if(typeof Fe[1]!="function")throw new Go(d);return[ae(Fe[0]),Fe[1]]}):[],So(function(Fe){for(var ht=-1;++htH)return[];var ae=Y,Fe=Si(p,Y);E=Aa(E),p-=Y;for(var ht=Oo(Fe,E);++ae0||E<0)?new Ko(ae):(p<0?ae=ae.takeRight(-p):p&&(ae=ae.drop(p)),E!==t&&(E=pi(E),ae=E<0?ae.dropRight(-E):ae.take(E-p)),ae)},Ko.prototype.takeRightWhile=function(p){return this.reverse().takeWhile(p).reverse()},Ko.prototype.toArray=function(){return this.take(Y)},Vi(Ko.prototype,function(p,E){var ae=/^(?:filter|find|map|reject)|While$/.test(E),Fe=/^(?:head|last)$/.test(E),ht=Zt[Fe?"take"+(E=="last"?"Right":""):E],Qt=Fe||/^find/.test(E);ht&&(Zt.prototype[E]=function(){var bn=this.__wrapped__,Fn=Fe?[1]:arguments,ur=bn instanceof Ko,Ma=Fn[0],Sa=ur||mi(bn),Ta=function(wi){var Li=ht.apply(Zt,pa([wi],Fn));return Fe&&ro?Li[0]:Li};Sa&&ae&&typeof Ma=="function"&&Ma.length!=1&&(ur=Sa=!1);var ro=this.__chain__,Co=!!this.__actions__.length,Xo=Qt&&!ro,bi=ur&&!Co;if(!Qt&&Sa){bn=bi?bn:new Ko(this);var Jo=p.apply(bn,Fn);return Jo.__actions__.push({func:qu,args:[Ta],thisArg:t}),new Wi(Jo,ro)}return Xo&&bi?p.apply(this,Fn):(Jo=this.thru(Ta),Xo?Fe?Jo.value()[0]:Jo.value():Jo)})}),Wr(["pop","push","shift","sort","splice","unshift"],function(p){var E=Bi[p],ae=/^(?:push|sort|unshift)$/.test(p)?"tap":"thru",Fe=/^(?:pop|shift)$/.test(p);Zt.prototype[p]=function(){var ht=arguments;if(Fe&&!this.__chain__){var Qt=this.value();return E.apply(mi(Qt)?Qt:[],ht)}return this[ae](function(bn){return E.apply(mi(bn)?bn:[],ht)})}}),Vi(Ko.prototype,function(p,E){var ae=Zt[E];if(ae){var Fe=ae.name+"";qo.call(Ul,Fe)||(Ul[Fe]=[]),Ul[Fe].push({name:E,func:ae})}}),Ul[Yr(t,U).name]=[{name:"wrapper",func:t}],Ko.prototype.clone=po,Ko.prototype.reverse=pu,Ko.prototype.value=hu,Zt.prototype.at=Ad,Zt.prototype.chain=_c,Zt.prototype.commit=Od,Zt.prototype.next=Bd,Zt.prototype.plant=of,Zt.prototype.reverse=Zd,Zt.prototype.toJSON=Zt.prototype.valueOf=Zt.prototype.value=sf,Zt.prototype.first=Zt.prototype.head,Kl&&(Zt.prototype[Kl]=$d),Zt},zl=Xs();Ua._=zl,a=function(){return zl}.call(y,e,y,b),a!==t&&(b.exports=a)}).call(this)},80231:function(b,y,e){var a=e(83250),t=function(){return a.Date.now()};b.exports=t},84506:function(b){function y(){return[]}b.exports=y},37999:function(b){function y(){return!1}b.exports=y},14633:function(b,y,e){var a=e(77837),t=e(93702),o="Expected a function";function s(n,d,l){var c=!0,m=!0;if(typeof n!="function")throw new TypeError(o);return t(l)&&(c="leading"in l?!!l.leading:c,m="trailing"in l?!!l.trailing:m),a(n,d,{leading:c,maxWait:d,trailing:m})}b.exports=s},29153:function(b,y,e){var a=e(21656),t=e(93702),o=e(52624),s=0/0,n=/^[-+]0x[0-9a-f]+$/i,d=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt;function m(g){if(typeof g=="number")return g;if(o(g))return s;if(t(g)){var M=typeof g.valueOf=="function"?g.valueOf():g;g=t(M)?M+"":M}if(typeof g!="string")return g===0?g:+g;g=a(g);var h=d.test(g);return h||l.test(g)?c(g.slice(2),h?2:8):n.test(g)?s:+g}b.exports=m},85417:function(b,y,e){(function(a,t){t(e(6901))})(this,function(a){"use strict";var t=a.defineLocale("zh-cn",{months:"\u4E00\u6708_\u4E8C\u6708_\u4E09\u6708_\u56DB\u6708_\u4E94\u6708_\u516D\u6708_\u4E03\u6708_\u516B\u6708_\u4E5D\u6708_\u5341\u6708_\u5341\u4E00\u6708_\u5341\u4E8C\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661F\u671F\u65E5_\u661F\u671F\u4E00_\u661F\u671F\u4E8C_\u661F\u671F\u4E09_\u661F\u671F\u56DB_\u661F\u671F\u4E94_\u661F\u671F\u516D".split("_"),weekdaysShort:"\u5468\u65E5_\u5468\u4E00_\u5468\u4E8C_\u5468\u4E09_\u5468\u56DB_\u5468\u4E94_\u5468\u516D".split("_"),weekdaysMin:"\u65E5_\u4E00_\u4E8C_\u4E09_\u56DB_\u4E94_\u516D".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5E74M\u6708D\u65E5",LLL:"YYYY\u5E74M\u6708D\u65E5Ah\u70B9mm\u5206",LLLL:"YYYY\u5E74M\u6708D\u65E5ddddAh\u70B9mm\u5206",l:"YYYY/M/D",ll:"YYYY\u5E74M\u6708D\u65E5",lll:"YYYY\u5E74M\u6708D\u65E5 HH:mm",llll:"YYYY\u5E74M\u6708D\u65E5dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(o,s){return o===12&&(o=0),s==="\u51CC\u6668"||s==="\u65E9\u4E0A"||s==="\u4E0A\u5348"?o:s==="\u4E0B\u5348"||s==="\u665A\u4E0A"?o+12:o>=11?o:o+12},meridiem:function(o,s,n){var d=o*100+s;return d<600?"\u51CC\u6668":d<900?"\u65E9\u4E0A":d<1130?"\u4E0A\u5348":d<1230?"\u4E2D\u5348":d<1800?"\u4E0B\u5348":"\u665A\u4E0A"},calendar:{sameDay:"[\u4ECA\u5929]LT",nextDay:"[\u660E\u5929]LT",nextWeek:function(o){return o.week()!==this.week()?"[\u4E0B]dddLT":"[\u672C]dddLT"},lastDay:"[\u6628\u5929]LT",lastWeek:function(o){return this.week()!==o.week()?"[\u4E0A]dddLT":"[\u672C]dddLT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|周)/,ordinal:function(o,s){switch(s){case"d":case"D":case"DDD":return o+"\u65E5";case"M":return o+"\u6708";case"w":case"W":return o+"\u5468";default:return o}},relativeTime:{future:"%s\u540E",past:"%s\u524D",s:"\u51E0\u79D2",ss:"%d \u79D2",m:"1 \u5206\u949F",mm:"%d \u5206\u949F",h:"1 \u5C0F\u65F6",hh:"%d \u5C0F\u65F6",d:"1 \u5929",dd:"%d \u5929",w:"1 \u5468",ww:"%d \u5468",M:"1 \u4E2A\u6708",MM:"%d \u4E2A\u6708",y:"1 \u5E74",yy:"%d \u5E74"},week:{dow:1,doy:4}});return t})},6901:function(b,y,e){b=e.nmd(b);(function(a,t){b.exports=t()})(this,function(){"use strict";var a;function t(){return a.apply(null,arguments)}function o($){a=$}function s($){return $ instanceof Array||Object.prototype.toString.call($)==="[object Array]"}function n($){return $!=null&&Object.prototype.toString.call($)==="[object Object]"}function d($,fe){return Object.prototype.hasOwnProperty.call($,fe)}function l($){if(Object.getOwnPropertyNames)return Object.getOwnPropertyNames($).length===0;var fe;for(fe in $)if(d($,fe))return!1;return!0}function c($){return $===void 0}function m($){return typeof $=="number"||Object.prototype.toString.call($)==="[object Number]"}function g($){return $ instanceof Date||Object.prototype.toString.call($)==="[object Date]"}function M($,fe){var Ue=[],at,Rt=$.length;for(at=0;at>>0,at;for(at=0;at0)for(Ue=0;Ue=0;return(On?Ue?"+":"":"-")+Math.pow(10,Math.max(0,Rt)).toString().substr(1)+at}var A=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Y=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,de={},me={};function ve($,fe,Ue,at){var Rt=at;typeof at=="string"&&(Rt=function(){return this[at]()}),$&&(me[$]=Rt),fe&&(me[fe[0]]=function(){return k(Rt.apply(this,arguments),fe[1],fe[2])}),Ue&&(me[Ue]=function(){return this.localeData().ordinal(Rt.apply(this,arguments),$)})}function be($){return $.match(/\[[\s\S]/)?$.replace(/^\[|\]$/g,""):$.replace(/\\/g,"")}function Pe($){var fe=$.match(A),Ue,at;for(Ue=0,at=fe.length;Ue=0&&Y.test($);)$=$.replace(Y,at),Y.lastIndex=0,Ue-=1;return $}var Xe={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function mt($){var fe=this._longDateFormat[$],Ue=this._longDateFormat[$.toUpperCase()];return fe||!Ue?fe:(this._longDateFormat[$]=Ue.match(A).map(function(at){return at==="MMMM"||at==="MM"||at==="DD"||at==="dddd"?at.slice(1):at}).join(""),this._longDateFormat[$])}var Ct="Invalid date";function vt(){return this._invalidDate}var Ht="%d",ke=/\d{1,2}/;function Ve($){return this._ordinal.replace("%d",$)}var ot={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function Ke($,fe,Ue,at){var Rt=this._relativeTime[Ue];return ee(Rt)?Rt($,fe,Ue,at):Rt.replace(/%d/i,$)}function he($,fe){var Ue=this._relativeTime[$>0?"future":"past"];return ee(Ue)?Ue(fe):Ue.replace(/%s/i,fe)}var J={};function V($,fe){var Ue=$.toLowerCase();J[Ue]=J[Ue+"s"]=J[fe]=$}function R($){return typeof $=="string"?J[$]||J[$.toLowerCase()]:void 0}function P($){var fe={},Ue,at;for(at in $)d($,at)&&(Ue=R(at),Ue&&(fe[Ue]=$[at]));return fe}var B={};function ge($,fe){B[$]=fe}function ie($){var fe=[],Ue;for(Ue in $)d($,Ue)&&fe.push({unit:Ue,priority:B[Ue]});return fe.sort(function(at,Rt){return at.priority-Rt.priority}),fe}function pe($){return $%4===0&&$%100!==0||$%400===0}function Oe($){return $<0?Math.ceil($)||0:Math.floor($)}function xe($){var fe=+$,Ue=0;return fe!==0&&isFinite(fe)&&(Ue=Oe(fe)),Ue}function Se($,fe){return function(Ue){return Ue!=null?(re(this,$,Ue),t.updateOffset(this,fe),this):$e(this,$)}}function $e($,fe){return $.isValid()?$._d["get"+($._isUTC?"UTC":"")+fe]():NaN}function re($,fe,Ue){$.isValid()&&!isNaN(Ue)&&(fe==="FullYear"&&pe($.year())&&$.month()===1&&$.date()===29?(Ue=xe(Ue),$._d["set"+($._isUTC?"UTC":"")+fe](Ue,$.month(),Mn(Ue,$.month()))):$._d["set"+($._isUTC?"UTC":"")+fe](Ue))}function oe($){return $=R($),ee(this[$])?this[$]():this}function q($,fe){if(typeof $=="object"){$=P($);var Ue=ie($),at,Rt=Ue.length;for(at=0;at68?1900:2e3)};var pn=Se("FullYear",!0);function mn(){return pe(this.year())}function Zn($,fe,Ue,at,Rt,On,Tr){var fo;return $<100&&$>=0?(fo=new Date($+400,fe,Ue,at,Rt,On,Tr),isFinite(fo.getFullYear())&&fo.setFullYear($)):fo=new Date($,fe,Ue,at,Rt,On,Tr),fo}function tr($){var fe,Ue;return $<100&&$>=0?(Ue=Array.prototype.slice.call(arguments),Ue[0]=$+400,fe=new Date(Date.UTC.apply(null,Ue)),isFinite(fe.getUTCFullYear())&&fe.setUTCFullYear($)):fe=new Date(Date.UTC.apply(null,arguments)),fe}function ut($,fe,Ue){var at=7+fe-Ue,Rt=(7+tr($,0,at).getUTCDay()-fe)%7;return-Rt+at-1}function ct($,fe,Ue,at,Rt){var On=(7+Ue-at)%7,Tr=ut($,at,Rt),fo=1+7*(fe-1)+On+Tr,Ro,gi;return fo<=0?(Ro=$-1,gi=Jt(Ro)+fo):fo>Jt($)?(Ro=$+1,gi=fo-Jt($)):(Ro=$,gi=fo),{year:Ro,dayOfYear:gi}}function Dt($,fe,Ue){var at=ut($.year(),fe,Ue),Rt=Math.floor(($.dayOfYear()-at-1)/7)+1,On,Tr;return Rt<1?(Tr=$.year()-1,On=Rt+xt(Tr,fe,Ue)):Rt>xt($.year(),fe,Ue)?(On=Rt-xt($.year(),fe,Ue),Tr=$.year()+1):(Tr=$.year(),On=Rt),{week:On,year:Tr}}function xt($,fe,Ue){var at=ut($,fe,Ue),Rt=ut($+1,fe,Ue);return(Jt($)-at+Rt)/7}ve("w",["ww",2],"wo","week"),ve("W",["WW",2],"Wo","isoWeek"),V("week","w"),V("isoWeek","W"),ge("week",5),ge("isoWeek",5),dt("w",we),dt("ww",we,Ee),dt("W",we),dt("WW",we,Ee),Kt(["w","ww","W","WW"],function($,fe,Ue,at){fe[at.substr(0,1)]=xe($)});function kt($){return Dt($,this._week.dow,this._week.doy).week}var sn={dow:0,doy:6};function tn(){return this._week.dow}function xn(){return this._week.doy}function Nn($){var fe=this.localeData().week(this);return $==null?fe:this.add(($-fe)*7,"d")}function gr($){var fe=Dt(this,1,4).week;return $==null?fe:this.add(($-fe)*7,"d")}ve("d",0,"do","day"),ve("dd",0,0,function($){return this.localeData().weekdaysMin(this,$)}),ve("ddd",0,0,function($){return this.localeData().weekdaysShort(this,$)}),ve("dddd",0,0,function($){return this.localeData().weekdays(this,$)}),ve("e",0,0,"weekday"),ve("E",0,0,"isoWeekday"),V("day","d"),V("weekday","e"),V("isoWeekday","E"),ge("day",11),ge("weekday",11),ge("isoWeekday",11),dt("d",we),dt("e",we),dt("E",we),dt("dd",function($,fe){return fe.weekdaysMinRegex($)}),dt("ddd",function($,fe){return fe.weekdaysShortRegex($)}),dt("dddd",function($,fe){return fe.weekdaysRegex($)}),Kt(["dd","ddd","dddd"],function($,fe,Ue,at){var Rt=Ue._locale.weekdaysParse($,at,Ue._strict);Rt!=null?fe.d=Rt:x(Ue).invalidWeekday=$}),Kt(["d","e","E"],function($,fe,Ue,at){fe[at]=xe($)});function nr($,fe){return typeof $!="string"?$:isNaN($)?($=fe.weekdaysParse($),typeof $=="number"?$:null):parseInt($,10)}function Rn($,fe){return typeof $=="string"?fe.weekdaysParse($)%7||7:isNaN($)?null:$}function kr($,fe){return $.slice(fe,7).concat($.slice(0,fe))}var fr="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),ua="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Pr="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Bn=wt,Cn=wt,wn=wt;function ar($,fe){var Ue=s(this._weekdays)?this._weekdays:this._weekdays[$&&$!==!0&&this._weekdays.isFormat.test(fe)?"format":"standalone"];return $===!0?kr(Ue,this._week.dow):$?Ue[$.day()]:Ue}function mr($){return $===!0?kr(this._weekdaysShort,this._week.dow):$?this._weekdaysShort[$.day()]:this._weekdaysShort}function Qr($){return $===!0?kr(this._weekdaysMin,this._week.dow):$?this._weekdaysMin[$.day()]:this._weekdaysMin}function qr($,fe,Ue){var at,Rt,On,Tr=$.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],at=0;at<7;++at)On=S([2e3,1]).day(at),this._minWeekdaysParse[at]=this.weekdaysMin(On,"").toLocaleLowerCase(),this._shortWeekdaysParse[at]=this.weekdaysShort(On,"").toLocaleLowerCase(),this._weekdaysParse[at]=this.weekdays(On,"").toLocaleLowerCase();return Ue?fe==="dddd"?(Rt=un.call(this._weekdaysParse,Tr),Rt!==-1?Rt:null):fe==="ddd"?(Rt=un.call(this._shortWeekdaysParse,Tr),Rt!==-1?Rt:null):(Rt=un.call(this._minWeekdaysParse,Tr),Rt!==-1?Rt:null):fe==="dddd"?(Rt=un.call(this._weekdaysParse,Tr),Rt!==-1||(Rt=un.call(this._shortWeekdaysParse,Tr),Rt!==-1)?Rt:(Rt=un.call(this._minWeekdaysParse,Tr),Rt!==-1?Rt:null)):fe==="ddd"?(Rt=un.call(this._shortWeekdaysParse,Tr),Rt!==-1||(Rt=un.call(this._weekdaysParse,Tr),Rt!==-1)?Rt:(Rt=un.call(this._minWeekdaysParse,Tr),Rt!==-1?Rt:null)):(Rt=un.call(this._minWeekdaysParse,Tr),Rt!==-1||(Rt=un.call(this._weekdaysParse,Tr),Rt!==-1)?Rt:(Rt=un.call(this._shortWeekdaysParse,Tr),Rt!==-1?Rt:null))}function ya($,fe,Ue){var at,Rt,On;if(this._weekdaysParseExact)return qr.call(this,$,fe,Ue);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),at=0;at<7;at++){if(Rt=S([2e3,1]).day(at),Ue&&!this._fullWeekdaysParse[at]&&(this._fullWeekdaysParse[at]=new RegExp("^"+this.weekdays(Rt,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[at]=new RegExp("^"+this.weekdaysShort(Rt,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[at]=new RegExp("^"+this.weekdaysMin(Rt,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[at]||(On="^"+this.weekdays(Rt,"")+"|^"+this.weekdaysShort(Rt,"")+"|^"+this.weekdaysMin(Rt,""),this._weekdaysParse[at]=new RegExp(On.replace(".",""),"i")),Ue&&fe==="dddd"&&this._fullWeekdaysParse[at].test($))return at;if(Ue&&fe==="ddd"&&this._shortWeekdaysParse[at].test($))return at;if(Ue&&fe==="dd"&&this._minWeekdaysParse[at].test($))return at;if(!Ue&&this._weekdaysParse[at].test($))return at}}function dr($){if(!this.isValid())return $!=null?this:NaN;var fe=this._isUTC?this._d.getUTCDay():this._d.getDay();return $!=null?($=nr($,this.localeData()),this.add($-fe,"d")):fe}function Br($){if(!this.isValid())return $!=null?this:NaN;var fe=(this.day()+7-this.localeData()._week.dow)%7;return $==null?fe:this.add($-fe,"d")}function Ea($){if(!this.isValid())return $!=null?this:NaN;if($!=null){var fe=Rn($,this.localeData());return this.day(this.day()%7?fe:fe-7)}else return this.day()||7}function ca($){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||vr.call(this),$?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=Bn),this._weekdaysStrictRegex&&$?this._weekdaysStrictRegex:this._weekdaysRegex)}function Kn($){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||vr.call(this),$?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Cn),this._weekdaysShortStrictRegex&&$?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function zn($){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||vr.call(this),$?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=wn),this._weekdaysMinStrictRegex&&$?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function vr(){function $(Gi,ol){return ol.length-Gi.length}var fe=[],Ue=[],at=[],Rt=[],On,Tr,fo,Ro,gi;for(On=0;On<7;On++)Tr=S([2e3,1]).day(On),fo=lt(this.weekdaysMin(Tr,"")),Ro=lt(this.weekdaysShort(Tr,"")),gi=lt(this.weekdays(Tr,"")),fe.push(fo),Ue.push(Ro),at.push(gi),Rt.push(fo),Rt.push(Ro),Rt.push(gi);fe.sort($),Ue.sort($),at.sort($),Rt.sort($),this._weekdaysRegex=new RegExp("^("+Rt.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+at.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+Ue.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+fe.join("|")+")","i")}function ra(){return this.hours()%12||12}function xr(){return this.hours()||24}ve("H",["HH",2],0,"hour"),ve("h",["hh",2],0,ra),ve("k",["kk",2],0,xr),ve("hmm",0,0,function(){return""+ra.apply(this)+k(this.minutes(),2)}),ve("hmmss",0,0,function(){return""+ra.apply(this)+k(this.minutes(),2)+k(this.seconds(),2)}),ve("Hmm",0,0,function(){return""+this.hours()+k(this.minutes(),2)}),ve("Hmmss",0,0,function(){return""+this.hours()+k(this.minutes(),2)+k(this.seconds(),2)});function jt($,fe){ve($,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),fe)})}jt("a",!0),jt("A",!1),V("hour","h"),ge("hour",13);function an($,fe){return fe._meridiemParse}dt("a",an),dt("A",an),dt("H",we),dt("h",we),dt("k",we),dt("HH",we,Ee),dt("hh",we,Ee),dt("kk",we,Ee),dt("hmm",Re),dt("hmmss",st),dt("Hmm",Re),dt("Hmmss",st),It(["H","HH"],Et),It(["k","kk"],function($,fe,Ue){var at=xe($);fe[Et]=at===24?0:at}),It(["a","A"],function($,fe,Ue){Ue._isPm=Ue._locale.isPM($),Ue._meridiem=$}),It(["h","hh"],function($,fe,Ue){fe[Et]=xe($),x(Ue).bigHour=!0}),It("hmm",function($,fe,Ue){var at=$.length-2;fe[Et]=xe($.substr(0,at)),fe[Tt]=xe($.substr(at)),x(Ue).bigHour=!0}),It("hmmss",function($,fe,Ue){var at=$.length-4,Rt=$.length-2;fe[Et]=xe($.substr(0,at)),fe[Tt]=xe($.substr(at,2)),fe[Ye]=xe($.substr(Rt)),x(Ue).bigHour=!0}),It("Hmm",function($,fe,Ue){var at=$.length-2;fe[Et]=xe($.substr(0,at)),fe[Tt]=xe($.substr(at))}),It("Hmmss",function($,fe,Ue){var at=$.length-4,Rt=$.length-2;fe[Et]=xe($.substr(0,at)),fe[Tt]=xe($.substr(at,2)),fe[Ye]=xe($.substr(Rt))});function hn($){return($+"").toLowerCase().charAt(0)==="p"}var ao=/[ap]\.?m?\.?/i,Mo=Se("Hours",!0);function Ua($,fe,Ue){return $>11?Ue?"pm":"PM":Ue?"am":"AM"}var Ha={calendar:O,longDateFormat:Xe,invalidDate:Ct,ordinal:Ht,dayOfMonthOrdinalParse:ke,relativeTime:ot,months:vn,monthsShort:Xn,week:sn,weekdays:fr,weekdaysMin:Pr,weekdaysShort:ua,meridiemParse:ao},eo={},jo={},Wo;function Eo($,fe){var Ue,at=Math.min($.length,fe.length);for(Ue=0;Ue0;){if(Rt=cn(On.slice(0,Ue).join("-")),Rt)return Rt;if(at&&at.length>=Ue&&Eo(On,at)>=Ue-1)break;Ue--}fe++}return Wo}function Ie($){return $.match("^[^/\\\\]*$")!=null}function cn($){var fe=null,Ue;if(eo[$]===void 0&&b&&b.exports&&Ie($))try{fe=Wo._abbr,Ue=void 0,Object(function(){var Rt=new Error("Cannot find module 'undefined'");throw Rt.code="MODULE_NOT_FOUND",Rt}()),dn(fe)}catch(at){eo[$]=null}return eo[$]}function dn($,fe){var Ue;return $&&(c(fe)?Ue=yr($):Ue=_n($,fe),Ue?Wo=Ue:typeof console!="undefined"&&console.warn&&console.warn("Locale "+$+" not found. Did you forget to load it?")),Wo._abbr}function _n($,fe){if(fe!==null){var Ue,at=Ha;if(fe.abbr=$,eo[$]!=null)_("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),at=eo[$]._config;else if(fe.parentLocale!=null)if(eo[fe.parentLocale]!=null)at=eo[fe.parentLocale]._config;else if(Ue=cn(fe.parentLocale),Ue!=null)at=Ue._config;else return jo[fe.parentLocale]||(jo[fe.parentLocale]=[]),jo[fe.parentLocale].push({name:$,config:fe}),null;return eo[$]=new C(Q(at,fe)),jo[$]&&jo[$].forEach(function(Rt){_n(Rt.name,Rt.config)}),dn($),eo[$]}else return delete eo[$],null}function Tn($,fe){if(fe!=null){var Ue,at,Rt=Ha;eo[$]!=null&&eo[$].parentLocale!=null?eo[$].set(Q(eo[$]._config,fe)):(at=cn($),at!=null&&(Rt=at._config),fe=Q(Rt,fe),at==null&&(fe.abbr=$),Ue=new C(fe),Ue.parentLocale=eo[$],eo[$]=Ue),dn($)}else eo[$]!=null&&(eo[$].parentLocale!=null?(eo[$]=eo[$].parentLocale,$===dn()&&dn($)):eo[$]!=null&&delete eo[$]);return eo[$]}function yr($){var fe;if($&&$._locale&&$._locale._abbr&&($=$._locale._abbr),!$)return Wo;if(!s($)){if(fe=cn($),fe)return fe;$=[$]}return Nt($)}function Wr(){return X(eo)}function Da($){var fe,Ue=$._a;return Ue&&x($).overflow===-2&&(fe=Ue[Le]<0||Ue[Le]>11?Le:Ue[Ce]<1||Ue[Ce]>Mn(Ue[Mt],Ue[Le])?Ce:Ue[Et]<0||Ue[Et]>24||Ue[Et]===24&&(Ue[Tt]!==0||Ue[Ye]!==0||Ue[et]!==0)?Et:Ue[Tt]<0||Ue[Tt]>59?Tt:Ue[Ye]<0||Ue[Ye]>59?Ye:Ue[et]<0||Ue[et]>999?et:-1,x($)._overflowDayOfYear&&(feCe)&&(fe=Ce),x($)._overflowWeeks&&fe===-1&&(fe=_t),x($)._overflowWeekday&&fe===-1&&(fe=Ut),x($).overflow=fe),$}var la=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ea=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,oa=/Z|[+-]\d\d(?::?\d\d)?/,Ir=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],$r=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],pa=/^\/?Date\((-?\d+)/i,La=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,lo={UT:0,GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function Qa($){var fe,Ue,at=$._i,Rt=la.exec(at)||ea.exec(at),On,Tr,fo,Ro,gi=Ir.length,Gi=$r.length;if(Rt){for(x($).iso=!0,fe=0,Ue=gi;feJt(Tr)||$._dayOfYear===0)&&(x($)._overflowDayOfYear=!0),Ue=tr(Tr,0,$._dayOfYear),$._a[Le]=Ue.getUTCMonth(),$._a[Ce]=Ue.getUTCDate()),fe=0;fe<3&&$._a[fe]==null;++fe)$._a[fe]=at[fe]=Rt[fe];for(;fe<7;fe++)$._a[fe]=at[fe]=$._a[fe]==null?fe===2?1:0:$._a[fe];$._a[Et]===24&&$._a[Tt]===0&&$._a[Ye]===0&&$._a[et]===0&&($._nextDay=!0,$._a[Et]=0),$._d=($._useUTC?tr:Zn).apply(null,at),On=$._useUTC?$._d.getUTCDay():$._d.getDay(),$._tzm!=null&&$._d.setUTCMinutes($._d.getUTCMinutes()-$._tzm),$._nextDay&&($._a[Et]=24),$._w&&typeof $._w.d!="undefined"&&$._w.d!==On&&(x($).weekdayMismatch=!0)}}function Sr($){var fe,Ue,at,Rt,On,Tr,fo,Ro,gi;fe=$._w,fe.GG!=null||fe.W!=null||fe.E!=null?(On=1,Tr=4,Ue=sr(fe.GG,$._a[Mt],Dt(_a(),1,4).year),at=sr(fe.W,1),Rt=sr(fe.E,1),(Rt<1||Rt>7)&&(Ro=!0)):(On=$._locale._week.dow,Tr=$._locale._week.doy,gi=Dt(_a(),On,Tr),Ue=sr(fe.gg,$._a[Mt],gi.year),at=sr(fe.w,gi.week),fe.d!=null?(Rt=fe.d,(Rt<0||Rt>6)&&(Ro=!0)):fe.e!=null?(Rt=fe.e+On,(fe.e<0||fe.e>6)&&(Ro=!0)):Rt=On),at<1||at>xt(Ue,On,Tr)?x($)._overflowWeeks=!0:Ro!=null?x($)._overflowWeekday=!0:(fo=ct(Ue,at,Rt,On,Tr),$._a[Mt]=fo.year,$._dayOfYear=fo.dayOfYear)}t.ISO_8601=function(){},t.RFC_2822=function(){};function xa($){if($._f===t.ISO_8601){Qa($);return}if($._f===t.RFC_2822){Hr($);return}$._a=[],x($).empty=!0;var fe=""+$._i,Ue,at,Rt,On,Tr,fo=fe.length,Ro=0,gi,Gi;for(Rt=qe($._f,$._locale).match(A)||[],Gi=Rt.length,Ue=0;Ue0&&x($).unusedInput.push(Tr),fe=fe.slice(fe.indexOf(at)+at.length),Ro+=at.length),me[On]?(at?x($).empty=!1:x($).unusedTokens.push(On),zt(On,at,$)):$._strict&&!at&&x($).unusedTokens.push(On);x($).charsLeftOver=fo-Ro,fe.length>0&&x($).unusedInput.push(fe),$._a[Et]<=12&&x($).bigHour===!0&&$._a[Et]>0&&(x($).bigHour=void 0),x($).parsedDateParts=$._a.slice(0),x($).meridiem=$._meridiem,$._a[Et]=Xa($._locale,$._a[Et],$._meridiem),gi=x($).era,gi!==null&&($._a[Mt]=$._locale.erasConvertYear(gi,$._a[Mt])),va($),Da($)}function Xa($,fe,Ue){var at;return Ue==null?fe:$.meridiemHour!=null?$.meridiemHour(fe,Ue):($.isPM!=null&&(at=$.isPM(Ue),at&&fe<12&&(fe+=12),!at&&fe===12&&(fe=0)),fe)}function bo($){var fe,Ue,at,Rt,On,Tr,fo=!1,Ro=$._f.length;if(Ro===0){x($).invalidFormat=!0,$._d=new Date(NaN);return}for(Rt=0;Rtthis?this:$:T()});function ni($,fe){var Ue,at;if(fe.length===1&&s(fe[0])&&(fe=fe[0]),!fe.length)return _a();for(Ue=fe[0],at=1;atthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function kn(){if(!c(this._isDSTShifted))return this._isDSTShifted;var $={},fe;return D($,this),$=xo($),$._a?(fe=$._isUTC?S($._a):_a($._a),this._isDSTShifted=this.isValid()&&oo($._a,fe.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function _r(){return this.isValid()?!this._isUTC:!1}function Dr(){return this.isValid()?this._isUTC:!1}function Zr(){return this.isValid()?this._isUTC&&this._offset===0:!1}var sa=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,ja=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Fa($,fe){var Ue=$,at=null,Rt,On,Tr;return Zi($)?Ue={ms:$._milliseconds,d:$._days,M:$._months}:m($)||!isNaN(+$)?(Ue={},fe?Ue[fe]=+$:Ue.milliseconds=+$):(at=sa.exec($))?(Rt=at[1]==="-"?-1:1,Ue={y:0,d:xe(at[Ce])*Rt,h:xe(at[Et])*Rt,m:xe(at[Tt])*Rt,s:xe(at[Ye])*Rt,ms:xe(ji(at[et]*1e3))*Rt}):(at=ja.exec($))?(Rt=at[1]==="-"?-1:1,Ue={y:Na(at[2],Rt),M:Na(at[3],Rt),w:Na(at[4],Rt),d:Na(at[5],Rt),h:Na(at[6],Rt),m:Na(at[7],Rt),s:Na(at[8],Rt)}):Ue==null?Ue={}:typeof Ue=="object"&&("from"in Ue||"to"in Ue)&&(Tr=Vo(_a(Ue.from),_a(Ue.to)),Ue={},Ue.ms=Tr.milliseconds,Ue.M=Tr.months),On=new yi(Ue),Zi($)&&d($,"_locale")&&(On._locale=$._locale),Zi($)&&d($,"_isValid")&&(On._isValid=$._isValid),On}Fa.fn=yi.prototype,Fa.invalid=hi;function Na($,fe){var Ue=$&&parseFloat($.replace(",","."));return(isNaN(Ue)?0:Ue)*fe}function Bo($,fe){var Ue={};return Ue.months=fe.month()-$.month()+(fe.year()-$.year())*12,$.clone().add(Ue.months,"M").isAfter(fe)&&--Ue.months,Ue.milliseconds=+fe-+$.clone().add(Ue.months,"M"),Ue}function Vo($,fe){var Ue;return $.isValid()&&fe.isValid()?(fe=No(fe,$),$.isBefore(fe)?Ue=Bo($,fe):(Ue=Bo(fe,$),Ue.milliseconds=-Ue.milliseconds,Ue.months=-Ue.months),Ue):{milliseconds:0,months:0}}function Go($,fe){return function(Ue,at){var Rt,On;return at!==null&&!isNaN(+at)&&(_(fe,"moment()."+fe+"(period, number) is deprecated. Please use moment()."+fe+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),On=Ue,Ue=at,at=On),Rt=Fa(Ue,at),Bi(this,Rt,$),this}}function Bi($,fe,Ue,at){var Rt=fe._milliseconds,On=ji(fe._days),Tr=ji(fe._months);$.isValid()&&(at=at==null?!0:at,Tr&&En($,$e($,"Month")+Tr*Ue),On&&re($,"Date",$e($,"Date")+On*Ue),Rt&&$._d.setTime($._d.valueOf()+Rt*Ue),at&&t.updateOffset($,On||Tr))}var ps=Go(1,"add"),es=Go(-1,"subtract");function $s($){return typeof $=="string"||$ instanceof String}function ss($){return j($)||g($)||$s($)||m($)||Fl($)||qo($)||$===null||$===void 0}function qo($){var fe=n($)&&!l($),Ue=!1,at=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],Rt,On,Tr=at.length;for(Rt=0;RtUe.valueOf():Ue.valueOf()9999?Je(Ue,fe?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):ee(Date.prototype.toISOString)?fe?this.toDate().toISOString():new Date(this.valueOf()+this.utcOffset()*60*1e3).toISOString().replace("Z",Je(Ue,"Z")):Je(Ue,fe?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function Kl(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var $="moment",fe="",Ue,at,Rt,On;return this.isLocal()||($=this.utcOffset()===0?"moment.utc":"moment.parseZone",fe="Z"),Ue="["+$+'("]',at=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",Rt="-MM-DD[T]HH:mm:ss.SSS",On=fe+'[")]',this.format(Ue+at+Rt+On)}function ys($){$||($=this.isUtc()?t.defaultFormatUtc:t.defaultFormat);var fe=Je(this,$);return this.localeData().postformat(fe)}function Ft($,fe){return this.isValid()&&(j($)&&$.isValid()||_a($).isValid())?Fa({to:this,from:$}).locale(this.locale()).humanize(!fe):this.localeData().invalidDate()}function Do($){return this.from(_a(),$)}function Ls($,fe){return this.isValid()&&(j($)&&$.isValid()||_a($).isValid())?Fa({from:this,to:$}).locale(this.locale()).humanize(!fe):this.localeData().invalidDate()}function Uo($){return this.to(_a(),$)}function Ol($){var fe;return $===void 0?this._locale._abbr:(fe=yr($),fe!=null&&(this._locale=fe),this)}var fa=W("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function($){return $===void 0?this.localeData():this.locale($)});function vl(){return this._locale}var Bl=1e3,qs=60*Bl,Ql=60*qs,$l=(365*400+97)*24*Ql;function wo($,fe){return($%fe+fe)%fe}function Si($,fe,Ue){return $<100&&$>=0?new Date($+400,fe,Ue)-$l:new Date($,fe,Ue).valueOf()}function Sc($,fe,Ue){return $<100&&$>=0?Date.UTC($+400,fe,Ue)-$l:Date.UTC($,fe,Ue)}function dc($){var fe,Ue;if($=R($),$===void 0||$==="millisecond"||!this.isValid())return this;switch(Ue=this._isUTC?Sc:Si,$){case"year":fe=Ue(this.year(),0,1);break;case"quarter":fe=Ue(this.year(),this.month()-this.month()%3,1);break;case"month":fe=Ue(this.year(),this.month(),1);break;case"week":fe=Ue(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":fe=Ue(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":fe=Ue(this.year(),this.month(),this.date());break;case"hour":fe=this._d.valueOf(),fe-=wo(fe+(this._isUTC?0:this.utcOffset()*qs),Ql);break;case"minute":fe=this._d.valueOf(),fe-=wo(fe,qs);break;case"second":fe=this._d.valueOf(),fe-=wo(fe,Bl);break}return this._d.setTime(fe),t.updateOffset(this,!0),this}function qa($){var fe,Ue;if($=R($),$===void 0||$==="millisecond"||!this.isValid())return this;switch(Ue=this._isUTC?Sc:Si,$){case"year":fe=Ue(this.year()+1,0,1)-1;break;case"quarter":fe=Ue(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":fe=Ue(this.year(),this.month()+1,1)-1;break;case"week":fe=Ue(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":fe=Ue(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":fe=Ue(this.year(),this.month(),this.date()+1)-1;break;case"hour":fe=this._d.valueOf(),fe+=Ql-wo(fe+(this._isUTC?0:this.utcOffset()*qs),Ql)-1;break;case"minute":fe=this._d.valueOf(),fe+=qs-wo(fe,qs)-1;break;case"second":fe=this._d.valueOf(),fe+=Bl-wo(fe,Bl)-1;break}return this._d.setTime(fe),t.updateOffset(this,!0),this}function as(){return this._d.valueOf()-(this._offset||0)*6e4}function el(){return Math.floor(this.valueOf()/1e3)}function za(){return new Date(this.valueOf())}function iu(){var $=this;return[$.year(),$.month(),$.date(),$.hour(),$.minute(),$.second(),$.millisecond()]}function Yi(){var $=this;return{years:$.year(),months:$.month(),date:$.date(),hours:$.hours(),minutes:$.minutes(),seconds:$.seconds(),milliseconds:$.milliseconds()}}function Zl(){return this.isValid()?this.toISOString():null}function Dl(){return U(this)}function Xl(){return h({},x(this))}function Ul(){return x(this).overflow}function fc(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}ve("N",0,0,"eraAbbr"),ve("NN",0,0,"eraAbbr"),ve("NNN",0,0,"eraAbbr"),ve("NNNN",0,0,"eraName"),ve("NNNNN",0,0,"eraNarrow"),ve("y",["y",1],"yo","eraYear"),ve("y",["yy",2],0,"eraYear"),ve("y",["yyy",3],0,"eraYear"),ve("y",["yyyy",4],0,"eraYear"),dt("N",Wi),dt("NN",Wi),dt("NNN",Wi),dt("NNNN",Ko),dt("NNNNN",po),It(["N","NN","NNN","NNNN","NNNNN"],function($,fe,Ue,at){var Rt=Ue._locale.erasParse($,at,Ue._strict);Rt?x(Ue).era=Rt:x(Ue).invalidEra=$}),dt("y",Be),dt("yy",Be),dt("yyy",Be),dt("yyyy",Be),dt("yo",pu),It(["y","yy","yyy","yyyy"],Mt),It(["yo"],function($,fe,Ue,at){var Rt;Ue._locale._eraYearOrdinalRegex&&(Rt=$.match(Ue._locale._eraYearOrdinalRegex)),Ue._locale.eraYearOrdinalParse?fe[Mt]=Ue._locale.eraYearOrdinalParse($,Rt):fe[Mt]=parseInt($,10)});function Ou($,fe){var Ue,at,Rt,On=this._eras||yr("en")._eras;for(Ue=0,at=On.length;Ue=0)return On[at]}function Du($,fe){var Ue=$.since<=$.until?1:-1;return fe===void 0?t($.since).year():t($.since).year()+(fe-$.offset)*Ue}function su(){var $,fe,Ue,at=this.localeData().eras();for($=0,fe=at.length;$On&&(fe=On),yu.call(this,$,fe,Ue,at,Rt))}function yu($,fe,Ue,at,Rt){var On=ct($,fe,Ue,at,Rt),Tr=tr(On.year,0,On.dayOfYear);return this.year(Tr.getUTCFullYear()),this.month(Tr.getUTCMonth()),this.date(Tr.getUTCDate()),this}ve("Q",0,"Qo","quarter"),V("quarter","Q"),ge("quarter",7),dt("Q",ue),It("Q",function($,fe){fe[Le]=(xe($)-1)*3});function Ni($){return $==null?Math.ceil((this.month()+1)/3):this.month(($-1)*3+this.month()%3)}ve("D",["DD",2],"Do","date"),V("date","D"),ge("date",9),dt("D",we),dt("DD",we,Ee),dt("Do",function($,fe){return $?fe._dayOfMonthOrdinalParse||fe._ordinalParse:fe._dayOfMonthOrdinalParseLenient}),It(["D","DD"],Ce),It("Do",function($,fe){fe[Ce]=xe($.match(we)[0])});var lu=Se("Date",!0);ve("DDD",["DDDD",3],"DDDo","dayOfYear"),V("dayOfYear","DDD"),ge("dayOfYear",4),dt("DDD",nt),dt("DDDD",le),It(["DDD","DDDD"],function($,fe,Ue){Ue._dayOfYear=xe($)});function wu($){var fe=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return $==null?fe:this.add($-fe,"d")}ve("m",["mm",2],0,"minute"),V("minute","m"),ge("minute",14),dt("m",we),dt("mm",we,Ee),It(["m","mm"],Tt);var rl=Se("Minutes",!1);ve("s",["ss",2],0,"second"),V("second","s"),ge("second",15),dt("s",we),dt("ss",we,Ee),It(["s","ss"],Ye);var wl=Se("Seconds",!1);ve("S",0,0,function(){return~~(this.millisecond()/100)}),ve(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),ve(0,["SSS",3],0,"millisecond"),ve(0,["SSSS",4],0,function(){return this.millisecond()*10}),ve(0,["SSSSS",5],0,function(){return this.millisecond()*100}),ve(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3}),ve(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4}),ve(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5}),ve(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6}),V("millisecond","ms"),ge("millisecond",16),dt("S",nt,ue),dt("SS",nt,Ee),dt("SSS",nt,le);var al,Os;for(al="SSSS";al.length<=9;al+="S")dt(al,Be);function Ds($,fe){fe[et]=xe(("0."+$)*1e3)}for(al="S";al.length<=9;al+="S")It(al,Ds);Os=Se("Milliseconds",!1),ve("z",0,0,"zoneAbbr"),ve("zz",0,0,"zoneName");function bu(){return this._isUTC?"UTC":""}function Ws(){return this._isUTC?"Coordinated Universal Time":""}var ha=L.prototype;ha.add=ps,ha.calendar=vu,ha.clone=cl,ha.diff=hs,ha.endOf=qa,ha.format=ys,ha.from=Ft,ha.fromNow=Do,ha.to=Ls,ha.toNow=Uo,ha.get=oe,ha.invalidAt=Ul,ha.isAfter=dl,ha.isBefore=Zs,ha.isBetween=Js,ha.isSame=fl,ha.isSameOrAfter=gu,ha.isSameOrBefore=vs,ha.isValid=Dl,ha.lang=fa,ha.locale=Ol,ha.localeData=vl,ha.max=Yo,ha.min=Io,ha.parsingFlags=Xl,ha.set=q,ha.startOf=dc,ha.subtract=es,ha.toArray=iu,ha.toObject=Yi,ha.toDate=za,ha.toISOString=mu,ha.inspect=Kl,typeof Symbol!="undefined"&&Symbol.for!=null&&(ha[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),ha.toJSON=Zl,ha.toString=ks,ha.unix=el,ha.valueOf=as,ha.creationData=fc,ha.eraName=su,ha.eraNarrow=As,ha.eraAbbr=tl,ha.eraYear=gl,ha.year=pn,ha.isLeapYear=mn,ha.weekYear=ml,ha.isoWeekYear=Ei,ha.quarter=ha.quarters=Ni,ha.month=on,ha.daysInMonth=pt,ha.week=ha.weeks=Nn,ha.isoWeek=ha.isoWeeks=gr,ha.weeksInYear=us,ha.weeksInWeekYear=ho,ha.isoWeeksInYear=Di,ha.isoWeeksInISOWeekYear=ls,ha.date=lu,ha.day=ha.days=dr,ha.weekday=Br,ha.isoWeekday=Ea,ha.dayOfYear=wu,ha.hour=ha.hours=Mo,ha.minute=ha.minutes=rl,ha.second=ha.seconds=wl,ha.millisecond=ha.milliseconds=Os,ha.utcOffset=xi,ha.utc=ki,ha.local=Ts,ha.parseZone=fs,ha.hasAlignedHourOffset=Xs,ha.isDST=zl,ha.isLocal=_r,ha.isUtcOffset=Dr,ha.isUtc=Zr,ha.isUTC=Zr,ha.zoneAbbr=bu,ha.zoneName=Ws,ha.dates=W("dates accessor is deprecated. Use date instead.",lu),ha.months=W("months accessor is deprecated. Use month instead",on),ha.years=W("years accessor is deprecated. Use year instead",pn),ha.zone=W("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Ui),ha.isDSTShifted=W("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",kn);function rt($){return _a($*1e3)}function Vt(){return _a.apply(null,arguments).parseZone()}function Wn($){return $}var cr=C.prototype;cr.calendar=H,cr.longDateFormat=mt,cr.invalidDate=vt,cr.ordinal=Ve,cr.preparse=Wn,cr.postformat=Wn,cr.relativeTime=Ke,cr.pastFuture=he,cr.set=se,cr.eras=Ou,cr.erasParse=$o,cr.erasConvertYear=Du,cr.erasAbbrRegex=Ii,cr.erasNameRegex=Zt,cr.erasNarrowRegex=Jl,cr.months=Wt,cr.monthsShort=en,cr.monthsParse=fn,cr.monthsRegex=Xt,cr.monthsShortRegex=gt,cr.week=kt,cr.firstDayOfYear=xn,cr.firstDayOfWeek=tn,cr.weekdays=ar,cr.weekdaysMin=Qr,cr.weekdaysShort=mr,cr.weekdaysParse=ya,cr.weekdaysRegex=ca,cr.weekdaysShortRegex=Kn,cr.weekdaysMinRegex=zn,cr.isPM=hn,cr.meridiem=Ua;function wa($,fe,Ue,at){var Rt=yr(),On=S().set(at,fe);return Rt[Ue](On,$)}function go($,fe,Ue){if(m($)&&(fe=$,$=void 0),$=$||"",fe!=null)return wa($,fe,Ue,"month");var at,Rt=[];for(at=0;at<12;at++)Rt[at]=wa($,at,Ue,"month");return Rt}function di($,fe,Ue,at){typeof $=="boolean"?(m(fe)&&(Ue=fe,fe=void 0),fe=fe||""):(fe=$,Ue=fe,$=!1,m(fe)&&(Ue=fe,fe=void 0),fe=fe||"");var Rt=yr(),On=$?Rt._week.dow:0,Tr,fo=[];if(Ue!=null)return wa(fe,(Ue+On)%7,at,"day");for(Tr=0;Tr<7;Tr++)fo[Tr]=wa(fe,(Tr+On)%7,at,"day");return fo}function Zo($,fe){return go($,fe,"months")}function os($,fe){return go($,fe,"monthsShort")}function ui($,fe,Ue){return di($,fe,Ue,"weekdays")}function fi($,fe,Ue){return di($,fe,Ue,"weekdaysShort")}function Ao($,fe,Ue){return di($,fe,Ue,"weekdaysMin")}dn("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function($){var fe=$%10,Ue=xe($%100/10)===1?"th":fe===1?"st":fe===2?"nd":fe===3?"rd":"th";return $+Ue}}),t.lang=W("moment.lang is deprecated. Use moment.locale instead.",dn),t.langData=W("moment.langData is deprecated. Use moment.localeData instead.",yr);var To=Math.abs;function Hi(){var $=this._data;return this._milliseconds=To(this._milliseconds),this._days=To(this._days),this._months=To(this._months),$.milliseconds=To($.milliseconds),$.seconds=To($.seconds),$.minutes=To($.minutes),$.hours=To($.hours),$.months=To($.months),$.years=To($.years),this}function Ms($,fe,Ue,at){var Rt=Fa(fe,Ue);return $._milliseconds+=at*Rt._milliseconds,$._days+=at*Rt._days,$._months+=at*Rt._months,$._bubble()}function uu($,fe){return Ms(this,$,fe,1)}function ql($,fe){return Ms(this,$,fe,-1)}function Ss($){return $<0?Math.floor($):Math.ceil($)}function Mu(){var $=this._milliseconds,fe=this._days,Ue=this._months,at=this._data,Rt,On,Tr,fo,Ro;return $>=0&&fe>=0&&Ue>=0||$<=0&&fe<=0&&Ue<=0||($+=Ss(Es(Ue)+fe)*864e5,fe=0,Ue=0),at.milliseconds=$%1e3,Rt=Oe($/1e3),at.seconds=Rt%60,On=Oe(Rt/60),at.minutes=On%60,Tr=Oe(On/60),at.hours=Tr%24,fe+=Oe(Tr/24),Ro=Oe(eu(fe)),Ue+=Ro,fe-=Ss(Es(Ro)),fo=Oe(Ue/12),Ue%=12,at.days=fe,at.months=Ue,at.years=fo,this}function eu($){return $*4800/146097}function Es($){return $*146097/4800}function Lc($){if(!this.isValid())return NaN;var fe,Ue,at=this._milliseconds;if($=R($),$==="month"||$==="quarter"||$==="year")switch(fe=this._days+at/864e5,Ue=this._months+eu(fe),$){case"month":return Ue;case"quarter":return Ue/3;case"year":return Ue/12}else switch(fe=this._days+Math.round(Es(this._months)),$){case"week":return fe/7+at/6048e5;case"day":return fe+at/864e5;case"hour":return fe*24+at/36e5;case"minute":return fe*1440+at/6e4;case"second":return fe*86400+at/1e3;case"millisecond":return Math.floor(fe*864e5)+at;default:throw new Error("Unknown unit "+$)}}function rc(){return this.isValid()?this._milliseconds+this._days*864e5+this._months%12*2592e6+xe(this._months/12)*31536e6:NaN}function Hs($){return function(){return this.as($)}}var jl=Hs("ms"),tu=Hs("s"),ju=Hs("m"),Ec=Hs("h"),Pu=Hs("d"),Tu=Hs("w"),Su=Hs("M"),ts=Hs("Q"),Lu=Hs("y");function ws(){return Fa(this)}function Vi($){return $=R($),this.isValid()?this[$+"s"]():NaN}function Ns($){return function(){return this.isValid()?this._data[$]:NaN}}var pl=Ns("milliseconds"),ei=Ns("seconds"),cu=Ns("minutes"),cs=Ns("hours"),ac=Ns("days"),_s=Ns("months"),hl=Ns("years");function Ys(){return Oe(this.days()/7)}var vi=Math.round,js={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function Nu($,fe,Ue,at,Rt){return Rt.relativeTime(fe||1,!!Ue,$,at)}function Wu($,fe,Ue,at){var Rt=Fa($).abs(),On=vi(Rt.as("s")),Tr=vi(Rt.as("m")),fo=vi(Rt.as("h")),Ro=vi(Rt.as("d")),gi=vi(Rt.as("M")),Gi=vi(Rt.as("w")),ol=vi(Rt.as("y")),Ml=On<=Ue.ss&&["s",On]||On0,Ml[4]=at,Nu.apply(null,Ml)}function yl($){return $===void 0?vi:typeof $=="function"?(vi=$,!0):!1}function Eu($,fe){return js[$]===void 0?!1:fe===void 0?js[$]:(js[$]=fe,$==="s"&&(js.ss=fe-1),!0)}function Ru($,fe){if(!this.isValid())return this.localeData().invalidDate();var Ue=!1,at=js,Rt,On;return typeof $=="object"&&(fe=$,$=!1),typeof $=="boolean"&&(Ue=$),typeof fe=="object"&&(at=Object.assign({},js,fe),fe.s!=null&&fe.ss==null&&(at.ss=fe.s-1)),Rt=this.localeData(),On=Wu(this,!Ue,at,Rt),Ue&&(On=Rt.pastFuture(+this,On)),Rt.postformat(On)}var nu=Math.abs;function bl($){return($>0)-($<0)||+$}function kl(){if(!this.isValid())return this.localeData().invalidDate();var $=nu(this._milliseconds)/1e3,fe=nu(this._days),Ue=nu(this._months),at,Rt,On,Tr,fo=this.asSeconds(),Ro,gi,Gi,ol;return fo?(at=Oe($/60),Rt=Oe(at/60),$%=60,at%=60,On=Oe(Ue/12),Ue%=12,Tr=$?$.toFixed(3).replace(/\.?0+$/,""):"",Ro=fo<0?"-":"",gi=bl(this._months)!==bl(fo)?"-":"",Gi=bl(this._days)!==bl(fo)?"-":"",ol=bl(this._milliseconds)!==bl(fo)?"-":"",Ro+"P"+(On?gi+On+"Y":"")+(Ue?gi+Ue+"M":"")+(fe?Gi+fe+"D":"")+(Rt||at||$?"T":"")+(Rt?ol+Rt+"H":"")+(at?ol+at+"M":"")+($?ol+Tr+"S":"")):"P0D"}var ii=yi.prototype;ii.isValid=Pi,ii.abs=Hi,ii.add=uu,ii.subtract=ql,ii.as=Lc,ii.asMilliseconds=jl,ii.asSeconds=tu,ii.asMinutes=ju,ii.asHours=Ec,ii.asDays=Pu,ii.asWeeks=Tu,ii.asMonths=Su,ii.asQuarters=ts,ii.asYears=Lu,ii.valueOf=rc,ii._bubble=Mu,ii.clone=ws,ii.get=Vi,ii.milliseconds=pl,ii.seconds=ei,ii.minutes=cu,ii.hours=cs,ii.days=ac,ii.weeks=Ys,ii.months=_s,ii.years=hl,ii.humanize=Ru,ii.toISOString=kl,ii.toString=kl,ii.toJSON=kl,ii.locale=Ol,ii.localeData=vl,ii.toIsoString=W("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",kl),ii.lang=fa,ve("X",0,0,"unix"),ve("x",0,0,"valueOf"),dt("x",it),dt("X",$t),It("X",function($,fe,Ue){Ue._d=new Date(parseFloat($)*1e3)}),It("x",function($,fe,Ue){Ue._d=new Date(xe($))});return t.version="2.29.4",o(_a),t.fn=ha,t.min=co,t.max=Mi,t.now=ai,t.utc=S,t.unix=rt,t.months=Zo,t.isDate=g,t.locale=dn,t.invalid=T,t.duration=Fa,t.isMoment=j,t.weekdays=ui,t.parseZone=Vt,t.localeData=yr,t.isDuration=Zi,t.monthsShort=os,t.weekdaysMin=Ao,t.defineLocale=_n,t.updateLocale=Tn,t.locales=Wr,t.weekdaysShort=fi,t.normalizeUnits=R,t.relativeTimeRounding=yl,t.relativeTimeThreshold=Eu,t.calendarFormat=Al,t.prototype=ha,t.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},t})},73656:function(b){var y=b.exports={},e,a;function t(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?e=setTimeout:e=t}catch(w){e=t}try{typeof clearTimeout=="function"?a=clearTimeout:a=o}catch(w){a=o}})();function s(w){if(e===setTimeout)return setTimeout(w,0);if((e===t||!e)&&setTimeout)return e=setTimeout,setTimeout(w,0);try{return e(w,0)}catch(x){try{return e.call(null,w,0)}catch(z){return e.call(this,w,0)}}}function n(w){if(a===clearTimeout)return clearTimeout(w);if((a===o||!a)&&clearTimeout)return a=clearTimeout,clearTimeout(w);try{return a(w)}catch(x){try{return a.call(null,w)}catch(z){return a.call(this,w)}}}var d=[],l=!1,c,m=-1;function g(){!l||!c||(l=!1,c.length?d=c.concat(d):m=-1,d.length&&M())}function M(){if(!l){var w=s(g);l=!0;for(var x=d.length;x;){for(c=d,d=[];++m1)for(var z=1;z=it||Be<0||Be>=it)return _e;var Ge=_e[We],Ot=We-Be;return Ot>0?[].concat((0,d.Z)(_e.slice(0,Be)),[Ge],(0,d.Z)(_e.slice(Be,We)),(0,d.Z)(_e.slice(We+1,it))):Ot<0?[].concat((0,d.Z)(_e.slice(0,We)),(0,d.Z)(_e.slice(We+1,Be+1)),[Ge],(0,d.Z)(_e.slice(Be+1,it))):_e}var vt=["name"],Ht=[];function ke(_e,We,Be,it,Ge,Ot){return typeof _e=="function"?_e(We,Be,"source"in Ot?{source:Ot.source}:{}):it!==Ge}var Ve=function(_e){(0,g.Z)(Be,_e);var We=(0,M.Z)(Be);function Be(it){var Ge;if((0,l.Z)(this,Be),Ge=We.call(this,it),Ge.state={resetCount:0},Ge.cancelRegisterFunc=null,Ge.mounted=!1,Ge.touched=!1,Ge.dirty=!1,Ge.validatePromise=void 0,Ge.prevValidating=void 0,Ge.errors=Ht,Ge.warnings=Ht,Ge.cancelRegister=function(){var Pt=Ge.props,dt=Pt.preserve,je=Pt.isListField,tt=Pt.name;Ge.cancelRegisterFunc&&Ge.cancelRegisterFunc(je,dt,be(tt)),Ge.cancelRegisterFunc=null},Ge.getNamePath=function(){var Pt=Ge.props,dt=Pt.name,je=Pt.fieldContext,tt=je.prefixName,lt=tt===void 0?[]:tt;return dt!==void 0?[].concat((0,d.Z)(lt),(0,d.Z)(dt)):[]},Ge.getRules=function(){var Pt=Ge.props,dt=Pt.rules,je=dt===void 0?[]:dt,tt=Pt.fieldContext;return je.map(function(lt){return typeof lt=="function"?lt(tt):lt})},Ge.refresh=function(){Ge.mounted&&Ge.setState(function(Pt){var dt=Pt.resetCount;return{resetCount:dt+1}})},Ge.metaCache=null,Ge.triggerMetaEvent=function(Pt){var dt=Ge.props.onMetaChange;if(dt){var je=(0,n.Z)((0,n.Z)({},Ge.getMeta()),{},{destroy:Pt});(0,w.Z)(Ge.metaCache,je)||dt(je),Ge.metaCache=je}else Ge.metaCache=null},Ge.onStoreChange=function(Pt,dt,je){var tt=Ge.props,lt=tt.shouldUpdate,bt=tt.dependencies,It=bt===void 0?[]:bt,Kt=tt.onReset,zt=je.store,Mt=Ge.getNamePath(),Le=Ge.getValue(Pt),Ce=Ge.getValue(zt),Et=dt&&Je(dt,Mt);switch(je.type==="valueUpdate"&&je.source==="external"&&Le!==Ce&&(Ge.touched=!0,Ge.dirty=!0,Ge.validatePromise=null,Ge.errors=Ht,Ge.warnings=Ht,Ge.triggerMetaEvent()),je.type){case"reset":if(!dt||Et){Ge.touched=!1,Ge.dirty=!1,Ge.validatePromise=void 0,Ge.errors=Ht,Ge.warnings=Ht,Ge.triggerMetaEvent(),Kt==null||Kt(),Ge.refresh();return}break;case"remove":{if(lt){Ge.reRender();return}break}case"setField":{if(Et){var Tt=je.data;"touched"in Tt&&(Ge.touched=Tt.touched),"validating"in Tt&&!("originRCField"in Tt)&&(Ge.validatePromise=Tt.validating?Promise.resolve([]):null),"errors"in Tt&&(Ge.errors=Tt.errors||Ht),"warnings"in Tt&&(Ge.warnings=Tt.warnings||Ht),Ge.dirty=!0,Ge.triggerMetaEvent(),Ge.reRender();return}if(lt&&!Mt.length&&ke(lt,Pt,zt,Le,Ce,je)){Ge.reRender();return}break}case"dependenciesUpdate":{var Ye=It.map(be);if(Ye.some(function(et){return Je(je.relatedFields,et)})){Ge.reRender();return}break}default:if(Et||(!It.length||Mt.length||lt)&&ke(lt,Pt,zt,Le,Ce,je)){Ge.reRender();return}break}lt===!0&&Ge.reRender()},Ge.validateRules=function(Pt){var dt=Ge.getNamePath(),je=Ge.getValue(),tt=Pt||{},lt=tt.triggerName,bt=tt.validateOnly,It=bt===void 0?!1:bt,Kt=Promise.resolve().then(function(){if(!Ge.mounted)return[];var zt=Ge.props,Mt=zt.validateFirst,Le=Mt===void 0?!1:Mt,Ce=zt.messageVariables,Et=Ge.getRules();lt&&(Et=Et.filter(function(Ye){return Ye}).filter(function(Ye){var et=Ye.validateTrigger;if(!et)return!0;var _t=D(et);return _t.includes(lt)}));var Tt=H(dt,je,Et,Pt,Le,Ce);return Tt.catch(function(Ye){return Ye}).then(function(){var Ye=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Ht;if(Ge.validatePromise===Kt){var et;Ge.validatePromise=null;var _t=[],Ut=[];(et=Ye.forEach)===null||et===void 0||et.call(Ye,function(qt){var un=qt.rule.warningOnly,Mn=qt.errors,vn=Mn===void 0?Ht:Mn;un?Ut.push.apply(Ut,(0,d.Z)(vn)):_t.push.apply(_t,(0,d.Z)(vn))}),Ge.errors=_t,Ge.warnings=Ut,Ge.triggerMetaEvent(),Ge.reRender()}}),Tt});return It||(Ge.validatePromise=Kt,Ge.dirty=!0,Ge.errors=Ht,Ge.warnings=Ht,Ge.triggerMetaEvent(),Ge.reRender()),Kt},Ge.isFieldValidating=function(){return!!Ge.validatePromise},Ge.isFieldTouched=function(){return Ge.touched},Ge.isFieldDirty=function(){if(Ge.dirty||Ge.props.initialValue!==void 0)return!0;var Pt=Ge.props.fieldContext,dt=Pt.getInternalHooks(x),je=dt.getInitialValue;return je(Ge.getNamePath())!==void 0},Ge.getErrors=function(){return Ge.errors},Ge.getWarnings=function(){return Ge.warnings},Ge.isListField=function(){return Ge.props.isListField},Ge.isList=function(){return Ge.props.isList},Ge.isPreserve=function(){return Ge.props.preserve},Ge.getMeta=function(){Ge.prevValidating=Ge.isFieldValidating();var Pt={touched:Ge.isFieldTouched(),validating:Ge.prevValidating,errors:Ge.errors,warnings:Ge.warnings,name:Ge.getNamePath(),validated:Ge.validatePromise===null};return Pt},Ge.getOnlyChild=function(Pt){if(typeof Pt=="function"){var dt=Ge.getMeta();return(0,n.Z)((0,n.Z)({},Ge.getOnlyChild(Pt(Ge.getControlled(),dt,Ge.props.fieldContext))),{},{isFunction:!0})}var je=(0,h.Z)(Pt);return je.length!==1||!a.isValidElement(je[0])?{child:je,isFunction:!1}:{child:je[0],isFunction:!1}},Ge.getValue=function(Pt){var dt=Ge.props.fieldContext.getFieldsValue,je=Ge.getNamePath();return(0,ve.Z)(Pt||dt(!0),je)},Ge.getControlled=function(){var Pt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},dt=Ge.props,je=dt.trigger,tt=dt.validateTrigger,lt=dt.getValueFromEvent,bt=dt.normalize,It=dt.valuePropName,Kt=dt.getValueProps,zt=dt.fieldContext,Mt=tt!==void 0?tt:zt.validateTrigger,Le=Ge.getNamePath(),Ce=zt.getInternalHooks,Et=zt.getFieldsValue,Tt=Ce(x),Ye=Tt.dispatch,et=Ge.getValue(),_t=Kt||function(Mn){return(0,s.Z)({},It,Mn)},Ut=Pt[je],qt=(0,n.Z)((0,n.Z)({},Pt),_t(et));qt[je]=function(){Ge.touched=!0,Ge.dirty=!0,Ge.triggerMetaEvent();for(var Mn,vn=arguments.length,Xn=new Array(vn),Vn=0;Vn=0&&qt<=un.length?(je.keys=[].concat((0,d.Z)(je.keys.slice(0,qt)),[je.id],(0,d.Z)(je.keys.slice(qt))),Ce([].concat((0,d.Z)(un.slice(0,qt)),[Ut],(0,d.Z)(un.slice(qt))))):(je.keys=[].concat((0,d.Z)(je.keys),[je.id]),Ce([].concat((0,d.Z)(un),[Ut]))),je.id+=1},remove:function(Ut){var qt=Tt(),un=new Set(Array.isArray(Ut)?Ut:[Ut]);un.size<=0||(je.keys=je.keys.filter(function(Mn,vn){return!un.has(vn)}),Ce(qt.filter(function(Mn,vn){return!un.has(vn)})))},move:function(Ut,qt){if(Ut!==qt){var un=Tt();Ut<0||Ut>=un.length||qt<0||qt>=un.length||(je.keys=Ct(je.keys,Ut,qt),Ce(Ct(un,Ut,qt)))}}},et=Le||[];return Array.isArray(et)||(et=[]),it(et.map(function(_t,Ut){var qt=je.keys[Ut];return qt===void 0&&(je.keys[Ut]=je.id,qt=je.keys[Ut],je.id+=1),{name:Ut,key:qt,isListField:!0}}),Ye,zt)})))}var J=he,V=e(28314);function R(_e){var We=!1,Be=_e.length,it=[];return _e.length?new Promise(function(Ge,Ot){_e.forEach(function($t,wt){$t.catch(function(Pt){return We=!0,Pt}).then(function(Pt){Be-=1,it[wt]=Pt,!(Be>0)&&(We&&Ot(it),Ge(it))})})}):Promise.resolve([])}var P="__@field_split__";function B(_e){return _e.map(function(We){return"".concat((0,me.Z)(We),":").concat(We)}).join(P)}var ge=function(){function _e(){(0,l.Z)(this,_e),this.kvs=new Map}return(0,c.Z)(_e,[{key:"set",value:function(Be,it){this.kvs.set(B(Be),it)}},{key:"get",value:function(Be){return this.kvs.get(B(Be))}},{key:"update",value:function(Be,it){var Ge=this.get(Be),Ot=it(Ge);Ot?this.set(Be,Ot):this.delete(Be)}},{key:"delete",value:function(Be){this.kvs.delete(B(Be))}},{key:"map",value:function(Be){return(0,d.Z)(this.kvs.entries()).map(function(it){var Ge=(0,V.Z)(it,2),Ot=Ge[0],$t=Ge[1],wt=Ot.split(P);return Be({key:wt.map(function(Pt){var dt=Pt.match(/^([^:]*):(.*)$/),je=(0,V.Z)(dt,3),tt=je[1],lt=je[2];return tt==="number"?Number(lt):lt}),value:$t})})}},{key:"toJSON",value:function(){var Be={};return this.map(function(it){var Ge=it.key,Ot=it.value;return Be[Ge.join(".")]=Ot,null}),Be}}]),_e}(),ie=ge,pe=["name"],Oe=(0,c.Z)(function _e(We){var Be=this;(0,l.Z)(this,_e),this.formHooked=!1,this.forceRootUpdate=void 0,this.subscribable=!0,this.store={},this.fieldEntities=[],this.initialValues={},this.callbacks={},this.validateMessages=null,this.preserve=null,this.lastValidatePromise=null,this.getForm=function(){return{getFieldValue:Be.getFieldValue,getFieldsValue:Be.getFieldsValue,getFieldError:Be.getFieldError,getFieldWarning:Be.getFieldWarning,getFieldsError:Be.getFieldsError,isFieldsTouched:Be.isFieldsTouched,isFieldTouched:Be.isFieldTouched,isFieldValidating:Be.isFieldValidating,isFieldsValidating:Be.isFieldsValidating,resetFields:Be.resetFields,setFields:Be.setFields,setFieldValue:Be.setFieldValue,setFieldsValue:Be.setFieldsValue,validateFields:Be.validateFields,submit:Be.submit,_init:!0,getInternalHooks:Be.getInternalHooks}},this.getInternalHooks=function(it){return it===x?(Be.formHooked=!0,{dispatch:Be.dispatch,initEntityValue:Be.initEntityValue,registerField:Be.registerField,useSubscribe:Be.useSubscribe,setInitialValues:Be.setInitialValues,destroyForm:Be.destroyForm,setCallbacks:Be.setCallbacks,setValidateMessages:Be.setValidateMessages,getFields:Be.getFields,setPreserve:Be.setPreserve,getInitialValue:Be.getInitialValue,registerWatch:Be.registerWatch}):((0,S.ZP)(!1,"`getInternalHooks` is internal usage. Should not call directly."),null)},this.useSubscribe=function(it){Be.subscribable=it},this.prevWithoutPreserves=null,this.setInitialValues=function(it,Ge){if(Be.initialValues=it||{},Ge){var Ot,$t=(0,ee.T)(it,Be.store);(Ot=Be.prevWithoutPreserves)===null||Ot===void 0||Ot.map(function(wt){var Pt=wt.key;$t=(0,ee.Z)($t,Pt,(0,ve.Z)(it,Pt))}),Be.prevWithoutPreserves=null,Be.updateStore($t)}},this.destroyForm=function(){var it=new ie;Be.getFieldEntities(!0).forEach(function(Ge){Be.isMergedPreserve(Ge.isPreserve())||it.set(Ge.getNamePath(),!0)}),Be.prevWithoutPreserves=it},this.getInitialValue=function(it){var Ge=(0,ve.Z)(Be.initialValues,it);return it.length?(0,ee.T)(Ge):Ge},this.setCallbacks=function(it){Be.callbacks=it},this.setValidateMessages=function(it){Be.validateMessages=it},this.setPreserve=function(it){Be.preserve=it},this.watchList=[],this.registerWatch=function(it){return Be.watchList.push(it),function(){Be.watchList=Be.watchList.filter(function(Ge){return Ge!==it})}},this.notifyWatch=function(){var it=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];if(Be.watchList.length){var Ge=Be.getFieldsValue(),Ot=Be.getFieldsValue(!0);Be.watchList.forEach(function($t){$t(Ge,Ot,it)})}},this.timeoutId=null,this.warningUnhooked=function(){},this.updateStore=function(it){Be.store=it},this.getFieldEntities=function(){var it=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;return it?Be.fieldEntities.filter(function(Ge){return Ge.getNamePath().length}):Be.fieldEntities},this.getFieldsMap=function(){var it=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,Ge=new ie;return Be.getFieldEntities(it).forEach(function(Ot){var $t=Ot.getNamePath();Ge.set($t,Ot)}),Ge},this.getFieldEntitiesForNamePathList=function(it){if(!it)return Be.getFieldEntities(!0);var Ge=Be.getFieldsMap(!0);return it.map(function(Ot){var $t=be(Ot);return Ge.get($t)||{INVALIDATE_NAME_PATH:be(Ot)}})},this.getFieldsValue=function(it,Ge){Be.warningUnhooked();var Ot,$t,wt;if(it===!0||Array.isArray(it)?(Ot=it,$t=Ge):it&&(0,me.Z)(it)==="object"&&(wt=it.strict,$t=it.filter),Ot===!0&&!$t)return Be.store;var Pt=Be.getFieldEntitiesForNamePathList(Array.isArray(Ot)?Ot:null),dt=[];return Pt.forEach(function(je){var tt,lt="INVALIDATE_NAME_PATH"in je?je.INVALIDATE_NAME_PATH:je.getNamePath();if(wt){var bt;if(!((bt=je.isList)===null||bt===void 0)&&bt.call(je))return}else if(!Ot&&(!((tt=je.isListField)===null||tt===void 0)&&tt.call(je)))return;if(!$t)dt.push(lt);else{var It="getMeta"in je?je.getMeta():null;$t(It)&&dt.push(lt)}}),Pe(Be.store,dt.map(be))},this.getFieldValue=function(it){Be.warningUnhooked();var Ge=be(it);return(0,ve.Z)(Be.store,Ge)},this.getFieldsError=function(it){Be.warningUnhooked();var Ge=Be.getFieldEntitiesForNamePathList(it);return Ge.map(function(Ot,$t){return Ot&&!("INVALIDATE_NAME_PATH"in Ot)?{name:Ot.getNamePath(),errors:Ot.getErrors(),warnings:Ot.getWarnings()}:{name:be(it[$t]),errors:[],warnings:[]}})},this.getFieldError=function(it){Be.warningUnhooked();var Ge=be(it),Ot=Be.getFieldsError([Ge])[0];return Ot.errors},this.getFieldWarning=function(it){Be.warningUnhooked();var Ge=be(it),Ot=Be.getFieldsError([Ge])[0];return Ot.warnings},this.isFieldsTouched=function(){Be.warningUnhooked();for(var it=arguments.length,Ge=new Array(it),Ot=0;Ot0&&arguments[0]!==void 0?arguments[0]:{},Ge=new ie,Ot=Be.getFieldEntities(!0);Ot.forEach(function(Pt){var dt=Pt.props.initialValue,je=Pt.getNamePath();if(dt!==void 0){var tt=Ge.get(je)||new Set;tt.add({entity:Pt,value:dt}),Ge.set(je,tt)}});var $t=function(dt){dt.forEach(function(je){var tt=je.props.initialValue;if(tt!==void 0){var lt=je.getNamePath(),bt=Be.getInitialValue(lt);if(bt!==void 0)(0,S.ZP)(!1,"Form already set 'initialValues' with path '".concat(lt.join("."),"'. Field can not overwrite it."));else{var It=Ge.get(lt);if(It&&It.size>1)(0,S.ZP)(!1,"Multiple Field with path '".concat(lt.join("."),"' set 'initialValue'. Can not decide which one to pick."));else if(It){var Kt=Be.getFieldValue(lt);(!it.skipExist||Kt===void 0)&&Be.updateStore((0,ee.Z)(Be.store,lt,(0,d.Z)(It)[0].value))}}}})},wt;it.entities?wt=it.entities:it.namePathList?(wt=[],it.namePathList.forEach(function(Pt){var dt=Ge.get(Pt);if(dt){var je;(je=wt).push.apply(je,(0,d.Z)((0,d.Z)(dt).map(function(tt){return tt.entity})))}})):wt=Ot,$t(wt)},this.resetFields=function(it){Be.warningUnhooked();var Ge=Be.store;if(!it){Be.updateStore((0,ee.T)(Be.initialValues)),Be.resetWithFieldInitialValue(),Be.notifyObservers(Ge,null,{type:"reset"}),Be.notifyWatch();return}var Ot=it.map(be);Ot.forEach(function($t){var wt=Be.getInitialValue($t);Be.updateStore((0,ee.Z)(Be.store,$t,wt))}),Be.resetWithFieldInitialValue({namePathList:Ot}),Be.notifyObservers(Ge,Ot,{type:"reset"}),Be.notifyWatch(Ot)},this.setFields=function(it){Be.warningUnhooked();var Ge=Be.store,Ot=[];it.forEach(function($t){var wt=$t.name,Pt=(0,o.Z)($t,pe),dt=be(wt);Ot.push(dt),"value"in Pt&&Be.updateStore((0,ee.Z)(Be.store,dt,Pt.value)),Be.notifyObservers(Ge,[dt],{type:"setField",data:$t})}),Be.notifyWatch(Ot)},this.getFields=function(){var it=Be.getFieldEntities(!0),Ge=it.map(function(Ot){var $t=Ot.getNamePath(),wt=Ot.getMeta(),Pt=(0,n.Z)((0,n.Z)({},wt),{},{name:$t,value:Be.getFieldValue($t)});return Object.defineProperty(Pt,"originRCField",{value:!0}),Pt});return Ge},this.initEntityValue=function(it){var Ge=it.props.initialValue;if(Ge!==void 0){var Ot=it.getNamePath(),$t=(0,ve.Z)(Be.store,Ot);$t===void 0&&Be.updateStore((0,ee.Z)(Be.store,Ot,Ge))}},this.isMergedPreserve=function(it){var Ge=it!==void 0?it:Be.preserve;return Ge!=null?Ge:!0},this.registerField=function(it){Be.fieldEntities.push(it);var Ge=it.getNamePath();if(Be.notifyWatch([Ge]),it.props.initialValue!==void 0){var Ot=Be.store;Be.resetWithFieldInitialValue({entities:[it],skipExist:!0}),Be.notifyObservers(Ot,[it.getNamePath()],{type:"valueUpdate",source:"internal"})}return function($t,wt){var Pt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];if(Be.fieldEntities=Be.fieldEntities.filter(function(tt){return tt!==it}),!Be.isMergedPreserve(wt)&&(!$t||Pt.length>1)){var dt=$t?void 0:Be.getInitialValue(Ge);if(Ge.length&&Be.getFieldValue(Ge)!==dt&&Be.fieldEntities.every(function(tt){return!qe(tt.getNamePath(),Ge)})){var je=Be.store;Be.updateStore((0,ee.Z)(je,Ge,dt,!0)),Be.notifyObservers(je,[Ge],{type:"remove"}),Be.triggerDependenciesUpdate(je,Ge)}}Be.notifyWatch([Ge])}},this.dispatch=function(it){switch(it.type){case"updateValue":{var Ge=it.namePath,Ot=it.value;Be.updateValue(Ge,Ot);break}case"validateField":{var $t=it.namePath,wt=it.triggerName;Be.validateFields([$t],{triggerName:wt});break}default:}},this.notifyObservers=function(it,Ge,Ot){if(Be.subscribable){var $t=(0,n.Z)((0,n.Z)({},Ot),{},{store:Be.getFieldsValue(!0)});Be.getFieldEntities().forEach(function(wt){var Pt=wt.onStoreChange;Pt(it,Ge,$t)})}else Be.forceRootUpdate()},this.triggerDependenciesUpdate=function(it,Ge){var Ot=Be.getDependencyChildrenFields(Ge);return Ot.length&&Be.validateFields(Ot),Be.notifyObservers(it,Ot,{type:"dependenciesUpdate",relatedFields:[Ge].concat((0,d.Z)(Ot))}),Ot},this.updateValue=function(it,Ge){var Ot=be(it),$t=Be.store;Be.updateStore((0,ee.Z)(Be.store,Ot,Ge)),Be.notifyObservers($t,[Ot],{type:"valueUpdate",source:"internal"}),Be.notifyWatch([Ot]);var wt=Be.triggerDependenciesUpdate($t,Ot),Pt=Be.callbacks.onValuesChange;if(Pt){var dt=Pe(Be.store,[Ot]);Pt(dt,Be.getFieldsValue())}Be.triggerOnFieldsChange([Ot].concat((0,d.Z)(wt)))},this.setFieldsValue=function(it){Be.warningUnhooked();var Ge=Be.store;if(it){var Ot=(0,ee.T)(Be.store,it);Be.updateStore(Ot)}Be.notifyObservers(Ge,null,{type:"valueUpdate",source:"external"}),Be.notifyWatch()},this.setFieldValue=function(it,Ge){Be.setFields([{name:it,value:Ge}])},this.getDependencyChildrenFields=function(it){var Ge=new Set,Ot=[],$t=new ie;Be.getFieldEntities().forEach(function(Pt){var dt=Pt.props.dependencies;(dt||[]).forEach(function(je){var tt=be(je);$t.update(tt,function(){var lt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Set;return lt.add(Pt),lt})})});var wt=function Pt(dt){var je=$t.get(dt)||new Set;je.forEach(function(tt){if(!Ge.has(tt)){Ge.add(tt);var lt=tt.getNamePath();tt.isFieldDirty()&<.length&&(Ot.push(lt),Pt(lt))}})};return wt(it),Ot},this.triggerOnFieldsChange=function(it,Ge){var Ot=Be.callbacks.onFieldsChange;if(Ot){var $t=Be.getFields();if(Ge){var wt=new ie;Ge.forEach(function(dt){var je=dt.name,tt=dt.errors;wt.set(je,tt)}),$t.forEach(function(dt){dt.errors=wt.get(dt.name)||dt.errors})}var Pt=$t.filter(function(dt){var je=dt.name;return Je(it,je)});Pt.length&&Ot(Pt,$t)}},this.validateFields=function(it,Ge){Be.warningUnhooked();var Ot,$t;Array.isArray(it)||typeof it=="string"||typeof Ge=="string"?(Ot=it,$t=Ge):$t=it;var wt=!!Ot,Pt=wt?Ot.map(be):[],dt=[],je=String(Date.now()),tt=new Set;Be.getFieldEntities(!0).forEach(function(Kt){var zt;if(wt||Pt.push(Kt.getNamePath()),!((zt=$t)===null||zt===void 0)&&zt.recursive&&wt){var Mt=Kt.getNamePath();Mt.every(function(Et,Tt){return Ot[Tt]===Et||Ot[Tt]===void 0})&&Pt.push(Mt)}if(!(!Kt.props.rules||!Kt.props.rules.length)){var Le=Kt.getNamePath();if(tt.add(Le.join(je)),!wt||Je(Pt,Le)){var Ce=Kt.validateRules((0,n.Z)({validateMessages:(0,n.Z)((0,n.Z)({},_),Be.validateMessages)},$t));dt.push(Ce.then(function(){return{name:Le,errors:[],warnings:[]}}).catch(function(Et){var Tt,Ye=[],et=[];return(Tt=Et.forEach)===null||Tt===void 0||Tt.call(Et,function(_t){var Ut=_t.rule.warningOnly,qt=_t.errors;Ut?et.push.apply(et,(0,d.Z)(qt)):Ye.push.apply(Ye,(0,d.Z)(qt))}),Ye.length?Promise.reject({name:Le,errors:Ye,warnings:et}):{name:Le,errors:Ye,warnings:et}}))}}});var lt=R(dt);Be.lastValidatePromise=lt,lt.catch(function(Kt){return Kt}).then(function(Kt){var zt=Kt.map(function(Mt){var Le=Mt.name;return Le});Be.notifyObservers(Be.store,zt,{type:"validateFinish"}),Be.triggerOnFieldsChange(zt,Kt)});var bt=lt.then(function(){return Be.lastValidatePromise===lt?Promise.resolve(Be.getFieldsValue(Pt)):Promise.reject([])}).catch(function(Kt){var zt=Kt.filter(function(Mt){return Mt&&Mt.errors.length});return Promise.reject({values:Be.getFieldsValue(Pt),errorFields:zt,outOfDate:Be.lastValidatePromise!==lt})});bt.catch(function(Kt){return Kt});var It=Pt.filter(function(Kt){return tt.has(Kt.join(je))});return Be.triggerOnFieldsChange(It),bt},this.submit=function(){Be.warningUnhooked(),Be.validateFields().then(function(it){var Ge=Be.callbacks.onFinish;if(Ge)try{Ge(it)}catch(Ot){console.error(Ot)}}).catch(function(it){var Ge=Be.callbacks.onFinishFailed;Ge&&Ge(it)})},this.forceRootUpdate=We});function xe(_e){var We=a.useRef(),Be=a.useState({}),it=(0,V.Z)(Be,2),Ge=it[1];if(!We.current)if(_e)We.current=_e;else{var Ot=function(){Ge({})},$t=new Oe(Ot);We.current=$t.getForm()}return[We.current]}var Se=xe,$e=a.createContext({triggerFormChange:function(){},triggerFormFinish:function(){},registerForm:function(){},unregisterForm:function(){}}),re=function(We){var Be=We.validateMessages,it=We.onFormChange,Ge=We.onFormFinish,Ot=We.children,$t=a.useContext($e),wt=a.useRef({});return a.createElement($e.Provider,{value:(0,n.Z)((0,n.Z)({},$t),{},{validateMessages:(0,n.Z)((0,n.Z)({},$t.validateMessages),Be),triggerFormChange:function(dt,je){it&&it(dt,{changedFields:je,forms:wt.current}),$t.triggerFormChange(dt,je)},triggerFormFinish:function(dt,je){Ge&&Ge(dt,{values:je,forms:wt.current}),$t.triggerFormFinish(dt,je)},registerForm:function(dt,je){dt&&(wt.current=(0,n.Z)((0,n.Z)({},wt.current),{},(0,s.Z)({},dt,je))),$t.registerForm(dt,je)},unregisterForm:function(dt){var je=(0,n.Z)({},wt.current);delete je[dt],wt.current=je,$t.unregisterForm(dt)}})},Ot)},oe=$e,q=["name","initialValues","fields","form","preserve","children","component","validateMessages","validateTrigger","onValuesChange","onFieldsChange","onFinish","onFinishFailed"],ue=function(We,Be){var it=We.name,Ge=We.initialValues,Ot=We.fields,$t=We.form,wt=We.preserve,Pt=We.children,dt=We.component,je=dt===void 0?"form":dt,tt=We.validateMessages,lt=We.validateTrigger,bt=lt===void 0?"onChange":lt,It=We.onValuesChange,Kt=We.onFieldsChange,zt=We.onFinish,Mt=We.onFinishFailed,Le=(0,o.Z)(We,q),Ce=a.useContext(oe),Et=Se($t),Tt=(0,V.Z)(Et,1),Ye=Tt[0],et=Ye.getInternalHooks(x),_t=et.useSubscribe,Ut=et.setInitialValues,qt=et.setCallbacks,un=et.setValidateMessages,Mn=et.setPreserve,vn=et.destroyForm;a.useImperativeHandle(Be,function(){return Ye}),a.useEffect(function(){return Ce.registerForm(it,Ye),function(){Ce.unregisterForm(it)}},[Ce,Ye,it]),un((0,n.Z)((0,n.Z)({},Ce.validateMessages),tt)),qt({onValuesChange:It,onFieldsChange:function(En){if(Ce.triggerFormChange(it,En),Kt){for(var on=arguments.length,pt=new Array(on>1?on-1:0),gt=1;gt0;if(H||k){var ie=(0,c.D7)(qe),pe=(0,M.Z)(ie).length,Oe=(0,s.Z)(k)==="object"?k.formatter({value:ie,count:pe,maxLength:O}):"".concat(pe).concat(ge?" / ".concat(O):"");return l.createElement(l.Fragment,null,!!k&&l.createElement("span",{className:d()("".concat(se,"-show-count-suffix"),(0,o.Z)({},"".concat(se,"-show-count-has-suffix"),!!H),me==null?void 0:me.count),style:(0,t.Z)({},ve==null?void 0:ve.count)},Oe),H)}return null};return l.createElement(g,(0,a.Z)({},be,{prefixCls:se,className:X,inputElement:R(),handleReset:V,value:(0,c.D7)(qe),focused:vt,triggerFocus:Ve,suffix:P(),disabled:Q,classes:de,classNames:me,styles:ve}))}),T=U,N=T},33615:function(b,y,e){"use strict";e.d(y,{D7:function(){return n},He:function(){return a},X3:function(){return t},nH:function(){return s},rJ:function(){return o}});function a(d){return!!(d.addonBefore||d.addonAfter)}function t(d){return!!(d.prefix||d.suffix||d.allowClear)}function o(d,l,c,m){if(c){var g=l;if(l.type==="click"){var M=d.cloneNode(!0);g=Object.create(l,{target:{value:M},currentTarget:{value:M}}),M.value="",c(g);return}if(m!==void 0){g=Object.create(l,{target:{value:d},currentTarget:{value:d}}),d.value=m,c(g);return}c(g)}}function s(d,l){if(d){d.focus(l);var c=l||{},m=c.cursor;if(m){var g=d.value.length;switch(m){case"start":d.setSelectionRange(0,0);break;case"end":d.setSelectionRange(g,g);break;default:d.setSelectionRange(0,g)}}}}function n(d){return typeof d=="undefined"||d===null?"":String(d)}},87854:function(b,y,e){"use strict";e.d(y,{iz:function(){return Xn},ck:function(){return Ge},BW:function(){return vn},sN:function(){return Ge},Wd:function(){return _t},ZP:function(){return on},Xl:function(){return _}});var a=e(60698),t=e(37734),o=e(57370),s=e(29140),n=e(28314),d=e(47075),l=e(87608),c=e.n(l),m=e(9257),g=e(60409),M=e(75556),h=e(58757),S=e(26736),w=e(7637),x=h.createContext(null);function z(pt,gt){return pt===void 0?null:"".concat(pt,"-").concat(gt)}function U(pt){var gt=h.useContext(x);return z(gt,pt)}var T=e(27903),N=["children","locked"],Z=h.createContext(null);function D(pt,gt){var Xt=(0,o.Z)({},pt);return Object.keys(gt).forEach(function(rn){var Jt=gt[rn];Jt!==void 0&&(Xt[rn]=Jt)}),Xt}function L(pt){var gt=pt.children,Xt=pt.locked,rn=(0,d.Z)(pt,N),Jt=h.useContext(Z),pn=(0,T.Z)(function(){return D(Jt,rn)},[Jt,rn],function(mn,Zn){return!Xt&&(mn[0]!==Zn[0]||!(0,w.Z)(mn[1],Zn[1],!0))});return h.createElement(Z.Provider,{value:pn},gt)}var j=[],G=h.createContext(null);function W(){return h.useContext(G)}var ne=h.createContext(j);function _(pt){var gt=h.useContext(ne);return h.useMemo(function(){return pt!==void 0?[].concat((0,s.Z)(gt),[pt]):gt},[gt,pt])}var ee=h.createContext(null),se=h.createContext({}),Q=se,C=e(29639),X=e(61834),O=e(46499);function H(pt){var gt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if((0,O.Z)(pt)){var Xt=pt.nodeName.toLowerCase(),rn=["input","select","textarea","button"].includes(Xt)||pt.isContentEditable||Xt==="a"&&!!pt.getAttribute("href"),Jt=pt.getAttribute("tabindex"),pn=Number(Jt),mn=null;return Jt&&!Number.isNaN(pn)?mn=pn:rn&&mn===null&&(mn=0),rn&&pt.disabled&&(mn=null),mn!==null&&(mn>=0||gt&&mn<0)}return!1}function k(pt){var gt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Xt=(0,s.Z)(pt.querySelectorAll("*")).filter(function(rn){return H(rn,gt)});return H(pt,gt)&&Xt.unshift(pt),Xt}var A=null;function Y(){A=document.activeElement}function de(){A=null}function me(){if(A)try{A.focus()}catch(pt){}}function ve(pt,gt){if(gt.keyCode===9){var Xt=k(pt),rn=Xt[gt.shiftKey?0:Xt.length-1],Jt=rn===document.activeElement||pt===document.activeElement;if(Jt){var pn=Xt[gt.shiftKey?Xt.length-1:0];pn.focus(),gt.preventDefault()}}}var be=C.Z.LEFT,Pe=C.Z.RIGHT,Je=C.Z.UP,qe=C.Z.DOWN,Xe=C.Z.ENTER,mt=C.Z.ESC,Ct=C.Z.HOME,vt=C.Z.END,Ht=[Je,qe,be,Pe];function ke(pt,gt,Xt,rn){var Jt,pn,mn,Zn,tr="prev",ut="next",ct="children",Dt="parent";if(pt==="inline"&&rn===Xe)return{inlineTrigger:!0};var xt=(Jt={},(0,t.Z)(Jt,Je,tr),(0,t.Z)(Jt,qe,ut),Jt),kt=(pn={},(0,t.Z)(pn,be,Xt?ut:tr),(0,t.Z)(pn,Pe,Xt?tr:ut),(0,t.Z)(pn,qe,ct),(0,t.Z)(pn,Xe,ct),pn),sn=(mn={},(0,t.Z)(mn,Je,tr),(0,t.Z)(mn,qe,ut),(0,t.Z)(mn,Xe,ct),(0,t.Z)(mn,mt,Dt),(0,t.Z)(mn,be,Xt?ct:Dt),(0,t.Z)(mn,Pe,Xt?Dt:ct),mn),tn={inline:xt,horizontal:kt,vertical:sn,inlineSub:xt,horizontalSub:sn,verticalSub:sn},xn=(Zn=tn["".concat(pt).concat(gt?"":"Sub")])===null||Zn===void 0?void 0:Zn[rn];switch(xn){case tr:return{offset:-1,sibling:!0};case ut:return{offset:1,sibling:!0};case Dt:return{offset:-1,sibling:!1};case ct:return{offset:1,sibling:!1};default:return null}}function Ve(pt){for(var gt=pt;gt;){if(gt.getAttribute("data-menu-list"))return gt;gt=gt.parentElement}return null}function ot(pt,gt){for(var Xt=pt||document.activeElement;Xt;){if(gt.has(Xt))return Xt;Xt=Xt.parentElement}return null}function Ke(pt,gt){var Xt=k(pt,!0);return Xt.filter(function(rn){return gt.has(rn)})}function he(pt,gt,Xt){var rn=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1;if(!pt)return null;var Jt=Ke(pt,gt),pn=Jt.length,mn=Jt.findIndex(function(Zn){return Xt===Zn});return rn<0?mn===-1?mn=pn-1:mn-=1:rn>0&&(mn+=1),mn=(mn+pn)%pn,Jt[mn]}function J(pt,gt,Xt,rn,Jt,pn,mn,Zn,tr,ut){var ct=h.useRef(),Dt=h.useRef();Dt.current=gt;var xt=function(){X.Z.cancel(ct.current)};return h.useEffect(function(){return function(){xt()}},[]),function(kt){var sn=kt.which;if([].concat(Ht,[Xe,mt,Ct,vt]).includes(sn)){var tn,xn,Nn,gr=function(){tn=new Set,xn=new Map,Nn=new Map;var qr=pn();return qr.forEach(function(ya){var dr=document.querySelector("[data-menu-id='".concat(z(rn,ya),"']"));dr&&(tn.add(dr),Nn.set(dr,ya),xn.set(ya,dr))}),tn};gr();var nr=xn.get(gt),Rn=ot(nr,tn),kr=Nn.get(Rn),fr=ke(pt,mn(kr,!0).length===1,Xt,sn);if(!fr&&sn!==Ct&&sn!==vt)return;(Ht.includes(sn)||[Ct,vt].includes(sn))&&kt.preventDefault();var ua=function(qr){if(qr){var ya=qr,dr=qr.querySelector("a");dr!=null&&dr.getAttribute("href")&&(ya=dr);var Br=Nn.get(qr);Zn(Br),xt(),ct.current=(0,X.Z)(function(){Dt.current===Br&&ya.focus()})}};if([Ct,vt].includes(sn)||fr.sibling||!Rn){var Pr;!Rn||pt==="inline"?Pr=Jt.current:Pr=Ve(Rn);var Bn,Cn=Ke(Pr,tn);sn===Ct?Bn=Cn[0]:sn===vt?Bn=Cn[Cn.length-1]:Bn=he(Pr,tn,Rn,fr.offset),ua(Bn)}else if(fr.inlineTrigger)tr(kr);else if(fr.offset>0)tr(kr,!0),xt(),ct.current=(0,X.Z)(function(){gr();var Qr=Rn.getAttribute("aria-controls"),qr=document.getElementById(Qr),ya=he(qr,tn);ua(ya)},5);else if(fr.offset<0){var wn=mn(kr,!0),ar=wn[wn.length-2],mr=xn.get(ar);tr(ar,!1),ua(mr)}}ut==null||ut(kt)}}function V(pt){Promise.resolve().then(pt)}var R="__RC_UTIL_PATH_SPLIT__",P=function(gt){return gt.join(R)},B=function(gt){return gt.split(R)},ge="rc-menu-more";function ie(){var pt=h.useState({}),gt=(0,n.Z)(pt,2),Xt=gt[1],rn=(0,h.useRef)(new Map),Jt=(0,h.useRef)(new Map),pn=h.useState([]),mn=(0,n.Z)(pn,2),Zn=mn[0],tr=mn[1],ut=(0,h.useRef)(0),ct=(0,h.useRef)(!1),Dt=function(){ct.current||Xt({})},xt=(0,h.useCallback)(function(nr,Rn){var kr=P(Rn);Jt.current.set(kr,nr),rn.current.set(nr,kr),ut.current+=1;var fr=ut.current;V(function(){fr===ut.current&&Dt()})},[]),kt=(0,h.useCallback)(function(nr,Rn){var kr=P(Rn);Jt.current.delete(kr),rn.current.delete(nr)},[]),sn=(0,h.useCallback)(function(nr){tr(nr)},[]),tn=(0,h.useCallback)(function(nr,Rn){var kr=rn.current.get(nr)||"",fr=B(kr);return Rn&&Zn.includes(fr[0])&&fr.unshift(ge),fr},[Zn]),xn=(0,h.useCallback)(function(nr,Rn){return nr.some(function(kr){var fr=tn(kr,!0);return fr.includes(Rn)})},[tn]),Nn=function(){var Rn=(0,s.Z)(rn.current.keys());return Zn.length&&Rn.push(ge),Rn},gr=(0,h.useCallback)(function(nr){var Rn="".concat(rn.current.get(nr)).concat(R),kr=new Set;return(0,s.Z)(Jt.current.keys()).forEach(function(fr){fr.startsWith(Rn)&&kr.add(Jt.current.get(fr))}),kr},[]);return h.useEffect(function(){return function(){ct.current=!0}},[]),{registerPath:xt,unregisterPath:kt,refreshOverflowKeys:sn,isSubPathKey:xn,getKeyPath:tn,getKeys:Nn,getSubPathKeys:gr}}function pe(pt){var gt=h.useRef(pt);gt.current=pt;var Xt=h.useCallback(function(){for(var rn,Jt=arguments.length,pn=new Array(Jt),mn=0;mn1&&(gr.motionAppear=!1);var nr=gr.onVisibleChanged;return gr.onVisibleChanged=function(Rn){return!xt.current&&!Rn&&xn(!0),nr==null?void 0:nr(Rn)},tn?null:h.createElement(L,{mode:pn,locked:!xt.current},h.createElement(Ce.ZP,(0,a.Z)({visible:Nn},gr,{forceRender:tr,removeOnLeave:!1,leavedClassName:"".concat(Zn,"-hidden")}),function(Rn){var kr=Rn.className,fr=Rn.style;return h.createElement(Pt,{id:gt,className:kr,style:fr},Jt)}))}var Tt=["style","className","title","eventKey","warnKey","disabled","internalPopupClose","children","itemIcon","expandIcon","popupClassName","popupOffset","onClick","onMouseEnter","onMouseLeave","onTitleClick","onTitleMouseEnter","onTitleMouseLeave"],Ye=["active"],et=function(gt){var Xt,rn=gt.style,Jt=gt.className,pn=gt.title,mn=gt.eventKey,Zn=gt.warnKey,tr=gt.disabled,ut=gt.internalPopupClose,ct=gt.children,Dt=gt.itemIcon,xt=gt.expandIcon,kt=gt.popupClassName,sn=gt.popupOffset,tn=gt.onClick,xn=gt.onMouseEnter,Nn=gt.onMouseLeave,gr=gt.onTitleClick,nr=gt.onTitleMouseEnter,Rn=gt.onTitleMouseLeave,kr=(0,d.Z)(gt,Tt),fr=U(mn),ua=h.useContext(Z),Pr=ua.prefixCls,Bn=ua.mode,Cn=ua.openKeys,wn=ua.disabled,ar=ua.overflowDisabled,mr=ua.activeKey,Qr=ua.selectedKeys,qr=ua.itemIcon,ya=ua.expandIcon,dr=ua.onItemClick,Br=ua.onOpenChange,Ea=ua.onActive,ca=h.useContext(Q),Kn=ca._internalRenderSubMenuItem,zn=h.useContext(ee),vr=zn.isSubPathKey,ra=_(),xr="".concat(Pr,"-submenu"),jt=wn||tr,an=h.useRef(),hn=h.useRef(),ao=Dt||qr,Mo=xt||ya,Ua=Cn.includes(mn),Ha=!ar&&Ua,eo=vr(Qr,mn),jo=le(mn,jt,nr,Rn),Wo=jo.active,Eo=(0,d.Z)(jo,Ye),ft=h.useState(!1),Nt=(0,n.Z)(ft,2),Ie=Nt[0],cn=Nt[1],dn=function(Gt){jt||cn(Gt)},_n=function(Gt){dn(!0),xn==null||xn({key:mn,domEvent:Gt})},Tn=function(Gt){dn(!1),Nn==null||Nn({key:mn,domEvent:Gt})},yr=h.useMemo(function(){return Wo||(Bn!=="inline"?Ie||vr([mr],mn):!1)},[Bn,Wo,mr,Ie,mn,vr]),Wr=Ne(ra.length),Da=function(Gt){jt||(gr==null||gr({key:mn,domEvent:Gt}),Bn==="inline"&&Br(mn,!Ua))},la=pe(function(Qa){tn==null||tn(Re(Qa)),dr(Qa)}),ea=function(Gt){Bn!=="inline"&&Br(mn,Gt)},oa=function(){Ea(mn)},Ir=fr&&"".concat(fr,"-popup"),$r=h.createElement("div",(0,a.Z)({role:"menuitem",style:Wr,className:"".concat(xr,"-title"),tabIndex:jt?null:-1,ref:an,title:typeof pn=="string"?pn:null,"data-menu-id":ar&&fr?null:fr,"aria-expanded":Ha,"aria-haspopup":!0,"aria-controls":Ir,"aria-disabled":jt,onClick:Da,onFocus:oa},Eo),pn,h.createElement(Ae,{icon:Bn!=="horizontal"?Mo:null,props:(0,o.Z)((0,o.Z)({},gt),{},{isOpen:Ha,isSubMenu:!0})},h.createElement("i",{className:"".concat(xr,"-arrow")}))),pa=h.useRef(Bn);if(Bn!=="inline"&&ra.length>1?pa.current="vertical":pa.current=Bn,!ar){var La=pa.current;$r=h.createElement(Le,{mode:La,prefixCls:xr,visible:!ut&&Ha&&Bn!=="inline",popupClassName:kt,popupOffset:sn,popup:h.createElement(L,{mode:La==="horizontal"?"vertical":La},h.createElement(Pt,{id:Ir,ref:hn},ct)),disabled:jt,onVisibleChange:ea},$r)}var lo=h.createElement(m.Z.Item,(0,a.Z)({role:"none"},kr,{component:"li",style:rn,className:c()(xr,"".concat(xr,"-").concat(Bn),Jt,(Xt={},(0,t.Z)(Xt,"".concat(xr,"-open"),Ha),(0,t.Z)(Xt,"".concat(xr,"-active"),yr),(0,t.Z)(Xt,"".concat(xr,"-selected"),eo),(0,t.Z)(Xt,"".concat(xr,"-disabled"),jt),Xt)),onMouseEnter:_n,onMouseLeave:Tn}),$r,!ar&&h.createElement(Et,{id:Ir,open:Ha,keyPath:ra},ct));return Kn&&(lo=Kn(lo,gt,{selected:eo,active:yr,open:Ha,disabled:jt})),h.createElement(L,{onItemClick:la,mode:Bn==="horizontal"?"vertical":Bn,itemIcon:ao,expandIcon:Mo},lo)};function _t(pt){var gt=pt.eventKey,Xt=pt.children,rn=_(gt),Jt=je(Xt,rn),pn=W();h.useEffect(function(){if(pn)return pn.registerPath(gt,rn),function(){pn.unregisterPath(gt,rn)}},[rn]);var mn;return pn?mn=Jt:mn=h.createElement(et,pt,Jt),h.createElement(ne.Provider,{value:rn},mn)}var Ut=e(38790),qt=["className","title","eventKey","children"],un=["children"],Mn=function(gt){var Xt=gt.className,rn=gt.title,Jt=gt.eventKey,pn=gt.children,mn=(0,d.Z)(gt,qt),Zn=h.useContext(Z),tr=Zn.prefixCls,ut="".concat(tr,"-item-group");return h.createElement("li",(0,a.Z)({role:"presentation"},mn,{onClick:function(Dt){return Dt.stopPropagation()},className:c()(ut,Xt)}),h.createElement("div",{role:"presentation",className:"".concat(ut,"-title"),title:typeof rn=="string"?rn:void 0},rn),h.createElement("ul",{role:"group",className:"".concat(ut,"-list")},pn))};function vn(pt){var gt=pt.children,Xt=(0,d.Z)(pt,un),rn=_(Xt.eventKey),Jt=je(gt,rn),pn=W();return pn?Jt:h.createElement(Mn,(0,ue.Z)(Xt,["warnKey"]),Jt)}function Xn(pt){var gt=pt.className,Xt=pt.style,rn=h.useContext(Z),Jt=rn.prefixCls,pn=W();return pn?null:h.createElement("li",{className:c()("".concat(Jt,"-item-divider"),gt),style:Xt})}var Vn=["label","children","key","type"];function or(pt){return(pt||[]).map(function(gt,Xt){if(gt&&(0,Ut.Z)(gt)==="object"){var rn=gt,Jt=rn.label,pn=rn.children,mn=rn.key,Zn=rn.type,tr=(0,d.Z)(rn,Vn),ut=mn!=null?mn:"tmp-".concat(Xt);return pn||Zn==="group"?Zn==="group"?h.createElement(vn,(0,a.Z)({key:ut},tr,{title:Jt}),or(pn)):h.createElement(_t,(0,a.Z)({key:ut},tr,{title:Jt}),or(pn)):Zn==="divider"?h.createElement(Xn,(0,a.Z)({key:ut},tr)):h.createElement(Ge,(0,a.Z)({key:ut},tr),Jt)}return null}).filter(function(gt){return gt})}function er(pt,gt,Xt){var rn=pt;return gt&&(rn=or(gt)),je(rn,Xt)}var Wt=["prefixCls","rootClassName","style","className","tabIndex","items","children","direction","id","mode","inlineCollapsed","disabled","disabledOverflow","subMenuOpenDelay","subMenuCloseDelay","forceSubMenuRender","defaultOpenKeys","openKeys","activeKey","defaultActiveFirst","selectable","multiple","defaultSelectedKeys","selectedKeys","onSelect","onDeselect","inlineIndent","motion","defaultMotions","triggerSubMenuAction","builtinPlacements","itemIcon","expandIcon","overflowedIndicator","overflowedIndicatorPopupClassName","getPopupContainer","onClick","onOpenChange","onKeyDown","openAnimation","openTransitionName","_internalRenderMenuItem","_internalRenderSubMenuItem"],en=[],nn=h.forwardRef(function(pt,gt){var Xt,rn,Jt=pt,pn=Jt.prefixCls,mn=pn===void 0?"rc-menu":pn,Zn=Jt.rootClassName,tr=Jt.style,ut=Jt.className,ct=Jt.tabIndex,Dt=ct===void 0?0:ct,xt=Jt.items,kt=Jt.children,sn=Jt.direction,tn=Jt.id,xn=Jt.mode,Nn=xn===void 0?"vertical":xn,gr=Jt.inlineCollapsed,nr=Jt.disabled,Rn=Jt.disabledOverflow,kr=Jt.subMenuOpenDelay,fr=kr===void 0?.1:kr,ua=Jt.subMenuCloseDelay,Pr=ua===void 0?.1:ua,Bn=Jt.forceSubMenuRender,Cn=Jt.defaultOpenKeys,wn=Jt.openKeys,ar=Jt.activeKey,mr=Jt.defaultActiveFirst,Qr=Jt.selectable,qr=Qr===void 0?!0:Qr,ya=Jt.multiple,dr=ya===void 0?!1:ya,Br=Jt.defaultSelectedKeys,Ea=Jt.selectedKeys,ca=Jt.onSelect,Kn=Jt.onDeselect,zn=Jt.inlineIndent,vr=zn===void 0?24:zn,ra=Jt.motion,xr=Jt.defaultMotions,jt=Jt.triggerSubMenuAction,an=jt===void 0?"hover":jt,hn=Jt.builtinPlacements,ao=Jt.itemIcon,Mo=Jt.expandIcon,Ua=Jt.overflowedIndicator,Ha=Ua===void 0?"...":Ua,eo=Jt.overflowedIndicatorPopupClassName,jo=Jt.getPopupContainer,Wo=Jt.onClick,Eo=Jt.onOpenChange,ft=Jt.onKeyDown,Nt=Jt.openAnimation,Ie=Jt.openTransitionName,cn=Jt._internalRenderMenuItem,dn=Jt._internalRenderSubMenuItem,_n=(0,d.Z)(Jt,Wt),Tn=h.useMemo(function(){return er(kt,xt,en)},[kt,xt]),yr=h.useState(!1),Wr=(0,n.Z)(yr,2),Da=Wr[0],la=Wr[1],ea=h.useRef(),oa=Se(tn),Ir=sn==="rtl",$r=(0,g.Z)(Cn,{value:wn,postState:function(Fa){return Fa||en}}),pa=(0,n.Z)($r,2),La=pa[0],lo=pa[1],Qa=function(Fa){var Na=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;function Bo(){lo(Fa),Eo==null||Eo(Fa)}Na?(0,S.flushSync)(Bo):Bo()},Gt=h.useState(La),yn=(0,n.Z)(Gt,2),jn=yn[0],Gn=yn[1],br=h.useRef(!1),Hr=h.useMemo(function(){return(Nn==="inline"||Nn==="vertical")&&gr?["vertical",gr]:[Nn,!1]},[Nn,gr]),ta=(0,n.Z)(Hr,2),sr=ta[0],zr=ta[1],va=sr==="inline",Sr=h.useState(sr),xa=(0,n.Z)(Sr,2),Xa=xa[0],bo=xa[1],Oo=h.useState(zr),Va=(0,n.Z)(Oo,2),xo=Va[0],io=Va[1];h.useEffect(function(){bo(sr),io(zr),br.current&&(va?lo(jn):Qa(en))},[sr,zr]);var Ca=h.useState(0),_a=(0,n.Z)(Ca,2),Io=_a[0],Yo=_a[1],ni=Io>=Tn.length-1||Xa!=="horizontal"||Rn;h.useEffect(function(){va&&Gn(La)},[La]),h.useEffect(function(){return br.current=!0,function(){br.current=!1}},[]);var co=ie(),Mi=co.registerPath,ai=co.unregisterPath,Po=co.refreshOverflowKeys,li=co.isSubPathKey,Pi=co.getKeyPath,hi=co.getKeys,yi=co.getSubPathKeys,Zi=h.useMemo(function(){return{registerPath:Mi,unregisterPath:ai}},[Mi,ai]),ji=h.useMemo(function(){return{isSubPathKey:li}},[li]);h.useEffect(function(){Po(ni?en:Tn.slice(Io+1).map(function(ja){return ja.key}))},[Io,ni]);var oo=(0,g.Z)(ar||mr&&((Xt=Tn[0])===null||Xt===void 0?void 0:Xt.key),{value:ar}),Ja=(0,n.Z)(oo,2),ri=Ja[0],oi=Ja[1],No=pe(function(ja){oi(ja)}),zo=pe(function(){oi(void 0)});(0,h.useImperativeHandle)(gt,function(){return{list:ea.current,focus:function(Fa){var Na,Bo=ri!=null?ri:(Na=Tn.find(function(ps){return!ps.props.disabled}))===null||Na===void 0?void 0:Na.key;if(Bo){var Vo,Go,Bi;(Vo=ea.current)===null||Vo===void 0||(Go=Vo.querySelector("li[data-menu-id='".concat(z(oa,Bo),"']")))===null||Go===void 0||(Bi=Go.focus)===null||Bi===void 0||Bi.call(Go,Fa)}}}});var xi=(0,g.Z)(Br||[],{value:Ea,postState:function(Fa){return Array.isArray(Fa)?Fa:Fa==null?en:[Fa]}}),Ui=(0,n.Z)(xi,2),ki=Ui[0],Ts=Ui[1],fs=function(Fa){if(qr){var Na=Fa.key,Bo=ki.includes(Na),Vo;dr?Bo?Vo=ki.filter(function(Bi){return Bi!==Na}):Vo=[].concat((0,s.Z)(ki),[Na]):Vo=[Na],Ts(Vo);var Go=(0,o.Z)((0,o.Z)({},Fa),{},{selectedKeys:Vo});Bo?Kn==null||Kn(Go):ca==null||ca(Go)}!dr&&La.length&&Xa!=="inline"&&Qa(en)},Xs=pe(function(ja){Wo==null||Wo(Re(ja)),fs(ja)}),zl=pe(function(ja,Fa){var Na=La.filter(function(Vo){return Vo!==ja});if(Fa)Na.push(ja);else if(Xa!=="inline"){var Bo=yi(ja);Na=Na.filter(function(Vo){return!Bo.has(Vo)})}(0,w.Z)(La,Na,!0)||Qa(Na,!0)}),kn=function(Fa,Na){var Bo=Na!=null?Na:!La.includes(Fa);zl(Fa,Bo)},_r=J(Xa,ri,Ir,oa,ea,hi,Pi,oi,kn,ft);h.useEffect(function(){la(!0)},[]);var Dr=h.useMemo(function(){return{_internalRenderMenuItem:cn,_internalRenderSubMenuItem:dn}},[cn,dn]),Zr=Xa!=="horizontal"||Rn?Tn:Tn.map(function(ja,Fa){return h.createElement(L,{key:ja.key,overflowDisabled:Fa>Io},ja)}),sa=h.createElement(m.Z,(0,a.Z)({id:tn,ref:ea,prefixCls:"".concat(mn,"-overflow"),component:"ul",itemComponent:Ge,className:c()(mn,"".concat(mn,"-root"),"".concat(mn,"-").concat(Xa),ut,(rn={},(0,t.Z)(rn,"".concat(mn,"-inline-collapsed"),xo),(0,t.Z)(rn,"".concat(mn,"-rtl"),Ir),rn),Zn),dir:sn,style:tr,role:"menu",tabIndex:Dt,data:Zr,renderRawItem:function(Fa){return Fa},renderRawRest:function(Fa){var Na=Fa.length,Bo=Na?Tn.slice(-Na):null;return h.createElement(_t,{eventKey:ge,title:Ha,disabled:ni,internalPopupClose:Na===0,popupClassName:eo},Bo)},maxCount:Xa!=="horizontal"||Rn?m.Z.INVALIDATE:m.Z.RESPONSIVE,ssr:"full","data-menu-list":!0,onVisibleChange:function(Fa){Yo(Fa)},onKeyDown:_r},_n));return h.createElement(Q.Provider,{value:Dr},h.createElement(x.Provider,{value:oa},h.createElement(L,{prefixCls:mn,rootClassName:Zn,mode:Xa,openKeys:La,rtl:Ir,disabled:nr,motion:Da?ra:null,defaultMotions:Da?xr:null,activeKey:ri,onActive:No,onInactive:zo,selectedKeys:ki,inlineIndent:vr,subMenuOpenDelay:fr,subMenuCloseDelay:Pr,forceSubMenuRender:Bn,builtinPlacements:hn,triggerSubMenuAction:an,getPopupContainer:jo,itemIcon:ao,expandIcon:Mo,onItemClick:Xs,onOpenChange:zl},h.createElement(ee.Provider,{value:ji},sa),h.createElement("div",{style:{display:"none"},"aria-hidden":!0},h.createElement(G.Provider,{value:Zi},Tn)))))}),fn=nn,En=fn;En.Item=Ge,En.SubMenu=_t,En.ItemGroup=vn,En.Divider=Xn;var on=En},17598:function(b,y,e){"use strict";e.d(y,{V4:function(){return le},zt:function(){return S},ZP:function(){return Ne}});var a=e(37734),t=e(57370),o=e(28314),s=e(38790),n=e(87608),d=e.n(n),l=e(69188),c=e(21319),m=e(58757),g=e(47075),M=["children"],h=m.createContext({});function S(Ae){var we=Ae.children,Re=(0,g.Z)(Ae,M);return m.createElement(h.Provider,{value:Re},we)}var w=e(60412),x=e(14346),z=e(87498),U=e(73726),T=function(Ae){(0,z.Z)(Re,Ae);var we=(0,U.Z)(Re);function Re(){return(0,w.Z)(this,Re),we.apply(this,arguments)}return(0,x.Z)(Re,[{key:"render",value:function(){return this.props.children}}]),Re}(m.Component),N=T,Z=e(13989),D="none",L="appear",j="enter",G="leave",W="none",ne="prepare",_="start",ee="active",se="end",Q="prepared",C=e(19075);function X(Ae,we){var Re={};return Re[Ae.toLowerCase()]=we.toLowerCase(),Re["Webkit".concat(Ae)]="webkit".concat(we),Re["Moz".concat(Ae)]="moz".concat(we),Re["ms".concat(Ae)]="MS".concat(we),Re["O".concat(Ae)]="o".concat(we.toLowerCase()),Re}function O(Ae,we){var Re={animationend:X("Animation","AnimationEnd"),transitionend:X("Transition","TransitionEnd")};return Ae&&("AnimationEvent"in we||delete Re.animationend.animation,"TransitionEvent"in we||delete Re.transitionend.transition),Re}var H=O((0,C.Z)(),typeof window!="undefined"?window:{}),k={};if((0,C.Z)()){var A=document.createElement("div");k=A.style}var Y={};function de(Ae){if(Y[Ae])return Y[Ae];var we=H[Ae];if(we)for(var Re=Object.keys(we),st=Re.length,nt=0;nt1&&arguments[1]!==void 0?arguments[1]:2;we();var _e=(0,vt.Z)(function(){nt<=1?st({isCanceled:function(){return _e!==Ae.current}}):Re(st,nt-1)});Ae.current=_e}return m.useEffect(function(){return function(){we()}},[]),[Re,we]},ke=[ne,_,ee,se],Ve=[ne,Q],ot=!1,Ke=!0;function he(Ae){return Ae===ee||Ae===se}var J=function(Ae,we,Re){var st=(0,Z.Z)(W),nt=(0,o.Z)(st,2),_e=nt[0],We=nt[1],Be=Ht(),it=(0,o.Z)(Be,2),Ge=it[0],Ot=it[1];function $t(){We(ne,!0)}var wt=we?Ve:ke;return Ct(function(){if(_e!==W&&_e!==se){var Pt=wt.indexOf(_e),dt=wt[Pt+1],je=Re(_e);je===ot?We(dt,!0):dt&&Ge(function(tt){function lt(){tt.isCanceled()||We(dt,!0)}je===!0?lt():Promise.resolve(je).then(lt)})}},[Ae,_e]),m.useEffect(function(){return function(){Ot()}},[]),[$t,_e]};function V(Ae,we,Re,st){var nt=st.motionEnter,_e=nt===void 0?!0:nt,We=st.motionAppear,Be=We===void 0?!0:We,it=st.motionLeave,Ge=it===void 0?!0:it,Ot=st.motionDeadline,$t=st.motionLeaveImmediately,wt=st.onAppearPrepare,Pt=st.onEnterPrepare,dt=st.onLeavePrepare,je=st.onAppearStart,tt=st.onEnterStart,lt=st.onLeaveStart,bt=st.onAppearActive,It=st.onEnterActive,Kt=st.onLeaveActive,zt=st.onAppearEnd,Mt=st.onEnterEnd,Le=st.onLeaveEnd,Ce=st.onVisibleChanged,Et=(0,Z.Z)(),Tt=(0,o.Z)(Et,2),Ye=Tt[0],et=Tt[1],_t=(0,Z.Z)(D),Ut=(0,o.Z)(_t,2),qt=Ut[0],un=Ut[1],Mn=(0,Z.Z)(null),vn=(0,o.Z)(Mn,2),Xn=vn[0],Vn=vn[1],or=(0,m.useRef)(!1),er=(0,m.useRef)(null);function Wt(){return Re()}var en=(0,m.useRef)(!1);function nn(){un(D,!0),Vn(null,!0)}function fn(ct){var Dt=Wt();if(!(ct&&!ct.deadline&&ct.target!==Dt)){var xt=en.current,kt;qt===L&&xt?kt=zt==null?void 0:zt(Dt,ct):qt===j&&xt?kt=Mt==null?void 0:Mt(Dt,ct):qt===G&&xt&&(kt=Le==null?void 0:Le(Dt,ct)),qt!==D&&xt&&kt!==!1&&nn()}}var En=Xe(fn),on=(0,o.Z)(En,1),pt=on[0],gt=function(Dt){var xt,kt,sn;switch(Dt){case L:return xt={},(0,a.Z)(xt,ne,wt),(0,a.Z)(xt,_,je),(0,a.Z)(xt,ee,bt),xt;case j:return kt={},(0,a.Z)(kt,ne,Pt),(0,a.Z)(kt,_,tt),(0,a.Z)(kt,ee,It),kt;case G:return sn={},(0,a.Z)(sn,ne,dt),(0,a.Z)(sn,_,lt),(0,a.Z)(sn,ee,Kt),sn;default:return{}}},Xt=m.useMemo(function(){return gt(qt)},[qt]),rn=J(qt,!Ae,function(ct){if(ct===ne){var Dt=Xt[ne];return Dt?Dt(Wt()):ot}if(mn in Xt){var xt;Vn(((xt=Xt[mn])===null||xt===void 0?void 0:xt.call(Xt,Wt(),null))||null)}return mn===ee&&(pt(Wt()),Ot>0&&(clearTimeout(er.current),er.current=setTimeout(function(){fn({deadline:!0})},Ot))),mn===Q&&nn(),Ke}),Jt=(0,o.Z)(rn,2),pn=Jt[0],mn=Jt[1],Zn=he(mn);en.current=Zn,Ct(function(){et(we);var ct=or.current;or.current=!0;var Dt;!ct&&we&&Be&&(Dt=L),ct&&we&&_e&&(Dt=j),(ct&&!we&&Ge||!ct&&$t&&!we&&Ge)&&(Dt=G);var xt=gt(Dt);Dt&&(Ae||xt[ne])?(un(Dt),pn()):un(D)},[we]),(0,m.useEffect)(function(){(qt===L&&!Be||qt===j&&!_e||qt===G&&!Ge)&&un(D)},[Be,_e,Ge]),(0,m.useEffect)(function(){return function(){or.current=!1,clearTimeout(er.current)}},[]);var tr=m.useRef(!1);(0,m.useEffect)(function(){Ye&&(tr.current=!0),Ye!==void 0&&qt===D&&((tr.current||Ye)&&(Ce==null||Ce(Ye)),tr.current=!0)},[Ye,qt]);var ut=Xn;return Xt[ne]&&mn===_&&(ut=(0,t.Z)({transition:"none"},ut)),[qt,mn,ut,Ye!=null?Ye:we]}function R(Ae){var we=Ae;(0,s.Z)(Ae)==="object"&&(we=Ae.transitionSupport);function Re(nt,_e){return!!(nt.motionName&&we&&_e!==!1)}var st=m.forwardRef(function(nt,_e){var We=nt.visible,Be=We===void 0?!0:We,it=nt.removeOnLeave,Ge=it===void 0?!0:it,Ot=nt.forceRender,$t=nt.children,wt=nt.motionName,Pt=nt.leavedClassName,dt=nt.eventProps,je=m.useContext(h),tt=je.motion,lt=Re(nt,tt),bt=(0,m.useRef)(),It=(0,m.useRef)();function Kt(){try{return bt.current instanceof HTMLElement?bt.current:(0,l.Z)(It.current)}catch(Vn){return null}}var zt=V(lt,Be,Kt,nt),Mt=(0,o.Z)(zt,4),Le=Mt[0],Ce=Mt[1],Et=Mt[2],Tt=Mt[3],Ye=m.useRef(Tt);Tt&&(Ye.current=!0);var et=m.useCallback(function(Vn){bt.current=Vn,(0,c.mH)(_e,Vn)},[_e]),_t,Ut=(0,t.Z)((0,t.Z)({},dt),{},{visible:Be});if(!$t)_t=null;else if(Le===D)Tt?_t=$t((0,t.Z)({},Ut),et):!Ge&&Ye.current&&Pt?_t=$t((0,t.Z)((0,t.Z)({},Ut),{},{className:Pt}),et):Ot||!Ge&&!Pt?_t=$t((0,t.Z)((0,t.Z)({},Ut),{},{style:{display:"none"}}),et):_t=null;else{var qt,un;Ce===ne?un="prepare":he(Ce)?un="active":Ce===_&&(un="start");var Mn=qe(wt,"".concat(Le,"-").concat(un));_t=$t((0,t.Z)((0,t.Z)({},Ut),{},{className:d()(qe(wt,Le),(qt={},(0,a.Z)(qt,Mn,Mn&&un),(0,a.Z)(qt,wt,typeof wt=="string"),qt)),style:Et}),et)}if(m.isValidElement(_t)&&(0,c.Yr)(_t)){var vn=_t,Xn=vn.ref;Xn||(_t=m.cloneElement(_t,{ref:et}))}return m.createElement(N,{ref:It},_t)});return st.displayName="CSSMotion",st}var P=R(be),B=e(60698),ge=e(86717),ie="add",pe="keep",Oe="remove",xe="removed";function Se(Ae){var we;return Ae&&(0,s.Z)(Ae)==="object"&&"key"in Ae?we=Ae:we={key:Ae},(0,t.Z)((0,t.Z)({},we),{},{key:String(we.key)})}function $e(){var Ae=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return Ae.map(Se)}function re(){var Ae=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],we=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],Re=[],st=0,nt=we.length,_e=$e(Ae),We=$e(we);_e.forEach(function(Ge){for(var Ot=!1,$t=st;$t1});return it.forEach(function(Ge){Re=Re.filter(function(Ot){var $t=Ot.key,wt=Ot.status;return $t!==Ge||wt!==Oe}),Re.forEach(function(Ot){Ot.key===Ge&&(Ot.status=pe)})}),Re}var oe=["component","children","onVisibleChanged","onAllRemoved"],q=["status"],ue=["eventProps","visible","children","motionName","motionAppear","motionEnter","motionLeave","motionLeaveImmediately","motionDeadline","removeOnLeave","leavedClassName","onAppearStart","onAppearActive","onAppearEnd","onEnterStart","onEnterActive","onEnterEnd","onLeaveStart","onLeaveActive","onLeaveEnd"];function Ee(Ae){var we=arguments.length>1&&arguments[1]!==void 0?arguments[1]:P,Re=function(st){(0,z.Z)(_e,st);var nt=(0,U.Z)(_e);function _e(){var We;(0,w.Z)(this,_e);for(var Be=arguments.length,it=new Array(Be),Ge=0;Ge0){var Xe=setTimeout(function(){Pe()},ee*1e3);return function(){clearTimeout(Xe)}}},[ee,ve,Y]);var qe="".concat(G,"-notice");return s.createElement("div",(0,n.Z)({},H,{ref:j,className:g()(qe,ne,(0,M.Z)({},"".concat(qe,"-closable"),C)),style:W,onMouseEnter:function(){be(!0)},onMouseLeave:function(){be(!1)},onClick:k}),s.createElement("div",{className:"".concat(qe,"-content")},Q),C&&s.createElement("a",{tabIndex:0,className:"".concat(qe,"-close"),onKeyDown:Je,onClick:function(mt){mt.preventDefault(),mt.stopPropagation(),Pe()}},O))}),w=S,x=s.forwardRef(function(L,j){var G=L.prefixCls,W=G===void 0?"rc-notification":G,ne=L.container,_=L.motion,ee=L.maxCount,se=L.className,Q=L.style,C=L.onAllRemoved,X=s.useState([]),O=(0,t.Z)(X,2),H=O[0],k=O[1],A=function(Xe){var mt,Ct=H.find(function(vt){return vt.key===Xe});Ct==null||(mt=Ct.onClose)===null||mt===void 0||mt.call(Ct),k(function(vt){return vt.filter(function(Ht){return Ht.key!==Xe})})};s.useImperativeHandle(j,function(){return{open:function(Xe){k(function(mt){var Ct=(0,a.Z)(mt),vt=Ct.findIndex(function(Ve){return Ve.key===Xe.key}),Ht=(0,d.Z)({},Xe);if(vt>=0){var ke;Ht.times=(((ke=mt[vt])===null||ke===void 0?void 0:ke.times)||0)+1,Ct[vt]=Ht}else Ht.times=0,Ct.push(Ht);return ee>0&&Ct.length>ee&&(Ct=Ct.slice(-ee)),Ct})},close:function(Xe){A(Xe)},destroy:function(){k([])}}});var Y=s.useState({}),de=(0,t.Z)(Y,2),me=de[0],ve=de[1];s.useEffect(function(){var qe={};H.forEach(function(Xe){var mt=Xe.placement,Ct=mt===void 0?"topRight":mt;Ct&&(qe[Ct]=qe[Ct]||[],qe[Ct].push(Xe))}),Object.keys(me).forEach(function(Xe){qe[Xe]=qe[Xe]||[]}),ve(qe)},[H]);var be=function(Xe){ve(function(mt){var Ct=(0,d.Z)({},mt),vt=Ct[Xe]||[];return vt.length||delete Ct[Xe],Ct})},Pe=s.useRef(!1);if(s.useEffect(function(){Object.keys(me).length>0?Pe.current=!0:Pe.current&&(C==null||C(),Pe.current=!1)},[me]),!ne)return null;var Je=Object.keys(me);return(0,l.createPortal)(s.createElement(s.Fragment,null,Je.map(function(qe){var Xe=me[qe],mt=Xe.map(function(vt){return{config:vt,key:vt.key}}),Ct=typeof _=="function"?_(qe):_;return s.createElement(c.V4,(0,n.Z)({key:qe,className:g()(W,"".concat(W,"-").concat(qe),se==null?void 0:se(qe)),style:Q==null?void 0:Q(qe),keys:mt,motionAppear:!0},Ct,{onAllRemoved:function(){be(qe)}}),function(vt,Ht){var ke=vt.config,Ve=vt.className,ot=vt.style,Ke=ke.key,he=ke.times,J=ke.className,V=ke.style;return s.createElement(w,(0,n.Z)({},ke,{ref:Ht,prefixCls:W,className:g()(Ve,J),style:(0,d.Z)((0,d.Z)({},ot),V),times:he,key:Ke,eventKey:Ke,onNoticeClose:A}))})})),ne)}),z=x,U=["getContainer","motion","prefixCls","maxCount","className","style","onAllRemoved"],T=function(){return document.body},N=0;function Z(){for(var L={},j=arguments.length,G=new Array(j),W=0;W0&&arguments[0]!==void 0?arguments[0]:{},j=L.getContainer,G=j===void 0?T:j,W=L.motion,ne=L.prefixCls,_=L.maxCount,ee=L.className,se=L.style,Q=L.onAllRemoved,C=(0,o.Z)(L,U),X=s.useState(),O=(0,t.Z)(X,2),H=O[0],k=O[1],A=s.useRef(),Y=s.createElement(z,{container:H,ref:A,prefixCls:ne,motion:W,maxCount:_,className:ee,style:se,onAllRemoved:Q}),de=s.useState([]),me=(0,t.Z)(de,2),ve=me[0],be=me[1],Pe=s.useMemo(function(){return{open:function(qe){var Xe=Z(C,qe);(Xe.key===null||Xe.key===void 0)&&(Xe.key="rc-notification-".concat(N),N+=1),be(function(mt){return[].concat((0,a.Z)(mt),[{type:"open",config:Xe}])})},close:function(qe){be(function(Xe){return[].concat((0,a.Z)(Xe),[{type:"close",key:qe}])})},destroy:function(){be(function(qe){return[].concat((0,a.Z)(qe),[{type:"destroy"}])})}}},[]);return s.useEffect(function(){k(G())}),s.useEffect(function(){A.current&&ve.length&&(ve.forEach(function(Je){switch(Je.type){case"open":A.current.open(Je.config);break;case"close":A.current.close(Je.key);break;case"destroy":A.current.destroy();break}}),be(function(Je){return Je.filter(function(qe){return!ve.includes(qe)})}))},[ve]),[Pe,Y]}},9257:function(b,y,e){"use strict";e.d(y,{Z:function(){return k}});var a=e(60698),t=e(57370),o=e(28314),s=e(47075),n=e(58757),d=e(87608),l=e.n(d),c=e(19425),m=e(81334),g=["prefixCls","invalidate","item","renderItem","responsive","responsiveDisabled","registerSize","itemKey","className","style","children","display","order","component"],M=void 0;function h(A,Y){var de=A.prefixCls,me=A.invalidate,ve=A.item,be=A.renderItem,Pe=A.responsive,Je=A.responsiveDisabled,qe=A.registerSize,Xe=A.itemKey,mt=A.className,Ct=A.style,vt=A.children,Ht=A.display,ke=A.order,Ve=A.component,ot=Ve===void 0?"div":Ve,Ke=(0,s.Z)(A,g),he=Pe&&!Ht;function J(ge){qe(Xe,ge)}n.useEffect(function(){return function(){J(null)}},[]);var V=be&&ve!==M?be(ve):vt,R;me||(R={opacity:he?0:1,height:he?0:M,overflowY:he?"hidden":M,order:Pe?ke:M,pointerEvents:he?"none":M,position:he?"absolute":M});var P={};he&&(P["aria-hidden"]=!0);var B=n.createElement(ot,(0,a.Z)({className:l()(!me&&de,mt),style:(0,t.Z)((0,t.Z)({},R),Ct)},P,Ke,{ref:Y}),V);return Pe&&(B=n.createElement(c.Z,{onResize:function(ie){var pe=ie.offsetWidth;J(pe)},disabled:Je},B)),B}var S=n.forwardRef(h);S.displayName="Item";var w=S,x=e(51729),z=e(26736),U=e(61834);function T(A){if(typeof MessageChannel=="undefined")(0,U.Z)(A);else{var Y=new MessageChannel;Y.port1.onmessage=function(){return A()},Y.port2.postMessage(void 0)}}function N(){var A=n.useRef(null),Y=function(me){A.current||(A.current=[],T(function(){(0,z.unstable_batchedUpdates)(function(){A.current.forEach(function(ve){ve()}),A.current=null})})),A.current.push(me)};return Y}function Z(A,Y){var de=n.useState(Y),me=(0,o.Z)(de,2),ve=me[0],be=me[1],Pe=(0,x.Z)(function(Je){A(function(){be(Je)})});return[ve,Pe]}var D=n.createContext(null),L=["component"],j=["className"],G=["className"],W=function(Y,de){var me=n.useContext(D);if(!me){var ve=Y.component,be=ve===void 0?"div":ve,Pe=(0,s.Z)(Y,L);return n.createElement(be,(0,a.Z)({},Pe,{ref:de}))}var Je=me.className,qe=(0,s.Z)(me,j),Xe=Y.className,mt=(0,s.Z)(Y,G);return n.createElement(D.Provider,{value:null},n.createElement(w,(0,a.Z)({ref:de,className:l()(Je,Xe)},qe,mt)))},ne=n.forwardRef(W);ne.displayName="RawItem";var _=ne,ee=["prefixCls","data","renderItem","renderRawItem","itemKey","itemWidth","ssr","style","className","maxCount","renderRest","renderRawRest","suffix","component","itemComponent","onVisibleChange"],se="responsive",Q="invalidate";function C(A){return"+ ".concat(A.length," ...")}function X(A,Y){var de=A.prefixCls,me=de===void 0?"rc-overflow":de,ve=A.data,be=ve===void 0?[]:ve,Pe=A.renderItem,Je=A.renderRawItem,qe=A.itemKey,Xe=A.itemWidth,mt=Xe===void 0?10:Xe,Ct=A.ssr,vt=A.style,Ht=A.className,ke=A.maxCount,Ve=A.renderRest,ot=A.renderRawRest,Ke=A.suffix,he=A.component,J=he===void 0?"div":he,V=A.itemComponent,R=A.onVisibleChange,P=(0,s.Z)(A,ee),B=Ct==="full",ge=N(),ie=Z(ge,null),pe=(0,o.Z)(ie,2),Oe=pe[0],xe=pe[1],Se=Oe||0,$e=Z(ge,new Map),re=(0,o.Z)($e,2),oe=re[0],q=re[1],ue=Z(ge,0),Ee=(0,o.Z)(ue,2),le=Ee[0],Ne=Ee[1],Ae=Z(ge,0),we=(0,o.Z)(Ae,2),Re=we[0],st=we[1],nt=Z(ge,0),_e=(0,o.Z)(nt,2),We=_e[0],Be=_e[1],it=(0,n.useState)(null),Ge=(0,o.Z)(it,2),Ot=Ge[0],$t=Ge[1],wt=(0,n.useState)(null),Pt=(0,o.Z)(wt,2),dt=Pt[0],je=Pt[1],tt=n.useMemo(function(){return dt===null&&B?Number.MAX_SAFE_INTEGER:dt||0},[dt,Oe]),lt=(0,n.useState)(!1),bt=(0,o.Z)(lt,2),It=bt[0],Kt=bt[1],zt="".concat(me,"-item"),Mt=Math.max(le,Re),Le=ke===se,Ce=be.length&&Le,Et=ke===Q,Tt=Ce||typeof ke=="number"&&be.length>ke,Ye=(0,n.useMemo)(function(){var pt=be;return Ce?Oe===null&&B?pt=be:pt=be.slice(0,Math.min(be.length,Se/mt)):typeof ke=="number"&&(pt=be.slice(0,ke)),pt},[be,mt,Oe,ke,Ce]),et=(0,n.useMemo)(function(){return Ce?be.slice(tt+1):be.slice(Ye.length)},[be,Ye,Ce,tt]),_t=(0,n.useCallback)(function(pt,gt){var Xt;return typeof qe=="function"?qe(pt):(Xt=qe&&(pt==null?void 0:pt[qe]))!==null&&Xt!==void 0?Xt:gt},[qe]),Ut=(0,n.useCallback)(Pe||function(pt){return pt},[Pe]);function qt(pt,gt,Xt){dt===pt&&(gt===void 0||gt===Ot)||(je(pt),Xt||(Kt(ptSe){qt(rn-1,pt-Jt-We+Re);break}}Ke&&Vn(0)+We>Se&&$t(null)}},[Se,oe,Re,We,_t,Ye]);var or=It&&!!et.length,er={};Ot!==null&&Ce&&(er={position:"absolute",left:Ot,top:0});var Wt={prefixCls:zt,responsive:Ce,component:V,invalidate:Et},en=Je?function(pt,gt){var Xt=_t(pt,gt);return n.createElement(D.Provider,{key:Xt,value:(0,t.Z)((0,t.Z)({},Wt),{},{order:gt,item:pt,itemKey:Xt,registerSize:Mn,display:gt<=tt})},Je(pt,gt))}:function(pt,gt){var Xt=_t(pt,gt);return n.createElement(w,(0,a.Z)({},Wt,{order:gt,key:Xt,item:pt,renderItem:Ut,itemKey:Xt,registerSize:Mn,display:gt<=tt}))},nn,fn={order:or?tt:Number.MAX_SAFE_INTEGER,className:"".concat(zt,"-rest"),registerSize:vn,display:or};if(ot)ot&&(nn=n.createElement(D.Provider,{value:(0,t.Z)((0,t.Z)({},Wt),fn)},ot(et)));else{var En=Ve||C;nn=n.createElement(w,(0,a.Z)({},Wt,fn),typeof En=="function"?En(et):En)}var on=n.createElement(J,(0,a.Z)({className:l()(!Et&&me,Ht),style:vt,ref:Y},P),Ye.map(en),Tt?nn:null,Ke&&n.createElement(w,(0,a.Z)({},Wt,{responsive:Le,responsiveDisabled:!Ce,order:tt,className:"".concat(zt,"-suffix"),registerSize:Xn,display:!0,style:er}),Ke));return Le&&(on=n.createElement(c.Z,{onResize:un,disabled:!Ce},on)),on}var O=n.forwardRef(X);O.displayName="Overflow",O.Item=_,O.RESPONSIVE=se,O.INVALIDATE=Q;var H=O,k=H},57522:function(b,y){"use strict";y.Z={items_per_page:"/ page",jump_to:"Go to",jump_to_confirm:"confirm",page:"Page",prev_page:"Previous Page",next_page:"Next Page",prev_5:"Previous 5 Pages",next_5:"Next 5 Pages",prev_3:"Previous 3 Pages",next_3:"Next 3 Pages",page_size:"Page Size"}},23737:function(b,y){"use strict";y.Z={items_per_page:"\u6761/\u9875",jump_to:"\u8DF3\u81F3",jump_to_confirm:"\u786E\u5B9A",page:"\u9875",prev_page:"\u4E0A\u4E00\u9875",next_page:"\u4E0B\u4E00\u9875",prev_5:"\u5411\u524D 5 \u9875",next_5:"\u5411\u540E 5 \u9875",prev_3:"\u5411\u524D 3 \u9875",next_3:"\u5411\u540E 3 \u9875",page_size:"\u9875\u7801"}},19425:function(b,y,e){"use strict";e.d(y,{Z:function(){return se}});var a=e(60698),t=e(58757),o=e(42156),s=e(75556),n=e(57370),d=e(21319),l=e(69188),c=e(20759),m=new Map;function g(Q){Q.forEach(function(C){var X,O=C.target;(X=m.get(O))===null||X===void 0||X.forEach(function(H){return H(O)})})}var M=new c.Z(g),h=null,S=null;function w(Q,C){m.has(Q)||(m.set(Q,new Set),M.observe(Q)),m.get(Q).add(C)}function x(Q,C){m.has(Q)&&(m.get(Q).delete(C),m.get(Q).size||(M.unobserve(Q),m.delete(Q)))}var z=e(60412),U=e(14346),T=e(87498),N=e(73726),Z=function(Q){(0,T.Z)(X,Q);var C=(0,N.Z)(X);function X(){return(0,z.Z)(this,X),C.apply(this,arguments)}return(0,U.Z)(X,[{key:"render",value:function(){return this.props.children}}]),X}(t.Component),D=t.createContext(null);function L(Q){var C=Q.children,X=Q.onBatchResize,O=t.useRef(0),H=t.useRef([]),k=t.useContext(D),A=t.useCallback(function(Y,de,me){O.current+=1;var ve=O.current;H.current.push({size:Y,element:de,data:me}),Promise.resolve().then(function(){ve===O.current&&(X==null||X(H.current),H.current=[])}),k==null||k(Y,de,me)},[X,k]);return t.createElement(D.Provider,{value:A},C)}function j(Q,C){var X=Q.children,O=Q.disabled,H=t.useRef(null),k=t.useRef(null),A=t.useContext(D),Y=typeof X=="function",de=Y?X(H):X,me=t.useRef({width:-1,height:-1,offsetWidth:-1,offsetHeight:-1}),ve=!Y&&t.isValidElement(de)&&(0,d.Yr)(de),be=ve?de.ref:null,Pe=t.useMemo(function(){return(0,d.sQ)(be,H)},[be,H]),Je=function(){return(0,l.Z)(H.current)||(0,l.Z)(k.current)};t.useImperativeHandle(C,function(){return Je()});var qe=t.useRef(Q);qe.current=Q;var Xe=t.useCallback(function(mt){var Ct=qe.current,vt=Ct.onResize,Ht=Ct.data,ke=mt.getBoundingClientRect(),Ve=ke.width,ot=ke.height,Ke=mt.offsetWidth,he=mt.offsetHeight,J=Math.floor(Ve),V=Math.floor(ot);if(me.current.width!==J||me.current.height!==V||me.current.offsetWidth!==Ke||me.current.offsetHeight!==he){var R={width:J,height:V,offsetWidth:Ke,offsetHeight:he};me.current=R;var P=Ke===Math.round(Ve)?Ve:Ke,B=he===Math.round(ot)?ot:he,ge=(0,n.Z)((0,n.Z)({},R),{},{offsetWidth:P,offsetHeight:B});A==null||A(ge,mt,Ht),vt&&Promise.resolve().then(function(){vt(ge,mt)})}},[]);return t.useEffect(function(){var mt=Je();return mt&&!O&&w(mt,Xe),function(){return x(mt,Xe)}},[H.current,O]),t.createElement(Z,{ref:k},ve?t.cloneElement(de,{ref:Pe}):de)}var G=t.forwardRef(j),W=G,ne="rc-observer-key";function _(Q,C){var X=Q.children,O=typeof X=="function"?[X]:(0,o.Z)(X);return O.map(function(H,k){var A=(H==null?void 0:H.key)||"".concat(ne,"-").concat(k);return t.createElement(W,(0,a.Z)({},Q,{key:A,ref:k===0?C:void 0}),H)})}var ee=t.forwardRef(_);ee.Collection=L;var se=ee},25092:function(b,y,e){"use strict";e.d(y,{ZP:function(){return l}});var a=e(28314),t=e(58757),o=e(19075),s=0,n=(0,o.Z)();function d(){var c;return n?(c=s,s+=1):c="TEST_OR_SSR",c}function l(c){var m=t.useState(),g=(0,a.Z)(m,2),M=g[0],h=g[1];return t.useEffect(function(){h("rc_select_".concat(d()))},[]),c||M}},18510:function(b,y,e){"use strict";e.d(y,{Ac:function(){return xe},Xo:function(){return st},Wx:function(){return _e},ZP:function(){return Tt},lk:function(){return T}});var a=e(60698),t=e(29140),o=e(37734),s=e(57370),n=e(28314),d=e(47075),l=e(38790),c=e(60409),m=e(75556),g=e(58757),M=e(87608),h=e.n(M),S=e(81334),w=e(21618),x=e(29639),z=e(21319),U=g.createContext(null);function T(){return g.useContext(U)}function N(){var Ye=arguments.length>0&&arguments[0]!==void 0?arguments[0]:10,et=g.useState(!1),_t=(0,n.Z)(et,2),Ut=_t[0],qt=_t[1],un=g.useRef(null),Mn=function(){window.clearTimeout(un.current)};g.useEffect(function(){return Mn},[]);var vn=function(Vn,or){Mn(),un.current=window.setTimeout(function(){qt(Vn),or&&or()},Ye)};return[Ut,vn,Mn]}function Z(){var Ye=arguments.length>0&&arguments[0]!==void 0?arguments[0]:250,et=g.useRef(null),_t=g.useRef(null);g.useEffect(function(){return function(){window.clearTimeout(_t.current)}},[]);function Ut(qt){(qt||et.current===null)&&(et.current=qt),window.clearTimeout(_t.current),_t.current=window.setTimeout(function(){et.current=null},Ye)}return[function(){return et.current},Ut]}function D(Ye,et,_t,Ut){var qt=g.useRef(null);qt.current={open:et,triggerOpen:_t,customizedTrigger:Ut},g.useEffect(function(){function un(Mn){var vn;if(!((vn=qt.current)!==null&&vn!==void 0&&vn.customizedTrigger)){var Xn=Mn.target;Xn.shadowRoot&&Mn.composed&&(Xn=Mn.composedPath()[0]||Xn),qt.current.open&&Ye().filter(function(Vn){return Vn}).every(function(Vn){return!Vn.contains(Xn)&&Vn!==Xn})&&qt.current.triggerOpen(!1)}}return window.addEventListener("mousedown",un),function(){return window.removeEventListener("mousedown",un)}},[])}var L=e(33926),j=e(9257),G=function(et){var _t=et.className,Ut=et.customizeIcon,qt=et.customizeIconProps,un=et.onMouseDown,Mn=et.onClick,vn=et.children,Xn;return typeof Ut=="function"?Xn=Ut(qt):Xn=Ut,g.createElement("span",{className:_t,onMouseDown:function(or){or.preventDefault(),un&&un(or)},style:{userSelect:"none",WebkitUserSelect:"none"},unselectable:"on",onClick:Mn,"aria-hidden":!0},Xn!==void 0?Xn:g.createElement("span",{className:h()(_t.split(/\s+/).map(function(Vn){return"".concat(Vn,"-icon")}))},vn))},W=G,ne=function(et,_t){var Ut,qt,un=et.prefixCls,Mn=et.id,vn=et.inputElement,Xn=et.disabled,Vn=et.tabIndex,or=et.autoFocus,er=et.autoComplete,Wt=et.editable,en=et.activeDescendantId,nn=et.value,fn=et.maxLength,En=et.onKeyDown,on=et.onMouseDown,pt=et.onChange,gt=et.onPaste,Xt=et.onCompositionStart,rn=et.onCompositionEnd,Jt=et.open,pn=et.attrs,mn=vn||g.createElement("input",null),Zn=mn,tr=Zn.ref,ut=Zn.props,ct=ut.onKeyDown,Dt=ut.onChange,xt=ut.onMouseDown,kt=ut.onCompositionStart,sn=ut.onCompositionEnd,tn=ut.style;return(0,m.Kp)(!("maxLength"in mn.props),"Passing 'maxLength' to input element directly may not work because input in BaseSelect is controlled."),mn=g.cloneElement(mn,(0,s.Z)((0,s.Z)((0,s.Z)({type:"search"},ut),{},{id:Mn,ref:(0,z.sQ)(_t,tr),disabled:Xn,tabIndex:Vn,autoComplete:er||"off",autoFocus:or,className:h()("".concat(un,"-selection-search-input"),(Ut=mn)===null||Ut===void 0||(qt=Ut.props)===null||qt===void 0?void 0:qt.className),role:"combobox","aria-label":"Search","aria-expanded":Jt,"aria-haspopup":"listbox","aria-owns":"".concat(Mn,"_list"),"aria-autocomplete":"list","aria-controls":"".concat(Mn,"_list"),"aria-activedescendant":Jt?en:void 0},pn),{},{value:Wt?nn:"",maxLength:fn,readOnly:!Wt,unselectable:Wt?null:"on",style:(0,s.Z)((0,s.Z)({},tn),{},{opacity:Wt?null:0}),onKeyDown:function(Nn){En(Nn),ct&&ct(Nn)},onMouseDown:function(Nn){on(Nn),xt&&xt(Nn)},onChange:function(Nn){pt(Nn),Dt&&Dt(Nn)},onCompositionStart:function(Nn){Xt(Nn),kt&&kt(Nn)},onCompositionEnd:function(Nn){rn(Nn),sn&&sn(Nn)},onPaste:gt})),mn},_=g.forwardRef(ne);_.displayName="Input";var ee=_;function se(Ye){return Array.isArray(Ye)?Ye:Ye!==void 0?[Ye]:[]}var Q=typeof window!="undefined"&&window.document&&window.document.documentElement,C=Q;function X(Ye){return Ye!=null}function O(Ye){return!Ye&&Ye!==0}function H(Ye){return["string","number"].includes((0,l.Z)(Ye))}function k(Ye){var et=void 0;return Ye&&(H(Ye.title)?et=Ye.title.toString():H(Ye.label)&&(et=Ye.label.toString())),et}function A(Ye,et){C?g.useLayoutEffect(Ye,et):g.useEffect(Ye,et)}function Y(Ye){var et;return(et=Ye.key)!==null&&et!==void 0?et:Ye.value}var de=function(et){et.preventDefault(),et.stopPropagation()},me=function(et){var _t=et.id,Ut=et.prefixCls,qt=et.values,un=et.open,Mn=et.searchValue,vn=et.autoClearSearchValue,Xn=et.inputRef,Vn=et.placeholder,or=et.disabled,er=et.mode,Wt=et.showSearch,en=et.autoFocus,nn=et.autoComplete,fn=et.activeDescendantId,En=et.tabIndex,on=et.removeIcon,pt=et.maxTagCount,gt=et.maxTagTextLength,Xt=et.maxTagPlaceholder,rn=Xt===void 0?function(qr){return"+ ".concat(qr.length," ...")}:Xt,Jt=et.tagRender,pn=et.onToggleOpen,mn=et.onRemove,Zn=et.onInputChange,tr=et.onInputPaste,ut=et.onInputKeyDown,ct=et.onInputMouseDown,Dt=et.onInputCompositionStart,xt=et.onInputCompositionEnd,kt=g.useRef(null),sn=(0,g.useState)(0),tn=(0,n.Z)(sn,2),xn=tn[0],Nn=tn[1],gr=(0,g.useState)(!1),nr=(0,n.Z)(gr,2),Rn=nr[0],kr=nr[1],fr="".concat(Ut,"-selection"),ua=un||er==="multiple"&&vn===!1||er==="tags"?Mn:"",Pr=er==="tags"||er==="multiple"&&vn===!1||Wt&&(un||Rn);A(function(){Nn(kt.current.scrollWidth)},[ua]);function Bn(qr,ya,dr,Br,Ea){return g.createElement("span",{className:h()("".concat(fr,"-item"),(0,o.Z)({},"".concat(fr,"-item-disabled"),dr)),title:k(qr)},g.createElement("span",{className:"".concat(fr,"-item-content")},ya),Br&&g.createElement(W,{className:"".concat(fr,"-item-remove"),onMouseDown:de,onClick:Ea,customizeIcon:on},"\xD7"))}function Cn(qr,ya,dr,Br,Ea){var ca=function(zn){de(zn),pn(!un)};return g.createElement("span",{onMouseDown:ca},Jt({label:ya,value:qr,disabled:dr,closable:Br,onClose:Ea}))}function wn(qr){var ya=qr.disabled,dr=qr.label,Br=qr.value,Ea=!or&&!ya,ca=dr;if(typeof gt=="number"&&(typeof dr=="string"||typeof dr=="number")){var Kn=String(ca);Kn.length>gt&&(ca="".concat(Kn.slice(0,gt),"..."))}var zn=function(ra){ra&&ra.stopPropagation(),mn(qr)};return typeof Jt=="function"?Cn(Br,ca,ya,Ea,zn):Bn(qr,ca,ya,Ea,zn)}function ar(qr){var ya=typeof rn=="function"?rn(qr):rn;return Bn({title:ya},ya,!1)}var mr=g.createElement("div",{className:"".concat(fr,"-search"),style:{width:xn},onFocus:function(){kr(!0)},onBlur:function(){kr(!1)}},g.createElement(ee,{ref:Xn,open:un,prefixCls:Ut,id:_t,inputElement:null,disabled:or,autoFocus:en,autoComplete:nn,editable:Pr,activeDescendantId:fn,value:ua,onKeyDown:ut,onMouseDown:ct,onChange:Zn,onPaste:tr,onCompositionStart:Dt,onCompositionEnd:xt,tabIndex:En,attrs:(0,L.Z)(et,!0)}),g.createElement("span",{ref:kt,className:"".concat(fr,"-search-mirror"),"aria-hidden":!0},ua,"\xA0")),Qr=g.createElement(j.Z,{prefixCls:"".concat(fr,"-overflow"),data:qt,renderItem:wn,renderRest:ar,suffix:mr,itemKey:Y,maxCount:pt});return g.createElement(g.Fragment,null,Qr,!qt.length&&!ua&&g.createElement("span",{className:"".concat(fr,"-placeholder")},Vn))},ve=me,be=function(et){var _t=et.inputElement,Ut=et.prefixCls,qt=et.id,un=et.inputRef,Mn=et.disabled,vn=et.autoFocus,Xn=et.autoComplete,Vn=et.activeDescendantId,or=et.mode,er=et.open,Wt=et.values,en=et.placeholder,nn=et.tabIndex,fn=et.showSearch,En=et.searchValue,on=et.activeValue,pt=et.maxLength,gt=et.onInputKeyDown,Xt=et.onInputMouseDown,rn=et.onInputChange,Jt=et.onInputPaste,pn=et.onInputCompositionStart,mn=et.onInputCompositionEnd,Zn=et.title,tr=g.useState(!1),ut=(0,n.Z)(tr,2),ct=ut[0],Dt=ut[1],xt=or==="combobox",kt=xt||fn,sn=Wt[0],tn=En||"";xt&&on&&!ct&&(tn=on),g.useEffect(function(){xt&&Dt(!1)},[xt,on]);var xn=or!=="combobox"&&!er&&!fn?!1:!!tn,Nn=Zn===void 0?k(sn):Zn,gr=function(){if(sn)return null;var Rn=xn?{visibility:"hidden"}:void 0;return g.createElement("span",{className:"".concat(Ut,"-selection-placeholder"),style:Rn},en)};return g.createElement(g.Fragment,null,g.createElement("span",{className:"".concat(Ut,"-selection-search")},g.createElement(ee,{ref:un,prefixCls:Ut,id:qt,open:er,inputElement:_t,disabled:Mn,autoFocus:vn,autoComplete:Xn,editable:kt,activeDescendantId:Vn,value:tn,onKeyDown:gt,onMouseDown:Xt,onChange:function(Rn){Dt(!0),rn(Rn)},onPaste:Jt,onCompositionStart:pn,onCompositionEnd:mn,tabIndex:nn,attrs:(0,L.Z)(et,!0),maxLength:xt?pt:void 0})),!xt&&sn?g.createElement("span",{className:"".concat(Ut,"-selection-item"),title:Nn,style:xn?{visibility:"hidden"}:void 0},sn.label):null,gr())},Pe=be;function Je(Ye){return![x.Z.ESC,x.Z.SHIFT,x.Z.BACKSPACE,x.Z.TAB,x.Z.WIN_KEY,x.Z.ALT,x.Z.META,x.Z.WIN_KEY_RIGHT,x.Z.CTRL,x.Z.SEMICOLON,x.Z.EQUALS,x.Z.CAPS_LOCK,x.Z.CONTEXT_MENU,x.Z.F1,x.Z.F2,x.Z.F3,x.Z.F4,x.Z.F5,x.Z.F6,x.Z.F7,x.Z.F8,x.Z.F9,x.Z.F10,x.Z.F11,x.Z.F12].includes(Ye)}var qe=function(et,_t){var Ut=(0,g.useRef)(null),qt=(0,g.useRef)(!1),un=et.prefixCls,Mn=et.open,vn=et.mode,Xn=et.showSearch,Vn=et.tokenWithEnter,or=et.autoClearSearchValue,er=et.onSearch,Wt=et.onSearchSubmit,en=et.onToggleOpen,nn=et.onInputKeyDown,fn=et.domRef;g.useImperativeHandle(_t,function(){return{focus:function(){Ut.current.focus()},blur:function(){Ut.current.blur()}}});var En=Z(0),on=(0,n.Z)(En,2),pt=on[0],gt=on[1],Xt=function(tn){var xn=tn.which;(xn===x.Z.UP||xn===x.Z.DOWN)&&tn.preventDefault(),nn&&nn(tn),xn===x.Z.ENTER&&vn==="tags"&&!qt.current&&!Mn&&(Wt==null||Wt(tn.target.value)),Je(xn)&&en(!0)},rn=function(){gt(!0)},Jt=(0,g.useRef)(null),pn=function(tn){er(tn,!0,qt.current)!==!1&&en(!0)},mn=function(){qt.current=!0},Zn=function(tn){qt.current=!1,vn!=="combobox"&&pn(tn.target.value)},tr=function(tn){var xn=tn.target.value;if(Vn&&Jt.current&&/[\r\n]/.test(Jt.current)){var Nn=Jt.current.replace(/[\r\n]+$/,"").replace(/\r\n/g," ").replace(/[\r\n]/g," ");xn=xn.replace(Nn,Jt.current)}Jt.current=null,pn(xn)},ut=function(tn){var xn=tn.clipboardData,Nn=xn.getData("text");Jt.current=Nn},ct=function(tn){var xn=tn.target;if(xn!==Ut.current){var Nn=document.body.style.msTouchAction!==void 0;Nn?setTimeout(function(){Ut.current.focus()}):Ut.current.focus()}},Dt=function(tn){var xn=pt();tn.target!==Ut.current&&!xn&&vn!=="combobox"&&tn.preventDefault(),(vn!=="combobox"&&(!Xn||!xn)||!Mn)&&(Mn&&or!==!1&&er("",!0,!1),en())},xt={inputRef:Ut,onInputKeyDown:Xt,onInputMouseDown:rn,onInputChange:tr,onInputPaste:ut,onInputCompositionStart:mn,onInputCompositionEnd:Zn},kt=vn==="multiple"||vn==="tags"?g.createElement(ve,(0,a.Z)({},et,xt)):g.createElement(Pe,(0,a.Z)({},et,xt));return g.createElement("div",{ref:fn,className:"".concat(un,"-selector"),onClick:ct,onMouseDown:Dt},kt)},Xe=g.forwardRef(qe);Xe.displayName="Selector";var mt=Xe,Ct=e(99863),vt=["prefixCls","disabled","visible","children","popupElement","containerWidth","animation","transitionName","dropdownStyle","dropdownClassName","direction","placement","builtinPlacements","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","getPopupContainer","empty","getTriggerDOMNode","onPopupVisibleChange","onPopupMouseEnter"],Ht=function(et){var _t=et===!0?0:1;return{bottomLeft:{points:["tl","bl"],offset:[0,4],overflow:{adjustX:_t,adjustY:1},htmlRegion:"scroll"},bottomRight:{points:["tr","br"],offset:[0,4],overflow:{adjustX:_t,adjustY:1},htmlRegion:"scroll"},topLeft:{points:["bl","tl"],offset:[0,-4],overflow:{adjustX:_t,adjustY:1},htmlRegion:"scroll"},topRight:{points:["br","tr"],offset:[0,-4],overflow:{adjustX:_t,adjustY:1},htmlRegion:"scroll"}}},ke=function(et,_t){var Ut=et.prefixCls,qt=et.disabled,un=et.visible,Mn=et.children,vn=et.popupElement,Xn=et.containerWidth,Vn=et.animation,or=et.transitionName,er=et.dropdownStyle,Wt=et.dropdownClassName,en=et.direction,nn=en===void 0?"ltr":en,fn=et.placement,En=et.builtinPlacements,on=et.dropdownMatchSelectWidth,pt=et.dropdownRender,gt=et.dropdownAlign,Xt=et.getPopupContainer,rn=et.empty,Jt=et.getTriggerDOMNode,pn=et.onPopupVisibleChange,mn=et.onPopupMouseEnter,Zn=(0,d.Z)(et,vt),tr="".concat(Ut,"-dropdown"),ut=vn;pt&&(ut=pt(vn));var ct=g.useMemo(function(){return En||Ht(on)},[En,on]),Dt=Vn?"".concat(tr,"-").concat(Vn):or,xt=g.useRef(null);g.useImperativeHandle(_t,function(){return{getPopupElement:function(){return xt.current}}});var kt=(0,s.Z)({minWidth:Xn},er);return typeof on=="number"?kt.width=on:on&&(kt.width=Xn),g.createElement(Ct.Z,(0,a.Z)({},Zn,{showAction:pn?["click"]:[],hideAction:pn?["click"]:[],popupPlacement:fn||(nn==="rtl"?"bottomRight":"bottomLeft"),builtinPlacements:ct,prefixCls:tr,popupTransitionName:Dt,popup:g.createElement("div",{ref:xt,onMouseEnter:mn},ut),popupAlign:gt,popupVisible:un,getPopupContainer:Xt,popupClassName:h()(Wt,(0,o.Z)({},"".concat(tr,"-empty"),rn)),popupStyle:kt,getTriggerDOMNode:Jt,onPopupVisibleChange:pn}),Mn)},Ve=g.forwardRef(ke);Ve.displayName="SelectTrigger";var ot=Ve,Ke=e(6747);function he(Ye,et){var _t=Ye.key,Ut;return"value"in Ye&&(Ut=Ye.value),_t!=null?_t:Ut!==void 0?Ut:"rc-index-key-".concat(et)}function J(Ye,et){var _t=Ye||{},Ut=_t.label,qt=_t.value,un=_t.options,Mn=_t.groupLabel,vn=Ut||(et?"children":"label");return{label:vn,value:qt||"value",options:un||"options",groupLabel:Mn||vn}}function V(Ye){var et=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},_t=et.fieldNames,Ut=et.childrenAsData,qt=[],un=J(_t,!1),Mn=un.label,vn=un.value,Xn=un.options,Vn=un.groupLabel;function or(er,Wt){er.forEach(function(en){if(Wt||!(Xn in en)){var nn=en[vn];qt.push({key:he(en,qt.length),groupOption:Wt,data:en,label:en[Mn],value:nn})}else{var fn=en[Vn];fn===void 0&&Ut&&(fn=en.label),qt.push({key:he(en,qt.length),group:!0,data:en,label:fn}),or(en[Xn],!0)}})}return or(Ye,!1),qt}function R(Ye){var et=(0,s.Z)({},Ye);return"props"in et||Object.defineProperty(et,"props",{get:function(){return(0,m.ZP)(!1,"Return type is option instead of Option instance. Please read value directly instead of reading from `props`."),et}}),et}function P(Ye,et){if(!et||!et.length)return null;var _t=!1;function Ut(un,Mn){var vn=(0,Ke.Z)(Mn),Xn=vn[0],Vn=vn.slice(1);if(!Xn)return[un];var or=un.split(Xn);return _t=_t||or.length>1,or.reduce(function(er,Wt){return[].concat((0,t.Z)(er),(0,t.Z)(Ut(Wt,Vn)))},[]).filter(function(er){return er})}var qt=Ut(Ye,et);return _t?qt:null}function B(Ye,et,_t,Ut,qt){var un=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!1,Mn=arguments.length>6?arguments[6]:void 0,vn=arguments.length>7?arguments[7]:void 0,Xn=g.useMemo(function(){if((0,l.Z)(Ut)==="object")return Ut.clearIcon;if(qt)return qt},[Ut,qt]),Vn=g.useMemo(function(){return!!(!un&&Ut&&(_t.length||Mn)&&!(vn==="combobox"&&Mn===""))},[Ut,un,_t.length,Mn,vn]);return{allowClear:Vn,clearIcon:g.createElement(W,{className:"".concat(Ye,"-clear"),onMouseDown:et,customizeIcon:Xn},"\xD7")}}var ge=["id","prefixCls","className","showSearch","tagRender","direction","omitDomProps","displayValues","onDisplayValuesChange","emptyOptions","notFoundContent","onClear","mode","disabled","loading","getInputElement","getRawInputElement","open","defaultOpen","onDropdownVisibleChange","activeValue","onActiveValueChange","activeDescendantId","searchValue","autoClearSearchValue","onSearch","onSearchSplit","tokenSeparators","allowClear","suffixIcon","clearIcon","OptionList","animation","transitionName","dropdownStyle","dropdownClassName","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","placement","builtinPlacements","getPopupContainer","showAction","onFocus","onBlur","onKeyUp","onKeyDown","onMouseDown"],ie=["value","onChange","removeIcon","placeholder","autoFocus","maxTagCount","maxTagTextLength","maxTagPlaceholder","choiceTransitionName","onInputKeyDown","onPopupScroll","tabIndex"];function pe(Ye){return Ye==="tags"||Ye==="multiple"}var Oe=g.forwardRef(function(Ye,et){var _t,Ut,qt=Ye.id,un=Ye.prefixCls,Mn=Ye.className,vn=Ye.showSearch,Xn=Ye.tagRender,Vn=Ye.direction,or=Ye.omitDomProps,er=Ye.displayValues,Wt=Ye.onDisplayValuesChange,en=Ye.emptyOptions,nn=Ye.notFoundContent,fn=nn===void 0?"Not Found":nn,En=Ye.onClear,on=Ye.mode,pt=Ye.disabled,gt=Ye.loading,Xt=Ye.getInputElement,rn=Ye.getRawInputElement,Jt=Ye.open,pn=Ye.defaultOpen,mn=Ye.onDropdownVisibleChange,Zn=Ye.activeValue,tr=Ye.onActiveValueChange,ut=Ye.activeDescendantId,ct=Ye.searchValue,Dt=Ye.autoClearSearchValue,xt=Ye.onSearch,kt=Ye.onSearchSplit,sn=Ye.tokenSeparators,tn=Ye.allowClear,xn=Ye.suffixIcon,Nn=Ye.clearIcon,gr=Ye.OptionList,nr=Ye.animation,Rn=Ye.transitionName,kr=Ye.dropdownStyle,fr=Ye.dropdownClassName,ua=Ye.dropdownMatchSelectWidth,Pr=Ye.dropdownRender,Bn=Ye.dropdownAlign,Cn=Ye.placement,wn=Ye.builtinPlacements,ar=Ye.getPopupContainer,mr=Ye.showAction,Qr=mr===void 0?[]:mr,qr=Ye.onFocus,ya=Ye.onBlur,dr=Ye.onKeyUp,Br=Ye.onKeyDown,Ea=Ye.onMouseDown,ca=(0,d.Z)(Ye,ge),Kn=pe(on),zn=(vn!==void 0?vn:Kn)||on==="combobox",vr=(0,s.Z)({},ca);ie.forEach(function(oo){delete vr[oo]}),or==null||or.forEach(function(oo){delete vr[oo]});var ra=g.useState(!1),xr=(0,n.Z)(ra,2),jt=xr[0],an=xr[1];g.useEffect(function(){an((0,w.Z)())},[]);var hn=g.useRef(null),ao=g.useRef(null),Mo=g.useRef(null),Ua=g.useRef(null),Ha=g.useRef(null),eo=N(),jo=(0,n.Z)(eo,3),Wo=jo[0],Eo=jo[1],ft=jo[2];g.useImperativeHandle(et,function(){var oo,Ja;return{focus:(oo=Ua.current)===null||oo===void 0?void 0:oo.focus,blur:(Ja=Ua.current)===null||Ja===void 0?void 0:Ja.blur,scrollTo:function(oi){var No;return(No=Ha.current)===null||No===void 0?void 0:No.scrollTo(oi)}}});var Nt=g.useMemo(function(){var oo;if(on!=="combobox")return ct;var Ja=(oo=er[0])===null||oo===void 0?void 0:oo.value;return typeof Ja=="string"||typeof Ja=="number"?String(Ja):""},[ct,on,er]),Ie=on==="combobox"&&typeof Xt=="function"&&Xt()||null,cn=typeof rn=="function"&&rn(),dn=(0,z.x1)(ao,cn==null||(_t=cn.props)===null||_t===void 0?void 0:_t.ref),_n=g.useState(!1),Tn=(0,n.Z)(_n,2),yr=Tn[0],Wr=Tn[1];(0,S.Z)(function(){Wr(!0)},[]);var Da=(0,c.Z)(!1,{defaultValue:pn,value:Jt}),la=(0,n.Z)(Da,2),ea=la[0],oa=la[1],Ir=yr?ea:!1,$r=!fn&&en;(pt||$r&&Ir&&on==="combobox")&&(Ir=!1);var pa=$r?!1:Ir,La=g.useCallback(function(oo){var Ja=oo!==void 0?oo:!Ir;pt||(oa(Ja),Ir!==Ja&&(mn==null||mn(Ja)))},[pt,Ir,oa,mn]),lo=g.useMemo(function(){return(sn||[]).some(function(oo){return[` +`,`\r +`].includes(oo)})},[sn]),Qa=function(Ja,ri,oi){var No=!0,zo=Ja;tr==null||tr(null);var xi=oi?null:P(Ja,sn);return on!=="combobox"&&xi&&(zo="",kt==null||kt(xi),La(!1),No=!1),xt&&Nt!==zo&&xt(zo,{source:ri?"typing":"effect"}),No},Gt=function(Ja){!Ja||!Ja.trim()||xt(Ja,{source:"submit"})};g.useEffect(function(){!Ir&&!Kn&&on!=="combobox"&&Qa("",!1,!1)},[Ir]),g.useEffect(function(){ea&&pt&&oa(!1),pt&&Eo(!1)},[pt]);var yn=Z(),jn=(0,n.Z)(yn,2),Gn=jn[0],br=jn[1],Hr=function(Ja){var ri=Gn(),oi=Ja.which;if(oi===x.Z.ENTER&&(on!=="combobox"&&Ja.preventDefault(),Ir||La(!0)),br(!!Nt),oi===x.Z.BACKSPACE&&!ri&&Kn&&!Nt&&er.length){for(var No=(0,t.Z)(er),zo=null,xi=No.length-1;xi>=0;xi-=1){var Ui=No[xi];if(!Ui.disabled){No.splice(xi,1),zo=Ui;break}}zo&&Wt(No,{type:"remove",values:[zo]})}for(var ki=arguments.length,Ts=new Array(ki>1?ki-1:0),fs=1;fs1?ri-1:0),No=1;No1?xi-1:0),ki=1;ki1&&arguments[1]!==void 0?arguments[1]:!1;return(0,q.Z)(Ye).map(function(_t,Ut){if(!g.isValidElement(_t)||!_t.type)return null;var qt=_t,un=qt.type.isSelectOptGroup,Mn=qt.key,vn=qt.props,Xn=vn.children,Vn=(0,d.Z)(vn,Ee);return et||!un?le(_t):(0,s.Z)((0,s.Z)({key:"__RC_SELECT_GRP__".concat(Mn===null?Ut:Mn,"__"),label:Mn},Vn),{},{options:Ne(Xn)})}).filter(function(_t){return _t})}function Ae(Ye,et,_t,Ut,qt){return g.useMemo(function(){var un=Ye,Mn=!Ye;Mn&&(un=Ne(et));var vn=new Map,Xn=new Map,Vn=function(Wt,en,nn){nn&&typeof nn=="string"&&Wt.set(en[nn],en)};function or(er){for(var Wt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,en=0;en1&&arguments[1]!==void 0?arguments[1]:1,ar=tr.length,mr=0;mr1&&arguments[1]!==void 0?arguments[1]:!1;xn(Cn);var ar={source:wn?"keyboard":"mouse"},mr=tr[Cn];if(!mr){fn(null,-1,ar);return}fn(mr.value,Cn,ar)};(0,g.useEffect)(function(){Nn(En!==!1?xt(0):-1)},[tr.length,Vn]);var gr=g.useCallback(function(Bn){return gt.has(Bn)&&Xn!=="combobox"},[Xn,(0,t.Z)(gt).toString(),gt.size]);(0,g.useEffect)(function(){var Bn=setTimeout(function(){if(!vn&&Mn&>.size===1){var wn=Array.from(gt)[0],ar=tr.findIndex(function(mr){var Qr=mr.data;return Qr.value===wn});ar!==-1&&(Nn(ar),Dt(ar))}});if(Mn){var Cn;(Cn=ut.current)===null||Cn===void 0||Cn.scrollTo(void 0)}return function(){return clearTimeout(Bn)}},[Mn,Vn,nn.length]);var nr=function(Cn){Cn!==void 0&&on(Cn,{selected:!gt.has(Cn)}),vn||or(!1)};if(g.useImperativeHandle(_t,function(){return{onKeyDown:function(Cn){var wn=Cn.which,ar=Cn.ctrlKey;switch(wn){case x.Z.N:case x.Z.P:case x.Z.UP:case x.Z.DOWN:{var mr=0;if(wn===x.Z.UP?mr=-1:wn===x.Z.DOWN?mr=1:$t()&&ar&&(wn===x.Z.N?mr=1:wn===x.Z.P&&(mr=-1)),mr!==0){var Qr=xt(tn+mr,mr);Dt(Qr),Nn(Qr,!0)}break}case x.Z.ENTER:{var qr=tr[tn];qr&&!qr.data.disabled?nr(qr.value):nr(void 0),Mn&&Cn.preventDefault();break}case x.Z.ESC:or(!1),Mn&&Cn.stopPropagation()}},onKeyUp:function(){},scrollTo:function(Cn){Dt(Cn)}}}),tr.length===0)return g.createElement("div",{role:"listbox",id:"".concat(un,"_list"),className:"".concat(Zn,"-empty"),onMouseDown:ct},er);var Rn=Object.keys(Xt).map(function(Bn){return Xt[Bn]}),kr=function(Cn){return Cn.label};function fr(Bn,Cn){var wn=Bn.group;return{role:wn?"presentation":"option",id:"".concat(un,"_list_").concat(Cn)}}var ua=function(Cn){var wn=tr[Cn];if(!wn)return null;var ar=wn.data||{},mr=ar.value,Qr=wn.group,qr=(0,L.Z)(ar,!0),ya=kr(wn);return wn?g.createElement("div",(0,a.Z)({"aria-label":typeof ya=="string"&&!Qr?ya:null},qr,{key:Cn},fr(wn,Cn),{"aria-selected":gr(mr)}),mr):null},Pr={role:"listbox",id:"".concat(un,"_list")};return g.createElement(g.Fragment,null,rn&&g.createElement("div",(0,a.Z)({},Pr,{style:{height:0,width:0,overflow:"hidden"}}),ua(tn-1),ua(tn),ua(tn+1)),g.createElement(it.Z,{itemKey:"key",ref:ut,data:tr,height:pn,itemHeight:mn,fullHeight:!1,onMouseDown:ct,onScroll:Wt,virtual:rn,direction:Jt,innerProps:rn?null:Pr},function(Bn,Cn){var wn,ar=Bn.group,mr=Bn.groupOption,Qr=Bn.data,qr=Bn.label,ya=Bn.value,dr=Qr.key;if(ar){var Br,Ea=(Br=Qr.title)!==null&&Br!==void 0?Br:Pt(qr)?qr.toString():void 0;return g.createElement("div",{className:h()(Zn,"".concat(Zn,"-group")),title:Ea},qr!==void 0?qr:dr)}var ca=Qr.disabled,Kn=Qr.title,zn=Qr.children,vr=Qr.style,ra=Qr.className,xr=(0,d.Z)(Qr,wt),jt=(0,Be.Z)(xr,Rn),an=gr(ya),hn="".concat(Zn,"-option"),ao=h()(Zn,hn,ra,(wn={},(0,o.Z)(wn,"".concat(hn,"-grouped"),mr),(0,o.Z)(wn,"".concat(hn,"-active"),tn===Cn&&!ca),(0,o.Z)(wn,"".concat(hn,"-disabled"),ca),(0,o.Z)(wn,"".concat(hn,"-selected"),an),wn)),Mo=kr(Bn),Ua=!pt||typeof pt=="function"||an,Ha=typeof Mo=="number"?Mo:Mo||ya,eo=Pt(Ha)?Ha.toString():void 0;return Kn!==void 0&&(eo=Kn),g.createElement("div",(0,a.Z)({},(0,L.Z)(jt),rn?{}:fr(Bn,Cn),{"aria-selected":an,className:ao,title:eo,onMouseMove:function(){tn===Cn||ca||Nn(Cn)},onClick:function(){ca||nr(ya)},style:vr}),g.createElement("div",{className:"".concat(hn,"-content")},Ha),g.isValidElement(pt)||an,Ua&&g.createElement(W,{className:"".concat(Zn,"-option-state"),customizeIcon:pt,customizeIconProps:{isSelected:an}},an?"\u2713":null))}))},je=g.forwardRef(dt);je.displayName="OptionList";var tt=je;function lt(Ye){var et=Ye.mode,_t=Ye.options,Ut=Ye.children,qt=Ye.backfill,un=Ye.allowClear,Mn=Ye.placeholder,vn=Ye.getInputElement,Xn=Ye.showSearch,Vn=Ye.onSearch,or=Ye.defaultOpen,er=Ye.autoFocus,Wt=Ye.labelInValue,en=Ye.value,nn=Ye.inputValue,fn=Ye.optionLabelProp,En=isMultiple(et),on=Xn!==void 0?Xn:En||et==="combobox",pt=_t||convertChildrenToData(Ut);if(warning(et!=="tags"||pt.every(function(Jt){return!Jt.disabled}),"Please avoid setting option to disabled in tags mode since user can always type text as tag."),et==="tags"||et==="combobox"){var gt=pt.some(function(Jt){return Jt.options?Jt.options.some(function(pn){return typeof("value"in pn?pn.value:pn.key)=="number"}):typeof("value"in Jt?Jt.value:Jt.key)=="number"});warning(!gt,"`value` of Option should not use number type when `mode` is `tags` or `combobox`.")}if(warning(et!=="combobox"||!fn,"`combobox` mode not support `optionLabelProp`. Please set `value` on Option directly."),warning(et==="combobox"||!qt,"`backfill` only works with `combobox` mode."),warning(et==="combobox"||!vn,"`getInputElement` only work with `combobox` mode."),noteOnce(et!=="combobox"||!vn||!un||!Mn,"Customize `getInputElement` should customize clear and placeholder logic instead of configuring `allowClear` and `placeholder`."),Vn&&!on&&et!=="combobox"&&et!=="tags"&&warning(!1,"`onSearch` should work with `showSearch` instead of use alone."),noteOnce(!or||er,"`defaultOpen` makes Select open without focus which means it will not close by click outside. You can set `autoFocus` if needed."),en!=null){var Xt=toArray(en);warning(!Wt||Xt.every(function(Jt){return _typeof(Jt)==="object"&&("key"in Jt||"value"in Jt)}),"`value` should in shape of `{ value: string | number, label?: ReactNode }` when you set `labelInValue` to `true`"),warning(!En||Array.isArray(en),"`value` should be array when `mode` is `multiple` or `tags`")}if(Ut){var rn=null;toNodeArray(Ut).some(function(Jt){if(!React.isValidElement(Jt)||!Jt.type)return!1;var pn=Jt,mn=pn.type;if(mn.isSelectOption)return!1;if(mn.isSelectOptGroup){var Zn=toNodeArray(Jt.props.children).every(function(tr){return!React.isValidElement(tr)||!Jt.type||tr.type.isSelectOption?!0:(rn=tr.type,!1)});return!Zn}return rn=mn,!0}),rn&&warning(!1,"`children` should be `Select.Option` or `Select.OptGroup` instead of `".concat(rn.displayName||rn.name||rn,"`.")),warning(nn===void 0,"`inputValue` is deprecated, please use `searchValue` instead.")}}function bt(Ye,et){if(Ye){var _t=function Ut(qt){for(var un=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Mn=0;Mn2&&arguments[2]!==void 0?arguments[2]:{},La=pa.source,lo=La===void 0?"keyboard":La;dn($r),Mn&&Ut==="combobox"&&Ir!==null&&lo==="keyboard"&&ft(String(Ir))},[Mn,Ut]),yr=function($r,pa,La){var lo=function(){var zr,va=ra($r);return[tn?{label:va==null?void 0:va[fr.label],value:$r,key:(zr=va==null?void 0:va.key)!==null&&zr!==void 0?zr:$r}:$r,R(va)]};if(pa&&en){var Qa=lo(),Gt=(0,n.Z)(Qa,2),yn=Gt[0],jn=Gt[1];en(yn,jn)}else if(!pa&&nn&&La!=="clear"){var Gn=lo(),br=(0,n.Z)(Gn,2),Hr=br[0],ta=br[1];nn(Hr,ta)}},Wr=we(function(Ir,$r){var pa,La=nr?$r.selected:!0;La?pa=nr?[].concat((0,t.Z)(vr),[Ir]):[Ir]:pa=vr.filter(function(lo){return lo.value!==Ir}),eo(pa),yr(Ir,La),Ut==="combobox"?ft(""):(!pe||Wt)&&(Cn(""),ft(""))}),Da=function($r,pa){eo($r);var La=pa.type,lo=pa.values;(La==="remove"||La==="clear")&&lo.forEach(function(Qa){yr(Qa.value,!1,La)})},la=function($r,pa){if(Cn($r),ft(null),pa.source==="submit"){var La=($r||"").trim();if(La){var lo=Array.from(new Set([].concat((0,t.Z)(jt),[La])));eo(lo),yr(La,!0),Cn("")}return}pa.source!=="blur"&&(Ut==="combobox"&&eo($r),or==null||or($r))},ea=function($r){var pa=$r;Ut!=="tags"&&(pa=$r.map(function(lo){var Qa=mr.get(lo);return Qa==null?void 0:Qa.value}).filter(function(lo){return lo!==void 0}));var La=Array.from(new Set([].concat((0,t.Z)(jt),(0,t.Z)(pa))));eo(La),La.forEach(function(lo){yr(lo,!0)})},oa=g.useMemo(function(){var Ir=Zn!==!1&&En!==!1;return(0,s.Z)((0,s.Z)({},wn),{},{flattenOptions:Ha,onActiveValue:Tn,defaultActiveFirstOption:_n,onSelect:Wr,menuItemSelectedIcon:mn,rawValues:jt,fieldNames:fr,virtual:Ir,direction:tr,listHeight:ct,listItemHeight:xt,childrenAsData:Rn})},[wn,Ha,Tn,_n,Wr,mn,jt,fr,Zn,En,ct,xt,Rn]);return g.createElement(Ot.Provider,{value:oa},g.createElement(xe,(0,a.Z)({},Nn,{id:gr,prefixCls:un,ref:et,omitDomProps:zt,mode:Ut,displayValues:xr,onDisplayValuesChange:Da,direction:tr,searchValue:Bn,onSearch:la,autoClearSearchValue:Wt,onSearchSplit:ea,dropdownMatchSelectWidth:En,OptionList:tt,emptyOptions:!Ha.length,activeValue:Eo,activeDescendantId:"".concat(gr,"_list_").concat(cn)})))}),Ce=Le;Ce.Option=_e,Ce.OptGroup=st;var Et=Ce,Tt=Et},9457:function(b,y,e){"use strict";e.d(y,{Z:function(){return H}});var a=e(60698),t=e(57370),o=e(37734),s=e(38790),n=e(28314),d=e(47075),l=e(29140),c=e(87608),m=e.n(c),g=e(19570),M=e(33615),h=e(60409),S=e(58757),w=e(19425),x=e(81334),z=e(61834),U=` + min-height:0 !important; + max-height:none !important; + height:0 !important; + visibility:hidden !important; + overflow:hidden !important; + position:absolute !important; + z-index:-1000 !important; + top:0 !important; + right:0 !important; + pointer-events: none !important; +`,T=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break","white-space"],N={},Z;function D(k){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Y=k.getAttribute("id")||k.getAttribute("data-reactid")||k.getAttribute("name");if(A&&N[Y])return N[Y];var de=window.getComputedStyle(k),me=de.getPropertyValue("box-sizing")||de.getPropertyValue("-moz-box-sizing")||de.getPropertyValue("-webkit-box-sizing"),ve=parseFloat(de.getPropertyValue("padding-bottom"))+parseFloat(de.getPropertyValue("padding-top")),be=parseFloat(de.getPropertyValue("border-bottom-width"))+parseFloat(de.getPropertyValue("border-top-width")),Pe=T.map(function(qe){return"".concat(qe,":").concat(de.getPropertyValue(qe))}).join(";"),Je={sizingStyle:Pe,paddingSize:ve,borderSize:be,boxSizing:me};return A&&Y&&(N[Y]=Je),Je}function L(k){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,de=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;Z||(Z=document.createElement("textarea"),Z.setAttribute("tab-index","-1"),Z.setAttribute("aria-hidden","true"),document.body.appendChild(Z)),k.getAttribute("wrap")?Z.setAttribute("wrap",k.getAttribute("wrap")):Z.removeAttribute("wrap");var me=D(k,A),ve=me.paddingSize,be=me.borderSize,Pe=me.boxSizing,Je=me.sizingStyle;Z.setAttribute("style","".concat(Je,";").concat(U)),Z.value=k.value||k.placeholder||"";var qe=void 0,Xe=void 0,mt,Ct=Z.scrollHeight;if(Pe==="border-box"?Ct+=be:Pe==="content-box"&&(Ct-=ve),Y!==null||de!==null){Z.value=" ";var vt=Z.scrollHeight-ve;Y!==null&&(qe=vt*Y,Pe==="border-box"&&(qe=qe+ve+be),Ct=Math.max(qe,Ct)),de!==null&&(Xe=vt*de,Pe==="border-box"&&(Xe=Xe+ve+be),mt=Ct>Xe?"":"hidden",Ct=Math.min(Xe,Ct))}var Ht={height:Ct,overflowY:mt,resize:"none"};return qe&&(Ht.minHeight=qe),Xe&&(Ht.maxHeight=Xe),Ht}var j=["prefixCls","onPressEnter","defaultValue","value","autoSize","onResize","className","style","disabled","onChange","onInternalAutoSize"],G=0,W=1,ne=2,_=S.forwardRef(function(k,A){var Y=k,de=Y.prefixCls,me=Y.onPressEnter,ve=Y.defaultValue,be=Y.value,Pe=Y.autoSize,Je=Y.onResize,qe=Y.className,Xe=Y.style,mt=Y.disabled,Ct=Y.onChange,vt=Y.onInternalAutoSize,Ht=(0,d.Z)(Y,j),ke=(0,h.Z)(ve,{value:be,postState:function(st){return st!=null?st:""}}),Ve=(0,n.Z)(ke,2),ot=Ve[0],Ke=Ve[1],he=function(st){Ke(st.target.value),Ct==null||Ct(st)},J=S.useRef();S.useImperativeHandle(A,function(){return{textArea:J.current}});var V=S.useMemo(function(){return Pe&&(0,s.Z)(Pe)==="object"?[Pe.minRows,Pe.maxRows]:[]},[Pe]),R=(0,n.Z)(V,2),P=R[0],B=R[1],ge=!!Pe,ie=function(){try{if(document.activeElement===J.current){var st=J.current,nt=st.selectionStart,_e=st.selectionEnd,We=st.scrollTop;J.current.setSelectionRange(nt,_e),J.current.scrollTop=We}}catch(Be){}},pe=S.useState(ne),Oe=(0,n.Z)(pe,2),xe=Oe[0],Se=Oe[1],$e=S.useState(),re=(0,n.Z)($e,2),oe=re[0],q=re[1],ue=function(){Se(G)};(0,x.Z)(function(){ge&&ue()},[be,P,B,ge]),(0,x.Z)(function(){if(xe===G)Se(W);else if(xe===W){var Re=L(J.current,!1,P,B);Se(ne),q(Re)}else ie()},[xe]);var Ee=S.useRef(),le=function(){z.Z.cancel(Ee.current)},Ne=function(st){xe===ne&&(Je==null||Je(st),Pe&&(le(),Ee.current=(0,z.Z)(function(){ue()})))};S.useEffect(function(){return le},[]);var Ae=ge?oe:null,we=(0,t.Z)((0,t.Z)({},Xe),Ae);return(xe===G||xe===W)&&(we.overflowY="hidden",we.overflowX="hidden"),S.createElement(w.Z,{onResize:Ne,disabled:!(Pe||Je)},S.createElement("textarea",(0,a.Z)({},Ht,{ref:J,style:we,className:m()(de,qe,(0,o.Z)({},"".concat(de,"-disabled"),mt)),disabled:mt,value:ot,onChange:he})))}),ee=_,se=["defaultValue","value","onFocus","onBlur","onChange","allowClear","maxLength","onCompositionStart","onCompositionEnd","suffix","prefixCls","classes","showCount","className","style","disabled","hidden","classNames","styles","onResize"];function Q(k,A){return(0,l.Z)(k||"").slice(0,A).join("")}function C(k,A,Y,de){var me=Y;return k?me=Q(Y,de):(0,l.Z)(A||"").lengthde&&(me=A),me}var X=S.forwardRef(function(k,A){var Y,de=k.defaultValue,me=k.value,ve=k.onFocus,be=k.onBlur,Pe=k.onChange,Je=k.allowClear,qe=k.maxLength,Xe=k.onCompositionStart,mt=k.onCompositionEnd,Ct=k.suffix,vt=k.prefixCls,Ht=vt===void 0?"rc-textarea":vt,ke=k.classes,Ve=k.showCount,ot=k.className,Ke=k.style,he=k.disabled,J=k.hidden,V=k.classNames,R=k.styles,P=k.onResize,B=(0,d.Z)(k,se),ge=(0,h.Z)(de,{value:me,defaultValue:de}),ie=(0,n.Z)(ge,2),pe=ie[0],Oe=ie[1],xe=(0,S.useRef)(null),Se=S.useState(!1),$e=(0,n.Z)(Se,2),re=$e[0],oe=$e[1],q=S.useState(!1),ue=(0,n.Z)(q,2),Ee=ue[0],le=ue[1],Ne=S.useRef(),Ae=S.useRef(0),we=S.useState(null),Re=(0,n.Z)(we,2),st=Re[0],nt=Re[1],_e=function(){var Mt;(Mt=xe.current)===null||Mt===void 0||Mt.textArea.focus()};(0,S.useImperativeHandle)(A,function(){return{resizableTextArea:xe.current,focus:_e,blur:function(){var Mt;(Mt=xe.current)===null||Mt===void 0||Mt.textArea.blur()}}}),(0,S.useEffect)(function(){oe(function(zt){return!he&&zt})},[he]);var We=Number(qe)>0,Be=function(Mt){le(!0),Ne.current=pe,Ae.current=Mt.currentTarget.selectionStart,Xe==null||Xe(Mt)},it=function(Mt){le(!1);var Le=Mt.currentTarget.value;if(We){var Ce,Et=Ae.current>=qe+1||Ae.current===((Ce=Ne.current)===null||Ce===void 0?void 0:Ce.length);Le=C(Et,Ne.current,Le,qe)}Le!==pe&&(Oe(Le),(0,M.rJ)(Mt.currentTarget,Mt,Pe,Le)),mt==null||mt(Mt)},Ge=function(Mt){var Le=Mt.target.value;if(!Ee&&We){var Ce=Mt.target.selectionStart>=qe+1||Mt.target.selectionStart===Le.length||!Mt.target.selectionStart;Le=C(Ce,pe,Le,qe)}Oe(Le),(0,M.rJ)(Mt.currentTarget,Mt,Pe,Le)},Ot=function(Mt){var Le=B.onPressEnter,Ce=B.onKeyDown;Mt.key==="Enter"&&Le&&Le(Mt),Ce==null||Ce(Mt)},$t=function(Mt){oe(!0),ve==null||ve(Mt)},wt=function(Mt){oe(!1),be==null||be(Mt)},Pt=function(Mt){var Le;Oe(""),_e(),(0,M.rJ)((Le=xe.current)===null||Le===void 0?void 0:Le.textArea,Mt,Pe)},dt=(0,M.D7)(pe);!Ee&&We&&me==null&&(dt=Q(dt,qe));var je=Ct,tt;if(Ve){var lt=(0,l.Z)(dt).length;(0,s.Z)(Ve)==="object"?tt=Ve.formatter({value:dt,count:lt,maxLength:qe}):tt="".concat(lt).concat(We?" / ".concat(qe):""),je=S.createElement(S.Fragment,null,je,S.createElement("span",{className:m()("".concat(Ht,"-data-count"),V==null?void 0:V.count),style:R==null?void 0:R.count},tt))}var bt=function(Mt){var Le;P==null||P(Mt),(Le=xe.current)!==null&&Le!==void 0&&Le.textArea.style.height&&nt(!0)},It=!B.autoSize&&!Ve&&!Je,Kt=S.createElement(g.Q,{value:dt,allowClear:Je,handleReset:Pt,suffix:je,prefixCls:Ht,classes:{affixWrapper:m()(ke==null?void 0:ke.affixWrapper,(Y={},(0,o.Z)(Y,"".concat(Ht,"-show-count"),Ve),(0,o.Z)(Y,"".concat(Ht,"-textarea-allow-clear"),Je),Y))},disabled:he,focused:re,className:ot,style:(0,t.Z)((0,t.Z)({},Ke),st&&!It?{height:"auto"}:{}),dataAttrs:{affixWrapper:{"data-count":typeof tt=="string"?tt:void 0}},hidden:J,inputElement:S.createElement(ee,(0,a.Z)({},B,{onKeyDown:Ot,onChange:Ge,onFocus:$t,onBlur:wt,onCompositionStart:Be,onCompositionEnd:it,className:V==null?void 0:V.textarea,style:(0,t.Z)((0,t.Z)({},R==null?void 0:R.textarea),{},{resize:Ke==null?void 0:Ke.resize}),disabled:he,prefixCls:Ht,onResize:bt,ref:xe}))});return Kt}),O=X,H=O},33664:function(b,y,e){"use strict";e.d(y,{G:function(){return S},Z:function(){return U}});var a=e(60698),t=e(57370),o=e(47075),s=e(99863),n=e(58757),d={shiftX:64,adjustY:1},l={adjustX:1,shiftY:!0},c=[0,0],m={left:{points:["cr","cl"],overflow:l,offset:[-4,0],targetOffset:c},right:{points:["cl","cr"],overflow:l,offset:[4,0],targetOffset:c},top:{points:["bc","tc"],overflow:d,offset:[0,-4],targetOffset:c},bottom:{points:["tc","bc"],overflow:d,offset:[0,4],targetOffset:c},topLeft:{points:["bl","tl"],overflow:d,offset:[0,-4],targetOffset:c},leftTop:{points:["tr","tl"],overflow:l,offset:[-4,0],targetOffset:c},topRight:{points:["br","tr"],overflow:d,offset:[0,-4],targetOffset:c},rightTop:{points:["tl","tr"],overflow:l,offset:[4,0],targetOffset:c},bottomRight:{points:["tr","br"],overflow:d,offset:[0,4],targetOffset:c},rightBottom:{points:["bl","br"],overflow:l,offset:[4,0],targetOffset:c},bottomLeft:{points:["tl","bl"],overflow:d,offset:[0,4],targetOffset:c},leftBottom:{points:["br","bl"],overflow:l,offset:[-4,0],targetOffset:c}},g=null,M=e(87608),h=e.n(M);function S(T){var N=T.children,Z=T.prefixCls,D=T.id,L=T.overlayInnerStyle,j=T.className,G=T.style;return n.createElement("div",{className:h()("".concat(Z,"-content"),j),style:G},n.createElement("div",{className:"".concat(Z,"-inner"),id:D,role:"tooltip",style:L},typeof N=="function"?N():N))}var w=["overlayClassName","trigger","mouseEnterDelay","mouseLeaveDelay","overlayStyle","prefixCls","children","onVisibleChange","afterVisibleChange","transitionName","animation","motion","placement","align","destroyTooltipOnHide","defaultVisible","getTooltipContainer","overlayInnerStyle","arrowContent","overlay","id","showArrow"],x=function(N,Z){var D=N.overlayClassName,L=N.trigger,j=L===void 0?["hover"]:L,G=N.mouseEnterDelay,W=G===void 0?0:G,ne=N.mouseLeaveDelay,_=ne===void 0?.1:ne,ee=N.overlayStyle,se=N.prefixCls,Q=se===void 0?"rc-tooltip":se,C=N.children,X=N.onVisibleChange,O=N.afterVisibleChange,H=N.transitionName,k=N.animation,A=N.motion,Y=N.placement,de=Y===void 0?"right":Y,me=N.align,ve=me===void 0?{}:me,be=N.destroyTooltipOnHide,Pe=be===void 0?!1:be,Je=N.defaultVisible,qe=N.getTooltipContainer,Xe=N.overlayInnerStyle,mt=N.arrowContent,Ct=N.overlay,vt=N.id,Ht=N.showArrow,ke=Ht===void 0?!0:Ht,Ve=(0,o.Z)(N,w),ot=(0,n.useRef)(null);(0,n.useImperativeHandle)(Z,function(){return ot.current});var Ke=(0,t.Z)({},Ve);"visible"in N&&(Ke.popupVisible=N.visible);var he=function(){return n.createElement(S,{key:"content",prefixCls:Q,id:vt,overlayInnerStyle:Xe},Ct)};return n.createElement(s.Z,(0,a.Z)({popupClassName:D,prefixCls:Q,popup:he,action:j,builtinPlacements:m,popupPlacement:de,ref:ot,popupAlign:ve,getPopupContainer:qe,onPopupVisibleChange:X,afterPopupVisibleChange:O,popupTransitionName:H,popupAnimation:k,popupMotion:A,defaultPopupVisible:Je,autoDestroy:Pe,mouseLeaveDelay:_,popupStyle:ee,mouseEnterDelay:W,arrow:ke},Ke),C)},z=(0,n.forwardRef)(x),U=z},42156:function(b,y,e){"use strict";e.d(y,{Z:function(){return o}});var a=e(58757),t=e(99415);function o(s){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},d=[];return a.Children.forEach(s,function(l){l==null&&!n.keepEmpty||(Array.isArray(l)?d=d.concat(o(l)):(0,t.isFragment)(l)&&l.props?d=d.concat(o(l.props.children,n)):d.push(l))}),d}},19075:function(b,y,e){"use strict";e.d(y,{Z:function(){return a}});function a(){return!!(typeof window!="undefined"&&window.document&&window.document.createElement)}},70700:function(b,y,e){"use strict";e.d(y,{Z:function(){return a}});function a(t,o){if(!t)return!1;if(t.contains)return t.contains(o);for(var s=o;s;){if(s===t)return!0;s=s.parentNode}return!1}},39678:function(b,y,e){"use strict";e.d(y,{hq:function(){return z},jL:function(){return S}});var a=e(19075),t=e(70700),o="data-rc-order",s="data-rc-priority",n="rc-util-key",d=new Map;function l(){var U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},T=U.mark;return T?T.startsWith("data-")?T:"data-".concat(T):n}function c(U){if(U.attachTo)return U.attachTo;var T=document.querySelector("head");return T||document.body}function m(U){return U==="queue"?"prependQueue":U?"prepend":"append"}function g(U){return Array.from((d.get(U)||U).children).filter(function(T){return T.tagName==="STYLE"})}function M(U){var T=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!(0,a.Z)())return null;var N=T.csp,Z=T.prepend,D=T.priority,L=D===void 0?0:D,j=m(Z),G=j==="prependQueue",W=document.createElement("style");W.setAttribute(o,j),G&&L&&W.setAttribute(s,"".concat(L)),N!=null&&N.nonce&&(W.nonce=N==null?void 0:N.nonce),W.innerHTML=U;var ne=c(T),_=ne.firstChild;if(Z){if(G){var ee=g(ne).filter(function(se){if(!["prepend","prependQueue"].includes(se.getAttribute(o)))return!1;var Q=Number(se.getAttribute(s)||0);return L>=Q});if(ee.length)return ne.insertBefore(W,ee[ee.length-1].nextSibling),W}ne.insertBefore(W,_)}else ne.appendChild(W);return W}function h(U){var T=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},N=c(T);return g(N).find(function(Z){return Z.getAttribute(l(T))===U})}function S(U){var T=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},N=h(U,T);if(N){var Z=c(T);Z.removeChild(N)}}function w(U,T){var N=d.get(U);if(!N||!(0,t.Z)(document,N)){var Z=M("",T),D=Z.parentNode;d.set(U,D),U.removeChild(Z)}}function x(){d.clear()}function z(U,T){var N=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},Z=c(N);w(Z,N);var D=h(T,N);if(D){var L,j;if((L=N.csp)!==null&&L!==void 0&&L.nonce&&D.nonce!==((j=N.csp)===null||j===void 0?void 0:j.nonce)){var G;D.nonce=(G=N.csp)===null||G===void 0?void 0:G.nonce}return D.innerHTML!==U&&(D.innerHTML=U),D}var W=M(U,N);return W.setAttribute(l(N),T),W}},69188:function(b,y,e){"use strict";e.d(y,{S:function(){return o},Z:function(){return s}});var a=e(58757),t=e(26736);function o(n){return n instanceof HTMLElement||n instanceof SVGElement}function s(n){return o(n)?n:n instanceof a.Component?t.findDOMNode(n):null}},46499:function(b,y){"use strict";y.Z=function(e){if(!e)return!1;if(e instanceof Element){if(e.offsetParent)return!0;if(e.getBBox){var a=e.getBBox(),t=a.width,o=a.height;if(t||o)return!0}if(e.getBoundingClientRect){var s=e.getBoundingClientRect(),n=s.width,d=s.height;if(n||d)return!0}}return!1}},4171:function(b,y,e){"use strict";e.d(y,{A:function(){return o}});function a(s){var n;return s==null||(n=s.getRootNode)===null||n===void 0?void 0:n.call(s)}function t(s){return a(s)instanceof ShadowRoot}function o(s){return t(s)?a(s):null}},29639:function(b,y){"use strict";var e={MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,WIN_IME:229,isTextModifyingKeyEvent:function(t){var o=t.keyCode;if(t.altKey&&!t.ctrlKey||t.metaKey||o>=e.F1&&o<=e.F12)return!1;switch(o){case e.ALT:case e.CAPS_LOCK:case e.CONTEXT_MENU:case e.CTRL:case e.DOWN:case e.END:case e.ESC:case e.HOME:case e.INSERT:case e.LEFT:case e.MAC_FF_META:case e.META:case e.NUMLOCK:case e.NUM_CENTER:case e.PAGE_DOWN:case e.PAGE_UP:case e.PAUSE:case e.PRINT_SCREEN:case e.RIGHT:case e.SHIFT:case e.UP:case e.WIN_KEY:case e.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function(t){if(t>=e.ZERO&&t<=e.NINE||t>=e.NUM_ZERO&&t<=e.NUM_MULTIPLY||t>=e.A&&t<=e.Z||window.navigator.userAgent.indexOf("WebKit")!==-1&&t===0)return!0;switch(t){case e.SPACE:case e.QUESTION_MARK:case e.NUM_PLUS:case e.NUM_MINUS:case e.NUM_PERIOD:case e.NUM_DIVISION:case e.SEMICOLON:case e.DASH:case e.EQUALS:case e.COMMA:case e.PERIOD:case e.SLASH:case e.APOSTROPHE:case e.SINGLE_QUOTE:case e.OPEN_SQUARE_BRACKET:case e.BACKSLASH:case e.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}};y.Z=e},52323:function(b,y,e){"use strict";var a;e.d(y,{s:function(){return T},v:function(){return j}});var t=e(74632),o=e(79290),s=e(38790),n=e(57370),d=e(26736),l=(0,n.Z)({},a||(a=e.t(d,2))),c=l.version,m=l.render,g=l.unmountComponentAtNode,M;try{var h=Number((c||"").split(".")[0]);h>=18&&(M=l.createRoot)}catch(W){}function S(W){var ne=l.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;ne&&(0,s.Z)(ne)==="object"&&(ne.usingClientEntryPoint=W)}var w="__rc_react_root__";function x(W,ne){S(!0);var _=ne[w]||M(ne);S(!1),_.render(W),ne[w]=_}function z(W,ne){m(W,ne)}function U(W,ne){}function T(W,ne){if(M){x(W,ne);return}z(W,ne)}function N(W){return Z.apply(this,arguments)}function Z(){return Z=(0,o.Z)((0,t.Z)().mark(function W(ne){return(0,t.Z)().wrap(function(ee){for(;;)switch(ee.prev=ee.next){case 0:return ee.abrupt("return",Promise.resolve().then(function(){var se;(se=ne[w])===null||se===void 0||se.unmount(),delete ne[w]}));case 1:case"end":return ee.stop()}},W)})),Z.apply(this,arguments)}function D(W){g(W)}function L(W){}function j(W){return G.apply(this,arguments)}function G(){return G=(0,o.Z)((0,t.Z)().mark(function W(ne){return(0,t.Z)().wrap(function(ee){for(;;)switch(ee.prev=ee.next){case 0:if(M===void 0){ee.next=2;break}return ee.abrupt("return",N(ne));case 2:D(ne);case 3:case"end":return ee.stop()}},W)})),G.apply(this,arguments)}},17502:function(b,y,e){"use strict";e.d(y,{Z:function(){return t},o:function(){return s}});var a;function t(n){if(typeof document=="undefined")return 0;if(n||a===void 0){var d=document.createElement("div");d.style.width="100%",d.style.height="200px";var l=document.createElement("div"),c=l.style;c.position="absolute",c.top="0",c.left="0",c.pointerEvents="none",c.visibility="hidden",c.width="200px",c.height="150px",c.overflow="hidden",l.appendChild(d),document.body.appendChild(l);var m=d.offsetWidth;l.style.overflow="scroll";var g=d.offsetWidth;m===g&&(g=l.clientWidth),document.body.removeChild(l),a=m-g}return a}function o(n){var d=n.match(/^(.*)px$/),l=Number(d==null?void 0:d[1]);return Number.isNaN(l)?t():l}function s(n){if(typeof document=="undefined"||!n||!(n instanceof Element))return{width:0,height:0};var d=getComputedStyle(n,"::-webkit-scrollbar"),l=d.width,c=d.height;return{width:o(l),height:o(c)}}},51729:function(b,y,e){"use strict";e.d(y,{Z:function(){return t}});var a=e(58757);function t(o){var s=a.useRef();s.current=o;var n=a.useCallback(function(){for(var d,l=arguments.length,c=new Array(l),m=0;m2&&arguments[2]!==void 0?arguments[2]:!1,l=new Set;function c(m,g){var M=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,h=l.has(m);if((0,t.ZP)(!h,"Warning: There may be circular references"),h)return!1;if(m===g)return!0;if(d&&M>1)return!1;l.add(m);var S=M+1;if(Array.isArray(m)){if(!Array.isArray(g)||m.length!==g.length)return!1;for(var w=0;w
\n );\n};\n","import { CloseOutlined } from '@ant-design/icons';\nimport { Button, Card, message } from 'antd';\nimport { useLocale } from 'dds-utils/locale';\nimport { memo, useEffect } from 'react';\nimport { useImmer } from 'use-immer';\n\nimport { IAttributeValue, IEditingAttribute } from '../../type';\nimport AttributesForm from '../AttributesForm';\nimport { FloatWrapper } from '../FloatWrapper';\n\nimport './index.less';\n\ninterface IProps {\n data: IEditingAttribute;\n supportEdit?: boolean;\n onConfirmAttibuteEdit: (values: IAttributeValue[]) => void;\n onCancelAttibuteEdit: () => void;\n}\n\nconst AttributeEditor: React.FC = memo(\n ({ data, supportEdit, onConfirmAttibuteEdit, onCancelAttibuteEdit }) => {\n const { localeText } = useLocale();\n const [values, setValues] = useImmer([]);\n\n useEffect(() => {\n setValues(data?.values || []);\n }, [data.values]);\n\n const onChangeValue = (index: number, value: IAttributeValue) => {\n setValues((s) => {\n s[index] = value;\n });\n };\n\n const onConfirm = () => {\n if (\n data.attributes.find(\n (item, index) =>\n item.required &&\n (values[index] === undefined || values[index] === null),\n )\n ) {\n message.error(localeText('DDSAnnotator.attribute.required'));\n return;\n }\n const results: IAttributeValue[] = [];\n data.attributes.forEach((_item, index) => {\n results.push(values[index] === undefined ? null : values[index]);\n });\n onConfirmAttibuteEdit(results);\n };\n\n return (\n \n \n
{localeText('DDSAnnotator.attribute.add')}
\n }\n shape=\"circle\"\n size=\"small\"\n onClick={onCancelAttibuteEdit}\n >\n \n }\n >\n
\n \n {supportEdit && (\n
\n {\n event.preventDefault();\n onConfirm();\n }}\n >\n {localeText('DDSAnnotator.confirm')}\n \n
\n )}\n
\n \n
\n );\n },\n);\n\nexport default AttributeEditor;\n","import { EyeInvisibleOutlined, EyeOutlined } from '@ant-design/icons';\nimport { Button, Tabs, Tooltip } from 'antd';\nimport classNames from 'classnames';\nimport { useLocale } from 'dds-utils/locale';\nimport { isEqual } from 'lodash';\nimport React, { memo, useMemo, useState } from 'react';\nimport { Updater } from 'use-immer';\n\nimport {\n Category,\n DrawData,\n IAttributeValue,\n IEditingAttribute,\n} from '../../type';\nimport AttributesForm from '../AttributesForm';\n\nimport './index.less';\n\nexport interface IProps {\n className?: string;\n supportEdit?: boolean;\n classificationOptions: Category[];\n values: {\n labelId: string;\n labelValue: IAttributeValue;\n attributes?: IAttributeValue[];\n }[];\n setDrawDataWithHistory: Updater;\n}\n\nconst propsAreEqual = (prev: IProps, next: IProps): boolean => {\n return (\n prev.className === next.className &&\n prev.supportEdit === next.supportEdit &&\n isEqual(prev.classificationOptions, next.classificationOptions) &&\n isEqual(prev.values, next.values) &&\n prev.setDrawDataWithHistory === next.setDrawDataWithHistory\n );\n};\n\nconst ClassificationPanel: React.FC = memo((props) => {\n const { localeText } = useLocale();\n const {\n className,\n classificationOptions,\n values,\n setDrawDataWithHistory,\n supportEdit,\n } = props;\n const [hideContent, setHideContent] = useState(false);\n\n const judgeChangeEditingAttribute = (\n index: number,\n editingAttribute?: IEditingAttribute,\n limitEmpty?: boolean,\n ) => {\n const classificationLabel = classificationOptions[index];\n const attributesValues = values?.find(\n ({ labelId }) => labelId === classificationLabel?.id,\n )?.attributes;\n if (\n classificationLabel?.attributes &&\n classificationLabel.attributes.length > 0 &&\n editingAttribute?.labelId !== classificationLabel.id &&\n (!limitEmpty || !attributesValues?.length)\n ) {\n return {\n index: -1,\n labelId: classificationLabel.id,\n attributes: classificationLabel?.attributes,\n values: attributesValues,\n };\n }\n return null;\n };\n\n const showEditingArribute = (index: number) => {\n // setTimeout to solve immer merge error problem\n setTimeout(() => {\n setDrawDataWithHistory((s) => {\n const editingAttribute = judgeChangeEditingAttribute(\n index,\n s.editingAttribute,\n );\n if (editingAttribute) {\n s.editingAttribute = editingAttribute;\n }\n });\n });\n };\n\n const onChangeValue = (index: number, value: IAttributeValue) => {\n setDrawDataWithHistory((s) => {\n const classificationLabel = classificationOptions[index];\n const i = s.classifications.findIndex(\n (item) => item.labelId === classificationLabel.id,\n );\n if (i > -1) {\n s.classifications[i].labelValue = value;\n } else {\n s.classifications.push({\n labelId: classificationOptions[index].id,\n labelValue: value,\n });\n }\n if (s.editingAttribute?.labelId !== classificationLabel?.id) {\n s.editingAttribute =\n judgeChangeEditingAttribute(index, s.editingAttribute, true) ||\n undefined;\n }\n });\n };\n\n const classifications = useMemo(\n () =>\n classificationOptions.map((item) => ({\n field: item.labelName!,\n type: item.valueType!,\n required: true,\n options: item.valueOptions!,\n hasAttributes: !!item.attributes?.length,\n requireAttribute: !!item.attributes?.find(\n (attribute, idx) =>\n attribute?.required &&\n [undefined, null, ''].includes(\n values.find(({ labelId }) => labelId === item.id)?.attributes?.[\n idx\n ] as any,\n ),\n ),\n })),\n [classificationOptions, values],\n );\n\n const classificationValues = useMemo(() => {\n const results: IAttributeValue[] = [];\n classificationOptions.forEach((item) => {\n const value = values.find(\n ({ labelId }) => labelId === item.id,\n )?.labelValue;\n results.push(value === undefined ? null : value);\n });\n return results;\n }, [classificationOptions, values]);\n\n const classTab = (\n \n );\n\n return (\n {\n event.stopPropagation();\n }}\n >\n \n : }\n shape={'circle'}\n onClick={() => setHideContent(!hideContent)}\n />\n \n }\n />\n \n );\n}, propsAreEqual);\n\nexport default ClassificationPanel;\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgImgBroken = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ xmlns: \"http://www.w3.org/2000/svg\", xmlnsXlink: \"http://www.w3.org/1999/xlink\", width: 600, height: 600, fill: \"none\" }, props), /* @__PURE__ */ React.createElement(\"path\", { fill: \"#FFF\", d: \"M0 0h600v600H0z\" }), /* @__PURE__ */ React.createElement(\"mask\", { id: \"img-broken_svg__b\", fill: \"#fff\" }, /* @__PURE__ */ React.createElement(\"use\", { xlinkHref: \"#img-broken_svg__a\" })), /* @__PURE__ */ React.createElement(\"g\", { mask: \"url(#img-broken_svg__b)\" }, /* @__PURE__ */ React.createElement(\"path\", { style: {\n fill: \"#f3f3fa\"\n}, opacity: 0.6, d: \"M520.82 276.411c.7 7.103 1.058 14.305 1.058 21.589 0 122.04-100.54 221-224.51 221-99.159 0-183.328-63.313-213.047-151.107h-8.426c-3.4 0-6.17-2.76-6.17-6.16A6.168 6.168 0 0 1 73.608 356H84c7.18 0 13-5.82 13-13v-1c0-7.18-5.82-13-13-13h-8.95l-.023-.161H52.855c-5.68 0-10.28-4.6-10.28-10.28s4.6-10.28 10.28-10.28h20.241A221.042 221.042 0 0 1 72.858 298c0-32.629 7.187-63.608 20.086-91.486H57c-15.46 0-28-12.541-28-28.001v-1.56c0-14.913 11.67-27.11 26.373-27.953H182c5.52 0 10-4.48 10-10s-4.48-10-10-10h-29.294l.732-.605h-14.59c-10.49 0-19-8.51-19-19v-1.06c0-10.49 8.51-19 19-19h84.392C246.448 81.345 271.393 77 297.368 77c51.023 0 98.077 16.763 135.787 45H418c-7.18 0-13 5.82-13 13v1c0 7.18 5.82 13 13 13h45.166a222.478 222.478 0 0 1 23.253 29.763h21.461c7.73 0 14 6.27 14 14v.78c0 6.387-4.281 11.777-10.128 13.457H492c-8.84 0-16 7.16-16 16v5c0 8.84 7.16 16 16 16h67.901c6.952 1.741 12.097 8.028 12.097 15.521v.89c0 8.84-7.16 16-16 16z\" }), /* @__PURE__ */ React.createElement(\"path\", { fillRule: \"evenodd\", fill: \"url(#img-broken_svg__c)\", d: \"M147.977 187.468c-14.64 0-26.51 11.87-26.51 26.5h-5.34c-6.73 0-12.19 5.93-12.19 13.25s5.46 13.25 12.19 13.25h65.65c6.74 0 12.19-5.93 12.19-13.25s-5.45-13.25-12.19-13.25h-7.31c0-14.63-11.86-26.5-26.49-26.5z\" }), /* @__PURE__ */ React.createElement(\"path\", { fillRule: \"evenodd\", fill: \"url(#img-broken_svg__d)\", d: \"M313.088 148.128c0 5.25 3.91 9.5 8.74 9.5h47.07c4.83 0 8.74-4.25 8.74-9.5s-3.91-9.5-8.74-9.5h-5.24c0-10.5-8.51-19-19-19s-19 8.5-19 19h-3.83c-4.83 0-8.74 4.25-8.74 9.5z\" }), /* @__PURE__ */ React.createElement(\"path\", { style: {\n fill: \"#e7eaf0\"\n}, d: \"M508 453.5c0 11.036-19.12 20.438-45.869 23.988-6.38 1.885-13.556 3.663-21.438 5.315A16.82 16.82 0 0 1 441 486c0 24.3-52.84 44-118 44-58.623 0-107.274-15.946-116.445-36.841C128.328 487.215 73 472.59 73 455.5c0-22.36 94.71-40.5 211.5-40.5 61.363 0 116.631 5.008 155.269 13.004C477.563 428.253 508 439.575 508 453.5z\" }), /* @__PURE__ */ React.createElement(\"g\", { fillRule: \"evenodd\" }, /* @__PURE__ */ React.createElement(\"path\", { fill: \"url(#img-broken_svg__e)\", d: \"M356 62c-.12-1.36-.23-2.78-.31-4.26-.09-1.23-.16-2.63-.22-4.17-.06-1.55-.09-3.08-.09-4.6V38.66l9.74-.13h1.19c.42 0 .79-.02 1.13-.06.41 0 .81-.02 1.18-.06a5.374 5.374 0 0 0 2.44-1.95c.63-.88.94-1.9.94-3.05l-.13-.8-.24-.99c-.13-.37-.23-.73-.32-1.05l-1.06-2.1c.21-.74.31-1.44.31-2.1 0-1.61-.45-3.03-1.37-4.26-.92-1.23-2.09-2.1-3.5-2.6l-7.88-15.25a7.22 7.22 0 0 0-2.65-3.09C353.97.39 352.63 0 351.13 0c-1.71 0-3.11.51-4.19 1.54-1.08 1.03-2.02 2.27-2.82 3.71h-.06l-9.81 17.97c-.67.58-1.22 1.26-1.65 2.04-.45.78-.71 1.62-.79 2.53l-1.56 3.58c-.08.21-.14.41-.19.62 0 0-.06.43-.06.68 0 1.44.46 2.68 1.37 3.74a6.535 6.535 0 0 0 3.44 2.06l7.06.37c.34.58.76 1.03 1.28 1.36.53.33 1.14.5 1.85.5.88 0 1.67-.31 2.38-.93v9.45c0 2.71-.03 4.89-.07 6.51-.04 1.63-.08 2.92-.12 3.86L347 62h9z\", transform: \"translate(92 370)\" }), /* @__PURE__ */ React.createElement(\"path\", { fill: \"url(#img-broken_svg__f)\", d: \"M385 60.7c.88 0 1.67-.31 2.38-.93v9.45c0 2.71-.03 4.89-.07 6.51-.04 1.63-.08 2.92-.12 3.86L387 82h9c-.12-1.36-.23-2.78-.31-4.26-.09-1.23-.16-2.63-.22-4.17-.06-1.55-.09-3.08-.09-4.6V58.66l9.74-.13h1.19c.42 0 .79-.02 1.13-.06.41 0 .81-.02 1.18-.06a5.374 5.374 0 0 0 2.44-1.95c.63-.88.94-1.9.94-3.05l-.13-.8-.24-.99c-.13-.37-.23-.73-.32-1.05l-1.06-2.1c.21-.74.31-1.44.31-2.1 0-1.61-.45-3.03-1.37-4.26-.92-1.23-2.09-2.1-3.5-2.6l-7.88-15.25a7.22 7.22 0 0 0-2.65-3.09c-1.19-.78-2.53-1.17-4.03-1.17-1.71 0-3.11.51-4.19 1.54-1.08 1.03-2.02 2.27-2.82 3.71h-.06l-9.81 17.97c-.67.58-1.22 1.26-1.65 2.04-.45.78-.71 1.62-.79 2.53l-1.56 3.58c-.08.21-.14.41-.19.62 0 0-.06.43-.06.68 0 1.44.46 2.68 1.37 3.74a6.535 6.535 0 0 0 3.44 2.06l7.06.37c.34.58.76 1.03 1.28 1.36.53.33 1.14.5 1.85.5z\", transform: \"translate(92 370)\" }), /* @__PURE__ */ React.createElement(\"path\", { fill: \"url(#img-broken_svg__g)\", d: \"M35.34 1.66C33.67.55 31.78 0 29.68 0c-2.4 0-4.36.73-5.89 2.19-1.52 1.46-2.83 3.21-3.95 5.26h-.09L5.97 32.96c-.94.81-1.71 1.78-2.32 2.89a8.845 8.845 0 0 0-1.1 3.59l-2.2 5.09c-.11.29-.2.58-.26.87 0 0-.09.62-.09.97 0 2.04.64 3.81 1.93 5.3a9 9 0 0 0 4.83 2.93l9.92.53c.47.82 1.07 1.46 1.8 1.93s1.6.7 2.59.7c1.23 0 2.34-.44 3.34-1.32v13.41c0 3.86-.03 6.95-.09 9.25-.06 2.31-.12 4.14-.18 5.49L23.88 88h12.64c-.17-1.93-.32-3.94-.44-6.05-.11-1.75-.21-3.73-.3-5.92s-.13-4.36-.13-6.53V54.87l13.69-.18h1.67c.59 0 1.11-.02 1.58-.09.59 0 1.14-.02 1.67-.08a7.599 7.599 0 0 0 3.42-2.77c.88-1.25 1.32-2.7 1.32-4.34l-.18-1.13-.35-1.4c-.17-.53-.32-1.03-.44-1.5l-1.49-2.97c.29-1.06.44-2.05.44-2.98 0-2.28-.64-4.3-1.93-6.05s-2.93-2.98-4.92-3.69L39.07 6.05c-.82-1.82-2.07-3.28-3.73-4.39z\", transform: \"translate(92 370)\" })), /* @__PURE__ */ React.createElement(\"path\", { fillRule: \"evenodd\", fill: \"url(#img-broken_svg__h)\", opacity: 0.5, d: \"M195.17 339.008 336 259.118l-180.79-56.11L3 241.048l192.17 97.96z\", transform: \"translate(180 194.992)\" }), /* @__PURE__ */ React.createElement(\"path\", { fillRule: \"evenodd\", fill: \"url(#img-broken_svg__i)\", d: \"m120.19 238.468 16.76-67-23.23-50.7L147 87.008l-137.81.8A9.242 9.242 0 0 0 0 97.058v132.16c0 5.12 4.15 9.25 9.26 9.25l103.61 4.54 7.32-4.54z\", transform: \"translate(180 194.992)\" }), /* @__PURE__ */ React.createElement(\"path\", { fillRule: \"evenodd\", fill: \"url(#img-broken_svg__j)\", d: \"M0 233.728c0 5.13 4.13 9.28 9.22 9.28h103.19l17.59-70.83-24.95-52.65L130 93.008l-120.85.8c-5.05.04-9.15 4.18-9.15 9.28v130.64z\", transform: \"translate(180 194.992)\" }), /* @__PURE__ */ React.createElement(\"path\", { fillRule: \"evenodd\", fill: \"url(#img-broken_svg__k)\", d: \"M129 177.408s-39.15 25.41-39.87 25.47c-15.59-13.61-41.17-39.55-41.17-39.55-2.95-3.01-8.11-3.11-11.19-.2L0 214.158v18.8c0 5.05 3.11 10.05 10.1 10.05h102.84l10.05-40.81 6.01-24.79z\", transform: \"translate(180 194.992)\" }), /* @__PURE__ */ React.createElement(\"path\", { fillRule: \"evenodd\", fill: \"url(#img-broken_svg__l)\", d: \"m161.114 121.588 10.21 50.9-39.15 72.66 77.97 21.2c5.34 2.12 11.32-1.05 12.51-6.63l36.14-134.09c1.03-4.82-1.95-9.58-6.76-10.81l-53.81-13.81-37.11 20.58z\", transform: \"translate(180 194.992)\" }), /* @__PURE__ */ React.createElement(\"path\", { fillRule: \"evenodd\", fill: \"url(#img-broken_svg__m)\", d: \"m153.53 125.233 10.21 50.89-37.74 67.36 77.98 21.21c5.33 2.12 11.31-1.04 12.5-6.63l34.73-128.8c1.03-4.82-1.96-9.58-6.76-10.81l-53.81-13.81-37.11 20.59z\", transform: \"translate(180 194.992)\" }), /* @__PURE__ */ React.createElement(\"path\", { fillRule: \"evenodd\", fill: \"url(#img-broken_svg__n)\", d: \"M181.344 174.368c-2-3.27-6.23-4.33-9.52-2.39l-8.09 4.16-37.65 67.37s67.22 18.7 75.12 20.47c7.91 1.76 13.7.54 14.89-5.08l3.37-11.51-38.12-73.02z\", transform: \"translate(180 194.992)\" }), /* @__PURE__ */ React.createElement(\"path\", { style: {\n fill: \"#fff\"\n}, d: \"M223.104 151.697c0-9.32-7.57-16.88-16.9-16.88-9.33 0-16.89 7.56-16.89 16.88s7.56 16.88 16.89 16.88c9.33 0 16.9-7.56 16.9-16.88z\", transform: \"translate(180 194.992)\" }), /* @__PURE__ */ React.createElement(\"path\", { fillRule: \"evenodd\", fill: \"url(#img-broken_svg__o)\", d: \"m50.921 37.823 12.386-6.041 11.209 22.982-7.452-32.637-12.592 6.142L42.197 6.864l8.724 30.959z\", transform: \"translate(180 194.992)\" }), /* @__PURE__ */ React.createElement(\"path\", { fillRule: \"evenodd\", fill: \"url(#img-broken_svg__p)\", d: \"m217.598 48.895 17.888 17.184-30.945 23.817s47.929-22.37 46.996-23.709c-.925-1.335-18.57-16.992-18.57-16.992l24.134-25.537-39.503 25.236z\", transform: \"translate(180 194.992)\" })), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"linearGradient\", { id: \"img-broken_svg__i\", x1: \"178.579%\", y1: \"114.41%\", x2: \"-67.6%\", y2: \"-21.639%\", gradientUnits: \"objectBoundingBox\" }, /* @__PURE__ */ React.createElement(\"stop\", { offset: 0, stopColor: \"#A2ABB9\" }), /* @__PURE__ */ React.createElement(\"stop\", { offset: 1, stopColor: \"#E7EAF0\" })), /* @__PURE__ */ React.createElement(\"linearGradient\", { id: \"img-broken_svg__p\", x1: 198.923, y1: 151.68, x2: 253.588, y2: 43.245, gradientUnits: \"userSpaceOnUse\" }, /* @__PURE__ */ React.createElement(\"stop\", { offset: 0, stopColor: \"#A2ABB9\" }), /* @__PURE__ */ React.createElement(\"stop\", { offset: 1, stopColor: \"#E7EAF0\" })), /* @__PURE__ */ React.createElement(\"linearGradient\", { id: \"img-broken_svg__d\", x1: \"144.588%\", y1: \"98.8%\", x2: \"29.516%\", y2: \"100%\", gradientUnits: \"objectBoundingBox\" }, /* @__PURE__ */ React.createElement(\"stop\", { offset: 0, stopColor: \"#E0E5EF\", stopOpacity: 0 }), /* @__PURE__ */ React.createElement(\"stop\", { offset: 1, stopColor: \"#E0E5EF\" })), /* @__PURE__ */ React.createElement(\"linearGradient\", { id: \"img-broken_svg__e\", x1: \"144.588%\", y1: \"98.8%\", x2: \"29.516%\", y2: \"100%\", gradientUnits: \"objectBoundingBox\" }, /* @__PURE__ */ React.createElement(\"stop\", { offset: 0, stopColor: \"#E0E5EF\", stopOpacity: 0 }), /* @__PURE__ */ React.createElement(\"stop\", { offset: 1, stopColor: \"#E0E5EF\" })), /* @__PURE__ */ React.createElement(\"linearGradient\", { id: \"img-broken_svg__f\", x1: \"144.588%\", y1: \"98.8%\", x2: \"29.516%\", y2: \"100%\", gradientUnits: \"objectBoundingBox\" }, /* @__PURE__ */ React.createElement(\"stop\", { offset: 0, stopColor: \"#E0E5EF\", stopOpacity: 0 }), /* @__PURE__ */ React.createElement(\"stop\", { offset: 1, stopColor: \"#E0E5EF\" })), /* @__PURE__ */ React.createElement(\"linearGradient\", { id: \"img-broken_svg__g\", x1: \"144.588%\", y1: \"98.8%\", x2: \"29.516%\", y2: \"100%\", gradientUnits: \"objectBoundingBox\" }, /* @__PURE__ */ React.createElement(\"stop\", { offset: 0, stopColor: \"#E0E5EF\", stopOpacity: 0 }), /* @__PURE__ */ React.createElement(\"stop\", { offset: 1, stopColor: \"#E0E5EF\" })), /* @__PURE__ */ React.createElement(\"linearGradient\", { id: \"img-broken_svg__h\", x1: \"50%\", y1: \"30.387%\", x2: \"-31.215%\", y2: \"-60.228%\", gradientUnits: \"objectBoundingBox\" }, /* @__PURE__ */ React.createElement(\"stop\", { offset: 0, stopColor: \"#E8EBF1\", stopOpacity: 0.24 }), /* @__PURE__ */ React.createElement(\"stop\", { offset: 1, stopColor: \"#A2ABB9\" })), /* @__PURE__ */ React.createElement(\"linearGradient\", { id: \"img-broken_svg__c\", x1: \"144.588%\", y1: \"98.8%\", x2: \"29.516%\", y2: \"100%\", gradientUnits: \"objectBoundingBox\" }, /* @__PURE__ */ React.createElement(\"stop\", { offset: 0, stopColor: \"#E0E5EF\", stopOpacity: 0 }), /* @__PURE__ */ React.createElement(\"stop\", { offset: 1, stopColor: \"#E0E5EF\" })), /* @__PURE__ */ React.createElement(\"linearGradient\", { id: \"img-broken_svg__j\", x1: \"137.408%\", y1: \"115.518%\", x2: \"64.225%\", y2: \"-9.666%\", gradientUnits: \"objectBoundingBox\" }, /* @__PURE__ */ React.createElement(\"stop\", { offset: 0, stopColor: \"#A2ABB9\" }), /* @__PURE__ */ React.createElement(\"stop\", { offset: 1, stopColor: \"#E7EAF0\" })), /* @__PURE__ */ React.createElement(\"linearGradient\", { id: \"img-broken_svg__k\", x1: \"93.55%\", y1: \"132.782%\", x2: \"29.55%\", y2: \"19.901%\", gradientUnits: \"objectBoundingBox\" }, /* @__PURE__ */ React.createElement(\"stop\", { offset: 0, stopColor: \"#A2ABB9\" }), /* @__PURE__ */ React.createElement(\"stop\", { offset: 1, stopColor: \"#E7EAF0\" })), /* @__PURE__ */ React.createElement(\"linearGradient\", { id: \"img-broken_svg__l\", x1: \"178.579%\", y1: \"114.41%\", x2: \"-67.6%\", y2: \"-21.639%\", gradientUnits: \"objectBoundingBox\" }, /* @__PURE__ */ React.createElement(\"stop\", { offset: 0, stopColor: \"#A2ABB9\" }), /* @__PURE__ */ React.createElement(\"stop\", { offset: 1, stopColor: \"#E7EAF0\" })), /* @__PURE__ */ React.createElement(\"linearGradient\", { id: \"img-broken_svg__m\", x1: \"113.805%\", y1: \"123.201%\", x2: \"30.832%\", y2: \"0%\", gradientUnits: \"objectBoundingBox\" }, /* @__PURE__ */ React.createElement(\"stop\", { offset: 0, stopColor: \"#A2ABB9\" }), /* @__PURE__ */ React.createElement(\"stop\", { offset: 1, stopColor: \"#E7EAF0\" })), /* @__PURE__ */ React.createElement(\"linearGradient\", { id: \"img-broken_svg__n\", x1: \"110.007%\", y1: \"128.49%\", x2: \"50%\", y2: \"0%\", gradientUnits: \"objectBoundingBox\" }, /* @__PURE__ */ React.createElement(\"stop\", { offset: 0, stopColor: \"#A2ABB9\" }), /* @__PURE__ */ React.createElement(\"stop\", { offset: 1, stopColor: \"#E7EAF0\" })), /* @__PURE__ */ React.createElement(\"linearGradient\", { id: \"img-broken_svg__o\", x1: 92.534, y1: 94.384, x2: 55.523, y2: 19.166, gradientUnits: \"userSpaceOnUse\" }, /* @__PURE__ */ React.createElement(\"stop\", { offset: 0, stopColor: \"#A2ABB9\" }), /* @__PURE__ */ React.createElement(\"stop\", { offset: 1, stopColor: \"#E7EAF0\" })), /* @__PURE__ */ React.createElement(\"path\", { id: \"img-broken_svg__a\", d: \"M0 0h600v600H0z\" })));\nexport { SvgImgBroken as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNjAwIiBoZWlnaHQ9IjYwMCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTAgMGg2MDB2NjAwSDB6Ii8+PG1hc2sgaWQ9ImIiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2EiLz48L21hc2s+PGcgbWFzaz0idXJsKCNiKSI+PHBhdGggc3R5bGU9ImZpbGw6I2YzZjNmYSIgb3BhY2l0eT0iLjYiIGQ9Ik01MjAuODIgMjc2LjQxMWMuNyA3LjEwMyAxLjA1OCAxNC4zMDUgMS4wNTggMjEuNTg5IDAgMTIyLjA0LTEwMC41NCAyMjEtMjI0LjUxIDIyMS05OS4xNTkgMC0xODMuMzI4LTYzLjMxMy0yMTMuMDQ3LTE1MS4xMDdoLTguNDI2Yy0zLjQgMC02LjE3LTIuNzYtNi4xNy02LjE2QTYuMTY4IDYuMTY4IDAgMCAxIDczLjYwOCAzNTZIODRjNy4xOCAwIDEzLTUuODIgMTMtMTN2LTFjMC03LjE4LTUuODItMTMtMTMtMTNoLTguOTVsLS4wMjMtLjE2MUg1Mi44NTVjLTUuNjggMC0xMC4yOC00LjYtMTAuMjgtMTAuMjhzNC42LTEwLjI4IDEwLjI4LTEwLjI4aDIwLjI0MUEyMjEuMDQyIDIyMS4wNDIgMCAwIDEgNzIuODU4IDI5OGMwLTMyLjYyOSA3LjE4Ny02My42MDggMjAuMDg2LTkxLjQ4Nkg1N2MtMTUuNDYgMC0yOC0xMi41NDEtMjgtMjguMDAxdi0xLjU2YzAtMTQuOTEzIDExLjY3LTI3LjExIDI2LjM3My0yNy45NTNIMTgyYzUuNTIgMCAxMC00LjQ4IDEwLTEwcy00LjQ4LTEwLTEwLTEwaC0yOS4yOTRsLjczMi0uNjA1aC0xNC41OWMtMTAuNDkgMC0xOS04LjUxLTE5LTE5di0xLjA2YzAtMTAuNDkgOC41MS0xOSAxOS0xOWg4NC4zOTJDMjQ2LjQ0OCA4MS4zNDUgMjcxLjM5MyA3NyAyOTcuMzY4IDc3YzUxLjAyMyAwIDk4LjA3NyAxNi43NjMgMTM1Ljc4NyA0NUg0MThjLTcuMTggMC0xMyA1LjgyLTEzIDEzdjFjMCA3LjE4IDUuODIgMTMgMTMgMTNoNDUuMTY2YTIyMi40NzggMjIyLjQ3OCAwIDAgMSAyMy4yNTMgMjkuNzYzaDIxLjQ2MWM3LjczIDAgMTQgNi4yNyAxNCAxNHYuNzhjMCA2LjM4Ny00LjI4MSAxMS43NzctMTAuMTI4IDEzLjQ1N0g0OTJjLTguODQgMC0xNiA3LjE2LTE2IDE2djVjMCA4Ljg0IDcuMTYgMTYgMTYgMTZoNjcuOTAxYzYuOTUyIDEuNzQxIDEyLjA5NyA4LjAyOCAxMi4wOTcgMTUuNTIxdi44OWMwIDguODQtNy4xNiAxNi0xNiAxNnoiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9InVybCgjYykiIGQ9Ik0xNDcuOTc3IDE4Ny40NjhjLTE0LjY0IDAtMjYuNTEgMTEuODctMjYuNTEgMjYuNWgtNS4zNGMtNi43MyAwLTEyLjE5IDUuOTMtMTIuMTkgMTMuMjVzNS40NiAxMy4yNSAxMi4xOSAxMy4yNWg2NS42NWM2Ljc0IDAgMTIuMTktNS45MyAxMi4xOS0xMy4yNXMtNS40NS0xMy4yNS0xMi4xOS0xMy4yNWgtNy4zMWMwLTE0LjYzLTExLjg2LTI2LjUtMjYuNDktMjYuNXoiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9InVybCgjZCkiIGQ9Ik0zMTMuMDg4IDE0OC4xMjhjMCA1LjI1IDMuOTEgOS41IDguNzQgOS41aDQ3LjA3YzQuODMgMCA4Ljc0LTQuMjUgOC43NC05LjVzLTMuOTEtOS41LTguNzQtOS41aC01LjI0YzAtMTAuNS04LjUxLTE5LTE5LTE5cy0xOSA4LjUtMTkgMTloLTMuODNjLTQuODMgMC04Ljc0IDQuMjUtOC43NCA5LjV6Ii8+PHBhdGggc3R5bGU9ImZpbGw6I2U3ZWFmMCIgZD0iTTUwOCA0NTMuNWMwIDExLjAzNi0xOS4xMiAyMC40MzgtNDUuODY5IDIzLjk4OC02LjM4IDEuODg1LTEzLjU1NiAzLjY2My0yMS40MzggNS4zMTVBMTYuODIgMTYuODIgMCAwIDEgNDQxIDQ4NmMwIDI0LjMtNTIuODQgNDQtMTE4IDQ0LTU4LjYyMyAwLTEwNy4yNzQtMTUuOTQ2LTExNi40NDUtMzYuODQxQzEyOC4zMjggNDg3LjIxNSA3MyA0NzIuNTkgNzMgNDU1LjVjMC0yMi4zNiA5NC43MS00MC41IDIxMS41LTQwLjUgNjEuMzYzIDAgMTE2LjYzMSA1LjAwOCAxNTUuMjY5IDEzLjAwNEM0NzcuNTYzIDQyOC4yNTMgNTA4IDQzOS41NzUgNTA4IDQ1My41eiIvPjxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZmlsbD0idXJsKCNlKSIgZD0iTTM1NiA2MmMtLjEyLTEuMzYtLjIzLTIuNzgtLjMxLTQuMjYtLjA5LTEuMjMtLjE2LTIuNjMtLjIyLTQuMTctLjA2LTEuNTUtLjA5LTMuMDgtLjA5LTQuNlYzOC42Nmw5Ljc0LS4xM2gxLjE5Yy40MiAwIC43OS0uMDIgMS4xMy0uMDYuNDEgMCAuODEtLjAyIDEuMTgtLjA2YTUuMzc0IDUuMzc0IDAgMCAwIDIuNDQtMS45NWMuNjMtLjg4Ljk0LTEuOS45NC0zLjA1bC0uMTMtLjgtLjI0LS45OWMtLjEzLS4zNy0uMjMtLjczLS4zMi0xLjA1bC0xLjA2LTIuMWMuMjEtLjc0LjMxLTEuNDQuMzEtMi4xIDAtMS42MS0uNDUtMy4wMy0xLjM3LTQuMjYtLjkyLTEuMjMtMi4wOS0yLjEtMy41LTIuNmwtNy44OC0xNS4yNWE3LjIyIDcuMjIgMCAwIDAtMi42NS0zLjA5QzM1My45Ny4zOSAzNTIuNjMgMCAzNTEuMTMgMGMtMS43MSAwLTMuMTEuNTEtNC4xOSAxLjU0LTEuMDggMS4wMy0yLjAyIDIuMjctMi44MiAzLjcxaC0uMDZsLTkuODEgMTcuOTdjLS42Ny41OC0xLjIyIDEuMjYtMS42NSAyLjA0LS40NS43OC0uNzEgMS42Mi0uNzkgMi41M2wtMS41NiAzLjU4Yy0uMDguMjEtLjE0LjQxLS4xOS42MiAwIDAtLjA2LjQzLS4wNi42OCAwIDEuNDQuNDYgMi42OCAxLjM3IDMuNzRhNi41MzUgNi41MzUgMCAwIDAgMy40NCAyLjA2bDcuMDYuMzdjLjM0LjU4Ljc2IDEuMDMgMS4yOCAxLjM2LjUzLjMzIDEuMTQuNSAxLjg1LjUuODggMCAxLjY3LS4zMSAyLjM4LS45M3Y5LjQ1YzAgMi43MS0uMDMgNC44OS0uMDcgNi41MS0uMDQgMS42My0uMDggMi45Mi0uMTIgMy44NkwzNDcgNjJoOXoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkyIDM3MCkiLz48cGF0aCBmaWxsPSJ1cmwoI2YpIiBkPSJNMzg1IDYwLjdjLjg4IDAgMS42Ny0uMzEgMi4zOC0uOTN2OS40NWMwIDIuNzEtLjAzIDQuODktLjA3IDYuNTEtLjA0IDEuNjMtLjA4IDIuOTItLjEyIDMuODZMMzg3IDgyaDljLS4xMi0xLjM2LS4yMy0yLjc4LS4zMS00LjI2LS4wOS0xLjIzLS4xNi0yLjYzLS4yMi00LjE3LS4wNi0xLjU1LS4wOS0zLjA4LS4wOS00LjZWNTguNjZsOS43NC0uMTNoMS4xOWMuNDIgMCAuNzktLjAyIDEuMTMtLjA2LjQxIDAgLjgxLS4wMiAxLjE4LS4wNmE1LjM3NCA1LjM3NCAwIDAgMCAyLjQ0LTEuOTVjLjYzLS44OC45NC0xLjkuOTQtMy4wNWwtLjEzLS44LS4yNC0uOTljLS4xMy0uMzctLjIzLS43My0uMzItMS4wNWwtMS4wNi0yLjFjLjIxLS43NC4zMS0xLjQ0LjMxLTIuMSAwLTEuNjEtLjQ1LTMuMDMtMS4zNy00LjI2LS45Mi0xLjIzLTIuMDktMi4xLTMuNS0yLjZsLTcuODgtMTUuMjVhNy4yMiA3LjIyIDAgMCAwLTIuNjUtMy4wOWMtMS4xOS0uNzgtMi41My0xLjE3LTQuMDMtMS4xNy0xLjcxIDAtMy4xMS41MS00LjE5IDEuNTQtMS4wOCAxLjAzLTIuMDIgMi4yNy0yLjgyIDMuNzFoLS4wNmwtOS44MSAxNy45N2MtLjY3LjU4LTEuMjIgMS4yNi0xLjY1IDIuMDQtLjQ1Ljc4LS43MSAxLjYyLS43OSAyLjUzbC0xLjU2IDMuNThjLS4wOC4yMS0uMTQuNDEtLjE5LjYyIDAgMC0uMDYuNDMtLjA2LjY4IDAgMS40NC40NiAyLjY4IDEuMzcgMy43NGE2LjUzNSA2LjUzNSAwIDAgMCAzLjQ0IDIuMDZsNy4wNi4zN2MuMzQuNTguNzYgMS4wMyAxLjI4IDEuMzYuNTMuMzMgMS4xNC41IDEuODUuNXoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkyIDM3MCkiLz48cGF0aCBmaWxsPSJ1cmwoI2cpIiBkPSJNMzUuMzQgMS42NkMzMy42Ny41NSAzMS43OCAwIDI5LjY4IDBjLTIuNCAwLTQuMzYuNzMtNS44OSAyLjE5LTEuNTIgMS40Ni0yLjgzIDMuMjEtMy45NSA1LjI2aC0uMDlMNS45NyAzMi45NmMtLjk0LjgxLTEuNzEgMS43OC0yLjMyIDIuODlhOC44NDUgOC44NDUgMCAwIDAtMS4xIDMuNTlsLTIuMiA1LjA5Yy0uMTEuMjktLjIuNTgtLjI2Ljg3IDAgMC0uMDkuNjItLjA5Ljk3IDAgMi4wNC42NCAzLjgxIDEuOTMgNS4zYTkgOSAwIDAgMCA0LjgzIDIuOTNsOS45Mi41M2MuNDcuODIgMS4wNyAxLjQ2IDEuOCAxLjkzczEuNi43IDIuNTkuN2MxLjIzIDAgMi4zNC0uNDQgMy4zNC0xLjMydjEzLjQxYzAgMy44Ni0uMDMgNi45NS0uMDkgOS4yNS0uMDYgMi4zMS0uMTIgNC4xNC0uMTggNS40OUwyMy44OCA4OGgxMi42NGMtLjE3LTEuOTMtLjMyLTMuOTQtLjQ0LTYuMDUtLjExLTEuNzUtLjIxLTMuNzMtLjMtNS45MnMtLjEzLTQuMzYtLjEzLTYuNTNWNTQuODdsMTMuNjktLjE4aDEuNjdjLjU5IDAgMS4xMS0uMDIgMS41OC0uMDkuNTkgMCAxLjE0LS4wMiAxLjY3LS4wOGE3LjU5OSA3LjU5OSAwIDAgMCAzLjQyLTIuNzdjLjg4LTEuMjUgMS4zMi0yLjcgMS4zMi00LjM0bC0uMTgtMS4xMy0uMzUtMS40Yy0uMTctLjUzLS4zMi0xLjAzLS40NC0xLjVsLTEuNDktMi45N2MuMjktMS4wNi40NC0yLjA1LjQ0LTIuOTggMC0yLjI4LS42NC00LjMtMS45My02LjA1cy0yLjkzLTIuOTgtNC45Mi0zLjY5TDM5LjA3IDYuMDVjLS44Mi0xLjgyLTIuMDctMy4yOC0zLjczLTQuMzl6IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5MiAzNzApIi8+PC9nPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZmlsbD0idXJsKCNoKSIgb3BhY2l0eT0iLjUiIGQ9Ik0xOTUuMTcgMzM5LjAwOCAzMzYgMjU5LjExOGwtMTgwLjc5LTU2LjExTDMgMjQxLjA0OGwxOTIuMTcgOTcuOTZ6IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxODAgMTk0Ljk5MikiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9InVybCgjaSkiIGQ9Im0xMjAuMTkgMjM4LjQ2OCAxNi43Ni02Ny0yMy4yMy01MC43TDE0NyA4Ny4wMDhsLTEzNy44MS44QTkuMjQyIDkuMjQyIDAgMCAwIDAgOTcuMDU4djEzMi4xNmMwIDUuMTIgNC4xNSA5LjI1IDkuMjYgOS4yNWwxMDMuNjEgNC41NCA3LjMyLTQuNTR6IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxODAgMTk0Ljk5MikiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9InVybCgjaikiIGQ9Ik0wIDIzMy43MjhjMCA1LjEzIDQuMTMgOS4yOCA5LjIyIDkuMjhoMTAzLjE5bDE3LjU5LTcwLjgzLTI0Ljk1LTUyLjY1TDEzMCA5My4wMDhsLTEyMC44NS44Yy01LjA1LjA0LTkuMTUgNC4xOC05LjE1IDkuMjh2MTMwLjY0eiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTgwIDE5NC45OTIpIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBmaWxsPSJ1cmwoI2spIiBkPSJNMTI5IDE3Ny40MDhzLTM5LjE1IDI1LjQxLTM5Ljg3IDI1LjQ3Yy0xNS41OS0xMy42MS00MS4xNy0zOS41NS00MS4xNy0zOS41NS0yLjk1LTMuMDEtOC4xMS0zLjExLTExLjE5LS4yTDAgMjE0LjE1OHYxOC44YzAgNS4wNSAzLjExIDEwLjA1IDEwLjEgMTAuMDVoMTAyLjg0bDEwLjA1LTQwLjgxIDYuMDEtMjQuNzl6IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxODAgMTk0Ljk5MikiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9InVybCgjbCkiIGQ9Im0xNjEuMTE0IDEyMS41ODggMTAuMjEgNTAuOS0zOS4xNSA3Mi42NiA3Ny45NyAyMS4yYzUuMzQgMi4xMiAxMS4zMi0xLjA1IDEyLjUxLTYuNjNsMzYuMTQtMTM0LjA5YzEuMDMtNC44Mi0xLjk1LTkuNTgtNi43Ni0xMC44MWwtNTMuODEtMTMuODEtMzcuMTEgMjAuNTh6IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxODAgMTk0Ljk5MikiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9InVybCgjbSkiIGQ9Im0xNTMuNTMgMTI1LjIzMyAxMC4yMSA1MC44OS0zNy43NCA2Ny4zNiA3Ny45OCAyMS4yMWM1LjMzIDIuMTIgMTEuMzEtMS4wNCAxMi41LTYuNjNsMzQuNzMtMTI4LjhjMS4wMy00LjgyLTEuOTYtOS41OC02Ljc2LTEwLjgxbC01My44MS0xMy44MS0zNy4xMSAyMC41OXoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4MCAxOTQuOTkyKSIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZmlsbD0idXJsKCNuKSIgZD0iTTE4MS4zNDQgMTc0LjM2OGMtMi0zLjI3LTYuMjMtNC4zMy05LjUyLTIuMzlsLTguMDkgNC4xNi0zNy42NSA2Ny4zN3M2Ny4yMiAxOC43IDc1LjEyIDIwLjQ3YzcuOTEgMS43NiAxMy43LjU0IDE0Ljg5LTUuMDhsMy4zNy0xMS41MS0zOC4xMi03My4wMnoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4MCAxOTQuOTkyKSIvPjxwYXRoIHN0eWxlPSJmaWxsOiNmZmYiIGQ9Ik0yMjMuMTA0IDE1MS42OTdjMC05LjMyLTcuNTctMTYuODgtMTYuOS0xNi44OC05LjMzIDAtMTYuODkgNy41Ni0xNi44OSAxNi44OHM3LjU2IDE2Ljg4IDE2Ljg5IDE2Ljg4YzkuMzMgMCAxNi45LTcuNTYgMTYuOS0xNi44OHoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4MCAxOTQuOTkyKSIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZmlsbD0idXJsKCNvKSIgZD0ibTUwLjkyMSAzNy44MjMgMTIuMzg2LTYuMDQxIDExLjIwOSAyMi45ODItNy40NTItMzIuNjM3LTEyLjU5MiA2LjE0Mkw0Mi4xOTcgNi44NjRsOC43MjQgMzAuOTU5eiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTgwIDE5NC45OTIpIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBmaWxsPSJ1cmwoI3ApIiBkPSJtMjE3LjU5OCA0OC44OTUgMTcuODg4IDE3LjE4NC0zMC45NDUgMjMuODE3czQ3LjkyOS0yMi4zNyA0Ni45OTYtMjMuNzA5Yy0uOTI1LTEuMzM1LTE4LjU3LTE2Ljk5Mi0xOC41Ny0xNi45OTJsMjQuMTM0LTI1LjUzNy0zOS41MDMgMjUuMjM2eiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTgwIDE5NC45OTIpIi8+PC9nPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iaSIgeDE9IjE3OC41NzklIiB5MT0iMTE0LjQxJSIgeDI9Ii02Ny42JSIgeTI9Ii0yMS42MzklIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjQTJBQkI5Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRTdFQUYwIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9InAiIHgxPSIxOTguOTIzIiB5MT0iMTUxLjY4IiB4Mj0iMjUzLjU4OCIgeTI9IjQzLjI0NSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI0EyQUJCOSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0U3RUFGMCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJkIiB4MT0iMTQ0LjU4OCUiIHkxPSI5OC44JSIgeDI9IjI5LjUxNiUiIHkyPSIxMDAlIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjRTBFNUVGIiBzdG9wLW9wYWNpdHk9IjAiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNFMEU1RUYiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iZSIgeDE9IjE0NC41ODglIiB5MT0iOTguOCUiIHgyPSIyOS41MTYlIiB5Mj0iMTAwJSIgZ3JhZGllbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI0UwRTVFRiIgc3RvcC1vcGFjaXR5PSIwIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRTBFNUVGIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImYiIHgxPSIxNDQuNTg4JSIgeTE9Ijk4LjglIiB4Mj0iMjkuNTE2JSIgeTI9IjEwMCUiIGdyYWRpZW50VW5pdHM9Im9iamVjdEJvdW5kaW5nQm94Ij48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNFMEU1RUYiIHN0b3Atb3BhY2l0eT0iMCIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0UwRTVFRiIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJnIiB4MT0iMTQ0LjU4OCUiIHkxPSI5OC44JSIgeDI9IjI5LjUxNiUiIHkyPSIxMDAlIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjRTBFNUVGIiBzdG9wLW9wYWNpdHk9IjAiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNFMEU1RUYiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iaCIgeDE9IjUwJSIgeTE9IjMwLjM4NyUiIHgyPSItMzEuMjE1JSIgeTI9Ii02MC4yMjglIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjRThFQkYxIiBzdG9wLW9wYWNpdHk9Ii4yNCIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0EyQUJCOSIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJjIiB4MT0iMTQ0LjU4OCUiIHkxPSI5OC44JSIgeDI9IjI5LjUxNiUiIHkyPSIxMDAlIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjRTBFNUVGIiBzdG9wLW9wYWNpdHk9IjAiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNFMEU1RUYiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iaiIgeDE9IjEzNy40MDglIiB5MT0iMTE1LjUxOCUiIHgyPSI2NC4yMjUlIiB5Mj0iLTkuNjY2JSIgZ3JhZGllbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI0EyQUJCOSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0U3RUFGMCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJrIiB4MT0iOTMuNTUlIiB5MT0iMTMyLjc4MiUiIHgyPSIyOS41NSUiIHkyPSIxOS45MDElIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjQTJBQkI5Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRTdFQUYwIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImwiIHgxPSIxNzguNTc5JSIgeTE9IjExNC40MSUiIHgyPSItNjcuNiUiIHkyPSItMjEuNjM5JSIgZ3JhZGllbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI0EyQUJCOSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0U3RUFGMCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJtIiB4MT0iMTEzLjgwNSUiIHkxPSIxMjMuMjAxJSIgeDI9IjMwLjgzMiUiIHkyPSIwJSIgZ3JhZGllbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI0EyQUJCOSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0U3RUFGMCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJuIiB4MT0iMTEwLjAwNyUiIHkxPSIxMjguNDklIiB4Mj0iNTAlIiB5Mj0iMCUiIGdyYWRpZW50VW5pdHM9Im9iamVjdEJvdW5kaW5nQm94Ij48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNBMkFCQjkiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNFN0VBRjAiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0ibyIgeDE9IjkyLjUzNCIgeTE9Ijk0LjM4NCIgeDI9IjU1LjUyMyIgeTI9IjE5LjE2NiIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI0EyQUJCOSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0U3RUFGMCIvPjwvbGluZWFyR3JhZGllbnQ+PHBhdGggaWQ9ImEiIGQ9Ik0wIDBoNjAwdjYwMEgweiIvPjwvZGVmcz48L3N2Zz4=\";\n","import { ReloadOutlined } from '@ant-design/icons';\nimport { Button, Spin } from 'antd';\nimport React, { useState } from 'react';\n\nimport ImgBroken from '../../assets/img-broken.svg';\n\nimport './index.less';\n\ninterface IProps {\n url: string;\n imgRef: React.RefObject;\n canvasRef: React.RefObject;\n activeCanvasRef: React.RefObject;\n clientSize: ISize;\n imagePos: React.MutableRefObject;\n onLoad: (e: React.UIEvent) => void;\n}\n\nexport const ImageView: React.FC = ({\n url = '',\n imgRef,\n canvasRef,\n activeCanvasRef,\n clientSize,\n imagePos,\n onLoad,\n}) => {\n const [showReload, setShowReload] = useState(false);\n const [isLoading, setIsLoading] = useState(true);\n\n const onLoadImg = (e: React.UIEvent) => {\n setIsLoading(false);\n // Callback\n onLoad(e);\n };\n\n const onReloadImg = (e: React.MouseEvent) => {\n e.stopPropagation();\n if (imgRef?.current) {\n imgRef.current.src = url;\n setIsLoading(true);\n setShowReload(false);\n }\n };\n\n const onErrorImg = (e: React.UIEvent) => {\n const img = e.target as HTMLImageElement;\n img.src = ImgBroken;\n setIsLoading(false);\n setShowReload(true);\n };\n\n const crossOrigin =\n url.indexOf('aliyuncs.com') > -1 ? 'anonymous' : undefined;\n\n return (\n <>\n \n ) =>\n event.preventDefault()\n }\n className=\"dds-annotator-imageview-canvas\"\n />\n ) =>\n event.preventDefault()\n }\n className=\"dds-annotator-imageview-canvas\"\n />\n {showReload && (\n \n \"error-pic\"\n
\n }\n >\n
\n \n )}\n {isLoading && (\n \n \n \n )}\n \n );\n};\n","import Icon from '@ant-design/icons';\nimport { Modal, Tag } from 'antd';\nimport classNames from 'classnames';\nimport { useLocale } from 'dds-utils';\nimport { memo, useMemo } from 'react';\n\nimport { EnumModelType, MODEL_INTRO_MAP } from '../../constants';\nimport { FloatWrapper } from '../FloatWrapper';\n\nimport './index.less';\n\ninterface IProps {\n AIAnnotation: boolean;\n modelOptions: EnumModelType[];\n selectedModel?: EnumModelType;\n onSelectModel: (type: EnumModelType) => void;\n onCloseModal: () => void;\n}\n\nconst ModelSelectModal: React.FC = memo(\n ({\n AIAnnotation,\n modelOptions,\n selectedModel,\n onSelectModel,\n onCloseModal,\n }) => {\n const { localeText } = useLocale();\n\n const modalWidth =\n modelOptions.length * 220 + (modelOptions.length + 1) * 20;\n\n const autoOpen = useMemo(() => {\n if (\n AIAnnotation &&\n modelOptions &&\n modelOptions.length > 1 &&\n !selectedModel\n ) {\n return true;\n }\n return false;\n }, [AIAnnotation, modelOptions, selectedModel]);\n\n return (\n \n \n
\n {modelOptions.map((model, index) => {\n const intro = MODEL_INTRO_MAP[model];\n if (!intro) return <>;\n return (\n onSelectModel(model)}\n key={index}\n >\n \n
\n {localeText(intro.name)}\n
\n
\n {localeText(intro.description)}\n
\n {intro.hightlight && (\n \n {'New'}\n \n )}\n
\n );\n })}\n \n
\n \n );\n },\n);\n\nexport default ModelSelectModal;\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgDownArror = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ width: 10, height: 10, fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props), /* @__PURE__ */ React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M1.464 5.65A1 1 0 0 0 2.88 7.064l2.12-2.12 2.122 2.12A1 1 0 0 0 8.535 5.65L5.713 2.828a1 1 0 0 0-1.42-.006L1.464 5.65Z\", fill: \"#fff\" }));\nexport { SvgDownArror as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xLjQ2NCA1LjY1QTEgMSAwIDAgMCAyLjg4IDcuMDY0bDIuMTItMi4xMiAyLjEyMiAyLjEyQTEgMSAwIDAgMCA4LjUzNSA1LjY1TDUuNzEzIDIuODI4YTEgMSAwIDAgMC0xLjQyLS4wMDZMMS40NjQgNS42NVoiIGZpbGw9IiNmZmYiLz48L3N2Zz4=\";\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgLayer = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ viewBox: \"0 0 15 15\", xmlns: \"http://www.w3.org/2000/svg\" }, props), /* @__PURE__ */ React.createElement(\"g\", { clipPath: \"url(#layer_svg__a)\" }, /* @__PURE__ */ React.createElement(\"path\", { d: \"m.57 6.625 5.805 3.48a2.182 2.182 0 0 0 2.25 0l5.805-3.48a1.163 1.163 0 0 0 0-1.995L8.625 1.144a2.18 2.18 0 0 0-2.25 0L.57 4.625a1.163 1.163 0 0 0 0 1.995v.005ZM7.34 2.75a.313.313 0 0 1 .32 0l4.789 2.875L7.66 8.5a.313.313 0 0 1-.322 0L2.551 5.625 7.34 2.75Z\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M8.304 11.77a1.562 1.562 0 0 1-1.608 0L1.42 8.603a.937.937 0 0 0-.965 1.607l5.276 3.164a3.43 3.43 0 0 0 3.538 0l5.276-3.166a.937.937 0 1 0-.965-1.605l-5.276 3.165Z\" })), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"clipPath\", { id: \"layer_svg__a\" }, /* @__PURE__ */ React.createElement(\"path\", { fill: \"#fff\", d: \"M0 0h15v15H0z\" }))));\nexport { SvgLayer as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTUgMTUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJtLjU3IDYuNjI1IDUuODA1IDMuNDhhMi4xODIgMi4xODIgMCAwIDAgMi4yNSAwbDUuODA1LTMuNDhhMS4xNjMgMS4xNjMgMCAwIDAgMC0xLjk5NUw4LjYyNSAxLjE0NGEyLjE4IDIuMTggMCAwIDAtMi4yNSAwTC41NyA0LjYyNWExLjE2MyAxLjE2MyAwIDAgMCAwIDEuOTk1di4wMDVaTTcuMzQgMi43NWEuMzEzLjMxMyAwIDAgMSAuMzIgMGw0Ljc4OSAyLjg3NUw3LjY2IDguNWEuMzEzLjMxMyAwIDAgMS0uMzIyIDBMMi41NTEgNS42MjUgNy4zNCAyLjc1WiIvPjxwYXRoIGQ9Ik04LjMwNCAxMS43N2ExLjU2MiAxLjU2MiAwIDAgMS0xLjYwOCAwTDEuNDIgOC42MDNhLjkzNy45MzcgMCAwIDAtLjk2NSAxLjYwN2w1LjI3NiAzLjE2NGEzLjQzIDMuNDMgMCAwIDAgMy41MzggMGw1LjI3Ni0zLjE2NmEuOTM3LjkzNyAwIDEgMC0uOTY1LTEuNjA1bC01LjI3NiAzLjE2NVoiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDE1djE1SDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+\";\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgPalette = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ className: \"palette_svg__icon\", viewBox: \"0 0 1024 1024\", xmlns: \"http://www.w3.org/2000/svg\", width: 16, height: 16 }, props), /* @__PURE__ */ React.createElement(\"path\", { d: \"M512 102.39c-226.202 0-409.6 183.367-409.6 409.6S285.798 921.62 512 921.62a408.556 408.556 0 0 0 156.672-31.2 68.332 68.332 0 0 0 22.16-111.402l-48.057-48.056a68.28 68.28 0 0 1 48.261-116.542l162.304-.04a68.26 68.26 0 0 0 68.27-68.26v-34.13c-.01-226.243-183.378-409.6-409.61-409.6zm341.33 443.73-162.304.03c-75.305 0-136.53 61.225-136.53 136.53 0 36.485 14.203 70.738 39.997 96.543l48.067 48.056a338.166 338.166 0 0 1-130.57 26.082c-188.201 0-341.33-153.14-341.33-341.371S323.799 170.65 512 170.65s341.33 153.098 341.33 341.33v34.14z\", fill: \"#fff\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M443.73 307.19a68.27 68.27 0 1 0 136.54 0 68.27 68.27 0 1 0-136.54 0ZM300.503 555.254a68.198 68.198 0 0 1 93.225 24.996 68.3 68.3 0 0 1-24.934 93.266 68.352 68.352 0 0 1-93.297-24.996 68.321 68.321 0 0 1 25.006-93.266zM621.056 409.59a68.29 68.29 0 1 0 136.581 0 68.29 68.29 0 1 0-136.581 0ZM300.503 468.716a68.26 68.26 0 0 1-24.965-93.266 68.25 68.25 0 1 1 118.2 68.239 68.27 68.27 0 0 1-93.235 25.027z\", fill: \"#fff\" }));\nexport { SvgPalette as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjxwYXRoIGQ9Ik01MTIgMTAyLjM5Yy0yMjYuMjAyIDAtNDA5LjYgMTgzLjM2Ny00MDkuNiA0MDkuNlMyODUuNzk4IDkyMS42MiA1MTIgOTIxLjYyYTQwOC41NTYgNDA4LjU1NiAwIDAgMCAxNTYuNjcyLTMxLjIgNjguMzMyIDY4LjMzMiAwIDAgMCAyMi4xNi0xMTEuNDAybC00OC4wNTctNDguMDU2YTY4LjI4IDY4LjI4IDAgMCAxIDQ4LjI2MS0xMTYuNTQybDE2Mi4zMDQtLjA0YTY4LjI2IDY4LjI2IDAgMCAwIDY4LjI3LTY4LjI2di0zNC4xM2MtLjAxLTIyNi4yNDMtMTgzLjM3OC00MDkuNi00MDkuNjEtNDA5LjZ6bTM0MS4zMyA0NDMuNzMtMTYyLjMwNC4wM2MtNzUuMzA1IDAtMTM2LjUzIDYxLjIyNS0xMzYuNTMgMTM2LjUzIDAgMzYuNDg1IDE0LjIwMyA3MC43MzggMzkuOTk3IDk2LjU0M2w0OC4wNjcgNDguMDU2YTMzOC4xNjYgMzM4LjE2NiAwIDAgMS0xMzAuNTcgMjYuMDgyYy0xODguMjAxIDAtMzQxLjMzLTE1My4xNC0zNDEuMzMtMzQxLjM3MVMzMjMuNzk5IDE3MC42NSA1MTIgMTcwLjY1czM0MS4zMyAxNTMuMDk4IDM0MS4zMyAzNDEuMzN2MzQuMTR6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTQ0My43MyAzMDcuMTlhNjguMjcgNjguMjcgMCAxIDAgMTM2LjU0IDAgNjguMjcgNjguMjcgMCAxIDAtMTM2LjU0IDBaTTMwMC41MDMgNTU1LjI1NGE2OC4xOTggNjguMTk4IDAgMCAxIDkzLjIyNSAyNC45OTYgNjguMyA2OC4zIDAgMCAxLTI0LjkzNCA5My4yNjYgNjguMzUyIDY4LjM1MiAwIDAgMS05My4yOTctMjQuOTk2IDY4LjMyMSA2OC4zMjEgMCAwIDEgMjUuMDA2LTkzLjI2NnpNNjIxLjA1NiA0MDkuNTlhNjguMjkgNjguMjkgMCAxIDAgMTM2LjU4MSAwIDY4LjI5IDY4LjI5IDAgMSAwLTEzNi41ODEgMFpNMzAwLjUwMyA0NjguNzE2YTY4LjI2IDY4LjI2IDAgMCAxLTI0Ljk2NS05My4yNjYgNjguMjUgNjguMjUgMCAxIDEgMTE4LjIgNjguMjM5IDY4LjI3IDY4LjI3IDAgMCAxLTkzLjIzNSAyNS4wMjd6IiBmaWxsPSIjZmZmIi8+PC9zdmc+\";\n","export enum EShortcutType {\n Tool = 'DDSAnnotator.shortcuts.tools',\n GeneralAction = 'DDSAnnotator.shortcuts.general',\n ViewAction = 'DDSAnnotator.shortcuts.viewControl',\n AnnotationAction = 'DDSAnnotator.shortcuts.annotsControl',\n}\n\nexport type TShortcutItem = {\n name: string;\n type: EShortcutType;\n shortcut: string[];\n descTextKey: string;\n};\n\nexport enum EShortcuts {\n /** Tools */\n RectangleTool,\n PolygonTool,\n SkeletonTool,\n DragTool,\n MaskTool,\n /** General Actions */\n SmartAnnotation,\n Undo,\n Redo,\n RepeatPrevious,\n DeleteAll,\n NextImage,\n PreviousImage,\n Save,\n Accept,\n Reject,\n /** View Actions */\n ZoomIn,\n ZoomOut,\n Reset,\n HideCurrObject,\n HideCurrCategory,\n HideAll,\n PanImage,\n /** Annotation Actions */\n DeleteCurrObject,\n SaveCurrObject,\n CancelCurrObject,\n}\n\nexport const EDITOR_SHORTCUTS: Record = {\n [EShortcuts.RectangleTool]: {\n name: 'RectangleTool',\n type: EShortcutType.Tool,\n shortcut: ['r'],\n descTextKey: 'DDSAnnotator.shortcuts.tools.rectangle',\n },\n [EShortcuts.PolygonTool]: {\n name: 'PolygonTool',\n type: EShortcutType.Tool,\n shortcut: ['p'],\n descTextKey: 'DDSAnnotator.shortcuts.tools.polygon',\n },\n [EShortcuts.SkeletonTool]: {\n name: 'SkeletonTool',\n type: EShortcutType.Tool,\n shortcut: ['s'],\n descTextKey: 'DDSAnnotator.shortcuts.tools.skeleton',\n },\n [EShortcuts.MaskTool]: {\n name: 'MaskTool',\n type: EShortcutType.Tool,\n shortcut: ['m'],\n descTextKey: 'DDSAnnotator.shortcuts.tools.mask',\n },\n [EShortcuts.DragTool]: {\n name: 'DragTool',\n type: EShortcutType.Tool,\n shortcut: ['d'],\n descTextKey: 'DDSAnnotator.shortcuts.tools.drag',\n },\n [EShortcuts.SmartAnnotation]: {\n name: 'SmartAnnotation',\n type: EShortcutType.GeneralAction,\n shortcut: ['a'],\n descTextKey: 'DDSAnnotator.shortcuts.general.smart',\n },\n [EShortcuts.Undo]: {\n name: 'Undo',\n type: EShortcutType.GeneralAction,\n shortcut: ['ctrl.z', 'meta.z'],\n descTextKey: 'DDSAnnotator.shortcuts.general.undo',\n },\n [EShortcuts.Redo]: {\n name: 'Redo',\n type: EShortcutType.GeneralAction,\n shortcut: ['ctrl.shift.z', 'meta.shift.z'],\n descTextKey: 'DDSAnnotator.shortcuts.general.redo',\n },\n [EShortcuts.RepeatPrevious]: {\n name: 'RepeatPrevious',\n type: EShortcutType.GeneralAction,\n shortcut: ['ctrl.r', 'meta.r'],\n descTextKey: 'DDSAnnotator.shortcuts.general.repeatPrevious',\n },\n [EShortcuts.DeleteAll]: {\n name: 'DeleteAll',\n type: EShortcutType.GeneralAction,\n shortcut: ['ctrl.shift.d', 'meta.shift.d'],\n descTextKey: 'DDSAnnotator.shortcuts.general.deleteAll',\n },\n [EShortcuts.Save]: {\n name: 'Save',\n type: EShortcutType.GeneralAction,\n shortcut: ['ctrl.s', 'meta.s'],\n descTextKey: 'DDSAnnotator.shortcuts.general.save',\n },\n [EShortcuts.HideCurrObject]: {\n name: 'HideCurrObject',\n type: EShortcutType.ViewAction,\n shortcut: ['h'],\n descTextKey: 'DDSAnnotator.shortcuts.viewControl.hideCurrObject',\n },\n [EShortcuts.HideCurrCategory]: {\n name: 'HideCurrCategory',\n type: EShortcutType.ViewAction,\n shortcut: ['ctrl.h', 'meta.h'],\n descTextKey: 'DDSAnnotator.shortcuts.viewControl.hideCurrCategory',\n },\n [EShortcuts.HideAll]: {\n name: 'HideAll',\n type: EShortcutType.ViewAction,\n shortcut: ['ctrl.shift.h', 'meta.shift.h'],\n descTextKey: 'DDSAnnotator.shortcuts.viewControl.hideAll',\n },\n [EShortcuts.ZoomIn]: {\n name: 'ZoomIn',\n type: EShortcutType.ViewAction,\n shortcut: ['equalsign'],\n descTextKey: 'DDSAnnotator.shortcuts.viewControl.zoomIn',\n },\n [EShortcuts.ZoomOut]: {\n name: 'ZoomOut',\n type: EShortcutType.ViewAction,\n shortcut: ['dash'],\n descTextKey: 'DDSAnnotator.shortcuts.viewControl.zoomOut',\n },\n [EShortcuts.Reset]: {\n name: 'Reset',\n type: EShortcutType.ViewAction,\n shortcut: ['0'],\n descTextKey: 'DDSAnnotator.shortcuts.viewControl.zoomReset',\n },\n [EShortcuts.Accept]: {\n name: 'Accept',\n type: EShortcutType.GeneralAction,\n shortcut: ['ctrl.a', 'meta.a'],\n descTextKey: 'DDSAnnotator.shortcuts.general.accept',\n },\n [EShortcuts.Reject]: {\n name: 'Reject',\n type: EShortcutType.GeneralAction,\n shortcut: ['ctrl.r', 'meta.r'],\n descTextKey: 'DDSAnnotator.shortcuts.general.reject',\n },\n [EShortcuts.NextImage]: {\n name: 'NextImage',\n type: EShortcutType.ViewAction,\n shortcut: ['rightarrow'],\n descTextKey: 'DDSAnnotator.shortcuts.general.next',\n },\n [EShortcuts.PreviousImage]: {\n name: 'PreviousImage',\n type: EShortcutType.ViewAction,\n shortcut: ['leftarrow'],\n descTextKey: 'DDSAnnotator.shortcuts.general.prev',\n },\n [EShortcuts.PanImage]: {\n name: 'PanImage',\n type: EShortcutType.ViewAction,\n shortcut: ['Space'],\n descTextKey: 'DDSAnnotator.shortcuts.viewControl.panImage',\n },\n [EShortcuts.SaveCurrObject]: {\n name: 'SaveCurrObject',\n type: EShortcutType.AnnotationAction,\n shortcut: ['enter'],\n descTextKey: 'DDSAnnotator.shortcuts.annotsControl.finish',\n },\n [EShortcuts.DeleteCurrObject]: {\n name: 'DeleteCurrObject',\n type: EShortcutType.AnnotationAction,\n shortcut: ['Backspace', 'Delete'],\n descTextKey: 'DDSAnnotator.shortcuts.annotsControl.delete',\n },\n [EShortcuts.CancelCurrObject]: {\n name: 'CancelCurrObject',\n type: EShortcutType.AnnotationAction,\n shortcut: ['esc'],\n descTextKey: 'DDSAnnotator.shortcuts.annotsControl.cancel',\n },\n};\n\nexport const convertAliasToSymbol = (key: string) => {\n let res = key;\n switch (key) {\n case 'meta':\n res = '⌘';\n break;\n case 'shift':\n res = '⇧';\n break;\n case 'equalsign':\n case 'add':\n res = '+';\n break;\n case 'dash':\n case 'subtract':\n res = '-';\n break;\n case 'leftarrow':\n res = '←';\n break;\n case 'rightarrow':\n res = '→';\n break;\n default:\n res = key.toUpperCase();\n break;\n }\n return res;\n};\n","import Icon, {\n DeleteOutlined,\n EyeInvisibleOutlined,\n EyeOutlined,\n} from '@ant-design/icons';\nimport { useKeyPress } from 'ahooks';\nimport { Button, Collapse, List, Tabs, Tooltip } from 'antd';\nimport classNames from 'classnames';\nimport { useWindowResize } from 'dds-hooks';\nimport { useLocale } from 'dds-utils/locale';\nimport { isEqual } from 'lodash';\nimport VirtualList, { ListRef } from 'rc-virtual-list';\nimport React, {\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Updater } from 'use-immer';\n\nimport { ReactComponent as Attribute } from '../../assets/attribute.svg';\nimport { ReactComponent as DownArrorIcon } from '../../assets/downArror.svg';\nimport { ReactComponent as Layer } from '../../assets/layer.svg';\nimport { ReactComponent as Palette } from '../../assets/palette.svg';\nimport { OBJECT_ICON } from '../../constants';\nimport { EDITOR_SHORTCUTS, EShortcuts } from '../../constants/shortcuts';\nimport {\n Category,\n DrawData,\n IAnnotationObject,\n IAnnotsDisplayOptions,\n} from '../../type';\n\nimport './index.less';\n\nexport interface IProps {\n objects: IAnnotationObject[];\n framesObjects?: IAnnotationObject[][];\n activeObjectIndex: number;\n className?: string;\n supportEdit?: boolean;\n activeClassName: string;\n onFocusObject: (index: number) => void;\n onActiveObject: (index: number) => void;\n onChangeObjectHidden: (index: number, hidden: boolean) => void;\n onChangeCategoryHidden: (category: string, hidden: boolean) => void;\n onDeleteObject: (index: number) => void;\n onChangeActiveClassName: (className: string) => void;\n categories: Category[];\n setDrawDataWithHistory: Updater;\n colorByCategory: boolean;\n onChangeAnnotsDisplayOpts: (options: IAnnotsDisplayOptions) => void;\n}\n\nenum ETab {\n Object = 'object',\n Class = 'class',\n}\n\ntype TObjectItem = IAnnotationObject & {\n /** Index in the ObjectList Array */\n originIndex: number;\n};\n\n// TODO: 优化objectList数据, 缩放或移动鼠标不应该刷新ObjectList\nconst propsAreEqual = (prev: IProps, next: IProps): boolean => {\n return (\n isEqual(prev.objects, next.objects) &&\n isEqual(prev.framesObjects, next.framesObjects) &&\n prev.activeObjectIndex === next.activeObjectIndex &&\n prev.supportEdit === next.supportEdit &&\n prev.activeClassName === next.activeClassName &&\n prev.className === next.className &&\n prev.onChangeActiveClassName === next.onChangeActiveClassName &&\n prev.onFocusObject === next.onFocusObject &&\n prev.onDeleteObject === next.onDeleteObject &&\n prev.onChangeObjectHidden === next.onChangeObjectHidden &&\n prev.onChangeCategoryHidden === next.onChangeCategoryHidden &&\n prev.setDrawDataWithHistory === next.setDrawDataWithHistory &&\n isEqual(prev.categories, next.categories) &&\n prev.colorByCategory === next.colorByCategory &&\n prev.onChangeAnnotsDisplayOpts === next.onChangeAnnotsDisplayOpts\n );\n};\n\nexport const ObjectList: React.FC = memo((props) => {\n const {\n objects,\n framesObjects,\n activeObjectIndex,\n className,\n supportEdit,\n activeClassName,\n onFocusObject,\n onActiveObject,\n onChangeObjectHidden,\n onDeleteObject,\n onChangeCategoryHidden,\n onChangeActiveClassName,\n categories,\n setDrawDataWithHistory,\n colorByCategory,\n onChangeAnnotsDisplayOpts,\n } = props;\n const { localeText } = useLocale();\n\n const DEFAULT_CLASS_NAME = localeText(\n 'DDSAnnotator.annotsList.uncategorized',\n );\n\n const [curTab, setCurTab] = useState(ETab.Class);\n const onChangeTab = (key: string) => {\n setCurTab(key as ETab);\n };\n\n /** Attributes for Virtual List */\n const { height } = useWindowResize();\n const collapseHeaderHeight = 45;\n const itemHeight = 35;\n const containerHeight = height - collapseHeaderHeight - 56;\n const virtualListRef = useRef(null);\n\n const hideAllObjs = useMemo(() => {\n return !objects.some((item) => !item.hidden);\n }, [objects]);\n\n const onAllObjectHidden = () => {\n objects.forEach((_, index) => {\n onChangeObjectHidden(index, !hideAllObjs);\n });\n };\n\n const switchColorMode = () => {\n onChangeAnnotsDisplayOpts({\n colorByCategory: !colorByCategory,\n });\n };\n\n const showEditingAttributes = useCallback(\n (object: IAnnotationObject, label: Category, index: number) => {\n onActiveObject(index);\n setDrawDataWithHistory((s) => {\n s.editingAttribute = {\n index,\n labelId: object.labelId,\n attributes: label.attributes || [],\n values: object.attributes || [],\n };\n });\n },\n [onActiveObject],\n );\n\n /** Hide All Objects */\n useKeyPress(\n EDITOR_SHORTCUTS[EShortcuts.HideAll].shortcut,\n (event) => {\n event.preventDefault();\n onAllObjectHidden();\n },\n {\n exactMatch: true,\n },\n );\n\n /** Map of instances grouped by category */\n const objectMapByClass: Record = useMemo(() => {\n return objects.reduce(\n (\n acc: Record,\n obj: IAnnotationObject,\n index: number,\n ) => {\n const labelName =\n categories.find((c) => c.id === obj.labelId)?.name ||\n DEFAULT_CLASS_NAME;\n if (!acc[labelName]) {\n acc[labelName] = [];\n }\n acc[labelName].push({ ...obj, originIndex: index });\n return acc;\n },\n {},\n );\n }, [objects]);\n\n /** Automatically scroll the currently active instance into view */\n useEffect(() => {\n if (activeObjectIndex < 0) return;\n const activeTab = document.querySelector('.ant-tabs-tabpane-active');\n if (curTab === ETab.Object) {\n const activeElement = activeTab?.querySelector(\n `.tab-collapse .ant-collapse-item:nth-child(${activeObjectIndex + 1})`,\n );\n activeElement?.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n } else if (curTab === ETab.Class && objectMapByClass[activeClassName]) {\n const index = objectMapByClass[activeClassName].findIndex(\n (item) => item.originIndex === activeObjectIndex,\n );\n if (index > -1) {\n virtualListRef.current?.scrollTo({\n index,\n align: 'auto',\n });\n }\n }\n }, [activeObjectIndex]);\n\n /** ClassTab: Tiling by category with support for expanding to the instance level */\n const classTab = (\n \n {objects.length > 0 &&\n Object.keys(objectMapByClass)\n .sort()\n .map((labelName) => {\n const subObjects = objectMapByClass[labelName];\n const isHidden = subObjects.every((item) => item.hidden);\n const firstColor = subObjects[0]?.color;\n return (\n {\n onChangeActiveClassName(\n labelName === activeClassName ? '' : labelName,\n );\n }}\n >\n {activeClassName === labelName && (\n \n )}\n
{labelName}
\n
\n {subObjects.length}\n {supportEdit && (\n \n \n ) : (\n \n )\n }\n shape={'circle'}\n onClick={(event) => {\n event.stopPropagation();\n onChangeCategoryHidden(labelName, !isHidden);\n }}\n />\n \n )}\n }\n shape={'circle'}\n />\n
\n \n }\n >\n {activeClassName === labelName && (\n \n \n {(object: TObjectItem, objIndex: number) => {\n const label = categories.find(\n (c) => c.id === object.labelId,\n );\n const hasAttributes = !!label?.attributes?.length;\n const requireAttribute = label?.attributes?.find(\n (attribute, index) =>\n attribute.required &&\n [undefined, null, ''].includes(\n object.attributes?.[index] as any,\n ),\n );\n const frameCount =\n framesObjects?.[object.originIndex]?.filter(\n (obj) => obj && !obj.frameEmpty,\n )?.length || 1;\n return (\n {\n onFocusObject(object.originIndex);\n }}\n onClick={(event) => {\n event.stopPropagation();\n onActiveObject(object.originIndex);\n }}\n >\n {activeObjectIndex === object.originIndex && (\n \n )}\n \n
\n # {object.originIndex + 1}\n
\n
\n {framesObjects && (\n \n {frameCount}\n \n )}\n {hasAttributes && (\n \n }\n shape={'circle'}\n onClick={(event) => {\n event.stopPropagation();\n showEditingAttributes(\n object,\n label,\n object.originIndex,\n );\n }}\n />\n \n )}\n \n \n ) : (\n \n )\n }\n shape={'circle'}\n onClick={(event) => {\n event.stopPropagation();\n onChangeObjectHidden(\n object.originIndex,\n !object.hidden,\n );\n }}\n />\n \n {supportEdit && (\n <>\n \n }\n shape={'circle'}\n onClick={(event) => {\n event.stopPropagation();\n onDeleteObject(object.originIndex);\n }}\n />\n \n \n )}\n
\n \n );\n }}\n \n
\n )}\n \n );\n })}\n \n );\n\n return (\n {\n event.stopPropagation();\n }}\n >\n \n \n }\n onClick={switchColorMode}\n >\n \n {objects.length > 0 && (\n \n : \n }\n shape={'circle'}\n onClick={onAllObjectHidden}\n />\n \n )}\n \n }\n />\n \n );\n}, propsAreEqual);\n","// This icon file is generated automatically.\nvar DownCircleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M690 405h-46.9c-10.2 0-19.9 4.9-25.9 13.2L512 563.6 406.8 418.2c-6-8.3-15.6-13.2-25.9-13.2H334c-6.5 0-10.3 7.4-6.5 12.7l178 246c3.2 4.4 9.7 4.4 12.9 0l178-246c3.9-5.3.1-12.7-6.4-12.7z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\" } }] }, \"name\": \"down-circle\", \"theme\": \"outlined\" };\nexport default DownCircleOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport DownCircleOutlinedSvg from \"@ant-design/icons-svg/es/asn/DownCircleOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar DownCircleOutlined = function DownCircleOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: DownCircleOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n DownCircleOutlined.displayName = 'DownCircleOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(DownCircleOutlined);","// This icon file is generated automatically.\nvar UpCircleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M518.5 360.3a7.95 7.95 0 00-12.9 0l-178 246c-3.8 5.3 0 12.7 6.5 12.7H381c10.2 0 19.9-4.9 25.9-13.2L512 460.4l105.2 145.4c6 8.3 15.6 13.2 25.9 13.2H690c6.5 0 10.3-7.4 6.5-12.7l-178-246z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\" } }] }, \"name\": \"up-circle\", \"theme\": \"outlined\" };\nexport default UpCircleOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport UpCircleOutlinedSvg from \"@ant-design/icons-svg/es/asn/UpCircleOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar UpCircleOutlined = function UpCircleOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: UpCircleOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n UpCircleOutlined.displayName = 'UpCircleOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(UpCircleOutlined);","// extracted by mini-css-extract-plugin\nexport default {\"item\":\"item___v9XQ_\",\"selected\":\"selected___H8gjQ\",\"info\":\"info___YLqTh\",\"action\":\"action___zGuUy\",\"btn\":\"btn___ean1l\"};","import { Select } from 'antd';\nimport { useLocale } from 'dds-utils/locale';\n\nimport { KEYPOINTS_VISIBLE_TYPE } from '../../constants';\n\nimport styles from './index.less';\n\ninterface IProps {\n point: IElement;\n index: number;\n active: boolean;\n onVisibleChange: (val: number) => void;\n onMouseEnter?: React.MouseEventHandler;\n onMouseOut?: React.MouseEventHandler;\n onMouseOver?: React.MouseEventHandler;\n}\n\nconst PointItem: React.FC = ({\n point,\n index,\n active,\n onMouseEnter,\n onMouseOut,\n onMouseOver,\n onVisibleChange,\n}) => {\n const { localeText } = useLocale();\n\n return (\n \n {active && (\n \n )}\n
\n {point.name ? `#${index + 1} ${point.name}` : `${index + 1} `}\n
\n
\n \n \n {localeText('DDSAnnotator.annotsList.point.notInImage')}\n \n \n {localeText('DDSAnnotator.annotsList.point.notVisible')}\n \n \n {localeText('DDSAnnotator.annotsList.point.visible')}\n \n \n
\n \n );\n};\n\nexport default PointItem;\n","import { DownCircleOutlined, UpCircleOutlined } from '@ant-design/icons';\nimport { Card } from 'antd';\nimport classNames from 'classnames';\nimport { useLocale } from 'dds-utils/locale';\nimport { memo, useMemo, useState } from 'react';\nimport { Updater } from 'use-immer';\n\nimport {\n EElementType,\n EObjectType,\n KEYPOINTS_VISIBLE_TYPE,\n} from '../../constants';\nimport { EditState, EditorMode, IAnnotationObject } from '../../type';\nimport { FloatWrapper } from '../FloatWrapper';\nimport PointItem from '../PointItem';\n\nimport './index.less';\n\ninterface IProps {\n mode: EditorMode;\n isAiAnnotation: boolean;\n currObject: IAnnotationObject | undefined;\n currObjectIndex: number;\n focusObjectIndex: number;\n focusEleType: EElementType;\n focusEleIndex: number;\n onChangePointVisible: (\n pointIndex: number,\n visible: KEYPOINTS_VISIBLE_TYPE,\n ) => void;\n setEditState: Updater;\n}\n\nconst PointsEditModal: React.FC = memo(\n ({\n mode,\n isAiAnnotation,\n currObject,\n currObjectIndex,\n focusObjectIndex,\n focusEleType,\n focusEleIndex,\n onChangePointVisible,\n setEditState,\n }) => {\n const { localeText } = useLocale();\n const [collapsed, setCollapsed] = useState(true);\n\n const show = useMemo(() => {\n if (\n currObjectIndex > -1 &&\n currObject?.type === EObjectType.Skeleton &&\n !isAiAnnotation\n ) {\n return true;\n }\n return false;\n }, [mode, currObject, currObjectIndex, isAiAnnotation]);\n\n const onFocusEleIndex = (index: number) => {\n setEditState((s) => {\n s.focusObjectIndex = currObjectIndex;\n s.focusEleIndex = index;\n s.focusEleType = EElementType.Circle;\n });\n };\n\n return (\n \n setCollapsed((s) => !s)}>\n {localeText('DDSAnnotator.points.editor')}\n
\n {collapsed ? : }\n
\n \n }\n >\n {!collapsed && (\n {\n event.stopPropagation();\n }}\n >\n {currObject &&\n currObject.keypoints &&\n currObject.keypoints.points.map((ele, eleIndex) => (\n onFocusEleIndex(eleIndex)}\n onVisibleChange={(visible) => {\n onChangePointVisible(eleIndex, visible);\n }}\n />\n ))}\n \n )}\n \n
\n );\n },\n);\n\nexport default PointsEditModal;\n","import { useKeyPress } from 'ahooks';\nimport { Button, Card } from 'antd';\nimport classNames from 'classnames';\nimport { useLocale } from 'dds-utils/locale';\nimport { memo, useMemo } from 'react';\n\nimport { EObjectType } from '../../constants';\nimport { EDITOR_SHORTCUTS, EShortcuts } from '../../constants/shortcuts';\nimport { EditorMode, IAnnotationObject } from '../../type';\nimport { FloatWrapper } from '../FloatWrapper';\n\nimport './index.less';\n\ninterface IProps {\n mode: EditorMode;\n isAiAnnotation: boolean;\n latestLabelId: string;\n currObject: IAnnotationObject | undefined;\n onFinishCurrCreate: (labelId: string) => void;\n}\n\nconst SegConfirmModal: React.FC = memo(\n ({ mode, isAiAnnotation, latestLabelId, currObject, onFinishCurrCreate }) => {\n const { localeText } = useLocale();\n\n const show = useMemo(() => {\n if (mode !== EditorMode.Edit) return false;\n if (\n currObject?.type === EObjectType.Mask ||\n (currObject?.type === EObjectType.Polygon && isAiAnnotation)\n ) {\n return true;\n }\n return false;\n }, [mode, currObject, isAiAnnotation]);\n\n useKeyPress(\n EDITOR_SHORTCUTS[EShortcuts.SaveCurrObject].shortcut,\n (event: KeyboardEvent) => {\n if (currObject) {\n event.preventDefault();\n onFinishCurrCreate(latestLabelId);\n }\n },\n {\n exactMatch: true,\n },\n );\n\n return (\n \n {localeText('DDSAnnotator.seg.tool')}\n }\n >\n
\n
{localeText('DDSAnnotator.seg.tool.content')}
\n {\n event.preventDefault();\n onFinishCurrCreate(latestLabelId);\n }}\n >\n {localeText('DDSAnnotator.confirm')}\n \n
\n \n
\n );\n },\n);\n\nexport default SegConfirmModal;\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgDrag = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 29 29\" }, props), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"style\", null, \".drag_svg__cls-1{fill:none}\")), /* @__PURE__ */ React.createElement(\"path\", { className: \"drag_svg__cls-1\", d: \"M2.83 2.83h28.35v28.35H2.83z\" }), /* @__PURE__ */ React.createElement(\"path\", { className: \"drag_svg__cls-1\", d: \"M2.83 2.83h28.35v28.35H2.83z\" }), /* @__PURE__ */ React.createElement(\"path\", { className: \"drag_svg__cls-1\", d: \"M2.83 2.83h28.35v28.35H2.83Z\" }), /* @__PURE__ */ React.createElement(\"path\", { className: \"drag_svg__cls-2\", d: \"m21.73 18.19 8.23 4.8-3.51 1 2.51 4.35-2.05 1.18-2.51-4.35-2.63 2.54-.04-9.52z\" }), /* @__PURE__ */ React.createElement(\"path\", { className: \"drag_svg__cls-2\", d: \"M19.37 9.92h2.36v2.36h5.91a1.18 1.18 0 0 1 1.18 1.18v4.73h-2.36v-3.54H14.65v11.81h4.72v2.36h-5.91a1.18 1.18 0 0 1-1.18-1.18v-5.91H9.92v-2.36h2.36v-5.91a1.18 1.18 0 0 1 1.18-1.18h5.91ZM5.2 19.37h2.36v2.36H5.2zM5.2 14.65h2.36v2.36H5.2zM5.2 9.92h2.36v2.36H5.2zM5.2 5.2h2.36v2.36H5.2zM9.92 5.2h2.36v2.36H9.92zM14.65 5.2h2.36v2.36h-2.36zM19.37 5.2h2.36v2.36h-2.36z\" }));\nexport { SvgDrag as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOSAyOSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmV9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMi44MyAyLjgzaDI4LjM1djI4LjM1SDIuODN6Ii8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMi44MyAyLjgzaDI4LjM1djI4LjM1SDIuODN6Ii8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMi44MyAyLjgzaDI4LjM1djI4LjM1SDIuODNaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJtMjEuNzMgMTguMTkgOC4yMyA0LjgtMy41MSAxIDIuNTEgNC4zNS0yLjA1IDEuMTgtMi41MS00LjM1LTIuNjMgMi41NC0uMDQtOS41MnoiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0xOS4zNyA5LjkyaDIuMzZ2Mi4zNmg1LjkxYTEuMTggMS4xOCAwIDAgMSAxLjE4IDEuMTh2NC43M2gtMi4zNnYtMy41NEgxNC42NXYxMS44MWg0LjcydjIuMzZoLTUuOTFhMS4xOCAxLjE4IDAgMCAxLTEuMTgtMS4xOHYtNS45MUg5Ljkydi0yLjM2aDIuMzZ2LTUuOTFhMS4xOCAxLjE4IDAgMCAxIDEuMTgtMS4xOGg1LjkxWk01LjIgMTkuMzdoMi4zNnYyLjM2SDUuMnpNNS4yIDE0LjY1aDIuMzZ2Mi4zNkg1LjJ6TTUuMiA5LjkyaDIuMzZ2Mi4zNkg1LjJ6TTUuMiA1LjJoMi4zNnYyLjM2SDUuMnpNOS45MiA1LjJoMi4zNnYyLjM2SDkuOTJ6TTE0LjY1IDUuMmgyLjM2djIuMzZoLTIuMzZ6TTE5LjM3IDUuMmgyLjM2djIuMzZoLTIuMzZ6Ii8+PC9zdmc+\";\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgZoomResize = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ className: \"zoomResize_svg__icon\", viewBox: \"0 0 1024 1024\", xmlns: \"http://www.w3.org/2000/svg\", width: 200, height: 200 }, props), /* @__PURE__ */ React.createElement(\"path\", { d: \"M981.333 42.667v938.666H42.667V42.667h938.666zM128 896h768V128H128v768zm170.667-170.667H448v85.334H213.333V576h85.334v149.333zm426.666-426.666H576v-85.334h234.667V448h-85.334V298.667z\" }));\nexport { SvgZoomResize as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTk4MS4zMzMgNDIuNjY3djkzOC42NjZINDIuNjY3VjQyLjY2N2g5MzguNjY2ek0xMjggODk2aDc2OFYxMjhIMTI4djc2OHptMTcwLjY2Ny0xNzAuNjY3SDQ0OHY4NS4zMzRIMjEzLjMzM1Y1NzZoODUuMzM0djE0OS4zMzN6bTQyNi42NjYtNDI2LjY2Nkg1NzZ2LTg1LjMzNGgyMzQuNjY3VjQ0OGgtODUuMzM0VjI5OC42Njd6Ii8+PC9zdmc+\";\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgKeyboardDown = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ viewBox: \"0 0 24 24\", xmlns: \"http://www.w3.org/2000/svg\" }, props), /* @__PURE__ */ React.createElement(\"path\", { d: \"M21.5 3h-19A2.503 2.503 0 0 0 0 5.5V17h24V5.5C24 4.122 22.878 3 21.5 3Zm.5 12H2V5.5a.5.5 0 0 1 .5-.5h19a.5.5 0 0 1 .5.5V15ZM4 7h3v2H4V7Zm8 2H9V7h3v2Zm2-2h6v2h-6V7Zm-6 4h8v2H8v-2Zm10 0h2v2h-2v-2ZM4 11h2v2H4v-2Zm11.293 7.707 1.414 1.414-3.293 3.293c-.39.39-.902.585-1.414.585a1.993 1.993 0 0 1-1.414-.585l-3.293-3.293 1.414-1.414L12 22l3.293-3.293Z\" }));\nexport { SvgKeyboardDown as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIxLjUgM2gtMTlBMi41MDMgMi41MDMgMCAwIDAgMCA1LjVWMTdoMjRWNS41QzI0IDQuMTIyIDIyLjg3OCAzIDIxLjUgM1ptLjUgMTJIMlY1LjVhLjUuNSAwIDAgMSAuNS0uNWgxOWEuNS41IDAgMCAxIC41LjVWMTVaTTQgN2gzdjJINFY3Wm04IDJIOVY3aDN2MlptMi0yaDZ2MmgtNlY3Wm0tNiA0aDh2Mkg4di0yWm0xMCAwaDJ2MmgtMnYtMlpNNCAxMWgydjJINHYtMlptMTEuMjkzIDcuNzA3IDEuNDE0IDEuNDE0LTMuMjkzIDMuMjkzYy0uMzkuMzktLjkwMi41ODUtMS40MTQuNTg1YTEuOTkzIDEuOTkzIDAgMCAxLTEuNDE0LS41ODVsLTMuMjkzLTMuMjkzIDEuNDE0LTEuNDE0TDEyIDIybDMuMjkzLTMuMjkzWiIvPjwvc3ZnPg==\";\n","import Icon from '@ant-design/icons';\nimport { Dropdown, Menu, MenuProps, Tooltip } from 'antd';\nimport classNames from 'classnames';\nimport { useLocale } from 'dds-utils/locale';\nimport { memo, useMemo } from 'react';\n\nimport { ReactComponent as KeyboardIcon } from '../../assets/keyboard-down.svg';\nimport {\n convertAliasToSymbol,\n EDITOR_SHORTCUTS,\n EShortcuts,\n EShortcutType,\n TShortcutItem,\n} from '../../constants/shortcuts';\nimport { EditorMode } from '../../type';\n\nimport './index.less';\n\ninterface IProps {\n mode: EditorMode;\n // viewOnly: boolean;\n}\n\nexport const getIconFromShortcut = (keys: string[], withStyle = true) => {\n const userAgent = navigator.userAgent.toLowerCase();\n const isMac = userAgent.indexOf('mac') > -1;\n const icons: any[] = [];\n for (let index = 0; index < keys.length; index++) {\n const key = keys[index];\n if ((!isMac && key.includes('meta')) || (isMac && key.includes('ctrl'))) {\n continue;\n }\n if (key.includes('.')) {\n const combineKeys = key.split('.');\n combineKeys.forEach((key, idx) => {\n const letter = (\n \n {convertAliasToSymbol(key)}\n \n );\n icons.push(letter);\n if (idx !== combineKeys.length - 1) {\n icons.push(\n \n {' '}\n +{' '}\n ,\n );\n }\n });\n } else {\n const letter = (\n \n {convertAliasToSymbol(key)}\n \n );\n icons.push(letter);\n }\n if (index !== keys.length - 1) {\n icons.push(\n \n {' '}\n /{' '}\n ,\n );\n }\n }\n return {icons};\n};\n\nexport const ShortcutsInfo: React.FC = memo(({ mode }) => {\n const { localeText } = useLocale();\n\n const convertShortcutsToMenuProps = (\n shortcuts: Record,\n ): MenuProps['items'] => {\n const categories: Record = {};\n for (const key in shortcuts) {\n if (shortcuts.hasOwnProperty(key)) {\n // @ts-ignore\n const { name, type, descTextKey, shortcut } = shortcuts[key];\n const description = localeText(descTextKey);\n if (mode === EditorMode.View && type !== EShortcutType.ViewAction) {\n continue;\n }\n if (mode === EditorMode.Review) {\n if (\n [EShortcutType.AnnotationAction, EShortcutType.Tool].includes(type)\n ) {\n continue;\n }\n if (\n [EShortcutType.GeneralAction].includes(type) &&\n name !== 'Accept' &&\n name !== 'Reject'\n ) {\n continue;\n }\n }\n\n if (categories[type]) {\n categories[type].children.push({\n key,\n label: description,\n icon: {getIconFromShortcut(shortcut)},\n });\n } else {\n categories[type] = {\n key: type,\n type: 'group',\n label: localeText(type),\n children: [\n {\n key,\n label: description,\n icon: {getIconFromShortcut(shortcut)},\n },\n ],\n };\n }\n }\n }\n return Object.values(categories);\n };\n\n const items = useMemo(() => {\n return convertShortcutsToMenuProps(EDITOR_SHORTCUTS) || [];\n }, [mode]);\n\n return (\n (\n \n )}\n trigger={['click']}\n >\n \n \n \n \n );\n});\n","import Icon, { ZoomInOutlined, ZoomOutOutlined } from '@ant-design/icons';\nimport { useKeyPress } from 'ahooks';\nimport { Button, Popover } from 'antd';\nimport classNames from 'classnames';\nimport { useLocale } from 'dds-utils/locale';\nimport { memo, useMemo } from 'react';\n\nimport { ReactComponent as DragToolIcon } from '../../assets/drag.svg';\nimport { ReactComponent as ZoomResize } from '../../assets/zoomResize.svg';\nimport {\n EBasicToolItem,\n EObjectType,\n EActionToolItem,\n EToolType,\n OBJECT_ICON,\n EDITOR_TOOL_ICON,\n MAX_SCALE,\n MIN_SCALE,\n OBJECT_AI_ICON,\n TOOL_MODELS_MAP,\n EnumModelType,\n} from '../../constants';\nimport {\n EDITOR_SHORTCUTS,\n EShortcuts,\n TShortcutItem,\n} from '../../constants/shortcuts';\nimport { getIconFromShortcut } from '../ShortcutsInfo';\n\nimport './index.less';\n\ntype TToolItem = {\n key: T;\n name: string;\n shortcut: TShortcutItem;\n icon: JSX.Element;\n aiIcon?: JSX.Element;\n aiModels?: EnumModelType[];\n description?: string;\n};\n\ninterface IProps {\n selectedTool: EToolType;\n manualMode?: boolean;\n limitToolTypes?: EBasicToolItem[];\n supportRepeat?: boolean;\n isAIAnnotationActive: boolean;\n onChangeSelectedTool: (type: EToolType) => void;\n onActiveAIAnnotation: (active: boolean) => void;\n undo: () => void;\n redo: () => void;\n repeatPrevious?: () => void;\n deleteAll: () => void;\n scale: number;\n onZoomIn: () => void;\n onZoomOut: () => void;\n onZoomReset: () => void;\n onlySupportZoom: boolean;\n hideUndoRedoActions?: boolean;\n}\n\nconst SliderToolBar: React.FC = memo(\n ({\n selectedTool,\n manualMode,\n supportRepeat,\n limitToolTypes,\n isAIAnnotationActive,\n onChangeSelectedTool,\n onActiveAIAnnotation,\n undo,\n redo,\n repeatPrevious,\n deleteAll,\n scale,\n onZoomIn,\n onZoomOut,\n onZoomReset,\n onlySupportZoom,\n hideUndoRedoActions,\n }) => {\n const { localeText } = useLocale();\n\n const dragTools: TToolItem[] = useMemo(() => {\n return [\n {\n key: EBasicToolItem.Drag,\n name: localeText('DDSAnnotator.toolbar.drag'),\n shortcut: EDITOR_SHORTCUTS[EShortcuts.DragTool],\n icon: ,\n description: localeText('DDSAnnotator.toolbar.drag.desc'),\n },\n ];\n }, []);\n\n const annoTools: TToolItem[] = useMemo(() => {\n const typeTools = [\n {\n key: EBasicToolItem.Rectangle,\n name: localeText('DDSAnnotator.toolbar.rectangle'),\n shortcut: EDITOR_SHORTCUTS[EShortcuts.RectangleTool],\n icon: ,\n aiIcon: ,\n aiModels: TOOL_MODELS_MAP[EBasicToolItem.Rectangle],\n description: localeText('DDSAnnotator.toolbar.rectangle.desc'),\n },\n {\n key: EBasicToolItem.Polygon,\n name: localeText('DDSAnnotator.toolbar.polygon'),\n shortcut: EDITOR_SHORTCUTS[EShortcuts.PolygonTool],\n icon: ,\n aiIcon: ,\n description: localeText('DDSAnnotator.toolbar.polygon.desc'),\n },\n {\n key: EBasicToolItem.Skeleton,\n name: localeText('DDSAnnotator.toolbar.skeleton'),\n shortcut: EDITOR_SHORTCUTS[EShortcuts.SkeletonTool],\n icon: ,\n aiIcon: ,\n description: localeText('DDSAnnotator.toolbar.skeleton.desc'),\n },\n {\n key: EBasicToolItem.Mask,\n name: localeText('DDSAnnotator.toolbar.mask'),\n shortcut: EDITOR_SHORTCUTS[EShortcuts.MaskTool],\n icon: ,\n aiIcon: ,\n description: localeText('DDSAnnotator.toolbar.mask.desc'),\n },\n ];\n if (limitToolTypes) {\n return typeTools.filter((item) => limitToolTypes.includes(item.key));\n }\n return typeTools;\n }, [limitToolTypes]);\n\n const smartTool: TToolItem = {\n key: EActionToolItem.SmartAnnotation,\n name: localeText('DDSAnnotator.toolbar.aiAnno'),\n shortcut: EDITOR_SHORTCUTS[EShortcuts.SmartAnnotation],\n icon: (\n \n ),\n description: localeText('DDSAnnotator.toolbar.aiAnno.desc'),\n };\n\n const actionTools = [\n ...(!hideUndoRedoActions\n ? [\n {\n key: EActionToolItem.Undo,\n name: localeText('DDSAnnotator.toolbar.undo'),\n icon: ,\n shortcut: EDITOR_SHORTCUTS[EShortcuts.Undo],\n handler: undo,\n description: localeText('DDSAnnotator.toolbar.undo.desc'),\n },\n {\n key: EActionToolItem.Redo,\n name: localeText('DDSAnnotator.toolbar.redo'),\n icon: ,\n shortcut: EDITOR_SHORTCUTS[EShortcuts.Redo],\n handler: redo,\n description: localeText('DDSAnnotator.toolbar.redo.desc'),\n },\n ]\n : []),\n ...(supportRepeat\n ? [\n {\n key: EActionToolItem.RepeatPrevious,\n name: localeText('DDSAnnotator.toolbar.repeatPrevious'),\n icon: (\n \n ),\n shortcut: EDITOR_SHORTCUTS[EShortcuts.RepeatPrevious],\n handler: repeatPrevious,\n description: localeText(\n 'DDSAnnotator.toolbar.repeatPrevious.desc',\n ),\n },\n ]\n : []),\n {\n key: EActionToolItem.DeleteAll,\n name: localeText('DDSAnnotator.toolbar.deleteAll'),\n icon: ,\n shortcut: EDITOR_SHORTCUTS[EShortcuts.DeleteAll],\n handler: deleteAll,\n description: localeText('DDSAnnotator.toolbar.deleteAll.desc'),\n },\n ];\n\n const basicToolKeys: string[] = useMemo(() => {\n return [...dragTools, ...annoTools].reduce((keys: string[], tool) => {\n return keys.concat(tool.shortcut.shortcut);\n }, []);\n }, [dragTools, annoTools]);\n\n /** Active Basic Tool */\n useKeyPress(\n basicToolKeys,\n (event) => {\n const activeTool = [...dragTools, ...annoTools].find((tool) => {\n return tool.shortcut.shortcut.includes(event.key);\n });\n if (activeTool) {\n onChangeSelectedTool(activeTool.key);\n }\n },\n {\n exactMatch: true,\n },\n );\n\n /** Active AI Annotation */\n useKeyPress(\n EDITOR_SHORTCUTS[EShortcuts.SmartAnnotation].shortcut,\n () => {\n if (selectedTool !== EBasicToolItem.Drag) {\n onActiveAIAnnotation(!isAIAnnotationActive);\n }\n },\n {\n exactMatch: true,\n },\n );\n\n /** Undo */\n useKeyPress(\n EDITOR_SHORTCUTS[EShortcuts.Undo].shortcut,\n (event: KeyboardEvent) => {\n event.preventDefault();\n undo();\n },\n {\n exactMatch: true,\n },\n );\n\n /** Redo */\n useKeyPress(\n EDITOR_SHORTCUTS[EShortcuts.Redo].shortcut,\n (event: KeyboardEvent) => {\n event.preventDefault();\n redo();\n },\n {\n exactMatch: true,\n },\n );\n\n /** Repeat Previous */\n useKeyPress(\n EDITOR_SHORTCUTS[EShortcuts.RepeatPrevious].shortcut,\n (event: KeyboardEvent) => {\n event.preventDefault();\n repeatPrevious?.();\n },\n {\n exactMatch: true,\n },\n );\n\n /** Delete All */\n useKeyPress(\n EDITOR_SHORTCUTS[EShortcuts.DeleteAll].shortcut,\n (event: KeyboardEvent) => {\n event.preventDefault();\n deleteAll();\n },\n {\n exactMatch: true,\n },\n );\n\n const disabledZoomIn = scale >= MAX_SCALE;\n const disabledZoomOut = scale <= MIN_SCALE;\n\n useKeyPress(EDITOR_SHORTCUTS[EShortcuts.ZoomIn].shortcut, () => {\n if (disabledZoomIn) return;\n onZoomIn();\n });\n\n useKeyPress(EDITOR_SHORTCUTS[EShortcuts.ZoomOut].shortcut, () => {\n if (disabledZoomOut) return;\n onZoomOut();\n });\n\n useKeyPress(EDITOR_SHORTCUTS[EShortcuts.Reset].shortcut, () => {\n onZoomReset();\n });\n\n const popoverContent = (\n item: TToolItem,\n ) => {\n const icon = getIconFromShortcut(item.shortcut.shortcut, false);\n return (\n
\n
\n {item.name}\n {icon}\n
\n
\n
{item.description}
\n
\n );\n };\n\n return (\n {\n event.stopPropagation();\n }}\n >\n {!onlySupportZoom ? (\n
\n {dragTools.map((item) => (\n \n onChangeSelectedTool(item.key)}\n />\n \n ))}\n {annoTools.map((item) => (\n \n \n onChangeSelectedTool(item.key)}\n />\n \n {selectedTool === item.key && !manualMode && (\n \n \n onActiveAIAnnotation(!isAIAnnotationActive)\n }\n />\n \n )}\n
\n ))}\n
\n {actionTools.map((item) => (\n \n \n \n ))}\n \n ) : (\n
\n )}\n
\n }\n />\n }\n onClick={onZoomOut}\n />\n
\n {Math.floor(scale * 100)}%\n
\n }\n onClick={onZoomIn}\n />\n
\n
\n );\n },\n);\n\nexport default SliderToolBar;\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgMouseLeft = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ width: 32, height: 32, viewBox: \"0 0 34 34\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props), /* @__PURE__ */ React.createElement(\"path\", { d: \"M23.737 13.118v7.764a6.713 6.713 0 0 1-6.706 6.707 6.713 6.713 0 0 1-6.705-6.707v-7.764a6.713 6.713 0 0 1 6.705-6.707 6.713 6.713 0 0 1 6.706 6.707Zm-.693 3.662H11.018v4.102a6.02 6.02 0 0 0 6.013 6.017 6.02 6.02 0 0 0 6.013-6.017V16.78Zm0-3.662a6.02 6.02 0 0 0-5.698-6.008v8.977h5.698v-2.969Z\", fill: \"#fff\" }));\nexport { SvgMouseLeft as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzNCAzNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMjMuNzM3IDEzLjExOHY3Ljc2NGE2LjcxMyA2LjcxMyAwIDAgMS02LjcwNiA2LjcwNyA2LjcxMyA2LjcxMyAwIDAgMS02LjcwNS02LjcwN3YtNy43NjRhNi43MTMgNi43MTMgMCAwIDEgNi43MDUtNi43MDcgNi43MTMgNi43MTMgMCAwIDEgNi43MDYgNi43MDdabS0uNjkzIDMuNjYySDExLjAxOHY0LjEwMmE2LjAyIDYuMDIgMCAwIDAgNi4wMTMgNi4wMTcgNi4wMiA2LjAyIDAgMCAwIDYuMDEzLTYuMDE3VjE2Ljc4Wm0wLTMuNjYyYTYuMDIgNi4wMiAwIDAgMC01LjY5OC02LjAwOHY4Ljk3N2g1LjY5OHYtMi45NjlaIiBmaWxsPSIjZmZmIi8+PC9zdmc+\";\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgMouseRight = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ width: 32, height: 32, viewBox: \"0 0 34 34\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props), /* @__PURE__ */ React.createElement(\"path\", { d: \"M10.263 13.118v7.764a6.713 6.713 0 0 0 6.706 6.707 6.713 6.713 0 0 0 6.705-6.707v-7.764a6.713 6.713 0 0 0-6.705-6.707 6.713 6.713 0 0 0-6.706 6.707Zm.693 3.662h12.026v4.102a6.02 6.02 0 0 1-6.013 6.017 6.02 6.02 0 0 1-6.013-6.017V16.78Zm0-3.662a6.02 6.02 0 0 1 5.698-6.008v8.977h-5.698v-2.969Z\", fill: \"#fff\" }));\nexport { SvgMouseRight as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzNCAzNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTAuMjYzIDEzLjExOHY3Ljc2NGE2LjcxMyA2LjcxMyAwIDAgMCA2LjcwNiA2LjcwNyA2LjcxMyA2LjcxMyAwIDAgMCA2LjcwNS02LjcwN3YtNy43NjRhNi43MTMgNi43MTMgMCAwIDAtNi43MDUtNi43MDcgNi43MTMgNi43MTMgMCAwIDAtNi43MDYgNi43MDdabS42OTMgMy42NjJoMTIuMDI2djQuMTAyYTYuMDIgNi4wMiAwIDAgMS02LjAxMyA2LjAxNyA2LjAyIDYuMDIgMCAwIDEtNi4wMTMtNi4wMTdWMTYuNzhabTAtMy42NjJhNi4wMiA2LjAyIDAgMCAxIDUuNjk4LTYuMDA4djguOTc3aC01LjY5OHYtMi45NjlaIiBmaWxsPSIjZmZmIi8+PC9zdmc+\";\n","import { CloseOutlined } from '@ant-design/icons';\nimport Icon from '@ant-design/icons/lib/components/Icon';\nimport { Button, Card, Input, Slider, Space } from 'antd';\nimport classNames from 'classnames';\nimport { useLocale } from 'dds-utils/locale';\nimport { useMemo, memo } from 'react';\nimport { useImmer } from 'use-immer';\n\nimport { ReactComponent as DragToolIcon } from '../../assets/drag.svg';\nimport { ReactComponent as MouseLeftIcon } from '../../assets/mouse-left.svg';\nimport { ReactComponent as MouseRightIcon } from '../../assets/mouse-right.svg';\nimport {\n OBJECT_ICON,\n EBasicToolItem,\n EObjectType,\n EDITOR_TOOL_ICON,\n EActionToolItem,\n ESubToolItem,\n EToolType,\n EnumModelType,\n} from '../../constants';\nimport { OnAiAnnotationFunc } from '../../hooks/useAiModels';\nimport { FloatWrapper } from '../FloatWrapper';\n\nimport './index.less';\n\ninterface IProps {\n selectedTool: EToolType;\n selectedSubTool: ESubToolItem;\n selectedModel?: EnumModelType;\n AIAnnotation: boolean;\n hasPolygonPreds: boolean;\n isBatchEditing: boolean;\n isCtrlPressed: boolean;\n naturalSize: ISize;\n aiLabels?: string;\n limitConf: number;\n setAiLabels: (labels?: string) => void;\n forceChangeTool: (tool: EBasicToolItem, subtool: ESubToolItem) => void;\n onExitAIAnnotation: () => void;\n onAiAnnotation: OnAiAnnotationFunc;\n onChangeConfidenceRange: (range: [number, number]) => void;\n onChangeLimitConf: (value: number) => void;\n onAcceptValidObjects: () => void;\n onCancelBatchEdit: () => void;\n}\n\nconst SmartAnnotationControl: React.FC = memo(\n ({\n selectedTool,\n selectedSubTool,\n selectedModel,\n AIAnnotation,\n isBatchEditing,\n isCtrlPressed,\n aiLabels,\n naturalSize,\n limitConf,\n setAiLabels,\n onExitAIAnnotation,\n onAiAnnotation,\n onChangeConfidenceRange,\n onChangeLimitConf,\n onAcceptValidObjects,\n onCancelBatchEdit,\n forceChangeTool,\n }) => {\n const { localeText } = useLocale();\n\n /** Parameters for requesting segmemt everything API */\n const [samParams, setSamParams] = useImmer({\n predIouThresh: 0.89,\n pointsPerSide: 32,\n minMaskRegionArea: 300,\n });\n\n const titleMap = {\n [EBasicToolItem.Drag]: {\n name: localeText('DDSAnnotator.shortcuts.tools.drag'),\n icon: DragToolIcon,\n },\n [EBasicToolItem.Rectangle]: {\n name:\n selectedModel === EnumModelType.Detection\n ? localeText('DDSAnnotator.smart.detection.name')\n : localeText('DDSAnnotator.smart.ivp.name'),\n icon: OBJECT_ICON[EObjectType.Rectangle],\n },\n [EBasicToolItem.Polygon]: {\n name: localeText('DDSAnnotator.smart.segmentation.name'),\n icon: OBJECT_ICON[EObjectType.Polygon],\n },\n [EBasicToolItem.Skeleton]: {\n name: localeText('DDSAnnotator.smart.pose.name'),\n icon: OBJECT_ICON[EObjectType.Skeleton],\n },\n [EBasicToolItem.Mask]: {\n name:\n selectedModel === EnumModelType.SegmentByMask\n ? localeText('DDSAnnotator.smart.isg.name')\n : selectedModel === EnumModelType.SegmentEverything\n ? localeText('DDSAnnotator.smart.sam.name')\n : localeText('DDSAnnotator.smart.ivp.name'),\n icon: OBJECT_ICON[EObjectType.Mask],\n },\n };\n\n const mouseEventHandler = (event: React.MouseEvent) => {\n if (\n event.type === 'mouseup' &&\n (selectedTool === EBasicToolItem.Skeleton ||\n (selectedTool === EBasicToolItem.Mask &&\n selectedSubTool === ESubToolItem.AutoSegmentEverything) ||\n selectedTool === EBasicToolItem.Rectangle)\n ) {\n event.preventDefault();\n return;\n } else {\n event.stopPropagation();\n }\n };\n\n const isVisible = useMemo(() => {\n if (!AIAnnotation || selectedTool === EBasicToolItem.Drag) return false;\n\n if (selectedTool === EBasicToolItem.Mask) {\n if (selectedModel === EnumModelType.SegmentEverything) {\n return selectedSubTool === ESubToolItem.AutoSegmentEverything;\n } else if (selectedModel === EnumModelType.SegmentByMask) {\n return false;\n } else if (selectedModel === EnumModelType.IVP) {\n return isBatchEditing;\n }\n return false;\n }\n\n if (selectedTool === EBasicToolItem.Polygon) return false;\n\n if (selectedTool === EBasicToolItem.Rectangle) {\n if (selectedModel === EnumModelType.Detection) {\n return !(isBatchEditing && isCtrlPressed);\n } else if (selectedModel === EnumModelType.IVP) {\n return isBatchEditing;\n } else {\n return false;\n }\n }\n\n return true;\n }, [\n selectedTool,\n selectedSubTool,\n selectedModel,\n AIAnnotation,\n isBatchEditing,\n isCtrlPressed,\n ]);\n\n const aiDetectionTip = useMemo(() => {\n if (\n selectedTool === EBasicToolItem.Rectangle &&\n selectedModel === EnumModelType.Detection &&\n isBatchEditing &&\n isCtrlPressed\n ) {\n return [\n {\n text: localeText('DDSAnnotator.smart.tip.recover'),\n logo: ,\n },\n {\n text: localeText('DDSAnnotator.smart.tip.overlayobject'),\n logo: ,\n },\n ];\n }\n return [];\n }, [isBatchEditing, isCtrlPressed, selectedModel]);\n\n const imageArea = useMemo(() => {\n return naturalSize.width * naturalSize.height;\n }, [naturalSize]);\n\n return (\n \n {aiDetectionTip.length > 0 && (\n
\n {aiDetectionTip.map((item) => (\n
\n {item.text}\n {item.logo}\n
\n ))}\n
\n )}\n \n
\n \n
{titleMap[selectedTool].name}
\n
\n }\n shape=\"circle\"\n size=\"small\"\n onClick={() => {\n onExitAIAnnotation();\n forceChangeTool(selectedTool, ESubToolItem.PenAdd);\n }}\n >\n \n }\n >\n
\n {selectedTool === EBasicToolItem.Rectangle &&\n selectedModel === EnumModelType.Detection &&\n (isBatchEditing ? (\n
\n
\n
\n
\n {localeText('DDSAnnotator.smart.detection.confidence')}:\n
\n \n
\n
\n
\n {localeText('DDSAnnotator.smart.tip')}: \n {localeText('DDSAnnotator.smart.tip.ctrl')}\n
\n
\n \n {localeText('DDSAnnotator.smart.back')}\n \n \n
\n
\n ) : (\n
\n setAiLabels(e.target.value)}\n onKeyUp={(event) => event.stopPropagation()}\n onKeyDown={(event) => event.stopPropagation()}\n />\n onAiAnnotation({ aiLabels })}\n >\n {localeText('DDSAnnotator.smart.annotate')}\n \n
\n ))}\n {((selectedTool === EBasicToolItem.Rectangle &&\n selectedModel === EnumModelType.IVP) ||\n (selectedTool === EBasicToolItem.Mask &&\n selectedModel === EnumModelType.IVP)) && (\n
\n
\n {localeText('DDSAnnotator.smart.tip')}: \n {localeText('DDSAnnotator.smart.tip.visualPrompt')}\n
\n
\n \n {localeText('DDSAnnotator.smart.back')}\n \n \n
\n
\n )}\n {selectedTool === EBasicToolItem.Skeleton &&\n (isBatchEditing ? (\n <>\n
\n
\n
\n {localeText('DDSAnnotator.confidence')}\n
\n \n onChangeConfidenceRange([\n range[0] / 100,\n range[1] / 100,\n ])\n }\n tooltip={{\n formatter: (value?: number) => {\n return <>{`${value! / 100}`};\n },\n //@ts-ignore\n getPopupContainer: () =>\n document.getElementById('conf-slider'),\n }}\n />\n
\n
\n \n {localeText('DDSAnnotator.save')}\n \n \n ) : (\n <>\n {/*
\n
\n
\n {localeText('DDSAnnotator.smart.modelTyle')}\n
\n setAiLabels(value)}\n onSearch={(value) => setInputText(value)}\n onInputKeyDown={(e) => {\n if (e.code !== 'Enter') {\n e.stopPropagation();\n }\n }}\n // @ts-ignore\n getPopupContainer={() =>\n document.getElementById('smart-annotation-editor')\n }\n >\n {labelOptions}\n \n
\n
*/}\n onAiAnnotation({ aiLabels })}\n >\n {localeText('DDSAnnotator.smart.annotate')}\n \n \n ))}\n {selectedTool === EBasicToolItem.Mask &&\n selectedModel === EnumModelType.SegmentEverything &&\n selectedSubTool === ESubToolItem.AutoSegmentEverything && (\n <>\n \n
\n
\n {localeText('DDSAnnotator.smart.iouThres')}\n
\n \n setSamParams((s) => {\n s.predIouThresh = 1 - val;\n })\n }\n min={0}\n max={0.99}\n step={0.01}\n reverse\n tooltip={{\n formatter: (val) =>\n `${Math.floor((1 - val!) * 100)}%`,\n //@ts-ignore\n getPopupContainer: () =>\n document.getElementById('param-controls'),\n }}\n />\n
\n
\n
\n {localeText('DDSAnnotator.smart.minArea')}\n
\n \n setSamParams((s) => {\n s.minMaskRegionArea = val * imageArea;\n })\n }\n min={0.01}\n max={0.3}\n step={0.01}\n tooltip={{\n formatter: (val) => `${Math.ceil(val! * 100)}%`,\n //@ts-ignore\n getPopupContainer: () =>\n document.getElementById('param-controls'),\n }}\n />\n
\n
\n {isBatchEditing ? (\n \n \n onAiAnnotation({\n segmentEverythingParams: samParams,\n })\n }\n >\n {localeText('DDSAnnotator.smart.retry')}\n \n {\n onAcceptValidObjects();\n forceChangeTool(\n EBasicToolItem.Mask,\n ESubToolItem.AutoEdgeStitching,\n );\n }}\n >\n {localeText('DDSAnnotator.annotsEditor.finish')}\n \n \n ) : (\n \n onAiAnnotation({\n segmentEverythingParams: samParams,\n })\n }\n >\n {localeText('DDSAnnotator.smart.annotate')}\n \n )}\n \n )}\n \n \n
\n );\n },\n);\n\nexport default SmartAnnotationControl;\n","import { LeftOutlined, RightOutlined } from '@ant-design/icons';\nimport { useKeyPress } from 'ahooks';\nimport { Button, Tooltip } from 'antd';\nimport classNames from 'classnames';\nimport { useLocale } from 'dds-utils/locale';\nimport { memo, useState } from 'react';\n\nimport { EDITOR_SHORTCUTS, EShortcuts } from '../../constants/shortcuts';\nimport { AnnoItem } from '../../type';\n\nimport './index.less';\n\ninterface IProps {\n list: AnnoItem[];\n current: number;\n total: number;\n customText?: React.ReactElement;\n customDisableNext?: boolean;\n onPrev?: () => Promise;\n onNext?: () => Promise;\n}\n\nconst propsAreEqual = (prev: IProps, next: IProps): boolean => {\n return (\n prev.current === next.current &&\n prev.total === next.total &&\n prev.customText === next.customText &&\n prev.customDisableNext === next.customDisableNext\n );\n};\n\nexport const TopPagination: React.FC = memo(\n ({\n current,\n total,\n customText,\n customDisableNext,\n onPrev = () => Promise.resolve(),\n onNext = () => Promise.resolve(),\n }) => {\n const { localeText } = useLocale();\n\n const [loadingPred, setLoadingPred] = useState(false);\n const [loadingNext, setLoadingNext] = useState(false);\n\n const clickPrev = async () => {\n setLoadingPred(true);\n await onPrev();\n setLoadingPred(false);\n };\n\n const clickNext = async () => {\n setLoadingNext(true);\n await onNext();\n setLoadingNext(false);\n };\n\n const disablePrev = current <= 0;\n const disableNext = customDisableNext ?? current >= total - 1;\n\n useKeyPress(\n EDITOR_SHORTCUTS[EShortcuts.PreviousImage].shortcut,\n () => {\n if (disablePrev) return;\n clickPrev();\n },\n {\n exactMatch: true,\n },\n );\n\n useKeyPress(\n EDITOR_SHORTCUTS[EShortcuts.NextImage].shortcut,\n () => {\n if (disableNext) return;\n clickNext();\n },\n {\n exactMatch: true,\n },\n );\n\n return (\n
\n \n }\n loading={loadingPred}\n onClick={clickPrev}\n />\n \n {customText ? (\n customText\n ) : (\n
\n {current + 1} / {total}\n
\n )}\n \n }\n loading={loadingNext}\n onClick={clickNext}\n />\n \n
\n );\n },\n propsAreEqual,\n);\n","import { Modal } from 'antd';\nimport { ModalStaticFunctions } from 'antd/es/modal/confirm';\nimport { useLocale } from 'dds-utils/locale';\nimport { useCallback } from 'react';\nimport { Updater } from 'use-immer';\n\nimport {\n DrawData,\n AnnoItem,\n EditState,\n EditorMode,\n Category,\n VideoFramesData,\n} from '../type';\n\ninterface IProps {\n mode: EditorMode;\n currImageItem?: AnnoItem;\n modal: Omit;\n framesData?: VideoFramesData;\n drawData: DrawData;\n editState: EditState;\n setEditState: Updater;\n hadChangeRecord: boolean;\n categories: Category[];\n translateObject?: (object: any) => any;\n flagSaved?: () => void;\n onCancel?: () => void;\n onSave?: (id: string, labels: any[]) => Promise;\n onCommit?: (id: string, labels: any[]) => Promise;\n onReviewModify?: (\n id: string,\n labels: any[],\n frameIssues?: Record,\n ) => Promise;\n onReviewAccept?: (\n id: string,\n labels: any[],\n frameIssues?: Record,\n ) => Promise;\n onReviewReject?: (\n id: string,\n labels: any[],\n frameIssues?: Record,\n ) => Promise;\n classificationOptions?: Category[];\n}\n\nconst useActions = ({\n mode,\n currImageItem,\n modal,\n framesData,\n drawData: editorDrawData,\n editState,\n setEditState,\n hadChangeRecord,\n categories,\n translateObject,\n flagSaved,\n onCancel,\n onSave,\n onCommit,\n onReviewModify,\n onReviewAccept,\n onReviewReject,\n classificationOptions,\n}: IProps) => {\n const { localeText } = useLocale();\n const { isRequiring } = editState;\n const setIsRequiring = (requiring: boolean) =>\n setEditState((s) => {\n s.isRequiring = requiring;\n });\n\n const translateDrawData = useCallback(\n (drawData: DrawData): [string, any[], any] => {\n let objectList = [];\n if (framesData) {\n objectList = framesData.objects.map((objs) => {\n const availObjs: any = {};\n objs.forEach((obj, frameIndex) => {\n if (obj && !obj.frameEmpty) {\n // TODO: adapt for old format\n const { labelId, attributes, labelValue } =\n translateObject?.(obj);\n availObjs.labelId = labelId;\n availObjs.attributes = attributes;\n if (!availObjs.labelValue) availObjs.labelValue = {};\n availObjs.labelValue[String(frameIndex)] = labelValue;\n }\n });\n return availObjs;\n });\n } else {\n objectList = drawData.objectList.map((obj) => translateObject?.(obj));\n }\n return [\n framesData?.id || currImageItem?.id || '',\n [\n ...drawData.classifications.map((item) => {\n const label = categories.find((c) => c.id === item.labelId);\n return {\n ...item,\n attributes:\n item.attributes || label?.attributes?.map(() => null) || [],\n };\n }),\n ...objectList,\n ],\n framesData ? { [framesData.activeIndex]: {} } : undefined,\n ];\n },\n [currImageItem, translateObject, framesData],\n );\n\n const judgeLimitCommit = (labels: any[]) => {\n const errorList: string[] = [];\n // check classification\n classificationOptions?.forEach((item, idx) => {\n const value = labels.find((label) => label.labelId === item.id);\n if (!value || [undefined, null, ''].includes(value.labelValue)) {\n errorList.push(\n localeText('DDSAnnotator.save.check.classification', {\n idx: idx + 1,\n }),\n );\n }\n });\n // check label\n labels.forEach((item, idx) => {\n const label = categories.find((label) => label.id === item.labelId);\n if (\n label?.attributes?.find(\n (attribute, index) =>\n attribute.required &&\n [undefined, null, ''].includes(item.attributes?.[index]),\n )\n ) {\n errorList.push(\n localeText('DDSAnnotator.save.check.label', {\n idx: idx + 1,\n labelName: label.labelName,\n }),\n );\n }\n });\n\n if (errorList.length > 0) {\n Modal.warning({\n width: 480,\n title: localeText('DDSAnnotator.save.check.error'),\n content: (\n
\n {errorList.map((item, index) => (\n \n {item}\n
\n
\n ))}\n {localeText('DDSAnnotator.save.check.tip')}\n
\n ),\n });\n return true;\n }\n\n return false;\n };\n\n const onSaveAnnotations = async () => {\n if (isRequiring || !onSave) return;\n\n const [id, labels] = translateDrawData(editorDrawData);\n console.log('>>> save', id, labels);\n if (judgeLimitCommit(labels)) return;\n\n setIsRequiring(true);\n try {\n await onSave(id, labels);\n flagSaved?.();\n } catch (error) {\n console.error(error);\n }\n setIsRequiring(false);\n };\n\n const onCommitAnnotations = async () => {\n if (isRequiring || !onCommit) return;\n\n const [id, labels] = translateDrawData(editorDrawData);\n if (judgeLimitCommit(labels)) return;\n\n setIsRequiring(true);\n try {\n await onCommit(id, labels);\n } catch (error) {\n console.error(error);\n }\n setIsRequiring(false);\n };\n\n const onRejectAnnotations = async () => {\n if (mode === EditorMode.Review && onReviewReject) {\n onReviewReject(...translateDrawData(editorDrawData));\n }\n };\n\n const onAcceptAnnotations = async () => {\n if (mode === EditorMode.Review && onReviewAccept) {\n onReviewAccept(...translateDrawData(editorDrawData));\n }\n };\n\n const onModifyAnnotations = async () => {\n if (mode === EditorMode.Review && onReviewModify) {\n onReviewModify(...translateDrawData(editorDrawData));\n }\n };\n\n const onCancelAnnotations = async () => {\n if (mode === EditorMode.Edit && hadChangeRecord) {\n modal.confirm({\n getContainer: () => document.body,\n content: localeText('DDSAnnotator.confirmLeave.content'),\n cancelText: localeText('DDSAnnotator.confirmLeave.cancel'),\n okText: localeText('DDSAnnotator.confirmLeave.ok'),\n okButtonProps: { danger: true },\n onOk: () => {\n if (onCancel) onCancel();\n },\n });\n return;\n }\n if (onCancel) onCancel();\n };\n\n return {\n onSaveAnnotations,\n onCommitAnnotations,\n onCancelAnnotations,\n onRejectAnnotations,\n onAcceptAnnotations,\n onModifyAnnotations,\n };\n};\n\nexport default useActions;\n","/* eslint-disable @typescript-eslint/no-namespace */\nimport { request } from '@umijs/max';\nimport { Modal } from 'antd';\nimport { globalLocaleText } from 'dds-utils/locale';\n\nimport { EnumModelType, EnumTaskStatus } from '../constants';\nimport { IMask, ReqPromptItem } from '../type';\n\nexport namespace NsApiAnnotator {\n export type ModelParam =\n T extends EnumModelType.Detection\n ? FetchAIDetectionReq\n : T extends EnumModelType.IVP\n ? FetchIVPReq\n : T extends EnumModelType.SegmentByPolygon\n ? FetchAIPolygonSegmentReq\n : T extends EnumModelType.SegmentByMask\n ? FetchAIMaskSegmentReq\n : T extends EnumModelType.MaskEdgeStitching\n ? FetchEdgeStitchingReq\n : T extends EnumModelType.SegmentEverything\n ? FetchSegmentEverythingReq\n : T extends EnumModelType.Pose\n ? FetchAIPoseEstimationReq\n : never;\n\n export type ModelResult =\n T extends EnumModelType.Detection\n ? FetchAIDetectionRsp\n : T extends EnumModelType.IVP\n ? FetchIVPRsp\n : T extends EnumModelType.SegmentByPolygon\n ? FetchAIPolygonSegmentRsp\n : T extends EnumModelType.SegmentByMask\n ? FetchAIMaskSegmentRsp\n : T extends EnumModelType.MaskEdgeStitching\n ? FetchEdgeStitchingRsp\n : T extends EnumModelType.SegmentEverything\n ? FetchSegmentEverythingRsp\n : T extends EnumModelType.Pose\n ? FetchAIPoseEstimationRsp\n : never;\n\n export interface CommonReqParams {\n image?: string;\n sessionId?: string;\n }\n\n export interface FetchAIDetectionReq extends CommonReqParams {\n prompts: ReqPromptItem[];\n }\n\n export interface FetchIVPReq extends CommonReqParams {\n promptImage?: string;\n inferImage?: string;\n labelTypes: string[]; // [\"bbox\", \"mask\"]\n prompts: ReqPromptItem[];\n }\n\n export interface FetchAIPolygonSegmentReq extends CommonReqParams {\n density: number; // (0, 1) default 0.2\n prompts: ReqPromptItem[];\n }\n\n export interface FetchAIMaskSegmentReq extends CommonReqParams {\n prompts: ReqPromptItem[];\n }\n\n export interface FetchEdgeStitchingReq extends CommonReqParams {\n masks: IMask[];\n prompts: ReqPromptItem[];\n }\n\n export interface FetchSegmentEverythingReq extends CommonReqParams {\n pointsPerSide?: number; // default 32\n predIouThresh?: number; // default 0.89\n minMaskRegionArea?: number; // default 300\n }\n\n export interface FetchAIPoseEstimationReq extends CommonReqParams {\n objects?: Array<{\n bbox: [number, number, number, number];\n keypoints: number[]; // [x, y, visible, conf, ...]\n }>;\n }\n\n export interface FetchAIDetectionRsp {\n objects: Array<{\n bbox: [number, number, number, number];\n score: number;\n }>;\n suggestThreshold: number;\n }\n\n export interface FetchIVPRsp {\n objects: Array<{\n bbox?: number[];\n mask?: IMask;\n maskUrl?: string;\n score: number;\n }>;\n }\n\n export interface FetchAIPolygonSegmentRsp {\n polygons: number[][]; // [[x1, y1, x2, y2, ...], [xn, yn, xn+1, yn+1, ...], ....]\n }\n\n export interface FetchAIMaskSegmentRsp {\n mask: IMask;\n }\n export interface FetchEdgeStitchingRsp {\n masks: IMask[];\n }\n export interface FetchAIPoseEstimationRsp {\n objects: Array<{\n bbox: [number, number, number, number];\n keypoints: number[]; // [x, y, visible, conf, ...]\n score: number;\n }>;\n }\n\n export interface FetchSegmentEverythingRsp {\n masks: IMask[];\n }\n\n export interface fetchTaskUuid {\n taskUuid: string;\n }\n\n export interface FetchModelRsp {\n error: string;\n status: EnumTaskStatus;\n uuid: string;\n sessionId: string;\n result: ModelResult;\n }\n}\n\nasync function fetchTaskUuid(\n type: EnumModelType,\n params: any,\n options?: { [key: string]: any },\n) {\n const postUrl = process.env.MODEL_API_PATH\n ? `${process.env.MODEL_API_PATH}/tasks/${type}`\n : `/v1/algos/${type}`;\n return request(postUrl, {\n method: 'POST',\n data: {\n ...params,\n },\n ...(options || {\n hideCodeErrorMsg: true,\n }),\n });\n}\n\nfunction fetchTaskResults(\n taskUuid: string,\n options?: { [key: string]: any },\n) {\n const getUrl = process.env.MODEL_API_PATH\n ? `${process.env.MODEL_API_PATH}/task_statuses/${taskUuid}`\n : `/v1/algos/tasks/${taskUuid}`;\n return request>(getUrl, {\n method: 'GET',\n ...(options || {}),\n });\n}\n\nexport async function pollTaskResults(\n type: EnumModelType,\n taskUuid: string,\n maxAttempts = 5000,\n interval = 1000,\n) {\n let attempts = 0;\n\n while (attempts < maxAttempts) {\n const rsp = await fetchTaskResults(taskUuid);\n\n if (rsp.status === EnumTaskStatus.Success) {\n return rsp;\n }\n\n if (rsp.status === EnumTaskStatus.Failed) {\n throw new Error(rsp.error);\n }\n\n await new Promise((resolve) => {\n setTimeout(resolve, interval);\n });\n attempts++;\n }\n\n throw new Error('Max attempts exceeded');\n}\n\nexport async function fetchModelResults(\n type: EnumModelType,\n params: NsApiAnnotator.ModelParam,\n): Promise> {\n try {\n const { taskUuid } = await fetchTaskUuid(type, params);\n const result = await pollTaskResults(type, taskUuid);\n return result;\n } catch (error: any) {\n // status 429 indicates warning for rate limit of AI annotate request\n if (error.response.status === 429) {\n Modal.info({\n title: globalLocaleText('DDSAnnotator.smart.rateLimit.title'),\n centered: true,\n content: globalLocaleText('DDSAnnotator.smart.rateLimit.content'),\n okText: globalLocaleText('DDSAnnotator.smart.rateLimit.okText'),\n onOk: () => {},\n });\n }\n throw new Error(error.message);\n }\n}\n","/**\n * Convert image to base64.\n * @param imgUrl\n * @returns\n */\nexport const getImageBase64 = async (imgUrl: string): Promise => {\n return new Promise((resolve, reject) => {\n window.URL = window.URL || window.webkitURL;\n\n const xhr = new XMLHttpRequest();\n xhr.open('get', imgUrl, true);\n xhr.responseType = 'blob';\n xhr.setRequestHeader('If-Modified-Since', '0');\n xhr.send();\n xhr.onload = function () {\n if (this.status === 200) {\n const blob = this.response;\n const oFileReader = new FileReader();\n oFileReader.onloadend = function (e) {\n const base64 = e.target?.result;\n resolve(base64 as string);\n };\n oFileReader.onerror = function (e) {\n reject(e);\n };\n oFileReader.readAsDataURL(blob);\n }\n };\n xhr.onerror = function (e) {\n reject(e);\n };\n });\n};\n\nexport const isBase64 = (str: string) => {\n const base64Regex = /^data:image\\/(png|jpe?g|gif|svg|webp);base64,/i;\n return base64Regex.test(str);\n};\n\nexport const isBlobUrl = (str: string) => {\n const blobUrlRegex = /^blob:/i;\n return blobUrlRegex.test(str);\n};\n\nexport const isHttpsUrl = (str: string) => {\n const httpsRegex = /^https?:\\/\\//i;\n return httpsRegex.test(str);\n};\n\nexport const getServerAddressableUrl = async (url: string) => {\n if (isBlobUrl(url)) {\n return await getImageBase64(url);\n }\n return url;\n};\n\nexport const getImgBase64ByBlob = (blobUrl: Blob) => {\n return new Promise((resolve, reject) => {\n const fileReader = new FileReader();\n fileReader.onload = (e) => {\n resolve(e.target?.result);\n };\n fileReader.readAsDataURL(blobUrl);\n fileReader.onerror = (e) => {\n reject(e);\n };\n });\n};\n","import { useModel } from '@umijs/max';\nimport { message } from 'antd';\nimport { useLocale } from 'dds-utils/locale';\nimport { useCallback } from 'react';\nimport { Updater } from 'use-immer';\n\nimport {\n BODY_TEMPLATE,\n EBasicToolTypeMap,\n EnumModelType,\n EObjectType,\n ESubToolItem,\n} from '../constants';\nimport { NsApiAnnotator, fetchModelResults } from '../sevices';\nimport { rleToCanvas } from '../tools/useMask';\nimport {\n DrawData,\n AnnoItem,\n EditState,\n IAnnotationObject,\n PromptItem,\n EObjectStatus,\n EPromptType,\n ReqPromptItem,\n IMask,\n} from '../type';\nimport { getServerAddressableUrl } from '../utils/base64';\nimport {\n translateRectToAbsBbox,\n getCanvasPoint,\n getNaturalPoint,\n translateRectZoom,\n translateAbsBBoxToRect,\n translatePointsToRect,\n translateRectToPointsArray,\n newTranslatePointsToPointObjs,\n newTranslatePointObjsToPointAttrs,\n} from '../utils/compute';\n\ninterface IProps {\n currImageItem?: AnnoItem;\n drawData: DrawData;\n setDrawData: Updater;\n setDrawDataWithHistory: Updater;\n editState: EditState;\n setEditState: Updater;\n naturalSize: ISize;\n clientSize: ISize;\n getAnnotColor: (category: string, forceColorByCategory?: boolean) => string;\n}\n\nexport type OnAiAnnotationFunc = ({\n type,\n drawData,\n aiLabels,\n bbox,\n promptsQueue,\n segmentationClicks,\n segmentEverythingParams,\n}: {\n type?: EObjectType;\n drawData?: DrawData;\n aiLabels?: string;\n bbox?: IBoundingBox;\n promptsQueue?: PromptItem[];\n segmentationClicks?: {\n point: IPoint;\n isPositive: boolean;\n }[];\n segmentEverythingParams?: NsApiAnnotator.FetchSegmentEverythingReq;\n}) => Promise;\n\nconst useAiModels = ({\n currImageItem,\n drawData: editorDrawData,\n setDrawData,\n setDrawDataWithHistory,\n editState,\n setEditState,\n naturalSize,\n clientSize,\n getAnnotColor,\n}: IProps) => {\n const { localeText } = useLocale();\n const { setLoading } = useModel('global');\n\n const fetchCommonReqParams = async (\n drawData: DrawData,\n reqParams: T,\n ): Promise => {\n if (drawData.prompt.sessionId) {\n Object.assign(reqParams, { sessionId: drawData.prompt.sessionId });\n } else if (currImageItem) {\n Object.assign(reqParams, {\n image: await getServerAddressableUrl(currImageItem.url),\n });\n }\n return reqParams;\n };\n\n const convertPromptFormat = (prompt: PromptItem[]): ReqPromptItem[] => {\n const newPromptArr = prompt.map((item) => {\n const { type, isPositive, point, rect, stroke, radius, polygons } = item;\n\n const newItem = { type, isPositive };\n\n if (rect) {\n const { xmax, xmin, ymax, ymin } = translateRectToAbsBbox(rect);\n const topleftPoint = getNaturalPoint(\n [xmin, ymin],\n naturalSize,\n clientSize,\n );\n const bottomRightPoint = getNaturalPoint(\n [xmax, ymax],\n naturalSize,\n clientSize,\n );\n Object.assign(newItem, {\n rect: [\n topleftPoint.x,\n topleftPoint.y,\n bottomRightPoint.x,\n bottomRightPoint.y,\n ],\n });\n }\n\n if (point) {\n const naturalPoint = getNaturalPoint(\n [point.x, point.y],\n naturalSize,\n clientSize,\n );\n Object.assign(newItem, {\n point: [naturalPoint.x, naturalPoint.y],\n });\n }\n\n if (stroke) {\n const points = stroke.reduce((acc: number[], point: IPoint) => {\n const { x, y } = point;\n const naturalPoint = getNaturalPoint([x, y], naturalSize, clientSize);\n return acc.concat([naturalPoint.x, naturalPoint.y]);\n }, []);\n Object.assign(newItem, {\n stroke: points,\n radius,\n });\n }\n\n if (polygons) {\n const transformedPolygons = polygons.map((polygon) => {\n const res = [];\n for (let i = 0; i < polygon.length; i += 2) {\n const transformedPoint = getNaturalPoint(\n [polygon[i], polygon[i + 1]],\n naturalSize,\n clientSize,\n );\n res.push(transformedPoint.x, transformedPoint.y);\n }\n return res;\n });\n Object.assign(newItem, {\n polygons: transformedPolygons,\n });\n }\n\n return newItem;\n });\n\n return newPromptArr;\n };\n\n const requestAiDetection = async (drawData: DrawData, aiLabels: string) => {\n if (!aiLabels) {\n message.warning(localeText('DDSAnnotator.smart.msg.labelRequired'));\n return;\n }\n\n const reqParams = await fetchCommonReqParams(drawData, {\n prompts: [\n {\n type: EPromptType.Text,\n text: aiLabels,\n },\n ],\n });\n\n const { result, sessionId } =\n await fetchModelResults(\n EnumModelType.Detection,\n reqParams,\n );\n\n if (result) {\n const { objects, suggestThreshold } = result;\n const limitConf = suggestThreshold || 0;\n const maxScore = objects.reduce(\n (max, item) => (item.score > max ? item.score : max),\n objects[0]?.score || 0,\n );\n const newObjects: IAnnotationObject[] = objects\n .map((item) => {\n // mouse.elementW is not necessarily identical to the size during initialization transformation\n const rect = {\n ...translatePointsToRect(item.bbox, naturalSize, clientSize),\n };\n const conf = item.score / maxScore;\n return {\n rect: { ...rect, visible: true },\n labelId: editState.latestLabelId,\n type: EObjectType.Rectangle,\n hidden: false,\n status:\n conf >= limitConf\n ? EObjectStatus.Checked\n : EObjectStatus.Unchecked,\n conf,\n color: getAnnotColor(editState.latestLabelId, true),\n };\n })\n .reverse();\n setDrawDataWithHistory((s) => {\n s.isBatchEditing = true;\n s.limitConf = limitConf;\n const commitedObjects = s.objectList.filter(\n (obj) => obj?.status === EObjectStatus.Commited,\n );\n s.objectList = [...commitedObjects, ...newObjects];\n if (s.creatingObject && s.objectList[s.activeObjectIndex]) {\n s.creatingObject = { ...s.objectList[s.activeObjectIndex] };\n }\n s.prompt.sessionId = sessionId;\n });\n return true;\n }\n };\n\n const requestIvpDetection = async (\n drawData: DrawData,\n promptsQueue?: PromptItem[],\n ) => {\n if (!currImageItem || !promptsQueue) return;\n\n const reqParams = {\n prompts: convertPromptFormat(promptsQueue || []),\n labelTypes: ['bbox'],\n };\n if (drawData.prompt.sessionId) {\n Object.assign(reqParams, { sessionId: drawData.prompt.sessionId });\n } else {\n const url = await getServerAddressableUrl(currImageItem.url);\n Object.assign(reqParams, {\n promptImage: url,\n inferImage: url,\n });\n }\n\n const { result, sessionId } = await fetchModelResults(\n EnumModelType.IVP,\n reqParams,\n );\n\n if (result) {\n const { objects } = result;\n const limitConf = 0.3;\n const newObjects: IAnnotationObject[] = objects\n .filter((item) => {\n return item.bbox;\n })\n .map((item) => {\n const [xmin, ymin, xmax, ymax] = item.bbox!;\n const rect = translateRectZoom(\n translateAbsBBoxToRect({ xmin, ymin, xmax, ymax }),\n naturalSize,\n clientSize,\n );\n return {\n rect: { ...rect, visible: true },\n labelId: editState.latestLabelId,\n type: EObjectType.Rectangle,\n hidden: false,\n status:\n item.score >= limitConf\n ? EObjectStatus.Checked\n : EObjectStatus.Unchecked,\n conf: item.score,\n color: getAnnotColor(editState.latestLabelId, true),\n };\n })\n .reverse();\n\n setDrawDataWithHistory((s) => {\n s.isBatchEditing = true;\n s.limitConf = limitConf;\n const commitedObjects = s.objectList.filter(\n (obj) => obj.status === EObjectStatus.Commited,\n );\n s.objectList = [...commitedObjects, ...newObjects];\n if (s.creatingObject && s.objectList[s.activeObjectIndex]) {\n s.creatingObject = { ...s.objectList[s.activeObjectIndex] };\n }\n s.prompt.promptsQueue = promptsQueue;\n s.prompt.sessionId = sessionId;\n s.prompt.creatingPrompt = undefined;\n });\n return true;\n }\n };\n\n const requestIvpMask = async (\n drawData: DrawData,\n promptsQueue?: PromptItem[],\n ) => {\n if (!currImageItem || !promptsQueue) return;\n\n const reqParams = {\n prompts: convertPromptFormat(promptsQueue || []),\n labelTypes: ['mask'],\n };\n if (drawData.prompt.sessionId) {\n Object.assign(reqParams, { sessionId: drawData.prompt.sessionId });\n } else {\n const url = await getServerAddressableUrl(currImageItem.url);\n Object.assign(reqParams, {\n promptImage: url,\n inferImage: url,\n });\n }\n\n const { result, sessionId } = await fetchModelResults(\n EnumModelType.IVP,\n reqParams,\n );\n\n if (result) {\n // Display mask in different color\n setEditState((s) => {\n s.annotsDisplayOptions.colorByCategory = false;\n });\n\n const { objects } = result;\n const newObjects: IAnnotationObject[] = objects\n .filter((item) => !!item.mask)\n .map((item) => {\n const color = getAnnotColor(editState.latestLabelId);\n const maskRleStr = item.mask?.counts || '';\n return {\n type: EObjectType.Mask,\n hidden: false,\n labelId: editState.latestLabelId,\n maskRle: maskRleStr,\n maskCanvasElement: rleToCanvas(maskRleStr, naturalSize, color),\n status: EObjectStatus.Checked,\n conf: item.score,\n color: getAnnotColor(editState.latestLabelId, true),\n };\n });\n\n setDrawDataWithHistory((s) => {\n s.isBatchEditing = true;\n const commitedObjects = s.objectList.filter(\n (obj) => obj.status === EObjectStatus.Commited,\n );\n s.objectList = [...commitedObjects, ...newObjects];\n if (s.creatingObject && s.objectList[s.activeObjectIndex]) {\n s.creatingObject = { ...s.objectList[s.activeObjectIndex] };\n }\n s.prompt.promptsQueue = promptsQueue;\n s.prompt.sessionId = sessionId;\n s.prompt.creatingPrompt = undefined;\n });\n return true;\n }\n };\n\n const requestAiSegmentByPolygon = async (\n drawData: DrawData,\n promptsQueue?: PromptItem[],\n ) => {\n if (!promptsQueue) return;\n\n const reqParams = await fetchCommonReqParams(drawData, {\n density: drawData.pointResolution,\n prompts: convertPromptFormat(promptsQueue || []),\n });\n\n const { result, sessionId } =\n await fetchModelResults(\n EnumModelType.SegmentByPolygon,\n reqParams,\n );\n if (result) {\n const { polygons } = result;\n\n if (polygons && polygons.length > 0) {\n const predictPolygons = polygons\n .filter((item) => {\n return item.length >= 6;\n })\n .map((item) => {\n const result: IPolygon = [];\n for (let i = 0; i < item.length; i += 2) {\n const x = item[i];\n const y = item[i + 1];\n const canvasPoint = getCanvasPoint(\n [x, y],\n naturalSize,\n clientSize,\n );\n result.push(canvasPoint);\n }\n return result;\n });\n\n const creatingObj = {\n type: EObjectType.Polygon,\n hidden: false,\n labelId: editState.latestLabelId,\n color:\n drawData.creatingObject?.color ||\n getAnnotColor(editState.latestLabelId),\n currIndex: -1,\n polygon: {\n visible: true,\n group: predictPolygons,\n },\n status: EObjectStatus.Checked,\n };\n\n setDrawDataWithHistory((s) => {\n s.creatingObject = creatingObj;\n s.prompt.promptsQueue = promptsQueue;\n s.prompt.sessionId = sessionId;\n s.prompt.creatingPrompt = undefined;\n });\n return true;\n }\n }\n };\n\n const requestAiSegmentByMask = async (\n drawData: DrawData,\n promptsQueue?: PromptItem[],\n ) => {\n if (!promptsQueue) return;\n\n const reqParams = await fetchCommonReqParams(drawData, {\n prompts: convertPromptFormat(promptsQueue || []),\n });\n\n const { result, sessionId } =\n await fetchModelResults(\n EnumModelType.SegmentByMask,\n reqParams,\n );\n if (result) {\n const { mask } = result;\n const color =\n drawData.creatingObject?.color ||\n getAnnotColor(editState.latestLabelId);\n const maskRleStr = mask.counts || '';\n const creatingObj = {\n type: EObjectType.Mask,\n hidden: false,\n labelId: editState.latestLabelId,\n currIndex: -1,\n maskCanvasElement: rleToCanvas(maskRleStr, naturalSize, color),\n maskRle: maskRleStr,\n status: EObjectStatus.Checked,\n color,\n };\n setDrawDataWithHistory((s) => {\n s.creatingObject = creatingObj;\n s.prompt.promptsQueue = promptsQueue;\n s.prompt.sessionId = sessionId;\n s.prompt.creatingPrompt = undefined;\n });\n return true;\n }\n };\n\n const requestAiPoseEstimation = async (drawData: DrawData) => {\n // TODO: Integrate custom templates\n const { lines, pointNames, pointColors } = BODY_TEMPLATE;\n const reqParams = await fetchCommonReqParams(drawData, {});\n if (drawData.isBatchEditing) {\n const objectList = [...drawData.objectList];\n if (\n drawData.activeObjectIndex > -1 &&\n objectList[drawData.activeObjectIndex] &&\n drawData.creatingObject\n ) {\n // update creating object\n objectList[drawData.activeObjectIndex] = {\n ...objectList[drawData.activeObjectIndex],\n ...drawData.creatingObject,\n };\n }\n const skeletonObjs = objectList.filter(\n (obj) =>\n obj.type === EObjectType.Skeleton &&\n obj.status === EObjectStatus.Checked,\n );\n if (skeletonObjs.length > 0) {\n const objects = skeletonObjs.map((item) => {\n return {\n keypoints: item.keypoints\n ? newTranslatePointObjsToPointAttrs(\n item.keypoints.points,\n naturalSize,\n clientSize,\n ).points\n : undefined,\n bbox: item.rect\n ? translateRectToPointsArray(item.rect, clientSize, naturalSize)\n : undefined,\n };\n });\n Object.assign(reqParams, { objects });\n }\n }\n\n const { result, sessionId } = await fetchModelResults(\n EnumModelType.Pose,\n reqParams,\n );\n\n if (result) {\n const { objects } = result;\n if (objects && objects.length > 0) {\n const skeletonObjs = objects.map((obj) => {\n let { bbox, keypoints, score } = obj;\n const newObj: IAnnotationObject = {\n labelId: editState.latestLabelId,\n color: getAnnotColor(editState.latestLabelId),\n type: EObjectType.Skeleton,\n hidden: false,\n conf: score,\n status: EObjectStatus.Checked,\n };\n if (bbox) {\n const rect = translatePointsToRect(bbox, naturalSize, clientSize);\n Object.assign(newObj, { rect: { visible: true, ...rect } });\n }\n if (keypoints && lines && pointColors && pointNames) {\n const pointObjs = newTranslatePointsToPointObjs(\n keypoints,\n pointNames,\n pointColors,\n naturalSize,\n clientSize,\n );\n Object.assign(newObj, {\n keypoints: {\n points: pointObjs,\n lines,\n },\n });\n }\n return newObj;\n });\n\n setDrawDataWithHistory((s) => {\n if (!s.isBatchEditing) {\n s.isBatchEditing = true;\n }\n const commitedObjects = s.objectList.filter(\n (obj) => obj.status === EObjectStatus.Commited,\n );\n s.objectList = [...commitedObjects, ...skeletonObjs];\n if (s.creatingObject && s.objectList[s.activeObjectIndex]) {\n s.creatingObject = { ...s.objectList[s.activeObjectIndex] };\n }\n s.prompt.sessionId = sessionId;\n });\n return true;\n }\n }\n };\n\n const requestEdgeStitchingForMask = async (drawData: DrawData) => {\n if (\n !drawData.prompt.creatingPrompt?.stroke ||\n !drawData.prompt.creatingPrompt?.radius\n )\n return;\n\n const { stroke, radius } = drawData.prompt.creatingPrompt;\n\n const maskObjects = drawData.objectList.filter(\n (item) => item.type === EObjectType.Mask,\n );\n\n if (maskObjects.length < 2) {\n message.error(localeText('DDSAnnotator.smart.tip.edgeStitchError'));\n setDrawData((s) => {\n s.prompt.creatingPrompt = undefined;\n });\n return;\n }\n\n const masks: IMask[] = maskObjects.map((item) => ({\n counts: item.maskRle || '',\n size: [naturalSize.height, naturalSize.width],\n }));\n\n const points = stroke.reduce((acc: number[], point: IPoint) => {\n const { x, y } = point;\n const naturalPoint = getNaturalPoint([x, y], naturalSize, clientSize);\n return acc.concat([naturalPoint.x, naturalPoint.y]);\n }, []);\n\n const reqParams = await fetchCommonReqParams(drawData, {\n masks,\n prompts: [\n {\n type: EPromptType.Stroke,\n stroke: points,\n radius,\n },\n ],\n });\n\n const { result, sessionId } =\n await fetchModelResults(\n EnumModelType.MaskEdgeStitching,\n reqParams,\n );\n if (result && result.masks?.length > 0) {\n const newMaskObjects = maskObjects.map((item, index) => {\n const maskRleStr = result.masks?.[index]?.counts || '';\n return {\n ...item,\n maskRle: maskRleStr,\n maskCanvasElement: rleToCanvas(maskRleStr, naturalSize, item.color),\n };\n });\n\n // Replace all instances of the mask type\n const leftObjs = drawData.objectList.filter(\n (obj) => obj.type !== EObjectType.Mask,\n );\n\n setDrawDataWithHistory((s) => {\n s.objectList = [...leftObjs, ...newMaskObjects];\n s.prompt.creatingPrompt = undefined;\n s.prompt.sessionId = sessionId;\n });\n return true;\n }\n };\n\n const requestSegmentEverything = async (\n params?: NsApiAnnotator.FetchSegmentEverythingReq,\n ) => {\n if (!currImageItem) return;\n\n const reqParams = {\n image: await getServerAddressableUrl(currImageItem.url),\n ...params,\n };\n\n const { result } = await fetchModelResults(\n EnumModelType.SegmentEverything,\n reqParams,\n );\n if (result && result.masks?.length > 0) {\n // change to display different color\n setEditState((s) => {\n s.annotsDisplayOptions.colorByCategory = false;\n });\n const maskObjects: IAnnotationObject[] = result.masks.map((item) => {\n const color = getAnnotColor(editState.latestLabelId);\n const maskRleStr = item?.counts || '';\n return {\n type: EObjectType.Mask,\n hidden: false,\n labelId: editState.latestLabelId,\n maskRle: maskRleStr,\n maskCanvasElement: rleToCanvas(maskRleStr, naturalSize, color),\n conf: 1,\n status: EObjectStatus.Checked,\n color,\n };\n });\n setDrawDataWithHistory((s) => {\n s.objectList = maskObjects;\n s.isBatchEditing = true;\n });\n return true;\n }\n };\n\n const onAiAnnotation: OnAiAnnotationFunc = useCallback(\n async ({\n type,\n drawData: propsDrawData,\n aiLabels,\n promptsQueue,\n segmentEverythingParams,\n }) => {\n if (editState.isRequiring || !currImageItem) return;\n\n const drawData = propsDrawData || editorDrawData;\n\n const hide = message.loading(\n localeText('DDSAnnotator.smart.msg.loading'),\n 100000,\n );\n try {\n setLoading(true);\n setEditState((s) => {\n s.isRequiring = true;\n });\n const aiType = type || EBasicToolTypeMap[drawData.selectedTool];\n let isSuccess;\n switch (aiType) {\n case EObjectType.Rectangle: {\n if (\n drawData.selectedModel[drawData.selectedTool] ===\n EnumModelType.Detection\n ) {\n isSuccess = await requestAiDetection(drawData, aiLabels || '');\n } else {\n isSuccess = await requestIvpDetection(drawData, promptsQueue);\n }\n break;\n }\n case EObjectType.Skeleton: {\n isSuccess = await requestAiPoseEstimation(drawData);\n break;\n }\n case EObjectType.Polygon: {\n isSuccess = await requestAiSegmentByPolygon(drawData, promptsQueue);\n break;\n }\n case EObjectType.Mask: {\n const model = drawData.selectedModel[drawData.selectedTool];\n if (model === EnumModelType.SegmentEverything) {\n if (drawData.selectedSubTool === ESubToolItem.AutoEdgeStitching) {\n isSuccess = await requestEdgeStitchingForMask(drawData);\n } else if (\n drawData.selectedSubTool === ESubToolItem.AutoSegmentEverything\n ) {\n isSuccess = await requestSegmentEverything(\n segmentEverythingParams,\n );\n }\n } else if (model === EnumModelType.IVP) {\n isSuccess = await requestIvpMask(drawData, promptsQueue);\n } else {\n isSuccess = await requestAiSegmentByMask(drawData, promptsQueue);\n }\n break;\n }\n default:\n message.warning('Plan to Support!');\n break;\n }\n if (isSuccess) {\n message.success(localeText('DDSAnnotator.smart.msg.success'));\n }\n } catch (error) {\n setDrawDataWithHistory((s) => {\n if (s.prompt.creatingPrompt) {\n s.prompt.creatingPrompt = undefined;\n }\n });\n message.error(localeText('DDSAnnotator.smart.msg.error'));\n } finally {\n setLoading(false);\n setEditState((s) => {\n s.isRequiring = false;\n });\n setDrawData((s) => {\n s.prompt.activeRectWhileLoading = undefined;\n });\n hide();\n }\n },\n [editorDrawData],\n );\n\n return {\n onAiAnnotation,\n };\n};\n\nexport default useAiModels;\n","import { useCallback } from 'react';\nimport { Updater } from 'use-immer';\n\nimport {\n Category,\n DrawData,\n IAnnotationObject,\n IAttributeValue,\n} from '../type';\n\ninterface IProps {\n setDrawDataWithHistory: Updater;\n categories: Category[];\n}\n\nexport default function useAttributes({\n setDrawDataWithHistory,\n categories,\n}: IProps) {\n const judgeEditingAttribute = useCallback(\n (object: IAnnotationObject, index: number) => {\n const label = categories.find((item) => item.id === object.labelId);\n if (label?.attributes && label.attributes.length > 0) {\n return {\n index,\n labelId: object.labelId,\n attributes: label.attributes,\n values: object.attributes || [],\n };\n }\n return undefined;\n },\n [categories],\n );\n\n const onConfirmAttibuteEdit = useCallback((values: IAttributeValue[]) => {\n setDrawDataWithHistory((s) => {\n if (s.editingAttribute) {\n if (s.objectList[s.editingAttribute.index]) {\n // object attributes\n s.objectList[s.editingAttribute.index].attributes = values;\n } else {\n // classification attributes\n const i = s.classifications.findIndex(\n (item) => item.labelId === s.editingAttribute?.labelId,\n );\n if (i > -1) {\n s.classifications[i].attributes = values;\n } else {\n s.classifications.push({\n labelId: s.editingAttribute?.labelId,\n labelValue: null,\n attributes: values,\n });\n }\n }\n s.editingAttribute = undefined;\n }\n });\n }, []);\n\n const onCancelAttibuteEdit = () => {\n setDrawDataWithHistory((s) => {\n s.editingAttribute = undefined;\n });\n };\n\n return {\n judgeEditingAttribute,\n onConfirmAttibuteEdit,\n onCancelAttibuteEdit,\n };\n}\n","import { __read } from \"tslib\";\nimport useRafState from '../useRafState';\nimport useEventListener from '../useEventListener';\nimport { getTargetElement } from '../utils/domTarget';\nvar initState = {\n screenX: NaN,\n screenY: NaN,\n clientX: NaN,\n clientY: NaN,\n pageX: NaN,\n pageY: NaN,\n elementX: NaN,\n elementY: NaN,\n elementH: NaN,\n elementW: NaN,\n elementPosX: NaN,\n elementPosY: NaN\n};\nexport default (function (target) {\n var _a = __read(useRafState(initState), 2),\n state = _a[0],\n setState = _a[1];\n useEventListener('mousemove', function (event) {\n var screenX = event.screenX,\n screenY = event.screenY,\n clientX = event.clientX,\n clientY = event.clientY,\n pageX = event.pageX,\n pageY = event.pageY;\n var newState = {\n screenX: screenX,\n screenY: screenY,\n clientX: clientX,\n clientY: clientY,\n pageX: pageX,\n pageY: pageY,\n elementX: NaN,\n elementY: NaN,\n elementH: NaN,\n elementW: NaN,\n elementPosX: NaN,\n elementPosY: NaN\n };\n var targetElement = getTargetElement(target);\n if (targetElement) {\n var _a = targetElement.getBoundingClientRect(),\n left = _a.left,\n top_1 = _a.top,\n width = _a.width,\n height = _a.height;\n newState.elementPosX = left + window.pageXOffset;\n newState.elementPosY = top_1 + window.pageYOffset;\n newState.elementX = pageX - newState.elementPosX;\n newState.elementY = pageY - newState.elementPosY;\n newState.elementW = width;\n newState.elementH = height;\n }\n setState(newState);\n }, {\n target: function () {\n return document;\n }\n });\n return state;\n});","import { useEventListener, useMouse, useSize } from 'ahooks';\nimport { fixedFloatNum } from 'dds-utils/digit';\nimport React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useImmer } from 'use-immer';\n\nimport {\n MIN_SCALE,\n MAX_SCALE,\n BUTTON_SCALE_STEP,\n WHEEL_SCALE_STEP,\n ESubToolItem,\n EObjectType,\n EBasicToolItem,\n} from '../constants';\nimport { DrawData } from '../type';\nimport { isInCanvas, zoomImgSize } from '../utils/compute';\n\ninterface IProps {\n isRequiring: boolean;\n visible: boolean;\n minPadding?: {\n top: number;\n left: number;\n };\n allowMove: boolean;\n cursorSize: number;\n drawData: DrawData;\n onClickMaskBg?: React.MouseEventHandler;\n hideReferenceLine?: boolean;\n}\n\nexport default function useCanvasContainer({\n isRequiring,\n visible,\n minPadding = { top: 0, left: 0 },\n allowMove,\n drawData,\n cursorSize,\n onClickMaskBg,\n hideReferenceLine,\n}: IProps) {\n const containerRef = useRef(null);\n const containerSize = useSize(() => containerRef.current);\n const containerMouse = useMouse(() => containerRef.current); // delayed get size when move don't move\n\n /** The original size of image */\n const [naturalSize, setNaturalSize] = useState({\n width: 0,\n height: 0,\n });\n\n /** The scaled size of image */\n const [clientSize, setClientSize] = useImmer<{\n width: number;\n height: number;\n scale: number;\n }>({\n width: naturalSize.width,\n height: naturalSize.height,\n scale: 1,\n });\n\n /** The top-left location on canvas container */\n const imagePos = useRef({ x: 0, y: 0 });\n\n // Scale info\n const lastScalePosRef = useRef<\n | {\n posRatioX: number;\n posRatioY: number;\n mouseX: number;\n mouseY: number;\n }\n | undefined\n >(undefined);\n\n const contentMouse = useMemo(() => {\n return {\n ...containerMouse,\n elementW: clientSize.width,\n elementH: clientSize.height,\n elementX: containerMouse.elementX - imagePos.current.x,\n elementY: containerMouse.elementY - imagePos.current.y,\n };\n }, [containerMouse, clientSize]);\n\n const [movingImgAnchor, setMovingImgAnchor] = useImmer(null);\n\n const initClientSizeToFit = (naturalSize: ISize, containerSize: ISize) => {\n if (naturalSize?.width && containerSize?.height) {\n const containerWidth = containerSize.width;\n const containerHeight = containerSize.height;\n const [width, height, scale] = zoomImgSize(\n naturalSize.width,\n naturalSize.height,\n containerWidth - minPadding.left * 2,\n containerHeight - minPadding.top * 2,\n );\n imagePos.current = {\n x: (containerWidth - width) * 0.5,\n y: (containerHeight - height) * 0.5,\n };\n setClientSize({\n scale,\n width: naturalSize.width * scale,\n height: naturalSize.height * scale,\n });\n lastScalePosRef.current = undefined;\n }\n };\n\n /** Initial position to fit container */\n useEffect(() => {\n if (naturalSize && containerSize) {\n initClientSizeToFit(naturalSize, containerSize);\n }\n }, [containerSize]);\n\n const adaptImagePosWhileZoom = () => {\n if (!containerSize) return;\n\n const containerWidth = containerSize?.width;\n const containerHeight = containerSize?.height;\n\n // Default zoom center\n let posRatioX = 0.5;\n let posRatioY = 0.5;\n let mouseX = containerWidth / 2;\n let mouseY = containerHeight / 2;\n\n if (lastScalePosRef.current) {\n posRatioX = lastScalePosRef.current.posRatioX;\n posRatioY = lastScalePosRef.current.posRatioY;\n mouseX = lastScalePosRef.current.mouseX;\n mouseY = lastScalePosRef.current.mouseY;\n }\n const x = mouseX - clientSize.width * posRatioX;\n const y = mouseY - clientSize.height * posRatioY;\n\n imagePos.current = { x, y };\n };\n\n useEffect(() => {\n adaptImagePosWhileZoom();\n }, [clientSize]);\n\n const zoom = (isZoomIn: boolean, step: number, isZoomBtn?: boolean) => {\n if (!visible || isRequiring) return;\n setClientSize((s) => {\n let scale = isZoomIn\n ? Math.min(MAX_SCALE, fixedFloatNum(s.scale + step, 2))\n : Math.max(MIN_SCALE, fixedFloatNum(s.scale - step, 2));\n\n // update scale center\n if (\n !lastScalePosRef.current ||\n containerMouse.elementX !== lastScalePosRef.current.mouseX ||\n containerMouse.elementY !== lastScalePosRef.current.mouseY\n ) {\n if (\n !isZoomBtn &&\n !isNaN(contentMouse.elementX) &&\n !isNaN(containerMouse.elementX) &&\n clientSize.width\n ) {\n const scalePos = {\n posRatioX: contentMouse.elementX / clientSize.width,\n posRatioY: contentMouse.elementY / clientSize.height,\n mouseX: containerMouse.elementX,\n mouseY: containerMouse.elementY,\n };\n lastScalePosRef.current = scalePos;\n }\n }\n\n s.scale = scale;\n s.width = naturalSize.width * scale;\n s.height = naturalSize.height * scale;\n });\n };\n\n const onZoomIn = useCallback(() => {\n zoom(true, BUTTON_SCALE_STEP, true);\n }, [BUTTON_SCALE_STEP, zoom]);\n\n const onZoomOut = useCallback(() => {\n zoom(false, BUTTON_SCALE_STEP, true);\n }, [BUTTON_SCALE_STEP, zoom]);\n\n // Zoom gesture.\n const onWheelMove: React.WheelEventHandler = (event) => {\n if (!visible || isRequiring) return;\n const wheelDirection = event.deltaY;\n if (wheelDirection > 0) {\n zoom(false, WHEEL_SCALE_STEP);\n } else if (wheelDirection < 0) {\n zoom(true, WHEEL_SCALE_STEP);\n }\n };\n\n const onReset = useCallback(() => {\n lastScalePosRef.current = undefined;\n if (containerSize && naturalSize) {\n initClientSizeToFit(naturalSize, containerSize);\n }\n }, [\n naturalSize.width,\n naturalSize.height,\n containerSize?.width,\n containerSize?.height,\n ]);\n\n // Reset data when hidden.\n useEffect(() => {\n if (!visible) {\n setNaturalSize({ width: 0, height: 0 });\n setClientSize({\n scale: 1,\n width: 0,\n height: 0,\n });\n imagePos.current = { x: 0, y: 0 };\n lastScalePosRef.current = undefined;\n }\n }, [visible]);\n\n const [isMousePress, setMousePress] = useState(false);\n\n useEventListener('mousedown', () => {\n if (!visible || !containerRef.current || !isInCanvas(containerMouse))\n return;\n setMousePress(true);\n setMovingImgAnchor({\n x: contentMouse.elementX,\n y: contentMouse.elementY,\n });\n });\n\n useEventListener('mousemove', () => {\n if (!visible) return;\n if (movingImgAnchor && allowMove && isMousePress) {\n const offsetX = contentMouse.elementX - movingImgAnchor.x;\n const offsetY = contentMouse.elementY - movingImgAnchor.y;\n const { x, y } = imagePos.current;\n imagePos.current = {\n x: x + offsetX,\n y: y + offsetY,\n };\n }\n });\n\n useEventListener('mouseup', () => {\n setMousePress(false);\n if (!visible || !allowMove) return;\n // Stop moving the image.\n if (movingImgAnchor) {\n setMovingImgAnchor(null);\n return;\n }\n });\n\n useEffect(() => {\n if (!allowMove) {\n setMovingImgAnchor(null);\n } else {\n setMovingImgAnchor({\n x: contentMouse.elementX,\n y: contentMouse.elementY,\n });\n }\n }, [allowMove]);\n\n const onLoadImg = (\n e: React.UIEvent,\n withoutInitClientSize?: boolean,\n ) => {\n const img = e.target as HTMLImageElement;\n const naturalSize = { width: img.naturalWidth, height: img.naturalHeight };\n setNaturalSize(naturalSize);\n if (containerSize && naturalSize && !withoutInitClientSize) {\n initClientSizeToFit(naturalSize, containerSize);\n }\n };\n\n const onClickBg = (event: React.MouseEvent) => {\n if (!isInCanvas(contentMouse)) {\n onClickMaskBg?.(event);\n }\n };\n\n const isCustomCursorActive = useMemo(() => {\n const isToolWithSize = [\n ESubToolItem.AutoEdgeStitching,\n ESubToolItem.AutoSegmentByStroke,\n ESubToolItem.BrushAdd,\n ESubToolItem.BrushErase,\n ].includes(drawData.selectedSubTool);\n\n if (\n drawData.creatingObject &&\n drawData.activeObjectIndex > -1 &&\n [EObjectType.Mask, EObjectType.Polygon].includes(\n drawData.creatingObject.type,\n )\n ) {\n return isToolWithSize;\n }\n if (\n drawData.selectedTool !== EBasicToolItem.Drag &&\n !drawData.isBatchEditing\n ) {\n return (\n [EBasicToolItem.Mask, EBasicToolItem.Polygon].includes(\n drawData.selectedTool,\n ) && isToolWithSize\n );\n }\n return false;\n }, [drawData.selectedTool, drawData.selectedSubTool]);\n\n const showReferenceLine = useMemo(() => {\n return (\n drawData.selectedTool !== EBasicToolItem.Drag &&\n !isCustomCursorActive &&\n !hideReferenceLine\n );\n }, [drawData.selectedTool, isCustomCursorActive, hideReferenceLine]);\n\n /** Container render function */\n const CanvasContainer = ({\n children,\n className,\n }: {\n children: React.ReactNode;\n className?: string;\n }) => {\n if (!visible) return null;\n return (\n \n {children}\n {showReferenceLine && !allowMove && isInCanvas(contentMouse) && (\n <>\n {/* leftLine */}\n \n {/* rightLine */}\n \n {/* upLine */}\n \n {/* downLine */}\n \n \n )}\n {isCustomCursorActive &&\n cursorSize > 0 &&\n isInCanvas(containerMouse) &&\n isInCanvas(contentMouse) &&\n !allowMove && (\n \n )}\n \n );\n };\n\n return {\n CanvasContainer,\n scale: clientSize.scale,\n containerRef,\n naturalSize,\n clientSize: {\n width: clientSize.width,\n height: clientSize.height,\n },\n containerSize,\n containerMouse: {\n ...containerMouse,\n elementW: containerSize?.width || containerMouse.elementW,\n elementH: containerSize?.height || containerMouse.elementH,\n },\n contentMouse,\n imagePos,\n isMousePress,\n onLoadImg,\n onZoomIn,\n onZoomOut,\n onWheelMove,\n onReset,\n };\n}\n","import { FloatWrapper } from '../FloatWrapper';\n\nimport './index.less';\n\ninterface IPopoverMenu {\n index: number;\n targetElement: IElement;\n imagePos: IPoint;\n}\n\nconst PopoverMenu: React.FC = ({\n index,\n targetElement,\n imagePos,\n}) => {\n return (\n \n \n
\n {`${index + 1} ${\n targetElement.name\n }`}\n
\n \n
\n );\n};\n\nexport default PopoverMenu;\n","import { CursorState } from 'ahooks/lib/useMouse';\nimport React from 'react';\n\nimport PopoverMenu from '../components/PopoverMenu';\nimport {\n EBasicToolItem,\n EElementType,\n EnumModelType,\n EObjectType,\n} from '../constants';\nimport {\n ANNO_FILL_ALPHA,\n ANNO_FILL_COLOR,\n ANNO_MASK_ALPHA,\n ANNO_STROKE_ALPHA,\n ANNO_STROKE_COLOR,\n} from '../constants/render';\nimport { ToolInstanceHookReturn } from '../tools/base';\nimport {\n DrawData,\n EditState,\n IAnnotationObject,\n ICreatingObject,\n} from '../type';\nimport { hexToRgba } from '../utils/color';\nimport { translateAnnotCoord } from '../utils/compute';\nimport {\n addFilter,\n clearCanvas,\n drawImage,\n removeFilter,\n resizeSmoothCanvas,\n setCanvasGlobalAlpha,\n} from '../utils/draw';\n\ninterface IProps {\n visible: boolean;\n drawData: DrawData;\n editState: EditState;\n clientSize: ISize;\n imagePos: React.MutableRefObject;\n containerMouse: CursorState;\n canvasRef: React.RefObject;\n activeCanvasRef: React.RefObject;\n imgRef: React.RefObject;\n objectHooksMap: Record;\n videoLoading?: boolean;\n}\n\nconst useCanvasRender = ({\n visible,\n drawData,\n editState,\n clientSize,\n imagePos,\n containerMouse,\n canvasRef,\n activeCanvasRef,\n imgRef,\n objectHooksMap,\n videoLoading,\n}: IProps) => {\n // =================================================================================================================\n // Render\n // =================================================================================================================\n\n const getObjectStyles = (\n object: IAnnotationObject,\n color: string,\n status?: 'focus' | 'creating' | 'editing',\n ) => {\n let [strokeColor, fillColor, maskAlpha] = [\n hexToRgba(color, ANNO_STROKE_ALPHA.DEFAULT),\n hexToRgba(color, ANNO_FILL_ALPHA.DEFAULT),\n ANNO_MASK_ALPHA.DEFAULT,\n ];\n if (status === 'focus') {\n maskAlpha = ANNO_MASK_ALPHA.FOCUS;\n strokeColor = hexToRgba(color, ANNO_STROKE_ALPHA.FOCUS);\n fillColor = hexToRgba(color, ANNO_FILL_ALPHA.FOCUS);\n } else if (status === 'editing') {\n maskAlpha = ANNO_MASK_ALPHA.CREATING;\n strokeColor = hexToRgba(color, ANNO_STROKE_ALPHA.CREATING);\n fillColor = hexToRgba(color, ANNO_FILL_ALPHA.CREATING);\n } else if (status === 'creating') {\n maskAlpha = ANNO_MASK_ALPHA.CREATING;\n strokeColor = ANNO_STROKE_COLOR.CREATING;\n fillColor = ANNO_FILL_COLOR.CREATING;\n }\n\n return {\n strokeColor,\n fillColor,\n maskAlpha,\n strokeDash: [0],\n thickness: 2,\n pointAplha: 1,\n ...(object.customStyles || {}),\n };\n };\n\n const updateCreatingRender = (creatingObject: ICreatingObject) => {\n const styles = getObjectStyles(\n creatingObject,\n creatingObject.color,\n 'creating',\n );\n\n objectHooksMap[creatingObject.type].renderCreatingObject({\n object: creatingObject,\n color: creatingObject.color,\n styles,\n });\n return;\n };\n\n const updateEditingRender = (creatingObject: ICreatingObject) => {\n // draw currently annotated objects\n if (creatingObject.hidden) return;\n\n const canvasCoordObject = translateAnnotCoord(creatingObject, {\n x: -imagePos.current.x,\n y: -imagePos.current.y,\n });\n const isFocus = editState.focusObjectIndex === drawData.activeObjectIndex;\n const styles = getObjectStyles(\n creatingObject,\n creatingObject.color,\n isFocus ? 'focus' : 'editing',\n );\n\n objectHooksMap[creatingObject.type].renderEditingObject({\n object: canvasCoordObject,\n color: creatingObject.color,\n styles,\n isFocus,\n });\n return;\n };\n\n const updateCreatingPromptRender = (theDrawData: DrawData) => {\n const { prompt } = theDrawData;\n\n if (\n prompt.creatingPrompt ||\n prompt.promptsQueue ||\n prompt.activeRectWhileLoading\n ) {\n if (\n theDrawData.selectedTool === EBasicToolItem.Mask ||\n theDrawData.creatingObject?.type === EObjectType.Mask\n ) {\n objectHooksMap[EObjectType.Mask].renderPrompt({\n prompt,\n });\n } else if (\n theDrawData.selectedTool === EBasicToolItem.Polygon ||\n theDrawData.creatingObject?.type === EObjectType.Polygon\n ) {\n objectHooksMap[EObjectType.Polygon].renderPrompt({\n prompt,\n });\n } else if (\n theDrawData.selectedTool === EBasicToolItem.Rectangle &&\n theDrawData.selectedModel[theDrawData.selectedTool] ===\n EnumModelType.IVP\n ) {\n objectHooksMap[EObjectType.Rectangle].renderPrompt({\n prompt,\n });\n }\n }\n return;\n };\n\n const updateRenderActiveCanvas = (updateDrawData?: DrawData) => {\n if (!visible || !activeCanvasRef.current) return;\n\n resizeSmoothCanvas(activeCanvasRef.current, {\n width: containerMouse.elementW,\n height: containerMouse.elementH,\n });\n activeCanvasRef.current.getContext('2d')!.imageSmoothingEnabled = false;\n clearCanvas(activeCanvasRef.current);\n\n const theDrawData = updateDrawData || drawData;\n if (theDrawData.creatingObject) {\n if (theDrawData.activeObjectIndex > -1) {\n updateEditingRender(theDrawData.creatingObject);\n } else {\n updateCreatingRender(theDrawData.creatingObject);\n }\n }\n\n updateCreatingPromptRender(theDrawData);\n };\n\n const renderObject = (object: IAnnotationObject, isFocus: boolean) => {\n const canvasCoordObject = translateAnnotCoord(object, {\n x: -imagePos.current.x,\n y: -imagePos.current.y,\n });\n const { type } = canvasCoordObject;\n // Color styles\n const styles = getObjectStyles(\n object,\n object.color,\n isFocus ? 'focus' : undefined,\n );\n\n // Change globalAlpha when creating / editing object\n setCanvasGlobalAlpha(canvasRef.current!, drawData.creatingObject ? 0.6 : 1);\n\n objectHooksMap[type].renderObject({\n object: canvasCoordObject,\n color: object.color,\n styles,\n isFocus,\n });\n };\n\n const renderObjectList = (\n list: IAnnotationObject[],\n activeObjectIndex: number,\n ) => {\n // render normal objects\n list.forEach((obj, index) => {\n if (\n obj.hidden ||\n index === activeObjectIndex ||\n index === editState.focusObjectIndex ||\n obj.frameEmpty\n ) {\n return;\n }\n renderObject(obj, drawData.editingAttribute?.index === index);\n });\n };\n\n const updateRender = (updateDrawData?: DrawData) => {\n if (\n !visible ||\n !canvasRef.current ||\n !imgRef.current ||\n !imgRef.current.complete\n )\n return;\n\n // video load maybe use long time, should clearCanvas first\n if (videoLoading) {\n clearCanvas(canvasRef.current);\n return;\n }\n\n resizeSmoothCanvas(canvasRef.current, {\n width: containerMouse.elementW,\n height: containerMouse.elementH,\n });\n canvasRef.current.getContext('2d')!.imageSmoothingEnabled = false;\n clearCanvas(canvasRef.current);\n\n // add filter before drawImage and apply for image only\n addFilter(\n canvasRef.current,\n editState.imageDisplayOptions.brightness,\n editState.imageDisplayOptions.contrast,\n editState.imageDisplayOptions.saturate,\n );\n\n drawImage(canvasRef.current, imgRef.current, {\n x: imagePos.current.x,\n y: imagePos.current.y,\n width: clientSize.width,\n height: clientSize.height,\n });\n\n // remove filter just in case it may be applied on all canvas\n removeFilter(canvasRef.current);\n\n const theDrawData = updateDrawData || drawData;\n\n // draw esisting objects\n renderObjectList(theDrawData.objectList, theDrawData.activeObjectIndex);\n\n // draw creating object\n updateRenderActiveCanvas(theDrawData);\n\n // render focus object\n if (\n editState.focusObjectIndex > -1 &&\n editState.focusObjectIndex !== drawData.activeObjectIndex &&\n theDrawData.objectList[editState.focusObjectIndex] &&\n !theDrawData.objectList[editState.focusObjectIndex].hidden &&\n !theDrawData.objectList[editState.focusObjectIndex].frameEmpty\n ) {\n renderObject(theDrawData.objectList[editState.focusObjectIndex], true);\n }\n };\n\n const renderPopoverMenu = () => {\n if (\n editState.focusObjectIndex > -1 &&\n drawData.objectList[editState.focusObjectIndex] &&\n !drawData.objectList[editState.focusObjectIndex].hidden &&\n editState.focusEleIndex > -1 &&\n editState.focusEleType === EElementType.Circle\n ) {\n const target =\n drawData.objectList[editState.focusObjectIndex].keypoints?.points?.[\n editState.focusEleIndex\n ];\n if (target) {\n return (\n \n );\n }\n }\n return <>;\n };\n\n return {\n updateRender,\n renderPopoverMenu,\n };\n};\n\nexport default useCanvasRender;\n","import { useCallback, useEffect, useMemo, useRef } from 'react';\n\nimport { Category, EditState } from '../type';\nimport { getCategoryColors, hsvToRgb, rgbArrayToHex } from '../utils/color';\n\ninterface IProps {\n categories: Category[];\n editState: EditState;\n forceColorByObject?: boolean;\n}\n\nexport default function useColor({\n categories,\n editState,\n forceColorByObject,\n}: IProps) {\n const labelColors = useMemo(() => {\n return getCategoryColors(categories.map((item) => item.id));\n }, [categories]);\n\n const colorSeedRef = useRef(0);\n\n const getUniformHexColor = (seed: number) => {\n // update seed\n const goldenRatio = 0.618;\n colorSeedRef.current = seed + goldenRatio;\n\n // generate uniform hex color\n const hue = (seed + goldenRatio) % 1;\n const rgbColor = hsvToRgb(hue, 0.8, 0.95);\n return rgbArrayToHex(rgbColor);\n };\n\n useEffect(() => {\n // reset seed\n colorSeedRef.current = 0;\n }, [editState.annotsDisplayOptions.colorByCategory]);\n\n const getAnnotColor = useCallback(\n (categoryId: string, forceColorByCategory?: boolean) => {\n if (\n !forceColorByObject &&\n (editState.annotsDisplayOptions.colorByCategory || forceColorByCategory)\n ) {\n const catagory = categories.find((item) => item.id === categoryId);\n return catagory?.renderColor || labelColors[categoryId] || '#fff';\n } else {\n return getUniformHexColor(colorSeedRef.current);\n }\n },\n [\n editState.annotsDisplayOptions.colorByCategory,\n labelColors,\n getUniformHexColor,\n colorSeedRef.current,\n forceColorByObject,\n ],\n );\n\n return {\n labelColors,\n getAnnotColor,\n };\n}\n","import { useRef } from 'react';\n\nexport type compareFunction = (prev: T | undefined, next: T) => boolean;\n\nexport default function usePreviousState(\n state: T,\n compare?: compareFunction,\n): [T | undefined, () => void] {\n const prevRef = useRef();\n const curRef = useRef();\n\n const needUpdate =\n typeof compare === 'function' ? compare(curRef.current, state) : true;\n if (needUpdate) {\n prevRef.current = curRef.current;\n curRef.current = state;\n }\n\n const clearPrev = () => {\n prevRef.current = undefined;\n };\n\n return [prevRef.current, clearPrev];\n}\n","import { cloneDeep } from 'lodash';\nimport { useCallback, useEffect } from 'react';\nimport { Updater } from 'use-immer';\n\nimport {\n BaseObject,\n Category,\n DEFAULT_DRAW_DATA,\n DEFAULT_EDIT_STATE,\n DrawData,\n AnnoItem,\n DrawObject,\n EditState,\n VideoFramesData,\n} from '../type';\nimport { scaleDrawData, scaleFramesObjects } from '../utils/compute';\n\nimport usePreviousState from './usePreviousState';\n\ninterface IProps {\n imagePos: React.MutableRefObject;\n clientSize: ISize;\n naturalSize: ISize;\n annotations: DrawObject[];\n setAnnotations: Updater;\n drawData: DrawData;\n setDrawData: Updater;\n setFramesData?: Updater;\n editState: EditState;\n setEditState: Updater;\n initObjectList: (annotations: DrawObject[]) => void;\n updateRender: (updateDrawData?: DrawData) => void;\n clearHistory: () => void;\n objectsFilter?: (imageData: any) => BaseObject[];\n labelOptions: Category[];\n customDefaultDrawData?: Partial;\n}\n\nconst useDataEffect = ({\n imagePos,\n clientSize,\n naturalSize,\n annotations,\n setAnnotations,\n drawData,\n setDrawData,\n setFramesData,\n editState,\n setEditState,\n initObjectList,\n updateRender,\n clearHistory,\n objectsFilter,\n labelOptions,\n customDefaultDrawData,\n}: IProps) => {\n const [preClientSize, clearPreClientSize] =\n usePreviousState(clientSize);\n\n /**\n * Rebuilds the draw data for the annotation tool.\n * @param {boolean} isUpdateDrawData - Optional parameter that specifies whether to update draw data.\n * @return {void}\n */\n const rebuildDrawData = (\n isForce?: boolean,\n theAnnotations?: DrawObject[],\n ) => {\n if (\n !clientSize.width ||\n !clientSize.height ||\n !naturalSize.width ||\n !naturalSize.height\n )\n return;\n if (!drawData.initialized || isForce) {\n initObjectList(theAnnotations || annotations);\n } else if (drawData.initialized && preClientSize) {\n // scale change\n if (setFramesData) {\n setFramesData?.((s) => {\n s.objects = scaleFramesObjects(s.objects, preClientSize, clientSize);\n });\n }\n const updateDrawData = scaleDrawData(drawData, preClientSize, clientSize);\n setDrawData(updateDrawData);\n updateRender(updateDrawData);\n clearPreClientSize();\n }\n };\n\n const resetDrawData = useCallback(() => {\n setDrawData({\n ...cloneDeep(DEFAULT_DRAW_DATA),\n brushSize: drawData.brushSize,\n selectedTool: drawData.selectedTool,\n selectedSubTool: drawData.selectedSubTool,\n selectedModel: drawData.selectedModel,\n AIAnnotation: drawData.AIAnnotation,\n ...customDefaultDrawData,\n });\n }, [\n DEFAULT_DRAW_DATA,\n customDefaultDrawData,\n drawData.brushSize,\n drawData.selectedSubTool,\n drawData.selectedTool,\n drawData.AIAnnotation,\n ]);\n\n const resetEditData = useCallback(() => {\n setEditState({\n ...cloneDeep(DEFAULT_EDIT_STATE),\n latestLabelId: labelOptions?.[0]?.id || '',\n imageDisplayOptions: editState.imageDisplayOptions,\n annotsDisplayOptions: editState.annotsDisplayOptions,\n });\n }, [\n DEFAULT_EDIT_STATE,\n labelOptions,\n editState.imageDisplayOptions,\n editState.annotsDisplayOptions,\n ]);\n\n const applyImageAnnots = useCallback(\n (imageData: AnnoItem) => {\n const annotations = imageData?.objects ? [...imageData?.objects] : [];\n const currAnnotations =\n imageData && objectsFilter\n ? objectsFilter(imageData) || []\n : annotations;\n setAnnotations(currAnnotations);\n rebuildDrawData(true, currAnnotations);\n },\n [objectsFilter, rebuildDrawData],\n );\n\n const resetDataWithImageData = useCallback(\n (\n imageData?: AnnoItem,\n visible: boolean = false,\n clearHistoryQueue: boolean = true,\n ) => {\n setAnnotations([]);\n resetDrawData();\n resetEditData();\n if (clearHistoryQueue) clearHistory();\n if (visible && imageData) {\n applyImageAnnots(imageData);\n }\n },\n [resetDrawData, resetEditData, clearHistory, applyImageAnnots],\n );\n\n /** Update canvas while data changing */\n useEffect(() => {\n updateRender();\n }, [drawData, editState, imagePos.current.x, imagePos.current.y]);\n\n /** Recalculate drawData while changing size */\n useEffect(() => {\n rebuildDrawData();\n }, [clientSize.height, clientSize.width]);\n\n /** Annotations / naturalSize changed */\n useEffect(() => {\n rebuildDrawData(true);\n }, [naturalSize.width, naturalSize.height]);\n\n useEffect(() => {\n if (!labelOptions?.length) return;\n setEditState((s) => {\n if (\n !s.latestLabelId ||\n !labelOptions.find((item) => item.id === s.latestLabelId)\n ) {\n s.latestLabelId = labelOptions[0]?.id;\n }\n });\n }, [labelOptions]);\n\n return {\n rebuildDrawData,\n resetDataWithImageData,\n };\n};\n\nexport default useDataEffect;\n","import { cloneDeep, isEqual } from 'lodash';\nimport { useCallback, useRef, useState } from 'react';\nimport { DraftFunction, Updater, useImmer } from 'use-immer';\n\nimport { BaseObject, DrawData, VideoFramesData } from '../type';\nimport {\n convertFrameObjectsIntoFramesObjects,\n scaleDrawData,\n scaleFramesObjects,\n} from '../utils/compute';\n\nexport interface HistoryItem {\n drawData: DrawData;\n framesData?: VideoFramesData;\n clientSize: ISize;\n}\n\ninterface IProps {\n clientSize: ISize;\n naturalSize: ISize;\n framesData?: VideoFramesData;\n setFramesData?: Updater;\n setDrawData: Updater;\n onAutoSave?: (annotations: BaseObject[], naturalSize: ISize) => void;\n translateObject?: (object: any) => any;\n}\n\nconst useHistory = ({\n clientSize,\n naturalSize,\n onAutoSave,\n setDrawData,\n translateObject,\n framesData,\n setFramesData,\n}: IProps) => {\n const hadChangeRecordRef = useRef(false);\n const [historyQueue, setHistoryQueue] = useImmer([]);\n const [currentIndex, setCurrIndex] = useState(0);\n const maxCacheSize = 20;\n\n const flagSaved = () => {\n hadChangeRecordRef.current = false;\n };\n\n const autoSave = (item: HistoryItem) => {\n if (onAutoSave) {\n const annotations = item.drawData.objectList.map(\n (obj) => translateObject?.(obj) || {},\n );\n onAutoSave(annotations, naturalSize);\n }\n };\n\n const updateCurrentRecord = useCallback(\n (record: HistoryItem) => {\n // video\n setFramesData?.((s) => {\n if (record.framesData) {\n s.activeIndex = record.framesData?.activeIndex;\n s.objects = scaleFramesObjects(\n record.framesData.objects,\n record.clientSize,\n clientSize,\n );\n }\n });\n\n const updateDrawData = scaleDrawData(\n record.drawData,\n record.clientSize,\n clientSize,\n );\n setDrawData(updateDrawData);\n autoSave(record);\n },\n [clientSize.width, clientSize.height],\n );\n\n /**\n * Undo the last action\n */\n const undo = useCallback(() => {\n if (currentIndex > 0) {\n setCurrIndex((prevIndex) => {\n hadChangeRecordRef.current = Boolean(\n historyQueue.length > 1 && prevIndex - 1 !== 0,\n );\n return prevIndex - 1;\n });\n updateCurrentRecord(historyQueue[currentIndex - 1]);\n }\n }, [currentIndex, historyQueue, updateCurrentRecord]);\n\n /**\n * Redo the last undone action\n */\n const redo = useCallback(() => {\n if (currentIndex < historyQueue.length - 1) {\n setCurrIndex((prevIndex) => {\n hadChangeRecordRef.current = Boolean(\n historyQueue.length > 1 && prevIndex + 1 !== 0,\n );\n return prevIndex + 1;\n });\n updateCurrentRecord(historyQueue[currentIndex + 1]);\n }\n }, [currentIndex, historyQueue, updateCurrentRecord]);\n\n /**\n * Update the history queue with the new objects\n */\n const updateHistory = (\n drawData: DrawData,\n theframesData?: VideoFramesData,\n ) => {\n const item = cloneDeep({\n drawData,\n clientSize,\n framesData: theframesData || framesData,\n });\n setHistoryQueue((queue) => {\n if (queue[currentIndex] && isEqual(item, queue[currentIndex])) {\n return queue;\n }\n if (\n currentIndex === 0 &&\n isEqual(item.drawData, queue[currentIndex]?.drawData)\n ) {\n // fix to change image current render\n return queue;\n }\n\n if (\n !theframesData &&\n item.framesData &&\n setFramesData &&\n item.drawData.objectList.length &&\n !isEqual(\n item.drawData.objectList,\n queue[currentIndex]?.drawData?.objectList,\n )\n ) {\n // video && not update framesData && single frame objectList changed\n // sync frame objectlist change to every frame\n item.framesData.objects = convertFrameObjectsIntoFramesObjects(\n item.drawData.objectList,\n item.framesData.objects,\n item.framesData.list.length,\n item.framesData.activeIndex,\n naturalSize,\n );\n setFramesData((s) => {\n s.objects = cloneDeep(item.framesData!.objects);\n });\n }\n queue.splice(currentIndex + 1);\n queue.push(item);\n if (queue.length > maxCacheSize) {\n queue.shift();\n }\n setCurrIndex(queue.length - 1);\n\n hadChangeRecordRef.current = Boolean(\n queue.length > 1 && queue.length - 1 !== 0,\n );\n });\n autoSave(item);\n };\n\n const clearHistory = useCallback(() => {\n setHistoryQueue([]);\n }, []);\n\n const setDrawDataWithHistory: Updater = (\n updater: DrawData | DraftFunction,\n ) => {\n if (typeof updater === 'function') {\n setDrawData((s) => {\n updater(s);\n updateHistory(cloneDeep(s));\n });\n } else {\n setDrawData(updater);\n updateHistory(cloneDeep(updater));\n }\n };\n\n return {\n updateHistory,\n undo,\n redo,\n clearHistory,\n setDrawDataWithHistory,\n flagSaved,\n hadChangeRecord: hadChangeRecordRef.current,\n };\n};\n\nexport default useHistory;\n","import { cloneDeep } from 'lodash';\nimport { useCallback, useEffect, useMemo, useState } from 'react';\nimport { Updater } from 'use-immer';\n\nimport {\n EBasicToolItem,\n EBasicToolTypeMap,\n EElementType,\n ELabelType,\n KEYPOINTS_VISIBLE_TYPE,\n LABEL_TOOL_MAP,\n} from '../constants';\nimport {\n Category,\n DrawData,\n EditState,\n EditorMode,\n IAnnotationObject,\n} from '../type';\n\ninterface IProps {\n isOldMode?: boolean;\n mode: EditorMode;\n categories: Category[];\n setCategories?: Updater;\n drawData: DrawData;\n setDrawData: Updater;\n editState: EditState;\n updateObjectWithoutHistory: (\n object: IAnnotationObject,\n index: number,\n ) => void;\n updateAllObjectWithoutHistory: (objectList: IAnnotationObject[]) => void;\n}\n\nexport default function useLabels({\n isOldMode,\n categories,\n setCategories,\n drawData,\n setDrawData,\n editState,\n updateObjectWithoutHistory,\n updateAllObjectWithoutHistory,\n}: IProps) {\n const [aiLabels, setAiLabels] = useState(undefined);\n const curObjects = drawData.objectList;\n\n const labelOptions: Category[] = useMemo(() => {\n if (isOldMode) return categories;\n\n if (\n drawData.objectList[drawData.activeObjectIndex] ||\n drawData.selectedTool !== EBasicToolItem.Drag\n ) {\n const toolType = drawData.objectList[drawData.activeObjectIndex]\n ? Object.keys(EBasicToolTypeMap).find(\n (key) =>\n drawData.objectList[drawData.activeObjectIndex].type ===\n EBasicToolTypeMap[key as unknown as EBasicToolItem],\n )\n : drawData.selectedTool;\n const labelType = Object.keys(LABEL_TOOL_MAP).find(\n // @ts-ignore\n (key) => toolType === LABEL_TOOL_MAP[key],\n );\n return categories.filter((category) => category.labelType === labelType);\n }\n\n return [];\n }, [\n categories,\n drawData.objectList,\n drawData.activeObjectIndex,\n drawData.selectedTool,\n ]);\n\n const classificationOptions: Category[] = useMemo(() => {\n return (\n categories?.filter(\n (category) => category.labelType === ELabelType.Classification,\n ) || []\n );\n }, [categories]);\n\n const onCreateCategory = useCallback(\n (name: string) => {\n if (categories.find((item) => item.name === name) || !setCategories)\n return;\n setCategories((categories) => [\n ...categories,\n {\n id: name,\n name,\n },\n ]);\n },\n [categories],\n );\n\n const onChangeObjectHidden = useCallback(\n (index: number, hidden: boolean) => {\n const newObject = { ...drawData.objectList[index] };\n newObject.hidden = hidden;\n updateObjectWithoutHistory(newObject, index);\n },\n [drawData.objectList],\n );\n\n const onChangeCategoryHidden = useCallback(\n (categoryName: string, hidden: boolean) => {\n const updatedObjects = drawData.objectList.map((item) => {\n const temp = { ...item };\n if (\n categories.find((c) => c.id === item.labelId)?.name === categoryName\n ) {\n temp.hidden = hidden;\n }\n return temp;\n });\n updateAllObjectWithoutHistory(updatedObjects);\n },\n [drawData.objectList],\n );\n\n const onChangeElementVisible = (eleType: EElementType, visible: boolean) => {\n const newObject = { ...drawData.objectList[editState.focusObjectIndex] };\n switch (eleType) {\n case EElementType.Rect: {\n if (newObject.rect) {\n newObject.rect.visible = visible;\n updateObjectWithoutHistory(newObject, editState.focusObjectIndex);\n }\n break;\n }\n case EElementType.Polygon: {\n if (newObject.polygon) {\n newObject.polygon.visible = visible;\n updateObjectWithoutHistory(newObject, editState.focusObjectIndex);\n }\n break;\n }\n }\n };\n\n /**\n * Updates the visibility of a keypoint and then updates the object in the draw\n * data object list at the focus object index with the new object.\n *\n * @param {KEYPOINTS_VISIBLE_TYPE} visible - The visibility value for the keypoint.\n */\n const onChangePointVisible = useCallback(\n (pointIndex: number, visible: KEYPOINTS_VISIBLE_TYPE) => {\n const newObject = cloneDeep(\n drawData.objectList[drawData.activeObjectIndex],\n );\n const point = newObject.keypoints?.points?.[pointIndex];\n if (point) {\n point.visible = visible;\n }\n updateObjectWithoutHistory(newObject, drawData.activeObjectIndex);\n },\n [drawData.activeObjectIndex, drawData.objectList],\n );\n\n const onChangeActiveClass = useCallback((name: string) => {\n setDrawData((s) => {\n if (name === s.activeClassName) return;\n s.activeClassName = name;\n });\n }, []);\n\n useEffect(() => {\n if (drawData.activeObjectIndex < 0) return;\n const activeItemLabelName =\n categories.find(\n (item) =>\n item.id === drawData.objectList[drawData.activeObjectIndex].labelId,\n )?.name || '';\n if (activeItemLabelName !== drawData.activeClassName) {\n onChangeActiveClass(activeItemLabelName);\n }\n }, [drawData.activeObjectIndex]);\n\n return {\n labelOptions,\n classificationOptions,\n aiLabels,\n setAiLabels,\n curObjects,\n onChangeObjectHidden,\n onChangeCategoryHidden,\n onChangeElementVisible,\n onChangePointVisible,\n onChangeActiveClass,\n onCreateCategory,\n };\n}\n","import { useCallback, useEffect } from 'react';\n\nimport { EBasicToolItem } from '../constants';\nimport { DrawData, EditState } from '../type';\nimport { Direction } from '../utils/compute';\n\ninterface IProps {\n topCanvas: HTMLCanvasElement | null;\n editState: EditState;\n drawData: DrawData;\n}\n\nconst useMouseCursor = ({ topCanvas, editState, drawData }: IProps) => {\n const updateMouseCursor = useCallback(\n (value: string, position?: Direction) => {\n if (!topCanvas) return;\n\n let cursor = value;\n if (position) {\n switch (position) {\n case Direction.TOP:\n case Direction.BOTTOM:\n cursor = 'ns-resize';\n break;\n case Direction.TOP_LEFT:\n case Direction.BOTTOM_RIGHT:\n cursor = 'nwse-resize';\n break;\n case Direction.BOTTOM_LEFT:\n case Direction.TOP_RIGHT:\n cursor = 'nesw-resize';\n break;\n default:\n cursor = 'ew-resize';\n }\n }\n if (cursor !== topCanvas.style.cursor) {\n topCanvas.style.cursor = cursor;\n }\n },\n [topCanvas],\n );\n\n useEffect(() => {\n if (editState.allowMove) {\n updateMouseCursor('grabbing');\n } else {\n if (drawData.selectedTool === EBasicToolItem.Drag) {\n updateMouseCursor('grab');\n } else {\n updateMouseCursor('crosshair');\n }\n }\n }, [editState.allowMove]);\n\n return {\n updateMouseCursor,\n };\n};\n\nexport default useMouseCursor;\n","import { useCallback, useEffect, useRef } from 'react';\nimport useLatest from '../useLatest';\nimport { isNumber } from '../utils';\nvar setRafInterval = function (callback, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (typeof requestAnimationFrame === typeof undefined) {\n return {\n id: setInterval(callback, delay)\n };\n }\n var start = new Date().getTime();\n var handle = {\n id: 0\n };\n var loop = function () {\n var current = new Date().getTime();\n if (current - start >= delay) {\n callback();\n start = new Date().getTime();\n }\n handle.id = requestAnimationFrame(loop);\n };\n handle.id = requestAnimationFrame(loop);\n return handle;\n};\nfunction cancelAnimationFrameIsNotDefined(t) {\n return typeof cancelAnimationFrame === typeof undefined;\n}\nvar clearRafInterval = function (handle) {\n if (cancelAnimationFrameIsNotDefined(handle.id)) {\n return clearInterval(handle.id);\n }\n cancelAnimationFrame(handle.id);\n};\nfunction useRafInterval(fn, delay, options) {\n var immediate = options === null || options === void 0 ? void 0 : options.immediate;\n var fnRef = useLatest(fn);\n var timerRef = useRef();\n useEffect(function () {\n if (!isNumber(delay) || delay < 0) return;\n if (immediate) {\n fnRef.current();\n }\n timerRef.current = setRafInterval(function () {\n fnRef.current();\n }, delay);\n return function () {\n if (timerRef.current) {\n clearRafInterval(timerRef.current);\n }\n };\n }, [delay]);\n var clear = useCallback(function () {\n if (timerRef.current) {\n clearRafInterval(timerRef.current);\n }\n }, []);\n return clear;\n}\nexport default useRafInterval;","import { useEventListener, useRafInterval } from 'ahooks';\nimport { CursorState } from 'ahooks/lib/useMouse';\nimport { fixedFloatNum } from 'dds-utils/digit';\nimport { useCallback, useRef, useState } from 'react';\nimport { Updater } from 'use-immer';\n\nimport {\n EBasicToolItem,\n EBasicToolTypeMap,\n EElementType,\n EnumModelType,\n EObjectType,\n} from '../constants';\nimport { ToolInstanceHookReturn } from '../tools/base';\nimport {\n Category,\n DrawData,\n EditState,\n EditorMode,\n EObjectStatus,\n IAnnotationObject,\n} from '../type';\nimport {\n Direction,\n isInCanvas,\n judgeFocusOnElement,\n judgeFocusOnObject,\n judgeFocusOnPointAllObject,\n} from '../utils/compute';\n\ninterface IProps {\n visible: boolean;\n mode: EditorMode;\n drawData: DrawData;\n setDrawData: Updater;\n editState: EditState;\n setEditState: Updater;\n clientSize: ISize;\n contentMouse: CursorState;\n categories: Category[];\n updateRender: (updateDrawData?: DrawData) => void;\n updateMouseCursor: (value: string, position?: Direction) => void;\n objectHooksMap: Record;\n imagePos: React.MutableRefObject;\n containerMouse: CursorState;\n getAnnotColor: (category: string) => string;\n limitActiveObject?: boolean;\n}\n\nconst BOUNDING_OFFSET = 40;\nconst MOUSE_OFFSET = 10;\n\nconst useMouseEvents = ({\n visible,\n mode,\n drawData,\n setDrawData,\n editState,\n setEditState,\n clientSize,\n contentMouse,\n categories,\n updateRender,\n updateMouseCursor,\n objectHooksMap,\n imagePos,\n containerMouse,\n limitActiveObject,\n getAnnotColor,\n}: IProps) => {\n const moveVisibleAreaRef = useRef<{\n direction?: Direction;\n topMin: number;\n topMax: number;\n leftMin: number;\n leftMax: number;\n }>({\n topMin: 0,\n topMax: 0,\n leftMin: 0,\n leftMax: 0,\n });\n\n const [moveVisibleAreaInterval, setMoveVisibleAreaInterval] = useState<\n number | undefined\n >(undefined);\n\n useRafInterval(() => {\n let changed = false;\n if (\n moveVisibleAreaRef.current.direction?.includes('TOP') &&\n imagePos.current.y < moveVisibleAreaRef.current.topMax\n ) {\n imagePos.current.y += 8;\n changed = true;\n } else if (\n moveVisibleAreaRef.current.direction?.includes('BOTTOM') &&\n imagePos.current.y > moveVisibleAreaRef.current.topMin\n ) {\n imagePos.current.y -= 8;\n changed = true;\n }\n if (\n moveVisibleAreaRef.current.direction?.includes('LEFT') &&\n imagePos.current.x < moveVisibleAreaRef.current.leftMax\n ) {\n imagePos.current.x += 8;\n changed = true;\n } else if (\n moveVisibleAreaRef.current.direction?.includes('RIGHT') &&\n imagePos.current.x > moveVisibleAreaRef.current.leftMin\n ) {\n imagePos.current.x -= 8;\n changed = true;\n }\n if (!changed) {\n setMoveVisibleAreaInterval(undefined);\n }\n updateRender();\n }, moveVisibleAreaInterval);\n\n const checkContainerVisibleArea = () => {\n let direction = '';\n const topMax = BOUNDING_OFFSET;\n const topMin =\n containerMouse.elementH - contentMouse.elementH - BOUNDING_OFFSET;\n const leftMax = BOUNDING_OFFSET;\n const leftMin =\n containerMouse.elementW - contentMouse.elementW - BOUNDING_OFFSET;\n if (\n containerMouse.elementY <= MOUSE_OFFSET &&\n imagePos.current.y < topMax\n ) {\n direction = 'TOP';\n } else if (\n containerMouse.elementY >= containerMouse.elementH - MOUSE_OFFSET &&\n imagePos.current.y > topMin\n ) {\n direction = 'BOTTOM';\n }\n if (\n containerMouse.elementX <= MOUSE_OFFSET &&\n imagePos.current.x < leftMax\n ) {\n direction += direction ? '_LEFT' : 'LEFT';\n } else if (\n containerMouse.elementX >= containerMouse.elementW - MOUSE_OFFSET &&\n imagePos.current.x > leftMin\n ) {\n direction += direction ? '_RIGHT' : 'RIGHT';\n }\n\n if (direction) {\n moveVisibleAreaRef.current = {\n direction: direction as Direction,\n topMax,\n topMin,\n leftMax,\n leftMin,\n };\n setMoveVisibleAreaInterval(16);\n } else {\n setMoveVisibleAreaInterval(undefined);\n }\n };\n\n const getFocusFilter = () => {\n let focusFilter;\n if (drawData.isBatchEditing) {\n if (\n drawData.selectedTool === EBasicToolItem.Rectangle &&\n editState.isCtrlPressed\n ) {\n focusFilter = (obj: IAnnotationObject) =>\n obj.status === EObjectStatus.Unchecked;\n } else {\n focusFilter = (obj: IAnnotationObject) =>\n obj.status !== EObjectStatus.Unchecked;\n }\n }\n return focusFilter;\n };\n\n const updateFocusInfoWhenMouseMove = () => {\n if (!isInCanvas(containerMouse)) return;\n\n const focusObjectIndex = judgeFocusOnObject(\n clientSize,\n contentMouse,\n drawData.activeObjectIndex,\n drawData.objectList,\n getFocusFilter(),\n );\n /** If focus in active object */\n if (\n focusObjectIndex > -1 &&\n focusObjectIndex === drawData.activeObjectIndex\n ) {\n setEditState((s) => {\n s.focusObjectIndex = focusObjectIndex;\n });\n /** Update focus element index & mouse style */\n const activeObject = drawData.objectList[drawData.activeObjectIndex];\n const { focusEleIndex, focusEleType, focusPolygonInfo } =\n judgeFocusOnElement(contentMouse, activeObject);\n setEditState((s) => {\n s.focusEleIndex = focusEleIndex;\n s.focusEleType = focusEleType;\n s.focusPolygonInfo = focusPolygonInfo;\n });\n } else if (\n drawData.selectedTool === EBasicToolItem.Drag ||\n drawData.isBatchEditing\n ) {\n setEditState((s) => {\n s.focusObjectIndex = focusObjectIndex;\n s.focusEleIndex = -1;\n s.focusEleType = EElementType.None;\n s.focusPolygonInfo = {\n index: -1,\n pointIndex: -1,\n lineIndex: -1,\n };\n });\n } else {\n setEditState((s) => {\n s.focusObjectIndex = -1;\n s.focusEleIndex = -1;\n s.focusEleType = EElementType.None;\n s.focusPolygonInfo = {\n index: -1,\n pointIndex: -1,\n lineIndex: -1,\n };\n });\n }\n };\n\n const selectFocusObject = useCallback(\n (index: number, event?: MouseEvent) => {\n if (index < 0) return;\n const isMouseRightClick = event?.button === 2;\n if (isMouseRightClick) {\n // check all focus object on point\n const focusIndexs = judgeFocusOnPointAllObject(\n clientSize,\n contentMouse,\n drawData.objectList,\n getFocusFilter(),\n );\n if (focusIndexs.length > 0) {\n setEditState((s) => {\n s.foucsObjectAllIndexs = focusIndexs;\n });\n } else {\n setEditState((s) => {\n s.foucsObjectAllIndexs = [];\n });\n }\n return;\n }\n\n setDrawData((s) => {\n if (\n s.selectedTool === EBasicToolItem.Rectangle &&\n s.isBatchEditing &&\n editState.isCtrlPressed\n ) {\n s.objectList[index].status = EObjectStatus.Checked;\n setEditState((s) => {\n s.focusObjectIndex = -1;\n });\n } else {\n s.activeObjectIndex = index;\n if (!s.objectList[index]?.frameEmpty) {\n s.creatingObject = {\n ...s.objectList[index],\n currIndex: undefined,\n startPoint: undefined,\n tempMaskSteps: [],\n maskStep: undefined,\n };\n } else {\n s.creatingObject = undefined;\n }\n\n if (\n s.selectedTool !== EBasicToolItem.Drag &&\n s.objectList[index] &&\n EBasicToolTypeMap[s.selectedTool] !== s.objectList[index].type\n ) {\n s.selectedTool = EBasicToolItem.Drag;\n }\n }\n if (s.editingAttribute?.index !== index) {\n s.editingAttribute = undefined;\n }\n });\n },\n [clientSize.width, clientSize.height, contentMouse, drawData.objectList],\n );\n\n const mouseRightObjectsDropDownRender = () => {\n if (!editState.foucsObjectAllIndexs.length) {\n return <>;\n }\n const stopPropagation: React.MouseEventHandler = (\n event,\n ) => {\n event.stopPropagation();\n };\n const onFocusItem = (index: number) => {\n setEditState((s) => {\n s.focusObjectIndex = index;\n });\n };\n const onSelectItem = (index: number) => {\n selectFocusObject(index);\n setEditState((s) => {\n s.foucsObjectAllIndexs = [];\n });\n };\n return (\n event.preventDefault()}\n >\n {editState.foucsObjectAllIndexs.map((index) => (\n onFocusItem(index)}\n onMouseDown={() => onSelectItem(index)}\n >\n \n {categories.find(\n (c) => c.id === drawData.objectList[index]?.labelId,\n )?.name || ''}\n {drawData.isBatchEditing &&\n ` (${fixedFloatNum(drawData.objectList[index]?.conf || 0)})`}\n \n ))}\n \n );\n };\n\n const onMouseDown = (event: MouseEvent) => {\n if (\n !visible ||\n editState.allowMove ||\n editState.isRequiring ||\n !isInCanvas(contentMouse) ||\n !isInCanvas(containerMouse)\n )\n return;\n\n setEditState((s) => {\n s.foucsObjectAllIndexs = [];\n });\n\n // 1. Edit object\n if (drawData.creatingObject && drawData.activeObjectIndex > -1) {\n if (\n mode === EditorMode.Edit &&\n objectHooksMap[drawData.creatingObject.type].startEditingWhenMouseDown({\n event,\n object: drawData.creatingObject,\n })\n ) {\n return;\n }\n }\n\n // 2. Create object\n if (\n drawData.selectedTool !== EBasicToolItem.Drag &&\n (!drawData.isBatchEditing ||\n drawData.selectedModel[drawData.selectedTool] === EnumModelType.IVP)\n ) {\n setDrawData((s) => {\n s.editingAttribute = undefined;\n });\n const objectType = EBasicToolTypeMap[drawData.selectedTool];\n if (\n mode === EditorMode.Edit &&\n objectHooksMap[objectType].startCreatingWhenMouseDown({\n event,\n object: drawData.creatingObject,\n point: {\n x: contentMouse.elementX,\n y: contentMouse.elementY,\n },\n basic: {\n hidden: false,\n labelId: editState.latestLabelId || categories[0].id,\n status: EObjectStatus.Commited,\n color: getAnnotColor(editState.latestLabelId || categories[0].name),\n },\n })\n ) {\n return;\n }\n } else {\n if (editState.focusObjectIndex > -1 && !limitActiveObject) {\n // 3. Active object\n selectFocusObject(editState.focusObjectIndex, event);\n } else {\n // 4. Drag object\n setEditState((s) => {\n s.allowMove = true;\n });\n }\n }\n };\n\n const onMouseMove = (event: MouseEvent) => {\n if (!visible || editState.isRequiring || editState.allowMove) return;\n\n // update default cursor\n if (editState.focusObjectIndex > -1) {\n updateMouseCursor('pointer');\n } else if (drawData.selectedTool !== EBasicToolItem.Drag) {\n updateMouseCursor('crosshair');\n } else {\n updateMouseCursor('grab');\n }\n\n if (drawData.creatingObject && drawData.activeObjectIndex > -1) {\n // 1. Edit object\n if (\n mode === EditorMode.Edit &&\n objectHooksMap[drawData.creatingObject.type].updateEditingWhenMouseMove(\n {\n event,\n object: drawData.creatingObject,\n },\n )\n ) {\n const noUnfinishedMaskStep =\n drawData.creatingObject.type === EObjectType.Mask &&\n !drawData.creatingObject?.maskStep;\n if (!noUnfinishedMaskStep) {\n checkContainerVisibleArea();\n }\n updateRender();\n return;\n }\n } else if (\n drawData.selectedTool !== EBasicToolItem.Drag &&\n drawData.activeObjectIndex < 0\n ) {\n /** 2. Create Object */\n const objectType = EBasicToolTypeMap[drawData.selectedTool];\n if (\n mode === EditorMode.Edit &&\n objectHooksMap[objectType].updateCreatingWhenMouseMove({\n event,\n object: drawData.creatingObject,\n })\n ) {\n const noUnfinishedMaskStep =\n objectType === EObjectType.Mask && !drawData.creatingObject?.maskStep;\n if (!noUnfinishedMaskStep) {\n checkContainerVisibleArea();\n }\n updateRender();\n return;\n }\n }\n\n /** 3. Updata focus info */\n updateFocusInfoWhenMouseMove();\n updateRender();\n };\n\n const onMouseUp = (event: MouseEvent) => {\n setMoveVisibleAreaInterval(undefined);\n\n if (!visible || editState.isRequiring) return;\n\n if (editState.allowMove) {\n setEditState((s) => {\n s.allowMove = false;\n });\n return;\n }\n\n if (drawData.creatingObject && drawData.activeObjectIndex > -1) {\n // 1. Edit object\n if (\n mode === EditorMode.Edit &&\n objectHooksMap[drawData.creatingObject.type].finishEditingWhenMouseUp({\n event,\n object: drawData.creatingObject,\n })\n ) {\n return;\n }\n } else if (\n drawData.selectedTool !== EBasicToolItem.Drag &&\n drawData.activeObjectIndex < 0\n ) {\n /** 2. Create Object */\n const objectType = EBasicToolTypeMap[drawData.selectedTool];\n if (\n mode === EditorMode.Edit &&\n objectHooksMap[objectType].finishCreatingWhenMouseUp({\n event,\n object: drawData.creatingObject,\n })\n ) {\n return;\n }\n }\n };\n\n const forceChangeFocusObject = useCallback((index: number) => {\n setEditState((s) => {\n s.focusObjectIndex = index;\n });\n }, []);\n\n useEventListener('mousedown', (event) => {\n onMouseDown(event);\n });\n\n useEventListener('mousemove', (event) => {\n onMouseMove(event);\n });\n\n useEventListener('mouseup', (event) => {\n onMouseUp(event);\n });\n\n return {\n selectFocusObject,\n forceChangeFocusObject,\n mouseRightObjectsDropDownRender,\n };\n};\n\nexport default useMouseEvents;\n","import { cloneDeep } from 'lodash';\nimport { useCallback, useMemo } from 'react';\nimport { Updater } from 'use-immer';\n\nimport { EElementType, EObjectType } from '../constants';\nimport {\n BaseObject,\n DrawData,\n EditState,\n EditorMode,\n IAnnotationObject,\n DrawObject,\n IEditingAttribute,\n EObjectStatus,\n VideoFramesData,\n} from '../type';\n\ninterface IProps {\n mode: EditorMode;\n annotations: BaseObject[];\n setAnnotations: Updater;\n drawData: DrawData;\n setDrawData: Updater;\n setDrawDataWithHistory: Updater;\n framesData?: VideoFramesData;\n setFramesData?: Updater;\n setEditState: Updater;\n translateToObject?: (annotation: any, videoFrameCount?: number) => any;\n judgeEditingAttribute?: (\n object: IAnnotationObject,\n index: number,\n ) => IEditingAttribute | undefined;\n limitActiveObjectAfterCreate?: boolean;\n updateHistory: (drawData: DrawData, theframesData?: VideoFramesData) => void;\n}\n\nconst useObjects = ({\n mode,\n drawData,\n setDrawData,\n setDrawDataWithHistory,\n framesData,\n setFramesData,\n setEditState,\n translateToObject,\n judgeEditingAttribute,\n limitActiveObjectAfterCreate,\n updateHistory,\n}: IProps) => {\n const initObjectList = (annotations: DrawObject[]) => {\n setDrawData((s) => {\n const newDrawData = cloneDeep(s);\n const newFramesData = cloneDeep(framesData);\n newDrawData.initialized = true;\n if (newFramesData) {\n // video\n const objects = annotations.map(\n (annotation) =>\n translateToObject?.(annotation, newFramesData.list.length) || {},\n );\n newFramesData.objects = objects\n .filter((item) => !!item.objects)\n .map((item) => item.objects);\n newDrawData.classifications = objects\n .filter((item) => !!item.classification)\n .map((item) => item.classification);\n newDrawData.objectList = newFramesData.objects.map(\n (item) => item[newFramesData.activeIndex],\n );\n setFramesData?.(newFramesData);\n } else {\n // image\n const objects = annotations.map(\n (annotation) => translateToObject?.(annotation) || {},\n );\n newDrawData.classifications = objects.filter(\n (item) => item.type === EObjectType.Classification,\n );\n newDrawData.objectList = objects.filter(\n (item) =>\n item.type !== EObjectType.Custom &&\n item.type !== EObjectType.Classification,\n );\n }\n updateHistory(cloneDeep(newDrawData), cloneDeep(newFramesData));\n return newDrawData;\n });\n };\n\n const addObject = (object: IAnnotationObject, notActive?: boolean) => {\n if (mode !== EditorMode.Edit) return;\n setDrawDataWithHistory((s) => {\n s.objectList.push(object);\n\n if (limitActiveObjectAfterCreate) {\n s.creatingObject = undefined;\n s.activeObjectIndex = -1;\n } else {\n s.creatingObject = { ...object };\n s.activeObjectIndex = notActive ? -1 : s.objectList.length - 1;\n\n // Show attribut editor\n if (judgeEditingAttribute) {\n s.editingAttribute = judgeEditingAttribute(\n object,\n s.objectList.length - 1,\n );\n }\n }\n });\n };\n\n const removeObject = (index: number) => {\n if (mode !== EditorMode.Edit || !drawData.objectList[index]) return;\n setEditState((s) => {\n s.focusObjectIndex = -1;\n s.focusEleIndex = -1;\n s.focusEleType = EElementType.Rect;\n });\n\n const newFramesData = cloneDeep(framesData);\n const newDrawData = cloneDeep(drawData);\n if (newFramesData && newFramesData.objects[index]) {\n newFramesData.objects.splice(index, 1);\n setFramesData?.(newFramesData);\n }\n if (newDrawData.objectList[index]) {\n newDrawData.objectList.splice(index, 1);\n newDrawData.activeObjectIndex = -1;\n newDrawData.creatingObject = undefined;\n newDrawData.editingAttribute = undefined;\n }\n setDrawData(newDrawData);\n updateHistory(cloneDeep(newDrawData), cloneDeep(newFramesData));\n };\n\n const removeAllObjects = useCallback(() => {\n if (mode !== EditorMode.Edit) return;\n setEditState((s) => {\n s.focusObjectIndex = -1;\n s.focusEleIndex = -1;\n s.focusEleType = EElementType.Rect;\n });\n\n const newFramesData = cloneDeep(framesData);\n const newDrawData = cloneDeep(drawData);\n if (newFramesData) {\n newFramesData.objects = [];\n setFramesData?.(newFramesData);\n }\n newDrawData.objectList = [];\n newDrawData.activeObjectIndex = -1;\n newDrawData.creatingObject = undefined;\n newDrawData.editingAttribute = undefined;\n setDrawData(newDrawData);\n updateHistory(cloneDeep(newDrawData), cloneDeep(newFramesData));\n }, [mode, framesData, drawData]);\n\n const updateObject = (object: IAnnotationObject, index: number) => {\n if (mode !== EditorMode.Edit || !drawData.objectList[index]) return;\n setDrawDataWithHistory((s) => {\n // Change label & Show attribut editor\n if (\n object.labelId !== s.objectList[index].labelId &&\n judgeEditingAttribute\n ) {\n s.editingAttribute = judgeEditingAttribute(object, index);\n }\n\n s.objectList[index] = object;\n if (s.creatingObject && s.activeObjectIndex === index) {\n s.creatingObject = { ...object };\n }\n });\n };\n\n const updateAllObject = (objectList: IAnnotationObject[]) => {\n setDrawDataWithHistory((s) => {\n s.objectList = objectList;\n if (s.creatingObject && s.objectList[s.activeObjectIndex]) {\n s.creatingObject = { ...s.objectList[s.activeObjectIndex] };\n }\n });\n };\n\n const updateObjectWithoutHistory = (\n object: IAnnotationObject,\n index: number,\n ) => {\n if (!drawData.objectList[index]) return;\n setDrawData((s) => {\n s.objectList[index] = object;\n if (s.creatingObject && s.activeObjectIndex === index) {\n s.creatingObject = { ...object };\n }\n });\n };\n\n const updateAllObjectWithoutHistory = (objectList: IAnnotationObject[]) => {\n setDrawData((s) => {\n s.objectList = objectList;\n if (s.creatingObject && s.objectList[s.activeObjectIndex]) {\n s.creatingObject = { ...s.objectList[s.activeObjectIndex] };\n }\n });\n };\n\n const commitedObjects = useMemo(() => {\n return drawData.objectList.filter((obj) => {\n return obj.status === EObjectStatus.Commited;\n });\n }, [drawData.isBatchEditing, drawData.objectList]);\n\n const currObject = useMemo(() => {\n return (\n drawData.objectList[drawData.activeObjectIndex] || drawData.creatingObject\n );\n }, [\n drawData.objectList,\n drawData.activeObjectIndex,\n drawData.creatingObject,\n ]);\n\n return {\n initObjectList,\n addObject,\n removeObject,\n removeAllObjects,\n updateObject,\n updateAllObject,\n updateObjectWithoutHistory,\n updateAllObjectWithoutHistory,\n commitedObjects,\n currObject,\n };\n};\n\nexport default useObjects;\n","import { useKeyPress } from 'ahooks';\nimport { Updater } from 'use-immer';\n\nimport { EObjectType } from '../constants';\nimport { EDITOR_SHORTCUTS, EShortcuts } from '../constants/shortcuts';\nimport {\n Category,\n DrawData,\n EditState,\n EditorMode,\n IAnnotationObject,\n} from '../type';\n\ninterface IProps {\n visible: boolean;\n mode: EditorMode;\n drawData: DrawData;\n categories: Category[];\n isMousePress: boolean;\n setDrawData: Updater;\n setEditState: Updater;\n onSaveAnnotations?: () => void;\n onAcceptAnnotations?: () => void;\n onRejectAnnotations?: () => void;\n onChangeObjectHidden: (index: number, hidden: boolean) => void;\n onChangeCategoryHidden: (category: string, hidden: boolean) => void;\n removeObject: (index: number) => void;\n addObject: (object: IAnnotationObject, notActive?: boolean) => void;\n}\n\nconst useShortcuts = ({\n visible,\n mode,\n drawData,\n categories,\n isMousePress,\n setDrawData,\n setEditState,\n onSaveAnnotations,\n onAcceptAnnotations,\n onRejectAnnotations,\n onChangeObjectHidden,\n onChangeCategoryHidden,\n removeObject,\n addObject,\n}: IProps) => {\n /** Save Results */\n useKeyPress(\n EDITOR_SHORTCUTS[EShortcuts.Save].shortcut,\n (event: KeyboardEvent) => {\n event.preventDefault();\n if (mode === EditorMode.Edit) {\n onSaveAnnotations?.();\n }\n },\n {\n exactMatch: true,\n },\n );\n\n /** Accept Results */\n useKeyPress(\n EDITOR_SHORTCUTS[EShortcuts.Accept].shortcut,\n (event: KeyboardEvent) => {\n event.preventDefault();\n onAcceptAnnotations?.();\n },\n {\n exactMatch: true,\n },\n );\n\n /** Reject Results */\n useKeyPress(\n EDITOR_SHORTCUTS[EShortcuts.Reject].shortcut,\n (event: KeyboardEvent) => {\n event.preventDefault();\n onRejectAnnotations?.();\n },\n {\n exactMatch: true,\n },\n );\n\n /** Pan Image */\n useKeyPress(\n EDITOR_SHORTCUTS[EShortcuts.PanImage].shortcut,\n (event: KeyboardEvent) => {\n if (!visible) return;\n // event.preventDefault();\n if (event.type === 'keydown' && !isMousePress) {\n setEditState((s) => {\n s.allowMove = true;\n });\n } else if (event.type === 'keyup') {\n setEditState((s) => {\n s.allowMove = false;\n });\n }\n },\n {\n events: ['keydown', 'keyup'],\n },\n );\n\n /** Cancel Current Selected Object or Creaing Object */\n useKeyPress(\n EDITOR_SHORTCUTS[EShortcuts.CancelCurrObject].shortcut,\n (event: KeyboardEvent) => {\n if (!visible) return;\n if (event.type === 'keyup') {\n if (drawData.creatingObject) {\n setDrawData((s) => {\n if (\n s.creatingObject?.type === EObjectType.Mask &&\n s.creatingObject?.maskStep?.points?.length &&\n s.creatingObject?.tempMaskSteps?.length\n ) {\n // Creating single Mask\n s.creatingObject.maskStep = undefined;\n } else {\n s.creatingObject = undefined;\n s.activeObjectIndex = -1;\n }\n if (s.AIAnnotation) {\n s.prompt = {};\n }\n });\n } else {\n setDrawData((s) => {\n s.activeObjectIndex = -1;\n });\n }\n }\n },\n { events: ['keydown', 'keyup'] },\n );\n\n /** Hide Current Selected Object */\n useKeyPress(\n EDITOR_SHORTCUTS[EShortcuts.HideCurrObject].shortcut,\n (event) => {\n if (drawData.activeObjectIndex < 0) return;\n event.preventDefault();\n onChangeObjectHidden(\n drawData.activeObjectIndex,\n !drawData.objectList[drawData.activeObjectIndex].hidden,\n );\n },\n {\n exactMatch: true,\n },\n );\n\n /** Hide the Category of Current Object */\n useKeyPress(\n EDITOR_SHORTCUTS[EShortcuts.HideCurrCategory].shortcut,\n (event) => {\n if (drawData.activeObjectIndex < 0) return;\n event.preventDefault();\n const { labelId, hidden } =\n drawData.objectList[drawData.activeObjectIndex];\n const labelName = categories.find((c) => c.id === labelId)?.name || '';\n onChangeCategoryHidden(labelName, !hidden);\n },\n {\n exactMatch: true,\n },\n );\n\n /** Delete Current Selected Object */\n useKeyPress(\n EDITOR_SHORTCUTS[EShortcuts.DeleteCurrObject].shortcut,\n (event) => {\n if (!visible || mode !== EditorMode.Edit) return;\n if (['Delete', 'Backspace'].includes(event.key)) {\n if (drawData.activeObjectIndex > -1) {\n removeObject(drawData.activeObjectIndex);\n }\n }\n },\n { events: ['keyup'] },\n );\n\n /** Change isCtrlPressed state */\n useKeyPress(\n ['ctrl'],\n (event: KeyboardEvent) => {\n if (drawData.activeObjectIndex > -1) return;\n setEditState((s) => {\n const targetPressed = event.type === 'keydown';\n if (s.isCtrlPressed === targetPressed) return s;\n s.isCtrlPressed = Boolean(event.type === 'keydown');\n s.focusObjectIndex = -1;\n s.foucsObjectAllIndexs = [];\n });\n },\n { events: ['keydown', 'keyup'] },\n );\n\n /** Hide currently creating / editing mask */\n useKeyPress(\n ['v'],\n (event: KeyboardEvent) => {\n setEditState((s) => {\n const targetPressed = event.type === 'keydown';\n if (s.hideCreatingObject === targetPressed) return s;\n s.hideCreatingObject = Boolean(event.type === 'keydown');\n });\n },\n { events: ['keydown', 'keyup'] },\n );\n\n /** Close manually creating polygon */\n useKeyPress(\n ['enter'],\n () => {\n if (\n !drawData.AIAnnotation &&\n drawData.creatingObject &&\n drawData.creatingObject.type === EObjectType.Polygon\n ) {\n const { polygon, type, hidden, labelId, status, color } =\n drawData.creatingObject!;\n if (polygon && polygon.group && polygon.group[0].length > 2) {\n const newObject: IAnnotationObject = {\n polygon,\n type,\n hidden,\n labelId,\n status,\n color,\n };\n addObject(newObject);\n }\n }\n },\n {\n exactMatch: true,\n events: ['keyup'],\n },\n );\n\n return {};\n};\n\nexport default useShortcuts;\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgAddPrompt = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ viewBox: \"0 0 19 19\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props), /* @__PURE__ */ React.createElement(\"path\", { d: \"M18.33 4.069a.67.67 0 0 0 .67-.672V.671A.672.672 0 0 0 18.33 0h-2.718a.67.67 0 0 0-.671.671v.672H4.066V.67A.672.672 0 0 0 3.395 0H.67A.67.67 0 0 0 0 .671v2.72a.672.672 0 0 0 .67.67h.672v10.877H.67A.67.67 0 0 0 0 15.61v2.72A.672.672 0 0 0 .67 19h2.718a.67.67 0 0 0 .671-.671v-.672h10.869v.672a.672.672 0 0 0 .67.671h2.718a.67.67 0 0 0 .67-.671v-2.706a.672.672 0 0 0-.67-.671h-.671V4.069h.684Zm-2.014 10.876h-.67a.67.67 0 0 0-.671.671v.672H4.065v-.672a.672.672 0 0 0-.67-.671h-.671V4.069h.67a.67.67 0 0 0 .672-.672v-.671h10.868v.671a.672.672 0 0 0 .671.672h.671l.02 5.438.02 5.438Z\", fill: \"#fff\" }), /* @__PURE__ */ React.createElement(\"g\", { clipPath: \"url(#add-prompt_svg__a)\" }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M14.51 5.884a.851.851 0 0 0-1.204 0l-5.418 5.423-2.409-2.41a.851.851 0 1 0-1.204 1.205l3.01 3.012a.849.849 0 0 0 1.205 0l6.02-6.025a.852.852 0 0 0 0-1.205Z\", fill: \"#fff\" })), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"clipPath\", { id: \"add-prompt_svg__a\" }, /* @__PURE__ */ React.createElement(\"path\", { fill: \"#fff\", transform: \"translate(4.025 4.129)\", d: \"M0 0h10.735v10.742H0z\" }))));\nexport { SvgAddPrompt as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTkgMTkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE4LjMzIDQuMDY5YS42Ny42NyAwIDAgMCAuNjctLjY3MlYuNjcxQS42NzIuNjcyIDAgMCAwIDE4LjMzIDBoLTIuNzE4YS42Ny42NyAwIDAgMC0uNjcxLjY3MXYuNjcySDQuMDY2Vi42N0EuNjcyLjY3MiAwIDAgMCAzLjM5NSAwSC42N0EuNjcuNjcgMCAwIDAgMCAuNjcxdjIuNzJhLjY3Mi42NzIgMCAwIDAgLjY3LjY3aC42NzJ2MTAuODc3SC42N0EuNjcuNjcgMCAwIDAgMCAxNS42MXYyLjcyQS42NzIuNjcyIDAgMCAwIC42NyAxOWgyLjcxOGEuNjcuNjcgMCAwIDAgLjY3MS0uNjcxdi0uNjcyaDEwLjg2OXYuNjcyYS42NzIuNjcyIDAgMCAwIC42Ny42NzFoMi43MThhLjY3LjY3IDAgMCAwIC42Ny0uNjcxdi0yLjcwNmEuNjcyLjY3MiAwIDAgMC0uNjctLjY3MWgtLjY3MVY0LjA2OWguNjg0Wm0tMi4wMTQgMTAuODc2aC0uNjdhLjY3LjY3IDAgMCAwLS42NzEuNjcxdi42NzJINC4wNjV2LS42NzJhLjY3Mi42NzIgMCAwIDAtLjY3LS42NzFoLS42NzFWNC4wNjloLjY3YS42Ny42NyAwIDAgMCAuNjcyLS42NzJ2LS42NzFoMTAuODY4di42NzFhLjY3Mi42NzIgMCAwIDAgLjY3MS42NzJoLjY3MWwuMDIgNS40MzguMDIgNS40MzhaIiBmaWxsPSIjZmZmIi8+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJNMTQuNTEgNS44ODRhLjg1MS44NTEgMCAwIDAtMS4yMDQgMGwtNS40MTggNS40MjMtMi40MDktMi40MWEuODUxLjg1MSAwIDEgMC0xLjIwNCAxLjIwNWwzLjAxIDMuMDEyYS44NDkuODQ5IDAgMCAwIDEuMjA1IDBsNi4wMi02LjAyNWEuODUyLjg1MiAwIDAgMCAwLTEuMjA1WiIgZmlsbD0iI2ZmZiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGZpbGw9IiNmZmYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQuMDI1IDQuMTI5KSIgZD0iTTAgMGgxMC43MzV2MTAuNzQySDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+\";\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgBrushAdd = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ width: 16, height: 16, viewBox: \"0 0 20 20\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props), /* @__PURE__ */ React.createElement(\"g\", { clipPath: \"url(#brush-add_svg__a)\", fill: \"#fff\" }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M5.07 10.37 4.02 9.22l-.46-.46a1.42 1.42 0 0 1 0-1.89l.41-.41 3.84-3.73L10.34.22a.71.71 0 0 1 1.07 0c.34.31.67.63 1 .93a.66.66 0 0 1 .22.69c-.1.43-.19.87-.28 1.34l.69-.13c.25 0 .5-.1.75-.12a.82.82 0 0 1 .69.26l4.47 4.37.45.44a.87.87 0 0 1 0 1.3l-2 2-.08.08-1.34-.79 1.89-1.95-.33-.33-3.78-3.71a.3.3 0 0 0-.32-.09l-1.89.37A.74.74 0 0 1 10.7 4c.06-.33.12-.65.19-1s.1-.58.18-.85a.31.31 0 0 0-.17-.4L6.7 5.94l5 4.85c-.3.21-.61.4-.88.62a4.76 4.76 0 0 0-1.75 3 .88.88 0 0 1-.25.44l-2.94 3.37a3.42 3.42 0 0 1-5 .22 3 3 0 0 1-.83-2 3.39 3.39 0 0 1 1.33-2.88l3.32-2.89.37-.3Z\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M17.88 13.99a4.06 4.06 0 0 0-4.46-2.68 4 4 0 0 0 .61 7.9c.22 0 .44 0 .65-.06a4 4 0 0 0 3.2-5.16Zm-2.31 2.13h-.62v.58a.94.94 0 0 1-1.87 0v-.58h-.58a.94.94 0 0 1 0-1.87h.58v-.56a.94.94 0 1 1 1.87 0v.53h.62a.94.94 0 0 1 0 1.87v.03Z\" })), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"clipPath\", { id: \"brush-add_svg__a\" }, /* @__PURE__ */ React.createElement(\"path\", { fill: \"#fff\", d: \"M0 0h19.7v19.44H0z\" }))));\nexport { SvgBrushAdd as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjYSkiIGZpbGw9IiNmZmYiPjxwYXRoIGQ9Ik01LjA3IDEwLjM3IDQuMDIgOS4yMmwtLjQ2LS40NmExLjQyIDEuNDIgMCAwIDEgMC0xLjg5bC40MS0uNDEgMy44NC0zLjczTDEwLjM0LjIyYS43MS43MSAwIDAgMSAxLjA3IDBjLjM0LjMxLjY3LjYzIDEgLjkzYS42Ni42NiAwIDAgMSAuMjIuNjljLS4xLjQzLS4xOS44Ny0uMjggMS4zNGwuNjktLjEzYy4yNSAwIC41LS4xLjc1LS4xMmEuODIuODIgMCAwIDEgLjY5LjI2bDQuNDcgNC4zNy40NS40NGEuODcuODcgMCAwIDEgMCAxLjNsLTIgMi0uMDguMDgtMS4zNC0uNzkgMS44OS0xLjk1LS4zMy0uMzMtMy43OC0zLjcxYS4zLjMgMCAwIDAtLjMyLS4wOWwtMS44OS4zN0EuNzQuNzQgMCAwIDEgMTAuNyA0Yy4wNi0uMzMuMTItLjY1LjE5LTFzLjEtLjU4LjE4LS44NWEuMzEuMzEgMCAwIDAtLjE3LS40TDYuNyA1Ljk0bDUgNC44NWMtLjMuMjEtLjYxLjQtLjg4LjYyYTQuNzYgNC43NiAwIDAgMC0xLjc1IDMgLjg4Ljg4IDAgMCAxLS4yNS40NGwtMi45NCAzLjM3YTMuNDIgMy40MiAwIDAgMS01IC4yMiAzIDMgMCAwIDEtLjgzLTIgMy4zOSAzLjM5IDAgMCAxIDEuMzMtMi44OGwzLjMyLTIuODkuMzctLjNaIi8+PHBhdGggZD0iTTE3Ljg4IDEzLjk5YTQuMDYgNC4wNiAwIDAgMC00LjQ2LTIuNjggNCA0IDAgMCAwIC42MSA3LjljLjIyIDAgLjQ0IDAgLjY1LS4wNmE0IDQgMCAwIDAgMy4yLTUuMTZabS0yLjMxIDIuMTNoLS42MnYuNThhLjk0Ljk0IDAgMCAxLTEuODcgMHYtLjU4aC0uNThhLjk0Ljk0IDAgMCAxIDAtMS44N2guNTh2LS41NmEuOTQuOTQgMCAxIDEgMS44NyAwdi41M2guNjJhLjk0Ljk0IDAgMCAxIDAgMS44N3YuMDNaIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGgxOS43djE5LjQ0SDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+\";\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgBrushErase = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ width: 16, height: 16, viewBox: \"0 0 20 20\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props), /* @__PURE__ */ React.createElement(\"g\", { clipPath: \"url(#brush-erase_svg__a)\", fill: \"#fff\" }, /* @__PURE__ */ React.createElement(\"path\", { d: \"m6.47 5.69 4.8 4.7c-.29.2-.59.38-.85.59a4.73 4.73 0 0 0-1.74 3.05.45.45 0 0 1-.1.21l-2.89 3.34a3.24 3.24 0 0 1-2.47 1.2 3 3 0 0 1-3.23-3.1 3.34 3.34 0 0 1 1.39-2.7c1.16-.95 2.29-1.93 3.44-2.89l.14-.1-.4-.38-1-1a1.38 1.38 0 0 1 0-2.07L7.7 2.48c.76-.7 1.52-1.5 2.29-2.24a.69.69 0 0 1 1.05 0l1 .91a.59.59 0 0 1 .18.63c-.09.43-.18.87-.27 1.33l1.27-.25a.88.88 0 0 1 .84.24l2.71 2.68 2 1.92a.9.9 0 0 1 .29.8.66.66 0 0 1-.16.35c-.7.7-1.41 1.39-2.12 2.08l-1.28-.77 1.84-1.79V8.3l-4-3.88a.29.29 0 0 0-.28-.07l-1.84.43a.86.86 0 0 1-.8-.26.571.571 0 0 1-.13-.56c.12-.59.24-1.17.37-1.76 0-.19 0-.33-.18-.42L6.47 5.69Z\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M9.69 14.71a3.88 3.88 0 1 1 3.88 3.8 3.83 3.83 0 0 1-3.88-3.8Zm3.87 1h1.57a1 1 0 0 0 1-1 1 1 0 0 0-1-1.06h-3.14a1 1 0 0 0 0 2l1.57.06Z\" })), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"clipPath\", { id: \"brush-erase_svg__a\" }, /* @__PURE__ */ React.createElement(\"path\", { fill: \"#fff\", d: \"M0 0h19.03v18.77H0z\" }))));\nexport { SvgBrushErase as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjYSkiIGZpbGw9IiNmZmYiPjxwYXRoIGQ9Im02LjQ3IDUuNjkgNC44IDQuN2MtLjI5LjItLjU5LjM4LS44NS41OWE0LjczIDQuNzMgMCAwIDAtMS43NCAzLjA1LjQ1LjQ1IDAgMCAxLS4xLjIxbC0yLjg5IDMuMzRhMy4yNCAzLjI0IDAgMCAxLTIuNDcgMS4yIDMgMyAwIDAgMS0zLjIzLTMuMSAzLjM0IDMuMzQgMCAwIDEgMS4zOS0yLjdjMS4xNi0uOTUgMi4yOS0xLjkzIDMuNDQtMi44OWwuMTQtLjEtLjQtLjM4LTEtMWExLjM4IDEuMzggMCAwIDEgMC0yLjA3TDcuNyAyLjQ4Yy43Ni0uNyAxLjUyLTEuNSAyLjI5LTIuMjRhLjY5LjY5IDAgMCAxIDEuMDUgMGwxIC45MWEuNTkuNTkgMCAwIDEgLjE4LjYzYy0uMDkuNDMtLjE4Ljg3LS4yNyAxLjMzbDEuMjctLjI1YS44OC44OCAwIDAgMSAuODQuMjRsMi43MSAyLjY4IDIgMS45MmEuOS45IDAgMCAxIC4yOS44LjY2LjY2IDAgMCAxLS4xNi4zNWMtLjcuNy0xLjQxIDEuMzktMi4xMiAyLjA4bC0xLjI4LS43NyAxLjg0LTEuNzlWOC4zbC00LTMuODhhLjI5LjI5IDAgMCAwLS4yOC0uMDdsLTEuODQuNDNhLjg2Ljg2IDAgMCAxLS44LS4yNi41NzEuNTcxIDAgMCAxLS4xMy0uNTZjLjEyLS41OS4yNC0xLjE3LjM3LTEuNzYgMC0uMTkgMC0uMzMtLjE4LS40Mkw2LjQ3IDUuNjlaIi8+PHBhdGggZD0iTTkuNjkgMTQuNzFhMy44OCAzLjg4IDAgMSAxIDMuODggMy44IDMuODMgMy44MyAwIDAgMS0zLjg4LTMuOFptMy44NyAxaDEuNTdhMSAxIDAgMCAwIDEtMSAxIDEgMCAwIDAtMS0xLjA2aC0zLjE0YTEgMSAwIDAgMCAwIDJsMS41Ny4wNloiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDE5LjAzdjE4Ljc3SDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+\";\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgEdgeStitch = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 34.02 34.02\" }, props), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"style\", null, \".edge-stitch_svg__cls-1{fill:#fcfefe}.edge-stitch_svg__cls-3{fill:#fff}\")), /* @__PURE__ */ React.createElement(\"path\", { className: \"edge-stitch_svg__cls-1\", d: \"M22.25 18.52a.82.82 0 0 0 .57.15h4.3a1.44 1.44 0 1 0 0-2.87h-.86L31 11.06a1.42 1.42 0 0 0-2-2l-4.73 4.74v-.86a1.44 1.44 0 1 0-2.87 0v4.3a.87.87 0 0 0 .14.57 1.67 1.67 0 0 0 .71.71ZM9.91 31.58a1.31 1.31 0 0 0 1-.43l4.74-4.74v.86a1.44 1.44 0 1 0 2.87 0V23a.82.82 0 0 0-.15-.57 1.7 1.7 0 0 0-.71-.72.85.85 0 0 0-.58-.15h-4.3a1.44 1.44 0 1 0 0 2.87h.86l-4.73 4.71a1.38 1.38 0 0 0 0 2 1.31 1.31 0 0 0 1 .44Z\" }), /* @__PURE__ */ React.createElement(\"path\", { style: {\n fill: \"none\",\n stroke: \"#fff\",\n strokeLinecap: \"round\",\n strokeMiterlimit: 10,\n strokeWidth: 3\n}, d: \"m14.4 14.51 11.14 11.14\" }), /* @__PURE__ */ React.createElement(\"path\", { className: \"edge-stitch_svg__cls-3\", d: \"M7.51 5.7a3.41 3.41 0 0 1 .74.45c.85.8 1.67 1.64 2.49 2.47a1.19 1.19 0 1 1-1.69 1.67Q7.77 9 6.53 7.77a1.13 1.13 0 0 1-.26-1.33 1.33 1.33 0 0 1 1.24-.74ZM19.85 10.84a5.11 5.11 0 0 1-.92-.75.93.93 0 0 1 .07-1.24c.94-1 1.89-1.95 2.88-2.87a1.07 1.07 0 0 1 1.51.09 1.09 1.09 0 0 1 .11 1.56c-.91 1-1.87 1.9-2.83 2.83a2.88 2.88 0 0 1-.82.38ZM7.26 23.44a5 5 0 0 1-.92-.73.92.92 0 0 1 .06-1.24Q7.81 20 9.31 18.56a1.08 1.08 0 0 1 1.51.14 1.1 1.1 0 0 1 .09 1.52C10 21.21 9 22.15 8 23.09a3.07 3.07 0 0 1-.74.35ZM16.16 5.64v1.67A1.24 1.24 0 0 1 15 8.59a1.22 1.22 0 0 1-1.19-1.28v-3.4A1.22 1.22 0 0 1 15 2.63a1.23 1.23 0 0 1 1.19 1.29c-.01.57-.03 1.15-.03 1.72ZM6 15.73H4.38a1.2 1.2 0 1 1 0-2.4h3.34a1.2 1.2 0 1 1 0 2.4c-.58.02-1.15 0-1.72 0Z\" }));\nexport { SvgEdgeStitch as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNC4wMiAzNC4wMiI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiNmY2ZlZmV9LmNscy0ze2ZpbGw6I2ZmZn08L3N0eWxlPjwvZGVmcz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0yMi4yNSAxOC41MmEuODIuODIgMCAwIDAgLjU3LjE1aDQuM2ExLjQ0IDEuNDQgMCAxIDAgMC0yLjg3aC0uODZMMzEgMTEuMDZhMS40MiAxLjQyIDAgMCAwLTItMmwtNC43MyA0Ljc0di0uODZhMS40NCAxLjQ0IDAgMSAwLTIuODcgMHY0LjNhLjg3Ljg3IDAgMCAwIC4xNC41NyAxLjY3IDEuNjcgMCAwIDAgLjcxLjcxWk05LjkxIDMxLjU4YTEuMzEgMS4zMSAwIDAgMCAxLS40M2w0Ljc0LTQuNzR2Ljg2YTEuNDQgMS40NCAwIDEgMCAyLjg3IDBWMjNhLjgyLjgyIDAgMCAwLS4xNS0uNTcgMS43IDEuNyAwIDAgMC0uNzEtLjcyLjg1Ljg1IDAgMCAwLS41OC0uMTVoLTQuM2ExLjQ0IDEuNDQgMCAxIDAgMCAyLjg3aC44NmwtNC43MyA0LjcxYTEuMzggMS4zOCAwIDAgMCAwIDIgMS4zMSAxLjMxIDAgMCAwIDEgLjQ0WiIvPjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZmY7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7c3Ryb2tlLXdpZHRoOjNweCIgZD0ibTE0LjQgMTQuNTEgMTEuMTQgMTEuMTQiLz48cGF0aCBjbGFzcz0iY2xzLTMiIGQ9Ik03LjUxIDUuN2EzLjQxIDMuNDEgMCAwIDEgLjc0LjQ1Yy44NS44IDEuNjcgMS42NCAyLjQ5IDIuNDdhMS4xOSAxLjE5IDAgMSAxLTEuNjkgMS42N1E3Ljc3IDkgNi41MyA3Ljc3YTEuMTMgMS4xMyAwIDAgMS0uMjYtMS4zMyAxLjMzIDEuMzMgMCAwIDEgMS4yNC0uNzRaTTE5Ljg1IDEwLjg0YTUuMTEgNS4xMSAwIDAgMS0uOTItLjc1LjkzLjkzIDAgMCAxIC4wNy0xLjI0Yy45NC0xIDEuODktMS45NSAyLjg4LTIuODdhMS4wNyAxLjA3IDAgMCAxIDEuNTEuMDkgMS4wOSAxLjA5IDAgMCAxIC4xMSAxLjU2Yy0uOTEgMS0xLjg3IDEuOS0yLjgzIDIuODNhMi44OCAyLjg4IDAgMCAxLS44Mi4zOFpNNy4yNiAyMy40NGE1IDUgMCAwIDEtLjkyLS43My45Mi45MiAwIDAgMSAuMDYtMS4yNFE3LjgxIDIwIDkuMzEgMTguNTZhMS4wOCAxLjA4IDAgMCAxIDEuNTEuMTQgMS4xIDEuMSAwIDAgMSAuMDkgMS41MkMxMCAyMS4yMSA5IDIyLjE1IDggMjMuMDlhMy4wNyAzLjA3IDAgMCAxLS43NC4zNVpNMTYuMTYgNS42NHYxLjY3QTEuMjQgMS4yNCAwIDAgMSAxNSA4LjU5YTEuMjIgMS4yMiAwIDAgMS0xLjE5LTEuMjh2LTMuNEExLjIyIDEuMjIgMCAwIDEgMTUgMi42M2ExLjIzIDEuMjMgMCAwIDEgMS4xOSAxLjI5Yy0uMDEuNTctLjAzIDEuMTUtLjAzIDEuNzJaTTYgMTUuNzNINC4zOGExLjIgMS4yIDAgMSAxIDAtMi40aDMuMzRhMS4yIDEuMiAwIDEgMSAwIDIuNGMtLjU4LjAyLTEuMTUgMC0xLjcyIDBaIi8+PC9zdmc+\";\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgMagicBox = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 34.02 34.02\" }, props), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"style\", null, \".magic-box_svg__cls-1,.magic-box_svg__cls-3{fill:none}.magic-box_svg__cls-2{fill:#fcfefe}.magic-box_svg__cls-3{stroke:#fcfeff;stroke-linecap:round;stroke-miterlimit:10;stroke-width:2px}\")), /* @__PURE__ */ React.createElement(\"path\", { className: \"magic-box_svg__cls-1\", d: \"M5.28 16.36V6.08a1 1 0 0 1 1-1h22.2a1 1 0 0 1 1 1v21.67a1 1 0 0 1-1 .95h-10v2.39H31.4V2.74H3.17v13.62ZM3.06 2.74h.11v13.62h-.11z\" }), /* @__PURE__ */ React.createElement(\"path\", { className: \"magic-box_svg__cls-2\", d: \"M7.28 7.12H27.4V26.7h-8.91v2h10a1 1 0 0 0 1-.95V6.08a1 1 0 0 0-1-1H6.24a1 1 0 0 0-1 1v10.28h2Z\" }), /* @__PURE__ */ React.createElement(\"path\", { className: \"magic-box_svg__cls-2\", d: \"M4.82 28.43a.87.87 0 0 0 .11 1.19 1 1 0 0 0 1.19.09c3.29-2.56 4.66-2.56 8 0a.92.92 0 0 0 1.28-1.28c-2.56-3.29-2.56-4.66 0-8a.92.92 0 0 0-1.28-1.28c-3.29 2.56-4.66 2.56-8 0a1.37 1.37 0 0 0-.55-.15.83.83 0 0 0-.64.27.87.87 0 0 0-.09 1.19c2.63 3.31 2.63 4.59-.02 7.97Z\" }), /* @__PURE__ */ React.createElement(\"path\", { className: \"magic-box_svg__cls-3\", d: \"m19.24 10.15 5.75-.07M24.99 15.91v-5.83M17.97 17.19l7.02-7.11\" }));\nexport { SvgMagicBox as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNC4wMiAzNC4wMiI+PGRlZnM+PHN0eWxlPi5jbHMtMSwuY2xzLTN7ZmlsbDpub25lfS5jbHMtMntmaWxsOiNmY2ZlZmV9LmNscy0ze3N0cm9rZTojZmNmZWZmO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO3N0cm9rZS13aWR0aDoycHh9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNS4yOCAxNi4zNlY2LjA4YTEgMSAwIDAgMSAxLTFoMjIuMmExIDEgMCAwIDEgMSAxdjIxLjY3YTEgMSAwIDAgMS0xIC45NWgtMTB2Mi4zOUgzMS40VjIuNzRIMy4xN3YxMy42MlpNMy4wNiAyLjc0aC4xMXYxMy42MmgtLjExeiIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTcuMjggNy4xMkgyNy40VjI2LjdoLTguOTF2MmgxMGExIDEgMCAwIDAgMS0uOTVWNi4wOGExIDEgMCAwIDAtMS0xSDYuMjRhMSAxIDAgMCAwLTEgMXYxMC4yOGgyWiIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTQuODIgMjguNDNhLjg3Ljg3IDAgMCAwIC4xMSAxLjE5IDEgMSAwIDAgMCAxLjE5LjA5YzMuMjktMi41NiA0LjY2LTIuNTYgOCAwYS45Mi45MiAwIDAgMCAxLjI4LTEuMjhjLTIuNTYtMy4yOS0yLjU2LTQuNjYgMC04YS45Mi45MiAwIDAgMC0xLjI4LTEuMjhjLTMuMjkgMi41Ni00LjY2IDIuNTYtOCAwYTEuMzcgMS4zNyAwIDAgMC0uNTUtLjE1LjgzLjgzIDAgMCAwLS42NC4yNy44Ny44NyAwIDAgMC0uMDkgMS4xOWMyLjYzIDMuMzEgMi42MyA0LjU5LS4wMiA3Ljk3WiIvPjxwYXRoIGNsYXNzPSJjbHMtMyIgZD0ibTE5LjI0IDEwLjE1IDUuNzUtLjA3TTI0Ljk5IDE1Ljkxdi01LjgzTTE3Ljk3IDE3LjE5bDcuMDItNy4xMSIvPjwvc3ZnPg==\";\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgMagicBrush = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ id: \"magic-brush_svg__\\\\u56FE\\\\u5C42_1\", \"data-name\": \"\\\\u56FE\\\\u5C42 1\", xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 34.02 34.02\" }, props), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"style\", null, \".magic-brush_svg__cls-1{fill:#fff}\")), /* @__PURE__ */ React.createElement(\"path\", { className: \"magic-brush_svg__cls-1\", d: \"M15.22 14.73 21 9l10.1 10.1-5.8 5.76ZM14.33 15.43l10.34 10.36c-.87.86-1.78 1.78-2.71 2.68-.09.08-.37 0-.53-.07-1.31-.58-2.63-1.16-3.92-1.78a.74.74 0 0 0-1 .17q-1.75 1.82-3.57 3.56a2.14 2.14 0 0 1-2.33.51 2.08 2.08 0 0 1-1.42-1.69 2.2 2.2 0 0 1 .67-2.05C11 26 12.14 24.8 13.32 23.66a.74.74 0 0 0 .19-1c-.61-1.27-1.16-2.57-1.77-3.85a.67.67 0 0 1 .15-.91c.84-.81 1.63-1.64 2.44-2.47Zm-1.82 13.18a1 1 0 1 0-2 .05 1 1 0 0 0 2-.05Z\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M3.2 12.66a.89.89 0 0 0 .11 1.23 1 1 0 0 0 1.23.1c3.4-2.65 4.82-2.65 8.27 0a.95.95 0 0 0 1.32-1.33c-2.64-3.4-2.64-4.81 0-8.26A.9.9 0 0 0 14 3.17a.89.89 0 0 0-1.23-.1C9.41 5.72 8 5.72 4.54 3.07A1.27 1.27 0 0 0 4 2.89a.84.84 0 0 0-.66.28.9.9 0 0 0-.12 1.23c2.72 3.45 2.72 4.77-.02 8.26Z\", style: {\n fill: \"#fcfefe\"\n} }));\nexport { SvgMagicBrush as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyBpZD0i5Zu+5bGCXzEiIGRhdGEtbmFtZT0i5Zu+5bGCIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDM0LjAyIDM0LjAyIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2ZmZn08L3N0eWxlPjwvZGVmcz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xNS4yMiAxNC43MyAyMSA5bDEwLjEgMTAuMS01LjggNS43NlpNMTQuMzMgMTUuNDNsMTAuMzQgMTAuMzZjLS44Ny44Ni0xLjc4IDEuNzgtMi43MSAyLjY4LS4wOS4wOC0uMzcgMC0uNTMtLjA3LTEuMzEtLjU4LTIuNjMtMS4xNi0zLjkyLTEuNzhhLjc0Ljc0IDAgMCAwLTEgLjE3cS0xLjc1IDEuODItMy41NyAzLjU2YTIuMTQgMi4xNCAwIDAgMS0yLjMzLjUxIDIuMDggMi4wOCAwIDAgMS0xLjQyLTEuNjkgMi4yIDIuMiAwIDAgMSAuNjctMi4wNUMxMSAyNiAxMi4xNCAyNC44IDEzLjMyIDIzLjY2YS43NC43NCAwIDAgMCAuMTktMWMtLjYxLTEuMjctMS4xNi0yLjU3LTEuNzctMy44NWEuNjcuNjcgMCAwIDEgLjE1LS45MWMuODQtLjgxIDEuNjMtMS42NCAyLjQ0LTIuNDdabS0xLjgyIDEzLjE4YTEgMSAwIDEgMC0yIC4wNSAxIDEgMCAwIDAgMi0uMDVaIi8+PHBhdGggZD0iTTMuMiAxMi42NmEuODkuODkgMCAwIDAgLjExIDEuMjMgMSAxIDAgMCAwIDEuMjMuMWMzLjQtMi42NSA0LjgyLTIuNjUgOC4yNyAwYS45NS45NSAwIDAgMCAxLjMyLTEuMzNjLTIuNjQtMy40LTIuNjQtNC44MSAwLTguMjZBLjkuOSAwIDAgMCAxNCAzLjE3YS44OS44OSAwIDAgMC0xLjIzLS4xQzkuNDEgNS43MiA4IDUuNzIgNC41NCAzLjA3QTEuMjcgMS4yNyAwIDAgMCA0IDIuODlhLjg0Ljg0IDAgMCAwLS42Ni4yOC45LjkgMCAwIDAtLjEyIDEuMjNjMi43MiAzLjQ1IDIuNzIgNC43Ny0uMDIgOC4yNloiIHN0eWxlPSJmaWxsOiNmY2ZlZmUiLz48L3N2Zz4=\";\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgMagicClick = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ id: \"magic-click_svg__\\\\u56FE\\\\u5C42_1\", \"data-name\": \"\\\\u56FE\\\\u5C42 1\", xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 34.02 34.02\" }, props), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"style\", null, \".magic-click_svg__cls-1{fill:#fff}\")), /* @__PURE__ */ React.createElement(\"path\", { className: \"magic-click_svg__cls-1\", d: \"M30.88 21.21a1.6 1.6 0 0 1-1 1.35c-1.54.75-3.08 1.51-4.59 2.31a2.18 2.18 0 0 0-.87.86c-.79 1.49-1.53 3-2.27 4.53a1.49 1.49 0 0 1-2.89-.18Q17.2 23.8 15.1 17.52a1.49 1.49 0 0 1 2-2l12.55 4.19a1.56 1.56 0 0 1 1.23 1.5Zm-5.25.23-6.94-2.32 2.32 7c.37-.74.71-1.3.95-1.9a3 3 0 0 1 1.8-1.79c.6-.29 1.15-.62 1.87-.99ZM7.34 6.09a4.23 4.23 0 0 1 .89.54l3 3a1.45 1.45 0 1 1-2 2c-1-1-2.06-2-3.07-3.07A1.37 1.37 0 0 1 5.83 7a1.6 1.6 0 0 1 1.51-.91ZM22.35 12.35a6.61 6.61 0 0 1-1.12-.92 1.14 1.14 0 0 1 .09-1.51c1.14-1.19 2.3-2.37 3.5-3.49a1.31 1.31 0 0 1 1.84.1 1.34 1.34 0 0 1 .14 1.9c-1.11 1.19-2.28 2.32-3.45 3.45a3.92 3.92 0 0 1-1 .47ZM7 27.68a6 6 0 0 1-1.13-.9 1.12 1.12 0 0 1 .13-1.5c1.15-1.21 2.32-2.4 3.55-3.54a1.32 1.32 0 0 1 1.84.17 1.33 1.33 0 0 1 .1 1.85C10.35 25 9.16 26.11 8 27.25a3.75 3.75 0 0 1-1 .43ZM17.87 6v2A1.46 1.46 0 1 1 15 8V3.87a1.49 1.49 0 0 1 1.46-1.56 1.51 1.51 0 0 1 1.45 1.57c-.03.74-.04 1.44-.04 2.12ZM5.48 18.3h-2a1.5 1.5 0 0 1-1.55-1.5 1.48 1.48 0 0 1 1.59-1.42h4.07a1.49 1.49 0 0 1 1.59 1.49 1.5 1.5 0 0 1-1.6 1.42c-.69.02-1.4.01-2.1.01Z\" }), /* @__PURE__ */ React.createElement(\"path\", { className: \"magic-click_svg__cls-1\", d: \"M25.63 21.44c-.72.37-1.27.7-1.87.94A3 3 0 0 0 22 24.17c-.24.6-.58 1.16-.95 1.9l-2.32-6.95Z\" }));\nexport { SvgMagicClick as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyBpZD0i5Zu+5bGCXzEiIGRhdGEtbmFtZT0i5Zu+5bGCIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDM0LjAyIDM0LjAyIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2ZmZn08L3N0eWxlPjwvZGVmcz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0zMC44OCAyMS4yMWExLjYgMS42IDAgMCAxLTEgMS4zNWMtMS41NC43NS0zLjA4IDEuNTEtNC41OSAyLjMxYTIuMTggMi4xOCAwIDAgMC0uODcuODZjLS43OSAxLjQ5LTEuNTMgMy0yLjI3IDQuNTNhMS40OSAxLjQ5IDAgMCAxLTIuODktLjE4UTE3LjIgMjMuOCAxNS4xIDE3LjUyYTEuNDkgMS40OSAwIDAgMSAyLTJsMTIuNTUgNC4xOWExLjU2IDEuNTYgMCAwIDEgMS4yMyAxLjVabS01LjI1LjIzLTYuOTQtMi4zMiAyLjMyIDdjLjM3LS43NC43MS0xLjMuOTUtMS45YTMgMyAwIDAgMSAxLjgtMS43OWMuNi0uMjkgMS4xNS0uNjIgMS44Ny0uOTlaTTcuMzQgNi4wOWE0LjIzIDQuMjMgMCAwIDEgLjg5LjU0bDMgM2ExLjQ1IDEuNDUgMCAxIDEtMiAyYy0xLTEtMi4wNi0yLTMuMDctMy4wN0ExLjM3IDEuMzcgMCAwIDEgNS44MyA3YTEuNiAxLjYgMCAwIDEgMS41MS0uOTFaTTIyLjM1IDEyLjM1YTYuNjEgNi42MSAwIDAgMS0xLjEyLS45MiAxLjE0IDEuMTQgMCAwIDEgLjA5LTEuNTFjMS4xNC0xLjE5IDIuMy0yLjM3IDMuNS0zLjQ5YTEuMzEgMS4zMSAwIDAgMSAxLjg0LjEgMS4zNCAxLjM0IDAgMCAxIC4xNCAxLjljLTEuMTEgMS4xOS0yLjI4IDIuMzItMy40NSAzLjQ1YTMuOTIgMy45MiAwIDAgMS0xIC40N1pNNyAyNy42OGE2IDYgMCAwIDEtMS4xMy0uOSAxLjEyIDEuMTIgMCAwIDEgLjEzLTEuNWMxLjE1LTEuMjEgMi4zMi0yLjQgMy41NS0zLjU0YTEuMzIgMS4zMiAwIDAgMSAxLjg0LjE3IDEuMzMgMS4zMyAwIDAgMSAuMSAxLjg1QzEwLjM1IDI1IDkuMTYgMjYuMTEgOCAyNy4yNWEzLjc1IDMuNzUgMCAwIDEtMSAuNDNaTTE3Ljg3IDZ2MkExLjQ2IDEuNDYgMCAxIDEgMTUgOFYzLjg3YTEuNDkgMS40OSAwIDAgMSAxLjQ2LTEuNTYgMS41MSAxLjUxIDAgMCAxIDEuNDUgMS41N2MtLjAzLjc0LS4wNCAxLjQ0LS4wNCAyLjEyWk01LjQ4IDE4LjNoLTJhMS41IDEuNSAwIDAgMS0xLjU1LTEuNSAxLjQ4IDEuNDggMCAwIDEgMS41OS0xLjQyaDQuMDdhMS40OSAxLjQ5IDAgMCAxIDEuNTkgMS40OSAxLjUgMS41IDAgMCAxLTEuNiAxLjQyYy0uNjkuMDItMS40LjAxLTIuMS4wMVoiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0yNS42MyAyMS40NGMtLjcyLjM3LTEuMjcuNy0xLjg3Ljk0QTMgMyAwIDAgMCAyMiAyNC4xN2MtLjI0LjYtLjU4IDEuMTYtLjk1IDEuOWwtMi4zMi02Ljk1WiIvPjwvc3ZnPg==\";\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgPenAdd = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ width: 16, height: 16, viewBox: \"0 0 20 20\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props), /* @__PURE__ */ React.createElement(\"g\", { clipPath: \"url(#pen-add_svg__a)\", fill: \"#fff\" }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M16.7 10c0-.1 0-.1.1-.2v-.2c0-.1 0-.1-.1-.1l-3.2-3.2-3.1-3.1v-.1H10.1c-.1.2-.3.3-.6.3-1.7.7-3.4 1.3-5.2 1.9-.1 0-.1.1-.2.1s0 .1 0 .2c-.2.6-.4 1.2-.6 1.9C3 9.2 2.5 11 2 12.7L.3 18.4c-.1.3-.2.7-.3 1l.2-.1L7 12.4l.1-.1V12c-.1-.2-.2-.5-.2-.8 0-.3 0-.6.1-.8.1-.3.3-.5.5-.7.2-.2.4-.3.7-.4H9c.3 0 .5.1.8.3.2.1.4.3.6.6.9-.8 2-1.2 3.3-1.2 1.1 0 2.2.4 3 1Z\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M8.6 13.2h-.3c-.2-.1-.3-.2-.5-.3L.7 20l4-1.2 5-1.4c-.7-.9-1.2-2-1.2-3.3 0-.3.1-.6.1-.9ZM11.3 2.6 16.7 8l.8.8L20 7.2 12.8 0l-.1.1c-.5.8-1 1.5-1.5 2.2v.2l.1.1c-.1 0-.1 0 0 0ZM16.4 11c-.7-.6-1.7-1.1-2.7-1.1-1.2 0-2.3.5-3 1.3-.4.5-.8 1-.9 1.7-.1.4-.2.7-.2 1.1 0 1.2.5 2.2 1.3 3 .7.7 1.7 1.2 2.9 1.2 2.3 0 4.1-1.9 4.1-4.1-.1-1.2-.7-2.3-1.5-3.1Zm-1.1 4.1h-.7v.8c0 .6-.4 1-1 1s-1-.4-1-1v-.8H12c-.6 0-1-.4-1-1s.4-1 1-1h.6v-.5c0-.6.4-1 1-1s1 .4 1 1v.5h.7c.6 0 1 .4 1 1s-.4 1-1 1Z\" })), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"clipPath\", { id: \"pen-add_svg__a\" }, /* @__PURE__ */ React.createElement(\"path\", { fill: \"#fff\", d: \"M0 0h20v20H0z\" }))));\nexport { SvgPenAdd as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjYSkiIGZpbGw9IiNmZmYiPjxwYXRoIGQ9Ik0xNi43IDEwYzAtLjEgMC0uMS4xLS4ydi0uMmMwLS4xIDAtLjEtLjEtLjFsLTMuMi0zLjItMy4xLTMuMXYtLjFIMTAuMWMtLjEuMi0uMy4zLS42LjMtMS43LjctMy40IDEuMy01LjIgMS45LS4xIDAtLjEuMS0uMi4xczAgLjEgMCAuMmMtLjIuNi0uNCAxLjItLjYgMS45QzMgOS4yIDIuNSAxMSAyIDEyLjdMLjMgMTguNGMtLjEuMy0uMi43LS4zIDFsLjItLjFMNyAxMi40bC4xLS4xVjEyYy0uMS0uMi0uMi0uNS0uMi0uOCAwLS4zIDAtLjYuMS0uOC4xLS4zLjMtLjUuNS0uNy4yLS4yLjQtLjMuNy0uNEg5Yy4zIDAgLjUuMS44LjMuMi4xLjQuMy42LjYuOS0uOCAyLTEuMiAzLjMtMS4yIDEuMSAwIDIuMi40IDMgMVoiLz48cGF0aCBkPSJNOC42IDEzLjJoLS4zYy0uMi0uMS0uMy0uMi0uNS0uM0wuNyAyMGw0LTEuMiA1LTEuNGMtLjctLjktMS4yLTItMS4yLTMuMyAwLS4zLjEtLjYuMS0uOVpNMTEuMyAyLjYgMTYuNyA4bC44LjhMMjAgNy4yIDEyLjggMGwtLjEuMWMtLjUuOC0xIDEuNS0xLjUgMi4ydi4ybC4xLjFjLS4xIDAtLjEgMCAwIDBaTTE2LjQgMTFjLS43LS42LTEuNy0xLjEtMi43LTEuMS0xLjIgMC0yLjMuNS0zIDEuMy0uNC41LS44IDEtLjkgMS43LS4xLjQtLjIuNy0uMiAxLjEgMCAxLjIuNSAyLjIgMS4zIDMgLjcuNyAxLjcgMS4yIDIuOSAxLjIgMi4zIDAgNC4xLTEuOSA0LjEtNC4xLS4xLTEuMi0uNy0yLjMtMS41LTMuMVptLTEuMSA0LjFoLS43di44YzAgLjYtLjQgMS0xIDFzLTEtLjQtMS0xdi0uOEgxMmMtLjYgMC0xLS40LTEtMXMuNC0xIDEtMWguNnYtLjVjMC0uNi40LTEgMS0xczEgLjQgMSAxdi41aC43Yy42IDAgMSAuNCAxIDFzLS40IDEtMSAxWiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoMjB2MjBIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=\";\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgPenErase = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ width: 16, height: 16, viewBox: \"0 0 20 20\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props), /* @__PURE__ */ React.createElement(\"g\", { clipPath: \"url(#pen-erase_svg__a)\", fill: \"#fff\" }, /* @__PURE__ */ React.createElement(\"path\", { d: \"m16.74 10 .07-.2a.22.22 0 0 0 0-.16.22.22 0 0 0-.09-.12l-3.14-3.16-3.07-3.08a.18.18 0 0 0 0-.07H10.29l-.72.26-5.23 1.82a.42.42 0 0 0-.18.11.35.35 0 0 0-.1.19c-.17.63-.36 1.25-.55 1.88C3 9.21 2.51 11 2 12.67L.3 18.34c-.09.31-.18.66-.3 1l.16-.14L7 12.42l.06-.06a.16.16 0 0 0 0-.09.17.17 0 0 0 0-.1v-.08a1.87 1.87 0 0 1-.06-1.6A1.95 1.95 0 0 1 8.16 9.4c.27-.09.558-.118.84-.08a2 2 0 0 1 .78.26c.232.15.432.344.59.57a5 5 0 0 1 6.37-.15Z\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M8.63 13.2c-.106.01-.214.01-.32 0a3.38 3.38 0 0 1-.52-.22L.74 20l4-1.2 5-1.44a4.9 4.9 0 0 1-1.11-4.16ZM11.25 2.62c1.83 1.82 3.62 3.62 5.43 5.43l.81.83L20 7.21 12.83 0l-.08.1c-.5.75-1 1.53-1.5 2.25v.06a.192.192 0 0 0 0 .07.19.19 0 0 0 0 .08.208.208 0 0 0 0 .06ZM16.38 11a4.1 4.1 0 0 0-6.66 2 4.24 4.24 0 0 0-.18 1.13 4.11 4.11 0 0 0 1.27 3 4.06 4.06 0 0 0 2.85 1.16A4.12 4.12 0 0 0 16.38 11Zm-1 4.08h-3.32a1 1 0 0 1 0-2h3.27a1 1 0 0 1 0 2h.05Z\" })), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"clipPath\", { id: \"pen-erase_svg__a\" }, /* @__PURE__ */ React.createElement(\"path\", { fill: \"#fff\", d: \"M0 0h20v20H0z\" }))));\nexport { SvgPenErase as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjYSkiIGZpbGw9IiNmZmYiPjxwYXRoIGQ9Im0xNi43NCAxMCAuMDctLjJhLjIyLjIyIDAgMCAwIDAtLjE2LjIyLjIyIDAgMCAwLS4wOS0uMTJsLTMuMTQtMy4xNi0zLjA3LTMuMDhhLjE4LjE4IDAgMCAwIDAtLjA3SDEwLjI5bC0uNzIuMjYtNS4yMyAxLjgyYS40Mi40MiAwIDAgMC0uMTguMTEuMzUuMzUgMCAwIDAtLjEuMTljLS4xNy42My0uMzYgMS4yNS0uNTUgMS44OEMzIDkuMjEgMi41MSAxMSAyIDEyLjY3TC4zIDE4LjM0Yy0uMDkuMzEtLjE4LjY2LS4zIDFsLjE2LS4xNEw3IDEyLjQybC4wNi0uMDZhLjE2LjE2IDAgMCAwIDAtLjA5LjE3LjE3IDAgMCAwIDAtLjF2LS4wOGExLjg3IDEuODcgMCAwIDEtLjA2LTEuNkExLjk1IDEuOTUgMCAwIDEgOC4xNiA5LjRjLjI3LS4wOS41NTgtLjExOC44NC0uMDhhMiAyIDAgMCAxIC43OC4yNmMuMjMyLjE1LjQzMi4zNDQuNTkuNTdhNSA1IDAgMCAxIDYuMzctLjE1WiIvPjxwYXRoIGQ9Ik04LjYzIDEzLjJjLS4xMDYuMDEtLjIxNC4wMS0uMzIgMGEzLjM4IDMuMzggMCAwIDEtLjUyLS4yMkwuNzQgMjBsNC0xLjIgNS0xLjQ0YTQuOSA0LjkgMCAwIDEtMS4xMS00LjE2Wk0xMS4yNSAyLjYyYzEuODMgMS44MiAzLjYyIDMuNjIgNS40MyA1LjQzbC44MS44M0wyMCA3LjIxIDEyLjgzIDBsLS4wOC4xYy0uNS43NS0xIDEuNTMtMS41IDIuMjV2LjA2YS4xOTIuMTkyIDAgMCAwIDAgLjA3LjE5LjE5IDAgMCAwIDAgLjA4LjIwOC4yMDggMCAwIDAgMCAuMDZaTTE2LjM4IDExYTQuMSA0LjEgMCAwIDAtNi42NiAyIDQuMjQgNC4yNCAwIDAgMC0uMTggMS4xMyA0LjExIDQuMTEgMCAwIDAgMS4yNyAzIDQuMDYgNC4wNiAwIDAgMCAyLjg1IDEuMTZBNC4xMiA0LjEyIDAgMCAwIDE2LjM4IDExWm0tMSA0LjA4aC0zLjMyYTEgMSAwIDAgMSAwLTJoMy4yN2ExIDEgMCAwIDEgMCAyaC4wNVoiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDIwdjIwSDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+\";\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgRemovePrompt = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ viewBox: \"0 0 19 19\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props), /* @__PURE__ */ React.createElement(\"path\", { d: \"M18.33 4.069a.67.67 0 0 0 .67-.672V.671A.672.672 0 0 0 18.33 0h-2.718a.67.67 0 0 0-.671.671v.672H4.066V.67A.672.672 0 0 0 3.395 0H.67A.67.67 0 0 0 0 .671v2.72a.672.672 0 0 0 .67.67h.672v10.877H.67A.67.67 0 0 0 0 15.61v2.72A.672.672 0 0 0 .67 19h2.718a.67.67 0 0 0 .671-.671v-.672h10.869v.672a.672.672 0 0 0 .67.671h2.718a.67.67 0 0 0 .67-.671v-2.706a.672.672 0 0 0-.67-.671h-.671V4.069h.684Zm-2.014 10.876h-.67a.67.67 0 0 0-.671.671v.672H4.065v-.672a.672.672 0 0 0-.67-.671h-.671V4.069h.67a.67.67 0 0 0 .672-.672v-.671h10.868v.671a.672.672 0 0 0 .671.672h.671l.02 5.438.02 5.438Z\", fill: \"#fff\" }), /* @__PURE__ */ React.createElement(\"g\", { stroke: \"#fff\", strokeWidth: 1.5, strokeLinecap: \"round\" }, /* @__PURE__ */ React.createElement(\"path\", { d: \"m6.71 6.713 6.037 6.043M6.71 6.713l6.037 6.043M6.71 6.713l6.037 6.043M6.71 6.713l6.037 6.043\" })), /* @__PURE__ */ React.createElement(\"g\", { stroke: \"#fff\", strokeWidth: 1.5, strokeLinecap: \"round\" }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M12.747 6.713 6.71 12.756M12.747 6.713 6.71 12.756M12.747 6.713 6.71 12.756M12.747 6.713 6.71 12.756\" })));\nexport { SvgRemovePrompt as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTkgMTkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE4LjMzIDQuMDY5YS42Ny42NyAwIDAgMCAuNjctLjY3MlYuNjcxQS42NzIuNjcyIDAgMCAwIDE4LjMzIDBoLTIuNzE4YS42Ny42NyAwIDAgMC0uNjcxLjY3MXYuNjcySDQuMDY2Vi42N0EuNjcyLjY3MiAwIDAgMCAzLjM5NSAwSC42N0EuNjcuNjcgMCAwIDAgMCAuNjcxdjIuNzJhLjY3Mi42NzIgMCAwIDAgLjY3LjY3aC42NzJ2MTAuODc3SC42N0EuNjcuNjcgMCAwIDAgMCAxNS42MXYyLjcyQS42NzIuNjcyIDAgMCAwIC42NyAxOWgyLjcxOGEuNjcuNjcgMCAwIDAgLjY3MS0uNjcxdi0uNjcyaDEwLjg2OXYuNjcyYS42NzIuNjcyIDAgMCAwIC42Ny42NzFoMi43MThhLjY3LjY3IDAgMCAwIC42Ny0uNjcxdi0yLjcwNmEuNjcyLjY3MiAwIDAgMC0uNjctLjY3MWgtLjY3MVY0LjA2OWguNjg0Wm0tMi4wMTQgMTAuODc2aC0uNjdhLjY3LjY3IDAgMCAwLS42NzEuNjcxdi42NzJINC4wNjV2LS42NzJhLjY3Mi42NzIgMCAwIDAtLjY3LS42NzFoLS42NzFWNC4wNjloLjY3YS42Ny42NyAwIDAgMCAuNjcyLS42NzJ2LS42NzFoMTAuODY4di42NzFhLjY3Mi42NzIgMCAwIDAgLjY3MS42NzJoLjY3MWwuMDIgNS40MzguMDIgNS40MzhaIiBmaWxsPSIjZmZmIi8+PGcgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48cGF0aCBkPSJtNi43MSA2LjcxMyA2LjAzNyA2LjA0M002LjcxIDYuNzEzbDYuMDM3IDYuMDQzTTYuNzEgNi43MTNsNi4wMzcgNi4wNDNNNi43MSA2LjcxM2w2LjAzNyA2LjA0MyIvPjwvZz48ZyBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiPjxwYXRoIGQ9Ik0xMi43NDcgNi43MTMgNi43MSAxMi43NTZNMTIuNzQ3IDYuNzEzIDYuNzEgMTIuNzU2TTEyLjc0NyA2LjcxMyA2LjcxIDEyLjc1Nk0xMi43NDcgNi43MTMgNi43MSAxMi43NTYiLz48L2c+PC9zdmc+\";\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgSegmentEverything = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 34.02 34.02\" }, props), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"style\", null, \".segment-everything_svg__cls-1{fill:#fff}.segment-everything_svg__cls-3{fill:none}\")), /* @__PURE__ */ React.createElement(\"path\", { className: \"segment-everything_svg__cls-1\", d: \"m6.26 15.54 5.88 3.88a1 1 0 0 1 0 1.56L6.1 25.29a.9.9 0 0 1-1.41-.79l.19-8.2a.9.9 0 0 1 1.38-.76ZM7.58 29.17 23.43 17.7a1.71 1.71 0 0 1 2.25.22l3.32 3.5v7.75Z\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M31 4.35a.88.88 0 0 0-.11-1.19 1 1 0 0 0-1.19-.09c-3.29 2.56-4.66 2.56-8 0a.87.87 0 0 0-1.19.09.87.87 0 0 0-.09 1.19c2.56 3.29 2.56 4.66 0 8a.92.92 0 0 0 1.28 1.28c3.29-2.56 4.66-2.56 8 0a1.28 1.28 0 0 0 .55.18.91.91 0 0 0 .64-.27.87.87 0 0 0 .11-1.19c-2.65-3.35-2.65-4.62 0-8Z\", style: {\n fill: \"#fcfefe\"\n} }), /* @__PURE__ */ React.createElement(\"path\", { className: \"segment-everything_svg__cls-3\", d: \"M4.07 4.13h26.29v26.29H4.07z\" }), /* @__PURE__ */ React.createElement(\"path\", { className: \"segment-everything_svg__cls-3\", d: \"M6.39 28.56h22.49V17H16.49v-3.38a2.56 2.56 0 0 1-2 .93 2.63 2.63 0 0 1-2.59-2.72 2.66 2.66 0 0 1 2.6-2.67 2.57 2.57 0 0 1 2 .95v-4H6.39Z\" }), /* @__PURE__ */ React.createElement(\"path\", { className: \"segment-everything_svg__cls-1\", d: \"M14.51 9.16a2.66 2.66 0 0 0-2.6 2.67 2.63 2.63 0 0 0 2.59 2.72 2.56 2.56 0 0 0 2-.93v-3.51a2.57 2.57 0 0 0-1.99-.95Z\" }), /* @__PURE__ */ React.createElement(\"path\", { className: \"segment-everything_svg__cls-1\", d: \"M28.88 28.56H6.39V6.1h10.1V4.25H5.42a.88.88 0 0 0-.89.88v25.28h26.21V17h-1.86Z\" }), /* @__PURE__ */ React.createElement(\"path\", { className: \"segment-everything_svg__cls-1\", d: \"M17.14 11.87a2.74 2.74 0 0 0-.65-1.76v3.51a2.7 2.7 0 0 0 .65-1.75Z\" }));\nexport { SvgSegmentEverything as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNC4wMiAzNC4wMiI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiNmZmZ9LmNscy0ze2ZpbGw6bm9uZX08L3N0eWxlPjwvZGVmcz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Im02LjI2IDE1LjU0IDUuODggMy44OGExIDEgMCAwIDEgMCAxLjU2TDYuMSAyNS4yOWEuOS45IDAgMCAxLTEuNDEtLjc5bC4xOS04LjJhLjkuOSAwIDAgMSAxLjM4LS43NlpNNy41OCAyOS4xNyAyMy40MyAxNy43YTEuNzEgMS43MSAwIDAgMSAyLjI1LjIybDMuMzIgMy41djcuNzVaIi8+PHBhdGggZD0iTTMxIDQuMzVhLjg4Ljg4IDAgMCAwLS4xMS0xLjE5IDEgMSAwIDAgMC0xLjE5LS4wOWMtMy4yOSAyLjU2LTQuNjYgMi41Ni04IDBhLjg3Ljg3IDAgMCAwLTEuMTkuMDkuODcuODcgMCAwIDAtLjA5IDEuMTljMi41NiAzLjI5IDIuNTYgNC42NiAwIDhhLjkyLjkyIDAgMCAwIDEuMjggMS4yOGMzLjI5LTIuNTYgNC42Ni0yLjU2IDggMGExLjI4IDEuMjggMCAwIDAgLjU1LjE4LjkxLjkxIDAgMCAwIC42NC0uMjcuODcuODcgMCAwIDAgLjExLTEuMTljLTIuNjUtMy4zNS0yLjY1LTQuNjIgMC04WiIgc3R5bGU9ImZpbGw6I2ZjZmVmZSIvPjxwYXRoIGNsYXNzPSJjbHMtMyIgZD0iTTQuMDcgNC4xM2gyNi4yOXYyNi4yOUg0LjA3eiIvPjxwYXRoIGNsYXNzPSJjbHMtMyIgZD0iTTYuMzkgMjguNTZoMjIuNDlWMTdIMTYuNDl2LTMuMzhhMi41NiAyLjU2IDAgMCAxLTIgLjkzIDIuNjMgMi42MyAwIDAgMS0yLjU5LTIuNzIgMi42NiAyLjY2IDAgMCAxIDIuNi0yLjY3IDIuNTcgMi41NyAwIDAgMSAyIC45NXYtNEg2LjM5WiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTE0LjUxIDkuMTZhMi42NiAyLjY2IDAgMCAwLTIuNiAyLjY3IDIuNjMgMi42MyAwIDAgMCAyLjU5IDIuNzIgMi41NiAyLjU2IDAgMCAwIDItLjkzdi0zLjUxYTIuNTcgMi41NyAwIDAgMC0xLjk5LS45NVoiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0yOC44OCAyOC41Nkg2LjM5VjYuMWgxMC4xVjQuMjVINS40MmEuODguODggMCAwIDAtLjg5Ljg4djI1LjI4aDI2LjIxVjE3aC0xLjg2WiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTE3LjE0IDExLjg3YTIuNzQgMi43NCAwIDAgMC0uNjUtMS43NnYzLjUxYTIuNyAyLjcgMCAwIDAgLjY1LTEuNzVaIi8+PC9zdmc+\";\n","import Icon from '@ant-design/icons';\nimport { Slider } from 'antd';\nimport { useLocale } from 'dds-utils/locale';\nimport { useMemo } from 'react';\n\nimport { ReactComponent as AddPromptIcon } from '../assets/add-prompt.svg';\nimport { ReactComponent as BrushAddIcon } from '../assets/brush-add.svg';\nimport { ReactComponent as BrushEraseIcon } from '../assets/brush-erase.svg';\nimport { ReactComponent as EdgeStitchIcon } from '../assets/edge-stitch.svg';\nimport { ReactComponent as MagicBoxIcon } from '../assets/magic-box.svg';\nimport { ReactComponent as StrokeIcon } from '../assets/magic-brush.svg';\nimport { ReactComponent as ClickIcon } from '../assets/magic-click.svg';\nimport { ReactComponent as PenAddIcon } from '../assets/pen-add.svg';\nimport { ReactComponent as PenEraseIcon } from '../assets/pen-erase.svg';\nimport { ReactComponent as RemovePromptIcon } from '../assets/remove-prompt.svg';\nimport { ReactComponent as SegmentEverythingIcon } from '../assets/segment-everything.svg';\nimport {\n EBasicToolItem,\n EnumModelType,\n EObjectType,\n ESubToolItem,\n} from '../constants';\nimport { TShortcutItem } from '../constants/shortcuts';\nimport { DrawData } from '../type';\n\nexport type TToolItem = {\n key: T;\n name: string;\n shortcut?: TShortcutItem;\n icon: JSX.Element;\n available: boolean;\n description?: string;\n withSize?: boolean;\n withCustomElement?: boolean;\n};\n\nexport type TSubtoolOptions = {\n basicTools: TToolItem[];\n smartTools: TToolItem[];\n customElement?: React.ReactNode;\n};\n\ninterface IProps {\n drawData: DrawData;\n onChangePointResolution: (value: number, update?: boolean) => void;\n}\n\nconst useSubTools = ({ drawData, onChangePointResolution }: IProps) => {\n const { localeText } = useLocale();\n\n const isSegEverythingAvailable = useMemo(() => {\n return (\n (drawData.objectList.length === 0 && !drawData.creatingObject) ||\n drawData.isBatchEditing\n );\n }, [drawData.objectList, drawData.creatingObject, drawData.isBatchEditing]);\n\n const basicMaskTools: TToolItem[] = useMemo(\n () => [\n {\n key: ESubToolItem.PenAdd,\n name: localeText('DDSAnnotator.subtoolbar.mask.penAdd'),\n icon: ,\n available: true,\n },\n {\n key: ESubToolItem.PenErase,\n name: localeText('DDSAnnotator.subtoolbar.mask.penErase'),\n icon: ,\n available: !!drawData.creatingObject,\n },\n {\n key: ESubToolItem.BrushAdd,\n name: localeText('DDSAnnotator.subtoolbar.mask.brushAdd'),\n icon: ,\n available: true,\n withSize: true,\n },\n {\n key: ESubToolItem.BrushErase,\n name: localeText('DDSAnnotator.subtoolbar.mask.brushErase'),\n icon: ,\n available: !!drawData.creatingObject,\n withSize: true,\n },\n ],\n [drawData.creatingObject],\n );\n\n const isgTools: TToolItem[] = useMemo(() => {\n return [\n {\n key: ESubToolItem.AutoSegmentByBox,\n name: localeText('DDSAnnotator.subtoolbar.mask.box'),\n icon: ,\n available: true,\n },\n {\n key: ESubToolItem.AutoSegmentByStroke,\n name: localeText('DDSAnnotator.subtoolbar.mask.stroke'),\n icon: ,\n available: true,\n withSize: true,\n },\n {\n key: ESubToolItem.AutoSegmentByClick,\n name: localeText('DDSAnnotator.subtoolbar.mask.click'),\n icon: ,\n available: true,\n },\n ];\n }, []);\n\n const smartPolygonTools: TToolItem[] = useMemo(() => {\n return [\n {\n key: ESubToolItem.AutoSegmentByBox,\n name: localeText('DDSAnnotator.subtoolbar.mask.box'),\n icon: ,\n available: true,\n withCustomElement: true,\n },\n {\n key: ESubToolItem.AutoSegmentByStroke,\n name: localeText('DDSAnnotator.subtoolbar.mask.stroke'),\n icon: ,\n available: true,\n withSize: true,\n withCustomElement: true,\n },\n {\n key: ESubToolItem.AutoSegmentByClick,\n name: localeText('DDSAnnotator.subtoolbar.mask.click'),\n icon: ,\n available: true,\n withCustomElement: true,\n },\n ];\n }, []);\n\n const ivpTools: TToolItem[] = useMemo(() => {\n return [\n {\n key: ESubToolItem.PositiveVisualPrompt,\n name: localeText('DDSAnnotator.subtoolbar.visualprompt.positive'),\n icon: ,\n available: true,\n },\n {\n key: ESubToolItem.NegativeVisualPrompt,\n name: localeText('DDSAnnotator.subtoolbar.visualprompt.negative'),\n icon: ,\n available: !!drawData.prompt.promptsQueue?.some(\n (item) => item.isPositive,\n ),\n },\n ];\n }, [drawData.prompt]);\n\n const samTools: TToolItem[] = useMemo(() => {\n return [\n {\n key: ESubToolItem.AutoSegmentEverything,\n name: localeText('DDSAnnotator.subtoolbar.mask.sam'),\n icon: ,\n available: isSegEverythingAvailable,\n description: isSegEverythingAvailable\n ? localeText('DDSAnnotator.subtoolbar.mask.sam.desc')\n : localeText('DDSAnnotator.subtoolbar.mask.sam.notAllow'),\n },\n {\n key: ESubToolItem.AutoEdgeStitching,\n name: localeText('DDSAnnotator.subtoolbar.mask.edgeStitch'),\n icon: ,\n available: true,\n withSize: true,\n },\n ];\n }, [isSegEverythingAvailable]);\n\n const showSubTools = useMemo(() => {\n const { selectedTool, creatingObject, AIAnnotation, selectedModel } =\n drawData;\n\n if (\n selectedTool === EBasicToolItem.Mask ||\n creatingObject?.type === EObjectType.Mask\n )\n return true;\n\n if (\n selectedTool === EBasicToolItem.Rectangle &&\n AIAnnotation &&\n selectedModel[selectedTool] === EnumModelType.IVP\n )\n return true;\n\n if (\n (selectedTool === EBasicToolItem.Polygon ||\n creatingObject?.type === EObjectType.Polygon) &&\n AIAnnotation\n )\n return true;\n\n return false;\n }, [\n drawData.selectedTool,\n drawData.creatingObject,\n drawData.AIAnnotation,\n drawData.selectedModel,\n ]);\n\n const currSubTools: TSubtoolOptions = useMemo(() => {\n if (\n drawData.selectedTool === EBasicToolItem.Mask ||\n drawData.creatingObject?.type === EObjectType.Mask\n ) {\n if (!drawData.AIAnnotation) {\n return {\n basicTools: basicMaskTools,\n smartTools: [],\n };\n }\n\n const currModel = drawData.selectedModel[drawData.selectedTool];\n if (currModel === EnumModelType.IVP) {\n return {\n basicTools: [],\n smartTools: ivpTools,\n };\n } else if (currModel === EnumModelType.SegmentByMask) {\n return {\n basicTools: [],\n smartTools: isgTools,\n };\n } else if (currModel === EnumModelType.SegmentEverything) {\n return {\n basicTools: [],\n smartTools: samTools,\n };\n }\n return {\n basicTools: basicMaskTools,\n smartTools: [],\n };\n } else if (\n drawData.selectedTool === EBasicToolItem.Polygon ||\n drawData.creatingObject?.type === EObjectType.Polygon\n ) {\n return {\n basicTools: [],\n smartTools: smartPolygonTools,\n customElement: (\n <>\n
\n {localeText('DDSAnnotator.subtoolbar.polygon.pointResolution')}\n
\n
\n onChangePointResolution(value, true)}\n />\n
\n \n ),\n };\n } else if (\n drawData.selectedTool === EBasicToolItem.Rectangle &&\n drawData.AIAnnotation &&\n drawData.selectedModel[drawData.selectedTool] === EnumModelType.IVP\n ) {\n return {\n basicTools: [],\n smartTools: ivpTools,\n };\n }\n return {\n basicTools: [],\n smartTools: [],\n };\n }, [\n drawData.selectedTool,\n drawData.creatingObject,\n drawData.AIAnnotation,\n drawData.selectedModel,\n smartPolygonTools,\n basicMaskTools,\n isgTools,\n samTools,\n ivpTools,\n drawData.pointResolution,\n ]);\n\n return {\n showSubTools,\n currSubTools,\n };\n};\n\nexport default useSubTools;\n","import { Modal, message } from 'antd';\nimport { useLocale } from 'dds-utils/locale';\nimport { cloneDeep } from 'lodash';\nimport { useCallback, useEffect } from 'react';\nimport { Updater } from 'use-immer';\n\nimport {\n EBasicToolItem,\n EnumModelType,\n EObjectType,\n ESubToolItem,\n TOOL_MODELS_MAP,\n} from '../constants';\nimport { objectToRle, rleToCanvas } from '../tools/useMask';\nimport {\n DrawData,\n EditState,\n EditorMode,\n IAnnotationObject,\n EObjectStatus,\n IImageDisplayOptions,\n IAnnotsDisplayOptions,\n} from '../type';\n\nimport { OnAiAnnotationFunc } from './useAiModels';\n\ninterface IProps {\n mode: EditorMode;\n drawData: DrawData;\n manualMode?: boolean;\n setDrawData: Updater;\n setDrawDataWithHistory: Updater;\n setAiLabels: (labels?: string) => void;\n editState: EditState;\n setEditState: Updater;\n getAnnotColor: (category: string) => string;\n clientSize: ISize;\n naturalSize: ISize;\n addObject: (\n object: IAnnotationObject,\n notActive?: boolean | undefined,\n ) => void;\n updateObject: (object: IAnnotationObject, index: number) => void;\n updateAllObject: (objectList: IAnnotationObject[]) => void;\n onAiAnnotation: OnAiAnnotationFunc;\n}\n\nconst useToolActions = ({\n mode,\n manualMode,\n drawData,\n setDrawData,\n setDrawDataWithHistory,\n setAiLabels,\n editState,\n setEditState,\n clientSize,\n naturalSize,\n addObject,\n updateObject,\n updateAllObject,\n getAnnotColor,\n onAiAnnotation,\n}: IProps) => {\n const { localeText } = useLocale();\n\n // TODO\n const getColorForMaskObj = useCallback(\n (labelId: string) => {\n if (editState.annotsDisplayOptions.colorByCategory) {\n return getAnnotColor(labelId);\n }\n if (drawData.activeObjectIndex > -1) {\n return drawData.objectList[drawData.activeObjectIndex].color;\n }\n return drawData.creatingObject?.color || getAnnotColor(labelId);\n },\n [\n editState.annotsDisplayOptions.colorByCategory,\n getAnnotColor,\n drawData.activeObjectIndex,\n drawData.objectList,\n drawData.creatingObject,\n ],\n );\n\n const onChangeObjectLabel = (labelId: string) => {\n const editObject = drawData.objectList[drawData.activeObjectIndex];\n if (editObject) {\n const newObject = {\n ...drawData.objectList[drawData.activeObjectIndex],\n attributes: undefined,\n };\n newObject.labelId = labelId;\n if (editState.annotsDisplayOptions.colorByCategory) {\n newObject.color = getAnnotColor(labelId);\n }\n if (newObject.type === EObjectType.Mask && newObject.maskRle) {\n newObject.maskCanvasElement = rleToCanvas(\n newObject.maskRle,\n naturalSize,\n newObject.color,\n );\n }\n // batch editing set conf to 1\n if (drawData.isBatchEditing) {\n newObject.conf = 1;\n }\n updateObject(newObject, drawData.activeObjectIndex);\n }\n setEditState((s) => {\n s.latestLabelId = labelId;\n });\n };\n\n const onFinishCurrCreate = useCallback(\n (labelId: string) => {\n if (drawData.creatingObject?.type === EObjectType.Mask) {\n const maskRle = objectToRle(\n clientSize,\n naturalSize,\n drawData.creatingObject?.tempMaskSteps || [],\n drawData.creatingObject?.maskCanvasElement,\n );\n if (maskRle && maskRle.length > 0) {\n const color = getColorForMaskObj(labelId);\n const newObject = {\n ...drawData.objectList[drawData.activeObjectIndex],\n type: EObjectType.Mask,\n labelId,\n hidden: false,\n maskRle,\n maskCanvasElement: rleToCanvas(maskRle, naturalSize, color),\n conf: 1,\n status: EObjectStatus.Commited,\n color,\n };\n if (drawData.activeObjectIndex > -1) {\n // edit mask object\n updateObject(newObject, drawData.activeObjectIndex);\n } else {\n // add mask object\n addObject(newObject, true);\n }\n } else if (maskRle) {\n // Empty mask\n message.warning(localeText('DDSAnnotator.anno.mask.emptyWarning'));\n } else {\n // Other error\n message.error(\n localeText('DDSAnnotator.anno.mask.translateToRleError'),\n );\n }\n } else if (drawData.creatingObject?.type === EObjectType.Polygon) {\n const color = getAnnotColor(labelId);\n const newObject = {\n ...drawData.objectList[drawData.activeObjectIndex],\n type: EObjectType.Polygon,\n labelId,\n hidden: false,\n polygon: drawData.creatingObject?.polygon,\n conf: 1,\n status: EObjectStatus.Commited,\n color,\n };\n if (drawData.activeObjectIndex > -1) {\n // edit existing polygon\n updateObject(newObject, drawData.activeObjectIndex);\n } else {\n // add new polygon\n addObject(newObject, true);\n }\n } else {\n const newObject = {\n ...drawData.objectList[drawData.activeObjectIndex],\n };\n newObject.labelId = labelId;\n if (editState.annotsDisplayOptions.colorByCategory) {\n newObject.color = getAnnotColor(labelId);\n }\n // batch editing set conf to 1\n if (drawData.isBatchEditing) {\n newObject.conf = 1;\n }\n updateObject(newObject, drawData.activeObjectIndex);\n }\n setDrawData((s) => {\n s.creatingObject = undefined;\n s.prompt = {};\n s.activeObjectIndex = -1;\n if (s.selectedSubTool === ESubToolItem.PenErase) {\n s.selectedSubTool = ESubToolItem.PenAdd;\n } else if (s.selectedSubTool === ESubToolItem.BrushErase) {\n s.selectedSubTool = ESubToolItem.BrushAdd;\n }\n });\n setEditState((s) => {\n s.latestLabelId = labelId;\n });\n },\n [\n drawData.creatingObject,\n drawData.activeObjectIndex,\n drawData.objectList,\n drawData.selectedSubTool,\n ],\n );\n\n const onAcceptValidObjects = useCallback(() => {\n setDrawDataWithHistory((s) => {\n const validObjs = cloneDeep(drawData.objectList)\n .filter((obj) => {\n return obj.status !== EObjectStatus.Unchecked;\n })\n .map((obj) => {\n obj.status = EObjectStatus.Commited;\n if (obj.type !== EObjectType.Mask) {\n obj.color = getAnnotColor(obj.labelId);\n }\n return obj;\n });\n s.objectList = validObjs;\n s.isBatchEditing = false;\n s.activeObjectIndex = -1;\n s.creatingObject = undefined;\n s.prompt = {};\n });\n setAiLabels(undefined);\n }, [drawData.objectList]);\n\n const onAbortBatchObjects = useCallback(() => {\n setDrawDataWithHistory((s) => {\n const validObjs = cloneDeep(drawData.objectList).filter((obj) => {\n return obj.status === EObjectStatus.Commited;\n });\n s.objectList = validObjs;\n s.isBatchEditing = false;\n s.activeObjectIndex = -1;\n s.creatingObject = undefined;\n s.prompt = {};\n });\n }, [drawData.objectList]);\n\n const isInAiSession = useCallback(() => {\n const {\n selectedTool,\n AIAnnotation,\n selectedModel,\n selectedSubTool,\n isBatchEditing,\n creatingObject,\n } = drawData;\n\n if (!AIAnnotation) return false;\n\n if (selectedTool === EBasicToolItem.Rectangle) {\n return isBatchEditing;\n }\n\n if (selectedTool === EBasicToolItem.Polygon) {\n return creatingObject;\n }\n\n if (selectedTool === EBasicToolItem.Skeleton) {\n return isBatchEditing;\n }\n\n if (selectedTool === EBasicToolItem.Mask) {\n const currModel = selectedModel[selectedTool];\n if (currModel === EnumModelType.IVP) {\n return isBatchEditing;\n }\n\n if (\n currModel === EnumModelType.SegmentEverything &&\n selectedSubTool === ESubToolItem.AutoSegmentEverything\n ) {\n return isBatchEditing;\n }\n\n if (currModel === EnumModelType.SegmentByMask) {\n return creatingObject;\n }\n\n return false;\n }\n return false;\n }, [\n drawData.selectedTool,\n drawData.selectedModel,\n drawData.AIAnnotation,\n drawData.selectedSubTool,\n drawData.isBatchEditing,\n drawData.creatingObject,\n ]);\n\n const selectTool = useCallback(\n (tool: EBasicToolItem) => {\n if (\n mode !== EditorMode.Edit ||\n (tool === drawData.selectedTool && !drawData.AIAnnotation) ||\n drawData.isBatchEditing\n )\n return;\n\n if (isInAiSession()) return;\n\n setDrawData((s) => {\n s.selectedTool = tool;\n s.AIAnnotation = false;\n s.activeObjectIndex = -1;\n s.creatingObject = undefined;\n s.editingAttribute = undefined;\n s.prompt = {};\n });\n },\n [\n mode,\n drawData.selectedTool,\n drawData.isBatchEditing,\n drawData.AIAnnotation,\n isInAiSession,\n ],\n );\n\n const selectSubTool = useCallback(\n (subtool: ESubToolItem) => {\n const {\n selectedTool,\n selectedModel,\n selectedSubTool,\n AIAnnotation,\n isBatchEditing,\n } = drawData;\n\n if (mode !== EditorMode.Edit || subtool === selectedSubTool) return;\n\n // TODO: check subtool belong to current tool & model\n\n if (\n selectedTool === EBasicToolItem.Mask &&\n AIAnnotation &&\n selectedModel[selectedTool] === EnumModelType.SegmentEverything &&\n isBatchEditing\n ) {\n return;\n }\n\n setDrawData((s) => {\n s.selectedSubTool = subtool;\n });\n },\n [\n mode,\n drawData.selectedTool,\n drawData.AIAnnotation,\n drawData.selectedModel,\n drawData.isBatchEditing,\n drawData.selectedSubTool,\n isInAiSession,\n ],\n );\n\n const forceChangeTool = useCallback(\n (tool: EBasicToolItem, subtool: ESubToolItem) => {\n setDrawData((s) => {\n s.selectedTool = tool;\n s.selectedSubTool = subtool;\n });\n },\n [],\n );\n\n const onExitAIAnnotation = useCallback(() => {\n setDrawDataWithHistory((s) => {\n s.objectList = s.objectList.filter(\n (obj) => obj.status === EObjectStatus.Commited,\n );\n s.AIAnnotation = false;\n s.isBatchEditing = false;\n s.creatingObject = undefined;\n s.prompt = {};\n });\n }, []);\n\n const setBrushSize = useCallback(\n (size: number) => {\n if (mode !== EditorMode.Edit) return;\n setDrawData((s) => {\n s.brushSize = size;\n });\n },\n [mode],\n );\n\n const setPointResolution = useCallback(\n (value: number) => {\n if (mode !== EditorMode.Edit) return;\n setDrawData((s) => {\n s.pointResolution = value;\n });\n },\n [mode],\n );\n\n const onChangePointResolution = useCallback(\n (value: number, update?: boolean) => {\n setPointResolution(value);\n if (\n update &&\n drawData.creatingObject &&\n drawData.creatingObject.type === EObjectType.Polygon &&\n drawData.prompt.promptsQueue &&\n drawData.prompt.promptsQueue.length > 0\n ) {\n const updateDrawData: DrawData = {\n ...drawData,\n pointResolution: value,\n };\n onAiAnnotation({\n type: EObjectType.Polygon,\n drawData: updateDrawData,\n promptsQueue: drawData.prompt.promptsQueue,\n });\n }\n },\n [drawData.creatingObject, drawData.prompt],\n );\n\n const displayAIModeUnavailableModal = () => {\n Modal.info({\n centered: true,\n closable: true,\n title: localeText('DDSAnnotator.smart.infoModal.title'),\n content: localeText('DDSAnnotator.smart.infoModal.content'),\n okText: localeText('DDSAnnotator.smart.infoModal.action'),\n onOk: () => {\n window.open('https://deepdataspace.com', '_blank');\n },\n });\n };\n\n const activeAIAnnotation = useCallback(\n (active: boolean) => {\n if (mode !== EditorMode.Edit || manualMode) return;\n\n if (isInAiSession()) return;\n\n setDrawData((s) => {\n s.AIAnnotation = active;\n });\n },\n [mode, manualMode, isInAiSession],\n );\n\n const onChangeSkeletonConf = useCallback(\n (range: [number, number]) => {\n setDrawDataWithHistory((s) => {\n const updateObjects = cloneDeep(drawData.objectList).map((obj) => {\n if (obj.status === EObjectStatus.Commited) {\n return obj;\n }\n if (obj.conf === undefined) {\n obj.status = EObjectStatus.Unchecked;\n return obj;\n }\n obj.status =\n obj.conf < range[0] || obj.conf > range[1]\n ? EObjectStatus.Unchecked\n : EObjectStatus.Checked;\n return obj;\n });\n s.objectList = updateObjects;\n });\n },\n [drawData.objectList],\n );\n\n const onChangeLimitConf = useCallback(\n (value: number) => {\n setDrawDataWithHistory((s) => {\n const updateObjects = cloneDeep(drawData.objectList).map((obj) => {\n if (obj.status === EObjectStatus.Commited) {\n return obj;\n }\n obj.status =\n obj.conf && obj.conf >= value\n ? EObjectStatus.Checked\n : EObjectStatus.Unchecked;\n return obj;\n });\n s.objectList = updateObjects;\n const count = updateObjects.filter(\n (item) => item.status === EObjectStatus.Checked,\n ).length;\n message.success(\n localeText(`DDSAnnotator.smart.tip.annotationApplied`, {\n count,\n }),\n );\n });\n },\n [drawData.objectList],\n );\n\n const onChangeImageDisplayOpts = useCallback(\n (value: IImageDisplayOptions) => {\n setEditState((s) => {\n s.imageDisplayOptions = value;\n });\n },\n [],\n );\n\n const onChangeAnnotsDisplayOpts = useCallback(\n (value: IAnnotsDisplayOptions) => {\n setEditState((s) => {\n s.annotsDisplayOptions = value;\n });\n },\n [],\n );\n\n const onChangeColorMode = useCallback(() => {\n if (!drawData.objectList || !drawData.objectList.length) return;\n const newObjectList = cloneDeep(drawData.objectList).map((item) => {\n const color = getAnnotColor(item.labelId);\n if (\n item.type === EObjectType.Mask &&\n item.maskRle &&\n item.maskRle.length > 0\n ) {\n return {\n ...item,\n color,\n maskCanvasElement: rleToCanvas(item.maskRle, naturalSize, color),\n };\n }\n return { ...item, color };\n });\n updateAllObject(newObjectList);\n }, [drawData.objectList, getAnnotColor]);\n\n const checkChangeModel = useCallback(\n (modelKey: EnumModelType) => {\n const { selectedTool } = drawData;\n\n const currModels = TOOL_MODELS_MAP[selectedTool];\n if (!currModels.includes(modelKey)) return false;\n\n if (isInAiSession()) return false;\n\n return true;\n },\n [TOOL_MODELS_MAP, drawData.selectedTool, isInAiSession],\n );\n\n const onSelectModel = useCallback(\n (modelKey: EnumModelType) => {\n if (!checkChangeModel(modelKey)) {\n return;\n }\n\n setDrawData((s) => {\n s.selectedModel[s.selectedTool] = modelKey;\n });\n },\n [checkChangeModel],\n );\n\n useEffect(() => {\n setDrawData((s) => {\n if (s.AIAnnotation) {\n const model = s.selectedModel[s.selectedTool];\n switch (s.selectedTool) {\n case EBasicToolItem.Rectangle:\n if (model === EnumModelType.IVP) {\n s.selectedSubTool = ESubToolItem.PositiveVisualPrompt;\n } else {\n s.selectedSubTool = ESubToolItem.PenAdd; // TODO\n }\n break;\n case EBasicToolItem.Mask:\n if (model === EnumModelType.IVP) {\n s.selectedSubTool = ESubToolItem.PositiveVisualPrompt;\n } else if (model === EnumModelType.SegmentEverything) {\n const isAvailbale =\n (s.objectList.length === 0 && !s.creatingObject) ||\n s.isBatchEditing;\n s.selectedSubTool = isAvailbale\n ? ESubToolItem.AutoSegmentEverything\n : ESubToolItem.PenAdd;\n } else {\n s.selectedSubTool = ESubToolItem.AutoSegmentByBox;\n }\n break;\n case EBasicToolItem.Polygon:\n s.selectedSubTool = ESubToolItem.AutoSegmentByBox;\n break;\n case EBasicToolItem.Skeleton:\n case EBasicToolItem.Drag:\n s.selectedSubTool = ESubToolItem.PenAdd;\n break;\n }\n } else {\n s.selectedSubTool = ESubToolItem.PenAdd;\n }\n });\n }, [drawData.selectedTool, drawData.AIAnnotation, drawData.selectedModel]);\n\n return {\n onChangeObjectLabel,\n onFinishCurrCreate,\n onAcceptValidObjects,\n onAbortBatchObjects,\n selectTool,\n selectSubTool,\n forceChangeTool,\n onExitAIAnnotation,\n setBrushSize,\n activeAIAnnotation,\n displayAIModeUnavailableModal,\n onChangeSkeletonConf,\n onChangeLimitConf,\n onChangeImageDisplayOpts,\n onChangeAnnotsDisplayOpts,\n onChangeColorMode,\n onChangePointResolution,\n onSelectModel,\n };\n};\n\nexport default useToolActions;\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgDocs = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ viewBox: \"0 0 22 22\", xmlns: \"http://www.w3.org/2000/svg\" }, props), /* @__PURE__ */ React.createElement(\"g\", { clipPath: \"url(#docs_svg__a)\" }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M14.666 5.5a.917.917 0 1 1 0 1.833H7.333a.917.917 0 1 1 0-1.833h7.333Zm7.065 16.231a.916.916 0 0 1-1.296 0l-2.206-2.206a4.086 4.086 0 0 1-4.48-.053 4.125 4.125 0 1 1 6.417-3.43 4.085 4.085 0 0 1-.641 2.187l2.206 2.206a.917.917 0 0 1 0 1.296Zm-5.69-3.398a2.292 2.292 0 1 0 0-4.583 2.292 2.292 0 0 0 0 4.583Zm-4.125 1.834h-5.5a2.75 2.75 0 0 1-2.75-2.75V4.583a2.75 2.75 0 0 1 2.75-2.75h11a.917.917 0 0 1 .917.917v7.333a.917.917 0 0 0 1.833 0V2.75A2.75 2.75 0 0 0 17.416 0h-11a4.589 4.589 0 0 0-4.583 4.583v12.834A4.589 4.589 0 0 0 6.416 22h5.5a.917.917 0 1 0 0-1.833Z\" })), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"clipPath\", { id: \"docs_svg__a\" }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M0 0h22v22H0z\" }))));\nexport { SvgDocs as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjIgMjIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJNMTQuNjY2IDUuNWEuOTE3LjkxNyAwIDEgMSAwIDEuODMzSDcuMzMzYS45MTcuOTE3IDAgMSAxIDAtMS44MzNoNy4zMzNabTcuMDY1IDE2LjIzMWEuOTE2LjkxNiAwIDAgMS0xLjI5NiAwbC0yLjIwNi0yLjIwNmE0LjA4NiA0LjA4NiAwIDAgMS00LjQ4LS4wNTMgNC4xMjUgNC4xMjUgMCAxIDEgNi40MTctMy40MyA0LjA4NSA0LjA4NSAwIDAgMS0uNjQxIDIuMTg3bDIuMjA2IDIuMjA2YS45MTcuOTE3IDAgMCAxIDAgMS4yOTZabS01LjY5LTMuMzk4YTIuMjkyIDIuMjkyIDAgMSAwIDAtNC41ODMgMi4yOTIgMi4yOTIgMCAwIDAgMCA0LjU4M1ptLTQuMTI1IDEuODM0aC01LjVhMi43NSAyLjc1IDAgMCAxLTIuNzUtMi43NVY0LjU4M2EyLjc1IDIuNzUgMCAwIDEgMi43NS0yLjc1aDExYS45MTcuOTE3IDAgMCAxIC45MTcuOTE3djcuMzMzYS45MTcuOTE3IDAgMCAwIDEuODMzIDBWMi43NUEyLjc1IDIuNzUgMCAwIDAgMTcuNDE2IDBoLTExYTQuNTg5IDQuNTg5IDAgMCAwLTQuNTgzIDQuNTgzdjEyLjgzNEE0LjU4OSA0LjU4OSAwIDAgMCA2LjQxNiAyMmg1LjVhLjkxNy45MTcgMCAxIDAgMC0xLjgzM1oiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBkPSJNMCAwaDIydjIySDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+\";\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgLogo = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ viewBox: \"0 0 33 33\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", xmlnsXlink: \"http://www.w3.org/1999/xlink\" }, props), /* @__PURE__ */ React.createElement(\"path\", { d: \"m15.5 1 13.423 7.75v15.5L15.5 32 2.077 24.25V8.75L15.5 1Z\", fill: \"#fff\" }), /* @__PURE__ */ React.createElement(\"path\", { fill: \"url(#logo_svg__a)\", d: \"M0 0h33v33H0z\" }), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"pattern\", { id: \"logo_svg__a\", patternContentUnits: \"objectBoundingBox\", width: 1, height: 1 }, /* @__PURE__ */ React.createElement(\"use\", { xlinkHref: \"#logo_svg__b\", transform: \"scale(.00417)\" })), /* @__PURE__ */ React.createElement(\"image\", { id: \"logo_svg__b\", width: 240, height: 240, xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAADwCAYAAAA+VemSAAAACXBIWXMAACE4AAAhOAFFljFgAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAABLHSURBVHgB7d1fVhw3FgbwKxX2jIE47QWYFCtIWMHACoLBeQ5eAbACmhUAK8B5DtidFcAOcFbgMlmAexyMk4GSRqqmCSYBd3dJKl3V93vKOfPnnND9dd0rXakEQXLy5U+LOtNbmnQhS7ld9B4VBEkSBMnIl3VHyU9bJPTGZ/+Blt0P6o+9fu9JnyApCHAi5lZscEsTXNG5479SaK23f3s1+5IgGQgwc7ZcVlLtm08yH/F/YsvqJZTVaUCAmTLBzU2fu2/63EWazEv0x/whwMwM+tw/1kmoLtXXN/3x7umrR9sELCHAjOSr5+uKbHDv7HMnhf6YKQSYgRvbQovkkSDRE6XYRFnNBwIcMQd97qTQHzOBAEforz733m0h31BWM4AAR+bpytmaELTTYHBvKzSVm78dPu4RRAcBjkSoPrcGlNURQoAbVpXL2cdd81H8SBxo2ZWKfkKQ44AANySSPndS6I8jgQA3YILxx1gVsnzwrOg9fEPQCAQ4oPyHs++0kjsR97mTQn/cEAQ4gDuP+aXG9McYywwLAfbM4/hjrNAfB4QAe5JQnzupN6asfoay2i8E2LEGxx9jhf7YIwTYEcfH/FJTmP74Jfpj9xBgB1rY504K/bFjCHANDMYfo4Rji+4gwBMY9LnK7OfSMkEd6I9rQoDHwHz8MVYoq2tAgEdUHfMjsdXibSHfcGxxAgjwF6DPDQ5l9RgQ4DuwO+aXGrxNYiQI8C3oc6OC/vgLEOAbMP4YLbxN4g4IMCV9zC816I9vaXWAW3PMLzU4tnittQHG+CN76I+phQG2fW4py10hxLcEKWj1scXWBBjH/JLXyv44+QBjW6hVCtJi7/TV9C61RNIBRp/bWq3pj5MMMMYf4UryZXVSAbZ9rsrKLsYf4TNa7Eol9lIMchIBRp8LI0iyrGYf4KerH5eFph2MP8KI7FjmC/M0PqYEsA0w+lyoKYn+mF2AMf4ITjE/tsgqwHMrNrjoc8E5tv0xiwDjmB8Ewu7YYtQBxvgjNIRNfxxlgNHnQgT6pj/ejf3YYnQBTmT8sW9+fLal+Qet5LoWOifgKur+OJoAp3PMT+/JcqZb9ES1qonpsDQIEseiFC9iK6sbD3AqfW71AUu1Wfw8++af/vPq31PqIzyN2YuqP24swKmMP5rgFkKUL4qDr45H+e/nK2drmuQWgsxaNMcWGwlw9ZYDQTv8+1y1Jy9nd4fl8qhQViej8f44aIBTGX80f7SeKGXtt+tdvSTttSb6joCzxsrqIAFO5YlT9bmi3B61XB4VyupENHBs0WuAEzrmV20LnR7Meut5qh+5qcs1s/e4RcBZ0LLaW4ATOuZnyqPpzXH73EkNqpVL80MhvyfgrJDlg2dF7+Eb8sh5gBM95he8x0FZnQyv3x1nAW7B+GMjo3Vzz3/voqxOgKe3STgJcMuO+QXfOsC2UzKcf3dqBbjlx/yCvxEAZXUynB1brBXgudWPmiB4f3xVVq+bf8TFBnwVp4cz81STJKhrTWXqqGojAjk9+KprfjQWTGP1E0GrIcBu5CRU11Qkb+2YKAVgn/inh7NrUuhNgtZCgN3KhRD736yev7YLTxRAcTC7a57G80KLgqB1EGAPzB74simr35on8n6IINunsVBiCSFuHwTYr6v++Nz73jhC3E5JBtgsrXsdXxuT6Y/1Toj+GCH+nD18Iql8lvJiX1IBtofrpVBL7w5nFmxfGNkHV/XHvsvqKsSZMl9aYnlRuQvV90DrF+8Op5eKw8e9arEv0XWCVAJsD9dvi/LRwvCo3/UqrfkgI/vg1qr+2OO2k73Wx6xOR32boid/fQ9uTTvZ78O7V9PzEX4faklhkGOkQYpIhx+8TnPZ1XC7oEYtMM6lc5Ec3XQyyME2wJMcro90priQUj+76zK8OvLl9x2VPXxLCU9sCU2/Cqk2JrlkoeHvQ2sDXPtwff7890Wtsv2IZor7JsRLPkI8t2IqD5HkaSZnlyw0NGPewgCb/maSS+Tukj8/24jo4nVvIf5m5fxtWgcgPr972xXbZgmV/Rjob9WeWehqO8CsItoZYJcfmp1istsukaxWd5QSR/kPZ84vuBOk9igB19+Dw9kNHzek2O9XRN+HkUT9BB73zuU6Irp4vfhQ/m/B5ftquffCIb8HQ4P+WJ2Qv79Z+k9gralHl1MFBRDRNkP+dfav1+RQYX8MFMthhr9tD4Zwdc79iBj84MVdQgu9YUcRQ53wsez+YdNllL1PzPX4pcx0j3ixlwk6b5vuY4Nrtt6O7HeOyyUVnBax7C0Gdp/vmAJp+OL1viml512W0ubzek+RP1V83b19n4buc2vdgf68OhgQ6ISPVZXVdiyzmbK681j+y+32j6JfKF796/HHQOG1wbUTcSr7+JbrZYwcRymvRxE7ZnGGArguq00/RiGZL5XLHyspdEyHPIaqPteWy0XAiwJtW6bk+Ym9iIHzZYx8Z6HNH/5x9vAk6A0Yg6ts5m2ZR4Go6rZPR2RcAb7aFlpoos+1B0tSuIwxlUvtgtyCf5MdAlFa2BLX96+3s174ajvpPTWszvjjpK7WM3bMFzaW2XBcaneD6Y8vToL2x4OrbBYC9Ma2F14jB4rBj0CTxwzt+OPmu1cz34Xvc8uTiMLrTGoH+r0f1btpcID+zwXfJbUQ5O49SbqpANvxR7st5O8Fcbflq+frgwUq3n3ufVK+FzroGxTmVs9e+jzVYsroJy7K6LkV+4UO1/s1VC4vlrLcNX3utxQvlNBfMLwB422IstpeHuBz+KMz9e8m9qJr0ntCTS+GK5c/5cNBjMjD60wbLrXLQ90QKcuLDV/3camy5NW/mV7X16GD2wZ97vmO/ZwTeyvmF7XpVkrbH594vcrGlLiilH7uo5IiJx769l6yUL0u90GMutp2rWxn+AYFX09ju7BlvsDPyD0OJeHgTHOY02OLg34+3QWqUbT1XuhqLPPp6kcvZengC+z8DG78J2O03vRxIcFNHA8c+NTmi91z06++9lVSy/KyS25L6bgDLGjb5yhk1eealX4b3Lb1uffBmxlsSe0hxNXQhHb7FA41+z0u80PYOz2Y6ZIntlKq+ly84PxvEGCrCrH7159IdWkXcpw9hTv07+gCXN2WUUpvb0i0q8u2Umpzn3sfBHhI6J38+adFcsjHUzg2QisvLze3JfPTlbM3bV1dHhUCfIPSyvlrQa+ewkmyT18ffW91H5U8P2nLMEYdCPDnOjrT++RQtTcc8PhhSPbpS44NwosV5lFFficWbYe+m8rHfVTmyZ7c2/F8PX1LWfYQ3tHFfSul0oMXlAm1FPSVoUI7ve0jUxc9SoyPp2+1YIWyeSwsSmg7GBH4bqrOY/nQ2VO4WswSUb2zuLa+4x+l6mYVLFiNjVUPbEu2YHc3C1p3uu9a0q+Ujl/cXjz/KTcleYrvb/KO5SLWdZCF3vQYZKdP4UgvlJuI+QF1+vSt3hCIvncirFehr99t5Ou2SPMUJkdKoQpKhcqOyZHBth0mrCbFfhvp5m2RHlasO66GOzIpC0pAtfrscHDD9bZd2ySzD1wF2a5YOw6ys4P0F1mTl8m5VJAj1U2ROJhQS3KDHDeD7GTrSQp3F8olQCvlbDGu6n2hlmQnsaobI0vlYsg+D3VVLQvCYSugxX8IasEo5SiyC4YXyvmhSTlpBZ6ufljGynN9CPAIlJ7KCZwSJJO7ZL0JCPAoMN7nHv6mTiQe4KmCnFBPKBWi+at57DuaTC2OtsQBPIFHYPY+v6Z0RHCzxRTC6wgCDMGVmcb1OI4gwBCc0BmewI4gwACMIcAQnkYJ7QoCDA3AFbGuIMAAjCHAAIwhwACMIcAAjCHAAIwhwKE8KLHyCs4hwKFcYO8T3EOAARhDgAEYQ4ABGEOAARhDgAEYQ4ABGEOAYSyCRE4QDQQYgDEEGIAxBBiAMQQYgDEEuEXwkrb0IMAAjCHAAIwhwACMIcAjwVleiBMCPAIdxQvBAP4OAQZgDAEGYAwBBmAMAQZgDAEGYAwBBmAMAQZgDAEOpJQiJwDHEGAAxhBgGI/GWGlMog5wJrOCIC4y+5ogGngCAzCGAAMwhgADMIYAAzCGAAMwhgADMIYAAzCGALfJgzKOIQypMAziCALcJhdxTFEJwjCIKwgwAGNxB1hfoNQCuEfUAVaUvZ5b+bTVWX6PIFcy/B3gM/GX0EJ1H2cPT56unK1R201FsggF0eDSA+dCiP251Y9v8YY9gL9wW8TKVabemiDvI8gAfFeh10yQT2x/TAAtxnkbqWP7Y1tW39UfF71HBQEkLIV94Ko//mb1/AhlNbRNMoMcmvQi+mNomxQnsWx/fDS3cr5B4JwgnRNEI9VRypyE3rH9MQEkLPVZ6JwiIUjkBOAYDjPAWDSJgiAaCDCMR5X/JYgGAgzjEbIgiAYCDGORUrwhiAYCDGPpX/5RO8BaYyvKFQQYRmZW0o/7vSd9qkvEszvAHQIMIxNa/UQ15T+cfUfgTK0AS61fCI1thTYwT9+ieDX7kmoqlcqp5WwlI4V6QQ7UCrD9QN+9mp6XQm8iyGkTpVgiB4SSi9RS9kfQPvTeHU4vFQdfHZMDTkro4mB2Vyj7AevaJVakOq0+ICFo29nRzEz8h9qnb365tkX5aMFFFXOTsx7YfsCnh7NrspTztkSgtHSqk07ML9grs0nuhdZ7pwczXXKg+hHU1KoeWBD1TCYWTg++6hY9UX8B8Bbni1g2yLZESLI/5n7BnpZjBtiE93DW2amuUpaL1BJXfe7Su8OZZz4vlvC2Cj3sj23pQLaESEc7Ltgz6xouw1v9X5JowxVIffu3c9nn3sf7NpItHWwJkWB/nOQFe9VCi3lynJp1DXLo6eqH5eT3f83DSpbT867/dvcJsg/8WX+c3mp1Qhfs6b1qocXDk0PS1DolqiqXzXfbV597n6CDHFV/bLed0uuPv3jBXsyun7qmZPbxBbR/E3vlESVm+HeryuWGLlBsZBLL9sdC/blw1R+nhNsFe9X2hvkCzvvs1xLsfYd97nyIPvc+jY1SFr0n/av+eD61/pjJBXsvh9sb5NHcysettHpfvRe6z73PFDXsqvRYy1c/9LSe2tEiqZMqtj9enFs537OxjoHt14Qot0M8Oezcs1LUpQRUfzepNoufZ6M6TikoMnnVL8mtxILshBTSbE08OqYJ5cu6E2qRxVYeSqoj7k9f2+eaH7wXTZfKd4nuNNKgP056LLMx4cKrO6Use8zD+9f4Y6ThtaI8Tnhz2wlB5kdn5/tmMe9b4uvloM8Nvy00rsZ74Ptc98crZ8coq+Nnn7w6+/Sa65ZRyPUBV6Lrge8z9/z3rlDZj20Nct0e2Cfb89qymemTty+13nR9UigEVjdy2JIG/XF8THgX7YIVw/D2h+OPHMNrsXoC32R/8XWmTLnWnuNpsT2Bbcms5Cezz6vZvYeqKpdL8YL7K2jZ3ok1OLY4s4BrfZrxdPXjspLnJ9zCKzT92vT4o0tsn8C32f6YtEz6uFoMT2BbLutMbzFcqLLjj9uxTFC5ksytlKmOZX5GXzR2G4gtl+dWznfsq1v5hTeu8UeXknkC32RH+HQpXye4Wl1orbd/C7jgMuhz/1gnUZpSWbC6TiiVPvc+SQZ4KOGxzEJTufnb4eMeeXS1urzPbaIq9vFHl5IOsFXN5E5driXaH9sTRduunzCDFX69z7PPVXu+T1jFJPkAD1VBzsqu+Vf+kVKjZVcq+qlukDlvCw363JnoRx9da02Ah/LVD8sJHlu0avXH+er5uiLVZdnnMht/dKl1AR5KuT+W5YNnRe/hSOdWbZ9bynKX2xRV1eeS3iwOZ7yuA8SutQG2ki6rv9Afc+9z5eXsbtvK5X/S6gAPDYJ8afYI5feUGtMfn756dH33GOdtIfK0aMcZAnxD0ttOpj+2/yAE7aDPTQcC/A/afmwxImyP+YWCAN8h8f44duhzR4QAf0Ebjy02qQ3jjy4hwCPCbZl+2WN+QqoN9LnjQYDH1IZji4ElecwvFAR4AuiPXWnn+KNLCHANCR9b9Ap9rjsIsAPoj0fTpmN+oSDAjlxNc20QyWTfg1sDtoU8QYAdQ398G/pcnxBgT9peVmP8MQwE2LP8+dmGVnK9LUHGMb+wEOAAWlJWo89tAAIcEOMzuPcyX6KeKOUmtoXCQ4AbkEp/jD63eQhwg67GMu22E7eD9Rh/jAQC3DB2/bF9mx/63GggwJGo+mOpj2ItqzH+GCcEODKx9ccYf4wbAhyhfPl9R01NbTR8bBF9LgMIcMSa648x/sgFAsxA/vz3Ra2yfd9lddXnSrVZ/Dw70qXw0DwEmBFf/TH6XL4QYGYcH1vE+CNzCDBTDvrjl7Kc3kRweUOAmRu3rMb4Y1oQ4ER86dhi1edqtY23HKQFAU7IHWU1+tyEIcAJGh5bNPu5fRzzS9v/AWiP/NYPzz1QAAAAAElFTkSuQmCC\" })));\nexport { SvgLogo as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMzMgMzMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxwYXRoIGQ9Im0xNS41IDEgMTMuNDIzIDcuNzV2MTUuNUwxNS41IDMyIDIuMDc3IDI0LjI1VjguNzVMMTUuNSAxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGZpbGw9InVybCgjYSkiIGQ9Ik0wIDBoMzN2MzNIMHoiLz48ZGVmcz48cGF0dGVybiBpZD0iYSIgcGF0dGVybkNvbnRlbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPjx1c2UgeGxpbms6aHJlZj0iI2IiIHRyYW5zZm9ybT0ic2NhbGUoLjAwNDE3KSIvPjwvcGF0dGVybj48aW1hZ2UgaWQ9ImIiIHdpZHRoPSIyNDAiIGhlaWdodD0iMjQwIiB4bGluazpocmVmPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVBBQUFBRHdDQVlBQUFBK1ZlbVNBQUFBQ1hCSVdYTUFBQ0U0QUFBaE9BRkZsakZnQUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFCTEhTVVJCVkhnQjdkMWZWaHczRmdid0t4WDJqSUU0N1FXWUZDdElXTUhBQ29MQmVRNWVBYkFDbWhVQUs4QjVEdGlkRmNBT2NGYmdNbG1BZXh5TWs0R1NScXFtQ1NZQmQzZEpLbDNWOTN2S09mUG5uTkQ5ZGQwclhha0VRWEx5NVUrTE90TmJtblFoUzdsZDlCNFZCRWtTQk1uSWwzVkh5VTliSlBUR1ovK0JsdDBQNm8rOWZ1OUpueUFwQ0hBaTVsWnNjRXNUWE5HNTQ3OVNhSzIzZjNzMSs1SWdHUWd3YzdaY1ZsTHRtMDh5SC9GL1lzdnFKWlRWYVVDQW1UTEJ6VTJmdTIvNjNFV2F6RXYweC93aHdNd00rdHcvMWttb0x0WFhOLzN4N3VtclI5c0VMQ0hBak9TcjUrdUtiSER2N0hNbmhmNllLUVNZZ1J2YlFvdmtrU0RSRTZYWVJGbk5Cd0ljTVFkOTdxVFFIek9CQUVmb3J6NzMzbTBoMzFCV000QUFSK2JweXRtYUVMVFRZSEJ2S3pTVm03OGRQdTRSUkFjQmprU29QcmNHbE5VUlFvQWJWcFhMMmNkZDgxSDhTQnhvMlpXS2ZrS1E0NEFBTnlTU1BuZFM2SThqZ1FBM1lJTHh4MWdWc256d3JPZzlmRVBRQ0FRNG9QeUhzKyswa2pzUjk3bVRRbi9jRUFRNGdEdVArYVhHOU1jWXl3d0xBZmJNNC9oanJOQWZCNFFBZTVKUW56dXBONmFzZm9heTJpOEUyTEVHeHg5amhmN1lJd1RZRWNmSC9GSlRtUDc0SmZwajl4QmdCMXJZNTA0Sy9iRmpDSEFORE1ZZm80UmppKzRnd0JNWTlMbks3T2ZTTWtFZDZJOXJRb0RId0h6OE1WWW9xMnRBZ0VkVUhmTWpzZFhpYlNIZmNHeHhBZ2p3RjZEUERRNWw5UmdRNER1d08rYVhHcnhOWWlRSThDM29jNk9DL3ZnTEVPQWJNUDRZTGJ4TjRnNElNQ1Y5ekM4MTZJOXZhWFdBVzNQTUx6VTR0bml0dFFIRytDTjc2SStwaFFHMmZXNHB5MTBoeExjRUtXajFzY1hXQkJqSC9KTFh5djQ0K1FCalc2aFZDdEppNy9UVjlDNjFSTklCUnAvYldxM3BqNU1NTU1ZZjRVcnlaWFZTQWJaOXJzcktMc1lmNFROYTdFb2w5bElNY2hJQlJwOExJMGl5ckdZZjRLZXJINWVGcGgyTVA4S0k3RmptQy9NMFBxWUVzQTB3K2x5b0tZbittRjJBTWY0SVRqRS90c2dxd0hNck5yam9jOEU1dHYweGl3RGptQjhFd3U3WVl0UUJ4dmdqTklSTmZ4eGxnTkhuUWdUNnBqL2VqZjNZWW5RQlRtVDhzVzkrZkxhbCtRZXQ1TG9XT2lmZ0t1citPSm9BcDNQTVQrL0pjcVpiOUVTMXFvbnBzRFFJRXNlaUZDOWlLNnNiRDNBcWZXNzFBVXUxV2Z3OCsrYWYvdlBxMzFQcUl6eU4yWXVxUDI0c3dLbU1QNXJnRmtLVUw0cURyNDVIK2UvbksyZHJtdVFXZ3N4YU5NY1dHd2x3OVpZRFFUdjgrMXkxSnk5bmQ0Zmw4cWhRVmllajhmNDRhSUJUR1g4MGY3U2VLR1h0dCt0ZHZTVHR0U2I2am9DenhzcnFJQUZPNVlsVDlibWkzQjYxWEI0Vnl1cEVOSEJzMFd1QUV6cm1WMjBMblI3TWV1dDVxaCs1cWNzMXMvZTRSY0JaMExMYVc0QVRPdVpueXFQcHpYSDczRWtOcXBWTDgwTWh2eWZnckpEbGcyZEY3K0ViOHNoNWdCTTk1aGU4eDBGWm5ReXYzeDFuQVc3QitHTWpvM1Z6ejMvdm9xeE9nS2UzU1RnSmNNdU8rUVhmT3NDMlV6S2NmM2RxQmJqbHgveUN2eEVBWlhVeW5CMWJyQlhndWRXUG1pQjRmM3hWVnErYmY4VEZCbndWcDRjejgxU1RKS2hyVFdYcXFHb2pBams5K0twcmZqUVdUR1AxRTBHckljQnU1Q1JVMTFRa2IrMllLQVZnbi9pbmg3TnJVdWhOZ3RaQ2dOM0toUkQ3MzZ5ZXY3WUxUeFJBY1RDN2E1N0c4MEtMZ3FCMUVHQVB6Qjc0c2ltcjM1b244bjZJSU51bnNWQmlDU0Z1SHdUWXI2disrTno3M2poQzNFNUpCdGdzclhzZFh4dVQ2WS8xVG9qK0dDSCtuRDE4SXFsOGx2SmlYMUlCdG9mcnBWQkw3dzVuRm14ZkdOa0hWL1hIdnN2cUtzU1pNbDlhWW5sUnVRdlY5MERyRis4T3A1ZUt3OGU5YXJFdjBYV0NWQUpzRDlkdmkvTFJ3dkNvMy9VcXJma2dJL3ZnMXFyKzJPTzJrNzNXeDZ4T1IzMmJvaWQvZlE5dVRUdlo3OE83VjlQekVYNGZha2xoa0dPa1FZcEloeCs4VG5QWjFYQzdvRVl0TU02bGM1RWMzWFF5eU1FMndKTWNybzkwcHJpUVVqKzc2eks4T3ZMbDl4MlZQWHhMQ1U5c0NVMi9DcWsySnJsa29lSHZRMnNEWFB0d2ZmNzg5MFd0c3YySVpvcjdKc1JMUGtJOHQySXFENUhrYVNabmx5dzBOR1Bld2dDYi9tYVNTK1R1a2o4LzI0am80blZ2SWY1bTVmeHRXZ2NnUHI5NzJ4WGJaZ21WL1Jqb2I5V2VXZWhxTzhDc0l0b1pZSmNmbXAxaXN0c3VrYXhXZDVRU1Iva1BaODR2dUJPazlpZ0IxOStEdzlrTkh6ZWsyTzlYUk4rSGtVVDlCQjczenVVNklycDR2ZmhRL20vQjVmdHF1ZmZDSWI4SFE0UCtXSjJRdjc5WitrOWdyYWxIbDFNRkJSRFJOa1ArZGZhdjErUlFZWDhNRk10aGhyOXRENFp3ZGM3OWlCajg0TVZkUWd1OVlVY1JRNTN3c2V6K1lkTmxsTDFQelBYNHBjeDBqM2l4bHdrNmI1dnVZNE5ydHQ2TzdIZU95eVVWbkJheDdDMEdkcC92bUFKcCtPTDF2aW1sNTEyVzB1YnplaytSUDFWODNiMTluNGJ1YzJ2ZGdmNjhPaGdRNklTUFZaWFZkaXl6bWJLNjgxait5KzMyajZKZktGNzk2L0hIUU9HMXdiVVRjU3I3K0piclpZd2NSeW12UnhFN1puR0dBcmd1cTAwL1JpR1pMNVhMSHlzcGRFeUhQSWFxUHRlV3kwWEFpd0p0VzZiaytZbTlpSUh6Wll4OFo2SE5ILzV4OXZBazZBMFlnNnRzNW0yWlI0R282clpQUjJSY0FiN2FGbHBvb3MrMUIwdFN1SXd4bFV2dGd0eUNmNU1kQWxGYTJCTFg5NiszczE3NGFqdnBQVFdzenZqanBLN1dNM2JNRnphVzJYQmNhbmVENlk4dlRvTDJ4NE9yYkJZQzlNYTJGMTRqQjRyQmowQ1R4d3p0K09QbXUxY3ozNFh2Yzh1VGlNTHJUR29IK3IwZjFidHBjSUQrendYZkpiVVE1TzQ5U2JxcEFOdnhSN3N0NU84RmNiZmxxK2ZyZ3dVcTNuM3VmVksrRnpyb0d4VG1WczllK2p6Vllzcm9KeTdLNkxrVis0VU8xL3MxVkM0dmxyTGNOWDN1dHhRdmxOQmZNTHdCNDIySXN0cGVIdUJ6K0tNejllOG05cUpyMG50Q1RTK0dLNWMvNWNOQmpNakQ2MHdiTHJYTFE5MFFLY3VMRFYvM2NhbXk1TlcvbVY3WDE2R0Qyd1o5N3ZtTy9ad1RleXZtRjdYcFZrcmJINTk0dmNyR2xMaWlsSDd1bzVJaUp4NzY5bDZ5VUwwdTkwR011dHAycld4bitBWUZYMDlqdTdCbHZzRFB5RDBPSmVIZ1RIT1kwMk9MZzM0KzNRV3FVYlQxWHVocUxQUHA2a2N2WmVuZ0MrejhERzc4SjJPMDN2UnhJY0ZOSEE4YytOVG1pOTF6MDYrKzlsVlN5L0t5UzI1TDZiZ0RMR2piNXloazFlZWFsWDRiM0xiMXVmZkJteGxzU2UwaHhOWFFoSGI3RkE0MSt6MHU4MFBZT3oyWTZaSW50bEtxK2x5ODRQeHZFR0NyQ3JINzE1OUlkV2tYY3B3OWhUdjA3K2dDWE4yV1VVcHZiMGkwcTh1MlVtcHpuM3NmQkhoSTZKMzgrYWRGY3NqSFV6ZzJRaXN2THplM0pmUFRsYk0zYlYxZEhoVUNmSVBTeXZsclFhK2V3a215VDE4ZmZXOTFINVU4UDJuTE1FWWRDUERuT2pyVCsrUlF0VGNjOFBoaFNQYnBTNDROd29zVjVsRkZmaWNXYlllK204ckhmVlRteVo3YzIvRjhQWDFMV2ZZUTN0SEZmU3VsMG9NWGxBbTFGUFNWb1VJN3ZlMGpVeGM5U295UHAyKzFZSVd5ZVN3c1NtZzdHQkg0YnFyT1kvblEyVk80V3N3U1ViMnp1TGErNHgrbDZtWVZMRmlOalZVUGJFdTJZSGMzQzFwM3V1OWEwcStVamwvY1hqei9LVGNsZVlydmIvS081U0xXZFpDRjN2UVlaS2RQNFVndmxKdUkrUUYxK3ZTdDNoQ0l2bmNpckZlaHI5OXQ1T3UyU1BNVUprZEtvUXBLaGNxT3laSEJ0aDBtckNiRmZodnA1bTJSSGxhc082NkdPeklwQzBwQXRmcnNjSEREOWJaZDJ5U3pEMXdGMmE1WU93NnlzNFAwRjFtVGw4bTVWSkFqMVUyUk9KaFFTM0tESERlRDdHVHJTUXAzRjhvbFFDdmxiREd1Nm4yaGxtUW5zYW9iSTB2bFlzZytEM1ZWTFF2Q1lTdWd4WDhJYXNFbzVTaXlDNFlYeXZtaFNUbHBCWjZ1ZmxqR3luTjlDUEFJbEo3S0Nad1NKSk83WkwwSkNQQW9NTjduSHY2bVRpUWU0S21DbkZCUEtCV2krYXQ1N0R1YVRDMk90c1FCUElGSFlQWSt2NlowUkhDenhSVEM2d2dDRE1HVm1jYjFPSTRnd0JDYzBCbWV3STRnd0FDTUljQVFua1lKN1FvQ0RBM0FGYkd1SU1BQWpDSEFBSXdod0FDTUljQUFqQ0hBQUl3aHdLRThLTEh5Q3M0aHdLRmNZTzhUM0VPQUFSaERnQUVZUTRBQkdFT0FBUmhEZ0FFWVE0QUJHRU9BWVN5Q1JFNFFEUVFZZ0RFRUdJQXhCQmlBTVFRWWdERUV1RVh3a3JiMElNQUFqQ0hBQUl3aHdBQ01JY0Fqd1ZsZWlCTUNQQUlkeFF2QkFQNE9BUVpnREFFR1lBd0JCbUFNQVFaZ0RBRUdZQXdCQm1BTUFRWmdEQUVPcEpRaUp3REhFR0FBeGhCZ0dJL0dXR2xNb2c1d0pyT0NJQzR5KzVvZ0duZ0NBekNHQUFNd2hnQURNSVlBQXpDR0FBTXdoZ0FETUlZQUF6Q0dBTGZKZ3pLT0lReXBNQXppQ0FMY0poZHhURkVKd2pDSUt3Z3dBR054QjFoZm9OUUN1RWZVQVZhVXZaNWIrYlRWV1g2UElGY3kvQjNnTS9HWDBFSjFIMmNQVDU2dW5LMVIyMDFGc2dnRjBlRFNBK2RDaVAyNTFZOXY4WVk5Z0w5d1c4VEtWYWJlbWlEdkk4Z0FmRmVoMTB5UVQyeC9UQUF0eG5rYnFXUDdZMXRXMzlVZkY3MUhCUUVrTElWOTRLby8vbWIxL0FobE5iUk5Nb01jbXZRaSttTm9teFFuc1d4L2ZEUzNjcjVCNEp3Z25STkVJOVZSeXB5RTNySDlNUUVrTFBWWjZKd2lJVWprQk9BWURqUEFXRFNKZ2lBYUNEQ01SNVgvSllnR0FnempFYklnaUFZQ0RHT1JVcndoaUFZQ0RHUHBYLzVSTzhCYVl5dktGUVFZUm1aVzBvLzd2U2Q5cWt2RXN6dkFIUUlNSXhOYS9VUTE1VCtjZlVmZ1RLMEFTNjFmQ0kxdGhUWXdUOStpZURYN2ttb3FsY3FwNVd3bEk0VjZRUTdVQ3JEOVFOKzltcDZYUW04aXlHa1RwVmdpQjRTU2k5UlM5a2ZRUHZUZUhVNHZGUWRmSFpNRFRrcm80bUIyVnlqN0FldmFKVmFrT3EwK0lDRm8yOW5SekV6OGg5cW5iMzY1dGtYNWFNRkZGWE9Uc3g3WWZzQ25oN05yc3BUenRrU2d0SFNxazA3TUw5Z3JzMG51aGRaN3B3Y3pYWEtnK2hIVTFLb2VXQkQxVENZV1RnKys2aFk5VVg4QjhCYm5pMWcyeUxaRVNMSS81bjdCbnBaakJ0aUU5M0RXMmFtdVVwYUwxQkpYZmU3U3U4T1paejR2bHZDMkNqM3NqMjNwUUxhRVNFYzdMdGd6NnhvdXcxdjlYNUpvd3hWSWZmdTNjOW5uM3NmN05wSXRIV3dKa1dCL25PUUZlOVZDaTNseW5KcDFEWExvNmVxSDVlVDNmODNEU3BiVDg2Ny9kdmNKc2cvOFdYK2MzbXAxUWhmczZiMXFvY1hEazBQUzFEb2xxaXFYelhmYlY1OTduNkNESEZWL2JMZWQwdXVQdjNqQlhzeXVuN3FtWlBieEJiUi9FM3ZsRVNWbStIZXJ5dVdHTGxCc1pCTEw5c2RDL2JsdzFSK25oTnNGZTlYMmh2a0N6dnZzMXhMc2ZZZDk3bnlJUHZjK2pZMVNGcjBuL2F2K2VENjEvcGpKQlhzdmg5c2I1TkhjeXNldHRIcGZ2UmU2ejczUEZEWHNxdlJZeTFjLzlMU2UydEVpcVpNcXRqOWVuRnM1MzdPeGpvSHQxNFFvdDBNOE9lemNzMUxVcFFSVWZ6ZXBOb3VmWjZNNlRpa29Nbm5WTDhtdHhJTHNoQlRTYkUwOE9xWUo1Y3U2RTJxUnhWWWVTcW9qN2s5ZjIrZWFIN3dYVFpmS2Q0bnVOTktnUDA1NkxMTXg0Y0tyTzZVc2U4ekQrOWY0WTZUaHRhSThUbmh6MndsQjVrZG41L3RtTWU5YjR1dmxvTThOdnkwMHJzWjc0UHRjOThjclo4Y29xK05ubjd3NisvU2E2NVpSeVBVQlY2THJnZTh6OS96M3JsRFpqMjBOY3QwZTJDZmI4OXF5bWVtVHR5KzEzblI5VWlnRVZqZHkySklHL1hGOFRIZ1g3WUlWdy9EMmgrT1BITU5yc1hvQzMyUi84WFdtVExuV251TnBzVDJCYmNtczVDZXp6NnZadlllcUtwZEw4WUw3SzJqWjNvazFPTFk0czRCcmZacnhkUFhqc3BMbko5ekNLelQ5MnZUNG8wdHNuOEMzMmY2WXRFejZ1Rm9NVDJCYkx1dE1iekZjcUxMamo5dXhURkM1a3N5dGxLbU9aWDVHWHpSMkc0Z3RsK2RXem5mc3ExdjVoVGV1OFVlWGtua0MzMlJIK0hRcFh5ZTRXbDFvcmJkL0M3amdNdWh6LzFnblVacFNXYkM2VGlpVlB2YytTUVo0S09HeHpFSlR1Zm5iNGVNZWVYUzF1cnpQYmFJcTl2RkhsNUlPc0ZYTjVFNWRyaVhhSDlzVFJkdXVuekNERlg2OXo3UFBWWHUrVDFqRkpQa0FEMVZCenNxdStWZitrVktqWlZjcStxbHVrRGx2Q3czNjNKbm9SeDlkYTAyQWgvTFZEOHNKSGx1MGF2WEgrZXI1dWlMVlpkbm5NaHQvZEtsMUFSNUt1VCtXNVlOblJlL2hTT2RXYlo5YnluS1gyeFJWMWVlUzNpd09aN3l1QThTdXRRRzJraTZydjlBZmMrOXo1ZVhzYnR2SzVYL1M2Z0FQRFlKOGFmWUk1ZmVVR3RNZm43NTZkSDMzR09kdElmSzBhTWNaQW54RDB0dE9waisyL3lBRTdhRFBUUWNDL0EvYWZtd3hJbXlQK1lXQ0FOOGg4ZjQ0ZHVoelI0UUFmMEViankwMnFRM2pqeTRod0NQQ2JabCsyV04rUXFvTjlMbmpRWURIMUlaamk0RWxlY3d2RkFSNEF1aVBYV25uK0tOTENIQU5DUjliOUFwOXJqc0lzQVBvajBmVHBtTitvU0RBamx4TmMyMFF5V1RmZzFzRHRvVThRWUFkUTM5OEcvcGNueEJnVDlwZVZtUDhNUXdFMkxQOCtkbUdWbks5TFVIR01iK3dFT0FBV2xKV284OXRBQUljRU9NenVQY3lYNktlS09VbXRvWENRNEFia0VwL2pENjNlUWh3ZzY3R011MjJFN2VEOVJoL2pBUUMzREIyL2JGOW14LzYzR2dnd0pHbyttT3BqMkl0cXpIK0dDY0VPREt4OWNjWWY0d2JBaHloZlBsOVIwMU5iVFI4YkJGOUxnTUljTVNhNjQ4eC9zZ0ZBc3hBL3Z6M1JhMnlmZDlsZGRYblNyVlovRHc3MHFYdzBEd0VtQkZmL1RINlhMNFFZR1ljSDF2RStDTnpDREJURHZyamw3S2Mza1J3ZVVPQW1SdTNyTWI0WTFvUTRFUjg2ZGhpMWVkcXRZMjNIS1FGQVU3SUhXVTErdHlFSWNBSkdoNWJOUHU1ZlJ6elM5di9BV2lQL05ZUHp6MVFBQUFBQUVsRlRrU3VRbUNDIi8+PC9kZWZzPjwvc3ZnPg==\";\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgDisplayReset = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ className: \"displayReset_svg__icon\", viewBox: \"0 0 1024 1024\", xmlns: \"http://www.w3.org/2000/svg\", width: 200, height: 200 }, props), /* @__PURE__ */ React.createElement(\"path\", { d: \"m193.07 70.353 5.423.931a34.91 34.91 0 0 1 28.37 40.425l-.024.07-12.87 72.541A448.698 448.698 0 0 1 507.857 75.38c246.831 0 447.023 197.912 447.023 442.182S754.688 959.744 507.857 959.744c-160.186 0-305.687-84.084-385.466-218.159a37.795 37.795 0 0 1 13.359-51.921 38.167 38.167 0 0 1 52.154 13.289c66.21 111.243 186.903 180.992 319.953 180.992 204.87 0 370.851-164.096 370.851-366.383S712.728 151.18 507.858 151.18c-107.288 0-206.802 45.265-276.318 121.995H373.04a34.91 34.91 0 0 1 0 69.818H163.584c-2.607 0-5.19-.279-7.657-.837a34.63 34.63 0 0 1-5.26-.512l-5.422-.931a34.91 34.91 0 0 1-28.346-40.495l35.77-201.588a34.91 34.91 0 0 1 40.402-28.277z\", fill: \"#fff\" }));\nexport { SvgDisplayReset as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0ibTE5My4wNyA3MC4zNTMgNS40MjMuOTMxYTM0LjkxIDM0LjkxIDAgMCAxIDI4LjM3IDQwLjQyNWwtLjAyNC4wNy0xMi44NyA3Mi41NDFBNDQ4LjY5OCA0NDguNjk4IDAgMCAxIDUwNy44NTcgNzUuMzhjMjQ2LjgzMSAwIDQ0Ny4wMjMgMTk3LjkxMiA0NDcuMDIzIDQ0Mi4xODJTNzU0LjY4OCA5NTkuNzQ0IDUwNy44NTcgOTU5Ljc0NGMtMTYwLjE4NiAwLTMwNS42ODctODQuMDg0LTM4NS40NjYtMjE4LjE1OWEzNy43OTUgMzcuNzk1IDAgMCAxIDEzLjM1OS01MS45MjEgMzguMTY3IDM4LjE2NyAwIDAgMSA1Mi4xNTQgMTMuMjg5YzY2LjIxIDExMS4yNDMgMTg2LjkwMyAxODAuOTkyIDMxOS45NTMgMTgwLjk5MiAyMDQuODcgMCAzNzAuODUxLTE2NC4wOTYgMzcwLjg1MS0zNjYuMzgzUzcxMi43MjggMTUxLjE4IDUwNy44NTggMTUxLjE4Yy0xMDcuMjg4IDAtMjA2LjgwMiA0NS4yNjUtMjc2LjMxOCAxMjEuOTk1SDM3My4wNGEzNC45MSAzNC45MSAwIDAgMSAwIDY5LjgxOEgxNjMuNTg0Yy0yLjYwNyAwLTUuMTktLjI3OS03LjY1Ny0uODM3YTM0LjYzIDM0LjYzIDAgMCAxLTUuMjYtLjUxMmwtNS40MjItLjkzMWEzNC45MSAzNC45MSAwIDAgMS0yOC4zNDYtNDAuNDk1bDM1Ljc3LTIwMS41ODhhMzQuOTEgMzQuOTEgMCAwIDEgNDAuNDAyLTI4LjI3N3oiIGZpbGw9IiNmZmYiLz48L3N2Zz4=\";\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgSettingsSliders = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ viewBox: \"0 0 20 20\", xmlns: \"http://www.w3.org/2000/svg\" }, props), /* @__PURE__ */ React.createElement(\"g\", { clipPath: \"url(#settings-sliders_svg__a)\" }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M.833 3.958h2.28a3.107 3.107 0 0 0 5.996 0h10.058a.833.833 0 0 0 0-1.667H9.109a3.107 3.107 0 0 0-5.996 0H.833a.833.833 0 0 0 0 1.667Zm5.278-2.292a1.458 1.458 0 1 1 0 2.917 1.458 1.458 0 0 1 0-2.917ZM19.167 9.167h-2.28a3.106 3.106 0 0 0-5.995 0H.833a.833.833 0 0 0 0 1.666h10.059a3.105 3.105 0 0 0 5.995 0h2.28a.833.833 0 0 0 0-1.666Zm-5.278 2.291a1.458 1.458 0 1 1 0-2.915 1.458 1.458 0 0 1 0 2.915ZM19.167 16.042H9.109a3.107 3.107 0 0 0-5.996 0H.833a.833.833 0 1 0 0 1.666h2.28a3.107 3.107 0 0 0 5.996 0h10.058a.833.833 0 0 0 0-1.666ZM6.11 18.333a1.458 1.458 0 1 1 0-2.915 1.458 1.458 0 0 1 0 2.915Z\" })), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"clipPath\", { id: \"settings-sliders_svg__a\" }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M0 0h20v20H0z\" }))));\nexport { SvgSettingsSliders as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJNLjgzMyAzLjk1OGgyLjI4YTMuMTA3IDMuMTA3IDAgMCAwIDUuOTk2IDBoMTAuMDU4YS44MzMuODMzIDAgMCAwIDAtMS42NjdIOS4xMDlhMy4xMDcgMy4xMDcgMCAwIDAtNS45OTYgMEguODMzYS44MzMuODMzIDAgMCAwIDAgMS42NjdabTUuMjc4LTIuMjkyYTEuNDU4IDEuNDU4IDAgMSAxIDAgMi45MTcgMS40NTggMS40NTggMCAwIDEgMC0yLjkxN1pNMTkuMTY3IDkuMTY3aC0yLjI4YTMuMTA2IDMuMTA2IDAgMCAwLTUuOTk1IDBILjgzM2EuODMzLjgzMyAwIDAgMCAwIDEuNjY2aDEwLjA1OWEzLjEwNSAzLjEwNSAwIDAgMCA1Ljk5NSAwaDIuMjhhLjgzMy44MzMgMCAwIDAgMC0xLjY2NlptLTUuMjc4IDIuMjkxYTEuNDU4IDEuNDU4IDAgMSAxIDAtMi45MTUgMS40NTggMS40NTggMCAwIDEgMCAyLjkxNVpNMTkuMTY3IDE2LjA0Mkg5LjEwOWEzLjEwNyAzLjEwNyAwIDAgMC01Ljk5NiAwSC44MzNhLjgzMy44MzMgMCAxIDAgMCAxLjY2NmgyLjI4YTMuMTA3IDMuMTA3IDAgMCAwIDUuOTk2IDBoMTAuMDU4YS44MzMuODMzIDAgMCAwIDAtMS42NjZaTTYuMTEgMTguMzMzYTEuNDU4IDEuNDU4IDAgMSAxIDAtMi45MTUgMS40NTggMS40NTggMCAwIDEgMCAyLjkxNVoiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBkPSJNMCAwaDIwdjIwSDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+\";\n","import Icon from '@ant-design/icons';\nimport { Button, Popover, Slider, Tooltip } from 'antd';\nimport { useLocale } from 'dds-utils/locale';\nimport { memo, useMemo } from 'react';\n\nimport { ReactComponent as DisplayReset } from '../../assets/displayReset.svg';\nimport { ReactComponent as SettingIcon } from '../../assets/settings-sliders.svg';\nimport {\n DEFAULT_IMG_DISPLAY_OPTIONS,\n IAnnotsDisplayOptions,\n IImageDisplayOptions,\n} from '../../type';\n\nimport './index.less';\n\ninterface IProps {\n displayOption: IImageDisplayOptions;\n colorByCategory: boolean;\n onChangeImageDisplayOpts: (options: IImageDisplayOptions) => void;\n onChangeAnnotsDisplayOpts: (options: IAnnotsDisplayOptions) => void;\n}\n\nconst DisplaySettings: React.FC = memo(\n ({ displayOption, onChangeImageDisplayOpts, onChangeAnnotsDisplayOpts }) => {\n const { localeText } = useLocale();\n\n const popoverContent = useMemo(() => {\n return (\n
\n
\n
{localeText('DDSAnnotator.imgDisplayTool.title')}
\n }\n onClick={() =>\n onChangeImageDisplayOpts(DEFAULT_IMG_DISPLAY_OPTIONS)\n }\n >\n
\n
\n \n \n onChangeImageDisplayOpts({\n ...displayOption,\n brightness: value,\n })\n }\n min={0}\n max={200}\n />\n
\n
\n \n \n onChangeImageDisplayOpts({\n ...displayOption,\n contrast: value,\n })\n }\n min={0}\n max={200}\n />\n
\n
\n \n \n onChangeImageDisplayOpts({\n ...displayOption,\n saturate: value,\n })\n }\n min={0}\n max={200}\n />\n
\n
\n );\n }, [\n displayOption.brightness,\n displayOption.contrast,\n displayOption.saturate,\n onChangeImageDisplayOpts,\n onChangeAnnotsDisplayOpts,\n ]);\n\n return (\n \n \n \n \n \n );\n },\n);\n\nexport default DisplaySettings;\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgLabel = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ viewBox: \"0 0 27 27\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props), /* @__PURE__ */ React.createElement(\"g\", { clipPath: \"url(#label_svg__a)\" }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M13.5 27C20.956 27 27 20.956 27 13.5S20.956 0 13.5 0 0 6.044 0 13.5 6.044 27 13.5 27Z\", fill: \"#26A1F4\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"m18.201 12.527-.007-.008-3.721-3.723s-4.535 4.535-6.72 6.765c-.273.278-.479.664-.601 1.037-.359 1.097-.656 2.215-.986 3.322-.088.297-.07.559.162.78.22.211.466.219.751.133 1.055-.316 2.116-.617 3.176-.92a3.243 3.243 0 0 0 1.432-.865c2.082-2.095 6.514-6.521 6.514-6.521ZM20.373 7.9l-1.272-1.272a1.74 1.74 0 0 0-2.46 0l-1.442 1.44 3.733 3.734 1.442-1.442a1.74 1.74 0 0 0 0-2.46Z\", fill: \"#fff\" })), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"clipPath\", { id: \"label_svg__a\" }, /* @__PURE__ */ React.createElement(\"path\", { fill: \"#fff\", d: \"M0 0h27v27H0z\" }))));\nexport { SvgLabel as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjcgMjciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJNMTMuNSAyN0MyMC45NTYgMjcgMjcgMjAuOTU2IDI3IDEzLjVTMjAuOTU2IDAgMTMuNSAwIDAgNi4wNDQgMCAxMy41IDYuMDQ0IDI3IDEzLjUgMjdaIiBmaWxsPSIjMjZBMUY0Ii8+PHBhdGggZD0ibTE4LjIwMSAxMi41MjctLjAwNy0uMDA4LTMuNzIxLTMuNzIzcy00LjUzNSA0LjUzNS02LjcyIDYuNzY1Yy0uMjczLjI3OC0uNDc5LjY2NC0uNjAxIDEuMDM3LS4zNTkgMS4wOTctLjY1NiAyLjIxNS0uOTg2IDMuMzIyLS4wODguMjk3LS4wNy41NTkuMTYyLjc4LjIyLjIxMS40NjYuMjE5Ljc1MS4xMzMgMS4wNTUtLjMxNiAyLjExNi0uNjE3IDMuMTc2LS45MmEzLjI0MyAzLjI0MyAwIDAgMCAxLjQzMi0uODY1YzIuMDgyLTIuMDk1IDYuNTE0LTYuNTIxIDYuNTE0LTYuNTIxWk0yMC4zNzMgNy45bC0xLjI3Mi0xLjI3MmExLjc0IDEuNzQgMCAwIDAtMi40NiAwbC0xLjQ0MiAxLjQ0IDMuNzMzIDMuNzM0IDEuNDQyLTEuNDQyYTEuNzQgMS43NCAwIDAgMCAwLTIuNDZaIiBmaWxsPSIjZmZmIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGgyN3YyN0gweiIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==\";\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgReview = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ viewBox: \"0 0 27 27\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props), /* @__PURE__ */ React.createElement(\"path\", { d: \"M13.5 27C20.956 27 27 20.956 27 13.5S20.956 0 13.5 0 0 6.044 0 13.5 6.044 27 13.5 27Z\", fill: \"#FFD305\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"m20.713 19.26-.369-.37-.063-.064-1.493 1.493.036.036.396.396c.254.254.791.125 1.207-.287.415-.412.54-.952.286-1.204ZM16.709 15.31a5.797 5.797 0 1 0-1.515 1.47l3.229 3.181 1.493-1.492-3.207-3.16Zm-4.655.717a4.092 4.092 0 1 1 0-8.184 4.092 4.092 0 0 1 0 8.184Z\", fill: \"#fff\" }));\nexport { SvgReview as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjcgMjciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEzLjUgMjdDMjAuOTU2IDI3IDI3IDIwLjk1NiAyNyAxMy41UzIwLjk1NiAwIDEzLjUgMCAwIDYuMDQ0IDAgMTMuNSA2LjA0NCAyNyAxMy41IDI3WiIgZmlsbD0iI0ZGRDMwNSIvPjxwYXRoIGQ9Im0yMC43MTMgMTkuMjYtLjM2OS0uMzctLjA2My0uMDY0LTEuNDkzIDEuNDkzLjAzNi4wMzYuMzk2LjM5NmMuMjU0LjI1NC43OTEuMTI1IDEuMjA3LS4yODcuNDE1LS40MTIuNTQtLjk1Mi4yODYtMS4yMDRaTTE2LjcwOSAxNS4zMWE1Ljc5NyA1Ljc5NyAwIDEgMC0xLjUxNSAxLjQ3bDMuMjI5IDMuMTgxIDEuNDkzLTEuNDkyLTMuMjA3LTMuMTZabS00LjY1NS43MTdhNC4wOTIgNC4wOTIgMCAxIDEgMC04LjE4NCA0LjA5MiA0LjA5MiAwIDAgMSAwIDguMTg0WiIgZmlsbD0iI2ZmZiIvPjwvc3ZnPg==\";\n","import classNames from 'classnames';\nimport { useLocale } from 'dds-utils/locale';\nimport { memo } from 'react';\n\nimport { ReactComponent as LabelIcon } from '../../assets/label.svg';\nimport { ReactComponent as ReviewIcon } from '../../assets/review.svg';\nimport { EditorMode } from '../../type';\n\nimport './index.less';\n\ninterface IProps {\n mode: EditorMode;\n}\n\nconst EditorStatus: React.FC = memo(({ mode }) => {\n const { localeText } = useLocale();\n\n if (mode === EditorMode.View) return null;\n\n return (\n \n {mode === EditorMode.Edit ? (\n <>\n \n {localeText('DDSAnnotator.status.labeling')}\n \n ) : (\n <>\n \n {localeText('DDSAnnotator.status.reviewing')}\n \n )}\n \n );\n});\n\nexport default EditorStatus;\n","import { PlusOutlined } from '@ant-design/icons';\nimport { Button, Divider, Input, InputRef, Space } from 'antd';\nimport { useLocale } from 'dds-utils/locale';\nimport { memo, useRef, useState } from 'react';\n\ninterface IProps {\n onAdd: (value: string) => void;\n}\n\nconst CategoryCreator: React.FC = memo(({ onAdd }) => {\n const { localeText } = useLocale();\n\n const inputRef = useRef(null);\n\n const [inputValue, setInputValue] = useState('');\n\n const handleInputChange = (event: React.ChangeEvent) => {\n event.stopPropagation();\n setInputValue(event.target.value);\n };\n\n const addCategory = () => {\n if (inputValue === '') return;\n onAdd(inputValue);\n setInputValue('');\n inputRef.current?.focus();\n };\n\n return (\n <>\n \n \n {\n if (event.code === 'Enter') {\n addCategory();\n }\n event.stopPropagation();\n }}\n />\n \n \n \n );\n});\n\nexport default CategoryCreator;\n","import { Select } from 'antd';\nimport { useLocale } from 'dds-utils/locale';\nimport { memo, useMemo } from 'react';\n\nimport {\n EBasicToolItem,\n EBasicToolTypeMap,\n LABEL_TOOL_MAP,\n OBJECT_ICON,\n} from '../../constants';\nimport { Category, DrawData } from '../../type';\nimport CategoryCreator from '../CategoryCreator';\n\nimport './index.less';\n\ninterface IProps {\n drawData: DrawData;\n latestLabelId: string;\n isSeperate?: boolean;\n labelOptions: Category[];\n labelColors?: Record;\n onChangeObjectLabel: (labelId: string) => void;\n onCreateCategory: (name: string) => void;\n}\n\nconst LabelSelector: React.FC = memo(\n ({\n drawData,\n latestLabelId,\n isSeperate,\n labelOptions,\n labelColors,\n onChangeObjectLabel,\n onCreateCategory,\n }) => {\n const { localeText } = useLocale();\n const TypeIcon = useMemo(() => {\n if (labelOptions.length > 0) {\n const labelType = labelOptions[0]?.labelType;\n // @ts-ignore\n const toolType = labelType && LABEL_TOOL_MAP[labelType];\n const objectType =\n EBasicToolTypeMap[toolType as unknown as EBasicToolItem];\n if (objectType) {\n return OBJECT_ICON[objectType];\n }\n }\n return undefined;\n }, [labelOptions]);\n\n return (\n
\n event.stopPropagation()}\n onKeyUp={(event) => event.stopPropagation()}\n onInputKeyDown={(event) => {\n if (event.code !== 'Enter') {\n event.stopPropagation();\n }\n }}\n filterOption={(inputValue, option) => {\n const label =\n option?.children?.[(option?.children?.length || 0) - 1] || '';\n return label.toLowerCase()?.includes(inputValue.toLowerCase());\n }}\n dropdownRender={(menu) => (\n <>\n {menu}\n {isSeperate && }\n \n )}\n >\n {labelOptions?.map((label) => (\n \n {TypeIcon ? (\n \n ) : (\n \n )}\n {label.name}\n \n ))}\n \n
\n );\n },\n);\n\nexport default LabelSelector;\n","import Icon from '@ant-design/icons';\nimport { Select } from 'antd';\nimport { useLocale } from 'dds-utils/locale';\nimport { memo } from 'react';\n\nimport {\n EBasicToolItem,\n EBasicToolTypeMap,\n EnumModelType,\n MODEL_INTRO_MAP,\n OBJECT_AI_ICON,\n} from '../../constants';\n\nimport './index.less';\n\ninterface IProps {\n selectedTool: EBasicToolItem;\n selectedModel?: EnumModelType;\n modelOptions: EnumModelType[];\n onSelectModel: (type: EnumModelType) => void;\n}\n\nconst ModelSelector: React.FC = memo(\n ({ selectedTool, selectedModel, modelOptions, onSelectModel }) => {\n const { localeText } = useLocale();\n\n const objectType = EBasicToolTypeMap[selectedTool];\n\n return (\n
\n event.stopPropagation()}\n onKeyUp={(event) => event.stopPropagation()}\n onInputKeyDown={(event) => {\n if (event.code !== 'Enter') {\n event.stopPropagation();\n }\n }}\n >\n {modelOptions?.map((model, index) => (\n \n \n {MODEL_INTRO_MAP[model] &&\n localeText(MODEL_INTRO_MAP[model]!.name)}\n \n ))}\n \n
\n );\n },\n);\n\nexport default ModelSelector;\n","import { useKeyPress } from 'ahooks';\nimport { Button, Popover, Slider } from 'antd';\nimport classNames from 'classnames';\nimport { memo, useMemo } from 'react';\n\nimport { ESubToolItem } from '../../constants';\nimport { FloatWrapper } from '../FloatWrapper';\n\nimport { TSubtoolOptions, TToolItem } from '@/Annotator/hooks/useSubtools';\n\nimport './index.less';\n\ninterface IProps {\n toolOptions: TSubtoolOptions;\n selectedSubTool: ESubToolItem;\n isAIAnnotationActive: boolean;\n brushSize: number;\n onChangeSubTool: (type: ESubToolItem) => void;\n onActiveAIAnnotation: (active: boolean) => void;\n onChangeBrushSize: (size: number) => void;\n}\n\nconst SubToolBar: React.FC = memo(\n ({\n toolOptions,\n selectedSubTool,\n isAIAnnotationActive,\n brushSize,\n onChangeSubTool,\n onChangeBrushSize,\n }) => {\n const allSubTools = useMemo(() => {\n return [...toolOptions.basicTools, ...toolOptions.smartTools];\n }, [toolOptions.basicTools, toolOptions.smartTools]);\n\n const shortcuts = useMemo(() => {\n const keys: string[] = [];\n for (let i = 1; i <= allSubTools.length; i++) {\n keys.push(i.toString());\n }\n return keys;\n }, [allSubTools]);\n\n useKeyPress(\n shortcuts,\n (event) => {\n const tool = allSubTools.find((_, index) => {\n return (index + 1).toString() === event.key;\n });\n if (tool && tool.available) {\n if (\n toolOptions.smartTools.find((item) => tool.key === item.key) &&\n !isAIAnnotationActive\n )\n return;\n onChangeSubTool(tool.key);\n }\n },\n {\n exactMatch: true,\n },\n );\n\n const mouseEventHandler = (event: React.MouseEvent) => {\n const tool = allSubTools.find((item) => item.key === selectedSubTool);\n if (\n event.type === 'mouseup' &&\n (tool?.withSize || tool?.withCustomElement)\n ) {\n return;\n } else {\n event.stopPropagation();\n }\n };\n\n const popoverContent = (item: TToolItem) => {\n const shortcut =\n allSubTools.findIndex((tool) => tool.key === item.key) + 1;\n return (\n
\n
\n \n {item.name}\n \n {shortcut && (\n \n {shortcut}\n \n )}\n
\n {item.description && (\n <>\n
\n
{item.description}
\n \n )}\n
\n );\n };\n\n const onBtnClick = (type: ESubToolItem) => {\n const tool = allSubTools.find((item) => item.key === type);\n if (tool && tool.available) {\n onChangeSubTool(type);\n }\n };\n\n const ToolItemBtn = (item: TToolItem) => {\n return (\n \n onBtnClick(item.key)}\n />\n \n );\n };\n\n return (\n \n
\n {toolOptions.basicTools.map((item) => ToolItemBtn(item))}\n {isAIAnnotationActive && (\n <>\n {toolOptions.basicTools.length > 0 &&\n toolOptions.smartTools.length > 0 && (\n
\n )}\n {toolOptions.smartTools.map((item) => ToolItemBtn(item))}\n \n )}\n {toolOptions.customElement && (\n <>\n
\n {toolOptions.customElement}\n \n )}\n {!!allSubTools.find((item) => item.key === selectedSubTool)\n ?.withSize && (\n <>\n
\n
\n {'Brush Size'}\n
\n
\n onChangeBrushSize(value)}\n />\n
\n \n )}\n
\n
\n );\n },\n);\n\nexport default SubToolBar;\n","import { Tooltip } from 'antd';\nimport classNames from 'classnames';\nimport React from 'react';\n\nimport './index.less';\n\nexport interface ITopToolItem {\n icon?: React.ReactNode;\n title?: string;\n customElement?: React.ReactNode;\n onClick?: (event: React.MouseEvent) => void;\n disabled?: boolean;\n splitLine?: boolean;\n}\n\nexport interface IProps {\n className?: string;\n children?: React.ReactNode;\n leftTools?: ITopToolItem[];\n rightTools?: ITopToolItem[];\n}\n\nconst TopTools: React.FC = (props) => {\n const { className = '', children, leftTools = [], rightTools = [] } = props;\n\n const renderTools = (tools: ITopToolItem[]) =>\n tools.map(\n ({ title, icon, onClick, disabled, splitLine, customElement }, index) => (\n \n {customElement ? (\n customElement\n ) : (\n \n \n {icon}\n \n \n )}\n {splitLine &&
}\n \n ),\n );\n\n return (\n {\n event.stopPropagation();\n }}\n >\n
\n {renderTools(leftTools)}\n
\n
{children}
\n
\n {renderTools(rightTools)}\n
\n
\n );\n};\n\nexport default TopTools;\n","import Icon, { ArrowLeftOutlined } from '@ant-design/icons';\nimport { Button, Tooltip } from 'antd';\nimport { useLocale } from 'dds-utils/locale';\nimport { useMemo } from 'react';\n\nimport { ReactComponent as DocsIcon } from '../assets/docs.svg';\nimport { ReactComponent as LogoIcon } from '../assets/logo.svg';\nimport DisplaySettings from '../components/DisplaySettings';\nimport EditorStatus from '../components/EditorStatus';\nimport LabelSelector from '../components/LabelSelector';\nimport ModelSelector from '../components/ModelSelector';\nimport { ShortcutsInfo } from '../components/ShortcutsInfo';\nimport SubToolBar from '../components/SubToolBar';\nimport TopTools from '../components/TopTools';\nimport {\n EBasicToolItem,\n EnumModelType,\n ESubToolItem,\n TOOL_MODELS_MAP,\n} from '../constants';\nimport {\n DrawData,\n EditState,\n EditorMode,\n IImageDisplayOptions,\n IAnnotsDisplayOptions,\n Category,\n} from '../type';\n\nimport { TSubtoolOptions } from './useSubtools';\n\ninterface IProps {\n isOldMode?: boolean;\n isSeperate?: boolean;\n mode: EditorMode;\n fileName?: string;\n drawData: DrawData;\n editState: EditState;\n hideTopBarActions?: boolean;\n titleElements?: React.ReactElement[];\n actionElements?: React.ReactElement[];\n enableReviewerModify?: boolean;\n labelOptions: Category[];\n showSubTools: boolean;\n currSubTools: TSubtoolOptions;\n topBarCenterElement?: React.ReactElement | null;\n labelColors?: Record;\n selectSubTool: (tool: ESubToolItem) => void;\n onSelectModel: (type: EnumModelType) => void;\n setBrushSize: (size: number) => void;\n activeAIAnnotation: (active: boolean) => void;\n onChangeImageDisplayOpts: (value: IImageDisplayOptions) => void;\n onChangeAnnotsDisplayOpts: (value: IAnnotsDisplayOptions) => void;\n onChangeObjectLabel: (labelId: string) => void;\n onCreateCategory: (name: string) => void;\n onSaveAnnotations: () => Promise;\n onCommitAnnotations: () => Promise;\n onRejectAnnotations: () => Promise;\n onAcceptAnnotations: () => Promise;\n onModifyAnnotations: () => Promise;\n onCancelAnnotations: () => Promise;\n}\n\nconst useTopTools = ({\n isOldMode,\n isSeperate,\n mode,\n fileName,\n drawData,\n editState,\n hideTopBarActions,\n titleElements,\n actionElements,\n enableReviewerModify,\n labelOptions,\n labelColors,\n showSubTools,\n currSubTools,\n topBarCenterElement,\n selectSubTool,\n setBrushSize,\n activeAIAnnotation,\n onChangeImageDisplayOpts,\n onChangeAnnotsDisplayOpts,\n onChangeObjectLabel,\n onCreateCategory,\n onSaveAnnotations,\n onCommitAnnotations,\n onRejectAnnotations,\n onAcceptAnnotations,\n onModifyAnnotations,\n onCancelAnnotations,\n onSelectModel,\n}: IProps) => {\n const { localeText } = useLocale();\n const jumpDocs = () => {\n window.open('https://docs.deepdataspace.com');\n };\n\n const supportActions = useMemo(() => {\n const actions = actionElements\n ? actionElements.map((item) => ({ customElement: item }))\n : [];\n if (hideTopBarActions) return actions;\n if (mode === EditorMode.Review) {\n actions.push(\n ...[\n {\n customElement: (\n \n ),\n },\n ...(isOldMode || !enableReviewerModify\n ? []\n : [\n {\n customElement: (\n \n ),\n },\n ]),\n {\n customElement: (\n \n ),\n },\n ],\n );\n }\n if (mode === EditorMode.Edit && !isSeperate) {\n actions.push({\n customElement: (\n \n ),\n });\n if (!isOldMode) {\n actions.push({\n customElement: (\n \n ),\n });\n }\n }\n actions.unshift({\n customElement: (\n <>\n {mode === EditorMode.Edit && (\n
\n \n \n \n \n
\n )}\n \n \n \n ),\n });\n if (mode === EditorMode.Edit && fileName) {\n actions.unshift({ customElement: <>{fileName} });\n }\n return actions;\n }, [\n mode,\n isOldMode,\n enableReviewerModify,\n hideTopBarActions,\n onSaveAnnotations,\n onCommitAnnotations,\n onCancelAnnotations,\n onRejectAnnotations,\n onAcceptAnnotations,\n onModifyAnnotations,\n ]);\n\n const leftTools = () => {\n const actions = [];\n if (titleElements) {\n actions.push(...titleElements.map((item) => ({ customElement: item })));\n } else {\n if (isSeperate || mode === EditorMode.Edit) {\n actions.push({\n customElement: (\n \n \n \n ),\n });\n } else {\n actions.push({\n title: localeText('DDSAnnotator.exit'),\n icon: ,\n onClick: () => onCancelAnnotations(),\n });\n }\n if (mode !== EditorMode.Edit && fileName) {\n actions.push({ customElement: fileName });\n }\n }\n if (\n mode === EditorMode.Edit &&\n TOOL_MODELS_MAP[drawData.selectedTool] &&\n TOOL_MODELS_MAP[drawData.selectedTool].length > 1 &&\n drawData.AIAnnotation &&\n drawData.selectedModel\n ) {\n actions.push({\n customElement: (\n \n ),\n });\n }\n if (\n mode === EditorMode.Edit &&\n (drawData.objectList[drawData.activeObjectIndex] ||\n drawData.selectedTool !== EBasicToolItem.Drag)\n ) {\n actions.push({\n customElement: (\n \n ),\n });\n }\n if (mode === EditorMode.Edit && showSubTools) {\n actions.push({\n customElement: (\n \n ),\n });\n }\n return actions;\n };\n\n const topToolsBar = (\n \n {topBarCenterElement}\n \n );\n\n return {\n topToolsBar,\n };\n};\n\nexport default useTopTools;\n","import { cloneDeep } from 'lodash';\n\nimport {\n BODY_TEMPLATE,\n ELabelType,\n EObjectType,\n KEYPOINTS_VISIBLE_TYPE,\n} from '../constants';\nimport { rleToCanvas } from '../tools/useMask';\nimport {\n IAnnotationObject,\n EObjectStatus,\n DrawObject,\n Category,\n BaseObject,\n} from '../type';\nimport {\n getObjectType,\n translateBoundingBoxToRect,\n translatePointsToPointObjs,\n translatePointObjsToPointAttrs,\n getSegmentationPoints,\n translateRectToBoundingBox,\n translatePolygonsToSegmentation,\n translatePointsToRect,\n translatePointGroupsToPoints,\n translateRectToPointsArray,\n translatePolygonsToPointsArrayGroup,\n newTranslatePointsToPointObjs,\n newTranslatePointObjsToPointAttrs,\n getCanvasPoint,\n getNaturalPoint,\n translateUVtoPolylinePoints,\n convertLaneLineColorToHex,\n} from '../utils/compute';\n\ninterface IProps {\n isOldMode?: boolean;\n clientSize: ISize;\n naturalSize: ISize;\n categories: Category[];\n getAnnotColor: (category: string) => string;\n}\n\nconst useTranslate = ({\n isOldMode,\n clientSize,\n naturalSize,\n categories,\n getAnnotColor,\n}: IProps) => {\n /**\n * Use for annotator & old project\n * @param annotation\n * @returns\n */\n const translateAnnotationToObject = (\n annotation: DrawObject,\n ): IAnnotationObject => {\n let {\n categoryId,\n boundingBox,\n points,\n lines,\n pointNames,\n pointColors,\n segmentation,\n mask,\n alpha,\n point,\n polyline: polylineUv,\n lineColor,\n lineType,\n } = annotation;\n\n const color = getAnnotColor(categoryId || '');\n const newObj: IAnnotationObject = {\n labelId: categoryId || '',\n type: EObjectType.Rectangle,\n hidden: false,\n conf: annotation.conf || 1,\n customStyles: annotation.customStyles,\n status: EObjectStatus.Commited,\n color,\n };\n\n if (boundingBox) {\n const rect = translateBoundingBoxToRect(boundingBox, clientSize);\n Object.assign(newObj, { rect: { visible: true, ...rect } });\n }\n\n if (\n points &&\n points.length > 0 &&\n lines &&\n lines.length > 0 &&\n pointNames &&\n pointColors\n ) {\n const pointObjs: IElement[] = translatePointsToPointObjs(\n points,\n pointNames,\n pointColors,\n naturalSize,\n clientSize,\n );\n Object.assign(newObj, {\n keypoints: {\n points: pointObjs,\n lines,\n },\n });\n }\n if (segmentation) {\n const group = getSegmentationPoints(\n segmentation,\n naturalSize,\n clientSize,\n );\n const polygon: IElement = {\n group,\n visible: true,\n };\n Object.assign(newObj, { polygon });\n }\n\n if (mask) {\n const maskRleStr = mask.counts || '';\n Object.assign(newObj, {\n maskRle: maskRleStr,\n maskCanvasElement: rleToCanvas(maskRleStr, naturalSize, color),\n });\n }\n\n if (alpha) {\n const alphaImageElement = new Image();\n alphaImageElement.src = alpha;\n // alphaImageElement.crossOrigin = 'anonymous';\n Object.assign(newObj, {\n alpha,\n alphaImageElement,\n });\n }\n\n if (point) {\n Object.assign(newObj, {\n point: {\n ...getCanvasPoint(point, naturalSize, clientSize),\n visible: KEYPOINTS_VISIBLE_TYPE.labeledVisible,\n },\n });\n }\n\n if (polylineUv && lineType && lineColor) {\n const line = translateUVtoPolylinePoints(polylineUv).map((point) =>\n getCanvasPoint([point.x, point.y], naturalSize, clientSize),\n );\n const polyline: IElement = {\n group: [line],\n visible: true,\n lineType,\n color: convertLaneLineColorToHex(lineColor),\n };\n Object.assign(newObj, { polyline });\n }\n\n newObj.type = getObjectType(newObj);\n return newObj;\n };\n\n /**\n * Use for annotator & old project\n * @param annotation\n * @returns\n */\n const translateObjectToAnnotation = (obj: IAnnotationObject): BaseObject => {\n const { labelId, rect, keypoints, polygon, maskRle, point } = obj;\n const labelName =\n categories.find((item) => item.id === labelId)?.name || '';\n const annoObj = {\n categoryId: labelId,\n categoryName: labelName,\n };\n if (rect) {\n Object.assign(annoObj, {\n boundingBox: translateRectToBoundingBox(rect, clientSize),\n });\n }\n if (keypoints) {\n Object.assign(annoObj, {\n lines: keypoints.lines,\n ...translatePointObjsToPointAttrs(\n keypoints.points,\n naturalSize,\n clientSize,\n ),\n });\n }\n if (polygon) {\n const segmentation = translatePolygonsToSegmentation(\n polygon,\n naturalSize,\n clientSize,\n );\n Object.assign(annoObj, {\n segmentation,\n });\n }\n if (maskRle) {\n Object.assign(annoObj, {\n mask: {\n counts: maskRle,\n size: [naturalSize.height, naturalSize.width],\n },\n });\n }\n if (point) {\n const { x, y } = getNaturalPoint(\n [point.x, point.y],\n naturalSize,\n clientSize,\n );\n Object.assign(annoObj, {\n point: [x, y],\n });\n }\n return annoObj;\n };\n\n /**\n * Use for new project\n * @param label\n * @returns\n */\n const translateLabelToObject = (\n originLabel: {\n labelId: string;\n labelValue: any;\n attributes?: (string | number | number[])[];\n },\n videoFrameCount?: number,\n ) => {\n const { labelId, labelValue } = originLabel;\n const color = getAnnotColor(labelId);\n const label = categories.find((item) => item.id === labelId);\n // confirm format correct\n const attributes =\n label?.attributes?.map(\n (_, index) => originLabel.attributes?.[index] || null,\n ) || undefined;\n const newObj: IAnnotationObject = {\n labelId,\n type: EObjectType.Custom,\n hidden: false,\n status: EObjectStatus.Commited,\n color,\n attributes,\n };\n\n const convertLabelValue = (newObj: IAnnotationObject, labelValue: any) => {\n switch (label?.labelType) {\n case ELabelType.Rectangle: {\n const rect = translatePointsToRect(\n labelValue,\n naturalSize,\n clientSize,\n );\n Object.assign(newObj, {\n rect: { visible: true, ...rect },\n type: EObjectType.Rectangle,\n });\n break;\n }\n case ELabelType.Polygon: {\n const group = translatePointGroupsToPoints(\n labelValue,\n naturalSize,\n clientSize,\n );\n const polygon: IElement = {\n group,\n visible: true,\n };\n Object.assign(newObj, {\n polygon,\n type: EObjectType.Polygon,\n });\n break;\n }\n case ELabelType.Skeleton: {\n const pointObjs: IElement[] = newTranslatePointsToPointObjs(\n labelValue,\n BODY_TEMPLATE.pointNames,\n BODY_TEMPLATE.pointColors,\n naturalSize,\n clientSize,\n );\n Object.assign(newObj, {\n keypoints: {\n points: pointObjs,\n lines: BODY_TEMPLATE.lines,\n },\n type: EObjectType.Skeleton,\n });\n break;\n }\n case ELabelType.Mask: {\n const maskRleStr = labelValue.counts || '';\n Object.assign(newObj, {\n maskRle: maskRleStr,\n maskCanvasElement: rleToCanvas(maskRleStr, naturalSize, color),\n type: EObjectType.Mask,\n });\n break;\n }\n case ELabelType.Classification: {\n Object.assign(newObj, {\n labelValue,\n type: EObjectType.Classification,\n });\n break;\n }\n }\n return newObj;\n };\n\n if (videoFrameCount && videoFrameCount > 0) {\n if (label?.labelType === ELabelType.Classification) {\n return {\n classification: convertLabelValue(newObj, labelValue),\n };\n } else {\n const objects: any[] = new Array(videoFrameCount).fill(undefined);\n let tempObj: any;\n Object.keys(labelValue).forEach((key: string) => {\n tempObj = convertLabelValue(cloneDeep(newObj), labelValue[key]);\n objects[Number(key)] = {\n ...tempObj,\n frameEmpty: false,\n };\n });\n return {\n objects: objects.map(\n (item) =>\n item || {\n ...cloneDeep(tempObj),\n frameEmpty: true,\n },\n ),\n };\n }\n }\n {\n return convertLabelValue(newObj, labelValue);\n }\n };\n\n /**\n * Use for new project\n * @param obj\n * @returns\n */\n const translateObjectToLabel = (obj: IAnnotationObject) => {\n const { labelId, rect, keypoints, polygon, maskRle, attributes } = obj;\n const label = categories.find((item) => item.id === labelId);\n\n const annoObj: any = {\n labelId: labelId,\n attributes: attributes || label?.attributes?.map(() => null) || [],\n };\n switch (label?.labelType) {\n case ELabelType.Rectangle: {\n if (rect) {\n annoObj.labelValue = translateRectToPointsArray(\n rect,\n clientSize,\n naturalSize,\n );\n }\n break;\n }\n case ELabelType.Polygon: {\n if (polygon) {\n annoObj.labelValue = translatePolygonsToPointsArrayGroup(\n polygon,\n naturalSize,\n clientSize,\n );\n }\n break;\n }\n case ELabelType.Skeleton: {\n if (keypoints) {\n const { points } = newTranslatePointObjsToPointAttrs(\n keypoints.points,\n naturalSize,\n clientSize,\n );\n annoObj.labelValue = points;\n }\n break;\n }\n case ELabelType.Mask: {\n if (maskRle) {\n annoObj.labelValue = {\n counts: maskRle,\n size: [naturalSize.height, naturalSize.width],\n };\n }\n break;\n }\n }\n return annoObj;\n };\n\n return {\n translateAnnotationToObject,\n translateObjectToAnnotation,\n translateLabelToObject,\n translateObjectToLabel,\n translateObject: isOldMode\n ? translateObjectToAnnotation\n : translateObjectToLabel,\n translateToObject: isOldMode\n ? translateAnnotationToObject\n : translateLabelToObject,\n };\n};\n\nexport default useTranslate;\n","import { Dropdown, Modal } from 'antd';\nimport classNames from 'classnames';\nimport { cloneDeep } from 'lodash';\nimport React, { useEffect, useMemo, useRef } from 'react';\nimport { Updater, useImmer } from 'use-immer';\n\nimport AttributeEditor from './components/AttributeEditor';\nimport ClassificationPanel from './components/Classification';\nimport { ImageView } from './components/ImageView';\nimport ModelSelectModal from './components/ModelSelectModal';\nimport { ObjectList } from './components/ObjectList';\nimport PointsEditModal from './components/PointsEditModal';\nimport SegConfirmModal from './components/SegConfirmModal';\nimport SliderToolBar from './components/SliderToolBar';\nimport SmartAnnotationControl from './components/SmartAnnotationControl';\nimport { TopPagination } from './components/TopPagination';\nimport { DisplayOption, EBasicToolItem, TOOL_MODELS_MAP } from './constants';\nimport useActions from './hooks/useActions';\nimport useAiModels from './hooks/useAiModels';\nimport useAttributes from './hooks/useAttributes';\nimport useCanvasContainer from './hooks/useCanvasContainer';\nimport useCanvasRender from './hooks/useCanvasRender';\nimport useColor from './hooks/useColor';\nimport useDataEffect from './hooks/useDataEffect';\nimport useHistory from './hooks/useHistory';\nimport useLabels from './hooks/useLabels';\nimport useMouseCursor from './hooks/useMouseCursor';\nimport useMouseEvents from './hooks/useMouseEvents';\nimport useObjects from './hooks/useObjects';\nimport useShortcuts from './hooks/useShortcuts';\nimport useSubTools from './hooks/useSubtools';\nimport useToolActions from './hooks/useToolActions';\nimport useTopTools from './hooks/useTopTools';\nimport useTranslate from './hooks/useTranslate';\nimport { useToolInstances } from './tools/base';\nimport {\n BaseObject,\n Category,\n DEFAULT_DRAW_DATA,\n DEFAULT_EDIT_STATE,\n DrawData,\n AnnoItem,\n EditState,\n EditorMode,\n DrawObject,\n} from './type';\n\nimport './index.less';\n\nexport interface EditProps {\n isOldMode?: boolean; // is old dataset design mode\n isSeperate?: boolean; // is quickmode single editor\n theme?: 'light' | 'dark';\n visible: boolean;\n mode: EditorMode;\n enableReviewerModify?: boolean;\n limitToolTypes?: EBasicToolItem[];\n categories: Category[];\n list: AnnoItem[];\n current: number;\n pagination?: {\n show: boolean;\n total: number;\n customText?: React.ReactElement;\n customDisableNext?: boolean;\n };\n titleElements?: React.ReactElement[];\n actionElements?: React.ReactElement[];\n layoutOptions?: {\n wrapHeight?: string;\n hideRightList?: boolean;\n hideMainToolBar?: boolean;\n hideTopBar?: boolean;\n hideTopBarActions?: boolean;\n hideUndoRedoActions?: boolean;\n hideReferenceLine?: boolean;\n minPadding?: {\n top: number;\n left: number;\n };\n };\n displayOptionsResult?: { [key in DisplayOption]?: boolean };\n manualMode?: boolean;\n forceColorByObject?: boolean;\n limitActiveObject?: boolean;\n limitActiveObjectAfterCreate?: boolean;\n customDefaultDrawData?: Partial;\n customDefaultEditState?: EditState;\n customDrawData?: DrawData;\n customEditState?: EditState;\n customObjects?: DrawObject[];\n customObjectsFilter?: (imageData: any) => BaseObject[];\n objectsFilter?: (imageData: any) => BaseObject[];\n onAutoSave?: (annotations: BaseObject[], naturalSize: ISize) => void;\n onCancel?: () => void;\n onSave?: (id: string, labels: any[]) => Promise;\n onCommit?: (id: string, labels: any[]) => Promise;\n onReviewModify?: (id: string, labels: any[]) => Promise;\n onReviewAccept?: (id: string, labels: any[]) => Promise;\n onReviewReject?: (id: string, labels: any[]) => Promise;\n onPrev?: () => Promise;\n onNext?: () => Promise;\n setCategories?: Updater;\n}\n\nconst Edit: React.FC = (props) => {\n const {\n theme = 'dark',\n isOldMode,\n isSeperate,\n visible,\n categories,\n list,\n current,\n pagination,\n mode,\n enableReviewerModify,\n limitToolTypes,\n titleElements,\n actionElements,\n layoutOptions,\n displayOptionsResult,\n manualMode,\n forceColorByObject,\n limitActiveObject,\n limitActiveObjectAfterCreate,\n customDefaultDrawData,\n onPrev,\n onNext,\n onCancel,\n onSave,\n onCommit,\n onReviewModify,\n onReviewAccept,\n onReviewReject,\n setCategories,\n onAutoSave,\n objectsFilter,\n } = props;\n const [modal, contextHolder] = Modal.useModal();\n\n const [annotations, setAnnotations] = useImmer([]);\n\n const [editState, setEditState] = useImmer(\n cloneDeep(DEFAULT_EDIT_STATE),\n );\n\n const [drawData, setDrawData] = useImmer({\n ...cloneDeep(DEFAULT_DRAW_DATA),\n ...customDefaultDrawData,\n });\n\n const canvasRef = useRef(null);\n const activeCanvasRef = useRef(null);\n const imgRef = useRef(null);\n\n const currAnnoItem = useMemo(() => {\n return list[current];\n }, [list, current]);\n\n const currImageItem = currAnnoItem;\n\n const { getAnnotColor, labelColors } = useColor({\n categories,\n editState,\n forceColorByObject,\n });\n\n const {\n scale,\n naturalSize,\n clientSize,\n containerMouse,\n contentMouse,\n imagePos,\n onLoadImg,\n onZoomIn,\n onZoomOut,\n onReset,\n CanvasContainer,\n isMousePress,\n } = useCanvasContainer({\n visible,\n drawData,\n allowMove: editState.allowMove,\n isRequiring: editState.isRequiring,\n minPadding: layoutOptions?.minPadding || {\n top: 30,\n left: 80,\n },\n cursorSize: drawData.brushSize,\n hideReferenceLine: !!layoutOptions?.hideReferenceLine,\n });\n\n const { translateObject, translateToObject } = useTranslate({\n isOldMode,\n clientSize,\n naturalSize,\n categories,\n getAnnotColor,\n });\n\n const {\n undo,\n redo,\n clearHistory,\n flagSaved,\n hadChangeRecord,\n updateHistory,\n setDrawDataWithHistory,\n } = useHistory({\n clientSize,\n naturalSize,\n setDrawData,\n onAutoSave,\n translateObject,\n });\n\n const { judgeEditingAttribute, onConfirmAttibuteEdit, onCancelAttibuteEdit } =\n useAttributes({\n setDrawDataWithHistory,\n categories,\n });\n\n const {\n addObject,\n removeObject,\n removeAllObjects,\n initObjectList,\n updateAllObject,\n updateObject,\n updateObjectWithoutHistory,\n updateAllObjectWithoutHistory,\n commitedObjects,\n currObject,\n } = useObjects({\n annotations,\n setAnnotations,\n drawData,\n setDrawData,\n setDrawDataWithHistory,\n setEditState,\n mode,\n translateToObject,\n judgeEditingAttribute,\n limitActiveObjectAfterCreate,\n updateHistory,\n });\n\n const {\n labelOptions,\n classificationOptions,\n aiLabels,\n setAiLabels,\n onChangeObjectHidden,\n onChangeCategoryHidden,\n onChangeActiveClass,\n onCreateCategory,\n onChangePointVisible,\n } = useLabels({\n isOldMode,\n mode,\n categories,\n setCategories,\n drawData,\n setDrawData,\n editState,\n updateObjectWithoutHistory,\n updateAllObjectWithoutHistory,\n });\n\n const { onAiAnnotation } = useAiModels({\n currImageItem,\n drawData,\n setDrawData,\n setDrawDataWithHistory,\n editState,\n setEditState,\n naturalSize,\n clientSize,\n getAnnotColor,\n });\n\n const {\n onSaveAnnotations,\n onCommitAnnotations,\n onCancelAnnotations,\n onRejectAnnotations,\n onAcceptAnnotations,\n onModifyAnnotations,\n } = useActions({\n mode,\n currImageItem,\n modal,\n drawData,\n editState,\n setEditState,\n hadChangeRecord,\n categories,\n translateObject,\n flagSaved,\n onCancel,\n onSave,\n onCommit,\n onReviewModify,\n onReviewAccept,\n onReviewReject,\n classificationOptions,\n });\n\n const { updateMouseCursor } = useMouseCursor({\n topCanvas: activeCanvasRef.current,\n editState,\n drawData,\n });\n\n const {\n onChangeObjectLabel,\n onFinishCurrCreate,\n onAcceptValidObjects,\n onAbortBatchObjects,\n selectTool,\n selectSubTool,\n forceChangeTool,\n onExitAIAnnotation,\n setBrushSize,\n activeAIAnnotation,\n onChangeSkeletonConf,\n onChangeLimitConf,\n onChangeAnnotsDisplayOpts,\n onChangeImageDisplayOpts,\n onChangeColorMode,\n onChangePointResolution,\n onSelectModel,\n } = useToolActions({\n mode,\n manualMode: !!manualMode,\n drawData,\n setDrawData,\n setDrawDataWithHistory,\n setAiLabels,\n editState,\n setEditState,\n getAnnotColor,\n clientSize,\n naturalSize,\n addObject,\n updateObject,\n updateAllObject,\n onAiAnnotation,\n });\n\n const { showSubTools, currSubTools } = useSubTools({\n drawData,\n onChangePointResolution,\n });\n\n const { objectHooksMap } = useToolInstances({\n imgRef,\n editState,\n clientSize,\n naturalSize,\n contentMouse,\n imagePos,\n containerMouse,\n canvasRef,\n activeCanvasRef,\n setEditState,\n drawData,\n setDrawData,\n setDrawDataWithHistory,\n updateHistory,\n updateObject,\n addObject,\n updateMouseCursor,\n aiLabels,\n onAiAnnotation,\n getAnnotColor,\n categories,\n displayOptionsResult,\n });\n\n const { updateRender, renderPopoverMenu } = useCanvasRender({\n visible,\n drawData,\n editState,\n clientSize,\n imagePos,\n containerMouse,\n canvasRef,\n activeCanvasRef,\n imgRef,\n objectHooksMap,\n });\n\n const {\n selectFocusObject,\n forceChangeFocusObject,\n mouseRightObjectsDropDownRender,\n } = useMouseEvents({\n visible,\n mode,\n drawData,\n setDrawData,\n editState,\n setEditState,\n clientSize,\n contentMouse,\n categories,\n updateRender,\n updateMouseCursor,\n objectHooksMap,\n imagePos,\n containerMouse,\n getAnnotColor,\n limitActiveObject,\n });\n\n useShortcuts({\n visible,\n mode,\n drawData,\n categories,\n isMousePress,\n setDrawData,\n setEditState,\n onSaveAnnotations,\n onAcceptAnnotations,\n onRejectAnnotations,\n onChangeObjectHidden,\n onChangeCategoryHidden,\n removeObject,\n addObject,\n });\n\n const { resetDataWithImageData } = useDataEffect({\n imagePos,\n clientSize,\n naturalSize,\n annotations,\n setAnnotations,\n drawData,\n setDrawData,\n editState,\n setEditState,\n initObjectList,\n updateRender,\n clearHistory,\n objectsFilter,\n labelOptions,\n customDefaultDrawData,\n });\n\n // =================================================================================================================\n // Effects\n // =================================================================================================================\n\n /** Limit bottom layer body scroll */\n useEffect(() => {\n document.body.style.overflow = visible ? 'hidden' : 'overlay';\n return () => {\n document.body.style.overflow = 'overlay';\n };\n }, [visible]);\n\n /** Reset data when hiding the editor or switching images */\n useEffect(() => {\n resetDataWithImageData(currImageItem, visible);\n }, [visible, mode, current, currImageItem?.id, objectsFilter]);\n\n useEffect(() => {\n onChangeColorMode();\n }, [editState.annotsDisplayOptions.colorByCategory]);\n\n // =================================================================================================================\n // Render\n // =================================================================================================================\n\n const fileName = useMemo(() => {\n if (currAnnoItem?.name) return currAnnoItem?.name;\n if (currAnnoItem?.url && currAnnoItem?.url.indexOf('http') === 0) {\n const url = decodeURIComponent(currAnnoItem?.url);\n return url.replace(/\\?.*$/, '').split('/').pop() || '';\n }\n return '';\n }, [currAnnoItem]);\n\n const topBarCenterElement =\n pagination && pagination.show ? (\n \n ) : null;\n\n const { topToolsBar } = useTopTools({\n isOldMode,\n isSeperate,\n mode,\n hideTopBarActions: layoutOptions?.hideTopBarActions,\n fileName,\n drawData,\n editState,\n titleElements,\n actionElements,\n enableReviewerModify,\n labelOptions,\n showSubTools,\n currSubTools,\n topBarCenterElement,\n labelColors,\n selectSubTool,\n setBrushSize,\n activeAIAnnotation,\n onChangeImageDisplayOpts,\n onChangeAnnotsDisplayOpts,\n onChangeObjectLabel,\n onCreateCategory,\n onSaveAnnotations,\n onCommitAnnotations,\n onRejectAnnotations,\n onAcceptAnnotations,\n onModifyAnnotations,\n onCancelAnnotations,\n onSelectModel,\n });\n\n if (!visible) {\n return null;\n }\n\n return (\n \n {!layoutOptions?.hideTopBar && topToolsBar}\n \n {!layoutOptions?.hideMainToolBar && (\n \n )}\n
\n {currImageItem && (\n 0}\n >\n {CanvasContainer({\n className: 'edit-wrap',\n children: (\n <>\n {\n // Possibly size not changed but image changed\n updateRender();\n onLoadImg(event);\n }}\n />\n {renderPopoverMenu()}\n \n ),\n })}\n \n )}\n \n \n \n \n setDrawData((s) => {\n s.AIAnnotation = false;\n })\n }\n />\n {drawData.editingAttribute && (\n \n )}\n
\n {!layoutOptions?.hideRightList && (\n
\n {classificationOptions.length > 0 && (\n \n )}\n \n
\n )}\n \n {\n e.stopPropagation();\n }}\n >\n {contextHolder}\n \n \n );\n};\n\nexport default Edit;\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgDoubleRight = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ width: 16, height: 16, fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props), /* @__PURE__ */ React.createElement(\"path\", { d: \"m8.379 7.648-4.56-5.825a.283.283 0 0 0-.224-.11h-1.38a.142.142 0 0 0-.113.231L6.842 8l-4.74 6.055a.143.143 0 0 0 .112.23h1.38a.289.289 0 0 0 .226-.109l4.559-5.823a.571.571 0 0 0 0-.705Zm5.428 0L9.248 1.823a.283.283 0 0 0-.225-.11h-1.38a.142.142 0 0 0-.112.231L12.27 8l-4.74 6.055a.143.143 0 0 0 .113.23h1.38a.289.289 0 0 0 .225-.109l4.56-5.823a.571.571 0 0 0 0-.705Z\", fill: \"#fff\", opacity: 0.85 }));\nexport { SvgDoubleRight as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTguMzc5IDcuNjQ4LTQuNTYtNS44MjVhLjI4My4yODMgMCAwIDAtLjIyNC0uMTFoLTEuMzhhLjE0Mi4xNDIgMCAwIDAtLjExMy4yMzFMNi44NDIgOGwtNC43NCA2LjA1NWEuMTQzLjE0MyAwIDAgMCAuMTEyLjIzaDEuMzhhLjI4OS4yODkgMCAwIDAgLjIyNi0uMTA5bDQuNTU5LTUuODIzYS41NzEuNTcxIDAgMCAwIDAtLjcwNVptNS40MjggMEw5LjI0OCAxLjgyM2EuMjgzLjI4MyAwIDAgMC0uMjI1LS4xMWgtMS4zOGEuMTQyLjE0MiAwIDAgMC0uMTEyLjIzMUwxMi4yNyA4bC00Ljc0IDYuMDU1YS4xNDMuMTQzIDAgMCAwIC4xMTMuMjNoMS4zOGEuMjg5LjI4OSAwIDAgMCAuMjI1LS4xMDlsNC41Ni01LjgyM2EuNTcxLjU3MSAwIDAgMCAwLS43MDVaIiBmaWxsPSIjZmZmIiBvcGFjaXR5PSIuODUiLz48L3N2Zz4=\";\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgDownload = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ viewBox: \"0 0 14 14\", fill: \"#595959\", xmlns: \"http://www.w3.org/2000/svg\" }, props), /* @__PURE__ */ React.createElement(\"path\", { d: \"M6.887 9.657a.143.143 0 0 0 .225 0l2-2.53A.142.142 0 0 0 9 6.897H7.677V.854A.143.143 0 0 0 7.534.71H6.462a.143.143 0 0 0-.143.143v6.041H5a.142.142 0 0 0-.112.23l2 2.532Zm6.649-.625h-1.072a.143.143 0 0 0-.143.143v2.75H1.678v-2.75a.143.143 0 0 0-.142-.143H.464a.143.143 0 0 0-.143.143v3.536a.57.57 0 0 0 .572.572h12.214a.57.57 0 0 0 .571-.572V9.175a.143.143 0 0 0-.142-.143Z\" }));\nexport { SvgDownload as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTQgMTQiIGZpbGw9IiM1OTU5NTkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTYuODg3IDkuNjU3YS4xNDMuMTQzIDAgMCAwIC4yMjUgMGwyLTIuNTNBLjE0Mi4xNDIgMCAwIDAgOSA2Ljg5N0g3LjY3N1YuODU0QS4xNDMuMTQzIDAgMCAwIDcuNTM0LjcxSDYuNDYyYS4xNDMuMTQzIDAgMCAwLS4xNDMuMTQzdjYuMDQxSDVhLjE0Mi4xNDIgMCAwIDAtLjExMi4yM2wyIDIuNTMyWm02LjY0OS0uNjI1aC0xLjA3MmEuMTQzLjE0MyAwIDAgMC0uMTQzLjE0M3YyLjc1SDEuNjc4di0yLjc1YS4xNDMuMTQzIDAgMCAwLS4xNDItLjE0M0guNDY0YS4xNDMuMTQzIDAgMCAwLS4xNDMuMTQzdjMuNTM2YS41Ny41NyAwIDAgMCAuNTcyLjU3MmgxMi4yMTRhLjU3LjU3IDAgMCAwIC41NzEtLjU3MlY5LjE3NWEuMTQzLjE0MyAwIDAgMC0uMTQyLS4xNDNaIi8+PC9zdmc+\";\n","import {\n CloseOutlined,\n LeftOutlined,\n RightOutlined,\n ZoomInOutlined,\n ZoomOutOutlined,\n} from '@ant-design/icons';\nimport { useKeyPress } from 'ahooks';\nimport { message } from 'antd';\nimport classNames from 'classnames';\nimport { cloneDeep, isEmpty } from 'lodash';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useImmer } from 'use-immer';\n\nimport { ReactComponent as DoubleRightIcon } from './assets/doubleRight.svg';\nimport { ReactComponent as DownloadIcon } from './assets/download.svg';\nimport { ImageView } from './components/ImageView';\nimport PopoverMenu from './components/PopoverMenu';\nimport TopTools from './components/TopTools';\nimport { DisplayOption, EElementType, MAX_SCALE, MIN_SCALE } from './constants';\nimport { EDITOR_SHORTCUTS, EShortcuts } from './constants/shortcuts';\nimport useCanvasContainer from './hooks/useCanvasContainer';\nimport useCanvasRender from './hooks/useCanvasRender';\nimport useColor from './hooks/useColor';\nimport useDataEffect from './hooks/useDataEffect';\nimport useHistory from './hooks/useHistory';\nimport useMouseCursor from './hooks/useMouseCursor';\nimport useMouseEvents from './hooks/useMouseEvents';\nimport useObjects from './hooks/useObjects';\nimport useTranslate from './hooks/useTranslate';\nimport { useToolInstances } from './tools/base';\nimport {\n BaseObject,\n Category,\n DEFAULT_DRAW_DATA,\n DEFAULT_EDIT_STATE,\n DrawData,\n AnnoItem,\n DrawObject,\n EditState,\n EditorMode,\n} from './type';\n\nimport './index.less';\n\nexport interface PreviewProps {\n isOldMode?: boolean; // is old dataset design mode\n visible: boolean;\n categories: Category[];\n list: AnnoItem[];\n current: number;\n objectsFilter?: (imageData: any) => BaseObject[];\n onCancel?: () => void;\n onPrev?: () => Promise;\n onNext?: () => Promise;\n displayOptionsResult: { [key in DisplayOption]?: boolean };\n}\n\nconst Preview: React.FC = (props) => {\n const {\n isOldMode,\n visible,\n categories,\n list,\n current,\n onPrev,\n onNext,\n onCancel,\n objectsFilter,\n displayOptionsResult,\n } = props;\n\n const [annotations, setAnnotations] = useImmer([]);\n\n const [editState, setEditState] = useImmer(\n cloneDeep(DEFAULT_EDIT_STATE),\n );\n\n const [drawData, setDrawData] = useImmer(\n cloneDeep(DEFAULT_DRAW_DATA),\n );\n\n const canvasRef = useRef(null);\n const activeCanvasRef = useRef(null);\n const imgRef = useRef(null);\n\n const {\n scale,\n naturalSize,\n clientSize,\n containerMouse,\n contentMouse,\n imagePos,\n onLoadImg,\n onZoomIn,\n onZoomOut,\n CanvasContainer,\n } = useCanvasContainer({\n visible,\n drawData,\n allowMove: editState.allowMove,\n isRequiring: editState.isRequiring,\n minPadding: {\n top: 120,\n left: 300,\n },\n cursorSize: drawData.brushSize,\n onClickMaskBg: onCancel,\n });\n\n const { getAnnotColor } = useColor({\n categories,\n editState,\n });\n\n const { updateMouseCursor } = useMouseCursor({\n topCanvas: activeCanvasRef.current,\n editState,\n drawData,\n });\n\n const { translateToObject } = useTranslate({\n isOldMode,\n clientSize,\n naturalSize,\n categories,\n getAnnotColor,\n });\n\n const { clearHistory, updateHistory, setDrawDataWithHistory } = useHistory({\n clientSize,\n naturalSize,\n setDrawData,\n });\n\n const { addObject, initObjectList, updateObject } = useObjects({\n annotations,\n setAnnotations,\n drawData,\n setDrawData,\n setDrawDataWithHistory,\n setEditState,\n mode: EditorMode.View,\n translateToObject,\n updateHistory,\n });\n\n const { objectHooksMap } = useToolInstances({\n imgRef,\n editState,\n clientSize,\n naturalSize,\n contentMouse,\n imagePos,\n containerMouse,\n canvasRef,\n activeCanvasRef,\n setEditState,\n drawData,\n setDrawData,\n setDrawDataWithHistory,\n updateHistory,\n updateObject,\n addObject,\n updateMouseCursor,\n displayOptionsResult,\n getAnnotColor,\n categories,\n });\n\n const { updateRender } = useCanvasRender({\n visible,\n drawData,\n editState,\n clientSize,\n imagePos,\n containerMouse,\n canvasRef,\n activeCanvasRef,\n imgRef,\n objectHooksMap,\n });\n\n useMouseEvents({\n visible,\n mode: EditorMode.View,\n drawData,\n setDrawData,\n editState,\n setEditState,\n clientSize,\n contentMouse,\n categories,\n updateRender,\n updateMouseCursor,\n objectHooksMap,\n imagePos,\n containerMouse,\n getAnnotColor,\n limitActiveObject: true,\n });\n\n // =================================================================================================================\n // Effects\n // =================================================================================================================\n\n /** Limit bottom layer body scroll */\n useEffect(() => {\n document.body.style.overflow = visible ? 'hidden' : 'overlay';\n }, [visible]);\n\n const { resetDataWithImageData } = useDataEffect({\n imagePos,\n clientSize,\n naturalSize,\n annotations,\n setAnnotations,\n drawData,\n setDrawData,\n editState,\n setEditState,\n initObjectList,\n updateRender,\n clearHistory,\n objectsFilter,\n labelOptions: categories,\n });\n\n /** Reset data when hiding the editor or switching images */\n useEffect(() => {\n resetDataWithImageData(list[current], visible);\n }, [visible, list[current], objectsFilter]);\n\n /** Custom options changed */\n useEffect(() => {\n updateRender();\n }, [displayOptionsResult]);\n\n // =================================================================================================================\n // Preview\n // =================================================================================================================\n\n const [showInfo, setShowInfo] = useState(true);\n const changeShowInfo = useCallback(() => {\n setShowInfo((s) => {\n return !s;\n });\n }, []);\n\n /** Snapshot image */\n const onDownload: React.MouseEventHandler = async (event) => {\n event.preventDefault();\n event.stopPropagation();\n\n const hide = message.loading('Creating image...', 60000);\n const loadDataUrl = () => {\n return new Promise((resolve, reject) => {\n setTimeout(function () {\n try {\n if (!canvasRef.current) return;\n const dataUrl = canvasRef.current.toDataURL();\n let a = document.createElement('a');\n a.setAttribute('download', `${list[current].id}.png`);\n a.setAttribute('href', dataUrl);\n a.click();\n hide();\n resolve(null);\n } catch (e) {\n reject(e);\n }\n }, 500);\n });\n };\n\n try {\n setEditState((s) => {\n s.focusObjectIndex = -1;\n });\n updateRender();\n await loadDataUrl();\n } catch (error) {\n console.error(error);\n hide();\n message.error('Create image fail, please try again');\n }\n };\n\n useKeyPress(\n EDITOR_SHORTCUTS[EShortcuts.PreviousImage].shortcut,\n () => {\n if (visible) onPrev?.();\n },\n {\n exactMatch: true,\n },\n );\n\n useKeyPress(\n EDITOR_SHORTCUTS[EShortcuts.NextImage].shortcut,\n () => {\n if (visible) onNext?.();\n },\n {\n exactMatch: true,\n },\n );\n\n // =================================================================================================================\n // Render\n // =================================================================================================================\n\n const renderPopoverMenu = () => {\n if (\n editState.focusObjectIndex > -1 &&\n drawData.objectList[editState.focusObjectIndex] &&\n !drawData.objectList[editState.focusObjectIndex]?.hidden &&\n editState.focusEleIndex > -1 &&\n editState.focusEleType === EElementType.Circle\n ) {\n const target =\n drawData.objectList[editState.focusObjectIndex]?.keypoints?.points?.[\n editState.focusEleIndex\n ];\n if (target) {\n return (\n \n );\n }\n }\n return <>;\n };\n\n if (!visible) {\n return <>;\n }\n\n const metadata = !isEmpty(list[current]?.metadata)\n ? list[current].metadata\n : undefined;\n\n return (\n
\n ,\n onClick: onZoomIn,\n disabled: scale >= MAX_SCALE,\n },\n {\n icon: ,\n onClick: onZoomOut,\n disabled: scale <= MIN_SCALE,\n },\n {\n icon: ,\n onClick: onDownload,\n },\n ]}\n rightTools={[\n {\n icon: ,\n onClick: onCancel,\n },\n ]}\n >\n {`${current + 1} / ${list.length}`}\n \n {CanvasContainer({\n className: 'edit-wrap',\n children: (\n <>\n \n {renderPopoverMenu()}\n \n ),\n })}\n {\n \n \n
\n }\n {\n \n \n \n }\n {showInfo && metadata && (\n
\n
\n {Object.keys(metadata).map((key) => (\n
\n {key}\n
\n {typeof metadata[key] === 'object'\n ? JSON.stringify(metadata[key])\n : metadata[key]}\n
\n ))}\n
\n
\n
\n \n
\n
\n )}\n {!showInfo && (\n
\n \n
\n )}\n
\n );\n};\n\nexport default Preview;\n","import { CursorState } from 'ahooks/lib/useMouse';\nimport { cloneDeep } from 'lodash';\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { useImmer } from 'use-immer';\n\nimport { ImageView } from './components/ImageView';\nimport { DisplayOption } from './constants';\nimport useCanvasRender from './hooks/useCanvasRender';\nimport useColor from './hooks/useColor';\nimport useDataEffect from './hooks/useDataEffect';\nimport useHistory from './hooks/useHistory';\nimport useMouseCursor from './hooks/useMouseCursor';\nimport useObjects from './hooks/useObjects';\nimport useTranslate from './hooks/useTranslate';\nimport { useToolInstances } from './tools/base';\nimport {\n BaseObject,\n Category,\n DEFAULT_DRAW_DATA,\n DEFAULT_EDIT_STATE,\n DrawData,\n EditState,\n EditorMode,\n AnnoItem,\n DrawObject,\n} from './type';\nimport { zoomImgSize } from './utils/compute';\n\nimport './index.less';\n\nexport interface ViewProps {\n isOldMode?: boolean; // is old dataset design mode\n categories: Category[];\n data: AnnoItem;\n objectsFilter?: (imageData: any) => BaseObject[];\n currentSize?: ISize;\n wrapWidth?: number;\n wrapHeight?: number;\n minHeight?: number;\n displayOptionsResult?: { [key in DisplayOption]?: boolean };\n}\n\nconst View: React.FC = (props) => {\n const {\n isOldMode,\n categories,\n data,\n currentSize,\n wrapWidth,\n wrapHeight,\n minHeight,\n objectsFilter,\n displayOptionsResult,\n } = props;\n\n const [annotations, setAnnotations] = useImmer([]);\n\n const [editState, setEditState] = useImmer(\n cloneDeep(DEFAULT_EDIT_STATE),\n );\n\n const [drawData, setDrawData] = useImmer(\n cloneDeep(DEFAULT_DRAW_DATA),\n );\n\n const canvasRef = useRef(null);\n const activeCanvasRef = useRef(null);\n const imgRef = useRef(null);\n\n const imagePos = useRef({ x: 0, y: 0 });\n const [naturalSize, setNaturalSize] = useState({\n width: 0,\n height: minHeight || 0,\n });\n\n const clientSize: ISize = useMemo(() => {\n // Exact size passed in from outside.\n if (currentSize) {\n return currentSize;\n }\n if (!naturalSize.width) {\n // Init default size\n return {\n width: wrapWidth || 0,\n height: wrapHeight || minHeight || 0,\n };\n }\n const [width, height] = zoomImgSize(\n naturalSize.width,\n naturalSize.height,\n wrapWidth,\n wrapHeight,\n );\n return { width, height };\n }, [wrapWidth, wrapHeight, minHeight, naturalSize, currentSize]);\n\n const [contentMouse, containerMouse] = useMemo(() => {\n const mouse: CursorState = {\n screenX: 0,\n screenY: 0,\n clientX: 0,\n clientY: 0,\n pageX: 0,\n pageY: 0,\n elementX: 0,\n elementY: 0,\n elementPosX: 0,\n elementPosY: 0,\n elementW: clientSize.width,\n elementH: clientSize.height,\n };\n return [mouse, mouse];\n }, [clientSize]);\n\n const { getAnnotColor } = useColor({\n categories,\n editState,\n });\n\n const { translateToObject } = useTranslate({\n isOldMode,\n clientSize,\n naturalSize,\n categories,\n getAnnotColor,\n });\n\n const { clearHistory, updateHistory, setDrawDataWithHistory } = useHistory({\n clientSize,\n naturalSize,\n setDrawData,\n });\n\n const { addObject, initObjectList, updateObject } = useObjects({\n annotations,\n setAnnotations,\n drawData,\n setDrawData,\n setDrawDataWithHistory,\n setEditState,\n mode: EditorMode.View,\n translateToObject,\n updateHistory,\n });\n\n const { updateMouseCursor } = useMouseCursor({\n topCanvas: activeCanvasRef.current,\n editState,\n drawData,\n });\n\n const { objectHooksMap } = useToolInstances({\n imgRef,\n editState,\n clientSize,\n naturalSize,\n contentMouse,\n containerMouse,\n imagePos,\n canvasRef,\n activeCanvasRef,\n setEditState,\n drawData,\n setDrawData,\n setDrawDataWithHistory,\n updateHistory,\n updateObject,\n addObject,\n updateMouseCursor,\n displayOptionsResult,\n getAnnotColor,\n categories,\n });\n\n const { updateRender } = useCanvasRender({\n visible: true,\n drawData,\n editState,\n clientSize,\n imagePos,\n containerMouse,\n canvasRef,\n activeCanvasRef,\n imgRef,\n objectHooksMap,\n });\n\n // =================================================================================================================\n // Effects\n // =================================================================================================================\n\n const { resetDataWithImageData } = useDataEffect({\n imagePos,\n clientSize,\n naturalSize,\n annotations,\n setAnnotations,\n drawData,\n setDrawData,\n editState,\n setEditState,\n initObjectList,\n updateRender,\n clearHistory,\n objectsFilter,\n labelOptions: categories,\n });\n\n /** Reset data when hiding the editor or switching images */\n useEffect(() => {\n resetDataWithImageData(data, true);\n }, [data, objectsFilter]);\n\n /** Custom options changed */\n useEffect(() => {\n updateRender();\n }, [displayOptionsResult]);\n\n const onLoadImg = (e: React.UIEvent) => {\n // Set natural size.\n const img = e.target as HTMLImageElement;\n const size = {\n width: img.naturalWidth,\n height: img.naturalHeight,\n };\n setNaturalSize(size);\n };\n\n // =================================================================================================================\n // Render\n // =================================================================================================================\n\n return (\n
\n \n
\n );\n};\n\nexport default View;\n","import { clearCanvas, drawImage, drawRectWithFill } from '../utils/draw';\n\nimport { ToolInstanceHook, ToolHooksFunc } from './base';\n\nconst useMatting: ToolInstanceHook = ({\n imgRef,\n imagePos,\n canvasRef,\n clientSize,\n displayOptionsResult,\n}) => {\n const displayMattingImg = (alphaImg: HTMLImageElement) => {\n if (!alphaImg || !canvasRef.current || !imgRef.current) return;\n const { showMattingColorFill } = displayOptionsResult || {};\n const ctx = canvasRef.current!.getContext('2d') as CanvasRenderingContext2D;\n const rect = {\n x: imagePos.current.x,\n y: imagePos.current.y,\n ...clientSize,\n };\n clearCanvas(canvasRef.current);\n drawImage(canvasRef.current, alphaImg, rect);\n if (showMattingColorFill) {\n // Background fill.\n ctx.globalCompositeOperation = 'source-out';\n drawRectWithFill(canvasRef.current, rect, '#000');\n // Core fill.\n ctx.globalCompositeOperation = 'destination-atop';\n drawRectWithFill(canvasRef.current, rect, '#fff');\n } else {\n // Original image fill.\n ctx.globalCompositeOperation = 'source-in';\n drawImage(canvasRef.current, imgRef.current, rect);\n // Background blank.\n ctx.globalCompositeOperation = 'destination-over';\n drawRectWithFill(canvasRef.current, rect, '#fff');\n }\n };\n\n const renderObject: ToolHooksFunc.RenderObject = ({ object }) => {\n const { alphaImageElement } = object;\n if (alphaImageElement) {\n displayMattingImg(alphaImageElement);\n alphaImageElement.onload = () => {\n displayMattingImg(alphaImageElement);\n };\n }\n };\n\n const renderCreatingObject: ToolHooksFunc.RenderCreatingObject = () => {\n // todo\n };\n\n const renderEditingObject: ToolHooksFunc.RenderEditingObject = () => {\n // todo\n };\n\n const renderPrompt: ToolHooksFunc.RenderPrompt = () => {\n // nothing in matting\n };\n\n const startEditingWhenMouseDown: ToolHooksFunc.StartEditingWhenMouseDown =\n () => {\n return false;\n };\n\n const startCreatingWhenMouseDown: ToolHooksFunc.StartCreatingWhenMouseDown =\n () => {\n return false;\n };\n\n const updateEditingWhenMouseMove: ToolHooksFunc.UpdateEditingWhenMouseMove =\n () => {\n return false;\n };\n\n const updateCreatingWhenMouseMove: ToolHooksFunc.UpdateCreatingWhenMouseMove =\n () => {\n return false;\n };\n\n const finishEditingWhenMouseUp: ToolHooksFunc.FinishEditingWhenMouseUp =\n () => {\n return false;\n };\n\n const finishCreatingWhenMouseUp: ToolHooksFunc.FinishCreatingWhenMouseUp =\n () => {\n return false;\n };\n\n return {\n renderObject,\n renderCreatingObject,\n renderEditingObject,\n renderPrompt,\n startEditingWhenMouseDown,\n startCreatingWhenMouseDown,\n updateEditingWhenMouseMove,\n updateCreatingWhenMouseMove,\n finishEditingWhenMouseUp,\n finishCreatingWhenMouseUp,\n };\n};\n\nexport default useMatting;\n","import { drawCircleWithFill } from '../utils/draw';\n\nimport { ToolInstanceHook, ToolHooksFunc } from './base';\n\nconst usePoint: ToolInstanceHook = ({ canvasRef }) => {\n const renderObject: ToolHooksFunc.RenderObject = ({ object, styles }) => {\n const { point } = object;\n if (point && point.visible) {\n const { x, y } = point;\n const { strokeColor, fillColor } = styles;\n drawCircleWithFill(\n canvasRef.current!,\n { x, y },\n 4,\n fillColor,\n 2,\n strokeColor,\n );\n }\n };\n\n const renderCreatingObject: ToolHooksFunc.RenderCreatingObject = () => {\n // todo\n };\n\n const renderEditingObject: ToolHooksFunc.RenderEditingObject = () => {\n // to do\n };\n\n const renderPrompt: ToolHooksFunc.RenderPrompt = () => {\n // nothing in rect\n };\n\n const startEditingWhenMouseDown: ToolHooksFunc.StartEditingWhenMouseDown =\n () => {\n return false;\n };\n\n const startCreatingWhenMouseDown: ToolHooksFunc.StartCreatingWhenMouseDown =\n () => {\n return false;\n };\n\n const updateEditingWhenMouseMove: ToolHooksFunc.UpdateEditingWhenMouseMove =\n () => {\n return false;\n };\n\n const updateCreatingWhenMouseMove: ToolHooksFunc.UpdateCreatingWhenMouseMove =\n () => {\n return false;\n };\n\n const finishEditingWhenMouseUp: ToolHooksFunc.FinishEditingWhenMouseUp =\n () => {\n return false;\n };\n\n const finishCreatingWhenMouseUp: ToolHooksFunc.FinishCreatingWhenMouseUp =\n () => {\n return false;\n };\n\n return {\n renderObject,\n renderCreatingObject,\n renderEditingObject,\n renderPrompt,\n startEditingWhenMouseDown,\n startCreatingWhenMouseDown,\n updateEditingWhenMouseMove,\n updateCreatingWhenMouseMove,\n finishEditingWhenMouseUp,\n finishCreatingWhenMouseUp,\n };\n};\n\nexport default usePoint;\n","import { cloneDeep } from 'lodash';\n\nimport { EElementType, EObjectType, ESubToolItem } from '../constants';\nimport {\n ANNO_FILL_ALPHA,\n ANNO_FILL_COLOR,\n ANNO_STROKE_ALPHA,\n ANNO_STROKE_COLOR,\n PROMPT_FILL_COLOR,\n} from '../constants/render';\nimport { EPromptType, PromptItem } from '../type';\nimport { hexToRgba } from '../utils/color';\nimport {\n getClosestPointOnLineSegment,\n getLinesFromPolygon,\n getRectFromPoints,\n isInCanvas,\n isPointOnPoint,\n movePoint,\n movePolygon,\n translateAnnotCoord,\n translatePointCoord,\n translatePolygonCoord,\n translateRectCoord,\n} from '../utils/compute';\nimport {\n drawCircleWithFill,\n drawLine,\n drawPolygonWithFill,\n drawQuadraticPath,\n drawRect,\n shadeEverythingButRect,\n} from '../utils/draw';\n\nimport {\n ToolInstanceHook,\n ToolHooksFunc,\n editBaseElementWhenMouseDown,\n getPromptBoolean,\n} from './base';\n\nconst usePolygon: ToolInstanceHook = ({\n editState,\n clientSize,\n naturalSize,\n imagePos,\n containerMouse,\n canvasRef,\n activeCanvasRef,\n contentMouse,\n setEditState,\n drawData,\n setDrawData,\n setDrawDataWithHistory,\n updateHistory,\n updateMouseCursor,\n updateObject,\n addObject,\n onAiAnnotation,\n displayOptionsResult,\n}) => {\n const renderObject: ToolHooksFunc.RenderObject = ({\n object,\n color,\n styles,\n isFocus,\n }) => {\n const { polygon } = object;\n if (polygon && polygon.visible) {\n let fiilColor = !isFocus\n ? hexToRgba(color, ANNO_FILL_ALPHA.SHAPE)\n : styles.fillColor;\n let thickness = styles.thickness;\n if (displayOptionsResult) {\n if (!displayOptionsResult.showSegFilling && !isFocus) {\n fiilColor = 'transparent';\n }\n if (!displayOptionsResult.showSegContour) {\n thickness = 0;\n }\n }\n\n polygon?.group.forEach((polygon) => {\n drawPolygonWithFill(\n canvasRef.current,\n polygon,\n fiilColor,\n styles.strokeColor,\n thickness,\n styles.strokeDash,\n );\n });\n }\n };\n\n const renderCreatingObject: ToolHooksFunc.RenderCreatingObject = ({\n object,\n styles,\n }) => {\n // draw unfinished points and lines\n const { currIndex } = object;\n const annotObject = translateAnnotCoord(object, {\n x: -imagePos.current.x,\n y: -imagePos.current.y,\n });\n const { polygon } = annotObject;\n if (polygon && polygon.visible) {\n // draw creating polygon\n polygon.group.forEach((polygon, polygonIdx) => {\n if (currIndex === polygonIdx) {\n polygon.forEach((point, pointIdx) => {\n // draw points\n drawCircleWithFill(\n activeCanvasRef.current!,\n point,\n pointIdx === 0 ? 6 : 4,\n styles.strokeColor,\n 3,\n '#1f4dd8',\n );\n // draw lines\n if (polygon.length > 1 && pointIdx < polygon.length - 1) {\n drawLine(\n activeCanvasRef.current!,\n polygon[pointIdx],\n polygon[pointIdx + 1],\n hexToRgba(styles.strokeColor, ANNO_STROKE_ALPHA.CREATING),\n 2.5,\n [0],\n );\n } else if (pointIdx === polygon.length - 1) {\n drawLine(\n activeCanvasRef.current!,\n polygon[pointIdx],\n {\n x: containerMouse.elementX,\n y: containerMouse.elementY,\n },\n hexToRgba(styles.strokeColor, ANNO_STROKE_ALPHA.CREATING_LINE),\n 2.5,\n [5],\n );\n }\n });\n } else {\n // draw polygon\n drawPolygonWithFill(\n activeCanvasRef.current,\n polygon,\n hexToRgba('#1f4dd8', 0.5),\n '#1f4dd8',\n 2,\n [0],\n );\n\n // draw points\n polygon.forEach((point) => {\n drawCircleWithFill(\n activeCanvasRef.current!,\n point,\n 4,\n styles.strokeColor,\n 3,\n '#1f4dd8',\n );\n });\n }\n });\n }\n };\n\n const renderEditingObject: ToolHooksFunc.RenderEditingObject = ({\n object,\n color,\n styles,\n isFocus,\n }) => {\n const { polygon } = object;\n if (polygon && polygon.visible) {\n const isFocusOnPolygon =\n isFocus &&\n editState.focusEleType === EElementType.Polygon &&\n editState.focusEleIndex === 0;\n\n polygon.group.forEach((polygon) => {\n const fillColor = isFocusOnPolygon\n ? hexToRgba(color, 0.2)\n : 'transparent';\n drawPolygonWithFill(\n activeCanvasRef.current,\n polygon,\n fillColor,\n styles.strokeColor,\n styles.thickness,\n styles.strokeDash,\n );\n });\n\n // draw points when actived\n polygon.group.forEach((points) => {\n points.forEach((point) => {\n drawCircleWithFill(\n activeCanvasRef.current!,\n point,\n 4,\n color,\n 2,\n '#fff',\n );\n });\n });\n\n // drawHighlight point when foucs\n const { index, pointIndex, lineIndex } = editState.focusPolygonInfo;\n if (index > -1 && pointIndex > -1) {\n const focusPoint = polygon.group[index][pointIndex];\n if (focusPoint) {\n drawCircleWithFill(\n activeCanvasRef.current!,\n focusPoint,\n 4,\n '#fff',\n 5,\n color,\n );\n }\n } else if (index > -1 && lineIndex > -1) {\n const lines = getLinesFromPolygon(polygon.group[index]);\n if (lines[lineIndex]) {\n const { start, end } = lines[lineIndex];\n const midPoint = getClosestPointOnLineSegment(\n {\n x: contentMouse.elementX + imagePos.current.x,\n y: contentMouse.elementY + imagePos.current.y,\n },\n start,\n end,\n );\n if (midPoint) {\n drawCircleWithFill(\n activeCanvasRef.current!,\n midPoint,\n 4,\n '#fff',\n 5,\n color,\n );\n }\n }\n }\n }\n };\n\n const renderPrompt: ToolHooksFunc.RenderPrompt = ({ prompt }) => {\n // draw creating prompt\n if (prompt.creatingPrompt) {\n const strokeColor = ANNO_STROKE_COLOR.CREATING;\n const fillColor = ANNO_FILL_COLOR.CREATING;\n switch (prompt.creatingPrompt.type) {\n case EPromptType.Rect: {\n const { startPoint } = prompt.creatingPrompt;\n const rect = getRectFromPoints(\n startPoint!,\n {\n x: contentMouse.elementX,\n y: contentMouse.elementY,\n },\n {\n width: contentMouse.elementW,\n height: contentMouse.elementH,\n },\n );\n const canvasCoordRect = translateRectCoord(rect, {\n x: -imagePos.current.x,\n y: -imagePos.current.y,\n });\n drawRect(\n activeCanvasRef.current,\n canvasCoordRect,\n strokeColor,\n 2,\n [0],\n fillColor,\n );\n break;\n }\n case EPromptType.Point: {\n if (!prompt.creatingPrompt.point) break;\n const canvasCoordPoint = translatePointCoord(\n prompt.creatingPrompt.point,\n {\n x: -imagePos.current.x,\n y: -imagePos.current.y,\n },\n );\n drawCircleWithFill(\n activeCanvasRef.current!,\n canvasCoordPoint,\n 4,\n prompt.creatingPrompt.isPositive\n ? PROMPT_FILL_COLOR.POSITIVE\n : PROMPT_FILL_COLOR.NEGATIVE,\n 2,\n '#fff',\n );\n }\n case EPromptType.Stroke: {\n if (!prompt.creatingPrompt.stroke || !prompt.creatingPrompt.radius)\n break;\n const canvasCoordStroke = translatePolygonCoord(\n prompt.creatingPrompt.stroke,\n {\n x: -imagePos.current.x,\n y: -imagePos.current.y,\n },\n );\n const radius =\n (prompt.creatingPrompt.radius * clientSize.width) /\n naturalSize.width;\n const color = prompt.creatingPrompt.isPositive\n ? PROMPT_FILL_COLOR.POSITIVE\n : PROMPT_FILL_COLOR.NEGATIVE;\n drawQuadraticPath(\n activeCanvasRef.current!,\n canvasCoordStroke,\n color,\n radius,\n );\n break;\n }\n default:\n break;\n }\n\n // draw active area while loading ai annotations\n if (editState.isRequiring && prompt.activeRectWhileLoading) {\n const canvasCoordRect = translateRectCoord(\n prompt.activeRectWhileLoading,\n {\n x: -imagePos.current.x,\n y: -imagePos.current.y,\n },\n );\n shadeEverythingButRect(activeCanvasRef.current!, canvasCoordRect);\n }\n }\n\n // draw existing prompts\n if (prompt.promptsQueue) {\n prompt.promptsQueue.forEach((item) => {\n if (item.type === EPromptType.Point) {\n const canvasCoordPoint = translatePointCoord(item.point!, {\n x: -imagePos.current.x,\n y: -imagePos.current.y,\n });\n drawCircleWithFill(\n activeCanvasRef.current!,\n canvasCoordPoint,\n 4,\n item.isPositive\n ? PROMPT_FILL_COLOR.POSITIVE\n : PROMPT_FILL_COLOR.NEGATIVE,\n 2,\n '#fff',\n );\n }\n });\n }\n };\n\n const updateAiPolygonWhenMouseDown = (event: MouseEvent) => {\n const point = {\n x: contentMouse.elementX,\n y: contentMouse.elementY,\n };\n setDrawData((s) => {\n switch (s.selectedSubTool) {\n case ESubToolItem.AutoSegmentByBox:\n s.prompt.creatingPrompt = {\n type: EPromptType.Rect,\n startPoint: point,\n isPositive: true,\n };\n break;\n case ESubToolItem.AutoSegmentByClick:\n s.prompt.creatingPrompt = {\n type: EPromptType.Point,\n startPoint: point,\n point: point,\n isPositive: getPromptBoolean(event),\n };\n break;\n case ESubToolItem.AutoSegmentByStroke: {\n s.prompt.creatingPrompt = {\n type: EPromptType.Stroke,\n startPoint: point,\n stroke: [point],\n radius: s.brushSize,\n isPositive: getPromptBoolean(event),\n };\n break;\n }\n default: {\n }\n }\n });\n };\n\n const startEditingWhenMouseDown: ToolHooksFunc.StartEditingWhenMouseDown = ({\n object,\n event,\n }) => {\n if (drawData.AIAnnotation) {\n updateAiPolygonWhenMouseDown(event);\n return true;\n }\n if (event?.button === 2) return false;\n if (\n editBaseElementWhenMouseDown({\n object,\n contentMouse,\n setEditState,\n setDrawData,\n })\n ) {\n return true;\n }\n return false;\n };\n\n const startCreatingWhenMouseDown: ToolHooksFunc.StartCreatingWhenMouseDown =\n ({ event, point, basic }) => {\n setDrawData((s) => {\n if (!s.creatingObject || s.activeObjectIndex > -1) {\n s.activeObjectIndex = -1;\n if (s.AIAnnotation) {\n switch (s.selectedSubTool) {\n case ESubToolItem.AutoSegmentByBox:\n s.prompt.creatingPrompt = {\n type: EPromptType.Rect,\n startPoint: point,\n isPositive: true,\n };\n break;\n case ESubToolItem.AutoSegmentByClick:\n s.prompt.creatingPrompt = {\n type: EPromptType.Point,\n startPoint: point,\n point: point,\n isPositive: getPromptBoolean(event),\n };\n break;\n case ESubToolItem.AutoSegmentByStroke: {\n s.prompt.creatingPrompt = {\n type: EPromptType.Stroke,\n startPoint: point,\n stroke: [point],\n radius: s.brushSize,\n isPositive: getPromptBoolean(event),\n };\n break;\n }\n }\n } else {\n // create a new polygon manually\n s.creatingObject = {\n type: EObjectType.Polygon,\n polygon: {\n visible: true,\n group: [[point]],\n },\n currIndex: 0,\n ...basic,\n };\n updateHistory(cloneDeep(drawData));\n }\n } else {\n if (!s.AIAnnotation) {\n const currIndex = s.creatingObject.currIndex as number;\n const polygon = s.creatingObject.polygon as IElement;\n if (currIndex > -1) {\n const startPoint = polygon.group[currIndex][0];\n // finish creating polygon when click on startpoint\n if (isPointOnPoint(startPoint, contentMouse)) {\n s.creatingObject.currIndex = -1;\n } else if (s.creatingObject.polygon) {\n polygon.group[currIndex].push(point);\n updateHistory(cloneDeep(s));\n }\n } else {\n polygon.group.push([point]);\n s.creatingObject.currIndex = polygon.group.length - 1;\n updateHistory(cloneDeep(s));\n }\n } else {\n updateAiPolygonWhenMouseDown(event);\n }\n }\n });\n return true;\n };\n\n const updatePolygonWhenMouseMove: ToolHooksFunc.UpdateCreatingWhenMouseMove =\n ({ event }) => {\n const allowRecordMousePath =\n drawData.selectedSubTool === ESubToolItem.AutoSegmentByStroke;\n // Left/Right button is pressed while mousemove\n const isMousePress = event.buttons === 1 || event.buttons === 2;\n if (\n drawData.prompt.creatingPrompt &&\n allowRecordMousePath &&\n isMousePress\n ) {\n const mouse = {\n x: contentMouse.elementX,\n y: contentMouse.elementY,\n };\n setDrawData((s) => {\n s.prompt.creatingPrompt?.stroke?.push(mouse);\n });\n return true;\n }\n\n if (drawData.creatingObject) {\n return true;\n }\n\n return false;\n };\n\n const updateEditingWhenMouseMove: ToolHooksFunc.UpdateEditingWhenMouseMove =\n ({ event }) => {\n if (drawData.AIAnnotation) {\n updateMouseCursor('crosshair');\n return updatePolygonWhenMouseMove({ event });\n }\n const {\n focusEleType,\n focusEleIndex,\n focusObjectIndex,\n focusPolygonInfo,\n } = editState;\n if (\n focusObjectIndex === drawData.activeObjectIndex &&\n focusEleType === EElementType.Polygon\n ) {\n if (focusPolygonInfo.pointIndex > -1) {\n updateMouseCursor('pointer');\n } else if (focusPolygonInfo.lineIndex > -1) {\n updateMouseCursor('crosshair');\n } else {\n updateMouseCursor('move');\n }\n }\n if (focusEleType === EElementType.Polygon && focusEleIndex === 0) {\n const { index, pointIndex } = editState.focusPolygonInfo;\n if (editState.startElementMovePoint && index > -1) {\n if (pointIndex > -1) {\n // move single point\n setDrawData((s) => {\n if (\n s.activeObjectIndex > -1 &&\n editState.focusEleIndex > -1 &&\n editState.startElementMovePoint &&\n s.creatingObject?.polygon?.group[index]\n ) {\n const polygon = s.creatingObject?.polygon?.group[index];\n polygon[pointIndex] = movePoint(contentMouse);\n }\n });\n return true;\n } else {\n // move polygon\n setDrawData((s) => {\n if (\n s.activeObjectIndex > -1 &&\n editState.focusEleIndex > -1 &&\n editState.startElementMovePoint &&\n s.creatingObject?.polygon?.group[index]\n ) {\n const polygon = s.creatingObject?.polygon?.group[index];\n const newPolygon = movePolygon(\n polygon,\n editState.startElementMovePoint,\n contentMouse,\n );\n s.creatingObject.polygon.group[index] = newPolygon;\n // TODO: fix move offset\n // console.log(\n // '>>> move polygon',\n // editState.startElementMovePoint.mousePoint,\n // 'to', {\n // x: contentMouse.elementX,\n // y: contentMouse.elementY,\n // }\n // );\n setEditState((s) => {\n if (s.startElementMovePoint)\n s.startElementMovePoint.mousePoint = {\n x: contentMouse.elementX,\n y: contentMouse.elementY,\n };\n });\n }\n });\n return true;\n }\n }\n }\n return false;\n };\n\n const updateCreatingWhenMouseMove: ToolHooksFunc.UpdateCreatingWhenMouseMove =\n ({ event }) => {\n return updatePolygonWhenMouseMove({ event });\n };\n\n const getExistPolygonPrompts = (): PromptItem[] => {\n if (\n drawData.prompt.promptsQueue &&\n drawData.prompt.promptsQueue.length > 0\n ) {\n return drawData.prompt.promptsQueue;\n } else {\n // add exsit polygon as prompt item while editing instance by ai\n const addExistPolygon =\n !drawData.prompt.sessionId && drawData.creatingObject;\n\n if (addExistPolygon) {\n const existPolygons =\n drawData.creatingObject?.polygon?.group.map((polygon) => {\n return polygon.reduce((acc: number[], point) => {\n return acc.concat([point.x, point.y]);\n }, []);\n }) || [];\n\n const modifyPromptItem: PromptItem = {\n type: EPromptType.Modify,\n isPositive: true,\n polygons: existPolygons,\n };\n\n return [modifyPromptItem];\n } else {\n return [];\n }\n }\n };\n\n const finishAiPolygonWhenMouseUp = () => {\n const mouse = {\n x: contentMouse.elementX,\n y: contentMouse.elementY,\n };\n const existPrompts = getExistPolygonPrompts();\n switch (drawData.selectedSubTool) {\n case ESubToolItem.AutoSegmentByBox: {\n if (!drawData.prompt.creatingPrompt?.startPoint) break;\n if (\n mouse.x === drawData.prompt.creatingPrompt.startPoint?.x ||\n mouse.y === drawData.prompt.creatingPrompt.startPoint?.y\n ) {\n setDrawData((s) => (s.prompt.creatingPrompt = undefined));\n break;\n }\n const rect = getRectFromPoints(\n drawData.prompt.creatingPrompt.startPoint as IPoint,\n mouse,\n {\n width: contentMouse.elementW,\n height: contentMouse.elementH,\n },\n );\n const promptItem: PromptItem = {\n type: EPromptType.Rect,\n isPositive: true,\n rect,\n };\n setDrawDataWithHistory((s) => {\n s.prompt.activeRectWhileLoading = rect;\n });\n const promptsQueue = [...existPrompts, promptItem];\n onAiAnnotation?.({\n type: EObjectType.Polygon,\n drawData,\n promptsQueue,\n });\n break;\n }\n case ESubToolItem.AutoSegmentByClick: {\n if (\n !isInCanvas(contentMouse) ||\n !isInCanvas(containerMouse) ||\n !drawData.prompt.creatingPrompt?.point\n )\n break;\n const promptItem: PromptItem = {\n type: EPromptType.Point,\n isPositive: drawData.prompt.creatingPrompt.isPositive,\n point: drawData.prompt.creatingPrompt.point,\n };\n const promptsQueue = [...existPrompts, promptItem];\n onAiAnnotation?.({\n type: EObjectType.Polygon,\n drawData,\n promptsQueue,\n });\n break;\n }\n case ESubToolItem.AutoSegmentByStroke: {\n if (!drawData.prompt.creatingPrompt?.stroke) break;\n const promptItem: PromptItem = {\n type: EPromptType.Stroke,\n isPositive: drawData.prompt.creatingPrompt.isPositive,\n stroke: drawData.prompt.creatingPrompt.stroke,\n radius: drawData.brushSize,\n };\n const promptsQueue = [...existPrompts, promptItem];\n onAiAnnotation?.({\n type: EObjectType.Polygon,\n drawData,\n promptsQueue,\n });\n break;\n }\n }\n };\n\n const finishEditingWhenMouseUp: ToolHooksFunc.FinishEditingWhenMouseUp = ({\n object,\n }) => {\n if (drawData.AIAnnotation) {\n finishAiPolygonWhenMouseUp();\n } else {\n const isResizingOrMoving =\n editState.startRectResizeAnchor || editState.startElementMovePoint;\n\n const isMouseStand =\n editState.startElementMovePoint &&\n editState.startElementMovePoint.initPoint?.x ===\n contentMouse.elementX &&\n editState.startElementMovePoint.initPoint?.y === contentMouse.elementY;\n\n const isRemovePolygonPoints =\n isMouseStand &&\n editState.focusPolygonInfo.index > -1 &&\n editState.focusPolygonInfo.pointIndex > -1;\n\n if (isRemovePolygonPoints) {\n const copyObject = cloneDeep(object);\n const { index, pointIndex } = editState.focusPolygonInfo;\n const polygon = copyObject.polygon?.group[index];\n if (polygon && index > -1 && pointIndex > -1 && polygon.length >= 3) {\n polygon.splice(pointIndex, 1);\n }\n updateObject(copyObject, drawData.activeObjectIndex);\n } else if (isResizingOrMoving) {\n updateObject(object, drawData.activeObjectIndex);\n }\n\n setEditState((s) => {\n s.startRectResizeAnchor = undefined;\n s.startElementMovePoint = undefined;\n });\n }\n return true;\n };\n\n const finishCreatingWhenMouseUp: ToolHooksFunc.FinishCreatingWhenMouseUp = ({\n object,\n }) => {\n if (drawData.AIAnnotation) {\n finishAiPolygonWhenMouseUp();\n } else {\n if (object && object.currIndex === -1) {\n const { polygon, type, hidden, labelId, status, color } = object;\n const newObject = {\n polygon,\n type,\n hidden,\n labelId,\n status,\n color,\n };\n addObject(newObject);\n }\n }\n return true;\n };\n\n return {\n renderObject,\n renderCreatingObject,\n renderEditingObject,\n renderPrompt,\n startEditingWhenMouseDown,\n startCreatingWhenMouseDown,\n updateEditingWhenMouseMove,\n updateCreatingWhenMouseMove,\n finishEditingWhenMouseUp,\n finishCreatingWhenMouseUp,\n };\n};\n\nexport default usePolygon;\n","import { ANNO_STROKE_ALPHA } from '../constants/render';\nimport { LineType } from '../type';\nimport { hexToRgba } from '../utils/color';\nimport { drawPolylineByType } from '../utils/draw';\n\nimport { ToolInstanceHook, ToolHooksFunc } from './base';\n\nconst usePolyline: ToolInstanceHook = ({ canvasRef }) => {\n const renderObject: ToolHooksFunc.RenderObject = ({\n object,\n color,\n isFocus,\n }) => {\n const { polyline } = object;\n if (polyline && polyline.visible && polyline.lineType) {\n const lineType: LineType = polyline.lineType as unknown as LineType;\n\n const baseColor = polyline.color || color;\n const strokeColor = isFocus\n ? hexToRgba(baseColor, ANNO_STROKE_ALPHA.FOCUS)\n : hexToRgba(baseColor, ANNO_STROKE_ALPHA.DEFAULT);\n\n polyline?.group.forEach((anchors) => {\n drawPolylineByType(canvasRef.current, anchors, strokeColor, lineType);\n });\n\n // todo render point & text\n }\n };\n\n const renderCreatingObject: ToolHooksFunc.RenderCreatingObject = () => {\n // todo\n };\n\n const renderEditingObject: ToolHooksFunc.RenderEditingObject = () => {\n // to do\n };\n\n const renderPrompt: ToolHooksFunc.RenderPrompt = () => {\n // nothing in rect\n };\n\n const startEditingWhenMouseDown: ToolHooksFunc.StartEditingWhenMouseDown =\n () => {\n return false;\n };\n\n const startCreatingWhenMouseDown: ToolHooksFunc.StartCreatingWhenMouseDown =\n () => {\n return false;\n };\n\n const updateEditingWhenMouseMove: ToolHooksFunc.UpdateEditingWhenMouseMove =\n () => {\n return false;\n };\n\n const updateCreatingWhenMouseMove: ToolHooksFunc.UpdateCreatingWhenMouseMove =\n () => {\n return false;\n };\n\n const finishEditingWhenMouseUp: ToolHooksFunc.FinishEditingWhenMouseUp =\n () => {\n return false;\n };\n\n const finishCreatingWhenMouseUp: ToolHooksFunc.FinishCreatingWhenMouseUp =\n () => {\n return false;\n };\n\n return {\n renderObject,\n renderCreatingObject,\n renderEditingObject,\n renderPrompt,\n startEditingWhenMouseDown,\n startCreatingWhenMouseDown,\n updateEditingWhenMouseMove,\n updateCreatingWhenMouseMove,\n finishEditingWhenMouseUp,\n finishCreatingWhenMouseUp,\n };\n};\n\nexport default usePolyline;\n","import { EnumModelType, EObjectType, ESubToolItem } from '../constants';\nimport {\n ANNO_FILL_ALPHA,\n PROMPT_FILL_COLOR,\n PROMPT_STROKE_COLOR,\n} from '../constants/render';\nimport { EObjectStatus, EPromptType, PromptItem } from '../type';\nimport { hexToRgba } from '../utils/color';\nimport {\n getRectFromPoints,\n translatePointCoord,\n translateRectCoord,\n} from '../utils/compute';\nimport {\n drawCircleWithFill,\n drawRect,\n drawText,\n shadeEverythingButRect,\n} from '../utils/draw';\n\nimport {\n ToolInstanceHook,\n ToolHooksFunc,\n renderActiveRect,\n editBaseElementWhenMouseDown,\n updateEditingRectWhenMouseMove,\n} from './base';\n\nconst useRectangle: ToolInstanceHook = ({\n contentMouse,\n imagePos,\n canvasRef,\n activeCanvasRef,\n editState,\n setEditState,\n drawData,\n setDrawData,\n updateMouseCursor,\n updateObject,\n addObject,\n getAnnotColor,\n displayOptionsResult,\n categories,\n onAiAnnotation,\n}) => {\n const renderObject: ToolHooksFunc.RenderObject = ({\n object,\n color,\n styles,\n isFocus,\n }) => {\n const { rect } = object;\n if (rect && rect.visible) {\n let strokeDash = styles.strokeDash;\n let strokeColor = styles.strokeColor;\n let fillColor = styles.fillColor;\n let thickness = styles.thickness;\n const model = drawData.selectedModel[drawData.selectedTool];\n if (drawData.isBatchEditing) {\n if (\n object.status === EObjectStatus.Unchecked &&\n (!editState.isCtrlPressed || model === EnumModelType.IVP)\n )\n return;\n if (editState.isCtrlPressed && model === EnumModelType.Detection) {\n if (object.status !== EObjectStatus.Unchecked) {\n strokeColor = hexToRgba(color, 0.8);\n strokeDash = [2];\n thickness = 1.5;\n } else {\n fillColor = isFocus\n ? hexToRgba(color, ANNO_FILL_ALPHA.DEFAULT)\n : hexToRgba(color, ANNO_FILL_ALPHA.CTRL_TO_SELECT);\n }\n }\n }\n\n drawRect(\n canvasRef.current!,\n rect,\n strokeColor,\n thickness,\n strokeDash,\n fillColor,\n );\n\n // draw text\n if (displayOptionsResult?.showBoxText) {\n const labelName =\n categories.find((c) => c.id === object.labelId)?.name || '';\n const label =\n object?.conf && object.conf > 0 && object.conf < 1\n ? `${labelName} (${object.conf.toFixed(3)})`\n : labelName;\n drawText(\n canvasRef.current!,\n label || '',\n 13,\n { x: rect.x + 6, y: rect.y + 6 },\n color,\n true,\n 'left',\n );\n }\n\n // draw ctrlpressed rect mask\n if (drawData.isBatchEditing && editState.isCtrlPressed && isFocus) {\n shadeEverythingButRect(activeCanvasRef.current!, rect, '#000', 0.6);\n }\n }\n };\n\n const renderCreatingObject: ToolHooksFunc.RenderCreatingObject = ({\n object,\n styles,\n }) => {\n const { startPoint } = object;\n if (startPoint) {\n // creating\n const rect = getRectFromPoints(\n startPoint,\n {\n x: contentMouse.elementX,\n y: contentMouse.elementY,\n },\n {\n width: contentMouse.elementW,\n height: contentMouse.elementH,\n },\n );\n const canvasCoordRect = translateRectCoord(rect, {\n x: -imagePos.current.x,\n y: -imagePos.current.y,\n });\n drawRect(\n activeCanvasRef.current,\n canvasCoordRect,\n styles.strokeColor,\n styles.thickness,\n styles.strokeDash,\n styles.fillColor,\n );\n }\n };\n\n const renderEditingObject: ToolHooksFunc.RenderEditingObject = ({\n object,\n styles,\n }) => {\n const { rect } = object;\n if (rect && rect.visible) {\n drawRect(\n activeCanvasRef.current!,\n rect,\n styles.strokeColor,\n styles.thickness,\n styles.strokeDash,\n styles.fillColor,\n );\n renderActiveRect(activeCanvasRef.current!, rect);\n }\n };\n\n const renderPrompt: ToolHooksFunc.RenderPrompt = ({ prompt }) => {\n // draw creating prompt\n if (prompt.creatingPrompt) {\n const strokeColor = prompt.creatingPrompt.isPositive\n ? PROMPT_STROKE_COLOR.POSITIVE\n : PROMPT_STROKE_COLOR.NEGATIVE;\n const fillColor = prompt.creatingPrompt.isPositive\n ? PROMPT_FILL_COLOR.POSITIVE\n : PROMPT_FILL_COLOR.NEGATIVE;\n\n switch (prompt.creatingPrompt.type) {\n case EPromptType.Rect: {\n const { startPoint } = prompt.creatingPrompt;\n const rect = getRectFromPoints(\n startPoint!,\n {\n x: contentMouse.elementX,\n y: contentMouse.elementY,\n },\n {\n width: contentMouse.elementW,\n height: contentMouse.elementH,\n },\n );\n const canvasCoordRect = translateRectCoord(rect, {\n x: -imagePos.current.x,\n y: -imagePos.current.y,\n });\n drawRect(\n activeCanvasRef.current,\n canvasCoordRect,\n strokeColor,\n 2,\n [0],\n fillColor,\n );\n break;\n }\n case EPromptType.Point: {\n if (!prompt.creatingPrompt.point) break;\n const canvasCoordPoint = translatePointCoord(\n prompt.creatingPrompt.point,\n {\n x: -imagePos.current.x,\n y: -imagePos.current.y,\n },\n );\n drawCircleWithFill(\n activeCanvasRef.current!,\n canvasCoordPoint,\n 4,\n prompt.creatingPrompt.isPositive\n ? PROMPT_FILL_COLOR.POSITIVE\n : PROMPT_FILL_COLOR.NEGATIVE,\n 2,\n '#fff',\n );\n }\n default:\n break;\n }\n }\n\n // draw existing prompts\n if (prompt.promptsQueue) {\n prompt.promptsQueue.forEach((item) => {\n switch (item.type) {\n case EPromptType.Rect: {\n const canvasCoordRect = translateRectCoord(item.rect!, {\n x: -imagePos.current.x,\n y: -imagePos.current.y,\n });\n drawRect(\n activeCanvasRef.current,\n canvasCoordRect,\n item.isPositive\n ? PROMPT_STROKE_COLOR.POSITIVE\n : PROMPT_STROKE_COLOR.NEGATIVE,\n 2,\n [0],\n item.isPositive\n ? PROMPT_FILL_COLOR.POSITIVE\n : PROMPT_FILL_COLOR.NEGATIVE,\n );\n break;\n }\n case EPromptType.Point: {\n const canvasCoordPoint = translatePointCoord(item.point!, {\n x: -imagePos.current.x,\n y: -imagePos.current.y,\n });\n drawCircleWithFill(\n activeCanvasRef.current!,\n canvasCoordPoint,\n 4,\n item.isPositive\n ? PROMPT_FILL_COLOR.POSITIVE\n : PROMPT_FILL_COLOR.NEGATIVE,\n 2,\n '#fff',\n );\n break;\n }\n }\n });\n }\n };\n\n const startEditingWhenMouseDown: ToolHooksFunc.StartEditingWhenMouseDown = ({\n object,\n event,\n }) => {\n if (event?.button === 2) return false;\n if (\n editBaseElementWhenMouseDown({\n object,\n contentMouse,\n setEditState,\n setDrawData,\n })\n ) {\n return true;\n }\n return false;\n };\n\n const startCreatingWhenMouseDown: ToolHooksFunc.StartCreatingWhenMouseDown =\n ({ point, basic }) => {\n setDrawData((s) => {\n const model = s.selectedModel[s.selectedTool];\n if (s.AIAnnotation && model === EnumModelType.IVP) {\n s.activeObjectIndex = -1;\n s.prompt.creatingPrompt = {\n type: EPromptType.Rect,\n startPoint: point,\n point,\n isPositive: s.selectedSubTool !== ESubToolItem.NegativeVisualPrompt,\n };\n } else {\n s.activeObjectIndex = -1;\n s.creatingObject = {\n type: EObjectType.Rectangle,\n startPoint: point,\n ...basic,\n };\n }\n });\n return true;\n };\n\n const updateEditingWhenMouseMove: ToolHooksFunc.UpdateEditingWhenMouseMove =\n ({ object }) => {\n return updateEditingRectWhenMouseMove({\n object,\n editState,\n contentMouse,\n drawData,\n setDrawData,\n updateMouseCursor,\n });\n };\n\n const updateCreatingWhenMouseMove: ToolHooksFunc.UpdateCreatingWhenMouseMove =\n ({ object }) => {\n return !!object;\n };\n\n const finishEditingWhenMouseUp: ToolHooksFunc.FinishEditingWhenMouseUp = ({\n object,\n }) => {\n const isResizingOrMoving =\n editState.startRectResizeAnchor || editState.startElementMovePoint;\n if (isResizingOrMoving) {\n updateObject(object, drawData.activeObjectIndex);\n }\n setEditState((s) => {\n s.startRectResizeAnchor = undefined;\n s.startElementMovePoint = undefined;\n });\n return true;\n };\n\n const finishCreatingWhenMouseUp: ToolHooksFunc.FinishCreatingWhenMouseUp = ({\n object,\n }) => {\n const mouse = {\n x: contentMouse.elementX,\n y: contentMouse.elementY,\n };\n if (\n drawData.AIAnnotation &&\n drawData.selectedModel[drawData.selectedTool] === EnumModelType.IVP &&\n drawData.prompt.creatingPrompt?.startPoint\n ) {\n const { startPoint } = drawData.prompt.creatingPrompt;\n if (mouse.x === startPoint.x || mouse.y === startPoint.y) {\n setDrawData((s) => {\n s.prompt.creatingPrompt = undefined;\n });\n return true;\n // TODO\n // if (!isInCanvas(contentMouse)) return false;\n // const promptItem: PromptItem = {\n // type: EPromptType.Point,\n // isPositive: drawData.prompt.creatingPrompt.isPositive,\n // point: startPoint,\n // };\n // const promptsQueue = [\n // ...(drawData.prompt.promptsQueue || []),\n // promptItem,\n // ];\n // onAiAnnotation?.({\n // type: EObjectType.Rectangle,\n // drawData,\n // promptsQueue,\n // });\n // return true;\n } else {\n const rect = getRectFromPoints(startPoint, mouse, {\n width: contentMouse.elementW,\n height: contentMouse.elementH,\n });\n const promptItem: PromptItem = {\n type: EPromptType.Rect,\n isPositive: drawData.prompt.creatingPrompt.isPositive,\n rect,\n };\n const promptsQueue = [\n ...(drawData.prompt.promptsQueue || []),\n promptItem,\n ];\n onAiAnnotation?.({\n type: EObjectType.Rectangle,\n drawData,\n promptsQueue,\n });\n }\n return true;\n }\n if (!object || !object.startPoint) return false;\n // Need to check if it can form a rectangle\n if (\n contentMouse.elementX === object.startPoint.x ||\n contentMouse.elementY === object.startPoint.y\n ) {\n setDrawData((s) => {\n s.creatingObject = undefined;\n });\n return true;\n }\n const newRect = getRectFromPoints(\n object.startPoint,\n { x: contentMouse.elementX, y: contentMouse.elementY },\n {\n width: contentMouse.elementW,\n height: contentMouse.elementH,\n },\n );\n const newObject = {\n type: EObjectType.Rectangle,\n labelId: object.labelId,\n hidden: false,\n rect: { visible: true, ...newRect },\n conf: 1,\n status: EObjectStatus.Commited,\n color: getAnnotColor(object.labelId),\n };\n addObject(newObject);\n return true;\n };\n\n return {\n renderObject,\n renderCreatingObject,\n renderEditingObject,\n renderPrompt,\n startEditingWhenMouseDown,\n startCreatingWhenMouseDown,\n updateEditingWhenMouseMove,\n updateCreatingWhenMouseMove,\n finishEditingWhenMouseUp,\n finishCreatingWhenMouseUp,\n };\n};\n\nexport default useRectangle;\n","import {\n BODY_TEMPLATE,\n EElementType,\n EObjectType,\n KEYPOINTS_VISIBLE_TYPE,\n} from '../constants';\nimport { EObjectStatus } from '../type';\nimport {\n getKeypointsFromRect,\n getRectFromPoints,\n movePoint,\n translatePointsToPointObjs,\n translateRectCoord,\n} from '../utils/compute';\nimport { drawCircleWithFill, drawLine, drawRect } from '../utils/draw';\n\nimport {\n ToolInstanceHook,\n ToolHooksFunc,\n renderActiveRect,\n editBaseElementWhenMouseDown,\n updateEditingRectWhenMouseMove,\n RenderStyles,\n} from './base';\n\nconst renderKeypoints = (\n canvas: HTMLCanvasElement,\n keypoints: {\n points: IElement[];\n lines: number[];\n },\n color: string,\n styles: RenderStyles,\n hideLine?: boolean,\n pointThickness = 4,\n) => {\n const { lines, points } = keypoints;\n\n // draw line\n if (!hideLine) {\n for (let i = 0; i * 2 < lines.length; i++) {\n const [index1, index2] = [lines[i * 2], lines[i * 2 + 1]];\n if (\n points[index1]?.visible === KEYPOINTS_VISIBLE_TYPE.labeledVisible &&\n points[index2]?.visible === KEYPOINTS_VISIBLE_TYPE.labeledVisible\n ) {\n drawLine(\n canvas,\n points[index1],\n points[index2],\n styles.strokeColor,\n styles.thickness,\n styles.strokeDash,\n );\n }\n }\n }\n\n // draw circle\n points.forEach((point) => {\n const { x, y, visible, color } = point;\n if (visible === KEYPOINTS_VISIBLE_TYPE.labeledVisible) {\n drawCircleWithFill(canvas, { x, y }, pointThickness, color, 2, '#000');\n }\n });\n};\n\nconst useSkeleton: ToolInstanceHook = ({\n editState,\n clientSize,\n naturalSize,\n contentMouse,\n imagePos,\n canvasRef,\n activeCanvasRef,\n setEditState,\n drawData,\n setDrawData,\n updateMouseCursor,\n addObject,\n updateObject,\n aiLabels,\n onAiAnnotation,\n displayOptionsResult,\n}) => {\n const renderObject: ToolHooksFunc.RenderObject = ({\n object,\n color,\n styles,\n }) => {\n if (object.status === EObjectStatus.Unchecked) return;\n const { rect, keypoints } = object;\n if (rect && rect.visible) {\n if (!displayOptionsResult || displayOptionsResult.showKeyPointsBox) {\n drawRect(\n canvasRef.current!,\n rect,\n styles.strokeColor,\n styles.thickness,\n styles.strokeDash,\n styles.fillColor,\n );\n }\n }\n if (keypoints) {\n renderKeypoints(\n canvasRef.current!,\n keypoints,\n color,\n styles,\n displayOptionsResult && !displayOptionsResult.showKeyPointsLine,\n clientSize.width > 400 ? 4 : 2,\n );\n }\n };\n\n const renderCreatingObject: ToolHooksFunc.RenderCreatingObject = ({\n object,\n styles,\n }) => {\n const { startPoint } = object;\n if (startPoint) {\n // creating\n const rect = getRectFromPoints(\n startPoint!,\n {\n x: contentMouse.elementX,\n y: contentMouse.elementY,\n },\n {\n width: contentMouse.elementW,\n height: contentMouse.elementH,\n },\n );\n const canvasCoordRect = translateRectCoord(rect, {\n x: -imagePos.current.x,\n y: -imagePos.current.y,\n });\n const { points, lines, pointColors, pointNames } = BODY_TEMPLATE;\n const pointObjs = translatePointsToPointObjs(\n points,\n pointNames,\n pointColors,\n naturalSize,\n clientSize,\n );\n const updatedKeypoints = getKeypointsFromRect(pointObjs, canvasCoordRect);\n\n // draw rect\n drawRect(\n activeCanvasRef.current,\n canvasCoordRect,\n styles.strokeColor,\n styles.thickness,\n );\n\n // draw circles\n updatedKeypoints.forEach((p) => {\n drawCircleWithFill(\n activeCanvasRef.current!,\n { x: p.x, y: p.y },\n 4,\n styles.strokeColor,\n 3,\n '#1f4dd8',\n );\n });\n\n // draw lines\n for (let i = 0; i * 2 < lines.length; i++) {\n const [index1, index2] = [lines[i * 2], lines[i * 2 + 1]];\n drawLine(\n activeCanvasRef.current!,\n updatedKeypoints[index1],\n updatedKeypoints[index2],\n styles.strokeColor,\n 2.5,\n [0],\n );\n }\n }\n };\n\n const renderEditingObject: ToolHooksFunc.RenderEditingObject = ({\n object,\n color,\n styles,\n isFocus,\n }) => {\n const { rect, keypoints } = object;\n if (rect && rect.visible) {\n // editing\n drawRect(\n activeCanvasRef.current!,\n rect,\n styles.strokeColor,\n styles.thickness,\n styles.strokeDash,\n styles.fillColor,\n );\n renderActiveRect(activeCanvasRef.current!, rect);\n }\n if (keypoints) {\n renderKeypoints(activeCanvasRef.current!, keypoints, color, styles);\n\n // draw hightlight circle\n if (\n isFocus &&\n editState.focusEleType === EElementType.Circle &&\n keypoints.points[editState.focusEleIndex]\n ) {\n const { x, y, visible, color } =\n keypoints.points[editState.focusEleIndex];\n if (visible === KEYPOINTS_VISIBLE_TYPE.labeledVisible) {\n drawCircleWithFill(\n activeCanvasRef.current!,\n { x, y },\n 4,\n color,\n 5,\n '#fff',\n );\n }\n }\n }\n };\n\n const renderPrompt: ToolHooksFunc.RenderPrompt = () => {\n // nothing in skeleton\n };\n\n const startEditingWhenMouseDown: ToolHooksFunc.StartEditingWhenMouseDown = ({\n object,\n event,\n }) => {\n if (event?.button === 2) return false;\n if (\n editBaseElementWhenMouseDown({\n object,\n contentMouse,\n setEditState,\n setDrawData,\n })\n ) {\n return true;\n }\n return false;\n };\n\n const startCreatingWhenMouseDown: ToolHooksFunc.StartCreatingWhenMouseDown =\n ({ point, basic }) => {\n setDrawData((s) => {\n s.activeObjectIndex = -1;\n s.creatingObject = {\n type: EObjectType.Skeleton,\n startPoint: point,\n ...basic,\n };\n });\n return true;\n };\n\n const updateEditingWhenMouseMove: ToolHooksFunc.UpdateEditingWhenMouseMove =\n ({ object }) => {\n // change rect\n if (\n updateEditingRectWhenMouseMove({\n object,\n editState,\n contentMouse,\n drawData,\n setDrawData,\n updateMouseCursor,\n })\n )\n return true;\n\n if (\n editState.focusObjectIndex === drawData.activeObjectIndex &&\n editState.focusEleType === EElementType.Circle\n ) {\n updateMouseCursor('pointer');\n }\n if (editState.focusEleType === EElementType.Circle) {\n // move point\n if (editState.startElementMovePoint) {\n setDrawData((s) => {\n if (\n s.activeObjectIndex > -1 &&\n editState.focusEleIndex > -1 &&\n editState.startElementMovePoint &&\n s.creatingObject?.keypoints?.points?.[editState.focusEleIndex]\n ) {\n const point =\n s.creatingObject?.keypoints?.points?.[editState.focusEleIndex];\n const { x: newX, y: newY } = movePoint(contentMouse);\n point.x = newX;\n point.y = newY;\n }\n });\n return true;\n }\n }\n return false;\n };\n\n const updateCreatingWhenMouseMove: ToolHooksFunc.UpdateCreatingWhenMouseMove =\n ({ object }) => {\n return !!object;\n };\n\n const finishEditingWhenMouseUp: ToolHooksFunc.FinishEditingWhenMouseUp = ({\n object,\n }) => {\n const isResizingOrMoving =\n editState.startRectResizeAnchor || editState.startElementMovePoint;\n if (isResizingOrMoving) {\n updateObject(object, drawData.activeObjectIndex);\n }\n\n if (drawData.AIAnnotation) {\n if (\n editState.startElementMovePoint &&\n (editState.startElementMovePoint.mousePoint?.x !==\n contentMouse.elementX ||\n editState.startElementMovePoint.mousePoint?.y !==\n contentMouse.elementY)\n ) {\n onAiAnnotation?.({ type: EObjectType.Skeleton, drawData, aiLabels });\n }\n }\n\n setEditState((s) => {\n s.startRectResizeAnchor = undefined;\n s.startElementMovePoint = undefined;\n });\n return true;\n };\n\n const finishCreatingWhenMouseUp: ToolHooksFunc.FinishCreatingWhenMouseUp = ({\n object,\n }) => {\n if (!object || !object.startPoint) return false;\n // Need to check if it can form a rectangle\n if (\n contentMouse.elementX === object.startPoint?.x ||\n contentMouse.elementY === object.startPoint?.y\n ) {\n setDrawData((s) => (s.creatingObject = undefined));\n return true;\n }\n const newRect = getRectFromPoints(\n object.startPoint,\n { x: contentMouse.elementX, y: contentMouse.elementY },\n {\n width: contentMouse.elementW,\n height: contentMouse.elementH,\n },\n );\n const { points, lines, pointColors, pointNames } = BODY_TEMPLATE;\n const pointObjs = translatePointsToPointObjs(\n points,\n pointNames,\n pointColors,\n naturalSize,\n clientSize,\n );\n const updatedObjs = getKeypointsFromRect(pointObjs, newRect);\n const newObject = {\n type: EObjectType.Skeleton,\n labelId: object.labelId,\n hidden: false,\n color: object.color,\n rect: { visible: true, ...newRect },\n keypoints: {\n points: updatedObjs,\n lines: lines,\n },\n conf: 1,\n status: EObjectStatus.Commited,\n };\n addObject(newObject);\n return true;\n };\n\n return {\n renderObject,\n renderCreatingObject,\n renderEditingObject,\n renderPrompt,\n startEditingWhenMouseDown,\n startCreatingWhenMouseDown,\n updateEditingWhenMouseMove,\n updateCreatingWhenMouseMove,\n finishEditingWhenMouseUp,\n finishCreatingWhenMouseUp,\n };\n};\n\nexport default useSkeleton;\n","/* eslint-disable @typescript-eslint/no-namespace */\nimport { CursorState } from 'ahooks/lib/useMouse';\nimport { Updater } from 'use-immer';\n\nimport { DisplayOption, EElementType, EObjectType } from '../constants';\nimport { OnAiAnnotationFunc } from '../hooks/useAiModels';\nimport {\n Category,\n DrawData,\n EditState,\n EObjectStatus,\n IAnnotationObject,\n ICreatingObject,\n IPrompt,\n} from '../type';\nimport {\n Direction,\n getAnchorFixRectPoint,\n getAnchorUnderMouseByRect,\n getClosestPointOnLineSegment,\n getLinesFromPolygon,\n getRectWithCenterAndSize,\n judgeFocusOnElement,\n mapRectToAnchors,\n moveRect,\n resizeRect,\n setRectBetweenPixels,\n} from '../utils/compute';\nimport { drawRect } from '../utils/draw';\n\nimport useMask from './useMask';\nimport useMatting from './useMatting';\nimport usePoint from './usePoint';\nimport usePolygon from './usePolygon';\nimport usePolyline from './usePolyline';\nimport useRectangle from './useRectangle';\nimport useSkeleton from './useSkeleton';\n\nexport type RenderStyles = {\n strokeColor: string;\n fillColor: string;\n maskAlpha: number;\n strokeDash: Array;\n thickness: number;\n pointAplha: number;\n};\n\nexport namespace ToolHooksFunc {\n export type RenderObject = (params: {\n object: IAnnotationObject;\n color: string;\n styles: RenderStyles;\n isFocus: boolean;\n }) => void;\n\n export type RenderCreatingObject = (params: {\n object: ICreatingObject;\n color: string;\n styles: RenderStyles;\n }) => void;\n\n export type RenderEditingObject = (params: {\n object: ICreatingObject;\n color: string;\n styles: RenderStyles;\n isFocus: boolean;\n }) => void;\n\n export type RenderPrompt = (params: { prompt: IPrompt }) => void;\n\n export type StartCreatingWhenMouseDown = (params: {\n event: MouseEvent;\n object?: ICreatingObject;\n point: { x: number; y: number };\n basic: {\n hidden: boolean;\n labelId: string;\n status: EObjectStatus;\n color: string;\n };\n }) => boolean;\n\n export type StartEditingWhenMouseDown = (params: {\n event: MouseEvent;\n object: ICreatingObject;\n }) => boolean;\n\n export type UpdateCreatingWhenMouseMove = (params: {\n event: MouseEvent;\n object?: ICreatingObject;\n }) => boolean;\n\n export type UpdateEditingWhenMouseMove = (params: {\n event: MouseEvent;\n object: ICreatingObject;\n }) => boolean;\n\n export type FinishCreatingWhenMouseUp = (params: {\n event: MouseEvent;\n object?: ICreatingObject;\n }) => boolean;\n\n export type FinishEditingWhenMouseUp = (params: {\n event: MouseEvent;\n object: ICreatingObject;\n }) => boolean;\n}\n\nexport type ToolInstanceHookReturn = {\n renderObject: ToolHooksFunc.RenderObject;\n renderCreatingObject: ToolHooksFunc.RenderCreatingObject;\n renderEditingObject: ToolHooksFunc.RenderEditingObject;\n renderPrompt: ToolHooksFunc.RenderPrompt;\n startCreatingWhenMouseDown: ToolHooksFunc.StartCreatingWhenMouseDown;\n startEditingWhenMouseDown: ToolHooksFunc.StartEditingWhenMouseDown;\n updateCreatingWhenMouseMove: ToolHooksFunc.UpdateCreatingWhenMouseMove;\n updateEditingWhenMouseMove: ToolHooksFunc.UpdateEditingWhenMouseMove;\n finishCreatingWhenMouseUp: ToolHooksFunc.FinishCreatingWhenMouseUp;\n finishEditingWhenMouseUp: ToolHooksFunc.FinishEditingWhenMouseUp;\n};\nexport interface ToolInstanceHookProps {\n imgRef: React.RefObject;\n editState: EditState;\n setEditState: Updater;\n drawData: DrawData;\n setDrawData: Updater;\n setDrawDataWithHistory: Updater;\n updateHistory: (drawData: DrawData) => void;\n updateObject: (object: IAnnotationObject, index: number) => void;\n addObject: (object: IAnnotationObject, notActive?: boolean) => void;\n clientSize: ISize;\n naturalSize: ISize;\n contentMouse: CursorState;\n imagePos: React.MutableRefObject;\n containerMouse: CursorState;\n canvasRef: React.RefObject;\n activeCanvasRef: React.RefObject;\n updateMouseCursor: (value: string, position?: Direction) => void;\n getAnnotColor: (category: string) => string;\n aiLabels?: string;\n onAiAnnotation?: OnAiAnnotationFunc;\n displayOptionsResult?: { [key in DisplayOption]?: boolean };\n categories: Category[];\n}\n\nexport type ToolInstanceHook = (\n props: ToolInstanceHookProps,\n) => ToolInstanceHookReturn;\n\nexport const useToolInstances = (props: ToolInstanceHookProps) => {\n const rectangleHooks = useRectangle(props);\n const polygenHooks = usePolygon(props);\n const skeletonHooks = useSkeleton(props);\n const maskHooks = useMask(props);\n const mattingHooks = useMatting(props);\n const pointHooks = usePoint(props);\n const polylineHooks = usePolyline(props);\n\n const objectHooksMap: Record = {\n [EObjectType.Rectangle]: rectangleHooks,\n [EObjectType.Polygon]: polygenHooks,\n [EObjectType.Skeleton]: skeletonHooks,\n [EObjectType.Mask]: maskHooks,\n [EObjectType.Matting]: mattingHooks,\n [EObjectType.Point]: pointHooks,\n [EObjectType.Polyline]: polylineHooks,\n [EObjectType.Custom]: rectangleHooks, // todo\n [EObjectType.Classification]: rectangleHooks, // todo\n };\n\n return {\n objectHooksMap,\n };\n};\n\nexport const getPromptBoolean = (event: MouseEvent): boolean => {\n // Right Mouse Click / Lift Mouse Click + (Alt/Option) -> false\n if (event.button === 2 || (event.button === 0 && event.altKey)) return false;\n return true;\n};\n\nexport const renderActiveRect = (\n canvas: HTMLCanvasElement,\n rect: IElement,\n) => {\n const handleCenters: IPoint[] = mapRectToAnchors(rect).map(\n (rectAnchor) => rectAnchor.position,\n );\n handleCenters.forEach((center: IPoint) => {\n const handleRect: IRect = getRectWithCenterAndSize(center, {\n width: 10,\n height: 10,\n });\n const handleRectBetweenPixels: IRect = setRectBetweenPixels(handleRect);\n drawRect(\n canvas,\n handleRectBetweenPixels,\n 'rgba(0, 0, 0, 0.8)',\n 3,\n [0],\n '#fff',\n );\n });\n};\n\nexport const editBaseElementWhenMouseDown = ({\n object,\n contentMouse,\n setEditState,\n setDrawData,\n}: {\n object: ICreatingObject;\n contentMouse: CursorState;\n setEditState: Updater;\n setDrawData: Updater;\n}) => {\n const { focusEleIndex, focusEleType, focusPolygonInfo } = judgeFocusOnElement(\n contentMouse,\n object,\n );\n if (focusEleType === EElementType.None) return false;\n\n const { rect, keypoints, polygon } = object;\n const mouse = {\n x: contentMouse.elementX,\n y: contentMouse.elementY,\n };\n setEditState((s) => {\n switch (focusEleType) {\n case EElementType.Rect: {\n if (rect) {\n const anchorUnderMouse = getAnchorUnderMouseByRect(rect, mouse);\n if (anchorUnderMouse) {\n // resize\n s.startRectResizeAnchor = {\n type: anchorUnderMouse.type,\n position: getAnchorFixRectPoint(rect, anchorUnderMouse.type),\n };\n } else {\n // move\n s.startElementMovePoint = {\n topLeftPoint: {\n x: rect.x,\n y: rect.y,\n },\n mousePoint: mouse,\n };\n }\n }\n break;\n }\n case EElementType.Circle: {\n // move circle\n if (keypoints) {\n const point = keypoints.points[focusEleIndex];\n s.startElementMovePoint = {\n topLeftPoint: {\n x: point.x,\n y: point.y,\n },\n mousePoint: mouse,\n };\n }\n break;\n }\n case EElementType.Polygon: {\n const { lineIndex, index } = focusPolygonInfo;\n if (polygon) {\n if (lineIndex > -1) {\n // add point\n const line = getLinesFromPolygon(polygon.group[index])[lineIndex];\n if (line) {\n const midPoint = getClosestPointOnLineSegment(\n mouse,\n line.start,\n line.end,\n );\n setDrawData((s) => {\n const activeObject = s.objectList[s.activeObjectIndex];\n if (activeObject.polygon) {\n activeObject.polygon.group[index].splice(\n lineIndex + 1,\n 0,\n midPoint,\n );\n }\n s.creatingObject = { ...activeObject };\n });\n s.focusPolygonInfo.pointIndex = lineIndex + 1;\n s.startElementMovePoint = {\n topLeftPoint: {\n x: 0,\n y: 0,\n },\n mousePoint: midPoint,\n initPoint: midPoint,\n };\n }\n } else {\n s.startElementMovePoint = {\n topLeftPoint: {\n x: 0,\n y: 0,\n },\n mousePoint: mouse,\n initPoint: mouse,\n };\n }\n }\n break;\n }\n }\n });\n return true;\n};\n\nexport const updateEditingRectWhenMouseMove = ({\n object,\n editState,\n contentMouse,\n drawData,\n setDrawData,\n updateMouseCursor,\n}: {\n object: ICreatingObject;\n editState: EditState;\n contentMouse: CursorState;\n drawData: DrawData;\n setDrawData: Updater;\n updateMouseCursor: (value: string, position?: Direction) => void;\n}) => {\n const {\n focusObjectIndex,\n focusEleIndex,\n focusEleType,\n startRectResizeAnchor,\n } = editState;\n // update mouse cursor\n if (\n focusObjectIndex === drawData.activeObjectIndex &&\n focusEleType === EElementType.Rect &&\n object.rect\n ) {\n const anchorUnderMouse = getAnchorUnderMouseByRect(object.rect, {\n x: contentMouse.elementX,\n y: contentMouse.elementY,\n });\n if (anchorUnderMouse) {\n updateMouseCursor('resize', anchorUnderMouse.type);\n } else {\n updateMouseCursor('move');\n }\n }\n if (focusEleType === EElementType.Rect && focusEleIndex === 0) {\n // resize rectangle\n if (startRectResizeAnchor) {\n setDrawData((s) => {\n if (\n s.activeObjectIndex > -1 &&\n editState.startRectResizeAnchor &&\n s.creatingObject &&\n s.creatingObject.rect\n ) {\n const newRect = resizeRect(\n s.creatingObject.rect,\n editState.startRectResizeAnchor,\n contentMouse,\n );\n s.creatingObject.rect = { ...s.creatingObject.rect, ...newRect };\n }\n });\n return true;\n }\n // move rectangle\n if (editState.startElementMovePoint) {\n setDrawData((s) => {\n if (\n s.activeObjectIndex > -1 &&\n editState.startElementMovePoint &&\n s.creatingObject &&\n s.creatingObject.rect\n ) {\n const newRect = moveRect(\n s.creatingObject.rect,\n editState.startElementMovePoint,\n contentMouse,\n );\n s.creatingObject.rect = { ...s.creatingObject.rect, ...newRect };\n }\n });\n return true;\n }\n }\n return false;\n};\n","import { cloneDeep } from 'lodash';\n\nimport { EnumModelType, EObjectType, ESubToolItem } from '../constants';\nimport {\n ANNO_FILL_COLOR,\n ANNO_MASK_ALPHA,\n ANNO_STROKE_ALPHA,\n ANNO_STROKE_COLOR,\n PROMPT_FILL_COLOR,\n PROMPT_STROKE_COLOR,\n} from '../constants/render';\nimport {\n EPromptType,\n ICreatingMaskStep,\n ICreatingObject,\n PromptItem,\n} from '../type';\nimport { hexToRgbArray, hexToRgba } from '../utils/color';\nimport {\n getRectFromPoints,\n isInCanvas,\n isPointOnPoint,\n translatePointCoord,\n translatePointZoom,\n translatePolygonCoord,\n translateRectCoord,\n} from '../utils/compute';\nimport {\n clearCanvas,\n drawBooleanBrush,\n drawBooleanPolygon,\n drawCircleWithFill,\n drawImage,\n drawLine,\n drawPath,\n drawQuadraticPath,\n drawRect,\n shadeEverythingButRect,\n} from '../utils/draw';\n\nimport { ToolInstanceHook, ToolHooksFunc, getPromptBoolean } from './base';\n\nexport const encodeRleString = (rleArr: number[]): string => {\n const m = rleArr.length;\n let p = 0;\n let x = 0;\n let more = true;\n const s = Array(m * 6);\n\n for (let i = 0; i < m; i++) {\n x = rleArr[i];\n if (i > 2) {\n x -= rleArr[i - 2];\n }\n more = true;\n\n while (more) {\n let c = x & 0x1f;\n x >>= 5;\n more = !!((x !== -1 && c & 0x10) || (x !== 0 && !(c & 0x10)));\n if (more) {\n c |= 0x20;\n }\n c += 48;\n s[p] = String.fromCharCode(c);\n p += 1;\n }\n }\n return s.join('');\n};\n\nexport const decodeRleString = (s: string): number[] => {\n let p = 0;\n const cnts = [];\n\n while (p < s.length && s[p]) {\n let x = 0;\n let k = 0;\n let more = 1;\n\n while (more) {\n const c = s.charCodeAt(p) - 48;\n x |= (c & 0x1f) << (5 * k);\n more = c & 0x20;\n p += 1;\n k += 1;\n\n if (!more && c & 0x10) {\n x |= -1 << (5 * k);\n }\n }\n\n if (cnts.length > 2) {\n x += cnts[cnts.length - 2];\n }\n cnts.push(x);\n }\n return cnts;\n};\n\n/**\n * only [0,1] array with rle decode\n * example:\n * [2,3,4,1,....] to [0,0,1,1,1,0,0,0,0,1....]\n */\nexport const decodeRleArray = (rle: number[], length: number) => {\n let mask = new Array(length);\n let pixel = 0;\n let bit = 0;\n\n for (let i = 0; i < rle.length; i++) {\n const count = rle[i];\n for (let j = 0; j < count; j++) {\n mask[pixel] = bit;\n pixel++;\n }\n bit = 1 - bit;\n }\n return mask;\n};\n\n/**\n * only [0,1] array with rle encode\n * example:\n * [0,0,1,1,1,0,0,0,0,1....] to [2,3,4,1,....]\n */\nexport const encodeRleArray = (mask: number[]) => {\n const rle: number[] = [];\n let count = 0;\n let prevBit = mask[0];\n\n for (let i = 0; i < mask.length; i++) {\n const bit = mask[i];\n if (bit === prevBit) {\n count++;\n } else {\n rle.push(count);\n count = 1;\n prevBit = bit;\n }\n }\n rle.push(count);\n\n return rle;\n};\n\nconst decodeRle = (rleStr: string, length: number) => {\n return decodeRleArray(decodeRleString(rleStr), length);\n};\n\nconst encodeRle = (mask: number[]) => {\n return encodeRleString(encodeRleArray(mask));\n};\n\nexport const renderMaskSteps = (\n maskCanvas: HTMLCanvasElement,\n imagePos: IPoint,\n clientSize: ISize,\n naturalSize: ISize,\n strokeColor: string,\n tempMaskSteps?: ICreatingMaskStep[],\n) => {\n const ctx = maskCanvas.getContext('2d');\n if (!ctx) return null;\n\n // prevent the mask from exceeding the image boundaries.\n ctx.save();\n ctx.beginPath();\n ctx.rect(imagePos.x, imagePos.y, clientSize.width, clientSize.height);\n ctx.clip();\n\n // draw temp mask according to step queue\n if (tempMaskSteps && tempMaskSteps?.length > 0) {\n tempMaskSteps.forEach((step) => {\n const canvasCoordPoints = translatePolygonCoord(step.points, {\n x: -imagePos.x,\n y: -imagePos.y,\n });\n\n if (\n step.tool === ESubToolItem.PenAdd ||\n step.tool === ESubToolItem.PenErase\n ) {\n drawBooleanPolygon(\n maskCanvas!,\n canvasCoordPoints,\n step.positive,\n hexToRgba(strokeColor, ANNO_MASK_ALPHA.CREATING),\n 'transparent',\n );\n }\n\n if (\n step.tool === ESubToolItem.BrushAdd ||\n step.tool === ESubToolItem.BrushErase\n ) {\n drawBooleanBrush(\n maskCanvas!,\n canvasCoordPoints,\n step.positive,\n strokeColor,\n ANNO_MASK_ALPHA.CREATING,\n (step.radius * clientSize.width) / naturalSize.width,\n );\n }\n });\n }\n\n ctx.restore();\n};\n\nexport const renderMask = (\n maskCanvas: HTMLCanvasElement,\n creatingObject: ICreatingObject,\n imagePos: IPoint,\n strokeColor: string,\n mousePoint: IPoint,\n clientSize: ISize,\n naturalSize: ISize,\n) => {\n if (!maskCanvas) return;\n\n const { maskStep, tempMaskSteps, maskCanvasElement } = creatingObject;\n const ctx = maskCanvas.getContext('2d');\n if (!ctx) return null;\n\n // draw mask image\n if (maskCanvasElement) {\n ctx.globalAlpha = ANNO_MASK_ALPHA.CREATING;\n drawImage(maskCanvas, maskCanvasElement, {\n x: imagePos.x,\n y: imagePos.y,\n width: clientSize.width,\n height: clientSize.height,\n });\n ctx.globalAlpha = 1;\n }\n\n // draw temp mask according to step queue\n renderMaskSteps(\n maskCanvas,\n imagePos,\n clientSize,\n naturalSize,\n strokeColor,\n tempMaskSteps,\n );\n\n // draw currently step when mouse move\n if (maskStep && maskStep.points.length > 0) {\n const color =\n maskStep.tool === ESubToolItem.PenAdd ||\n maskStep.tool === ESubToolItem.BrushAdd\n ? ANNO_FILL_COLOR.CREATING_POSITIVE\n : ANNO_FILL_COLOR.CREATING_NEGATIVE;\n const canvasCoordPath = translatePolygonCoord(maskStep.points, {\n x: -imagePos.x,\n y: -imagePos.y,\n });\n\n if (\n maskStep.tool === ESubToolItem.PenAdd ||\n maskStep.tool === ESubToolItem.PenErase\n ) {\n // draw start point\n drawCircleWithFill(\n maskCanvas!,\n canvasCoordPath[0],\n 6,\n hexToRgba(color, ANNO_STROKE_ALPHA.CREATING),\n 3,\n ANNO_STROKE_COLOR.CREATING,\n );\n\n if (canvasCoordPath.length > 0) {\n // draw path\n drawPath(\n maskCanvas!,\n canvasCoordPath,\n hexToRgba(color, ANNO_STROKE_ALPHA.CREATING),\n 2.5,\n [0],\n );\n\n // draw dash line for mouse\n drawLine(\n maskCanvas!,\n canvasCoordPath[canvasCoordPath.length - 1],\n mousePoint,\n hexToRgba(color, ANNO_STROKE_ALPHA.CREATING_LINE),\n 2.5,\n [5],\n );\n }\n }\n\n if (\n maskStep.tool === ESubToolItem.BrushAdd ||\n maskStep.tool === ESubToolItem.BrushErase ||\n maskStep.tool === ESubToolItem.AutoSegmentByStroke\n ) {\n if (canvasCoordPath.length > 1) {\n drawQuadraticPath(\n maskCanvas!,\n canvasCoordPath,\n hexToRgba(color, ANNO_MASK_ALPHA.CREATING),\n (maskStep.radius * clientSize.width) / naturalSize.width,\n );\n }\n }\n }\n};\n\nexport const changeMaskCanvasColor = (\n maskCanvas: HTMLCanvasElement,\n color: string,\n) => {\n const imageCtx = maskCanvas.getContext('2d', { willReadFrequently: true });\n\n if (!imageCtx) {\n return null;\n }\n const nImageData = imageCtx.getImageData(\n 0,\n 0,\n maskCanvas.width,\n maskCanvas.height,\n );\n\n // Change color by pixel\n const rgb = hexToRgbArray(color);\n for (let i = nImageData.data.length / 4; i--; ) {\n if (nImageData.data[i * 4 + 3] > 0) {\n nImageData.data[i * 4] = rgb[0];\n nImageData.data[i * 4 + 1] = rgb[1];\n nImageData.data[i * 4 + 2] = rgb[2];\n nImageData.data[i * 4 + 3] = 255;\n }\n }\n clearCanvas(maskCanvas);\n imageCtx.putImageData(nImageData, 0, 0);\n\n return maskCanvas;\n};\n\nexport const objectToRle = (\n clientSize: ISize,\n naturalSize: ISize,\n maskSteps?: ICreatingMaskStep[],\n maskCanvasElement?: HTMLCanvasElement,\n) => {\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d', { willReadFrequently: true });\n if (!ctx || !maskSteps) return null;\n\n canvas.width = naturalSize.width;\n canvas.height = naturalSize.height;\n\n // translate size\n const newSteps = maskSteps.map((step) => {\n return {\n ...step,\n points: step.points.map((point) =>\n translatePointZoom(point, clientSize, naturalSize),\n ),\n };\n });\n\n // render edit maskImage\n if (maskCanvasElement) {\n drawImage(canvas, maskCanvasElement, {\n x: 0,\n y: 0,\n width: naturalSize.width,\n height: naturalSize.height,\n });\n }\n\n // render new mask object\n renderMaskSteps(\n canvas,\n { x: 0, y: 0 },\n naturalSize, // target clientsize\n naturalSize,\n '#fff',\n newSteps,\n );\n\n // getImageData\n const maskData = ctx.getImageData(\n 0,\n 0,\n naturalSize.width,\n naturalSize.height,\n );\n\n // Grayscale pixels respecting the opacity\n let maskPixelCount = 0;\n // custom encode rle\n const arr = new Array(maskData.data.length / 4).fill(0);\n for (let i = maskData.data.length / 4; i--; ) {\n let maskAplha = 0;\n if (maskData.data[i * 4 + 3] > 0) {\n maskPixelCount++;\n maskAplha = 1;\n arr[i] = 1;\n }\n maskData.data[i * 4] =\n maskData.data[i * 4 + 1] =\n maskData.data[i * 4 + 2] =\n maskData.data[i * 4 + 3] =\n maskAplha;\n }\n\n return maskPixelCount > 0 ? encodeRle(arr) : '';\n};\n\nexport const rleToCanvas = (rle: string, size: ISize, color: string) => {\n const { width, height } = size;\n\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n\n canvas.width = width;\n canvas.height = height;\n\n if (!ctx) return null;\n\n const newdata = ctx.createImageData(width, height);\n const rgb = hexToRgbArray(color);\n\n // custom rle decode\n const maskArr = decodeRle(rle, Math.ceil(width) * Math.ceil(height));\n for (let i = newdata.data.length / 4; i--; ) {\n if (maskArr[i] > 0) {\n newdata.data[i * 4] = rgb[0];\n newdata.data[i * 4 + 1] = rgb[1];\n newdata.data[i * 4 + 2] = rgb[2];\n newdata.data[i * 4 + 3] = 255;\n }\n }\n\n ctx.putImageData(newdata, 0, 0);\n\n return canvas;\n};\n\nconst useMask: ToolInstanceHook = ({\n editState,\n clientSize,\n naturalSize,\n contentMouse,\n imagePos,\n containerMouse,\n canvasRef,\n activeCanvasRef,\n drawData,\n setDrawData,\n setDrawDataWithHistory,\n updateHistory,\n onAiAnnotation,\n updateMouseCursor,\n}) => {\n const renderObject: ToolHooksFunc.RenderObject = ({ object, styles }) => {\n const { maskCanvasElement } = object;\n const ctx = canvasRef.current!.getContext('2d') as CanvasRenderingContext2D;\n const tempAlpha = ctx.globalAlpha;\n ctx.globalAlpha = ctx.globalAlpha * styles.maskAlpha;\n drawImage(canvasRef.current!, maskCanvasElement, {\n x: imagePos.current.x,\n y: imagePos.current.y,\n width: clientSize.width,\n height: clientSize.height,\n });\n // restore\n ctx.globalAlpha = tempAlpha;\n };\n\n const renderCreatingObject: ToolHooksFunc.RenderCreatingObject = ({\n object,\n color,\n }) => {\n if (editState.hideCreatingObject) {\n return;\n }\n renderMask(\n activeCanvasRef.current!,\n object,\n imagePos.current,\n color,\n {\n x: containerMouse.elementX,\n y: containerMouse.elementY,\n },\n clientSize,\n naturalSize,\n );\n };\n\n const renderEditingObject: ToolHooksFunc.RenderEditingObject = ({\n object,\n color,\n }) => {\n if (editState.hideCreatingObject) {\n return;\n }\n renderMask(\n activeCanvasRef.current!,\n object,\n imagePos.current,\n color,\n {\n x: containerMouse.elementX,\n y: containerMouse.elementY,\n },\n clientSize,\n naturalSize,\n );\n };\n\n const renderPrompt: ToolHooksFunc.RenderPrompt = ({ prompt }) => {\n const model = drawData.selectedModel[drawData.selectedTool];\n\n // draw creating prompt\n if (prompt.creatingPrompt) {\n if (model === EnumModelType.IVP) {\n const strokeColor = prompt.creatingPrompt.isPositive\n ? PROMPT_STROKE_COLOR.POSITIVE\n : PROMPT_STROKE_COLOR.NEGATIVE;\n const fillColor = prompt.creatingPrompt.isPositive\n ? PROMPT_FILL_COLOR.POSITIVE\n : PROMPT_FILL_COLOR.NEGATIVE;\n\n switch (prompt.creatingPrompt.type) {\n case EPromptType.Rect: {\n const { startPoint } = prompt.creatingPrompt;\n const rect = getRectFromPoints(\n startPoint!,\n {\n x: contentMouse.elementX,\n y: contentMouse.elementY,\n },\n {\n width: contentMouse.elementW,\n height: contentMouse.elementH,\n },\n );\n const canvasCoordRect = translateRectCoord(rect, {\n x: -imagePos.current.x,\n y: -imagePos.current.y,\n });\n drawRect(\n activeCanvasRef.current,\n canvasCoordRect,\n strokeColor,\n 2,\n [0],\n fillColor,\n );\n break;\n }\n case EPromptType.Point: {\n if (!prompt.creatingPrompt.point) break;\n const canvasCoordPoint = translatePointCoord(\n prompt.creatingPrompt.point,\n {\n x: -imagePos.current.x,\n y: -imagePos.current.y,\n },\n );\n drawCircleWithFill(\n activeCanvasRef.current!,\n canvasCoordPoint,\n 4,\n prompt.creatingPrompt.isPositive\n ? PROMPT_FILL_COLOR.POSITIVE\n : PROMPT_FILL_COLOR.NEGATIVE,\n 2,\n '#fff',\n );\n }\n default:\n break;\n }\n } else {\n const strokeColor = ANNO_STROKE_COLOR.CREATING;\n const fillColor = ANNO_FILL_COLOR.CREATING;\n switch (prompt.creatingPrompt.type) {\n case EPromptType.Rect: {\n const { startPoint } = prompt.creatingPrompt;\n const rect = getRectFromPoints(\n startPoint!,\n {\n x: contentMouse.elementX,\n y: contentMouse.elementY,\n },\n {\n width: contentMouse.elementW,\n height: contentMouse.elementH,\n },\n );\n const canvasCoordRect = translateRectCoord(rect, {\n x: -imagePos.current.x,\n y: -imagePos.current.y,\n });\n drawRect(\n activeCanvasRef.current,\n canvasCoordRect,\n strokeColor,\n 2,\n [0],\n fillColor,\n );\n break;\n }\n case EPromptType.Point: {\n if (!prompt.creatingPrompt.point) break;\n const canvasCoordPoint = translatePointCoord(\n prompt.creatingPrompt.point,\n {\n x: -imagePos.current.x,\n y: -imagePos.current.y,\n },\n );\n drawCircleWithFill(\n activeCanvasRef.current!,\n canvasCoordPoint,\n 4,\n prompt.creatingPrompt.isPositive\n ? PROMPT_FILL_COLOR.POSITIVE\n : PROMPT_FILL_COLOR.NEGATIVE,\n 2,\n '#fff',\n );\n }\n case EPromptType.EdgeStitch:\n case EPromptType.Stroke: {\n if (!prompt.creatingPrompt.stroke || !prompt.creatingPrompt.radius)\n break;\n const canvasCoordStroke = translatePolygonCoord(\n prompt.creatingPrompt.stroke,\n {\n x: -imagePos.current.x,\n y: -imagePos.current.y,\n },\n );\n const radius =\n (prompt.creatingPrompt.radius * clientSize.width) /\n naturalSize.width;\n const color =\n prompt.creatingPrompt.type === EPromptType.EdgeStitch\n ? hexToRgba(strokeColor, ANNO_MASK_ALPHA.CREATING)\n : prompt.creatingPrompt.isPositive\n ? PROMPT_FILL_COLOR.POSITIVE\n : PROMPT_FILL_COLOR.NEGATIVE;\n drawQuadraticPath(\n activeCanvasRef.current!,\n canvasCoordStroke,\n color,\n radius,\n );\n break;\n }\n default:\n break;\n }\n\n // draw active area while loading ai annotations\n if (editState.isRequiring && prompt.activeRectWhileLoading) {\n const canvasCoordRect = translateRectCoord(\n prompt.activeRectWhileLoading,\n {\n x: -imagePos.current.x,\n y: -imagePos.current.y,\n },\n );\n shadeEverythingButRect(activeCanvasRef.current!, canvasCoordRect);\n }\n }\n }\n\n // draw existing prompts\n if (prompt.promptsQueue) {\n if (model === EnumModelType.IVP) {\n prompt.promptsQueue.forEach((item) => {\n switch (item.type) {\n case EPromptType.Rect: {\n const canvasCoordRect = translateRectCoord(item.rect!, {\n x: -imagePos.current.x,\n y: -imagePos.current.y,\n });\n drawRect(\n activeCanvasRef.current,\n canvasCoordRect,\n item.isPositive\n ? PROMPT_STROKE_COLOR.POSITIVE\n : PROMPT_STROKE_COLOR.NEGATIVE,\n 2,\n [0],\n item.isPositive\n ? PROMPT_FILL_COLOR.POSITIVE\n : PROMPT_FILL_COLOR.NEGATIVE,\n );\n break;\n }\n case EPromptType.Point: {\n const canvasCoordPoint = translatePointCoord(item.point!, {\n x: -imagePos.current.x,\n y: -imagePos.current.y,\n });\n drawCircleWithFill(\n activeCanvasRef.current!,\n canvasCoordPoint,\n 4,\n item.isPositive\n ? PROMPT_FILL_COLOR.POSITIVE\n : PROMPT_FILL_COLOR.NEGATIVE,\n 2,\n '#fff',\n );\n break;\n }\n }\n });\n } else {\n prompt.promptsQueue.forEach((item) => {\n if (item.type === EPromptType.Point) {\n const canvasCoordPoint = translatePointCoord(item.point!, {\n x: -imagePos.current.x,\n y: -imagePos.current.y,\n });\n drawCircleWithFill(\n activeCanvasRef.current!,\n canvasCoordPoint,\n 4,\n item.isPositive\n ? PROMPT_FILL_COLOR.POSITIVE\n : PROMPT_FILL_COLOR.NEGATIVE,\n 2,\n '#fff',\n );\n }\n });\n }\n }\n };\n\n const updateMaskWhenMouseDown = (event: MouseEvent) => {\n const mouse = {\n x: contentMouse.elementX,\n y: contentMouse.elementY,\n };\n setDrawData((s) => {\n switch (s.selectedSubTool) {\n case ESubToolItem.PenAdd:\n case ESubToolItem.PenErase:\n case ESubToolItem.BrushAdd:\n case ESubToolItem.BrushErase:\n if (s.creatingObject) {\n if (s.creatingObject.maskStep) {\n // add points for currently path\n s.creatingObject.maskStep.points.push(mouse);\n // judege to close path\n if (\n [ESubToolItem.PenAdd, ESubToolItem.PenErase].includes(\n s.selectedSubTool,\n ) &&\n isPointOnPoint(\n s.creatingObject.maskStep.points[0],\n contentMouse,\n )\n ) {\n s.creatingObject.tempMaskSteps?.push(s.creatingObject.maskStep);\n s.creatingObject.maskStep = undefined;\n }\n } else {\n // init new step for creating points\n s.creatingObject.maskStep = {\n tool: s.selectedSubTool,\n positive:\n s.selectedSubTool === ESubToolItem.PenAdd ||\n s.selectedSubTool === ESubToolItem.BrushAdd,\n points: [mouse],\n radius: s.brushSize,\n };\n }\n if (\n ![ESubToolItem.BrushAdd, ESubToolItem.BrushErase].includes(\n s.selectedSubTool,\n )\n ) {\n // Brush tool need not push history when mousedown\n updateHistory(cloneDeep(s));\n }\n }\n s.prompt.sessionId = undefined;\n break;\n case ESubToolItem.AutoSegmentByBox:\n s.prompt.creatingPrompt = {\n type: EPromptType.Rect,\n startPoint: mouse,\n isPositive: true,\n };\n break;\n case ESubToolItem.AutoSegmentByClick:\n s.prompt.creatingPrompt = {\n type: EPromptType.Point,\n startPoint: mouse,\n point: mouse,\n isPositive: getPromptBoolean(event),\n };\n break;\n case ESubToolItem.AutoSegmentByStroke:\n s.prompt.creatingPrompt = {\n type: EPromptType.Stroke,\n startPoint: mouse,\n stroke: [mouse],\n radius: s.brushSize,\n isPositive: getPromptBoolean(event),\n };\n break;\n case ESubToolItem.AutoEdgeStitching:\n s.prompt.creatingPrompt = {\n type: EPromptType.EdgeStitch,\n startPoint: mouse,\n stroke: [mouse],\n radius: s.brushSize,\n isPositive: true,\n };\n default:\n break;\n }\n });\n };\n\n const startEditingWhenMouseDown: ToolHooksFunc.StartEditingWhenMouseDown = ({\n event,\n }) => {\n updateMaskWhenMouseDown(event);\n return true;\n };\n\n const startCreatingWhenMouseDown: ToolHooksFunc.StartCreatingWhenMouseDown =\n ({ event, object, point, basic }) => {\n if (!object) {\n setDrawData((s) => {\n s.activeObjectIndex = -1;\n switch (s.selectedSubTool) {\n case ESubToolItem.PenAdd:\n case ESubToolItem.PenErase:\n case ESubToolItem.BrushAdd:\n case ESubToolItem.BrushErase:\n s.creatingObject = {\n ...basic,\n type: EObjectType.Mask,\n startPoint: point,\n maskStep: {\n tool: s.selectedSubTool,\n positive:\n s.selectedSubTool === ESubToolItem.PenAdd ||\n s.selectedSubTool === ESubToolItem.BrushAdd,\n points: [point],\n radius: s.brushSize,\n },\n tempMaskSteps: [],\n };\n s.prompt.sessionId = undefined;\n break;\n case ESubToolItem.AutoSegmentByBox:\n s.prompt.creatingPrompt = {\n type: EPromptType.Rect,\n startPoint: point,\n isPositive: true,\n };\n break;\n case ESubToolItem.AutoSegmentByClick:\n s.prompt.creatingPrompt = {\n type: EPromptType.Point,\n startPoint: point,\n point: point,\n isPositive: getPromptBoolean(event),\n };\n break;\n case ESubToolItem.AutoSegmentByStroke:\n s.prompt.creatingPrompt = {\n type: EPromptType.Stroke,\n startPoint: point,\n stroke: [point],\n radius: s.brushSize,\n isPositive: getPromptBoolean(event),\n };\n break;\n case ESubToolItem.AutoEdgeStitching:\n s.prompt.creatingPrompt = {\n type: EPromptType.EdgeStitch,\n startPoint: point,\n stroke: [point],\n radius: s.brushSize,\n isPositive: true,\n };\n break;\n case ESubToolItem.PositiveVisualPrompt:\n case ESubToolItem.NegativeVisualPrompt:\n s.prompt.creatingPrompt = {\n type: EPromptType.Rect,\n startPoint: point,\n point,\n isPositive:\n s.selectedSubTool !== ESubToolItem.NegativeVisualPrompt,\n };\n default:\n break;\n }\n });\n } else {\n updateMaskWhenMouseDown(event);\n }\n return true;\n };\n\n const updateMaskWhenMouseMove: ToolHooksFunc.UpdateCreatingWhenMouseMove = ({\n event,\n object,\n }) => {\n if (object || drawData.prompt.creatingPrompt) {\n updateMouseCursor('crosshair');\n const allowRecordMousePath = [\n ESubToolItem.BrushAdd,\n ESubToolItem.BrushErase,\n ESubToolItem.PenAdd,\n ESubToolItem.PenErase,\n ESubToolItem.AutoSegmentByStroke,\n ESubToolItem.AutoEdgeStitching,\n ].includes(drawData.selectedSubTool);\n\n // Left/Right button is pressed while mousemove\n const isMousePress = event.buttons === 1 || event.buttons === 2;\n if (allowRecordMousePath && isMousePress) {\n // checkContainerVisibleArea();\n const mouse = {\n x: contentMouse.elementX,\n y: contentMouse.elementY,\n };\n const isCreatingPrompt = [\n ESubToolItem.AutoSegmentByStroke,\n ESubToolItem.AutoEdgeStitching,\n ].includes(drawData.selectedSubTool);\n setDrawData((s) => {\n if (isCreatingPrompt) {\n s.prompt.creatingPrompt?.stroke?.push(mouse);\n } else {\n s.creatingObject?.maskStep?.points.push(mouse);\n }\n });\n }\n return true;\n }\n return false;\n };\n\n const updateEditingWhenMouseMove: ToolHooksFunc.UpdateEditingWhenMouseMove =\n ({ object, event }) => {\n return updateMaskWhenMouseMove({\n object,\n event,\n });\n };\n\n const updateCreatingWhenMouseMove: ToolHooksFunc.UpdateCreatingWhenMouseMove =\n ({ object, event }) => {\n return updateMaskWhenMouseMove({\n object,\n event,\n });\n };\n\n const finishMaskWhenMouseUp = () => {\n if (!drawData.creatingObject && !drawData.prompt.creatingPrompt) return;\n const mouse = {\n x: contentMouse.elementX,\n y: contentMouse.elementY,\n };\n const model = drawData.selectedModel[drawData.selectedTool];\n switch (drawData.selectedSubTool) {\n case ESubToolItem.BrushAdd:\n case ESubToolItem.BrushErase:\n case ESubToolItem.PenAdd:\n case ESubToolItem.PenErase: {\n setDrawDataWithHistory((s) => {\n if (\n s.creatingObject &&\n s.creatingObject.tempMaskSteps &&\n s.creatingObject.maskStep &&\n s.creatingObject.maskStep.points.length > 1\n ) {\n if (\n [ESubToolItem.BrushAdd, ESubToolItem.BrushErase].includes(\n s.selectedSubTool,\n ) ||\n ([ESubToolItem.PenAdd, ESubToolItem.PenErase].includes(\n s.selectedSubTool,\n ) &&\n isPointOnPoint(\n s.creatingObject.maskStep.points[0],\n contentMouse,\n ))\n ) {\n s.creatingObject.tempMaskSteps?.push(s.creatingObject.maskStep);\n s.creatingObject.maskStep = undefined;\n }\n }\n s.prompt.sessionId = undefined;\n });\n break;\n }\n case ESubToolItem.AutoSegmentByBox: {\n if (!drawData.prompt.creatingPrompt?.startPoint) break;\n if (\n mouse.x === drawData.prompt.creatingPrompt.startPoint?.x ||\n mouse.y === drawData.prompt.creatingPrompt.startPoint?.y\n ) {\n setDrawData((s) => (s.prompt.creatingPrompt = undefined));\n break;\n }\n const rect = getRectFromPoints(\n drawData.prompt.creatingPrompt.startPoint as IPoint,\n mouse,\n {\n width: contentMouse.elementW,\n height: contentMouse.elementH,\n },\n );\n const promptItem: PromptItem = {\n type: EPromptType.Rect,\n isPositive: true,\n rect,\n };\n setDrawDataWithHistory((s) => {\n s.prompt.activeRectWhileLoading = rect;\n });\n const promptsQueue = drawData.prompt.promptsQueue\n ? [...drawData.prompt.promptsQueue, promptItem]\n : [promptItem];\n onAiAnnotation?.({ type: EObjectType.Mask, drawData, promptsQueue });\n break;\n }\n case ESubToolItem.AutoSegmentByClick: {\n if (\n !isInCanvas(contentMouse) ||\n !isInCanvas(containerMouse) ||\n !drawData.prompt.creatingPrompt?.point\n )\n break;\n const promptItem: PromptItem = {\n type: EPromptType.Point,\n isPositive: drawData.prompt.creatingPrompt.isPositive,\n point: drawData.prompt.creatingPrompt.point,\n };\n const promptsQueue = drawData.prompt.promptsQueue\n ? [...drawData.prompt.promptsQueue, promptItem]\n : [promptItem];\n onAiAnnotation?.({ type: EObjectType.Mask, drawData, promptsQueue });\n break;\n }\n case ESubToolItem.AutoSegmentByStroke: {\n if (!drawData.prompt.creatingPrompt?.stroke) break;\n const promptItem: PromptItem = {\n type: EPromptType.Stroke,\n isPositive: drawData.prompt.creatingPrompt.isPositive,\n stroke: drawData.prompt.creatingPrompt.stroke,\n radius: drawData.brushSize,\n };\n const promptsQueue = drawData.prompt.promptsQueue\n ? [...drawData.prompt.promptsQueue, promptItem]\n : [promptItem];\n onAiAnnotation?.({ type: EObjectType.Mask, drawData, promptsQueue });\n break;\n }\n case ESubToolItem.AutoEdgeStitching: {\n if (!drawData.prompt.creatingPrompt?.stroke) break;\n onAiAnnotation?.({ type: EObjectType.Mask, drawData });\n break;\n }\n case ESubToolItem.PositiveVisualPrompt:\n case ESubToolItem.NegativeVisualPrompt: {\n if (\n model !== EnumModelType.IVP ||\n !drawData.prompt.creatingPrompt?.startPoint\n )\n break;\n const { startPoint } = drawData.prompt.creatingPrompt;\n if (mouse.x === startPoint.x || mouse.y === startPoint.y) {\n setDrawData((s) => (s.prompt.creatingPrompt = undefined));\n break;\n } else {\n const rect = getRectFromPoints(startPoint, mouse, {\n width: contentMouse.elementW,\n height: contentMouse.elementH,\n });\n const promptItem: PromptItem = {\n type: EPromptType.Rect,\n isPositive: drawData.prompt.creatingPrompt.isPositive,\n rect,\n };\n const promptsQueue = [\n ...(drawData.prompt.promptsQueue || []),\n promptItem,\n ];\n onAiAnnotation?.({\n type: EObjectType.Mask,\n drawData,\n promptsQueue,\n });\n }\n }\n }\n };\n\n const finishEditingWhenMouseUp: ToolHooksFunc.FinishEditingWhenMouseUp =\n () => {\n finishMaskWhenMouseUp();\n return true;\n };\n\n const finishCreatingWhenMouseUp: ToolHooksFunc.FinishCreatingWhenMouseUp =\n () => {\n finishMaskWhenMouseUp();\n return true;\n };\n\n return {\n renderObject,\n renderCreatingObject,\n renderEditingObject,\n renderPrompt,\n startEditingWhenMouseDown,\n startCreatingWhenMouseDown,\n updateEditingWhenMouseMove,\n updateCreatingWhenMouseMove,\n finishEditingWhenMouseUp,\n finishCreatingWhenMouseUp,\n };\n};\n\nexport default useMask;\n","import {\n EBasicToolItem,\n EElementType,\n ELabelType,\n EnumModelType,\n EObjectType,\n ESubToolItem,\n EToolType,\n} from './constants';\nimport { RectAnchor } from './utils/compute';\n\nexport enum EActionType {\n Radio = 'radio',\n Checkbox = 'checkbox',\n Text = 'text',\n}\n\nexport interface IAttribute {\n field: string;\n type: EActionType;\n required: boolean;\n options?: { label: string }[];\n}\n\nexport type IAttributeValue = string | number | number[] | null;\n\nexport interface IMask {\n counts: string; // mask rle string\n size: [number, number]; // [height, width]\n}\n\nexport interface Category {\n id: string;\n name: string;\n labelName?: string;\n labelType?: ELabelType;\n renderColor?: string;\n description?: string;\n attributes?: IAttribute[];\n valueType?: EActionType;\n valueOptions?: { label: string }[];\n}\n\nexport interface BaseObject {\n id?: string;\n /** catagory */\n categoryId?: string;\n categoryName?: string;\n boundingBox?: IBoundingBox;\n /** y1,x1,y2,x2 -> x1,y1 */\n segmentation?: string;\n /** matting url */\n alpha?: string;\n /**\n * keypoints: [x, y, visible, conf, ...]\n * (old mode)keypoints:[x, y, z, w, visible, conf, ...]. (Needs to be split manually.)\n * visible 0: not labeled, v=1: labeled but not visible, and v=2: labeled and visible.\n */\n points?: number[];\n /** [r, g, b, ...] */\n pointColors?: string[];\n pointNames?: string[];\n /** Keypoint connection. [start point index, end point index, ...] */\n lines?: number[];\n /** mask */\n mask?: IMask;\n /** point */\n point?: number[];\n /** polyline */\n polyline?: [number[], number[]]; // [[x1, x2, x3, ...], [y1, y2, y3, ...]]\n lineColor?: string;\n lineType?: string;\n}\n\nexport interface DrawObject extends BaseObject {\n conf?: number;\n // custom styles\n customStyles?: Record;\n}\n\nexport interface AnnoItem extends Record {\n id: string;\n url: string;\n}\n\nexport enum EObjectStatus {\n Unchecked,\n Checked,\n Commited,\n}\n\nexport interface VideoFramesData {\n id: string;\n list: AnnoItem[];\n objects: IAnnotationObject[][]; // objects[objectIndex][frameIndex]\n activeIndex: number;\n}\n\nexport interface IAnnotationObject {\n type: EObjectType;\n labelId: string;\n hidden: boolean;\n color: string;\n customStyles?: Record;\n attributes?: IAttributeValue[];\n status: EObjectStatus;\n\n // value\n rect?: IElement;\n polygon?: IElement;\n keypoints?: {\n points: IElement[];\n lines: number[];\n };\n point?: IElement;\n polyline?: IElement;\n maskRle?: string;\n maskCanvasElement?: any;\n alpha?: string;\n alphaImageElement?: any;\n conf?: number;\n\n // for video frame attribute\n frameEmpty?: boolean;\n}\n\nexport interface ICreatingMaskStep {\n tool: ESubToolItem;\n /** Add / Erase an area for Mask */\n positive: boolean;\n /** The points stroked by Pen Tool or Brush Tool */\n points: IPoint[];\n radius: number;\n}\n\nexport interface ICreatingObject extends IAnnotationObject {\n /** To determine Which polygon corresponds to the creation of a new polygon */\n currIndex?: number;\n /** Starting stretching point when creating a new Rect/Skeleton object */\n startPoint?: IPoint;\n /** Currently drawing path creating by Pen Tool or Brush Tool */\n maskStep?: ICreatingMaskStep;\n /** Steps for creating mask object */\n tempMaskSteps?: ICreatingMaskStep[];\n}\n\nexport enum EPromptType {\n Rect = 'rect',\n Point = 'point',\n Stroke = 'stroke',\n EdgeStitch = 'edgeStitch',\n Modify = 'modify',\n Text = 'text',\n}\n\nexport interface PromptItem {\n type: EPromptType;\n isPositive: boolean;\n /** Rect */\n startPoint?: IPoint;\n rect?: IRect;\n /** Point */\n point?: IPoint;\n /** Stroke / EdgeStitching */\n stroke?: IPoint[];\n radius?: number;\n /** Modify */\n polygons?: number[][];\n /** Text */\n text?: string;\n}\n\nexport interface ReqPromptItem {\n type: string;\n isPositive?: boolean;\n point?: number[];\n rect?: number[];\n stroke?: number[];\n radius?: number;\n polygons?: number[][];\n text?: string;\n}\n\nexport interface IPrompt {\n sessionId?: string;\n creatingPrompt?: PromptItem;\n promptsQueue?: PromptItem[];\n activeRectWhileLoading?: IRect;\n}\n\nexport interface IEditingAttribute {\n index: number; // Object Index || -1\n labelId: string;\n attributes: IAttribute[];\n values?: IAttributeValue[];\n}\n\n/**\n * Need to be saved in history\n */\nexport interface DrawData {\n initialized: boolean;\n\n /** Selected tool */\n selectedTool: EToolType;\n selectedSubTool: ESubToolItem;\n AIAnnotation: boolean;\n selectedModel: Record;\n brushSize: number;\n pointResolution: number;\n\n /** drawed */\n objectList: IAnnotationObject[];\n classifications: {\n labelId: string;\n labelValue: IAttributeValue;\n attributes?: IAttributeValue[];\n }[];\n\n /** drawing */\n activeClassName: string;\n activeObjectIndex: number;\n creatingObject?: ICreatingObject; // - editing / creating\n isBatchEditing: boolean; // active while handle batch predictions by model\n editingAttribute?: IEditingAttribute;\n limitConf: number;\n\n /** prompt actions */\n prompt: IPrompt;\n}\n\nexport interface IImageDisplayOptions {\n brightness: number;\n contrast: number;\n saturate: number;\n}\n\nexport interface IAnnotsDisplayOptions {\n colorByCategory: boolean; // color by category by instance\n}\n\nexport interface EditState {\n isLoading: boolean;\n isLoadingError: boolean;\n isRequiring: boolean;\n allowMove: boolean;\n latestLabelId: string;\n startRectResizeAnchor?: RectAnchor;\n startElementMovePoint?: {\n topLeftPoint: IPoint;\n mousePoint: IPoint;\n initPoint?: IPoint;\n };\n focusObjectIndex: number;\n foucsObjectAllIndexs: number[];\n focusEleType: EElementType;\n focusEleIndex: number;\n focusPolygonInfo: {\n index: number;\n pointIndex: number;\n lineIndex: number;\n };\n isCtrlPressed: boolean;\n hideCreatingObject: boolean;\n imageDisplayOptions: IImageDisplayOptions;\n annotsDisplayOptions: IAnnotsDisplayOptions;\n}\n\nexport const enum EditorMode {\n View,\n Edit,\n Review,\n}\n\nexport const DEFAULT_DRAW_DATA: DrawData = {\n initialized: false,\n\n /** Selected tool */\n selectedTool: EBasicToolItem.Drag,\n selectedSubTool: ESubToolItem.PenAdd,\n selectedModel: {\n [EBasicToolItem.Drag]: undefined,\n [EBasicToolItem.Rectangle]: undefined,\n [EBasicToolItem.Mask]: undefined,\n [EBasicToolItem.Skeleton]: EnumModelType.Pose,\n [EBasicToolItem.Polygon]: EnumModelType.SegmentByPolygon,\n },\n AIAnnotation: false,\n\n /** drawed */\n objectList: [],\n classifications: [],\n activeObjectIndex: -1,\n activeClassName: '',\n creatingObject: undefined,\n editingAttribute: undefined,\n brushSize: 20,\n pointResolution: 0.5,\n prompt: {},\n isBatchEditing: false,\n limitConf: 0,\n};\n\nexport const DEFAULT_IMG_DISPLAY_OPTIONS: IImageDisplayOptions = {\n brightness: 100,\n contrast: 100,\n saturate: 100,\n};\n\nexport const DEFAULT_ANNOTS_DISPLAY_OPTIONS: IAnnotsDisplayOptions = {\n colorByCategory: true,\n};\n\nexport const DEFAULT_EDIT_STATE: EditState = {\n isLoading: false,\n isLoadingError: false,\n isRequiring: false,\n allowMove: false,\n latestLabelId: '',\n startRectResizeAnchor: undefined,\n startElementMovePoint: undefined,\n focusObjectIndex: -1,\n foucsObjectAllIndexs: [],\n focusEleType: EElementType.Rect,\n focusEleIndex: -1,\n focusPolygonInfo: {\n index: -1,\n pointIndex: -1,\n lineIndex: -1,\n },\n isCtrlPressed: false,\n hideCreatingObject: false,\n imageDisplayOptions: DEFAULT_IMG_DISPLAY_OPTIONS,\n annotsDisplayOptions: DEFAULT_ANNOTS_DISPLAY_OPTIONS,\n};\n\nexport enum LineType {\n Solid = 'solid',\n Dashed = 'dash',\n DoubleSolid = 'double_solid',\n DoubleDashed = 'double_dash',\n LDashedRSolid = 'left_dash-right_solid',\n LSolidRDashed = 'left_solid-right_dash',\n LCurbside = 'left_curbside',\n RCurbside = 'right_curbside',\n Unknown = 'none',\n}\n","/** Convert RGB array to hexadecimal. */\nexport const rgbArrayToHex = (rgb: (number | string)[]) => {\n if (rgb.length !== 3) return 'transparent';\n return `#${rgb[0].toString(16).padStart(2, '0')}${rgb[1]\n .toString(16)\n .padStart(2, '0')}${rgb[2].toString(16).padStart(2, '0')}`.toUpperCase();\n};\n\n/** Convert RGB string to hexadecimal. */\nexport const rgbToHex = (rgb: string) => {\n const arr = /^rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)$/i.exec(rgb);\n if (!arr) return 'transparent';\n return rgbArrayToHex(arr);\n};\n\n/** Convert hexadecimal to RGB array. */\nexport const hexToRgbArray = (hex: string) => {\n const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n const formatHex = hex.replace(shorthandRegex, (m, r, g, b) => {\n return r + r + g + g + b + b;\n });\n const arr = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(formatHex);\n if (!arr) {\n return [0, 0, 0];\n }\n return [parseInt(arr[1], 16), parseInt(arr[2], 16), parseInt(arr[3], 16)];\n};\n\n/** Convert hexadecimal to RGBA string. */\nexport const hexToRgba = (hex: string, opacity = 1) => {\n const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n const formatHex = hex.replace(shorthandRegex, (m, r, g, b) => {\n return r + r + g + g + b + b;\n });\n const arr = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(formatHex);\n const op = opacity < 0 || opacity > 1 ? 1 : opacity;\n if (!arr) {\n return 'transparent';\n }\n return `rgba(${parseInt(arr[1], 16)},${parseInt(arr[2], 16)},${parseInt(\n arr[3],\n 16,\n )},${op})`;\n};\n\n/** Generate a color list based on the number of categories. */\nexport const createColorList = (count: number) => {\n const colors = [\n '#FFFF00',\n '#FF0000',\n '#0000FF',\n '#00FF00',\n '#FF00FF',\n '#00FFFF',\n ];\n const preList = [255, 128, 64, 32, 16, 8, 4, 2, 1];\n for (let cur = colors.length + 1; colors.length < count; cur++) {\n let rgb = [0, 0, 0];\n let flag = 1;\n let finded = true;\n for (let i = 0; flag <= cur; i++) {\n if ((cur & flag) > 0) {\n if (rgb[i % 3] + preList[Math.floor(i / 3)] <= 255) {\n rgb[i % 3] += preList[Math.floor(i / 3)];\n } else {\n finded = false;\n break;\n }\n }\n flag <<= 1;\n }\n if (finded) {\n const hexColor = `#${rgb[0].toString(16).padStart(2, '0')}${rgb[1]\n .toString(16)\n .padStart(2, '0')}${rgb[2]\n .toString(16)\n .padStart(2, '0')}`.toUpperCase();\n if (!colors.includes(hexColor)) {\n colors.push(hexColor);\n }\n }\n }\n return colors;\n};\n\nexport const getCategoryColors = (list: string[]) => {\n if (!list.length) return {};\n\n const sortList = [...list];\n const colors = createColorList(sortList.length);\n const result: Record = {};\n sortList.forEach((item, index) => {\n result[item] = colors[index];\n });\n return result;\n};\n\n/** Convert RGB array to RGBA string. */\nexport const rgbArrayToRgba = (rgb: (number | string)[], alpha: number) => {\n if (rgb.length !== 3) return 'transparent';\n return `rgba(${rgb[0]}, ${rgb[1]}, ${rgb[2]}, ${alpha})`;\n};\n\n/** Convert RGBA string to RGB array. */\nexport const rgbaToRgbArray = (rgba: string): string[] => {\n const rgbaValues = rgba\n .slice(5, -1)\n .split(',')\n .map((value) => value.trim());\n if (rgbaValues.length !== 4 || isNaN(parseFloat(rgbaValues[3]))) {\n return [];\n }\n return rgbaValues.slice(0, 3);\n};\n\n/** Modify the transparency of the RGBA format. */\nexport const changeRgbaOpacity = (rgba: string, opacity: number): string => {\n if (!rgba) return 'rgba(0,0,0,0)';\n const rgbaArray = rgba\n .substring(5, rgba.length - 1)\n .split(',')\n .map((value) => parseInt(value.trim()));\n const newRgbaArray = [...rgbaArray.slice(0, 3), opacity];\n const newRgbaString = `rgba(${newRgbaArray.join(',')})`;\n return newRgbaString;\n};\n\n/** HSV to RGB */\nexport const hsvToRgb = (\n h: number,\n s: number,\n v: number,\n): [number, number, number] => {\n const c = v * s;\n const x = c * (1 - Math.abs(((h * 6) % 2) - 1));\n const m = v - c;\n\n let r = 0,\n g = 0,\n b = 0;\n if (h < 1 / 6) {\n r = c;\n g = x;\n } else if (h < 2 / 6) {\n r = x;\n g = c;\n } else if (h < 3 / 6) {\n g = c;\n b = x;\n } else if (h < 4 / 6) {\n g = x;\n b = c;\n } else if (h < 5 / 6) {\n r = x;\n b = c;\n } else {\n r = c;\n b = x;\n }\n\n return [\n Math.round((r + m) * 255),\n Math.round((g + m) * 255),\n Math.round((b + m) * 255),\n ];\n};\n\nexport const generateUniformHexColor = (() => {\n const goldenRatio = 0.618033988749895; // Golden ratio for even color distribution\n let hue = 0;\n return (): string => {\n hue = (hue + goldenRatio) % 1;\n const rgbColor = hsvToRgb(hue, 0.8, 0.95);\n return rgbArrayToHex(rgbColor);\n };\n})();\n","import { CursorState } from 'ahooks/lib/useMouse';\nimport { cloneDeep, isEqual, isNumber, isUndefined, omitBy } from 'lodash';\n\nimport {\n EElementType,\n EObjectType,\n KEYPOINTS_VISIBLE_TYPE,\n} from '../constants';\nimport { LINE_COLOR } from '../constants/render';\nimport { rleToCanvas } from '../tools/useMask';\nimport { DrawData, IAnnotationObject, PromptItem } from '../type';\n\nimport { rgbArrayToRgba, rgbaToRgbArray } from './color';\n\n/**\n * Calculate the scaled width and height.\n * @param imgWidth\n * @param imgHeight\n * @param maxWidth\n * @param maxHeight\n * @returns [number,number] [width, height]\n */\nexport const zoomImgSize = (\n imgWidth: number,\n imgHeight: number,\n contianerWidth?: number,\n contianerHeight?: number,\n): [number, number, number] => {\n if (!imgWidth || !imgHeight) return [0, 0, 1];\n // Only restrict the container width or height.\n if (!contianerWidth) {\n return [\n (imgWidth / imgHeight) * (contianerHeight || 0),\n contianerHeight || 0,\n 1,\n ];\n }\n if (!contianerHeight) {\n return [\n contianerWidth || 0,\n (imgHeight / imgWidth) * (contianerWidth || 0),\n 1,\n ];\n }\n let newWidth = imgWidth,\n newHeight = imgHeight,\n scale = 1;\n if (imgWidth / imgHeight >= contianerWidth / contianerHeight) {\n // Scale based on container width.\n newWidth = contianerWidth;\n newHeight = (imgHeight * contianerWidth) / imgWidth;\n scale = contianerWidth / imgWidth;\n } else {\n // Scale based on container height.\n newHeight = contianerHeight;\n newWidth = (imgWidth * contianerHeight) / imgHeight;\n scale = contianerHeight / imgHeight;\n }\n return [newWidth || 0, newHeight || 0, scale];\n};\n\n/** translate points */\nexport const getCanvasPoint = (\n [x = 0, y = 0]: number[],\n naturalSize: ISize,\n clientSize: ISize,\n) => {\n return {\n x: (x / naturalSize.width) * clientSize.width,\n y: (y / naturalSize.height) * clientSize.height,\n };\n};\n\n/** Convert to coordinates in image coordinate system. */\nexport const getNaturalPoint = (\n [x = 0, y = 0]: number[],\n naturalSize: ISize,\n clientSize: ISize,\n): IPoint => {\n return {\n x: (x / clientSize.width) * naturalSize.width,\n y: (y / clientSize.height) * naturalSize.height,\n };\n};\n\n/**\n * Generate corresponding canvas coordinates based on the segmentation data returned by the API.\n * @param seg\n * @param naturalSize\n * @param clientSize\n * @returns\n */\nexport const getSegmentationPoints = (\n seg: string,\n naturalSize: ISize,\n clientSize: ISize,\n): IPoint[][] => {\n const groups: IPoint[][] = [];\n if (!seg) return groups;\n const paths = seg.split('/');\n paths?.forEach((item) => {\n const points = [];\n const nums = item.split(',').map(Number);\n for (let i = 0; i < nums.length; i += 2) {\n const point = getCanvasPoint(\n [nums[i], nums[i + 1]],\n naturalSize,\n clientSize,\n );\n points.push(point);\n }\n groups.push(points);\n });\n return groups;\n};\n\nexport const translatePointGroupsToPoints = (\n pointGroups: number[][],\n naturalSize: ISize,\n clientSize: ISize,\n): IPoint[][] => {\n const groups: IPoint[][] = [];\n pointGroups.forEach((nums) => {\n const points = [];\n for (let i = 0; i < nums.length; i += 2) {\n const point = getCanvasPoint(\n [nums[i], nums[i + 1]],\n naturalSize,\n clientSize,\n );\n points.push(point);\n }\n groups.push(points);\n });\n return groups;\n};\n\n/**\n * translate points to rect\n * @param startPoint\n * @param endPoint\n * @param canvasSize\n */\nexport const getRectFromPoints = (\n startPoint: IPoint,\n endPoint: IPoint,\n canvasSize: ISize,\n): IRect => {\n const realEndPoint = {\n x:\n endPoint.x < 0\n ? 0\n : endPoint.x > canvasSize.width\n ? canvasSize.width\n : endPoint.x,\n y:\n endPoint.y < 0\n ? 0\n : endPoint.y > canvasSize.height\n ? canvasSize.height\n : endPoint.y,\n };\n return {\n x: Math.min(startPoint.x, realEndPoint.x),\n y: Math.min(startPoint.y, realEndPoint.y),\n width: Math.abs(startPoint.x - realEndPoint.x),\n height: Math.abs(startPoint.y - realEndPoint.y),\n };\n};\n\n/**\n * Calculate the polar coordinates of a set of points.\n * @param points\n * @returns\n */\nexport const getLimitCoordsFromPoints = (\n points: IPoint[],\n): { minX: number; minY: number; maxX: number; maxY: number } => {\n let minX = Infinity;\n let minY = Infinity;\n let maxX = -Infinity;\n let maxY = -Infinity;\n for (const p of points) {\n minX = Math.min(minX, p.x);\n minY = Math.min(minY, p.y);\n maxX = Math.max(maxX, p.x);\n maxY = Math.max(maxY, p.y);\n }\n return { minX, minY, maxX, maxY };\n};\n\n/**\n * Calculate the coordinates of a point after scaling transformation.\n * @param point\n * @param scaleX\n * @param scaleY\n * @returns\n */\nexport const getScaledPointCoord = (\n point: IPoint,\n scaleX: number,\n scaleY: number,\n): IPoint => {\n return {\n x: scaleX * point.x,\n y: scaleY * point.y,\n };\n};\n\n/**\n * Calculate the coordinates of a point after translation transformation.\n * @param point\n * @param translateX\n * @param translateY\n * @returns\n */\nexport const getTranslatedPointCoord = (\n point: IPoint,\n translateX: number,\n translateY: number,\n): IPoint => {\n return {\n x: point.x + translateX,\n y: point.y + translateY,\n };\n};\n\n/**\n * Calculate the position of a set of keypoint templates after coordinate transformation.\n * @param startPoint Must be inside the canvas.\n * @param endPoint Can be outside the canvas.\n * @param canvasSize\n */\nexport const getKeypointsFromRect = (\n points: IElement[],\n rect: IRect,\n): IElement[] => {\n const { minX, minY, maxX, maxY } = getLimitCoordsFromPoints(points);\n const scaleX = rect.width / (maxX - minX);\n const scaleY = rect.height / (maxY - minY);\n\n const newPoints = points.map((point) => {\n const translatedPoint = getTranslatedPointCoord(point, -minX, -minY);\n const scaledPoint = getScaledPointCoord(translatedPoint, scaleX, scaleY);\n const updatedPoint = getTranslatedPointCoord(scaledPoint, rect.x, rect.y);\n return { ...point, ...updatedPoint };\n });\n\n return newPoints;\n};\n\n/**\n * translate rect to bounding box\n * @param rect\n * @param size\n * @returns\n */\nexport const translateRectToBoundingBox = (\n rect: IRect,\n size: ISize,\n): IBoundingBox => ({\n xmin: rect.x / size.width,\n ymin: rect.y / size.height,\n xmax: (rect.x + rect.width) / size.width,\n ymax: (rect.y + rect.height) / size.height,\n});\n\nexport const translateRectToAbsBbox = (rect: IRect): IBoundingBox => ({\n xmin: rect.x,\n ymin: rect.y,\n xmax: rect.x + rect.width,\n ymax: rect.y + rect.height,\n});\n\n/**\n * zoom rect size\n * @param rect\n * @param size\n * @returns\n */\nexport const translateRectZoom = (\n rect: IRect,\n fromSize: ISize,\n toSize: ISize,\n): IRect => ({\n x: (rect.x * toSize.width) / fromSize.width,\n y: (rect.y * toSize.height) / fromSize.height,\n width: (rect.width * toSize.width) / fromSize.width,\n height: (rect.height * toSize.height) / fromSize.height,\n});\n\n/**\n * translate rect to points\n * @param theRect\n * @param fromSize\n * @param toSize\n * @returns\n */\nexport const translateRectToPointsArray = (\n theRect: IRect,\n fromSize: ISize,\n toSize: ISize,\n): number[] => {\n const rect = translateRectZoom(theRect, fromSize, toSize);\n return [rect.x, rect.y, rect.x + rect.width, rect.y + rect.height];\n};\n\n/**\n * zoom point size\n * @param point\n * @param size\n * @returns\n */\nexport const translatePointZoom = (\n point: IPoint,\n formSize: ISize,\n toSize: ISize,\n): IPoint => ({\n x: (point.x * toSize.width) / formSize.width,\n y: (point.y * toSize.height) / formSize.height,\n});\n\n/**\n * transtlate points to rect\n * @param box\n * @param size\n * @returns\n */\nexport const translatePointsToRect = (\n points: [number, number, number, number],\n formSize: ISize,\n toSize: ISize,\n): IRect => ({\n x: ((points[0] || 0) / formSize.width) * toSize.width,\n y: ((points[1] || 0) / formSize.height) * toSize.height,\n width:\n (((points[2] || 0) - (points[0] || 0)) / formSize.width) * toSize.width,\n height:\n (((points[3] || 0) - (points[1] || 0)) / formSize.height) * toSize.height,\n});\n\n/**\n * transtlate bounding box to rect\n * @param box\n * @param size\n * @returns\n */\nexport const translateBoundingBoxToRect = (\n box: IBoundingBox,\n size: ISize,\n): IRect => ({\n x: (box.xmin || 0) * size.width,\n y: (box.ymin || 0) * size.height,\n width: ((box.xmax || 0) - (box.xmin || 0)) * size.width,\n height: ((box.ymax || 0) - (box.ymin || 0)) * size.height,\n});\n\nexport const translateAbsBBoxToRect = (box: IBoundingBox): IRect => ({\n x: box.xmin,\n y: box.ymin,\n width: box.xmax - box.xmin,\n height: box.ymax - box.ymin,\n});\n\n/**\n * format points\n * keypoints: [x, y, z, w, visible, conf, ...]\n * visible 0: not labeled, v=1: labeled but not visible, and v=2: labeled and visible.\n * @param box\n * @param size\n * @returns\n */\nexport const translatePointsToPointObjs = (\n points: number[],\n pointNames: string[],\n pointColors: string[],\n naturalSize: ISize,\n clientSize: ISize,\n): IElement[] => {\n const pointList = [];\n for (let i = 0; i * 6 < points.length; i++) {\n const { x, y } = getCanvasPoint(\n [points[i * 6], points[i * 6 + 1]],\n naturalSize,\n clientSize,\n );\n const color = rgbArrayToRgba(pointColors.slice(i * 3, i * 3 + 3), 1);\n const point = {\n x,\n y,\n visible: points[i * 6 + 4],\n color,\n name: pointNames[i],\n };\n pointList.push(point);\n }\n return pointList;\n};\n\nexport const translatePointObjsToPointAttrs = (\n pointObjs: IElement[],\n naturalSize: ISize,\n clientSize: ISize,\n): {\n points: number[];\n pointNames: string[];\n pointColors: string[];\n} => {\n const points = [];\n const pointNames = [];\n const pointColors = [];\n\n for (let i = 0; i < pointObjs.length; i++) {\n const point = pointObjs[i];\n const { x, y } = point;\n const rgb = rgbaToRgbArray(point.color!);\n const naturalPoint = getNaturalPoint([x, y], naturalSize, clientSize);\n points.push(naturalPoint.x, naturalPoint.y, 0, 1, point.visible, 1);\n pointNames.push(point.name!);\n pointColors.push(rgb[0] || '255', rgb[1] || '255', rgb[2] || '255');\n }\n\n return {\n points,\n pointNames,\n pointColors,\n };\n};\n\n/**\n * format points (new model)\n * keypoints: [x, y, visible, conf, ...]\n * visible 0: not labeled, v=1: labeled but not visible, and v=2: labeled and visible.\n * @param box\n * @param size\n * @returns\n */\nexport const newTranslatePointsToPointObjs = (\n points: number[],\n pointNames: string[],\n pointColors: string[],\n naturalSize: ISize,\n clientSize: ISize,\n): IElement[] => {\n const pointList = [];\n for (let i = 0; i * 4 < points.length; i++) {\n const { x, y } = getCanvasPoint(\n [points[i * 4], points[i * 4 + 1]],\n naturalSize,\n clientSize,\n );\n const color = rgbArrayToRgba(pointColors.slice(i * 3, i * 3 + 3), 1);\n const point = {\n x,\n y,\n visible: points[i * 4 + 2],\n color,\n name: pointNames[i],\n };\n pointList.push(point);\n }\n return pointList;\n};\n\nexport const newTranslatePointObjsToPointAttrs = (\n pointObjs: IElement[],\n naturalSize: ISize,\n clientSize: ISize,\n): {\n points: number[];\n pointNames: string[];\n pointColors: string[];\n} => {\n const points = [];\n const pointNames = [];\n const pointColors = [];\n\n for (let i = 0; i < pointObjs.length; i++) {\n const point = pointObjs[i];\n const { x, y } = point;\n const rgb = rgbaToRgbArray(point.color!);\n const naturalPoint = getNaturalPoint([x, y], naturalSize, clientSize);\n points.push(naturalPoint.x, naturalPoint.y, point.visible, 1);\n pointNames.push(point.name!);\n pointColors.push(rgb[0] || '255', rgb[1] || '255', rgb[2] || '255');\n }\n\n return {\n points,\n pointNames,\n pointColors,\n };\n};\n\n/**\n * Determine if two rects are the same.(Only compare the decimal places after the second digit)\n * @param aRect\n * @param bRect\n * @returns\n */\nexport const isEqualRect = (aRect: IRect, bRect: IRect): boolean => {\n return (\n Object.keys(aRect).findIndex(\n (key) =>\n aRect[key as keyof IRect].toFixed(2) !==\n bRect[key as keyof IRect].toFixed(2),\n ) < 0\n );\n};\n\n/**\n * Whether it is inside the canvas.\n * @param mouse\n * @returns\n */\nexport const isInCanvas = (mouse: CursorState): boolean =>\n mouse.elementX >= 0 &&\n mouse.elementX <= mouse.elementW &&\n mouse.elementY >= 0 &&\n mouse.elementY <= mouse.elementH;\n\n/**\n * Expand / shrink rect\n * @param rect\n * @param delta\n * @returns\n */\nexport const expandRect = (rect: IRect, delta: IPoint): IRect => {\n return {\n x: rect.x - delta.x,\n y: rect.y - delta.y,\n width: rect.width + 2 * delta.x,\n height: rect.height + 2 * delta.y,\n };\n};\n\nexport const expandPointToCircle = (point: IPoint, radius: number): ICircle => {\n return {\n ...point,\n radius,\n };\n};\n\nfunction crossProduct(p1: IPoint, p2: IPoint, p3: IPoint) {\n const v1 = { x: p2.x - p1.x, y: p2.y - p1.y };\n const v2 = { x: p3.x - p1.x, y: p3.y - p1.y };\n return v1.x * v2.y - v1.y * v2.x;\n}\n\n/**\n * Determine if a point is inside a shape.\n * @param shape\n * @param point\n * @param type\n * @returns\n */\nexport const isPointInside = (\n shape: IRect | ICircle | IPolygon,\n point: IPoint,\n type: EElementType,\n): boolean => {\n if (!shape || !point) return false;\n switch (type) {\n case EElementType.Rect: {\n const rect = shape as IRect;\n return (\n rect.x <= point.x &&\n rect.x + rect.width >= point.x &&\n rect.y <= point.y &&\n rect.y + rect.height >= point.y\n );\n }\n case EElementType.Circle: {\n const circle = shape as ICircle;\n return (\n Math.sqrt(\n Math.pow(point.x - circle.x, 2) + Math.pow(point.y - circle.y, 2),\n ) <= circle.radius\n );\n }\n case EElementType.Polygon: {\n const polygon = shape as IPolygon;\n // Divide a polygon into several triangles.\n for (let i = 1; i < polygon.length - 1; i++) {\n // Calculate the cross product of the three vertices of a triangle and point P.\n const cross1 = crossProduct(polygon[0], polygon[i], point);\n const cross2 = crossProduct(polygon[i], polygon[i + 1], point);\n const cross3 = crossProduct(polygon[i + 1], polygon[0], point);\n // If the signs of all three cross products are the same, then the point is inside the triangle.\n if (cross1 * cross2 > 0 && cross1 * cross3 > 0) {\n return true;\n }\n }\n return false;\n }\n default:\n return false;\n }\n};\n\n// const isPointInsideRect = (rect: IRect, mouse: CursorState): boolean => {\n// const outerRect = expandRect(rect, { x: 8, y: 8 });\n// const innerRect = expandRect(rect, { x: -8, y: -8 });\n// const point = { x: mouse.elementX, y: mouse.elementY };\n// return (\n// isPointInside(outerRect, point, EElementType.Rect) &&\n// !isPointInside(innerRect, point, EElementType.Rect)\n// );\n// };\n\nexport const isPointOnPoint = (\n point: IPoint,\n mouse: CursorState,\n redius: number = 5,\n): boolean => {\n const circle = expandPointToCircle(point, redius);\n const focusPoint = { x: mouse.elementX, y: mouse.elementY };\n return isPointInside(circle, focusPoint, EElementType.Circle);\n};\n\nconst isPointOnLine = (line: ILine, mouse: CursorState): boolean => {\n const { elementX: x, elementY: y } = mouse;\n const distanceFromStart = Math.sqrt(\n Math.pow(x - line.start.x, 2) + Math.pow(y - line.start.y, 2),\n );\n const distanceFromEnd = Math.sqrt(\n Math.pow(x - line.end.x, 2) + Math.pow(y - line.end.y, 2),\n );\n const lineLength = Math.sqrt(\n Math.pow(line.end.x - line.start.x, 2) +\n Math.pow(line.end.y - line.start.y, 2),\n );\n const buffer = 0.75;\n return (\n distanceFromStart + distanceFromEnd >= lineLength - buffer &&\n distanceFromStart + distanceFromEnd <= lineLength + buffer\n );\n};\n\nexport const getLimitRectFromPoints = (points: IPoint[]): IRect => {\n const { maxX, minX, maxY, minY } = getLimitCoordsFromPoints(points);\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n};\n\nexport const getLinesFromPolygon = (polygon: IPolygon): ILine[] => {\n const lines: ILine[] = [];\n for (let i = 0; i < polygon.length; i++) {\n const startPoint = polygon[i];\n const endPoint = polygon[(i + 1) % polygon.length];\n lines.push({ start: startPoint, end: endPoint });\n }\n return lines;\n};\n\nexport const judgeFocusOnSingleObject = (\n mouse: CursorState,\n object: IAnnotationObject,\n clientSize?: ISize,\n): boolean => {\n if (object.hidden || object.frameEmpty) {\n return false;\n }\n\n const mousePoint = {\n x: mouse.elementX,\n y: mouse.elementY,\n };\n\n switch (object.type) {\n case EObjectType.Rectangle: {\n if (\n object.rect &&\n isPointInside(\n expandRect(object.rect, { x: 8, y: 8 }),\n mousePoint,\n EElementType.Rect,\n )\n ) {\n return true;\n }\n break;\n }\n case EObjectType.Polygon: {\n if (object.polygon) {\n const { group } = object.polygon!;\n const isInside = group.some((polygon) =>\n isPointInside(polygon, mousePoint, EElementType.Polygon),\n );\n if (isInside) return true;\n const isInsidePoints = group.some((polygon) => {\n return polygon.some((point) => {\n return isPointOnPoint(point, mouse);\n });\n });\n if (isInsidePoints) return true;\n const isOnLines = group.some((polygon) => {\n const lines = getLinesFromPolygon(polygon);\n return lines.some((line) => {\n return isPointOnLine(line, mouse);\n });\n });\n if (isOnLines) return true;\n }\n break;\n }\n case EObjectType.Skeleton: {\n if (object.keypoints?.points) {\n const validPoints = object.keypoints?.points.filter(\n (point) => point.visible === KEYPOINTS_VISIBLE_TYPE.labeledVisible,\n );\n const limitRect = getLimitRectFromPoints(validPoints);\n const isInside = isPointInside(\n limitRect,\n mousePoint,\n EElementType.Rect,\n );\n if (isInside) return true;\n }\n if (object.rect) {\n if (isPointInside(object.rect, mousePoint, EElementType.Rect)) {\n return true;\n }\n }\n break;\n }\n case EObjectType.Custom: {\n if (object.keypoints?.points) {\n const validPoints = object.keypoints?.points.filter(\n (point) => point.visible === KEYPOINTS_VISIBLE_TYPE.labeledVisible,\n );\n const limitRect = getLimitRectFromPoints(validPoints);\n const isInside = isPointInside(\n limitRect,\n mousePoint,\n EElementType.Rect,\n );\n if (isInside) {\n return true;\n }\n }\n if (object.polygon) {\n const { group } = object.polygon;\n const isInside = group.some((polygon) =>\n isPointInside(polygon, mousePoint, EElementType.Polygon),\n );\n if (isInside) {\n return true;\n }\n }\n if (object.rect) {\n if (isPointInside(object.rect, mousePoint, EElementType.Rect)) {\n return true;\n }\n }\n break;\n }\n case EObjectType.Mask: {\n if (object.maskCanvasElement) {\n const tempCtx = object.maskCanvasElement.getContext('2d', {\n willReadFrequently: true,\n });\n if (!tempCtx || !clientSize) break;\n\n // get target pixel data\n const pixelData = tempCtx.getImageData(\n (mousePoint.x * object.maskCanvasElement.width) / clientSize.width,\n (mousePoint.y * object.maskCanvasElement.height) / clientSize.height,\n 1,\n 1,\n ).data;\n if (pixelData[3] > 0) {\n return true;\n }\n }\n break;\n }\n }\n return false;\n};\n\nexport const judgeFocusOnElement = (\n mouse: CursorState,\n object: IAnnotationObject,\n): {\n focusEleIndex: number;\n focusEleType: EElementType;\n focusPolygonInfo: {\n index: number;\n pointIndex: number;\n lineIndex: number;\n };\n} => {\n let focusEleType = EElementType.None;\n let focusEleIndex = -1;\n let focusPolygonInfo = {\n index: -1,\n pointIndex: -1,\n lineIndex: -1,\n };\n\n if (!isInCanvas(mouse) || object.hidden) {\n return { focusEleType, focusEleIndex, focusPolygonInfo };\n }\n\n if (object.keypoints?.points) {\n const { points } = object.keypoints;\n for (let j = 0; j < points.length; j++) {\n const { visible, x, y } = points[j];\n if (\n visible === KEYPOINTS_VISIBLE_TYPE.labeledVisible &&\n isPointOnPoint({ x, y }, mouse)\n ) {\n focusEleType = EElementType.Circle;\n focusEleIndex = j;\n\n return { focusEleType, focusEleIndex, focusPolygonInfo };\n }\n }\n }\n\n if (object.polygon && object.polygon.visible) {\n const { group } = object.polygon;\n // find point in polygon\n for (let i = 0; i < group.length; i++) {\n const pointIndex = group[i].findIndex((point) => {\n return isPointOnPoint(point, mouse);\n });\n if (pointIndex > -1) {\n focusPolygonInfo.index = i;\n focusPolygonInfo.pointIndex = pointIndex;\n return {\n focusEleType: EElementType.Polygon,\n focusEleIndex: 0,\n focusPolygonInfo,\n };\n }\n }\n // find line in polygon\n for (let i = 0; i < group.length; i++) {\n const lines = getLinesFromPolygon(group[i]);\n const lineIndex = lines.findIndex((line) => isPointOnLine(line, mouse));\n if (lineIndex > -1) {\n focusPolygonInfo.index = i;\n focusPolygonInfo.lineIndex = lineIndex;\n return {\n focusEleType: EElementType.Polygon,\n focusEleIndex: 0,\n focusPolygonInfo,\n };\n }\n }\n const polygonIdx = group.findIndex((polygon) =>\n isPointInside(\n polygon,\n {\n x: mouse.elementX,\n y: mouse.elementY,\n },\n EElementType.Polygon,\n ),\n );\n if (polygonIdx > -1) {\n focusPolygonInfo.index = polygonIdx;\n return {\n focusEleType: EElementType.Polygon,\n focusEleIndex: 0,\n focusPolygonInfo,\n };\n }\n }\n\n if (\n object.rect &&\n isPointInside(\n expandRect(object.rect, { x: 8, y: 8 }),\n {\n x: mouse.elementX,\n y: mouse.elementY,\n },\n EElementType.Rect,\n )\n ) {\n focusEleType = EElementType.Rect;\n focusEleIndex = 0;\n return { focusEleType, focusEleIndex, focusPolygonInfo };\n }\n\n return { focusEleType, focusEleIndex, focusPolygonInfo };\n};\n\nexport const judgeFocusOnObject = (\n clientSize: ISize,\n mouse: CursorState,\n activeObjectIndex: number,\n objects: IAnnotationObject[],\n focusFilter: (obj: IAnnotationObject) => boolean = () => true,\n): number => {\n if (!isInCanvas(mouse)) {\n return -1;\n }\n\n // Judge focus on active object.\n if (\n objects[activeObjectIndex] &&\n focusFilter(objects[activeObjectIndex]) &&\n judgeFocusOnSingleObject(mouse, objects[activeObjectIndex], clientSize)\n ) {\n return activeObjectIndex;\n }\n\n // Find the topmost instance by searching the objectList in reverse order.\n for (let index = objects.length - 1; index >= 0; index--) {\n if (\n focusFilter(objects[index]) &&\n judgeFocusOnSingleObject(mouse, objects[index], clientSize)\n ) {\n return index;\n }\n }\n\n return -1;\n};\n\nexport const judgeFocusOnPointAllObject = (\n clientSize: ISize,\n mouse: CursorState,\n objects: IAnnotationObject[],\n focusFilter: (obj: IAnnotationObject) => boolean = () => true,\n): number[] => {\n if (!isInCanvas(mouse)) {\n return [];\n }\n\n const results = [];\n // Find the topmost instance by searching the objectList in reverse order.\n for (let index = objects.length - 1; index >= 0; index--) {\n if (\n focusFilter(objects[index]) &&\n judgeFocusOnSingleObject(mouse, objects[index], clientSize)\n ) {\n results.push(index);\n }\n }\n\n return results;\n};\n\nexport enum Direction {\n TOP = 'TOP',\n BOTTOM = 'BOTTOM',\n LEFT = 'LEFT',\n RIGHT = 'RIGHT',\n TOP_RIGHT = 'TOP_RIGHT',\n TOP_LEFT = 'TOP_LEFT',\n BOTTOM_RIGHT = 'BOTTOM_RIGHT',\n BOTTOM_LEFT = 'BOTTOM_LEFT',\n CENTER = 'CENTER',\n}\n\nexport interface RectAnchor {\n type: Direction;\n position: IPoint;\n}\n\nconst setValueBetweenPixels = (value: number): number => {\n return Math.floor(value) + 0.5;\n};\n\nconst setPointBetweenPixels = (point: IPoint): IPoint => {\n return {\n x: setValueBetweenPixels(point.x),\n y: setValueBetweenPixels(point.y),\n };\n};\n\nexport const setRectBetweenPixels = (rect: IRect): IRect => {\n const topLeft: IPoint = {\n x: rect.x,\n y: rect.y,\n };\n const bottomRight: IPoint = {\n x: rect.x + rect.width,\n y: rect.y + rect.height,\n };\n const topLeftBetweenPixels = setPointBetweenPixels(topLeft);\n const bottomRightBetweenPixels = setPointBetweenPixels(bottomRight);\n return {\n x: topLeftBetweenPixels.x,\n y: topLeftBetweenPixels.y,\n width: bottomRightBetweenPixels.x - topLeftBetweenPixels.x,\n height: bottomRightBetweenPixels.y - topLeftBetweenPixels.y,\n };\n};\n\nexport const mapRectToAnchors = (rect: IRect): RectAnchor[] => {\n return [\n { type: Direction.TOP_LEFT, position: { x: rect.x, y: rect.y } },\n {\n type: Direction.TOP,\n position: { x: rect.x + 0.5 * rect.width, y: rect.y },\n },\n {\n type: Direction.TOP_RIGHT,\n position: { x: rect.x + rect.width, y: rect.y },\n },\n {\n type: Direction.LEFT,\n position: { x: rect.x, y: rect.y + 0.5 * rect.height },\n },\n {\n type: Direction.RIGHT,\n position: { x: rect.x + rect.width, y: rect.y + 0.5 * rect.height },\n },\n {\n type: Direction.BOTTOM_LEFT,\n position: { x: rect.x, y: rect.y + rect.height },\n },\n {\n type: Direction.BOTTOM,\n position: { x: rect.x + 0.5 * rect.width, y: rect.y + rect.height },\n },\n {\n type: Direction.BOTTOM_RIGHT,\n position: { x: rect.x + rect.width, y: rect.y + rect.height },\n },\n ];\n};\n\nexport const getRectWithCenterAndSize = (\n centerPoint: IPoint,\n size: ISize,\n): IRect => {\n return {\n x: centerPoint.x - 0.5 * size.width,\n y: centerPoint.y - 0.5 * size.height,\n ...size,\n };\n};\n\nexport const getAnchorUnderMouseByRect = (\n rect: IRect,\n mousePosition: IPoint,\n): RectAnchor | null => {\n const rectAnchors: RectAnchor[] = mapRectToAnchors(rect);\n for (let i = 0; i < rectAnchors.length; i++) {\n const anchorRect: IRect = getRectWithCenterAndSize(\n rectAnchors[i].position,\n { width: 16, height: 16 },\n );\n if (\n !!mousePosition &&\n isPointInside(anchorRect, mousePosition, EElementType.Rect)\n ) {\n return rectAnchors[i];\n }\n }\n return null;\n};\n\nexport const getAnchorFixRectPoint = (\n rect: IRect,\n direction: Direction,\n): IPoint => {\n switch (direction) {\n case Direction.RIGHT:\n case Direction.BOTTOM:\n case Direction.BOTTOM_RIGHT:\n return { x: rect.x, y: rect.y };\n case Direction.LEFT:\n case Direction.TOP:\n case Direction.TOP_LEFT:\n return { x: rect.x + rect.width, y: rect.y + rect.height };\n case Direction.BOTTOM_LEFT:\n return { x: rect.x + rect.width, y: rect.y };\n case Direction.TOP_RIGHT:\n return { x: rect.x, y: rect.y + rect.height };\n }\n return { x: rect.x, y: rect.y };\n};\n\nexport const resizeRect = (\n rect: IRect,\n anchor: RectAnchor,\n mouse: CursorState,\n): IRect => {\n const { type, position } = anchor;\n const limitMouseX =\n mouse.elementX < 0\n ? 0\n : mouse.elementX > mouse.elementW\n ? mouse.elementW\n : mouse.elementX;\n const limitMouseY =\n mouse.elementY < 0\n ? 0\n : mouse.elementY > mouse.elementH\n ? mouse.elementH\n : mouse.elementY;\n const endPoint = { x: limitMouseX, y: limitMouseY };\n switch (type) {\n case Direction.RIGHT:\n endPoint.y = rect.y + rect.height;\n break;\n case Direction.BOTTOM:\n endPoint.x = rect.x + rect.width;\n break;\n case Direction.LEFT:\n endPoint.y = rect.y;\n break;\n case Direction.TOP:\n endPoint.x = rect.x;\n break;\n }\n return getRectFromPoints(position, endPoint, {\n width: mouse.elementW,\n height: mouse.elementH,\n });\n};\n\nexport const moveRect = (\n rect: IRect,\n startPoints: { topLeftPoint: IPoint; mousePoint: IPoint },\n mouse: CursorState,\n): IRect => {\n const { width, height } = rect;\n const { topLeftPoint, mousePoint } = startPoints;\n const offsetX = mouse.elementX - mousePoint.x;\n const offsetY = mouse.elementY - mousePoint.y;\n const x = topLeftPoint.x + offsetX;\n const y = topLeftPoint.y + offsetY;\n\n return {\n x: x < 0 ? 0 : x + width > mouse.elementW ? mouse.elementW - width : x,\n y: y < 0 ? 0 : y + height > mouse.elementH ? mouse.elementH - height : y,\n width,\n height,\n };\n};\n\nexport const movePolygon = (\n polygon: IPolygon,\n startPoints: { mousePoint: IPoint },\n mouse: CursorState,\n): IPolygon => {\n const { mousePoint } = startPoints;\n const { elementX, elementY, elementW, elementH } = mouse;\n const { minX, minY, maxX, maxY } = getLimitCoordsFromPoints(polygon);\n let offsetX = elementX - mousePoint.x;\n let offsetY = elementY - mousePoint.y;\n offsetX =\n offsetX + maxX > elementW\n ? elementW - maxX\n : offsetX + minX < 0\n ? 0\n : offsetX;\n offsetY =\n offsetY + maxY > elementH\n ? elementH - maxY\n : offsetY + minY < 0\n ? 0\n : offsetY;\n const newPolygon = polygon.map((point) => ({\n x: point.x + offsetX,\n y: point.y + offsetY,\n }));\n return newPolygon;\n};\n\nexport const movePoint = (mouse: CursorState): IPoint => {\n const { elementX, elementY } = mouse;\n return {\n x: elementX < 0 ? 0 : elementX > mouse.elementW ? mouse.elementW : elementX,\n y: elementY < 0 ? 0 : elementY > mouse.elementH ? mouse.elementH : elementY,\n };\n};\n\nexport const isValidRect = (rect: IRect) => {\n if (\n !isNumber(rect.x) ||\n !isNumber(rect.y) ||\n !isNumber(rect.width) ||\n !isNumber(rect.height)\n ) {\n return false;\n }\n if (rect.x === 0 && rect.y === 0 && rect.width === 0 && rect.height === 0) {\n return false;\n }\n return true;\n};\n\n// TODO: How to confirm ObjectType\nexport const getObjectType = (obj: IAnnotationObject): EObjectType => {\n if (obj.maskRle) {\n return EObjectType.Mask;\n }\n if (obj.alpha) {\n return EObjectType.Matting;\n }\n if (obj.keypoints) {\n return EObjectType.Skeleton;\n }\n if (obj.polygon) {\n return EObjectType.Polygon;\n }\n if (obj.point) {\n return EObjectType.Point;\n }\n if (obj.rect && isValidRect(obj.rect)) {\n return EObjectType.Rectangle;\n }\n if (obj.polyline) {\n return EObjectType.Polyline;\n }\n return EObjectType.Custom;\n};\n\nexport const translatePolygonsToPointsArrayGroup = (\n polygons: IElement,\n naturalSize: ISize,\n clientSize: ISize,\n): number[][] => {\n const arr = polygons.group.map((polygon) => {\n return polygon.reduce((acc: number[], point: IPoint) => {\n const { x, y } = point;\n const naturalPoint = getNaturalPoint([x, y], naturalSize, clientSize);\n return acc.concat([naturalPoint.x, naturalPoint.y]);\n }, []);\n });\n return arr;\n};\n\nexport const translatePolygonsToSegmentation = (\n polygons: IElement,\n naturalSize: ISize,\n clientSize: ISize,\n): string => {\n const arr = translatePolygonsToPointsArrayGroup(\n polygons,\n naturalSize,\n clientSize,\n );\n const res =\n arr\n .map((polygon) => {\n return polygon.join(',');\n })\n .join('/') || '';\n\n return res;\n};\n\nexport const getClosestPointOnLineSegment = (\n point: IPoint,\n lineStart: IPoint,\n lineEnd: IPoint,\n) => {\n const ap = { x: point.x - lineStart.x, y: point.y - lineStart.y };\n const ab = { x: lineEnd.x - lineStart.x, y: lineEnd.y - lineStart.y };\n const ab2: number = ab.x * ab.x + ab.y * ab.y;\n const ap_ab: number = ap.x * ab.x + ap.y * ab.y;\n let t: number = ap_ab / ab2;\n if (t < 0 || isNaN(t)) {\n t = 0;\n } else if (t > 1) {\n t = 1;\n }\n return { x: lineStart.x + ab.x * t, y: lineStart.y + ab.y * t };\n};\n\nexport const getMidPointFromTwoPoints = (p1: IPoint, p2: IPoint): IPoint => {\n return {\n x: (p1.x + p2.x) / 2,\n y: (p1.y + p2.y) / 2,\n };\n};\n\n/**\n * Get the corner points, edge midpoints, and center point of a rectangle.\n */\nexport const getReferencePointsFromRect = (rect: IRect): IPoint[] => {\n const { x, y, width, height } = rect;\n\n const topLeft: IPoint = { x, y };\n const topRight: IPoint = { x: x + width, y };\n const bottomLeft: IPoint = { x, y: y + height };\n const bottomRight: IPoint = { x: x + width, y: y + height };\n\n const topMidpoint: IPoint = { x: x + width / 2, y };\n const bottomMidpoint: IPoint = { x: x + width / 2, y: y + height };\n const leftMidpoint: IPoint = { x, y: y + height / 2 };\n const rightMidpoint: IPoint = { x: x + width, y: y + height / 2 };\n\n const center: IPoint = { x: x + width / 2, y: y + height / 2 };\n\n return [\n topLeft,\n topRight,\n bottomLeft,\n bottomRight,\n topMidpoint,\n bottomMidpoint,\n leftMidpoint,\n rightMidpoint,\n center,\n ];\n};\n\n/**\n * Determine if polygon p1 is surrounded by p2.\n * @param p1\n * @param p2\n * @returns\n */\nexport const isPolygonInsidePolygon = (p1: IPolygon, p2: IPolygon) => {\n const box1 = getLimitCoordsFromPoints(p1);\n const box2 = getLimitCoordsFromPoints(p2);\n if (\n box2.minX >= box1.maxX ||\n box2.maxX <= box1.minX ||\n box2.minY >= box1.maxY ||\n box2.maxY <= box1.minY\n ) {\n return false;\n }\n for (const point of p1) {\n if (!isPointInside(p2, point, EElementType.Polygon)) {\n return false;\n }\n }\n return true;\n};\n\n/**\n * Find the polygons in a set of polygons that are completely surrounded and return their indexs.\n * @param polygons\n * @returns\n */\nexport const getInnerPolygonIndexFromGroup = (\n polygons: IPolygon[],\n): number[] => {\n const innerPolygonIdx: number[] = [];\n for (let i = 0; i < polygons.length; i++) {\n const polygon = polygons[i];\n let isInnerPolygon = false;\n for (let j = 0; j < polygons.length; j++) {\n if (i !== j && isPolygonInsidePolygon(polygon, polygons[j])) {\n isInnerPolygon = true;\n break;\n }\n }\n if (isInnerPolygon) {\n innerPolygonIdx.push(i);\n }\n }\n return innerPolygonIdx;\n};\n\nexport const calculatePolygonArea = (vertices: [number, number][]): number => {\n const n = vertices.length;\n let area = 0;\n for (let i = 0; i < n; i++) {\n const [x1, y1] = vertices[i];\n const [x2, y2] = vertices[(i + 1) % n];\n area += x1 * y2 - x2 * y1;\n }\n return Math.abs(area / 2);\n};\n\nexport const convertToVerticesArray = (\n numbers: number[],\n): [number, number][] => {\n const vertices: [number, number][] = [];\n\n for (let i = 0; i < numbers.length; i += 2) {\n const x = numbers[i];\n const y = numbers[i + 1];\n vertices.push([x, y]);\n }\n\n return vertices;\n};\n\nexport const translateRectCoord = (\n rect: IRect,\n newCoordOrigin: IPoint,\n): IRect => {\n return {\n ...rect,\n x: rect.x - newCoordOrigin.x,\n y: rect.y - newCoordOrigin.y,\n };\n};\n\nexport const translatePolygonCoord = (\n polygon: IPolygon,\n newCoordOrigin: IPoint,\n): IPolygon => {\n return polygon.map((point) => {\n return {\n x: point.x - newCoordOrigin.x,\n y: point.y - newCoordOrigin.y,\n };\n });\n};\n\nexport const translatePointCoord = (\n point: IPoint,\n newCoordOrigin: IPoint,\n): IPoint => {\n return {\n x: point.x - newCoordOrigin.x,\n y: point.y - newCoordOrigin.y,\n };\n};\n\nexport const translateAnnotCoord = (\n annoObj: IAnnotationObject,\n newCoordOrigin: IPoint,\n): IAnnotationObject => {\n const { rect, polygon, keypoints, point, polyline } = annoObj;\n const newAnnoObj = { ...annoObj };\n\n if (rect) {\n newAnnoObj.rect = {\n ...rect,\n ...translateRectCoord(rect, newCoordOrigin),\n };\n }\n\n if (polygon) {\n const newGroup = polygon.group.map((polyItem) => {\n return translatePolygonCoord(polyItem, newCoordOrigin);\n });\n newAnnoObj.polygon = {\n ...polygon,\n group: newGroup,\n };\n }\n\n if (keypoints) {\n const newPoints = keypoints.points.map((point) => {\n return {\n ...point,\n ...translatePointCoord(point, newCoordOrigin),\n };\n });\n newAnnoObj.keypoints = {\n ...keypoints,\n points: newPoints,\n };\n }\n\n if (point) {\n newAnnoObj.point = {\n ...point,\n ...translatePointCoord(point, newCoordOrigin),\n };\n }\n\n if (polyline) {\n const newGroup = polyline.group.map((lineItem) => {\n return translatePolygonCoord(lineItem, newCoordOrigin);\n });\n newAnnoObj.polyline = {\n ...polyline,\n group: newGroup,\n };\n }\n\n return newAnnoObj;\n};\n\n/**\n * Scale obj to curSize\n * @param obj\n * @param preSize\n * @param curSize\n * @returns\n */\nexport const scaleObject = (\n obj: IAnnotationObject,\n preSize: ISize,\n curSize: ISize,\n) => {\n const newObj = { ...obj };\n\n if (newObj.rect) {\n const newRect = translateRectZoom(newObj.rect, preSize, curSize);\n newObj.rect = { ...newObj.rect, ...newRect };\n }\n if (newObj.keypoints) {\n const { points, lines } = newObj.keypoints;\n const newPoints = points.map((point) => {\n const newPoint = translatePointZoom(point, preSize, curSize);\n return { ...point, ...newPoint };\n });\n newObj.keypoints = { points: newPoints, lines };\n }\n if (newObj.polygon) {\n const newGroups = newObj.polygon.group.map((polygon) => {\n return polygon.map((point) => {\n return translatePointZoom(point, preSize, curSize);\n });\n });\n newObj.polygon = { ...newObj.polygon, group: newGroups };\n }\n if (newObj.point) {\n const newPoint = translatePointZoom(newObj.point, preSize, curSize);\n newObj.point = { ...newObj.point, ...newPoint };\n }\n if (newObj.polyline) {\n const newGroups = newObj.polyline.group.map((polyline) => {\n return polyline.map((point) => {\n return translatePointZoom(point, preSize, curSize);\n });\n });\n newObj.polyline = { ...newObj.polyline, group: newGroups };\n }\n return newObj;\n};\nconst scalePromptItem = (\n promptItem: PromptItem,\n preSize: ISize,\n curSize: ISize,\n): PromptItem => {\n const { point, startPoint, rect, stroke, polygons } = promptItem;\n const scaledPromptItem = { ...promptItem };\n if (point) {\n Object.assign(scaledPromptItem, {\n point: translatePointZoom(point, preSize, curSize),\n });\n }\n if (startPoint) {\n Object.assign(scaledPromptItem, {\n startPoint: translatePointZoom(startPoint, preSize, curSize),\n });\n }\n if (rect) {\n Object.assign(scaledPromptItem, {\n rect: translateRectZoom(rect, preSize, curSize),\n });\n }\n if (stroke) {\n Object.assign(scaledPromptItem, {\n stroke: stroke.map((point) => {\n return translatePointZoom(point, preSize, curSize);\n }),\n });\n }\n if (polygons) {\n Object.assign(scaledPromptItem, {\n polygons: polygons.map((polygon) => {\n const res = [];\n for (let i = 0; i < polygon.length; i += 2) {\n const point = { x: polygon[i], y: polygon[i + 1] };\n const scaledPoint = translatePointZoom(point, preSize, curSize);\n res.push(scaledPoint.x, scaledPoint.y);\n }\n return res;\n }),\n });\n }\n return scaledPromptItem;\n};\n\n/**\n * Scale frames objects\n * @param preSize\n * @param curSize\n */\nexport const scaleFramesObjects = (\n framesObjects: IAnnotationObject[][],\n preSize: ISize,\n curSize: ISize,\n) => {\n const updateFramesObjects = cloneDeep(framesObjects);\n return updateFramesObjects.map((objs) => {\n if (objs) {\n return objs.map((obj) => {\n return obj ? scaleObject(obj, preSize, curSize) : obj;\n });\n }\n return objs;\n });\n};\n\n/**\n * Scale draw data\n * @param preSize\n * @param curSize\n */\nexport const scaleDrawData = (\n theDrawData: DrawData,\n preSize: ISize,\n curSize: ISize,\n) => {\n const updateDrawData = cloneDeep(theDrawData);\n updateDrawData.objectList = updateDrawData.objectList.map((obj) => {\n return scaleObject(obj, preSize, curSize);\n });\n\n if (updateDrawData.creatingObject) {\n updateDrawData.creatingObject = scaleObject(\n updateDrawData.creatingObject,\n preSize,\n curSize,\n );\n if (updateDrawData.creatingObject.startPoint) {\n updateDrawData.creatingObject.startPoint = translatePointZoom(\n updateDrawData.creatingObject.startPoint,\n preSize,\n curSize,\n );\n }\n if (updateDrawData.creatingObject.maskStep) {\n const newPoints = updateDrawData.creatingObject.maskStep.points.map(\n (point) => {\n return translatePointZoom(point, preSize, curSize);\n },\n );\n updateDrawData.creatingObject = {\n ...updateDrawData.creatingObject,\n maskStep: {\n ...updateDrawData.creatingObject.maskStep,\n points: newPoints,\n },\n };\n }\n if (updateDrawData.creatingObject.tempMaskSteps) {\n const newSteps = updateDrawData.creatingObject.tempMaskSteps.map(\n (step) => {\n return {\n ...step,\n points: step.points.map((point) =>\n translatePointZoom(point, preSize, curSize),\n ),\n };\n },\n );\n updateDrawData.creatingObject = {\n ...updateDrawData.creatingObject,\n tempMaskSteps: newSteps,\n };\n }\n }\n\n if (updateDrawData.prompt.creatingPrompt) {\n updateDrawData.prompt.creatingPrompt = scalePromptItem(\n updateDrawData.prompt.creatingPrompt,\n preSize,\n curSize,\n );\n }\n\n if (updateDrawData.prompt.promptsQueue) {\n updateDrawData.prompt.promptsQueue =\n updateDrawData.prompt.promptsQueue?.map((item) => {\n return scalePromptItem(item, preSize, curSize);\n });\n }\n\n if (updateDrawData.prompt.activeRectWhileLoading) {\n updateDrawData.prompt.activeRectWhileLoading = translateRectZoom(\n updateDrawData.prompt.activeRectWhileLoading,\n preSize,\n curSize,\n );\n }\n\n return updateDrawData;\n};\n\nexport const convertFrameObjectsIntoFramesObjects = (\n currFrameObjects: IAnnotationObject[],\n framesObjects: IAnnotationObject[][],\n frameCount: number,\n activeIndex: number,\n naturalSize: ISize,\n) => {\n const tempObjects = [...framesObjects];\n currFrameObjects.forEach((item, objectIdx) => {\n const objectframes =\n tempObjects[objectIdx] || new Array(frameCount).fill(undefined);\n tempObjects[objectIdx] = objectframes.map((obj, frameIdx) => {\n if (frameIdx === activeIndex) {\n return item;\n }\n const frameEmpty = obj?.frameEmpty || Boolean(!obj);\n let resultObject = obj;\n if (\n frameIdx > activeIndex &&\n isEqual(\n omitBy(obj, isUndefined),\n omitBy(objectframes[activeIndex], isUndefined),\n )\n ) {\n // [active frame, later changed frame] -> same change\n resultObject = item;\n } else if (\n !frameEmpty &&\n item.type === EObjectType.Mask &&\n resultObject.maskRle &&\n item.labelId !== obj.labelId\n ) {\n // mask label changed => re compute maskCanvas\n resultObject.maskCanvasElement = rleToCanvas(\n resultObject.maskRle,\n naturalSize,\n item.color,\n );\n }\n\n return {\n ...resultObject,\n type: item.type,\n labelId: item.labelId,\n hidden: item.hidden,\n color: item.color,\n customStyles: item.customStyles,\n attributes: item.attributes,\n status: item.status,\n frameEmpty,\n };\n });\n });\n return tempObjects;\n};\n\nexport const updateDrawDataFrameCreateObject = (newDrawData: DrawData) => {\n // TODO: creating object should reset alone\n if (\n newDrawData.activeObjectIndex >= 0 &&\n newDrawData.objectList?.[newDrawData.activeObjectIndex] &&\n !newDrawData.objectList?.[newDrawData.activeObjectIndex].frameEmpty\n ) {\n newDrawData.creatingObject = {\n ...newDrawData.creatingObject,\n ...newDrawData.objectList?.[newDrawData.activeObjectIndex],\n };\n return;\n }\n newDrawData.prompt = {};\n newDrawData.creatingObject = undefined;\n};\n\nexport const getVisibleAreaForImage = (\n imagePos: IPoint,\n clientSize: ISize,\n containerMouse: CursorState,\n) => {\n const { x: imageX, y: imageY } = imagePos;\n const { width: imageWidth, height: imageHeight } = clientSize;\n const { elementW: containerWidth, elementH: containerHeight } =\n containerMouse;\n\n if (\n imageX > containerWidth ||\n imageY > containerHeight ||\n imageX + imageWidth <= 0 ||\n imageY + imageHeight <= 0\n ) {\n return {\n xmin: 0,\n ymin: 0,\n xmax: 0,\n ymax: 0,\n };\n }\n\n const leftTopPoint = {\n x: Math.max(0, imageX),\n y: Math.max(0, imageY),\n };\n const rightBottonPoint = {\n x: Math.min(imageX + imageWidth, containerWidth),\n y: Math.min(imageY + imageHeight, containerHeight),\n };\n\n const newCoordOrigin = {\n x: imagePos.x,\n y: imagePos.y,\n };\n const { x: xmin, y: ymin } = translatePointCoord(\n leftTopPoint,\n newCoordOrigin,\n );\n const { x: xmax, y: ymax } = translatePointCoord(\n rightBottonPoint,\n newCoordOrigin,\n );\n\n return {\n xmin,\n ymin,\n xmax,\n ymax,\n };\n};\n\nexport const getMaskInfoByCanvas = (\n canvas: HTMLCanvasElement,\n): {\n area: number;\n bbox: IBoundingBox;\n} => {\n const ctx = canvas.getContext('2d', { willReadFrequently: true });\n\n const imageData = ctx!.getImageData(0, 0, canvas.width, canvas.height);\n const data = imageData.data;\n const width = imageData.width;\n const height = imageData.height;\n\n let xmin = width;\n let ymin = height;\n let xmax = 0;\n let ymax = 0;\n let area = 0;\n\n for (let i = 0; i < data.length; i += 4) {\n const alpha = data[i + 3];\n if (alpha > 0) {\n const x = (i / 4) % width;\n const y = Math.floor(i / 4 / width);\n area++;\n xmin = Math.min(xmin, x);\n ymin = Math.min(ymin, y);\n xmax = Math.max(xmax, x);\n ymax = Math.max(ymax, y);\n }\n }\n\n const bbox = { xmin, ymin, xmax, ymax };\n\n return {\n area,\n bbox,\n };\n};\n\nexport const translateUVtoPolylinePoints = (\n uv: [number[], number[]],\n): IPolyline => {\n if (!uv || uv.length < 2 || uv[0]?.length !== uv[1]?.length) {\n return [];\n }\n\n const [xCoords, yCoords] = uv;\n const polyline: IPolyline = [];\n\n for (let i = 0; i < xCoords.length; i++) {\n polyline.push({\n x: xCoords[i],\n y: yCoords[i],\n });\n }\n\n return polyline;\n};\n\nexport const convertLaneLineColorToHex = (lineColor: string): string => {\n if (lineColor === 'yellow') {\n return LINE_COLOR.Yellow;\n } else if (lineColor === 'white') {\n return LINE_COLOR.White;\n } else {\n return LINE_COLOR.Other;\n }\n};\n","import { LINE_STYLE_MAP } from '../constants/render';\nimport { LineType } from '../type';\n\nimport { hexToRgba } from './color';\n\nfunction deg2rad(angleDeg: number) {\n return (angleDeg * Math.PI) / 180;\n}\n\nexport function clearCanvas(canvas: HTMLCanvasElement): void {\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n}\n\nexport function resizeSmoothCanvas(\n canvas: HTMLCanvasElement,\n clientSize: ISize,\n): void {\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n if (window.devicePixelRatio) {\n canvas.style.width = clientSize.width + 'px';\n canvas.style.height = clientSize.height + 'px';\n canvas.height = clientSize.height * window.devicePixelRatio;\n canvas.width = clientSize.width * window.devicePixelRatio;\n ctx.scale(window.devicePixelRatio, window.devicePixelRatio);\n }\n}\n\nexport function setCanvasGlobalAlpha(\n canvas: HTMLCanvasElement,\n alpha: number,\n): void {\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n ctx.globalAlpha = alpha;\n}\n\nexport function drawImage(\n canvas: HTMLCanvasElement,\n image: HTMLImageElement | HTMLCanvasElement,\n imageRect: IRect,\n) {\n if (!!image && !!canvas) {\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n try {\n ctx.drawImage(\n image,\n imageRect.x,\n imageRect.y,\n imageRect.width,\n imageRect.height,\n );\n } catch (error) {\n console.error('Load image error:', error);\n }\n }\n}\n\nexport function addFilter(\n canvas: HTMLCanvasElement,\n brightness: number,\n contrast: number,\n saturate: number,\n) {\n if (!!canvas) {\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n ctx.filter =\n 'brightness(' +\n brightness +\n '%) contrast(' +\n contrast +\n '%) saturate(' +\n saturate +\n '%)';\n }\n}\n\nexport function removeFilter(canvas: HTMLCanvasElement) {\n if (!!canvas) {\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n ctx.filter = 'none';\n }\n}\n\nexport function putImageData(\n canvas: HTMLCanvasElement,\n imageData: ImageData,\n imageRect: IRect,\n) {\n if (!!imageData && !!canvas) {\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n ctx.putImageData(\n imageData,\n 0,\n 0,\n imageRect.x,\n imageRect.y,\n imageRect.width,\n imageRect.height,\n );\n }\n}\n\nexport function drawLine(\n canvas: HTMLCanvasElement,\n startPoint: IPoint,\n endPoint: IPoint,\n color = '#111111',\n thickness = 1,\n lineDash?: number[],\n): void {\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n ctx.save();\n ctx.strokeStyle = color;\n ctx.lineWidth = thickness;\n ctx.lineCap = 'round';\n ctx.beginPath();\n if (lineDash) {\n ctx.setLineDash(lineDash);\n }\n ctx.moveTo(startPoint.x, startPoint.y);\n ctx.lineTo(endPoint.x + 1, endPoint.y + 1);\n ctx.stroke();\n ctx.restore();\n}\n\nexport function drawPath(\n canvas: HTMLCanvasElement,\n points: IPoint[],\n color = '#111111',\n thickness = 1,\n lineDash?: number[],\n): void {\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n ctx.save();\n ctx.strokeStyle = color;\n ctx.lineWidth = thickness;\n ctx.lineCap = 'round';\n ctx.lineJoin = 'round';\n if (lineDash) {\n ctx.setLineDash(lineDash);\n }\n ctx.beginPath();\n ctx.moveTo(points[0].x, points[0].y);\n for (let i = 1, len = points.length; i < len; i++) {\n ctx.lineTo(points[i].x, points[i].y);\n }\n ctx.stroke();\n ctx.restore();\n}\n\nconst midPointBtw = (p1: any, p2: any) => {\n return {\n x: p1.x + (p2.x - p1.x) / 2,\n y: p1.y + (p2.y - p1.y) / 2,\n };\n};\n\nexport function drawQuadraticPath(\n canvas: HTMLCanvasElement,\n points: IPoint[],\n color = '#111111',\n thickness = 20,\n lineDash?: number[],\n): void {\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n ctx.save();\n ctx.strokeStyle = color;\n ctx.lineWidth = thickness;\n ctx.lineCap = 'round';\n ctx.lineJoin = 'round';\n if (lineDash) {\n ctx.setLineDash(lineDash);\n }\n\n ctx.beginPath();\n\n let p1 = points[0];\n let p2 = points[1];\n\n ctx.moveTo(p1.x, p1.y);\n\n for (let i = 1, len = points.length; i < len; i++) {\n let midPoint = midPointBtw(p1, p2);\n ctx.quadraticCurveTo(p1.x, p1.y, midPoint.x, midPoint.y);\n p1 = points[i];\n p2 = points[i + 1];\n }\n ctx.lineTo(p1.x, p1.y);\n ctx.stroke();\n ctx.restore();\n}\n\nexport function drawRect(\n canvas: HTMLCanvasElement | null,\n rect: IRect,\n color = '#fff',\n thickness = 1,\n lineDash?: number[],\n fillColor?: string,\n): void {\n if (!canvas) return;\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n ctx.save();\n ctx.strokeStyle = color;\n ctx.lineWidth = thickness;\n ctx.beginPath();\n if (lineDash) {\n ctx.setLineDash(lineDash);\n }\n ctx.rect(rect.x, rect.y, rect.width, rect.height);\n ctx.stroke();\n if (fillColor) {\n ctx.fillStyle = fillColor;\n ctx.fill();\n }\n ctx.restore();\n}\n\nexport function drawRectWithFill(\n canvas: HTMLCanvasElement | null,\n rect: IRect,\n color = '#fff',\n): void {\n if (!canvas) return;\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n ctx.save();\n ctx.fillStyle = color;\n ctx.beginPath();\n ctx.rect(rect.x, rect.y, rect.width, rect.height);\n ctx.fill();\n ctx.restore();\n}\n\nexport function shadeEverythingButRect(\n canvas: HTMLCanvasElement,\n rect: IRect,\n color = '#000',\n alpha = 0.5,\n): void {\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n ctx.save();\n ctx.fillStyle = color;\n ctx.globalAlpha = alpha;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n ctx.globalCompositeOperation = 'destination-out';\n ctx.globalAlpha = 1;\n ctx.fillRect(rect.x, rect.y, rect.width, rect.height);\n ctx.restore();\n}\n\nexport function drawPolygon(\n canvas: HTMLCanvasElement | null,\n offset: IPoint = { x: 0, y: 0 },\n anchors: IPoint[],\n color = '#fff',\n thickness = 1,\n): void {\n if (!canvas) return;\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n ctx.save();\n ctx.strokeStyle = color;\n ctx.lineWidth = thickness;\n ctx.beginPath();\n const { x: offsetX, y: offsetY } = offset;\n ctx.moveTo(anchors[0].x + offsetX, anchors[0].y + offsetY);\n for (let i = 1; i < anchors.length; i++) {\n ctx.lineTo(anchors[i].x + offsetX, anchors[i].y + offsetX);\n }\n ctx.closePath();\n ctx.stroke();\n ctx.restore();\n}\n\n// function calculateOffsetPoints(\n// anchors: IPoint[],\n// offset: IPoint,\n// ): [IPoint[], IPoint[]] {\n// const calculateOffset = (point: IPoint, angle: number, side: number) => ({\n// x: point.x + side * offset.x * Math.cos(angle),\n// y: point.y + side * offset.y * Math.sin(angle),\n// });\n\n// let leftOffsetPoints: IPoint[] = [];\n// let rightOffsetPoints: IPoint[] = [];\n\n// for (let i = 0; i < anchors.length - 1; i++) {\n// const angle =\n// Math.atan2(\n// anchors[i + 1].y - anchors[i].y,\n// anchors[i + 1].x - anchors[i].x,\n// ) +\n// Math.PI / 2;\n// leftOffsetPoints.push(calculateOffset(anchors[i], angle, 1));\n// rightOffsetPoints.push(calculateOffset(anchors[i], angle, -1));\n// }\n\n// // 处理最后一个点\n// const lastAngle =\n// Math.atan2(\n// anchors[anchors.length - 1].y - anchors[anchors.length - 2].y,\n// anchors[anchors.length - 1].x - anchors[anchors.length - 2].x,\n// ) +\n// Math.PI / 2;\n// leftOffsetPoints.push(\n// calculateOffset(anchors[anchors.length - 1], lastAngle, 1),\n// );\n// rightOffsetPoints.push(\n// calculateOffset(anchors[anchors.length - 1], lastAngle, -1),\n// );\n\n// return [leftOffsetPoints, rightOffsetPoints];\n// }\n\nexport function drawPolyline(\n canvas: HTMLCanvasElement | null,\n offset: IPoint = { x: 0, y: 0 },\n anchors: IPoint[],\n color = '#fff',\n thickness = 1,\n lineDash?: number[],\n): void {\n if (!canvas) return;\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n ctx.save();\n\n ctx.strokeStyle = color;\n ctx.lineWidth = thickness;\n if (lineDash) {\n ctx.setLineDash(lineDash);\n }\n\n ctx.beginPath();\n const { x: offsetX, y: offsetY } = offset;\n ctx.moveTo(anchors[0].x + offsetX, anchors[0].y + offsetY);\n for (let i = 1; i < anchors.length; i++) {\n ctx.lineTo(anchors[i].x + offsetX, anchors[i].y + offsetX);\n }\n ctx.stroke();\n ctx.restore();\n}\n\n// function drawOffsetDoubleLine(\n// canvas: HTMLCanvasElement | null,\n// offset: IPoint = { x: 0, y: 0 },\n// anchors: IPoint[],\n// color: string = '#fff',\n// thickness: number = 1,\n// lineDash: [number[], number[]] = [[], []],\n// ): void {\n// if (!canvas || anchors.length < 2) return;\n// const [leftOffsetPoints, rightOffsetPoints] = calculateOffsetPoints(\n// anchors,\n// offset,\n// );\n// const [leftLineDash, rightLineDash] = lineDash;\n\n// drawPolyline(\n// canvas,\n// { x: 0, y: 0 },\n// leftOffsetPoints,\n// color,\n// thickness,\n// leftLineDash,\n// );\n// drawPolyline(\n// canvas,\n// { x: 0, y: 0 },\n// rightOffsetPoints,\n// color,\n// thickness,\n// rightLineDash,\n// );\n// }\n\nexport function drawPolylineByType(\n canvas: HTMLCanvasElement | null,\n anchors: IPoint[],\n color: string,\n lineType: LineType,\n): void {\n if (!LINE_STYLE_MAP[lineType]) return;\n const { lineDash, thickness } = LINE_STYLE_MAP[lineType];\n drawPolyline(canvas, { x: 0, y: 0 }, anchors, color, thickness, lineDash);\n}\n\nexport function drawPolygonWithFill(\n canvas: HTMLCanvasElement | null,\n anchors: IPoint[],\n fillColor = '#fff',\n strokeColor = '#fff',\n thickness = 1,\n lineDash?: number[],\n): void {\n if (!canvas) return;\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n ctx.save();\n ctx.fillStyle = fillColor;\n ctx.strokeStyle = strokeColor;\n ctx.lineWidth = thickness;\n if (lineDash) {\n ctx.setLineDash(lineDash);\n }\n ctx.beginPath();\n ctx.moveTo(anchors[0].x, anchors[0].y);\n for (let i = 1; i < anchors.length; i++) {\n ctx.lineTo(anchors[i].x, anchors[i].y);\n }\n ctx.closePath();\n if (thickness > 0) {\n ctx.stroke();\n }\n ctx.fill();\n ctx.restore();\n}\n\nexport function drawText(\n canvas: HTMLCanvasElement,\n text: string,\n textSize: number,\n anchorPoint: IPoint,\n color = '#ffffff',\n bold = false,\n align = 'center',\n): void {\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n ctx.save();\n ctx.fillStyle = color;\n ctx.textAlign = align as CanvasTextAlign;\n ctx.textBaseline = 'top';\n ctx.font = (bold ? 'bold ' : '') + textSize + 'px Arial';\n ctx.fillText(text, anchorPoint.x, anchorPoint.y);\n ctx.restore();\n}\n\nexport function drawCircleWithFill(\n canvas: HTMLCanvasElement,\n anchorPoint: IPoint,\n radius: number,\n color = '#ffffff',\n strokeWidth: number,\n strokeColor = '#000',\n): void {\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n ctx.save();\n const startAngleRad = deg2rad(0);\n const endAngleRad = deg2rad(360);\n ctx.lineWidth = strokeWidth || 0;\n ctx.strokeStyle = strokeColor;\n ctx.fillStyle = color;\n ctx.beginPath();\n ctx.arc(\n anchorPoint.x,\n anchorPoint.y,\n radius,\n startAngleRad,\n endAngleRad,\n false,\n );\n ctx.stroke();\n ctx.fill();\n ctx.restore();\n}\n\nexport function drawCircle(\n canvas: HTMLCanvasElement,\n anchorPoint: IPoint,\n radius: number,\n startAngleDeg: number,\n endAngleDeg: number,\n thickness = 20,\n color = '#ffffff',\n): void {\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n const startAngleRad = deg2rad(startAngleDeg);\n const endAngleRad = deg2rad(endAngleDeg);\n ctx.save();\n ctx.strokeStyle = color;\n ctx.lineWidth = thickness;\n ctx.beginPath();\n ctx.arc(\n anchorPoint.x,\n anchorPoint.y,\n radius,\n startAngleRad,\n endAngleRad,\n false,\n );\n ctx.stroke();\n ctx.restore();\n}\n\nexport function drawBooleanPolygon(\n canvas: HTMLCanvasElement,\n anchors: IPoint[],\n addPolygon = true,\n fillColor = '#fff',\n strokeColor = '#fff',\n thickness = 1,\n lineDash?: number[],\n) {\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n ctx.save();\n ctx.fillStyle = fillColor;\n ctx.strokeStyle = strokeColor;\n ctx.lineWidth = thickness;\n ctx.lineCap = 'round';\n ctx.lineJoin = 'round';\n if (lineDash) {\n ctx.setLineDash(lineDash);\n }\n ctx.beginPath();\n ctx.moveTo(anchors[0].x, anchors[0].y);\n for (let i = 1; i < anchors.length; i++) {\n ctx.lineTo(anchors[i].x, anchors[i].y);\n }\n ctx.closePath();\n ctx.clip();\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n if (addPolygon) {\n if (thickness > 0) {\n ctx.stroke();\n }\n ctx.fill();\n }\n ctx.restore();\n}\n\nexport function drawBooleanBrush(\n canvas: HTMLCanvasElement,\n points: IPoint[],\n addBrush = true,\n color = '#111111',\n alpha = 1,\n thickness = 20,\n lineDash?: number[],\n): void {\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n ctx.save();\n ctx.strokeStyle = color;\n ctx.lineWidth = thickness;\n ctx.lineCap = 'round';\n ctx.lineJoin = 'round';\n ctx.beginPath();\n if (lineDash) {\n ctx.setLineDash(lineDash);\n }\n\n let p1 = points[0];\n let p2 = points[1];\n\n ctx.moveTo(p1.x, p1.y);\n\n for (let i = 1, len = points.length; i < len; i++) {\n let midPoint = midPointBtw(p1, p2);\n ctx.quadraticCurveTo(p1.x, p1.y, midPoint.x, midPoint.y);\n p1 = points[i];\n p2 = points[i + 1];\n }\n ctx.lineTo(p1.x, p1.y);\n\n if (addBrush) {\n if (thickness > 0) {\n // remove overlap area firstly to avoid color blending\n ctx.globalCompositeOperation = 'destination-out';\n ctx.strokeStyle = color;\n ctx.stroke();\n // draw new stroke path\n ctx.strokeStyle = hexToRgba(color, alpha);\n ctx.globalCompositeOperation = 'source-over';\n ctx.stroke();\n }\n } else {\n ctx.globalCompositeOperation = 'destination-out';\n ctx.stroke();\n }\n ctx.restore();\n}\n","// This icon file is generated automatically.\nvar ClearOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"defs\", \"attrs\": {}, \"children\": [{ \"tag\": \"style\", \"attrs\": {} }] }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M899.1 869.6l-53-305.6H864c14.4 0 26-11.6 26-26V346c0-14.4-11.6-26-26-26H618V138c0-14.4-11.6-26-26-26H432c-14.4 0-26 11.6-26 26v182H160c-14.4 0-26 11.6-26 26v192c0 14.4 11.6 26 26 26h17.9l-53 305.6a25.95 25.95 0 0025.6 30.4h723c1.5 0 3-.1 4.4-.4a25.88 25.88 0 0021.2-30zM204 390h272V182h72v208h272v104H204V390zm468 440V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H416V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H202.8l45.1-260H776l45.1 260H672z\" } }] }, \"name\": \"clear\", \"theme\": \"outlined\" };\nexport default ClearOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport ClearOutlinedSvg from \"@ant-design/icons-svg/es/asn/ClearOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar ClearOutlined = function ClearOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: ClearOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n ClearOutlined.displayName = 'ClearOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(ClearOutlined);","import { ClearOutlined } from '@ant-design/icons';\nimport { Button, Select } from 'antd';\nimport { globalLocaleText } from 'dds-utils/locale';\n\nimport { Category } from '@/Annotator/type';\n\nimport './index.less';\n\ninterface IProps {\n categories: Category[];\n filterCategoryName: string | null;\n onSelectFilter: (name: string) => void;\n onClearFilter: () => void;\n}\n\nconst ImageFilter: React.FC = ({\n categories,\n filterCategoryName,\n onSelectFilter,\n onClearFilter,\n}) => {\n return (\n
\n
{globalLocaleText('quicklabel.imageFilter')}
\n event.stopPropagation()}\n onKeyUp={(event) => event.stopPropagation()}\n onInputKeyDown={(event) => {\n if (event.code !== 'Enter') {\n event.stopPropagation();\n }\n }}\n dropdownRender={(menu) => (\n <>\n {menu}\n {\n }\n onClick={onClearFilter}\n >\n {globalLocaleText('quicklabel.clearFilter')}\n \n }\n \n )}\n >\n {categories?.map((category) => (\n \n {category.name}\n \n ))}\n \n
\n );\n};\n\nexport default ImageFilter;\n","import VirtualList from 'rc-virtual-list';\nimport { useCallback, useEffect, useState } from 'react';\n\nimport { QsAnnotatorFile } from '../../type';\n\nimport './index.less';\n\ninterface IProps {\n images: QsAnnotatorFile[];\n selected: number;\n onImageSelected: (index: number) => void;\n}\n\nexport const ImageList: React.FC = ({\n images,\n selected,\n onImageSelected,\n}: IProps) => {\n const [containerHeight, setContainerHeight] = useState(0);\n const itemHeight = 120;\n\n const handleResize = useCallback(() => {\n const container = document.getElementById('image-options-container');\n if (container) {\n const height = container.offsetHeight || 0;\n setContainerHeight(height - 56);\n }\n }, []);\n\n useEffect(() => {\n handleResize();\n window.addEventListener('resize', handleResize);\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [handleResize]);\n\n const handleImageSelect = (index: number) => {\n if (index < 0 || index >= images.length) return;\n onImageSelected(index);\n };\n\n return (\n
\n \n {(item, index) => {\n const selectedClassName =\n index === selected\n ? 'dds-quicklabel-options-list-image-selected'\n : '';\n return (\n
\n handleImageSelect(index)}\n />\n
\n );\n }}\n \n
\n );\n};\n","// This icon file is generated automatically.\nvar UploadOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z\" } }] }, \"name\": \"upload\", \"theme\": \"outlined\" };\nexport default UploadOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport UploadOutlinedSvg from \"@ant-design/icons-svg/es/asn/UploadOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar UploadOutlined = function UploadOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: UploadOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n UploadOutlined.displayName = 'UploadOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(UploadOutlined);","import useLatest from '../useLatest';\nimport { getTargetElement } from '../utils/domTarget';\nimport useEffectWithTarget from '../utils/useEffectWithTarget';\nimport { useRef } from 'react';\nvar useDrop = function (target, options) {\n if (options === void 0) {\n options = {};\n }\n var optionsRef = useLatest(options);\n // https://stackoverflow.com/a/26459269\n var dragEnterTarget = useRef();\n useEffectWithTarget(function () {\n var targetElement = getTargetElement(target);\n if (!(targetElement === null || targetElement === void 0 ? void 0 : targetElement.addEventListener)) {\n return;\n }\n var onData = function (dataTransfer, event) {\n var uri = dataTransfer.getData('text/uri-list');\n var dom = dataTransfer.getData('custom');\n if (dom && optionsRef.current.onDom) {\n var data = dom;\n try {\n data = JSON.parse(dom);\n } catch (e) {\n data = dom;\n }\n optionsRef.current.onDom(data, event);\n return;\n }\n if (uri && optionsRef.current.onUri) {\n optionsRef.current.onUri(uri, event);\n return;\n }\n if (dataTransfer.files && dataTransfer.files.length && optionsRef.current.onFiles) {\n optionsRef.current.onFiles(Array.from(dataTransfer.files), event);\n return;\n }\n if (dataTransfer.items && dataTransfer.items.length && optionsRef.current.onText) {\n dataTransfer.items[0].getAsString(function (text) {\n optionsRef.current.onText(text, event);\n });\n }\n };\n var onDragEnter = function (event) {\n var _a, _b;\n event.preventDefault();\n event.stopPropagation();\n dragEnterTarget.current = event.target;\n (_b = (_a = optionsRef.current).onDragEnter) === null || _b === void 0 ? void 0 : _b.call(_a, event);\n };\n var onDragOver = function (event) {\n var _a, _b;\n event.preventDefault();\n (_b = (_a = optionsRef.current).onDragOver) === null || _b === void 0 ? void 0 : _b.call(_a, event);\n };\n var onDragLeave = function (event) {\n var _a, _b;\n if (event.target === dragEnterTarget.current) {\n (_b = (_a = optionsRef.current).onDragLeave) === null || _b === void 0 ? void 0 : _b.call(_a, event);\n }\n };\n var onDrop = function (event) {\n var _a, _b;\n event.preventDefault();\n onData(event.dataTransfer, event);\n (_b = (_a = optionsRef.current).onDrop) === null || _b === void 0 ? void 0 : _b.call(_a, event);\n };\n var onPaste = function (event) {\n var _a, _b;\n onData(event.clipboardData, event);\n (_b = (_a = optionsRef.current).onPaste) === null || _b === void 0 ? void 0 : _b.call(_a, event);\n };\n targetElement.addEventListener('dragenter', onDragEnter);\n targetElement.addEventListener('dragover', onDragOver);\n targetElement.addEventListener('dragleave', onDragLeave);\n targetElement.addEventListener('drop', onDrop);\n targetElement.addEventListener('paste', onPaste);\n return function () {\n targetElement.removeEventListener('dragenter', onDragEnter);\n targetElement.removeEventListener('dragover', onDragOver);\n targetElement.removeEventListener('dragleave', onDragLeave);\n targetElement.removeEventListener('drop', onDrop);\n targetElement.removeEventListener('paste', onPaste);\n };\n }, [], target);\n};\nexport default useDrop;","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgUpload = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ viewBox: \"0 0 91 75\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props), /* @__PURE__ */ React.createElement(\"path\", { d: \"M60.633.007C49.453-.22 37.923 6.255 34.76 20.864c-12.874-4.444-24.497 4.32-23.29 18.315C4.735 41.932 0 48.587 0 56.409 0 66.709 8.199 75 18.383 75h22.33c-.005-6.26-.018-18.818-.018-21.197l-5.237 1.919c-3.8 1.656-6.605-3.183-3.352-6.195l9.909-9.739c2.263-2.288 4.966-2.026 6.97 0l9.909 9.739c3.253 3.012.447 7.85-3.352 6.195l-5.237-1.92V75h22.312C82.801 75 91 66.708 91 56.41c0-7.58-4.45-14.06-10.855-16.96C92.558 14.977 76.972.336 60.633.006Z\", fill: \"#B9CEFF\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M60.633.004c-.623-.013-1.306.009-1.93.037-14.278 22.757 7.788 39.403 21.442 39.403C92.558 14.974 76.972.334 60.633.004Z\", fill: \"#739EFF\" }));\nexport { SvgUpload as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgOTEgNzUiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTYwLjYzMy4wMDdDNDkuNDUzLS4yMiAzNy45MjMgNi4yNTUgMzQuNzYgMjAuODY0Yy0xMi44NzQtNC40NDQtMjQuNDk3IDQuMzItMjMuMjkgMTguMzE1QzQuNzM1IDQxLjkzMiAwIDQ4LjU4NyAwIDU2LjQwOSAwIDY2LjcwOSA4LjE5OSA3NSAxOC4zODMgNzVoMjIuMzNjLS4wMDUtNi4yNi0uMDE4LTE4LjgxOC0uMDE4LTIxLjE5N2wtNS4yMzcgMS45MTljLTMuOCAxLjY1Ni02LjYwNS0zLjE4My0zLjM1Mi02LjE5NWw5LjkwOS05LjczOWMyLjI2My0yLjI4OCA0Ljk2Ni0yLjAyNiA2Ljk3IDBsOS45MDkgOS43MzljMy4yNTMgMy4wMTIuNDQ3IDcuODUtMy4zNTIgNi4xOTVsLTUuMjM3LTEuOTJWNzVoMjIuMzEyQzgyLjgwMSA3NSA5MSA2Ni43MDggOTEgNTYuNDFjMC03LjU4LTQuNDUtMTQuMDYtMTAuODU1LTE2Ljk2QzkyLjU1OCAxNC45NzcgNzYuOTcyLjMzNiA2MC42MzMuMDA2WiIgZmlsbD0iI0I5Q0VGRiIvPjxwYXRoIGQ9Ik02MC42MzMuMDA0Yy0uNjIzLS4wMTMtMS4zMDYuMDA5LTEuOTMuMDM3LTE0LjI3OCAyMi43NTcgNy43ODggMzkuNDAzIDIxLjQ0MiAzOS40MDNDOTIuNTU4IDE0Ljk3NCA3Ni45NzIuMzM0IDYwLjYzMy4wMDRaIiBmaWxsPSIjNzM5RUZGIi8+PC9zdmc+\";\n","import { useMemo, useRef } from 'react';\nimport VirtualList from 'rc-virtual-list';\nimport { Button } from 'antd';\nimport { DeleteOutlined } from '@ant-design/icons';\nimport { chunk } from 'lodash';\nimport { useSize } from 'ahooks';\nimport { UploadFile } from '../..';\nimport classNames from 'classnames';\nimport './index.less';\n\ninterface IProps {\n files: UploadFile[];\n fileType: 'image' | 'video';\n onRemoveFile: (index: number) => void;\n}\n\nconst FilePreviewList: React.FC = ({\n files,\n fileType,\n onRemoveFile,\n}) => {\n const containerRef = useRef(null);\n const containerSize = useSize(containerRef);\n const colume = containerSize?.width && containerSize.width > 800 ? 8 : 5;\n\n /** Group files by colume count */\n const imageGroups = useMemo(() => {\n return chunk(files, colume).map((item, index) => ({\n index,\n rowImages: item,\n }));\n }, [files, colume]);\n\n /** Calculate ItemSize & ImageSize */\n const itemSpace = 8;\n const rowPadding = 18;\n const imageAspectRatio = 0.75;\n const imageWidthRatio = 0.95;\n const imageNameHeight = 30;\n\n const itemWidth = useMemo(() => {\n return containerSize?.width\n ? (containerSize?.width - rowPadding * 2 - (colume - 1) * itemSpace) /\n colume\n : 0;\n }, [containerSize?.width, colume, itemSpace]);\n\n const imageWidth = useMemo(() => {\n return itemWidth * imageWidthRatio;\n }, [itemWidth, imageWidthRatio]);\n\n const imageHeight = useMemo(() => {\n return imageWidth * imageAspectRatio;\n }, [imageWidth, imageAspectRatio]);\n\n const itemHeight = useMemo(() => {\n return imageHeight + imageNameHeight + 16;\n }, [imageHeight, imageNameHeight]);\n\n return (\n
\n \n {(row, rowIdx) => {\n return (\n \n {row.rowImages.map((item, colIdx) => (\n \n {fileType === 'video' ? (\n \n ) : (\n \n )}\n
\n }\n shape={'circle'}\n danger\n onClick={(event) => {\n event.stopPropagation();\n onRemoveFile(rowIdx * colume + colIdx);\n }}\n />\n
\n
{item.name}
\n
\n ))}\n \n );\n }}\n \n \n );\n};\n\nexport default FilePreviewList;\n","import { useCallback, useRef, useState } from 'react';\nimport { Button, Spin, message } from 'antd';\nimport { useDrop } from 'ahooks';\nimport { cloneDeep } from 'lodash';\nimport { ReactComponent as UploadIcon } from './assets/upload.svg';\nimport { useLocale } from 'dds-utils/locale';\nimport { scanDataTransfer } from 'dds-utils/file';\nimport FilePreviewList from './components/FilePreviewList';\nimport classNames from 'classnames';\nimport './index.less';\n\nexport interface UploadFile {\n id: string;\n name: string;\n url: string;\n status?: 'success' | 'error';\n originFileObj?: File;\n path?: string;\n uploadUrl?: string;\n contentType?: string;\n duration?: number;\n frameCount?: number;\n frameRate?: number;\n targetFrameRate?: number;\n}\n\ninterface IProps {\n fileList: UploadFile[];\n setFileList: React.Dispatch>;\n fileType: 'video' | 'image';\n acceptTypes?: string[];\n maxCount?: number;\n maxSize?: number;\n maxDuratuion?: number;\n limitRemoveFile?: (index: number) => boolean;\n}\n\nconst Upload: React.FC = ({\n fileList,\n setFileList,\n acceptTypes,\n maxCount,\n maxSize,\n maxDuratuion,\n limitRemoveFile,\n fileType,\n}: IProps) => {\n const { localeText } = useLocale();\n const [loading, setLoading] = useState(false);\n const [draging, setDraging] = useState(false);\n const fileCancleRef = useRef(false);\n const inputRef = useRef(null);\n const accept = acceptTypes ? acceptTypes.join(', ') : undefined;\n\n const addFiles = async (files: File[]) => {\n setLoading(true);\n const newFiles: UploadFile[] = [];\n for (let file of files) {\n let [frameCount, frameRate, duration] = [0, 0, 0];\n if (maxSize && file.size && file.size / 1024 / 1024 > maxSize) {\n continue;\n }\n if (maxCount && newFiles.length + fileList.length > maxCount - 1) {\n continue;\n }\n if (fileList.find((item) => item.name === file.name)) {\n continue;\n }\n newFiles.push({\n id: file.name,\n name: file.name,\n url: URL.createObjectURL(file as Blob),\n originFileObj: file,\n frameCount,\n frameRate,\n duration,\n });\n }\n setLoading(false);\n if (newFiles.length > 0) {\n setFileList([...newFiles, ...fileList]);\n message.success(\n localeText('dds-upload.tip.successLoad', {\n count: newFiles.length,\n }),\n );\n }\n };\n\n const onRemoveFile = useCallback(\n (index: number) => {\n if (limitRemoveFile && limitRemoveFile(index)) return;\n const newList = cloneDeep(fileList);\n newList.splice(index, 1);\n setFileList(newList);\n },\n [fileList],\n );\n\n const handleUploadChange = (e: React.ChangeEvent) => {\n fileCancleRef.current = false;\n\n const files: File[] = e.target.files ? [...e.target.files] : [];\n if (files.length > 0) {\n addFiles(files);\n }\n\n setDraging(false);\n e.target.value = '';\n };\n\n const onClickUpload = useCallback(() => {\n if (maxCount && fileList.length >= maxCount) {\n message.warning(\n localeText('dds-upload.tip.fileCountLimitMsg', {\n count: maxCount,\n }),\n );\n return;\n }\n setDraging(true);\n inputRef.current?.click();\n\n // mock click file cancel\n fileCancleRef.current = true;\n window.addEventListener(\n 'focus',\n () => {\n setTimeout(() => {\n if (fileCancleRef.current) {\n setDraging(false);\n }\n }, 100);\n },\n { once: true },\n );\n }, [fileList, maxCount]);\n\n useDrop(window.document.body, {\n onFiles: async (_files, e) => {\n if (maxCount && fileList.length >= maxCount) {\n message.warning(\n localeText('dds-upload.tip.fileCountLimitMsg', {\n count: maxCount,\n }),\n );\n return;\n }\n const files = await scanDataTransfer(e?.dataTransfer, acceptTypes);\n addFiles(files);\n },\n onDragEnter: () => {\n setDraging(true);\n },\n onDrop: () => {\n setDraging(false);\n },\n onDragLeave: () => {\n setDraging(false);\n },\n });\n\n return (\n
\n \n {fileList.length <= 0 ? (\n \n \n

{localeText('dds-upload.title')}

\n

\n {fileType === 'video'\n ? localeText('dds-upload.limit.type.video')\n : localeText('dds-upload.limit.type.image')}\n

\n
\n ) : (\n \n
\n
\n
\n {localeText('dds-upload.title')}\n
\n
\n {fileType === 'video'\n ? localeText('dds-upload.limit.type.video')\n : localeText('dds-upload.limit.type.image')}\n
\n
\n \n
\n
\n {maxCount && (\n
\n {fileList.length} / {maxCount}\n
\n )}\n \n
\n \n )}\n {loading && (\n \n )}\n \n );\n};\n\nexport default Upload;\n","import { UploadOutlined } from '@ant-design/icons';\nimport { Alert, Button, Modal, UploadFile as AntdUploadFile } from 'antd';\nimport { UploadChangeParam } from 'antd/es/upload';\nimport { UploadPreAnno } from 'dds-components';\nimport Upload, { UploadFile } from 'dds-components/Upload';\nimport { globalLocaleText } from 'dds-utils/locale';\n\nimport './index.less';\n\nconst MAX_COUNT = 1000;\nconst MAX_SIZE = 10;\n\ninterface IProps {\n open: boolean;\n isInit: boolean;\n fileList: UploadFile[];\n setFileList: React.Dispatch>;\n onClickOk: () => void;\n onClickCancel: () => void;\n limitRemoveFile?: (index: number) => boolean;\n limitClose?: boolean;\n okText?: string;\n uploadPreAnnot: AntdUploadFile[];\n onChangePreAnnotFile: (info: UploadChangeParam>) => void;\n onRemovePreAnnotFile: (file: AntdUploadFile) => void;\n}\n\nconst QuickstartModal: React.FC = ({\n open,\n isInit,\n fileList,\n setFileList,\n onClickOk,\n onClickCancel,\n limitRemoveFile,\n okText,\n limitClose,\n uploadPreAnnot,\n onChangePreAnnotFile,\n onRemovePreAnnotFile,\n}: IProps) => {\n return (\n e.stopPropagation()}\n onMouseUp={(e) => e.stopPropagation()}\n >\n \n \n
\n {globalLocaleText('quicklabel.formModal.importImages')}\n
\n
\n \n
\n \n {isInit && (\n \n }\n className=\"dds-quicklabel-upload-preannot-btn\"\n >\n {globalLocaleText('quicklabel.formModal.importPreAnnots')}\n \n \n )}\n \n \n );\n};\n\nexport default QuickstartModal;\n","import { SettingOutlined } from '@ant-design/icons';\nimport { history } from '@umijs/max';\nimport { useKeyPress } from 'ahooks';\nimport { Button } from 'antd';\nimport {\n AnnotateEditor,\n BaseObject,\n EditorMode,\n} from 'dds-components/Annotator';\nimport { globalLocaleText } from 'dds-utils/locale';\nimport React, { useEffect } from 'react';\n\nimport ImageFilter from './components/ImageFilter';\nimport { ImageList } from './components/ImageList';\nimport QuickstartModal from './components/QuickstartModal';\nimport { QuickLabelModel } from './hooks/useQuickLabelModel';\n\nimport './index.less';\n\nconst QuickLabel: React.FC = (props) => {\n const {\n images,\n filterImages,\n current,\n categories,\n qsModalVisible,\n uploadFiles,\n uploadPreAnnot,\n filterCategoryName,\n setImages,\n setCurrent,\n setCategories,\n setQsModalVisible,\n setUploadFiles,\n limitRemoveFile,\n onCancelUploadFiles,\n onConfirmUploadFiles,\n exportAnnotations,\n onChangePreAnnotFile,\n onRemovePreAnnotFile,\n onSelectFilterCategory,\n onClearFilterCategory,\n } = props;\n\n useEffect(() => {\n if (images.length <= 0) {\n setQsModalVisible(true);\n }\n }, []);\n\n useKeyPress(\n 'uparrow',\n () => {\n setCurrent(Math.max(0, current - 1));\n },\n { exactMatch: true },\n );\n\n useKeyPress(\n 'downarrow',\n () => {\n setCurrent(Math.min(current + 1, images.length - 1));\n },\n { exactMatch: true },\n );\n\n const onAutoSave = (annos: BaseObject[], naturalSize: ISize) => {\n if (!filterImages[current]) return;\n const originalIndex = filterImages[current].originalIndex;\n setImages((images) => {\n if (images[originalIndex]) {\n images[originalIndex].objects = annos;\n images[originalIndex].width = naturalSize.width;\n images[originalIndex].height = naturalSize.height;\n }\n });\n };\n\n return (\n
\n {\n event.stopPropagation();\n }}\n onMouseUp={(event) => {\n event.stopPropagation();\n }}\n >\n }\n onClick={() => {\n setQsModalVisible(true);\n }}\n >\n {globalLocaleText('quicklabel.setting')}\n \n {\n setCurrent(index);\n }}\n />\n
\n
\n ,\n ]}\n actionElements={[\n ,\n ]}\n onAutoSave={onAutoSave}\n onCancel={() => history.push('/')}\n />\n
\n \n \n );\n};\n\nexport default QuickLabel;\n","import { Spin } from 'antd';\nimport React from 'react';\ninterface IGlobalLoadingProps {\n children: React.ReactNode;\n active: boolean;\n tip?: string;\n}\n\nconst GlobalLoading: React.FC = ({\n children,\n active,\n tip,\n}) => {\n return (\n \n {children}\n \n );\n};\n\nexport default GlobalLoading;\n","import { Button, Tooltip } from 'antd';\nimport { TooltipPlacement } from 'antd/es/tooltip';\nimport React, { useMemo } from 'react';\nimport './index.less';\n\nexport enum LocaleLang {\n en = 'en-US',\n zh = 'zh-CN',\n}\n\ninterface IProps {\n getLocale: () => LocaleLang;\n setLocale: (targetLocale: LocaleLang) => void;\n tooltipPlacement?: TooltipPlacement;\n theme?: 'light' | 'dark';\n className?: string;\n}\n\nconst LangSelector: React.FC = ({\n getLocale,\n setLocale,\n tooltipPlacement = 'right',\n theme = 'light',\n className,\n}) => {\n const curLocale: LocaleLang = getLocale();\n const changelocaleLang = () => {\n const targetLocale =\n curLocale === LocaleLang.zh ? LocaleLang.en : LocaleLang.zh;\n setLocale(targetLocale);\n };\n\n const [enClassName, zhClassName] = useMemo(() => {\n if (curLocale === LocaleLang.zh) {\n return [`change-lang change-lang-${theme}`, `cur-lang cur-lang-${theme}`];\n } else {\n return [`cur-lang cur-lang-${theme}`, `change-lang change-lang-${theme}`];\n }\n }, [theme, curLocale]);\n return (\n \n \n
\n \n En\n
\n \n \n );\n};\n\nexport default LangSelector;\n","import { Button, Modal, Result } from 'antd';\nimport React from 'react';\n\ninterface IProps {\n error: Error;\n componentStack: string;\n resetError: () => void;\n}\n\nconst RunningErrorTip: React.FC = ({\n error,\n componentStack,\n resetError,\n}) => {\n const showErrorDetail = () => {\n Modal.error({\n title: error.toString(),\n content: (\n
\n

{componentStack}

\n
\n ),\n onOk() {},\n maskClosable: true,\n width: '80vw',\n });\n };\n\n return (\n \n \n Click here to reset\n ,\n ,\n ]}\n />\n \n );\n};\n\nexport default RunningErrorTip;\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgSettings = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ width: 24, height: 24, fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props), /* @__PURE__ */ React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M16 4.4c0-.22.18-.4.4-.4h1.2c.22 0 .4.18.4.4V6h3.6c.22 0 .4.18.4.4v1.2a.4.4 0 0 1-.4.4H18v1.6a.4.4 0 0 1-.4.4h-1.2a.4.4 0 0 1-.4-.4V4.4ZM2.4 6a.4.4 0 0 0-.4.4v1.2c0 .22.18.4.4.4h11.2a.4.4 0 0 0 .4-.4V6.4a.4.4 0 0 0-.4-.4H2.4Zm8 10a.4.4 0 0 0-.4.4v1.2c0 .22.18.4.4.4h11.2a.4.4 0 0 0 .4-.4v-1.2a.4.4 0 0 0-.4-.4H10.4Zm-8 0a.4.4 0 0 0-.4.4v1.2c0 .22.18.4.4.4H6v1.6c0 .22.18.4.4.4h1.2a.4.4 0 0 0 .4-.4v-5.2a.4.4 0 0 0-.4-.4H6.4a.4.4 0 0 0-.4.4V16H2.4Z\", fill: \"#434343\" }));\nexport { SvgSettings as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNiA0LjRjMC0uMjIuMTgtLjQuNC0uNGgxLjJjLjIyIDAgLjQuMTguNC40VjZoMy42Yy4yMiAwIC40LjE4LjQuNHYxLjJhLjQuNCAwIDAgMS0uNC40SDE4djEuNmEuNC40IDAgMCAxLS40LjRoLTEuMmEuNC40IDAgMCAxLS40LS40VjQuNFpNMi40IDZhLjQuNCAwIDAgMC0uNC40djEuMmMwIC4yMi4xOC40LjQuNGgxMS4yYS40LjQgMCAwIDAgLjQtLjRWNi40YS40LjQgMCAwIDAtLjQtLjRIMi40Wm04IDEwYS40LjQgMCAwIDAtLjQuNHYxLjJjMCAuMjIuMTguNC40LjRoMTEuMmEuNC40IDAgMCAwIC40LS40di0xLjJhLjQuNCAwIDAgMC0uNC0uNEgxMC40Wm0tOCAwYS40LjQgMCAwIDAtLjQuNHYxLjJjMCAuMjIuMTguNC40LjRINnYxLjZjMCAuMjIuMTguNC40LjRoMS4yYS40LjQgMCAwIDAgLjQtLjR2LTUuMmEuNC40IDAgMCAwLS40LS40SDYuNGEuNC40IDAgMCAwLS40LjRWMTZIMi40WiIgZmlsbD0iIzQzNDM0MyIvPjwvc3ZnPg==\";\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgPlus = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ width: 16, height: 16, fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props), /* @__PURE__ */ React.createElement(\"path\", { d: \"M8.536 1.572H7.464c-.095 0-.143.048-.143.143v5.607h-5.32c-.096 0-.144.048-.144.143v1.072c0 .095.048.142.143.142h5.321v5.608c0 .095.048.142.143.142h1.072c.095 0 .142-.047.142-.142V8.679H14c.095 0 .143-.047.143-.142V7.465c0-.095-.048-.143-.143-.143H8.678V1.715c0-.095-.047-.143-.142-.143Z\", fill: \"#595959\" }));\nexport { SvgPlus as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTguNTM2IDEuNTcySDcuNDY0Yy0uMDk1IDAtLjE0My4wNDgtLjE0My4xNDN2NS42MDdoLTUuMzJjLS4wOTYgMC0uMTQ0LjA0OC0uMTQ0LjE0M3YxLjA3MmMwIC4wOTUuMDQ4LjE0Mi4xNDMuMTQyaDUuMzIxdjUuNjA4YzAgLjA5NS4wNDguMTQyLjE0My4xNDJoMS4wNzJjLjA5NSAwIC4xNDItLjA0Ny4xNDItLjE0MlY4LjY3OUgxNGMuMDk1IDAgLjE0My0uMDQ3LjE0My0uMTQyVjcuNDY1YzAtLjA5NS0uMDQ4LS4xNDMtLjE0My0uMTQzSDguNjc4VjEuNzE1YzAtLjA5NS0uMDQ3LS4xNDMtLjE0Mi0uMTQzWiIgZmlsbD0iIzU5NTk1OSIvPjwvc3ZnPg==\";\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgMinus = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ width: 16, height: 16, fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props), /* @__PURE__ */ React.createElement(\"path\", { d: \"M14.429 7.322H1.572a.143.143 0 0 0-.143.143v1.072c0 .078.064.142.143.142h12.857a.143.143 0 0 0 .143-.142V7.465a.143.143 0 0 0-.143-.143Z\", fill: \"#595959\" }));\nexport { SvgMinus as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE0LjQyOSA3LjMyMkgxLjU3MmEuMTQzLjE0MyAwIDAgMC0uMTQzLjE0M3YxLjA3MmMwIC4wNzguMDY0LjE0Mi4xNDMuMTQyaDEyLjg1N2EuMTQzLjE0MyAwIDAgMCAuMTQzLS4xNDJWNy40NjVhLjE0My4xNDMgMCAwIDAtLjE0My0uMTQzWiIgZmlsbD0iIzU5NTk1OSIvPjwvc3ZnPg==\";\n","import React from 'react';\nimport { Dropdown, Slider } from 'antd';\nimport { ReactComponent as SettingsIcon } from './assets/settings.svg';\nimport { ReactComponent as PlusIcon } from './assets/plus.svg';\nimport { ReactComponent as MinusIcon } from './assets/minus.svg';\nimport { useLocale } from 'dds-utils/locale';\nimport './index.less';\n\nexport interface IProps {\n cloumnCount: number;\n maxCloumnCount?: number;\n onColumnCountChange: (countState: number | boolean) => void;\n getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement;\n}\n\nconst ColumnSettings: React.FC = (props) => {\n const { localeText } = useLocale();\n const {\n cloumnCount,\n maxCloumnCount = 8,\n onColumnCountChange,\n getPopupContainer,\n } = props;\n\n return (\n (\n
\n
{localeText('ColumnSettings.title')}
\n
\n onColumnCountChange(value)}\n value={cloumnCount}\n className=\"slider\"\n />\n
\n onColumnCountChange(false)} />\n
{cloumnCount}
\n onColumnCountChange(true)} />\n
\n
\n
\n )}\n >\n
\n \n
\n \n );\n};\n\nexport default ColumnSettings;\n","import React from 'react';\nimport { Result } from 'antd';\nimport { globalLocaleText } from 'dds-utils/locale';\n\nconst MobileAlert: React.FC = () => (\n \n \n \n);\n\nexport default MobileAlert;\n","import React, { useState } from 'react';\nimport { Pagination, InputNumber } from 'antd';\nimport { useLocale } from 'dds-utils/locale';\nimport { isNaN } from 'lodash';\nimport './index.less';\n\nexport interface IProps {\n current: number;\n size: number;\n total: number;\n onPageChange: (page: number) => void;\n onPageSizeChange: (current: number, size: number) => void;\n}\n\nconst DynamicPagination: React.FC = (props) => {\n const { current, size, total, onPageChange, onPageSizeChange } = props;\n const [customPageSize, setCustomPageSize] = useState(size);\n const { localeText } = useLocale();\n\n return (\n
\n onPageChange(page)}\n />\n
\n
\n {localeText('DynamicPagination.label')}\n
\n {\n setCustomPageSize(Number(e));\n }}\n onBlur={(e) => {\n if (isNaN(Number(e.target.value)) || Number(e.target.value) <= 0) {\n onPageSizeChange(current, 1);\n } else {\n onPageSizeChange(current, Number(e.target.value));\n }\n }}\n onPressEnter={(e) => {\n (e.target as any).blur(e);\n }}\n />\n
\n
\n );\n};\n\nexport default DynamicPagination;\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nimport * as React from \"react\";\nconst SvgUploadFile = (props) => /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({ viewBox: \"0 0 56 56\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props), /* @__PURE__ */ React.createElement(\"g\", { clipPath: \"url(#upload_file_svg__a)\" }, /* @__PURE__ */ React.createElement(\"path\", { d: \"m46.55 12.917-8.132-8.131A16.227 16.227 0 0 0 26.868.002H16.333C9.9 0 4.667 5.234 4.667 11.667v32.666C4.667 50.766 9.9 56 16.333 56h23.334c6.433 0 11.666-5.234 11.666-11.667V24.465c0-4.363-1.698-8.46-4.783-11.548Zm-3.3 3.3c.743.742 1.37 1.565 1.879 2.45H35a2.337 2.337 0 0 1-2.333-2.334V6.204c.884.509 1.71 1.137 2.45 1.879l8.131 8.131.003.003Zm3.417 28.116c0 3.86-3.141 7-7 7H16.333c-3.859 0-7-3.14-7-7V11.667c0-3.86 3.141-7 7-7h10.535c.38 0 .759.018 1.132.053v11.613c0 3.86 3.14 7 7 7h11.613c.035.374.054.752.054 1.132v19.868ZM36.65 33.79a2.33 2.33 0 0 1 0 3.3 2.327 2.327 0 0 1-1.65.683 2.327 2.327 0 0 1-1.65-.684l-3.017-3.017v10.262a2.334 2.334 0 0 1-4.666 0V34.071l-3.017 3.017a2.33 2.33 0 0 1-3.3 0 2.33 2.33 0 0 1 0-3.299l3.766-3.766c2.693-2.693 7.075-2.693 9.77 0l3.766 3.766h-.002Z\", fill: \"#739EFF\" })), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"clipPath\", { id: \"upload_file_svg__a\" }, /* @__PURE__ */ React.createElement(\"path\", { fill: \"#fff\", d: \"M0 0h56v56H0z\" }))));\nexport { SvgUploadFile as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNTYgNTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJtNDYuNTUgMTIuOTE3LTguMTMyLTguMTMxQTE2LjIyNyAxNi4yMjcgMCAwIDAgMjYuODY4LjAwMkgxNi4zMzNDOS45IDAgNC42NjcgNS4yMzQgNC42NjcgMTEuNjY3djMyLjY2NkM0LjY2NyA1MC43NjYgOS45IDU2IDE2LjMzMyA1NmgyMy4zMzRjNi40MzMgMCAxMS42NjYtNS4yMzQgMTEuNjY2LTExLjY2N1YyNC40NjVjMC00LjM2My0xLjY5OC04LjQ2LTQuNzgzLTExLjU0OFptLTMuMyAzLjNjLjc0My43NDIgMS4zNyAxLjU2NSAxLjg3OSAyLjQ1SDM1YTIuMzM3IDIuMzM3IDAgMCAxLTIuMzMzLTIuMzM0VjYuMjA0Yy44ODQuNTA5IDEuNzEgMS4xMzcgMi40NSAxLjg3OWw4LjEzMSA4LjEzMS4wMDMuMDAzWm0zLjQxNyAyOC4xMTZjMCAzLjg2LTMuMTQxIDctNyA3SDE2LjMzM2MtMy44NTkgMC03LTMuMTQtNy03VjExLjY2N2MwLTMuODYgMy4xNDEtNyA3LTdoMTAuNTM1Yy4zOCAwIC43NTkuMDE4IDEuMTMyLjA1M3YxMS42MTNjMCAzLjg2IDMuMTQgNyA3IDdoMTEuNjEzYy4wMzUuMzc0LjA1NC43NTIuMDU0IDEuMTMydjE5Ljg2OFpNMzYuNjUgMzMuNzlhMi4zMyAyLjMzIDAgMCAxIDAgMy4zIDIuMzI3IDIuMzI3IDAgMCAxLTEuNjUuNjgzIDIuMzI3IDIuMzI3IDAgMCAxLTEuNjUtLjY4NGwtMy4wMTctMy4wMTd2MTAuMjYyYTIuMzM0IDIuMzM0IDAgMCAxLTQuNjY2IDBWMzQuMDcxbC0zLjAxNyAzLjAxN2EyLjMzIDIuMzMgMCAwIDEtMy4zIDAgMi4zMyAyLjMzIDAgMCAxIDAtMy4yOTlsMy43NjYtMy43NjZjMi42OTMtMi42OTMgNy4wNzUtMi42OTMgOS43NyAwbDMuNzY2IDMuNzY2aC0uMDAyWiIgZmlsbD0iIzczOUVGRiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoNTZ2NTZIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=\";\n","import Icon from '@ant-design/icons';\nimport { Card, Upload, UploadFile } from 'antd';\nimport { ReactNode } from 'react';\nimport { ReactComponent as UploadFileIcon } from './assets/upload_file.svg';\nimport { UploadChangeParam } from 'antd/es/upload';\nimport { useLocale } from 'dds-utils/locale';\nimport './index.less';\n\nconst DEFAULT_PRE_ANNO_MAX_SIZE = 20;\n\ninterface IProps {\n children?: ReactNode;\n uploadFiles: UploadFile[];\n onChangeFile: (info: UploadChangeParam>) => void;\n onRemoveFile: (file: UploadFile) => void;\n}\n\nconst UploadPreAnno: React.FC = ({\n uploadFiles,\n onChangeFile,\n onRemoveFile,\n children,\n}) => {\n const { localeText } = useLocale();\n\n return (\n false}\n fileList={uploadFiles}\n onChange={onChangeFile}\n onRemove={onRemoveFile}\n accept={'.json'}\n showUploadList={true}\n >\n {children ? (\n children\n ) : (\n \n }\n title={localeText('dds-upload-pre-anno')}\n description={localeText('dds-upload-pre-anno.tip', {\n maxSize: DEFAULT_PRE_ANNO_MAX_SIZE,\n })}\n />\n \n )}\n \n );\n};\n\nexport default UploadPreAnno;\n","import { useMemoizedFn, useUpdate } from 'ahooks';\nimport { parse, stringify } from 'query-string';\nimport { useMemo, useRef } from 'react';\nimport * as tmp from 'react-router';\n// ignore waring `\"export 'useNavigate' (imported as 'rc') was not found in 'react-router'`\nconst rc = tmp;\nconst baseParseConfig = {\n parseNumbers: false,\n parseBooleans: false\n};\nconst baseStringifyConfig = {\n skipNull: false,\n skipEmptyString: false\n};\nconst useUrlState = (initialState, options) => {\n var _a, _b;\n const {\n navigateMode = 'push',\n parseOptions,\n stringifyOptions\n } = options || {};\n const mergedParseOptions = Object.assign(Object.assign({}, baseParseConfig), parseOptions);\n const mergedStringifyOptions = Object.assign(Object.assign({}, baseStringifyConfig), stringifyOptions);\n const location = rc.useLocation();\n // react-router v5\n const history = (_a = rc.useHistory) === null || _a === void 0 ? void 0 : _a.call(rc);\n // react-router v6\n const navigate = (_b = rc.useNavigate) === null || _b === void 0 ? void 0 : _b.call(rc);\n const update = useUpdate();\n const initialStateRef = useRef(typeof initialState === 'function' ? initialState() : initialState || {});\n const queryFromUrl = useMemo(() => {\n return parse(location.search, mergedParseOptions);\n }, [location.search]);\n const targetQuery = useMemo(() => Object.assign(Object.assign({}, initialStateRef.current), queryFromUrl), [queryFromUrl]);\n const setState = s => {\n const newQuery = typeof s === 'function' ? s(targetQuery) : s;\n // 1. 如果 setState 后,search 没变化,就需要 update 来触发一次更新。比如 demo1 直接点击 clear,就需要 update 来触发更新。\n // 2. update 和 history 的更新会合并,不会造成多次更新\n update();\n if (history) {\n history[navigateMode]({\n hash: location.hash,\n search: stringify(Object.assign(Object.assign({}, queryFromUrl), newQuery), mergedStringifyOptions) || '?'\n }, location.state);\n }\n if (navigate) {\n navigate({\n hash: location.hash,\n search: stringify(Object.assign(Object.assign({}, queryFromUrl), newQuery), mergedStringifyOptions) || '?'\n }, {\n replace: navigateMode === 'replace',\n state: location.state\n });\n }\n };\n return [targetQuery, useMemoizedFn(setState)];\n};\nexport default useUrlState;","import { useEffect } from 'react';\nimport useUrlState from '@ahooksjs/use-url-state';\n\n/**\n * Page lifecycle hooks\n * - Route-related operations need to be implemented through the page\n * - Direct invocation of related hooks is not supported within the model.\n */\nexport default function usePageModelLifeCycle(object: {\n /** Bind with the page query, and update the URL parameters correspondingly when modified. */\n pageState?: T;\n /** Initialize page data based on URL when entering the page. */\n onInitPageState?: (urlPageState: T, query: Record) => void;\n /** Entering page */\n onPageDidMount?: (query: Record) => void;\n /** Leaving page */\n onPageWillUnmount?: () => void;\n}) {\n const { pageState, onInitPageState, onPageDidMount, onPageWillUnmount } =\n object;\n\n // Real url query.\n // @ts-ignore\n const [query, updateQuery] = useUrlState>(\n {},\n { navigateMode: 'replace' },\n );\n\n useEffect(() => {\n // Trigger initialization of page state.\n if (onInitPageState) {\n let urlPageState = {};\n try {\n urlPageState = query.pageState ? JSON.parse(query.pageState) : {};\n } catch (error) {\n console.error('get urlPageState error: ', error);\n }\n onInitPageState(urlPageState as T, query);\n }\n // Trigger entering page lifecycle.\n if (onPageDidMount) {\n onPageDidMount(query);\n }\n return () => {\n // Trigger leaving page lifecycle.\n if (onPageWillUnmount) onPageWillUnmount();\n };\n }, []);\n\n // Bind pageState to update URL in real time.\n useEffect(() => {\n updateQuery({\n ...query,\n pageState: JSON.stringify(pageState),\n });\n }, [pageState]);\n\n return;\n}\n","import { useState, useEffect } from 'react';\n\nexport default function useWindowResize() {\n const [width, setWidth] = useState(window.innerWidth);\n const [height, setHeight] = useState(window.innerHeight);\n\n const listener = () => {\n setWidth(window.innerWidth);\n setHeight(window.innerHeight);\n };\n\n useEffect(() => {\n window.addEventListener('resize', listener);\n return () => {\n window.removeEventListener('resize', listener);\n };\n }, []);\n\n return {\n width,\n height,\n };\n}\n","/**\n * Round the decimal to n digits (take the first few digits)\n * @param value\n * @param n\n * @returns\n */\nexport const floorFloatNum = (value: number, n: number = 2) => {\n return Math.floor(value * Math.pow(10, n)) / Math.pow(10, n);\n};\n\n/**\n * Round the decimal to n digits (rounding off)\n * @param value\n * @param n\n * @returns\n */\nexport const fixedFloatNum = (value: number, n: number = 2) => {\n return Number(value.toFixed(n));\n};\n","import { floorFloatNum } from './digit';\n\nexport function genFileNameByTimestamp(\n timestamp: number,\n name?: string,\n ext?: string,\n) {\n const date = new Date(timestamp);\n const year = date.getFullYear();\n const month = floorFloatNum(date.getMonth() + 1);\n const day = floorFloatNum(date.getDate());\n const hours = floorFloatNum(date.getHours());\n const minutes = floorFloatNum(date.getMinutes());\n const seconds = floorFloatNum(date.getSeconds());\n const milliseconds = floorFloatNum(date.getMilliseconds(), 3);\n\n let fileName = `${year}_${month}_${day}_${hours}_${minutes}_${seconds}_${milliseconds}`;\n if (name) {\n fileName = `${name}_${fileName}`;\n }\n if (ext) {\n fileName = `${fileName}.${ext}`;\n }\n return fileName;\n}\n\nexport function saveObejctToJsonFile(data: object, fileName: string) {\n const jsonString = JSON.stringify(data);\n const blob = new Blob([jsonString], { type: 'application/json' });\n const url = URL.createObjectURL(blob);\n\n const link = document.createElement('a');\n link.href = url;\n link.download = fileName;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n URL.revokeObjectURL(url);\n}\n\nexport const loadImage = (src: string) => {\n return new Promise((resolve, reject) => {\n const imgNode = new Image();\n imgNode.src = src;\n\n imgNode.onload = () => {\n resolve(imgNode);\n };\n\n imgNode.onerror = () => {\n reject(imgNode);\n };\n });\n};\n\nexport async function scanFiles(\n entry: any,\n filesList: any[],\n acceptTypes?: string[],\n) {\n return new Promise((resolve, reject) => {\n if (entry.isDirectory) {\n const directoryReader = entry.createReader();\n directoryReader.readEntries(\n async (entries: any[]) => {\n for (let index = 0; index < entries.length; index++) {\n await scanFiles(entries[index], filesList, acceptTypes);\n if (index === entries.length - 1) {\n resolve(1);\n }\n }\n },\n (e: any) => {\n reject(e);\n },\n );\n } else {\n entry.file(\n async (file: any) => {\n const path = entry.fullPath.substring(1);\n /**修改webkitRelativePath 是核心操作,原因是拖拽会的事件体中webkitRelativePath是空的,而且webkitRelativePath 是只读属性,普通赋值是不行的。所以目前只能使用这种方法将entry.fullPath 赋值给webkitRelativePath**/\n const newFile: File = Object.defineProperty(\n file,\n 'webkitRelativePath',\n {\n value: path,\n },\n );\n if (!acceptTypes || acceptTypes.includes(newFile.type)) {\n filesList.push(newFile);\n }\n resolve(1);\n return;\n },\n (e: any) => {\n reject(e);\n },\n );\n }\n });\n}\n\nexport async function scanDataTransfer(\n dataTransfer?: DataTransfer,\n acceptTypes?: string[],\n) {\n if (!dataTransfer) return [];\n const filesList: File[] = [];\n\n // files filter\n for (const item of dataTransfer.files) {\n if (item && (!acceptTypes || acceptTypes.includes(item.type))) {\n filesList.push(item);\n }\n }\n\n // sub directory\n if (dataTransfer.items.length > 0) {\n for (const item of dataTransfer.items) {\n const itemEntry = item.webkitGetAsEntry();\n if (itemEntry?.isDirectory) {\n await scanFiles(itemEntry, filesList, acceptTypes);\n }\n }\n }\n return filesList;\n}\n\nexport async function getImageDimensions(url: string): Promise {\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.src = url;\n img.onload = () => {\n const width = img.width;\n const height = img.height;\n resolve({ width, height });\n };\n img.onerror = () => {\n reject(new Error('Load Image Error'));\n };\n });\n}","import { FormattedMessage, formatMessage, useIntl } from '@umijs/max';\n\n/**\n * Use For: single function / global model / layout / app.tsx\n * The corresponding multilingual only takes effect after refreshing the page.\n * @param id\n * @param templateParams\n * @returns\n */\n\nexport const globalLocaleText = (\n id: string,\n templateParams: Record = {},\n) => {\n return formatMessage({ id }, templateParams);\n};\n\n/**\n * Use For: Render function\n * id\n * values\n */\nexport const LocaleText = FormattedMessage;\n\n/**\n * Use For: Fuction Components\n */\nexport const useLocale = () => {\n const intl = useIntl();\n const localeText = (id: string, templateParams: Record = {}) => {\n return intl.formatMessage({ id }, templateParams);\n };\n return {\n localeText,\n };\n};\n","// @ts-ignore typings to rediect src/.umi\nimport { history } from '@umijs/max';\n\nexport const getUrlQueryVal = (name: string) => {\n let reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');\n let r = window.location.search.substr(1).match(reg);\n if (r !== null) {\n return decodeURIComponent(r[2]);\n }\n return null;\n};\n\nexport const getUrlPathnameLastKey = () => {\n const keys = window.location.pathname.split('/');\n return keys[keys.length - 1];\n};\n\nexport const backPath = (backPath: string) => {\n if (document.referrer.includes(backPath)) {\n window.history.back();\n } else {\n history.push(backPath);\n }\n};\n","'use strict';\nconst strictUriEncode = require('strict-uri-encode');\nconst decodeComponent = require('decode-uri-component');\nconst splitOnFirst = require('split-on-first');\nconst filterObject = require('filter-obj');\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[', index, ']'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join('')\n\t\t\t\t];\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[]'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '[]=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (value === null || value === undefined || value.length === 0) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), '=', encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, encode(key, options)];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '=', encode(value, options)].join('')];\n\t\t\t};\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)\\]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[\\])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : value === null ? value : decode(value, options);\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nfunction parseValue(value, options) {\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\tvalue = Number(value);\n\t} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\tvalue = value.toLowerCase() === 'true';\n\t}\n\n\treturn value;\n}\n\nfunction parse(query, options) {\n\toptions = Object.assign({\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst ret = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn ret;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn ret;\n\t}\n\n\tfor (const param of query.split('&')) {\n\t\tif (param === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet [key, value] = splitOnFirst(options.decode ? param.replace(/\\+/g, ' ') : param, '=');\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : ['comma', 'separator'].includes(options.arrayFormat) ? value : decode(value, options);\n\t\tformatter(decode(key, options), value, ret);\n\t}\n\n\tfor (const key of Object.keys(ret)) {\n\t\tconst value = ret[key];\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const k of Object.keys(value)) {\n\t\t\t\tvalue[k] = parseValue(value[k], options);\n\t\t\t}\n\t\t} else {\n\t\t\tret[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn ret;\n\t}\n\n\treturn (options.sort === true ? Object.keys(ret).sort() : Object.keys(ret).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = ret[key];\n\t\tif (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(value);\n\t\t} else {\n\t\t\tresult[key] = value;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexports.extract = extract;\nexports.parse = parse;\n\nexports.stringify = (object, options) => {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ','\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key])) ||\n\t\t(options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const key of Object.keys(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = object[key];\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n};\n\nexports.parseUrl = (url, options) => {\n\toptions = Object.assign({\n\t\tdecode: true\n\t}, options);\n\n\tconst [url_, hash] = splitOnFirst(url, '#');\n\n\treturn Object.assign(\n\t\t{\n\t\t\turl: url_.split('?')[0] || '',\n\t\t\tquery: parse(extract(url), options)\n\t\t},\n\t\toptions && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}\n\t);\n};\n\nexports.stringifyUrl = (object, options) => {\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true\n\t}, options);\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = exports.extract(object.url);\n\tconst parsedQueryFromUrl = exports.parse(queryFromUrl, {sort: false});\n\n\tconst query = Object.assign(parsedQueryFromUrl, object.query);\n\tlet queryString = exports.stringify(query, options);\n\tif (queryString) {\n\t\tqueryString = `?${queryString}`;\n\t}\n\n\tlet hash = getHash(object.url);\n\tif (object.fragmentIdentifier) {\n\t\thash = `#${encode(object.fragmentIdentifier, options)}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n};\n\nexports.pick = (input, filter, options) => {\n\toptions = Object.assign({\n\t\tparseFragmentIdentifier: true\n\t}, options);\n\n\tconst {url, query, fragmentIdentifier} = exports.parseUrl(input, options);\n\treturn exports.stringifyUrl({\n\t\turl,\n\t\tquery: filterObject(query, filter),\n\t\tfragmentIdentifier\n\t}, options);\n};\n\nexports.exclude = (input, filter, options) => {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn exports.pick(input, exclusionFilter, options);\n};\n","'use strict';\n\nmodule.exports = (string, separator) => {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (separator === '') {\n\t\treturn [string];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [string];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n};\n","'use strict';\nmodule.exports = str => encodeURIComponent(str).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"element\"];\nimport React from 'react';\nimport { matchRoutes, useLocation } from 'react-router-dom';\nimport { useRouteData } from \"./routeContext\";\nexport var AppContext = /*#__PURE__*/React.createContext({});\nexport function useAppData() {\n return React.useContext(AppContext);\n}\nexport function useSelectedRoutes() {\n var location = useLocation();\n\n var _useAppData = useAppData(),\n clientRoutes = _useAppData.clientRoutes; // use `useLocation` get location without `basename`, not need `basename` param\n\n\n var routes = matchRoutes(clientRoutes, location.pathname);\n return routes || [];\n}\nexport function useRouteProps() {\n var _currentRoute$;\n\n var currentRoute = useSelectedRoutes().slice(-1);\n\n var _ref = ((_currentRoute$ = currentRoute[0]) === null || _currentRoute$ === void 0 ? void 0 : _currentRoute$.route) || {},\n _ = _ref.element,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return props;\n}\nexport function useServerLoaderData() {\n var route = useRouteData();\n var appData = useAppData();\n return {\n data: appData.serverLoaderData[route.route.id]\n };\n}\nexport function useClientLoaderData() {\n var route = useRouteData();\n var appData = useAppData();\n return {\n data: appData.clientLoaderData[route.route.id]\n };\n}","import useLatest from '../useLatest';\nimport { getTargetElement } from '../utils/domTarget';\nimport useEffectWithTarget from '../utils/useEffectWithTarget';\nfunction useEventListener(eventName, handler, options) {\n if (options === void 0) {\n options = {};\n }\n var handlerRef = useLatest(handler);\n useEffectWithTarget(function () {\n var targetElement = getTargetElement(options.target, window);\n if (!(targetElement === null || targetElement === void 0 ? void 0 : targetElement.addEventListener)) {\n return;\n }\n var eventListener = function (event) {\n return handlerRef.current(event);\n };\n targetElement.addEventListener(eventName, eventListener, {\n capture: options.capture,\n once: options.once,\n passive: options.passive\n });\n return function () {\n targetElement.removeEventListener(eventName, eventListener, {\n capture: options.capture\n });\n };\n }, [eventName, options.capture, options.once, options.passive], options.target);\n}\nexport default useEventListener;","import isEqual from 'lodash/isEqual';\nexport var depsEqual = function (aDeps, bDeps) {\n if (aDeps === void 0) {\n aDeps = [];\n }\n if (bDeps === void 0) {\n bDeps = [];\n }\n return isEqual(aDeps, bDeps);\n};","import { useRef } from 'react';\nimport useEffectWithTarget from './useEffectWithTarget';\nimport { depsEqual } from './depsEqual';\nvar useDeepCompareEffectWithTarget = function (effect, deps, target) {\n var ref = useRef();\n var signalRef = useRef(0);\n if (!depsEqual(deps, ref.current)) {\n ref.current = deps;\n signalRef.current += 1;\n }\n useEffectWithTarget(effect, [signalRef.current], target);\n};\nexport default useDeepCompareEffectWithTarget;","var isAppleDevice = /(mac|iphone|ipod|ipad)/i.test(typeof navigator !== 'undefined' ? navigator === null || navigator === void 0 ? void 0 : navigator.platform : '');\nexport default isAppleDevice;","import { __values } from \"tslib\";\nimport useLatest from '../useLatest';\nimport { isFunction, isNumber, isString } from '../utils';\nimport { getTargetElement } from '../utils/domTarget';\nimport useDeepCompareEffectWithTarget from '../utils/useDeepCompareWithTarget';\nimport isAppleDevice from '../utils/isAppleDevice';\n// 键盘事件 keyCode 别名\nvar aliasKeyCodeMap = {\n '0': 48,\n '1': 49,\n '2': 50,\n '3': 51,\n '4': 52,\n '5': 53,\n '6': 54,\n '7': 55,\n '8': 56,\n '9': 57,\n backspace: 8,\n tab: 9,\n enter: 13,\n shift: 16,\n ctrl: 17,\n alt: 18,\n pausebreak: 19,\n capslock: 20,\n esc: 27,\n space: 32,\n pageup: 33,\n pagedown: 34,\n end: 35,\n home: 36,\n leftarrow: 37,\n uparrow: 38,\n rightarrow: 39,\n downarrow: 40,\n insert: 45,\n delete: 46,\n a: 65,\n b: 66,\n c: 67,\n d: 68,\n e: 69,\n f: 70,\n g: 71,\n h: 72,\n i: 73,\n j: 74,\n k: 75,\n l: 76,\n m: 77,\n n: 78,\n o: 79,\n p: 80,\n q: 81,\n r: 82,\n s: 83,\n t: 84,\n u: 85,\n v: 86,\n w: 87,\n x: 88,\n y: 89,\n z: 90,\n leftwindowkey: 91,\n rightwindowkey: 92,\n meta: isAppleDevice ? [91, 93] : [91, 92],\n selectkey: 93,\n numpad0: 96,\n numpad1: 97,\n numpad2: 98,\n numpad3: 99,\n numpad4: 100,\n numpad5: 101,\n numpad6: 102,\n numpad7: 103,\n numpad8: 104,\n numpad9: 105,\n multiply: 106,\n add: 107,\n subtract: 109,\n decimalpoint: 110,\n divide: 111,\n f1: 112,\n f2: 113,\n f3: 114,\n f4: 115,\n f5: 116,\n f6: 117,\n f7: 118,\n f8: 119,\n f9: 120,\n f10: 121,\n f11: 122,\n f12: 123,\n numlock: 144,\n scrolllock: 145,\n semicolon: 186,\n equalsign: 187,\n comma: 188,\n dash: 189,\n period: 190,\n forwardslash: 191,\n graveaccent: 192,\n openbracket: 219,\n backslash: 220,\n closebracket: 221,\n singlequote: 222\n};\n// 修饰键\nvar modifierKey = {\n ctrl: function (event) {\n return event.ctrlKey;\n },\n shift: function (event) {\n return event.shiftKey;\n },\n alt: function (event) {\n return event.altKey;\n },\n meta: function (event) {\n if (event.type === 'keyup') {\n return aliasKeyCodeMap.meta.includes(event.keyCode);\n }\n return event.metaKey;\n }\n};\n// 根据 event 计算激活键数量\nfunction countKeyByEvent(event) {\n var countOfModifier = Object.keys(modifierKey).reduce(function (total, key) {\n if (modifierKey[key](event)) {\n return total + 1;\n }\n return total;\n }, 0);\n // 16 17 18 91 92 是修饰键的 keyCode,如果 keyCode 是修饰键,那么激活数量就是修饰键的数量,如果不是,那么就需要 +1\n return [16, 17, 18, 91, 92].includes(event.keyCode) ? countOfModifier : countOfModifier + 1;\n}\n/**\n * 判断按键是否激活\n * @param [event: KeyboardEvent]键盘事件\n * @param [keyFilter: any] 当前键\n * @returns Boolean\n */\nfunction genFilterKey(event, keyFilter, exactMatch) {\n var e_1, _a;\n // 浏览器自动补全 input 的时候,会触发 keyDown、keyUp 事件,但此时 event.key 等为空\n if (!event.key) {\n return false;\n }\n // 数字类型直接匹配事件的 keyCode\n if (isNumber(keyFilter)) {\n return event.keyCode === keyFilter;\n }\n // 字符串依次判断是否有组合键\n var genArr = keyFilter.split('.');\n var genLen = 0;\n try {\n for (var genArr_1 = __values(genArr), genArr_1_1 = genArr_1.next(); !genArr_1_1.done; genArr_1_1 = genArr_1.next()) {\n var key = genArr_1_1.value;\n // 组合键\n var genModifier = modifierKey[key];\n // keyCode 别名\n var aliasKeyCode = aliasKeyCodeMap[key.toLowerCase()];\n if (genModifier && genModifier(event) || aliasKeyCode && aliasKeyCode === event.keyCode) {\n genLen++;\n }\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (genArr_1_1 && !genArr_1_1.done && (_a = genArr_1.return)) _a.call(genArr_1);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n /**\n * 需要判断触发的键位和监听的键位完全一致,判断方法就是触发的键位里有且等于监听的键位\n * genLen === genArr.length 能判断出来触发的键位里有监听的键位\n * countKeyByEvent(event) === genArr.length 判断出来触发的键位数量里有且等于监听的键位数量\n * 主要用来防止按组合键其子集也会触发的情况,例如监听 ctrl+a 会触发监听 ctrl 和 a 两个键的事件。\n */\n if (exactMatch) {\n return genLen === genArr.length && countKeyByEvent(event) === genArr.length;\n }\n return genLen === genArr.length;\n}\n/**\n * 键盘输入预处理方法\n * @param [keyFilter: any] 当前键\n * @returns () => Boolean\n */\nfunction genKeyFormatter(keyFilter, exactMatch) {\n if (isFunction(keyFilter)) {\n return keyFilter;\n }\n if (isString(keyFilter) || isNumber(keyFilter)) {\n return function (event) {\n return genFilterKey(event, keyFilter, exactMatch);\n };\n }\n if (Array.isArray(keyFilter)) {\n return function (event) {\n return keyFilter.some(function (item) {\n return genFilterKey(event, item, exactMatch);\n });\n };\n }\n return function () {\n return Boolean(keyFilter);\n };\n}\nvar defaultEvents = ['keydown'];\nfunction useKeyPress(keyFilter, eventHandler, option) {\n var _a = option || {},\n _b = _a.events,\n events = _b === void 0 ? defaultEvents : _b,\n target = _a.target,\n _c = _a.exactMatch,\n exactMatch = _c === void 0 ? false : _c,\n _d = _a.useCapture,\n useCapture = _d === void 0 ? false : _d;\n var eventHandlerRef = useLatest(eventHandler);\n var keyFilterRef = useLatest(keyFilter);\n useDeepCompareEffectWithTarget(function () {\n var e_2, _a;\n var _b;\n var el = getTargetElement(target, window);\n if (!el) {\n return;\n }\n var callbackHandler = function (event) {\n var _a;\n var genGuard = genKeyFormatter(keyFilterRef.current, exactMatch);\n if (genGuard(event)) {\n return (_a = eventHandlerRef.current) === null || _a === void 0 ? void 0 : _a.call(eventHandlerRef, event);\n }\n };\n try {\n for (var events_1 = __values(events), events_1_1 = events_1.next(); !events_1_1.done; events_1_1 = events_1.next()) {\n var eventName = events_1_1.value;\n (_b = el === null || el === void 0 ? void 0 : el.addEventListener) === null || _b === void 0 ? void 0 : _b.call(el, eventName, callbackHandler, useCapture);\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (events_1_1 && !events_1_1.done && (_a = events_1.return)) _a.call(events_1);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n return function () {\n var e_3, _a;\n var _b;\n try {\n for (var events_2 = __values(events), events_2_1 = events_2.next(); !events_2_1.done; events_2_1 = events_2.next()) {\n var eventName = events_2_1.value;\n (_b = el === null || el === void 0 ? void 0 : el.removeEventListener) === null || _b === void 0 ? void 0 : _b.call(el, eventName, callbackHandler, useCapture);\n }\n } catch (e_3_1) {\n e_3 = {\n error: e_3_1\n };\n } finally {\n try {\n if (events_2_1 && !events_2_1.done && (_a = events_2.return)) _a.call(events_2);\n } finally {\n if (e_3) throw e_3.error;\n }\n }\n };\n }, [events], target);\n}\nexport default useKeyPress;","import { useRef } from 'react';\nfunction useLatest(value) {\n var ref = useRef(value);\n ref.current = value;\n return ref;\n}\nexport default useLatest;","import { useMemo, useRef } from 'react';\nimport { isFunction } from '../utils';\nimport isDev from '../utils/isDev';\nfunction useMemoizedFn(fn) {\n if (isDev) {\n if (!isFunction(fn)) {\n console.error(\"useMemoizedFn expected parameter is a function, got \".concat(typeof fn));\n }\n }\n var fnRef = useRef(fn);\n // why not write `fnRef.current = fn`?\n // https://github.com/alibaba/hooks/issues/728\n fnRef.current = useMemo(function () {\n return fn;\n }, [fn]);\n var memoizedFn = useRef();\n if (!memoizedFn.current) {\n memoizedFn.current = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return fnRef.current.apply(this, args);\n };\n }\n return memoizedFn.current;\n}\nexport default useMemoizedFn;","import { __read } from \"tslib\";\nimport { useCallback, useRef, useState } from 'react';\nimport useUnmount from '../useUnmount';\nfunction useRafState(initialState) {\n var ref = useRef(0);\n var _a = __read(useState(initialState), 2),\n state = _a[0],\n setState = _a[1];\n var setRafState = useCallback(function (value) {\n cancelAnimationFrame(ref.current);\n ref.current = requestAnimationFrame(function () {\n setState(value);\n });\n }, []);\n useUnmount(function () {\n cancelAnimationFrame(ref.current);\n });\n return [state, setRafState];\n}\nexport default useRafState;","import { useRef } from 'react';\nexport var createUpdateEffect = function (hook) {\n return function (effect, deps) {\n var isMounted = useRef(false);\n // for react-refresh\n hook(function () {\n return function () {\n isMounted.current = false;\n };\n }, []);\n hook(function () {\n if (!isMounted.current) {\n isMounted.current = true;\n } else {\n return effect();\n }\n }, deps);\n };\n};\nexport default createUpdateEffect;","import { useEffect } from 'react';\nimport { createUpdateEffect } from '../createUpdateEffect';\nexport default createUpdateEffect(useEffect);","import { __read, __spreadArray } from \"tslib\";\nimport { useRef } from 'react';\nimport useUpdateEffect from '../../../useUpdateEffect';\n// support refreshDeps & ready\nvar useAutoRunPlugin = function (fetchInstance, _a) {\n var manual = _a.manual,\n _b = _a.ready,\n ready = _b === void 0 ? true : _b,\n _c = _a.defaultParams,\n defaultParams = _c === void 0 ? [] : _c,\n _d = _a.refreshDeps,\n refreshDeps = _d === void 0 ? [] : _d,\n refreshDepsAction = _a.refreshDepsAction;\n var hasAutoRun = useRef(false);\n hasAutoRun.current = false;\n useUpdateEffect(function () {\n if (!manual && ready) {\n hasAutoRun.current = true;\n fetchInstance.run.apply(fetchInstance, __spreadArray([], __read(defaultParams), false));\n }\n }, [ready]);\n useUpdateEffect(function () {\n if (hasAutoRun.current) {\n return;\n }\n if (!manual) {\n hasAutoRun.current = true;\n if (refreshDepsAction) {\n refreshDepsAction();\n } else {\n fetchInstance.refresh();\n }\n }\n }, __spreadArray([], __read(refreshDeps), false));\n return {\n onBefore: function () {\n if (!ready) {\n return {\n stopNow: true\n };\n }\n }\n };\n};\nuseAutoRunPlugin.onInit = function (_a) {\n var _b = _a.ready,\n ready = _b === void 0 ? true : _b,\n manual = _a.manual;\n return {\n loading: !manual && ready\n };\n};\nexport default useAutoRunPlugin;","import { useRef } from 'react';\nimport depsAreSame from '../utils/depsAreSame';\nexport default function useCreation(factory, deps) {\n var current = useRef({\n deps: deps,\n obj: undefined,\n initialized: false\n }).current;\n if (current.initialized === false || !depsAreSame(current.deps, deps)) {\n current.deps = deps;\n current.obj = factory();\n current.initialized = true;\n }\n return current.obj;\n}","import { __assign } from \"tslib\";\nvar cache = new Map();\nvar setCache = function (key, cacheTime, cachedData) {\n var currentCache = cache.get(key);\n if (currentCache === null || currentCache === void 0 ? void 0 : currentCache.timer) {\n clearTimeout(currentCache.timer);\n }\n var timer = undefined;\n if (cacheTime > -1) {\n // if cache out, clear it\n timer = setTimeout(function () {\n cache.delete(key);\n }, cacheTime);\n }\n cache.set(key, __assign(__assign({}, cachedData), {\n timer: timer\n }));\n};\nvar getCache = function (key) {\n return cache.get(key);\n};\nvar clearCache = function (key) {\n if (key) {\n var cacheKeys = Array.isArray(key) ? key : [key];\n cacheKeys.forEach(function (cacheKey) {\n return cache.delete(cacheKey);\n });\n } else {\n cache.clear();\n }\n};\nexport { getCache, setCache, clearCache };","var cachePromise = new Map();\nvar getCachePromise = function (cacheKey) {\n return cachePromise.get(cacheKey);\n};\nvar setCachePromise = function (cacheKey, promise) {\n // Should cache the same promise, cannot be promise.finally\n // Because the promise.finally will change the reference of the promise\n cachePromise.set(cacheKey, promise);\n // no use promise.finally for compatibility\n promise.then(function (res) {\n cachePromise.delete(cacheKey);\n return res;\n }).catch(function () {\n cachePromise.delete(cacheKey);\n });\n};\nexport { getCachePromise, setCachePromise };","var listeners = {};\nvar trigger = function (key, data) {\n if (listeners[key]) {\n listeners[key].forEach(function (item) {\n return item(data);\n });\n }\n};\nvar subscribe = function (key, listener) {\n if (!listeners[key]) {\n listeners[key] = [];\n }\n listeners[key].push(listener);\n return function unsubscribe() {\n var index = listeners[key].indexOf(listener);\n listeners[key].splice(index, 1);\n };\n};\nexport { trigger, subscribe };","import { __read, __spreadArray } from \"tslib\";\nimport { useRef } from 'react';\nimport useCreation from '../../../useCreation';\nimport useUnmount from '../../../useUnmount';\nimport * as cache from '../utils/cache';\nimport * as cachePromise from '../utils/cachePromise';\nimport * as cacheSubscribe from '../utils/cacheSubscribe';\nvar useCachePlugin = function (fetchInstance, _a) {\n var cacheKey = _a.cacheKey,\n _b = _a.cacheTime,\n cacheTime = _b === void 0 ? 5 * 60 * 1000 : _b,\n _c = _a.staleTime,\n staleTime = _c === void 0 ? 0 : _c,\n customSetCache = _a.setCache,\n customGetCache = _a.getCache;\n var unSubscribeRef = useRef();\n var currentPromiseRef = useRef();\n var _setCache = function (key, cachedData) {\n if (customSetCache) {\n customSetCache(cachedData);\n } else {\n cache.setCache(key, cacheTime, cachedData);\n }\n cacheSubscribe.trigger(key, cachedData.data);\n };\n var _getCache = function (key, params) {\n if (params === void 0) {\n params = [];\n }\n if (customGetCache) {\n return customGetCache(params);\n }\n return cache.getCache(key);\n };\n useCreation(function () {\n if (!cacheKey) {\n return;\n }\n // get data from cache when init\n var cacheData = _getCache(cacheKey);\n if (cacheData && Object.hasOwnProperty.call(cacheData, 'data')) {\n fetchInstance.state.data = cacheData.data;\n fetchInstance.state.params = cacheData.params;\n if (staleTime === -1 || new Date().getTime() - cacheData.time <= staleTime) {\n fetchInstance.state.loading = false;\n }\n }\n // subscribe same cachekey update, trigger update\n unSubscribeRef.current = cacheSubscribe.subscribe(cacheKey, function (data) {\n fetchInstance.setState({\n data: data\n });\n });\n }, []);\n useUnmount(function () {\n var _a;\n (_a = unSubscribeRef.current) === null || _a === void 0 ? void 0 : _a.call(unSubscribeRef);\n });\n if (!cacheKey) {\n return {};\n }\n return {\n onBefore: function (params) {\n var cacheData = _getCache(cacheKey, params);\n if (!cacheData || !Object.hasOwnProperty.call(cacheData, 'data')) {\n return {};\n }\n // If the data is fresh, stop request\n if (staleTime === -1 || new Date().getTime() - cacheData.time <= staleTime) {\n return {\n loading: false,\n data: cacheData === null || cacheData === void 0 ? void 0 : cacheData.data,\n error: undefined,\n returnNow: true\n };\n } else {\n // If the data is stale, return data, and request continue\n return {\n data: cacheData === null || cacheData === void 0 ? void 0 : cacheData.data,\n error: undefined\n };\n }\n },\n onRequest: function (service, args) {\n var servicePromise = cachePromise.getCachePromise(cacheKey);\n // If has servicePromise, and is not trigger by self, then use it\n if (servicePromise && servicePromise !== currentPromiseRef.current) {\n return {\n servicePromise: servicePromise\n };\n }\n servicePromise = service.apply(void 0, __spreadArray([], __read(args), false));\n currentPromiseRef.current = servicePromise;\n cachePromise.setCachePromise(cacheKey, servicePromise);\n return {\n servicePromise: servicePromise\n };\n },\n onSuccess: function (data, params) {\n var _a;\n if (cacheKey) {\n // cancel subscribe, avoid trgger self\n (_a = unSubscribeRef.current) === null || _a === void 0 ? void 0 : _a.call(unSubscribeRef);\n _setCache(cacheKey, {\n data: data,\n params: params,\n time: new Date().getTime()\n });\n // resubscribe\n unSubscribeRef.current = cacheSubscribe.subscribe(cacheKey, function (d) {\n fetchInstance.setState({\n data: d\n });\n });\n }\n },\n onMutate: function (data) {\n var _a;\n if (cacheKey) {\n // cancel subscribe, avoid trigger self\n (_a = unSubscribeRef.current) === null || _a === void 0 ? void 0 : _a.call(unSubscribeRef);\n _setCache(cacheKey, {\n data: data,\n params: fetchInstance.state.params,\n time: new Date().getTime()\n });\n // resubscribe\n unSubscribeRef.current = cacheSubscribe.subscribe(cacheKey, function (d) {\n fetchInstance.setState({\n data: d\n });\n });\n }\n }\n };\n};\nexport default useCachePlugin;","import { __read, __spreadArray } from \"tslib\";\nimport debounce from 'lodash/debounce';\nimport { useEffect, useMemo, useRef } from 'react';\nvar useDebouncePlugin = function (fetchInstance, _a) {\n var debounceWait = _a.debounceWait,\n debounceLeading = _a.debounceLeading,\n debounceTrailing = _a.debounceTrailing,\n debounceMaxWait = _a.debounceMaxWait;\n var debouncedRef = useRef();\n var options = useMemo(function () {\n var ret = {};\n if (debounceLeading !== undefined) {\n ret.leading = debounceLeading;\n }\n if (debounceTrailing !== undefined) {\n ret.trailing = debounceTrailing;\n }\n if (debounceMaxWait !== undefined) {\n ret.maxWait = debounceMaxWait;\n }\n return ret;\n }, [debounceLeading, debounceTrailing, debounceMaxWait]);\n useEffect(function () {\n if (debounceWait) {\n var _originRunAsync_1 = fetchInstance.runAsync.bind(fetchInstance);\n debouncedRef.current = debounce(function (callback) {\n callback();\n }, debounceWait, options);\n // debounce runAsync should be promise\n // https://github.com/lodash/lodash/issues/4400#issuecomment-834800398\n fetchInstance.runAsync = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new Promise(function (resolve, reject) {\n var _a;\n (_a = debouncedRef.current) === null || _a === void 0 ? void 0 : _a.call(debouncedRef, function () {\n _originRunAsync_1.apply(void 0, __spreadArray([], __read(args), false)).then(resolve).catch(reject);\n });\n });\n };\n return function () {\n var _a;\n (_a = debouncedRef.current) === null || _a === void 0 ? void 0 : _a.cancel();\n fetchInstance.runAsync = _originRunAsync_1;\n };\n }\n }, [debounceWait, options]);\n if (!debounceWait) {\n return {};\n }\n return {\n onCancel: function () {\n var _a;\n (_a = debouncedRef.current) === null || _a === void 0 ? void 0 : _a.cancel();\n }\n };\n};\nexport default useDebouncePlugin;","import { useRef } from 'react';\nvar useLoadingDelayPlugin = function (fetchInstance, _a) {\n var loadingDelay = _a.loadingDelay,\n ready = _a.ready;\n var timerRef = useRef();\n if (!loadingDelay) {\n return {};\n }\n var cancelTimeout = function () {\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n }\n };\n return {\n onBefore: function () {\n cancelTimeout();\n // Two cases:\n // 1. ready === undefined\n // 2. ready === true\n if (ready !== false) {\n timerRef.current = setTimeout(function () {\n fetchInstance.setState({\n loading: true\n });\n }, loadingDelay);\n }\n return {\n loading: false\n };\n },\n onFinally: function () {\n cancelTimeout();\n },\n onCancel: function () {\n cancelTimeout();\n }\n };\n};\nexport default useLoadingDelayPlugin;","import isBrowser from '../../../utils/isBrowser';\nexport default function isDocumentVisible() {\n if (isBrowser) {\n return document.visibilityState !== 'hidden';\n }\n return true;\n}","import isBrowser from '../../../utils/isBrowser';\nimport isDocumentVisible from './isDocumentVisible';\nvar listeners = [];\nfunction subscribe(listener) {\n listeners.push(listener);\n return function unsubscribe() {\n var index = listeners.indexOf(listener);\n listeners.splice(index, 1);\n };\n}\nif (isBrowser) {\n var revalidate = function () {\n if (!isDocumentVisible()) return;\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n };\n window.addEventListener('visibilitychange', revalidate, false);\n}\nexport default subscribe;","import { useRef } from 'react';\nimport useUpdateEffect from '../../../useUpdateEffect';\nimport isDocumentVisible from '../utils/isDocumentVisible';\nimport subscribeReVisible from '../utils/subscribeReVisible';\nvar usePollingPlugin = function (fetchInstance, _a) {\n var pollingInterval = _a.pollingInterval,\n _b = _a.pollingWhenHidden,\n pollingWhenHidden = _b === void 0 ? true : _b,\n _c = _a.pollingErrorRetryCount,\n pollingErrorRetryCount = _c === void 0 ? -1 : _c;\n var timerRef = useRef();\n var unsubscribeRef = useRef();\n var countRef = useRef(0);\n var stopPolling = function () {\n var _a;\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n }\n (_a = unsubscribeRef.current) === null || _a === void 0 ? void 0 : _a.call(unsubscribeRef);\n };\n useUpdateEffect(function () {\n if (!pollingInterval) {\n stopPolling();\n }\n }, [pollingInterval]);\n if (!pollingInterval) {\n return {};\n }\n return {\n onBefore: function () {\n stopPolling();\n },\n onError: function () {\n countRef.current += 1;\n },\n onSuccess: function () {\n countRef.current = 0;\n },\n onFinally: function () {\n if (pollingErrorRetryCount === -1 ||\n // When an error occurs, the request is not repeated after pollingErrorRetryCount retries\n pollingErrorRetryCount !== -1 && countRef.current <= pollingErrorRetryCount) {\n timerRef.current = setTimeout(function () {\n // if pollingWhenHidden = false && document is hidden, then stop polling and subscribe revisible\n if (!pollingWhenHidden && !isDocumentVisible()) {\n unsubscribeRef.current = subscribeReVisible(function () {\n fetchInstance.refresh();\n });\n } else {\n fetchInstance.refresh();\n }\n }, pollingInterval);\n } else {\n countRef.current = 0;\n }\n },\n onCancel: function () {\n stopPolling();\n }\n };\n};\nexport default usePollingPlugin;","import { __read, __spreadArray } from \"tslib\";\nexport default function limit(fn, timespan) {\n var pending = false;\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (pending) return;\n pending = true;\n fn.apply(void 0, __spreadArray([], __read(args), false));\n setTimeout(function () {\n pending = false;\n }, timespan);\n };\n}","import isBrowser from '../../../utils/isBrowser';\nexport default function isOnline() {\n if (isBrowser && typeof navigator.onLine !== 'undefined') {\n return navigator.onLine;\n }\n return true;\n}","// from swr\nimport isBrowser from '../../../utils/isBrowser';\nimport isDocumentVisible from './isDocumentVisible';\nimport isOnline from './isOnline';\nvar listeners = [];\nfunction subscribe(listener) {\n listeners.push(listener);\n return function unsubscribe() {\n var index = listeners.indexOf(listener);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n };\n}\nif (isBrowser) {\n var revalidate = function () {\n if (!isDocumentVisible() || !isOnline()) return;\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n };\n window.addEventListener('visibilitychange', revalidate, false);\n window.addEventListener('focus', revalidate, false);\n}\nexport default subscribe;","import { useEffect, useRef } from 'react';\nimport useUnmount from '../../../useUnmount';\nimport limit from '../utils/limit';\nimport subscribeFocus from '../utils/subscribeFocus';\nvar useRefreshOnWindowFocusPlugin = function (fetchInstance, _a) {\n var refreshOnWindowFocus = _a.refreshOnWindowFocus,\n _b = _a.focusTimespan,\n focusTimespan = _b === void 0 ? 5000 : _b;\n var unsubscribeRef = useRef();\n var stopSubscribe = function () {\n var _a;\n (_a = unsubscribeRef.current) === null || _a === void 0 ? void 0 : _a.call(unsubscribeRef);\n };\n useEffect(function () {\n if (refreshOnWindowFocus) {\n var limitRefresh_1 = limit(fetchInstance.refresh.bind(fetchInstance), focusTimespan);\n unsubscribeRef.current = subscribeFocus(function () {\n limitRefresh_1();\n });\n }\n return function () {\n stopSubscribe();\n };\n }, [refreshOnWindowFocus, focusTimespan]);\n useUnmount(function () {\n stopSubscribe();\n });\n return {};\n};\nexport default useRefreshOnWindowFocusPlugin;","import { useRef } from 'react';\nvar useRetryPlugin = function (fetchInstance, _a) {\n var retryInterval = _a.retryInterval,\n retryCount = _a.retryCount;\n var timerRef = useRef();\n var countRef = useRef(0);\n var triggerByRetry = useRef(false);\n if (!retryCount) {\n return {};\n }\n return {\n onBefore: function () {\n if (!triggerByRetry.current) {\n countRef.current = 0;\n }\n triggerByRetry.current = false;\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n }\n },\n onSuccess: function () {\n countRef.current = 0;\n },\n onError: function () {\n countRef.current += 1;\n if (retryCount === -1 || countRef.current <= retryCount) {\n // Exponential backoff\n var timeout = retryInterval !== null && retryInterval !== void 0 ? retryInterval : Math.min(1000 * Math.pow(2, countRef.current), 30000);\n timerRef.current = setTimeout(function () {\n triggerByRetry.current = true;\n fetchInstance.refresh();\n }, timeout);\n } else {\n countRef.current = 0;\n }\n },\n onCancel: function () {\n countRef.current = 0;\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n }\n }\n };\n};\nexport default useRetryPlugin;","import { __read, __spreadArray } from \"tslib\";\nimport throttle from 'lodash/throttle';\nimport { useEffect, useRef } from 'react';\nvar useThrottlePlugin = function (fetchInstance, _a) {\n var throttleWait = _a.throttleWait,\n throttleLeading = _a.throttleLeading,\n throttleTrailing = _a.throttleTrailing;\n var throttledRef = useRef();\n var options = {};\n if (throttleLeading !== undefined) {\n options.leading = throttleLeading;\n }\n if (throttleTrailing !== undefined) {\n options.trailing = throttleTrailing;\n }\n useEffect(function () {\n if (throttleWait) {\n var _originRunAsync_1 = fetchInstance.runAsync.bind(fetchInstance);\n throttledRef.current = throttle(function (callback) {\n callback();\n }, throttleWait, options);\n // throttle runAsync should be promise\n // https://github.com/lodash/lodash/issues/4400#issuecomment-834800398\n fetchInstance.runAsync = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new Promise(function (resolve, reject) {\n var _a;\n (_a = throttledRef.current) === null || _a === void 0 ? void 0 : _a.call(throttledRef, function () {\n _originRunAsync_1.apply(void 0, __spreadArray([], __read(args), false)).then(resolve).catch(reject);\n });\n });\n };\n return function () {\n var _a;\n fetchInstance.runAsync = _originRunAsync_1;\n (_a = throttledRef.current) === null || _a === void 0 ? void 0 : _a.cancel();\n };\n }\n }, [throttleWait, throttleLeading, throttleTrailing]);\n if (!throttleWait) {\n return {};\n }\n return {\n onCancel: function () {\n var _a;\n (_a = throttledRef.current) === null || _a === void 0 ? void 0 : _a.cancel();\n }\n };\n};\nexport default useThrottlePlugin;","import { useEffect } from 'react';\nimport { isFunction } from '../utils';\nimport isDev from '../utils/isDev';\nvar useMount = function (fn) {\n if (isDev) {\n if (!isFunction(fn)) {\n console.error(\"useMount: parameter `fn` expected to be a function, but got \\\"\".concat(typeof fn, \"\\\".\"));\n }\n }\n useEffect(function () {\n fn === null || fn === void 0 ? void 0 : fn();\n }, []);\n};\nexport default useMount;","import { __assign, __awaiter, __generator, __read, __rest, __spreadArray } from \"tslib\";\n/* eslint-disable @typescript-eslint/no-parameter-properties */\nimport { isFunction } from '../../utils';\nvar Fetch = /** @class */function () {\n function Fetch(serviceRef, options, subscribe, initState) {\n if (initState === void 0) {\n initState = {};\n }\n this.serviceRef = serviceRef;\n this.options = options;\n this.subscribe = subscribe;\n this.initState = initState;\n this.count = 0;\n this.state = {\n loading: false,\n params: undefined,\n data: undefined,\n error: undefined\n };\n this.state = __assign(__assign(__assign({}, this.state), {\n loading: !options.manual\n }), initState);\n }\n Fetch.prototype.setState = function (s) {\n if (s === void 0) {\n s = {};\n }\n this.state = __assign(__assign({}, this.state), s);\n this.subscribe();\n };\n Fetch.prototype.runPluginHandler = function (event) {\n var rest = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n rest[_i - 1] = arguments[_i];\n }\n // @ts-ignore\n var r = this.pluginImpls.map(function (i) {\n var _a;\n return (_a = i[event]) === null || _a === void 0 ? void 0 : _a.call.apply(_a, __spreadArray([i], __read(rest), false));\n }).filter(Boolean);\n return Object.assign.apply(Object, __spreadArray([{}], __read(r), false));\n };\n Fetch.prototype.runAsync = function () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n var params = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n params[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var currentCount, _l, _m, stopNow, _o, returnNow, state, servicePromise, res, error_1;\n var _p;\n return __generator(this, function (_q) {\n switch (_q.label) {\n case 0:\n this.count += 1;\n currentCount = this.count;\n _l = this.runPluginHandler('onBefore', params), _m = _l.stopNow, stopNow = _m === void 0 ? false : _m, _o = _l.returnNow, returnNow = _o === void 0 ? false : _o, state = __rest(_l, [\"stopNow\", \"returnNow\"]);\n // stop request\n if (stopNow) {\n return [2 /*return*/, new Promise(function () {})];\n }\n this.setState(__assign({\n loading: true,\n params: params\n }, state));\n // return now\n if (returnNow) {\n return [2 /*return*/, Promise.resolve(state.data)];\n }\n (_b = (_a = this.options).onBefore) === null || _b === void 0 ? void 0 : _b.call(_a, params);\n _q.label = 1;\n case 1:\n _q.trys.push([1, 3,, 4]);\n servicePromise = this.runPluginHandler('onRequest', this.serviceRef.current, params).servicePromise;\n if (!servicePromise) {\n servicePromise = (_p = this.serviceRef).current.apply(_p, __spreadArray([], __read(params), false));\n }\n return [4 /*yield*/, servicePromise];\n case 2:\n res = _q.sent();\n if (currentCount !== this.count) {\n // prevent run.then when request is canceled\n return [2 /*return*/, new Promise(function () {})];\n }\n // const formattedResult = this.options.formatResultRef.current ? this.options.formatResultRef.current(res) : res;\n this.setState({\n data: res,\n error: undefined,\n loading: false\n });\n (_d = (_c = this.options).onSuccess) === null || _d === void 0 ? void 0 : _d.call(_c, res, params);\n this.runPluginHandler('onSuccess', res, params);\n (_f = (_e = this.options).onFinally) === null || _f === void 0 ? void 0 : _f.call(_e, params, res, undefined);\n if (currentCount === this.count) {\n this.runPluginHandler('onFinally', params, res, undefined);\n }\n return [2 /*return*/, res];\n case 3:\n error_1 = _q.sent();\n if (currentCount !== this.count) {\n // prevent run.then when request is canceled\n return [2 /*return*/, new Promise(function () {})];\n }\n this.setState({\n error: error_1,\n loading: false\n });\n (_h = (_g = this.options).onError) === null || _h === void 0 ? void 0 : _h.call(_g, error_1, params);\n this.runPluginHandler('onError', error_1, params);\n (_k = (_j = this.options).onFinally) === null || _k === void 0 ? void 0 : _k.call(_j, params, undefined, error_1);\n if (currentCount === this.count) {\n this.runPluginHandler('onFinally', params, undefined, error_1);\n }\n throw error_1;\n case 4:\n return [2 /*return*/];\n }\n });\n });\n };\n\n Fetch.prototype.run = function () {\n var _this = this;\n var params = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n params[_i] = arguments[_i];\n }\n this.runAsync.apply(this, __spreadArray([], __read(params), false)).catch(function (error) {\n if (!_this.options.onError) {\n console.error(error);\n }\n });\n };\n Fetch.prototype.cancel = function () {\n this.count += 1;\n this.setState({\n loading: false\n });\n this.runPluginHandler('onCancel');\n };\n Fetch.prototype.refresh = function () {\n // @ts-ignore\n this.run.apply(this, __spreadArray([], __read(this.state.params || []), false));\n };\n Fetch.prototype.refreshAsync = function () {\n // @ts-ignore\n return this.runAsync.apply(this, __spreadArray([], __read(this.state.params || []), false));\n };\n Fetch.prototype.mutate = function (data) {\n var targetData = isFunction(data) ? data(this.state.data) : data;\n this.runPluginHandler('onMutate', targetData);\n this.setState({\n data: targetData\n });\n };\n return Fetch;\n}();\nexport default Fetch;","import { __assign, __read, __rest, __spreadArray } from \"tslib\";\nimport useCreation from '../../useCreation';\nimport useLatest from '../../useLatest';\nimport useMemoizedFn from '../../useMemoizedFn';\nimport useMount from '../../useMount';\nimport useUnmount from '../../useUnmount';\nimport useUpdate from '../../useUpdate';\nimport isDev from '../../utils/isDev';\nimport Fetch from './Fetch';\nfunction useRequestImplement(service, options, plugins) {\n if (options === void 0) {\n options = {};\n }\n if (plugins === void 0) {\n plugins = [];\n }\n var _a = options.manual,\n manual = _a === void 0 ? false : _a,\n rest = __rest(options, [\"manual\"]);\n if (isDev) {\n if (options.defaultParams && !Array.isArray(options.defaultParams)) {\n console.warn(\"expected defaultParams is array, got \".concat(typeof options.defaultParams));\n }\n }\n var fetchOptions = __assign({\n manual: manual\n }, rest);\n var serviceRef = useLatest(service);\n var update = useUpdate();\n var fetchInstance = useCreation(function () {\n var initState = plugins.map(function (p) {\n var _a;\n return (_a = p === null || p === void 0 ? void 0 : p.onInit) === null || _a === void 0 ? void 0 : _a.call(p, fetchOptions);\n }).filter(Boolean);\n return new Fetch(serviceRef, fetchOptions, update, Object.assign.apply(Object, __spreadArray([{}], __read(initState), false)));\n }, []);\n fetchInstance.options = fetchOptions;\n // run all plugins hooks\n fetchInstance.pluginImpls = plugins.map(function (p) {\n return p(fetchInstance, fetchOptions);\n });\n useMount(function () {\n if (!manual) {\n // useCachePlugin can set fetchInstance.state.params from cache when init\n var params = fetchInstance.state.params || options.defaultParams || [];\n // @ts-ignore\n fetchInstance.run.apply(fetchInstance, __spreadArray([], __read(params), false));\n }\n });\n useUnmount(function () {\n fetchInstance.cancel();\n });\n return {\n loading: fetchInstance.state.loading,\n data: fetchInstance.state.data,\n error: fetchInstance.state.error,\n params: fetchInstance.state.params || [],\n cancel: useMemoizedFn(fetchInstance.cancel.bind(fetchInstance)),\n refresh: useMemoizedFn(fetchInstance.refresh.bind(fetchInstance)),\n refreshAsync: useMemoizedFn(fetchInstance.refreshAsync.bind(fetchInstance)),\n run: useMemoizedFn(fetchInstance.run.bind(fetchInstance)),\n runAsync: useMemoizedFn(fetchInstance.runAsync.bind(fetchInstance)),\n mutate: useMemoizedFn(fetchInstance.mutate.bind(fetchInstance))\n };\n}\nexport default useRequestImplement;","import { __read, __spreadArray } from \"tslib\";\nimport useAutoRunPlugin from './plugins/useAutoRunPlugin';\nimport useCachePlugin from './plugins/useCachePlugin';\nimport useDebouncePlugin from './plugins/useDebouncePlugin';\nimport useLoadingDelayPlugin from './plugins/useLoadingDelayPlugin';\nimport usePollingPlugin from './plugins/usePollingPlugin';\nimport useRefreshOnWindowFocusPlugin from './plugins/useRefreshOnWindowFocusPlugin';\nimport useRetryPlugin from './plugins/useRetryPlugin';\nimport useThrottlePlugin from './plugins/useThrottlePlugin';\nimport useRequestImplement from './useRequestImplement';\n// function useRequest(\n// service: Service,\n// options: OptionsWithFormat,\n// plugins?: Plugin[],\n// ): Result\n// function useRequest(\n// service: Service,\n// options?: OptionsWithoutFormat,\n// plugins?: Plugin[],\n// ): Result\nfunction useRequest(service, options, plugins) {\n return useRequestImplement(service, options, __spreadArray(__spreadArray([], __read(plugins || []), false), [useDebouncePlugin, useLoadingDelayPlugin, usePollingPlugin, useRefreshOnWindowFocusPlugin, useThrottlePlugin, useAutoRunPlugin, useCachePlugin, useRetryPlugin], false));\n}\nexport default useRequest;","import useRequest from './src/useRequest';\nimport { clearCache } from './src/utils/cache';\nexport { clearCache };\nexport default useRequest;","import { useLayoutEffect } from 'react';\nimport createEffectWithTarget from './createEffectWithTarget';\nvar useEffectWithTarget = createEffectWithTarget(useLayoutEffect);\nexport default useEffectWithTarget;","import isBrowser from './isBrowser';\nimport useEffectWithTarget from './useEffectWithTarget';\nimport useLayoutEffectWithTarget from './useLayoutEffectWithTarget';\nvar useIsomorphicLayoutEffectWithTarget = isBrowser ? useLayoutEffectWithTarget : useEffectWithTarget;\nexport default useIsomorphicLayoutEffectWithTarget;","import { __read } from \"tslib\";\nimport ResizeObserver from 'resize-observer-polyfill';\nimport useRafState from '../useRafState';\nimport { getTargetElement } from '../utils/domTarget';\nimport useIsomorphicLayoutEffectWithTarget from '../utils/useIsomorphicLayoutEffectWithTarget';\nfunction useSize(target) {\n var _a = __read(useRafState(function () {\n var el = getTargetElement(target);\n return el ? {\n width: el.clientWidth,\n height: el.clientHeight\n } : undefined;\n }), 2),\n state = _a[0],\n setState = _a[1];\n useIsomorphicLayoutEffectWithTarget(function () {\n var el = getTargetElement(target);\n if (!el) {\n return;\n }\n var resizeObserver = new ResizeObserver(function (entries) {\n entries.forEach(function (entry) {\n var _a = entry.target,\n clientWidth = _a.clientWidth,\n clientHeight = _a.clientHeight;\n setState({\n width: clientWidth,\n height: clientHeight\n });\n });\n });\n resizeObserver.observe(el);\n return function () {\n resizeObserver.disconnect();\n };\n }, [], target);\n return state;\n}\nexport default useSize;","import { useEffect } from 'react';\nimport useLatest from '../useLatest';\nimport { isFunction } from '../utils';\nimport isDev from '../utils/isDev';\nvar useUnmount = function (fn) {\n if (isDev) {\n if (!isFunction(fn)) {\n console.error(\"useUnmount expected parameter is a function, got \".concat(typeof fn));\n }\n }\n var fnRef = useLatest(fn);\n useEffect(function () {\n return function () {\n fnRef.current();\n };\n }, []);\n};\nexport default useUnmount;","import { __read } from \"tslib\";\nimport { useCallback, useState } from 'react';\nvar useUpdate = function () {\n var _a = __read(useState({}), 2),\n setState = _a[1];\n return useCallback(function () {\n return setState({});\n }, []);\n};\nexport default useUpdate;","import { useRef } from 'react';\nimport useUnmount from '../useUnmount';\nimport depsAreSame from './depsAreSame';\nimport { getTargetElement } from './domTarget';\nvar createEffectWithTarget = function (useEffectType) {\n /**\n *\n * @param effect\n * @param deps\n * @param target target should compare ref.current vs ref.current, dom vs dom, ()=>dom vs ()=>dom\n */\n var useEffectWithTarget = function (effect, deps, target) {\n var hasInitRef = useRef(false);\n var lastElementRef = useRef([]);\n var lastDepsRef = useRef([]);\n var unLoadRef = useRef();\n useEffectType(function () {\n var _a;\n var targets = Array.isArray(target) ? target : [target];\n var els = targets.map(function (item) {\n return getTargetElement(item);\n });\n // init run\n if (!hasInitRef.current) {\n hasInitRef.current = true;\n lastElementRef.current = els;\n lastDepsRef.current = deps;\n unLoadRef.current = effect();\n return;\n }\n if (els.length !== lastElementRef.current.length || !depsAreSame(els, lastElementRef.current) || !depsAreSame(deps, lastDepsRef.current)) {\n (_a = unLoadRef.current) === null || _a === void 0 ? void 0 : _a.call(unLoadRef);\n lastElementRef.current = els;\n lastDepsRef.current = deps;\n unLoadRef.current = effect();\n }\n });\n useUnmount(function () {\n var _a;\n (_a = unLoadRef.current) === null || _a === void 0 ? void 0 : _a.call(unLoadRef);\n // for react-refresh\n hasInitRef.current = false;\n });\n };\n return useEffectWithTarget;\n};\nexport default createEffectWithTarget;","export default function depsAreSame(oldDeps, deps) {\n if (oldDeps === deps) return true;\n for (var i = 0; i < oldDeps.length; i++) {\n if (!Object.is(oldDeps[i], deps[i])) return false;\n }\n return true;\n}","import { isFunction } from './index';\nimport isBrowser from './isBrowser';\nexport function getTargetElement(target, defaultElement) {\n if (!isBrowser) {\n return undefined;\n }\n if (!target) {\n return defaultElement;\n }\n var targetElement;\n if (isFunction(target)) {\n targetElement = target();\n } else if ('current' in target) {\n targetElement = target.current;\n } else {\n targetElement = target;\n }\n return targetElement;\n}","export var isObject = function (value) {\n return value !== null && typeof value === 'object';\n};\nexport var isFunction = function (value) {\n return typeof value === 'function';\n};\nexport var isString = function (value) {\n return typeof value === 'string';\n};\nexport var isBoolean = function (value) {\n return typeof value === 'boolean';\n};\nexport var isNumber = function (value) {\n return typeof value === 'number';\n};\nexport var isUndef = function (value) {\n return typeof value === 'undefined';\n};","var isBrowser = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nexport default isBrowser;","var isDev = process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test';\nexport default isDev;","import { useEffect } from 'react';\nimport createEffectWithTarget from './createEffectWithTarget';\nvar useEffectWithTarget = createEffectWithTarget(useEffect);\nexport default useEffectWithTarget;","import useState from \"rc-util/es/hooks/useState\";\nimport * as React from 'react';\nimport Button from '../button';\nimport { convertLegacyProps } from '../button/button';\nfunction isThenable(thing) {\n return !!(thing && thing.then);\n}\nconst ActionButton = props => {\n const {\n type,\n children,\n prefixCls,\n buttonProps,\n close,\n autoFocus,\n emitEvent,\n isSilent,\n quitOnNullishReturnValue,\n actionFn\n } = props;\n const clickedRef = React.useRef(false);\n const buttonRef = React.useRef(null);\n const [loading, setLoading] = useState(false);\n const onInternalClose = function () {\n close === null || close === void 0 ? void 0 : close.apply(void 0, arguments);\n };\n React.useEffect(() => {\n let timeoutId = null;\n if (autoFocus) {\n timeoutId = setTimeout(() => {\n var _a;\n (_a = buttonRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n });\n }\n return () => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n };\n }, []);\n const handlePromiseOnOk = returnValueOfOnOk => {\n if (!isThenable(returnValueOfOnOk)) {\n return;\n }\n setLoading(true);\n returnValueOfOnOk.then(function () {\n setLoading(false, true);\n onInternalClose.apply(void 0, arguments);\n clickedRef.current = false;\n }, e => {\n // See: https://github.com/ant-design/ant-design/issues/6183\n setLoading(false, true);\n clickedRef.current = false;\n // Do not throw if is `await` mode\n if (isSilent === null || isSilent === void 0 ? void 0 : isSilent()) {\n return;\n }\n return Promise.reject(e);\n });\n };\n const onClick = e => {\n if (clickedRef.current) {\n return;\n }\n clickedRef.current = true;\n if (!actionFn) {\n onInternalClose();\n return;\n }\n let returnValueOfOnOk;\n if (emitEvent) {\n returnValueOfOnOk = actionFn(e);\n if (quitOnNullishReturnValue && !isThenable(returnValueOfOnOk)) {\n clickedRef.current = false;\n onInternalClose(e);\n return;\n }\n } else if (actionFn.length) {\n returnValueOfOnOk = actionFn(close);\n // https://github.com/ant-design/ant-design/issues/23358\n clickedRef.current = false;\n } else {\n returnValueOfOnOk = actionFn();\n if (!returnValueOfOnOk) {\n onInternalClose();\n return;\n }\n }\n handlePromiseOnOk(returnValueOfOnOk);\n };\n return /*#__PURE__*/React.createElement(Button, Object.assign({}, convertLegacyProps(type), {\n onClick: onClick,\n loading: loading,\n prefixCls: prefixCls\n }, buttonProps, {\n ref: buttonRef\n }), children);\n};\nexport default ActionButton;","import useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport * as React from 'react';\nimport ConfigProvider, { ConfigContext } from '../config-provider';\nexport function withPureRenderTheme(Component) {\n return function PureRenderThemeComponent(props) {\n return /*#__PURE__*/React.createElement(ConfigProvider, {\n theme: {\n token: {\n motion: false,\n zIndexPopupBase: 0\n }\n }\n }, /*#__PURE__*/React.createElement(Component, Object.assign({}, props)));\n };\n}\n/* istanbul ignore next */\nexport default function genPurePanel(Component, defaultPrefixCls, getDropdownCls, postProps) {\n function PurePanel(props) {\n const {\n prefixCls: customizePrefixCls,\n style\n } = props;\n const holderRef = React.useRef(null);\n const [popupHeight, setPopupHeight] = React.useState(0);\n const [popupWidth, setPopupWidth] = React.useState(0);\n const [open, setOpen] = useMergedState(false, {\n value: props.open\n });\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls(defaultPrefixCls || 'select', customizePrefixCls);\n React.useEffect(() => {\n // We do not care about ssr\n setOpen(true);\n if (typeof ResizeObserver !== 'undefined') {\n const resizeObserver = new ResizeObserver(entries => {\n const element = entries[0].target;\n setPopupHeight(element.offsetHeight + 8);\n setPopupWidth(element.offsetWidth);\n });\n const interval = setInterval(() => {\n var _a;\n const dropdownCls = getDropdownCls ? `.${getDropdownCls(prefixCls)}` : `.${prefixCls}-dropdown`;\n const popup = (_a = holderRef.current) === null || _a === void 0 ? void 0 : _a.querySelector(dropdownCls);\n if (popup) {\n clearInterval(interval);\n resizeObserver.observe(popup);\n }\n }, 10);\n return () => {\n clearInterval(interval);\n resizeObserver.disconnect();\n };\n }\n }, []);\n let mergedProps = Object.assign(Object.assign({}, props), {\n style: Object.assign(Object.assign({}, style), {\n margin: 0\n }),\n open,\n visible: open,\n getPopupContainer: () => holderRef.current\n });\n if (postProps) {\n mergedProps = postProps(mergedProps);\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: holderRef,\n style: {\n paddingBottom: popupHeight,\n position: 'relative',\n minWidth: popupWidth\n }\n }, /*#__PURE__*/React.createElement(Component, Object.assign({}, mergedProps)));\n }\n return withPureRenderTheme(PurePanel);\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport { PresetColors } from '../theme/interface';\nconst inverseColors = PresetColors.map(color => `${color}-inverse`);\nexport const PresetStatusColorTypes = ['success', 'processing', 'error', 'default', 'warning'];\n/**\n * determine if the color keyword belongs to the `Ant Design` {@link PresetColors}.\n * @param color color to be judged\n * @param includeInverse whether to include reversed colors\n */\nexport function isPresetColor(color) {\n let includeInverse = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n if (includeInverse) {\n return [].concat(_toConsumableArray(inverseColors), _toConsumableArray(PresetColors)).includes(color);\n }\n return PresetColors.includes(color);\n}\nexport function isPresetStatusColor(color) {\n return PresetStatusColorTypes.includes(color);\n}","function extendsObject() {\n const result = Object.assign({}, arguments.length <= 0 ? undefined : arguments[0]);\n for (let i = 1; i < arguments.length; i++) {\n const obj = i < 0 || arguments.length <= i ? undefined : arguments[i];\n if (obj) {\n Object.keys(obj).forEach(key => {\n const val = obj[key];\n if (val !== undefined) {\n result[key] = val;\n }\n });\n }\n }\n return result;\n}\nexport default extendsObject;","export const getRenderPropValue = propValue => {\n if (!propValue) {\n return null;\n }\n if (typeof propValue === 'function') {\n return propValue();\n }\n return propValue;\n};","import CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport React from 'react';\nfunction useInnerClosable(closable, closeIcon, defaultClosable) {\n if (typeof closable === 'boolean') {\n return closable;\n }\n if (closeIcon === undefined) {\n return !!defaultClosable;\n }\n return closeIcon !== false && closeIcon !== null;\n}\nexport default function useClosable(closable, closeIcon, customCloseIconRender) {\n let defaultCloseIcon = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : /*#__PURE__*/React.createElement(CloseOutlined, null);\n let defaultClosable = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n const mergedClosable = useInnerClosable(closable, closeIcon, defaultClosable);\n if (!mergedClosable) {\n return [false, null];\n }\n const mergedCloseIcon = typeof closeIcon === 'boolean' || closeIcon === undefined || closeIcon === null ? defaultCloseIcon : closeIcon;\n return [true, customCloseIconRender ? customCloseIconRender(mergedCloseIcon) : mergedCloseIcon];\n}","import * as React from 'react';\nimport { detectFlexGapSupported } from '../styleChecker';\nexport default (() => {\n const [flexible, setFlexible] = React.useState(false);\n React.useEffect(() => {\n setFlexible(detectFlexGapSupported());\n }, []);\n return flexible;\n});","import * as React from 'react';\nexport default function useForceUpdate() {\n const [, forceUpdate] = React.useReducer(x => x + 1, 0);\n return forceUpdate;\n}","// ================== Collapse Motion ==================\nconst getCollapsedHeight = () => ({\n height: 0,\n opacity: 0\n});\nconst getRealHeight = node => {\n const {\n scrollHeight\n } = node;\n return {\n height: scrollHeight,\n opacity: 1\n };\n};\nconst getCurrentHeight = node => ({\n height: node ? node.offsetHeight : 0\n});\nconst skipOpacityTransition = (_, event) => (event === null || event === void 0 ? void 0 : event.deadline) === true || event.propertyName === 'height';\nconst initCollapseMotion = function () {\n let rootCls = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'ant';\n return {\n motionName: `${rootCls}-motion-collapse`,\n onAppearStart: getCollapsedHeight,\n onEnterStart: getCollapsedHeight,\n onAppearActive: getRealHeight,\n onEnterActive: getRealHeight,\n onLeaveStart: getCurrentHeight,\n onLeaveActive: getCollapsedHeight,\n onAppearEnd: skipOpacityTransition,\n onEnterEnd: skipOpacityTransition,\n onLeaveEnd: skipOpacityTransition,\n motionDeadline: 500\n };\n};\nconst SelectPlacements = ['bottomLeft', 'bottomRight', 'topLeft', 'topRight'];\nconst getTransitionName = (rootPrefixCls, motion, transitionName) => {\n if (transitionName !== undefined) {\n return transitionName;\n }\n return `${rootPrefixCls}-${motion}`;\n};\nexport { getTransitionName };\nexport default initCollapseMotion;","import { getArrowOffset } from '../style/placementArrow';\nexport function getOverflowOptions(placement, arrowOffset, arrowWidth, autoAdjustOverflow) {\n if (autoAdjustOverflow === false) {\n return {\n adjustX: false,\n adjustY: false\n };\n }\n const overflow = autoAdjustOverflow && typeof autoAdjustOverflow === 'object' ? autoAdjustOverflow : {};\n const baseOverflow = {};\n switch (placement) {\n case 'top':\n case 'bottom':\n baseOverflow.shiftX = arrowOffset.dropdownArrowOffset * 2 + arrowWidth;\n break;\n case 'left':\n case 'right':\n baseOverflow.shiftY = arrowOffset.dropdownArrowOffsetVertical * 2 + arrowWidth;\n break;\n }\n const mergedOverflow = Object.assign(Object.assign({}, baseOverflow), overflow);\n // Support auto shift\n if (!mergedOverflow.shiftX) {\n mergedOverflow.adjustX = true;\n }\n if (!mergedOverflow.shiftY) {\n mergedOverflow.adjustY = true;\n }\n return mergedOverflow;\n}\nconst PlacementAlignMap = {\n left: {\n points: ['cr', 'cl']\n },\n right: {\n points: ['cl', 'cr']\n },\n top: {\n points: ['bc', 'tc']\n },\n bottom: {\n points: ['tc', 'bc']\n },\n topLeft: {\n points: ['bl', 'tl']\n },\n leftTop: {\n points: ['tr', 'tl']\n },\n topRight: {\n points: ['br', 'tr']\n },\n rightTop: {\n points: ['tl', 'tr']\n },\n bottomRight: {\n points: ['tr', 'br']\n },\n rightBottom: {\n points: ['bl', 'br']\n },\n bottomLeft: {\n points: ['tl', 'bl']\n },\n leftBottom: {\n points: ['br', 'bl']\n }\n};\nconst ArrowCenterPlacementAlignMap = {\n topLeft: {\n points: ['bl', 'tc']\n },\n leftTop: {\n points: ['tr', 'cl']\n },\n topRight: {\n points: ['br', 'tc']\n },\n rightTop: {\n points: ['tl', 'cr']\n },\n bottomRight: {\n points: ['tr', 'bc']\n },\n rightBottom: {\n points: ['bl', 'cr']\n },\n bottomLeft: {\n points: ['tl', 'bc']\n },\n leftBottom: {\n points: ['br', 'cl']\n }\n};\nconst DisableAutoArrowList = new Set(['topLeft', 'topRight', 'bottomLeft', 'bottomRight', 'leftTop', 'leftBottom', 'rightTop', 'rightBottom']);\nexport default function getPlacements(config) {\n const {\n arrowWidth,\n autoAdjustOverflow,\n arrowPointAtCenter,\n offset,\n borderRadius,\n visibleFirst\n } = config;\n const halfArrowWidth = arrowWidth / 2;\n const placementMap = {};\n Object.keys(PlacementAlignMap).forEach(key => {\n const template = arrowPointAtCenter && ArrowCenterPlacementAlignMap[key] || PlacementAlignMap[key];\n const placementInfo = Object.assign(Object.assign({}, template), {\n offset: [0, 0]\n });\n placementMap[key] = placementInfo;\n // Disable autoArrow since design is fixed position\n if (DisableAutoArrowList.has(key)) {\n placementInfo.autoArrow = false;\n }\n // Static offset\n switch (key) {\n case 'top':\n case 'topLeft':\n case 'topRight':\n placementInfo.offset[1] = -halfArrowWidth - offset;\n break;\n case 'bottom':\n case 'bottomLeft':\n case 'bottomRight':\n placementInfo.offset[1] = halfArrowWidth + offset;\n break;\n case 'left':\n case 'leftTop':\n case 'leftBottom':\n placementInfo.offset[0] = -halfArrowWidth - offset;\n break;\n case 'right':\n case 'rightTop':\n case 'rightBottom':\n placementInfo.offset[0] = halfArrowWidth + offset;\n break;\n }\n // Dynamic offset\n const arrowOffset = getArrowOffset({\n contentRadius: borderRadius,\n limitVerticalRadius: true\n });\n if (arrowPointAtCenter) {\n switch (key) {\n case 'topLeft':\n case 'bottomLeft':\n placementInfo.offset[0] = -arrowOffset.dropdownArrowOffset - halfArrowWidth;\n break;\n case 'topRight':\n case 'bottomRight':\n placementInfo.offset[0] = arrowOffset.dropdownArrowOffset + halfArrowWidth;\n break;\n case 'leftTop':\n case 'rightTop':\n placementInfo.offset[1] = -arrowOffset.dropdownArrowOffset - halfArrowWidth;\n break;\n case 'leftBottom':\n case 'rightBottom':\n placementInfo.offset[1] = arrowOffset.dropdownArrowOffset + halfArrowWidth;\n break;\n }\n }\n // Overflow\n placementInfo.overflow = getOverflowOptions(key, arrowOffset, arrowWidth, autoAdjustOverflow);\n // VisibleFirst\n if (visibleFirst) {\n placementInfo.htmlRegion = 'visibleFirst';\n }\n });\n return placementMap;\n}","import * as React from 'react';\nexport const {\n isValidElement\n} = React;\nexport function isFragment(child) {\n return child && isValidElement(child) && child.type === React.Fragment;\n}\nexport function replaceElement(element, replacement, props) {\n if (!isValidElement(element)) {\n return replacement;\n }\n return /*#__PURE__*/React.cloneElement(element, typeof props === 'function' ? props(element.props || {}) : props);\n}\nexport function cloneElement(element, props) {\n return replaceElement(element, element, props);\n}","import React from 'react';\nimport { useToken } from '../theme/internal';\nexport const responsiveArray = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];\nconst getResponsiveMap = token => ({\n xs: `(max-width: ${token.screenXSMax}px)`,\n sm: `(min-width: ${token.screenSM}px)`,\n md: `(min-width: ${token.screenMD}px)`,\n lg: `(min-width: ${token.screenLG}px)`,\n xl: `(min-width: ${token.screenXL}px)`,\n xxl: `(min-width: ${token.screenXXL}px)`\n});\n/**\n * Ensures that the breakpoints token are valid, in good order\n * For each breakpoint : screenMin <= screen <= screenMax and screenMax <= nextScreenMin\n */\nconst validateBreakpoints = token => {\n const indexableToken = token;\n const revBreakpoints = [].concat(responsiveArray).reverse();\n revBreakpoints.forEach((breakpoint, i) => {\n const breakpointUpper = breakpoint.toUpperCase();\n const screenMin = `screen${breakpointUpper}Min`;\n const screen = `screen${breakpointUpper}`;\n if (!(indexableToken[screenMin] <= indexableToken[screen])) {\n throw new Error(`${screenMin}<=${screen} fails : !(${indexableToken[screenMin]}<=${indexableToken[screen]})`);\n }\n if (i < revBreakpoints.length - 1) {\n const screenMax = `screen${breakpointUpper}Max`;\n if (!(indexableToken[screen] <= indexableToken[screenMax])) {\n throw new Error(`${screen}<=${screenMax} fails : !(${indexableToken[screen]}<=${indexableToken[screenMax]})`);\n }\n const nextBreakpointUpperMin = revBreakpoints[i + 1].toUpperCase();\n const nextScreenMin = `screen${nextBreakpointUpperMin}Min`;\n if (!(indexableToken[screenMax] <= indexableToken[nextScreenMin])) {\n throw new Error(`${screenMax}<=${nextScreenMin} fails : !(${indexableToken[screenMax]}<=${indexableToken[nextScreenMin]})`);\n }\n }\n });\n return token;\n};\nexport default function useResponsiveObserver() {\n const [, token] = useToken();\n const responsiveMap = getResponsiveMap(validateBreakpoints(token));\n // To avoid repeat create instance, we add `useMemo` here.\n return React.useMemo(() => {\n const subscribers = new Map();\n let subUid = -1;\n let screens = {};\n return {\n matchHandlers: {},\n dispatch(pointMap) {\n screens = pointMap;\n subscribers.forEach(func => func(screens));\n return subscribers.size >= 1;\n },\n subscribe(func) {\n if (!subscribers.size) this.register();\n subUid += 1;\n subscribers.set(subUid, func);\n func(screens);\n return subUid;\n },\n unsubscribe(paramToken) {\n subscribers.delete(paramToken);\n if (!subscribers.size) this.unregister();\n },\n unregister() {\n Object.keys(responsiveMap).forEach(screen => {\n const matchMediaQuery = responsiveMap[screen];\n const handler = this.matchHandlers[matchMediaQuery];\n handler === null || handler === void 0 ? void 0 : handler.mql.removeListener(handler === null || handler === void 0 ? void 0 : handler.listener);\n });\n subscribers.clear();\n },\n register() {\n Object.keys(responsiveMap).forEach(screen => {\n const matchMediaQuery = responsiveMap[screen];\n const listener = _ref => {\n let {\n matches\n } = _ref;\n this.dispatch(Object.assign(Object.assign({}, screens), {\n [screen]: matches\n }));\n };\n const mql = window.matchMedia(matchMediaQuery);\n mql.addListener(listener);\n this.matchHandlers[matchMediaQuery] = {\n mql,\n listener\n };\n listener(mql);\n });\n },\n responsiveMap\n };\n }, [token]);\n}","import classNames from 'classnames';\nconst InputStatuses = ['warning', 'error', ''];\nexport function getStatusClassNames(prefixCls, status, hasFeedback) {\n return classNames({\n [`${prefixCls}-status-success`]: status === 'success',\n [`${prefixCls}-status-warning`]: status === 'warning',\n [`${prefixCls}-status-error`]: status === 'error',\n [`${prefixCls}-status-validating`]: status === 'validating',\n [`${prefixCls}-has-feedback`]: hasFeedback\n });\n}\nexport const getMergedStatus = (contextStatus, customStatus) => customStatus || contextStatus;","import canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { isStyleSupport } from \"rc-util/es/Dom/styleChecker\";\nexport const canUseDocElement = () => canUseDom() && window.document.documentElement;\nexport { isStyleSupport };\nlet flexGapSupported;\nexport const detectFlexGapSupported = () => {\n if (!canUseDocElement()) {\n return false;\n }\n if (flexGapSupported !== undefined) {\n return flexGapSupported;\n }\n // create flex container with row-gap set\n const flex = document.createElement('div');\n flex.style.display = 'flex';\n flex.style.flexDirection = 'column';\n flex.style.rowGap = '1px';\n // create two, elements inside it\n flex.appendChild(document.createElement('div'));\n flex.appendChild(document.createElement('div'));\n // some browser may not repaint when remove nodes, so we need create a new layer to detect.\n const container = document.createElement('div');\n container.style.position = 'absolute';\n container.style.zIndex = '-9999';\n container.appendChild(flex);\n // append to the DOM (needed to obtain scrollHeight)\n document.body.appendChild(container);\n flexGapSupported = flex.scrollHeight === 1; // flex container should be 1px high from the row-gap\n document.body.removeChild(container);\n return flexGapSupported;\n};","import { genComponentStyleHook } from '../../theme/internal';\nconst genWaveStyle = token => {\n const {\n componentCls,\n colorPrimary\n } = token;\n return {\n [componentCls]: {\n position: 'absolute',\n background: 'transparent',\n pointerEvents: 'none',\n boxSizing: 'border-box',\n color: `var(--wave-color, ${colorPrimary})`,\n boxShadow: `0 0 0 0 currentcolor`,\n opacity: 0.2,\n // =================== Motion ===================\n '&.wave-motion-appear': {\n transition: [`box-shadow 0.4s ${token.motionEaseOutCirc}`, `opacity 2s ${token.motionEaseOutCirc}`].join(','),\n '&-active': {\n boxShadow: `0 0 0 6px currentcolor`,\n opacity: 0\n },\n '&.wave-quick': {\n transition: [`box-shadow 0.3s ${token.motionEaseInOut}`, `opacity 0.35s ${token.motionEaseInOut}`].join(',')\n }\n }\n }\n };\n};\nexport default genComponentStyleHook('Wave', token => [genWaveStyle(token)]);","export function isNotGrey(color) {\n // eslint-disable-next-line no-useless-escape\n const match = (color || '').match(/rgba?\\((\\d*), (\\d*), (\\d*)(, [\\d.]*)?\\)/);\n if (match && match[1] && match[2] && match[3]) {\n return !(match[1] === match[2] && match[2] === match[3]);\n }\n return true;\n}\nexport function isValidWaveColor(color) {\n return color && color !== '#fff' && color !== '#ffffff' && color !== 'rgb(255, 255, 255)' && color !== 'rgba(255, 255, 255, 1)' && isNotGrey(color) && !/rgba\\((?:\\d*, ){3}0\\)/.test(color) &&\n // any transparent rgba color\n color !== 'transparent';\n}\nexport function getTargetWaveColor(node) {\n const {\n borderTopColor,\n borderColor,\n backgroundColor\n } = getComputedStyle(node);\n if (isValidWaveColor(borderTopColor)) {\n return borderTopColor;\n }\n if (isValidWaveColor(borderColor)) {\n return borderColor;\n }\n if (isValidWaveColor(backgroundColor)) {\n return backgroundColor;\n }\n return null;\n}","import classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport { render, unmount } from \"rc-util/es/React/render\";\nimport raf from \"rc-util/es/raf\";\nimport * as React from 'react';\nimport { getTargetWaveColor } from './util';\nimport { TARGET_CLS } from './interface';\nfunction validateNum(value) {\n return Number.isNaN(value) ? 0 : value;\n}\nconst WaveEffect = props => {\n const {\n className,\n target,\n component\n } = props;\n const divRef = React.useRef(null);\n const [color, setWaveColor] = React.useState(null);\n const [borderRadius, setBorderRadius] = React.useState([]);\n const [left, setLeft] = React.useState(0);\n const [top, setTop] = React.useState(0);\n const [width, setWidth] = React.useState(0);\n const [height, setHeight] = React.useState(0);\n const [enabled, setEnabled] = React.useState(false);\n const waveStyle = {\n left,\n top,\n width,\n height,\n borderRadius: borderRadius.map(radius => `${radius}px`).join(' ')\n };\n if (color) {\n waveStyle['--wave-color'] = color;\n }\n function syncPos() {\n const nodeStyle = getComputedStyle(target);\n // Get wave color from target\n setWaveColor(getTargetWaveColor(target));\n const isStatic = nodeStyle.position === 'static';\n // Rect\n const {\n borderLeftWidth,\n borderTopWidth\n } = nodeStyle;\n setLeft(isStatic ? target.offsetLeft : validateNum(-parseFloat(borderLeftWidth)));\n setTop(isStatic ? target.offsetTop : validateNum(-parseFloat(borderTopWidth)));\n setWidth(target.offsetWidth);\n setHeight(target.offsetHeight);\n // Get border radius\n const {\n borderTopLeftRadius,\n borderTopRightRadius,\n borderBottomLeftRadius,\n borderBottomRightRadius\n } = nodeStyle;\n setBorderRadius([borderTopLeftRadius, borderTopRightRadius, borderBottomRightRadius, borderBottomLeftRadius].map(radius => validateNum(parseFloat(radius))));\n }\n React.useEffect(() => {\n if (target) {\n // We need delay to check position here\n // since UI may change after click\n const id = raf(() => {\n syncPos();\n setEnabled(true);\n });\n // Add resize observer to follow size\n let resizeObserver;\n if (typeof ResizeObserver !== 'undefined') {\n resizeObserver = new ResizeObserver(syncPos);\n resizeObserver.observe(target);\n }\n return () => {\n raf.cancel(id);\n resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();\n };\n }\n }, []);\n if (!enabled) {\n return null;\n }\n const isSmallComponent = (component === 'Checkbox' || component === 'Radio') && (target === null || target === void 0 ? void 0 : target.classList.contains(TARGET_CLS));\n return /*#__PURE__*/React.createElement(CSSMotion, {\n visible: true,\n motionAppear: true,\n motionName: \"wave-motion\",\n motionDeadline: 5000,\n onAppearEnd: (_, event) => {\n var _a;\n if (event.deadline || event.propertyName === 'opacity') {\n const holder = (_a = divRef.current) === null || _a === void 0 ? void 0 : _a.parentElement;\n unmount(holder).then(() => {\n holder === null || holder === void 0 ? void 0 : holder.remove();\n });\n }\n return false;\n }\n }, _ref => {\n let {\n className: motionClassName\n } = _ref;\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: divRef,\n className: classNames(className, {\n 'wave-quick': isSmallComponent\n }, motionClassName),\n style: waveStyle\n });\n });\n};\nconst showWaveEffect = (target, info) => {\n var _a;\n const {\n component\n } = info;\n // Skip for unchecked checkbox\n if (component === 'Checkbox' && !((_a = target.querySelector('input')) === null || _a === void 0 ? void 0 : _a.checked)) {\n return;\n }\n // Create holder\n const holder = document.createElement('div');\n holder.style.position = 'absolute';\n holder.style.left = '0px';\n holder.style.top = '0px';\n target === null || target === void 0 ? void 0 : target.insertBefore(holder, target === null || target === void 0 ? void 0 : target.firstChild);\n render( /*#__PURE__*/React.createElement(WaveEffect, Object.assign({}, info, {\n target: target\n })), holder);\n};\nexport default showWaveEffect;","import * as React from 'react';\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport raf from \"rc-util/es/raf\";\nimport showWaveEffect from './WaveEffect';\nimport { ConfigContext } from '../../config-provider';\nimport useToken from '../../theme/useToken';\nimport { TARGET_CLS } from './interface';\nexport default function useWave(nodeRef, className, component) {\n const {\n wave\n } = React.useContext(ConfigContext);\n const [, token, hashId] = useToken();\n const showWave = useEvent(event => {\n const node = nodeRef.current;\n if ((wave === null || wave === void 0 ? void 0 : wave.disabled) || !node) {\n return;\n }\n const targetNode = node.querySelector(`.${TARGET_CLS}`) || node;\n const {\n showEffect\n } = wave || {};\n // Customize wave effect\n (showEffect || showWaveEffect)(targetNode, {\n className,\n token,\n component,\n event,\n hashId\n });\n });\n const rafId = React.useRef();\n // Merge trigger event into one for each frame\n const showDebounceWave = event => {\n raf.cancel(rafId.current);\n rafId.current = raf(() => {\n showWave(event);\n });\n };\n return showDebounceWave;\n}","import classNames from 'classnames';\nimport { composeRef, supportRef } from \"rc-util/es/ref\";\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nimport React, { useContext, useRef } from 'react';\nimport { ConfigContext } from '../../config-provider';\nimport { cloneElement } from '../reactNode';\nimport useStyle from './style';\nimport useWave from './useWave';\nconst Wave = props => {\n const {\n children,\n disabled,\n component\n } = props;\n const {\n getPrefixCls\n } = useContext(ConfigContext);\n const containerRef = useRef(null);\n // ============================== Style ===============================\n const prefixCls = getPrefixCls('wave');\n const [, hashId] = useStyle(prefixCls);\n // =============================== Wave ===============================\n const showWave = useWave(containerRef, classNames(prefixCls, hashId), component);\n // ============================== Effect ==============================\n React.useEffect(() => {\n const node = containerRef.current;\n if (!node || node.nodeType !== 1 || disabled) {\n return;\n }\n // Click handler\n const onClick = e => {\n // Fix radio button click twice\n if (!isVisible(e.target) ||\n // No need wave\n !node.getAttribute || node.getAttribute('disabled') || node.disabled || node.className.includes('disabled') || node.className.includes('-leave')) {\n return;\n }\n showWave(e);\n };\n // Bind events\n node.addEventListener('click', onClick, true);\n return () => {\n node.removeEventListener('click', onClick, true);\n };\n }, [disabled]);\n // ============================== Render ==============================\n if (! /*#__PURE__*/React.isValidElement(children)) {\n return children !== null && children !== void 0 ? children : null;\n }\n const ref = supportRef(children) ? composeRef(children.ref, containerRef) : containerRef;\n return cloneElement(children, {\n ref\n });\n};\nif (process.env.NODE_ENV !== 'production') {\n Wave.displayName = 'Wave';\n}\nexport default Wave;","export const TARGET_CLS = 'ant-wave-target';","import { resetComponent } from '../../style';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nconst genAlertTypeStyle = (bgColor, borderColor, iconColor, token, alertCls) => ({\n backgroundColor: bgColor,\n border: `${token.lineWidth}px ${token.lineType} ${borderColor}`,\n [`${alertCls}-icon`]: {\n color: iconColor\n }\n});\nexport const genBaseStyle = token => {\n const {\n componentCls,\n motionDurationSlow: duration,\n marginXS,\n marginSM,\n fontSize,\n fontSizeLG,\n lineHeight,\n borderRadiusLG: borderRadius,\n motionEaseInOutCirc,\n alertIconSizeLG,\n colorText,\n paddingContentVerticalSM,\n alertPaddingHorizontal,\n paddingMD,\n paddingContentHorizontalLG,\n colorTextHeading\n } = token;\n return {\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n padding: `${paddingContentVerticalSM}px ${alertPaddingHorizontal}px`,\n wordWrap: 'break-word',\n borderRadius,\n [`&${componentCls}-rtl`]: {\n direction: 'rtl'\n },\n [`${componentCls}-content`]: {\n flex: 1,\n minWidth: 0\n },\n [`${componentCls}-icon`]: {\n marginInlineEnd: marginXS,\n lineHeight: 0\n },\n [`&-description`]: {\n display: 'none',\n fontSize,\n lineHeight\n },\n '&-message': {\n color: colorText\n },\n [`&${componentCls}-motion-leave`]: {\n overflow: 'hidden',\n opacity: 1,\n transition: `max-height ${duration} ${motionEaseInOutCirc}, opacity ${duration} ${motionEaseInOutCirc},\n padding-top ${duration} ${motionEaseInOutCirc}, padding-bottom ${duration} ${motionEaseInOutCirc},\n margin-bottom ${duration} ${motionEaseInOutCirc}`\n },\n [`&${componentCls}-motion-leave-active`]: {\n maxHeight: 0,\n marginBottom: '0 !important',\n paddingTop: 0,\n paddingBottom: 0,\n opacity: 0\n }\n }),\n [`${componentCls}-with-description`]: {\n alignItems: 'flex-start',\n paddingInline: paddingContentHorizontalLG,\n paddingBlock: paddingMD,\n [`${componentCls}-icon`]: {\n marginInlineEnd: marginSM,\n fontSize: alertIconSizeLG,\n lineHeight: 0\n },\n [`${componentCls}-message`]: {\n display: 'block',\n marginBottom: marginXS,\n color: colorTextHeading,\n fontSize: fontSizeLG\n },\n [`${componentCls}-description`]: {\n display: 'block'\n }\n },\n [`${componentCls}-banner`]: {\n marginBottom: 0,\n border: '0 !important',\n borderRadius: 0\n }\n };\n};\nexport const genTypeStyle = token => {\n const {\n componentCls,\n colorSuccess,\n colorSuccessBorder,\n colorSuccessBg,\n colorWarning,\n colorWarningBorder,\n colorWarningBg,\n colorError,\n colorErrorBorder,\n colorErrorBg,\n colorInfo,\n colorInfoBorder,\n colorInfoBg\n } = token;\n return {\n [componentCls]: {\n '&-success': genAlertTypeStyle(colorSuccessBg, colorSuccessBorder, colorSuccess, token, componentCls),\n '&-info': genAlertTypeStyle(colorInfoBg, colorInfoBorder, colorInfo, token, componentCls),\n '&-warning': genAlertTypeStyle(colorWarningBg, colorWarningBorder, colorWarning, token, componentCls),\n '&-error': Object.assign(Object.assign({}, genAlertTypeStyle(colorErrorBg, colorErrorBorder, colorError, token, componentCls)), {\n [`${componentCls}-description > pre`]: {\n margin: 0,\n padding: 0\n }\n })\n }\n };\n};\nexport const genActionStyle = token => {\n const {\n componentCls,\n iconCls,\n motionDurationMid,\n marginXS,\n fontSizeIcon,\n colorIcon,\n colorIconHover\n } = token;\n return {\n [componentCls]: {\n [`&-action`]: {\n marginInlineStart: marginXS\n },\n [`${componentCls}-close-icon`]: {\n marginInlineStart: marginXS,\n padding: 0,\n overflow: 'hidden',\n fontSize: fontSizeIcon,\n lineHeight: `${fontSizeIcon}px`,\n backgroundColor: 'transparent',\n border: 'none',\n outline: 'none',\n cursor: 'pointer',\n [`${iconCls}-close`]: {\n color: colorIcon,\n transition: `color ${motionDurationMid}`,\n '&:hover': {\n color: colorIconHover\n }\n }\n },\n '&-close-text': {\n color: colorIcon,\n transition: `color ${motionDurationMid}`,\n '&:hover': {\n color: colorIconHover\n }\n }\n }\n };\n};\nexport const genAlertStyle = token => [genBaseStyle(token), genTypeStyle(token), genActionStyle(token)];\nexport default genComponentStyleHook('Alert', token => {\n const {\n fontSizeHeading3\n } = token;\n const alertToken = mergeToken(token, {\n alertIconSizeLG: fontSizeHeading3,\n alertPaddingHorizontal: 12 // Fixed value here.\n });\n\n return [genAlertStyle(alertToken)];\n});","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport CheckCircleFilled from \"@ant-design/icons/es/icons/CheckCircleFilled\";\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport ExclamationCircleFilled from \"@ant-design/icons/es/icons/ExclamationCircleFilled\";\nimport InfoCircleFilled from \"@ant-design/icons/es/icons/InfoCircleFilled\";\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport * as React from 'react';\nimport { replaceElement } from '../_util/reactNode';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\n// CSSINJS\nimport useStyle from './style';\nconst iconMapFilled = {\n success: CheckCircleFilled,\n info: InfoCircleFilled,\n error: CloseCircleFilled,\n warning: ExclamationCircleFilled\n};\nconst IconNode = props => {\n const {\n icon,\n prefixCls,\n type\n } = props;\n const iconType = iconMapFilled[type] || null;\n if (icon) {\n return replaceElement(icon, /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-icon`\n }, icon), () => ({\n className: classNames(`${prefixCls}-icon`, {\n [icon.props.className]: icon.props.className\n })\n }));\n }\n return /*#__PURE__*/React.createElement(iconType, {\n className: `${prefixCls}-icon`\n });\n};\nconst CloseIcon = props => {\n const {\n isClosable,\n prefixCls,\n closeIcon,\n handleClose\n } = props;\n const mergedCloseIcon = closeIcon === true || closeIcon === undefined ? /*#__PURE__*/React.createElement(CloseOutlined, null) : closeIcon;\n return isClosable ? /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: handleClose,\n className: `${prefixCls}-close-icon`,\n tabIndex: 0\n }, mergedCloseIcon) : null;\n};\nconst Alert = props => {\n const {\n description,\n prefixCls: customizePrefixCls,\n message,\n banner,\n className,\n rootClassName,\n style,\n onMouseEnter,\n onMouseLeave,\n onClick,\n afterClose,\n showIcon,\n closable,\n closeText,\n closeIcon,\n action\n } = props,\n otherProps = __rest(props, [\"description\", \"prefixCls\", \"message\", \"banner\", \"className\", \"rootClassName\", \"style\", \"onMouseEnter\", \"onMouseLeave\", \"onClick\", \"afterClose\", \"showIcon\", \"closable\", \"closeText\", \"closeIcon\", \"action\"]);\n const [closed, setClosed] = React.useState(false);\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(!closeText, 'Alert', '`closeText` is deprecated. Please use `closeIcon` instead.') : void 0;\n }\n const ref = React.useRef(null);\n const {\n getPrefixCls,\n direction,\n alert\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('alert', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const handleClose = e => {\n var _a;\n setClosed(true);\n (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props, e);\n };\n const type = React.useMemo(() => {\n if (props.type !== undefined) {\n return props.type;\n }\n // banner mode defaults to 'warning'\n return banner ? 'warning' : 'info';\n }, [props.type, banner]);\n // closeable when closeText or closeIcon is assigned\n const isClosable = React.useMemo(() => {\n if (closeText) {\n return true;\n }\n if (typeof closable === 'boolean') {\n return closable;\n }\n // should be true when closeIcon is 0 or ''\n return closeIcon !== false && closeIcon !== null && closeIcon !== undefined;\n }, [closeText, closeIcon, closable]);\n // banner mode defaults to Icon\n const isShowIcon = banner && showIcon === undefined ? true : showIcon;\n const alertCls = classNames(prefixCls, `${prefixCls}-${type}`, {\n [`${prefixCls}-with-description`]: !!description,\n [`${prefixCls}-no-icon`]: !isShowIcon,\n [`${prefixCls}-banner`]: !!banner,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, alert === null || alert === void 0 ? void 0 : alert.className, className, rootClassName, hashId);\n const restProps = pickAttrs(otherProps, {\n aria: true,\n data: true\n });\n return wrapSSR( /*#__PURE__*/React.createElement(CSSMotion, {\n visible: !closed,\n motionName: `${prefixCls}-motion`,\n motionAppear: false,\n motionEnter: false,\n onLeaveStart: node => ({\n maxHeight: node.offsetHeight\n }),\n onLeaveEnd: afterClose\n }, _ref => {\n let {\n className: motionClassName,\n style: motionStyle\n } = _ref;\n return /*#__PURE__*/React.createElement(\"div\", Object.assign({\n ref: ref,\n \"data-show\": !closed,\n className: classNames(alertCls, motionClassName),\n style: Object.assign(Object.assign(Object.assign({}, alert === null || alert === void 0 ? void 0 : alert.style), style), motionStyle),\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onClick: onClick,\n role: \"alert\"\n }, restProps), isShowIcon ? /*#__PURE__*/React.createElement(IconNode, {\n description: description,\n icon: props.icon,\n prefixCls: prefixCls,\n type: type\n }) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-content`\n }, message ? /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-message`\n }, message) : null, description ? /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-description`\n }, description) : null), action ? /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-action`\n }, action) : null, /*#__PURE__*/React.createElement(CloseIcon, {\n isClosable: isClosable,\n prefixCls: prefixCls,\n closeIcon: closeText || closeIcon,\n handleClose: handleClose\n }));\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n Alert.displayName = 'Alert';\n}\nexport default Alert;","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nimport Alert from './Alert';\nlet ErrorBoundary = /*#__PURE__*/function (_React$Component) {\n _inherits(ErrorBoundary, _React$Component);\n var _super = _createSuper(ErrorBoundary);\n function ErrorBoundary() {\n var _this;\n _classCallCheck(this, ErrorBoundary);\n _this = _super.apply(this, arguments);\n _this.state = {\n error: undefined,\n info: {\n componentStack: ''\n }\n };\n return _this;\n }\n _createClass(ErrorBoundary, [{\n key: \"componentDidCatch\",\n value: function componentDidCatch(error, info) {\n this.setState({\n error,\n info\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n const {\n message,\n description,\n children\n } = this.props;\n const {\n error,\n info\n } = this.state;\n const componentStack = info && info.componentStack ? info.componentStack : null;\n const errorMessage = typeof message === 'undefined' ? (error || '').toString() : message;\n const errorDescription = typeof description === 'undefined' ? componentStack : description;\n if (error) {\n return /*#__PURE__*/React.createElement(Alert, {\n type: \"error\",\n message: errorMessage,\n description: /*#__PURE__*/React.createElement(\"pre\", {\n style: {\n fontSize: '0.9em',\n overflowX: 'auto'\n }\n }, errorDescription)\n });\n }\n return children;\n }\n }]);\n return ErrorBoundary;\n}(React.Component);\nexport default ErrorBoundary;","'use client';\n\nimport InternalAlert from './Alert';\nimport ErrorBoundary from './ErrorBoundary';\nconst Alert = InternalAlert;\nAlert.ErrorBoundary = ErrorBoundary;\nexport default Alert;","import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\nconst IconWrapper = /*#__PURE__*/forwardRef((props, ref) => {\n const {\n className,\n style,\n children,\n prefixCls\n } = props;\n const iconWrapperCls = classNames(`${prefixCls}-icon`, className);\n return /*#__PURE__*/React.createElement(\"span\", {\n ref: ref,\n className: iconWrapperCls,\n style: style\n }, children);\n});\nexport default IconWrapper;","import LoadingOutlined from \"@ant-design/icons/es/icons/LoadingOutlined\";\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport React, { forwardRef } from 'react';\nimport IconWrapper from './IconWrapper';\nconst InnerLoadingIcon = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n prefixCls,\n className,\n style,\n iconClassName\n } = _ref;\n const mergedIconCls = classNames(`${prefixCls}-loading-icon`, className);\n return /*#__PURE__*/React.createElement(IconWrapper, {\n prefixCls: prefixCls,\n className: mergedIconCls,\n style: style,\n ref: ref\n }, /*#__PURE__*/React.createElement(LoadingOutlined, {\n className: iconClassName\n }));\n});\nconst getCollapsedWidth = () => ({\n width: 0,\n opacity: 0,\n transform: 'scale(0)'\n});\nconst getRealWidth = node => ({\n width: node.scrollWidth,\n opacity: 1,\n transform: 'scale(1)'\n});\nconst LoadingIcon = props => {\n const {\n prefixCls,\n loading,\n existIcon,\n className,\n style\n } = props;\n const visible = !!loading;\n if (existIcon) {\n return /*#__PURE__*/React.createElement(InnerLoadingIcon, {\n prefixCls: prefixCls,\n className: className,\n style: style\n });\n }\n return /*#__PURE__*/React.createElement(CSSMotion, {\n visible: visible,\n // We do not really use this motionName\n motionName: `${prefixCls}-loading-icon-motion`,\n removeOnLeave: true,\n onAppearStart: getCollapsedWidth,\n onAppearActive: getRealWidth,\n onEnterStart: getCollapsedWidth,\n onEnterActive: getRealWidth,\n onLeaveStart: getRealWidth,\n onLeaveActive: getCollapsedWidth\n }, (_ref2, ref) => {\n let {\n className: motionCls,\n style: motionStyle\n } = _ref2;\n return /*#__PURE__*/React.createElement(InnerLoadingIcon, {\n prefixCls: prefixCls,\n className: className,\n style: Object.assign(Object.assign({}, style), motionStyle),\n ref: ref,\n iconClassName: motionCls\n });\n });\n};\nexport default LoadingIcon;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport { useToken } from '../theme/internal';\nexport const GroupSizeContext = /*#__PURE__*/React.createContext(undefined);\nconst ButtonGroup = props => {\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls,\n size,\n className\n } = props,\n others = __rest(props, [\"prefixCls\", \"size\", \"className\"]);\n const prefixCls = getPrefixCls('btn-group', customizePrefixCls);\n const [,, hashId] = useToken();\n let sizeCls = '';\n switch (size) {\n case 'large':\n sizeCls = 'lg';\n break;\n case 'small':\n sizeCls = 'sm';\n break;\n case 'middle':\n case undefined:\n break;\n default:\n process.env.NODE_ENV !== \"production\" ? warning(!size, 'Button.Group', 'Invalid prop `size`.') : void 0;\n }\n const classes = classNames(prefixCls, {\n [`${prefixCls}-${sizeCls}`]: sizeCls,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, className, hashId);\n return /*#__PURE__*/React.createElement(GroupSizeContext.Provider, {\n value: size\n }, /*#__PURE__*/React.createElement(\"div\", Object.assign({}, others, {\n className: classes\n })));\n};\nexport default ButtonGroup;","import React from 'react';\nimport { cloneElement, isFragment } from '../_util/reactNode';\nconst rxTwoCNChar = /^[\\u4e00-\\u9fa5]{2}$/;\nexport const isTwoCNChar = rxTwoCNChar.test.bind(rxTwoCNChar);\nexport function isString(str) {\n return typeof str === 'string';\n}\nexport function isUnBorderedButtonType(type) {\n return type === 'text' || type === 'link';\n}\nfunction splitCNCharsBySpace(child, needInserted) {\n if (child === null || child === undefined) {\n return;\n }\n const SPACE = needInserted ? ' ' : '';\n if (typeof child !== 'string' && typeof child !== 'number' && isString(child.type) && isTwoCNChar(child.props.children)) {\n return cloneElement(child, {\n children: child.props.children.split('').join(SPACE)\n });\n }\n if (isString(child)) {\n return isTwoCNChar(child) ? /*#__PURE__*/React.createElement(\"span\", null, child.split('').join(SPACE)) : /*#__PURE__*/React.createElement(\"span\", null, child);\n }\n if (isFragment(child)) {\n return /*#__PURE__*/React.createElement(\"span\", null, child);\n }\n return child;\n}\nexport function spaceChildren(children, needInserted) {\n let isPrevChildPure = false;\n const childList = [];\n React.Children.forEach(children, child => {\n const type = typeof child;\n const isCurrentChildPure = type === 'string' || type === 'number';\n if (isPrevChildPure && isCurrentChildPure) {\n const lastIndex = childList.length - 1;\n const lastChild = childList[lastIndex];\n childList[lastIndex] = `${lastChild}${child}`;\n } else {\n childList.push(child);\n }\n isPrevChildPure = isCurrentChildPure;\n });\n return React.Children.map(childList, child => splitCNCharsBySpace(child, needInserted));\n}\nconst ButtonTypes = ['default', 'primary', 'dashed', 'link', 'text'];\nconst ButtonShapes = ['default', 'circle', 'round'];\nconst ButtonHTMLTypes = ['submit', 'button', 'reset'];","function compactItemVerticalBorder(token, parentCls) {\n return {\n // border collapse\n [`&-item:not(${parentCls}-last-item)`]: {\n marginBottom: -token.lineWidth\n },\n '&-item': {\n '&:hover,&:focus,&:active': {\n zIndex: 2\n },\n '&[disabled]': {\n zIndex: 0\n }\n }\n };\n}\nfunction compactItemBorderVerticalRadius(prefixCls, parentCls) {\n return {\n [`&-item:not(${parentCls}-first-item):not(${parentCls}-last-item)`]: {\n borderRadius: 0\n },\n [`&-item${parentCls}-first-item:not(${parentCls}-last-item)`]: {\n [`&, &${prefixCls}-sm, &${prefixCls}-lg`]: {\n borderEndEndRadius: 0,\n borderEndStartRadius: 0\n }\n },\n [`&-item${parentCls}-last-item:not(${parentCls}-first-item)`]: {\n [`&, &${prefixCls}-sm, &${prefixCls}-lg`]: {\n borderStartStartRadius: 0,\n borderStartEndRadius: 0\n }\n }\n };\n}\nexport function genCompactItemVerticalStyle(token) {\n const compactCls = `${token.componentCls}-compact-vertical`;\n return {\n [compactCls]: Object.assign(Object.assign({}, compactItemVerticalBorder(token, compactCls)), compactItemBorderVerticalRadius(token.componentCls, compactCls))\n };\n}","const genButtonBorderStyle = (buttonTypeCls, borderColor) => ({\n // Border\n [`> span, > ${buttonTypeCls}`]: {\n '&:not(:last-child)': {\n [`&, & > ${buttonTypeCls}`]: {\n '&:not(:disabled)': {\n borderInlineEndColor: borderColor\n }\n }\n },\n '&:not(:first-child)': {\n [`&, & > ${buttonTypeCls}`]: {\n '&:not(:disabled)': {\n borderInlineStartColor: borderColor\n }\n }\n }\n }\n});\nconst genGroupStyle = token => {\n const {\n componentCls,\n fontSize,\n lineWidth,\n colorPrimaryHover,\n colorErrorHover\n } = token;\n return {\n [`${componentCls}-group`]: [{\n position: 'relative',\n display: 'inline-flex',\n // Border\n [`> span, > ${componentCls}`]: {\n '&:not(:last-child)': {\n [`&, & > ${componentCls}`]: {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0\n }\n },\n '&:not(:first-child)': {\n marginInlineStart: -lineWidth,\n [`&, & > ${componentCls}`]: {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n }\n }\n },\n [componentCls]: {\n position: 'relative',\n zIndex: 1,\n [`&:hover,\n &:focus,\n &:active`]: {\n zIndex: 2\n },\n '&[disabled]': {\n zIndex: 0\n }\n },\n [`${componentCls}-icon-only`]: {\n fontSize\n }\n },\n // Border Color\n genButtonBorderStyle(`${componentCls}-primary`, colorPrimaryHover), genButtonBorderStyle(`${componentCls}-danger`, colorErrorHover)]\n };\n};\nexport default genGroupStyle;","import { genFocusStyle } from '../../style';\nimport { genCompactItemStyle } from '../../style/compact-item';\nimport { genCompactItemVerticalStyle } from '../../style/compact-item-vertical';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport genGroupStyle from './group';\n// ============================== Shared ==============================\nconst genSharedButtonStyle = token => {\n const {\n componentCls,\n iconCls,\n buttonFontWeight\n } = token;\n return {\n [componentCls]: {\n outline: 'none',\n position: 'relative',\n display: 'inline-block',\n fontWeight: buttonFontWeight,\n whiteSpace: 'nowrap',\n textAlign: 'center',\n backgroundImage: 'none',\n backgroundColor: 'transparent',\n border: `${token.lineWidth}px ${token.lineType} transparent`,\n cursor: 'pointer',\n transition: `all ${token.motionDurationMid} ${token.motionEaseInOut}`,\n userSelect: 'none',\n touchAction: 'manipulation',\n lineHeight: token.lineHeight,\n color: token.colorText,\n '&:disabled > *': {\n pointerEvents: 'none'\n },\n '> span': {\n display: 'inline-block'\n },\n [`${componentCls}-icon`]: {\n lineHeight: 0\n },\n // Leave a space between icon and text.\n [`> ${iconCls} + span, > span + ${iconCls}`]: {\n marginInlineStart: token.marginXS\n },\n [`&:not(${componentCls}-icon-only) > ${componentCls}-icon`]: {\n [`&${componentCls}-loading-icon, &:not(:last-child)`]: {\n marginInlineEnd: token.marginXS\n }\n },\n '> a': {\n color: 'currentColor'\n },\n '&:not(:disabled)': Object.assign({}, genFocusStyle(token)),\n // make `btn-icon-only` not too narrow\n [`&-icon-only${componentCls}-compact-item`]: {\n flex: 'none'\n },\n // Special styles for Primary Button\n [`&-compact-item${componentCls}-primary`]: {\n [`&:not([disabled]) + ${componentCls}-compact-item${componentCls}-primary:not([disabled])`]: {\n position: 'relative',\n '&:before': {\n position: 'absolute',\n top: -token.lineWidth,\n insetInlineStart: -token.lineWidth,\n display: 'inline-block',\n width: token.lineWidth,\n height: `calc(100% + ${token.lineWidth * 2}px)`,\n backgroundColor: token.colorPrimaryHover,\n content: '\"\"'\n }\n }\n },\n // Special styles for Primary Button\n '&-compact-vertical-item': {\n [`&${componentCls}-primary`]: {\n [`&:not([disabled]) + ${componentCls}-compact-vertical-item${componentCls}-primary:not([disabled])`]: {\n position: 'relative',\n '&:before': {\n position: 'absolute',\n top: -token.lineWidth,\n insetInlineStart: -token.lineWidth,\n display: 'inline-block',\n width: `calc(100% + ${token.lineWidth * 2}px)`,\n height: token.lineWidth,\n backgroundColor: token.colorPrimaryHover,\n content: '\"\"'\n }\n }\n }\n }\n }\n };\n};\nconst genHoverActiveButtonStyle = (btnCls, hoverStyle, activeStyle) => ({\n [`&:not(:disabled):not(${btnCls}-disabled)`]: {\n '&:hover': hoverStyle,\n '&:active': activeStyle\n }\n});\n// ============================== Shape ===============================\nconst genCircleButtonStyle = token => ({\n minWidth: token.controlHeight,\n paddingInlineStart: 0,\n paddingInlineEnd: 0,\n borderRadius: '50%'\n});\nconst genRoundButtonStyle = token => ({\n borderRadius: token.controlHeight,\n paddingInlineStart: token.controlHeight / 2,\n paddingInlineEnd: token.controlHeight / 2\n});\n// =============================== Type ===============================\nconst genDisabledStyle = token => ({\n cursor: 'not-allowed',\n borderColor: token.colorBorder,\n color: token.colorTextDisabled,\n backgroundColor: token.colorBgContainerDisabled,\n boxShadow: 'none'\n});\nconst genGhostButtonStyle = (btnCls, textColor, borderColor, textColorDisabled, borderColorDisabled, hoverStyle, activeStyle) => ({\n [`&${btnCls}-background-ghost`]: Object.assign(Object.assign({\n color: textColor || undefined,\n backgroundColor: 'transparent',\n borderColor: borderColor || undefined,\n boxShadow: 'none'\n }, genHoverActiveButtonStyle(btnCls, Object.assign({\n backgroundColor: 'transparent'\n }, hoverStyle), Object.assign({\n backgroundColor: 'transparent'\n }, activeStyle))), {\n '&:disabled': {\n cursor: 'not-allowed',\n color: textColorDisabled || undefined,\n borderColor: borderColorDisabled || undefined\n }\n })\n});\nconst genSolidDisabledButtonStyle = token => ({\n [`&:disabled, &${token.componentCls}-disabled`]: Object.assign({}, genDisabledStyle(token))\n});\nconst genSolidButtonStyle = token => Object.assign({}, genSolidDisabledButtonStyle(token));\nconst genPureDisabledButtonStyle = token => ({\n [`&:disabled, &${token.componentCls}-disabled`]: {\n cursor: 'not-allowed',\n color: token.colorTextDisabled\n }\n});\n// Type: Default\nconst genDefaultButtonStyle = token => Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, genSolidButtonStyle(token)), {\n backgroundColor: token.colorBgContainer,\n borderColor: token.colorBorder,\n boxShadow: `0 ${token.controlOutlineWidth}px 0 ${token.controlTmpOutline}`\n}), genHoverActiveButtonStyle(token.componentCls, {\n color: token.colorPrimaryHover,\n borderColor: token.colorPrimaryHover\n}, {\n color: token.colorPrimaryActive,\n borderColor: token.colorPrimaryActive\n})), genGhostButtonStyle(token.componentCls, token.colorBgContainer, token.colorBgContainer, token.colorTextDisabled, token.colorBorder)), {\n [`&${token.componentCls}-dangerous`]: Object.assign(Object.assign(Object.assign({\n color: token.colorError,\n borderColor: token.colorError\n }, genHoverActiveButtonStyle(token.componentCls, {\n color: token.colorErrorHover,\n borderColor: token.colorErrorBorderHover\n }, {\n color: token.colorErrorActive,\n borderColor: token.colorErrorActive\n })), genGhostButtonStyle(token.componentCls, token.colorError, token.colorError, token.colorTextDisabled, token.colorBorder)), genSolidDisabledButtonStyle(token))\n});\n// Type: Primary\nconst genPrimaryButtonStyle = token => Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, genSolidButtonStyle(token)), {\n color: token.colorTextLightSolid,\n backgroundColor: token.colorPrimary,\n boxShadow: `0 ${token.controlOutlineWidth}px 0 ${token.controlOutline}`\n}), genHoverActiveButtonStyle(token.componentCls, {\n color: token.colorTextLightSolid,\n backgroundColor: token.colorPrimaryHover\n}, {\n color: token.colorTextLightSolid,\n backgroundColor: token.colorPrimaryActive\n})), genGhostButtonStyle(token.componentCls, token.colorPrimary, token.colorPrimary, token.colorTextDisabled, token.colorBorder, {\n color: token.colorPrimaryHover,\n borderColor: token.colorPrimaryHover\n}, {\n color: token.colorPrimaryActive,\n borderColor: token.colorPrimaryActive\n})), {\n [`&${token.componentCls}-dangerous`]: Object.assign(Object.assign(Object.assign({\n backgroundColor: token.colorError,\n boxShadow: `0 ${token.controlOutlineWidth}px 0 ${token.colorErrorOutline}`\n }, genHoverActiveButtonStyle(token.componentCls, {\n backgroundColor: token.colorErrorHover\n }, {\n backgroundColor: token.colorErrorActive\n })), genGhostButtonStyle(token.componentCls, token.colorError, token.colorError, token.colorTextDisabled, token.colorBorder, {\n color: token.colorErrorHover,\n borderColor: token.colorErrorHover\n }, {\n color: token.colorErrorActive,\n borderColor: token.colorErrorActive\n })), genSolidDisabledButtonStyle(token))\n});\n// Type: Dashed\nconst genDashedButtonStyle = token => Object.assign(Object.assign({}, genDefaultButtonStyle(token)), {\n borderStyle: 'dashed'\n});\n// Type: Link\nconst genLinkButtonStyle = token => Object.assign(Object.assign(Object.assign({\n color: token.colorLink\n}, genHoverActiveButtonStyle(token.componentCls, {\n color: token.colorLinkHover\n}, {\n color: token.colorLinkActive\n})), genPureDisabledButtonStyle(token)), {\n [`&${token.componentCls}-dangerous`]: Object.assign(Object.assign({\n color: token.colorError\n }, genHoverActiveButtonStyle(token.componentCls, {\n color: token.colorErrorHover\n }, {\n color: token.colorErrorActive\n })), genPureDisabledButtonStyle(token))\n});\n// Type: Text\nconst genTextButtonStyle = token => Object.assign(Object.assign(Object.assign({}, genHoverActiveButtonStyle(token.componentCls, {\n color: token.colorText,\n backgroundColor: token.colorBgTextHover\n}, {\n color: token.colorText,\n backgroundColor: token.colorBgTextActive\n})), genPureDisabledButtonStyle(token)), {\n [`&${token.componentCls}-dangerous`]: Object.assign(Object.assign({\n color: token.colorError\n }, genPureDisabledButtonStyle(token)), genHoverActiveButtonStyle(token.componentCls, {\n color: token.colorErrorHover,\n backgroundColor: token.colorErrorBg\n }, {\n color: token.colorErrorHover,\n backgroundColor: token.colorErrorBg\n }))\n});\nconst genTypeButtonStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-default`]: genDefaultButtonStyle(token),\n [`${componentCls}-primary`]: genPrimaryButtonStyle(token),\n [`${componentCls}-dashed`]: genDashedButtonStyle(token),\n [`${componentCls}-link`]: genLinkButtonStyle(token),\n [`${componentCls}-text`]: genTextButtonStyle(token),\n [`${componentCls}-ghost`]: genGhostButtonStyle(token.componentCls, token.colorBgContainer, token.colorBgContainer, token.colorTextDisabled, token.colorBorder)\n };\n};\n// =============================== Size ===============================\nconst genSizeButtonStyle = function (token) {\n let sizePrefixCls = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n const {\n componentCls,\n controlHeight,\n fontSize,\n lineHeight,\n lineWidth,\n borderRadius,\n buttonPaddingHorizontal,\n iconCls\n } = token;\n const paddingVertical = Math.max(0, (controlHeight - fontSize * lineHeight) / 2 - lineWidth);\n const paddingHorizontal = buttonPaddingHorizontal - lineWidth;\n const iconOnlyCls = `${componentCls}-icon-only`;\n return [\n // Size\n {\n [`${componentCls}${sizePrefixCls}`]: {\n fontSize,\n height: controlHeight,\n padding: `${paddingVertical}px ${paddingHorizontal}px`,\n borderRadius,\n [`&${iconOnlyCls}`]: {\n width: controlHeight,\n paddingInlineStart: 0,\n paddingInlineEnd: 0,\n [`&${componentCls}-round`]: {\n width: 'auto'\n },\n [iconCls]: {\n fontSize: token.buttonIconOnlyFontSize\n }\n },\n // Loading\n [`&${componentCls}-loading`]: {\n opacity: token.opacityLoading,\n cursor: 'default'\n },\n [`${componentCls}-loading-icon`]: {\n transition: `width ${token.motionDurationSlow} ${token.motionEaseInOut}, opacity ${token.motionDurationSlow} ${token.motionEaseInOut}`\n }\n }\n },\n // Shape - patch prefixCls again to override solid border radius style\n {\n [`${componentCls}${componentCls}-circle${sizePrefixCls}`]: genCircleButtonStyle(token)\n }, {\n [`${componentCls}${componentCls}-round${sizePrefixCls}`]: genRoundButtonStyle(token)\n }];\n};\nconst genSizeBaseButtonStyle = token => genSizeButtonStyle(token);\nconst genSizeSmallButtonStyle = token => {\n const smallToken = mergeToken(token, {\n controlHeight: token.controlHeightSM,\n padding: token.paddingXS,\n buttonPaddingHorizontal: 8,\n borderRadius: token.borderRadiusSM,\n buttonIconOnlyFontSize: token.fontSizeLG - 2\n });\n return genSizeButtonStyle(smallToken, `${token.componentCls}-sm`);\n};\nconst genSizeLargeButtonStyle = token => {\n const largeToken = mergeToken(token, {\n controlHeight: token.controlHeightLG,\n fontSize: token.fontSizeLG,\n borderRadius: token.borderRadiusLG,\n buttonIconOnlyFontSize: token.fontSizeLG + 2\n });\n return genSizeButtonStyle(largeToken, `${token.componentCls}-lg`);\n};\nconst genBlockButtonStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [componentCls]: {\n [`&${componentCls}-block`]: {\n width: '100%'\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Button', token => {\n const {\n controlTmpOutline,\n paddingContentHorizontal\n } = token;\n const buttonToken = mergeToken(token, {\n colorOutlineDefault: controlTmpOutline,\n buttonPaddingHorizontal: paddingContentHorizontal,\n buttonIconOnlyFontSize: token.fontSizeLG,\n buttonFontWeight: 400\n });\n return [\n // Shared\n genSharedButtonStyle(buttonToken),\n // Size\n genSizeSmallButtonStyle(buttonToken), genSizeBaseButtonStyle(buttonToken), genSizeLargeButtonStyle(buttonToken),\n // Block\n genBlockButtonStyle(buttonToken),\n // Group (type, ghost, danger, loading)\n genTypeButtonStyle(buttonToken),\n // Button Group\n genGroupStyle(buttonToken),\n // Space Compact\n genCompactItemStyle(token), genCompactItemVerticalStyle(token)];\n});","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n/* eslint-disable react/button-has-type */\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport React, { Children, createRef, forwardRef, useContext, useEffect, useMemo, useState } from 'react';\nimport warning from '../_util/warning';\nimport Wave from '../_util/wave';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport useSize from '../config-provider/hooks/useSize';\nimport { useCompactItemContext } from '../space/Compact';\nimport IconWrapper from './IconWrapper';\nimport LoadingIcon from './LoadingIcon';\nimport Group, { GroupSizeContext } from './button-group';\nimport { isTwoCNChar, isUnBorderedButtonType, spaceChildren } from './buttonHelpers';\nimport useStyle from './style';\nexport function convertLegacyProps(type) {\n if (type === 'danger') {\n return {\n danger: true\n };\n }\n return {\n type\n };\n}\nfunction getLoadingConfig(loading) {\n if (typeof loading === 'object' && loading) {\n const delay = loading === null || loading === void 0 ? void 0 : loading.delay;\n const isDelay = !Number.isNaN(delay) && typeof delay === 'number';\n return {\n loading: false,\n delay: isDelay ? delay : 0\n };\n }\n return {\n loading: !!loading,\n delay: 0\n };\n}\nconst InternalButton = (props, ref) => {\n var _a, _b;\n const {\n loading = false,\n prefixCls: customizePrefixCls,\n type = 'default',\n danger,\n shape = 'default',\n size: customizeSize,\n styles,\n disabled: customDisabled,\n className,\n rootClassName,\n children,\n icon,\n ghost = false,\n block = false,\n // React does not recognize the `htmlType` prop on a DOM element. Here we pick it out of `rest`.\n htmlType = 'button',\n classNames: customClassNames,\n style: customStyle = {}\n } = props,\n rest = __rest(props, [\"loading\", \"prefixCls\", \"type\", \"danger\", \"shape\", \"size\", \"styles\", \"disabled\", \"className\", \"rootClassName\", \"children\", \"icon\", \"ghost\", \"block\", \"htmlType\", \"classNames\", \"style\"]);\n const {\n getPrefixCls,\n autoInsertSpaceInButton,\n direction,\n button\n } = useContext(ConfigContext);\n const prefixCls = getPrefixCls('btn', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const disabled = useContext(DisabledContext);\n const mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;\n const groupSize = useContext(GroupSizeContext);\n const loadingOrDelay = useMemo(() => getLoadingConfig(loading), [loading]);\n const [innerLoading, setLoading] = useState(loadingOrDelay.loading);\n const [hasTwoCNChar, setHasTwoCNChar] = useState(false);\n const internalRef = /*#__PURE__*/createRef();\n const buttonRef = composeRef(ref, internalRef);\n const needInserted = Children.count(children) === 1 && !icon && !isUnBorderedButtonType(type);\n useEffect(() => {\n let delayTimer = null;\n if (loadingOrDelay.delay > 0) {\n delayTimer = setTimeout(() => {\n delayTimer = null;\n setLoading(true);\n }, loadingOrDelay.delay);\n } else {\n setLoading(loadingOrDelay.loading);\n }\n function cleanupTimer() {\n if (delayTimer) {\n clearTimeout(delayTimer);\n delayTimer = null;\n }\n }\n return cleanupTimer;\n }, [loadingOrDelay]);\n useEffect(() => {\n // FIXME: for HOC usage like \n if (!buttonRef || !buttonRef.current || autoInsertSpaceInButton === false) {\n return;\n }\n const buttonText = buttonRef.current.textContent;\n if (needInserted && isTwoCNChar(buttonText)) {\n if (!hasTwoCNChar) {\n setHasTwoCNChar(true);\n }\n } else if (hasTwoCNChar) {\n setHasTwoCNChar(false);\n }\n }, [buttonRef]);\n const handleClick = e => {\n const {\n onClick\n } = props;\n // FIXME: https://github.com/ant-design/ant-design/issues/30207\n if (innerLoading || mergedDisabled) {\n e.preventDefault();\n return;\n }\n onClick === null || onClick === void 0 ? void 0 : onClick(e);\n };\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof icon === 'string' && icon.length > 2), 'Button', `\\`icon\\` is using ReactNode instead of string naming in v4. Please check \\`${icon}\\` at https://ant.design/components/icon`) : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(ghost && isUnBorderedButtonType(type)), 'Button', \"`link` or `text` button can't be a `ghost` button.\") : void 0;\n const autoInsertSpace = autoInsertSpaceInButton !== false;\n const {\n compactSize,\n compactItemClassnames\n } = useCompactItemContext(prefixCls, direction);\n const sizeClassNameMap = {\n large: 'lg',\n small: 'sm',\n middle: undefined\n };\n const sizeFullName = useSize(ctxSize => {\n var _a, _b;\n return (_b = (_a = customizeSize !== null && customizeSize !== void 0 ? customizeSize : compactSize) !== null && _a !== void 0 ? _a : groupSize) !== null && _b !== void 0 ? _b : ctxSize;\n });\n const sizeCls = sizeFullName ? sizeClassNameMap[sizeFullName] || '' : '';\n const iconType = innerLoading ? 'loading' : icon;\n const linkButtonRestProps = omit(rest, ['navigate']);\n const classes = classNames(prefixCls, hashId, {\n [`${prefixCls}-${shape}`]: shape !== 'default' && shape,\n [`${prefixCls}-${type}`]: type,\n [`${prefixCls}-${sizeCls}`]: sizeCls,\n [`${prefixCls}-icon-only`]: !children && children !== 0 && !!iconType,\n [`${prefixCls}-background-ghost`]: ghost && !isUnBorderedButtonType(type),\n [`${prefixCls}-loading`]: innerLoading,\n [`${prefixCls}-two-chinese-chars`]: hasTwoCNChar && autoInsertSpace && !innerLoading,\n [`${prefixCls}-block`]: block,\n [`${prefixCls}-dangerous`]: !!danger,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, compactItemClassnames, className, rootClassName, button === null || button === void 0 ? void 0 : button.className);\n const fullStyle = Object.assign(Object.assign({}, button === null || button === void 0 ? void 0 : button.style), customStyle);\n const iconClasses = classNames(customClassNames === null || customClassNames === void 0 ? void 0 : customClassNames.icon, (_a = button === null || button === void 0 ? void 0 : button.classNames) === null || _a === void 0 ? void 0 : _a.icon);\n const iconStyle = Object.assign(Object.assign({}, (styles === null || styles === void 0 ? void 0 : styles.icon) || {}), ((_b = button === null || button === void 0 ? void 0 : button.styles) === null || _b === void 0 ? void 0 : _b.icon) || {});\n const iconNode = icon && !innerLoading ? /*#__PURE__*/React.createElement(IconWrapper, {\n prefixCls: prefixCls,\n className: iconClasses,\n style: iconStyle\n }, icon) : /*#__PURE__*/React.createElement(LoadingIcon, {\n existIcon: !!icon,\n prefixCls: prefixCls,\n loading: !!innerLoading\n });\n const kids = children || children === 0 ? spaceChildren(children, needInserted && autoInsertSpace) : null;\n if (linkButtonRestProps.href !== undefined) {\n return wrapSSR( /*#__PURE__*/React.createElement(\"a\", Object.assign({}, linkButtonRestProps, {\n className: classNames(classes, {\n [`${prefixCls}-disabled`]: mergedDisabled\n }),\n style: fullStyle,\n onClick: handleClick,\n ref: buttonRef\n }), iconNode, kids));\n }\n let buttonNode = /*#__PURE__*/React.createElement(\"button\", Object.assign({}, rest, {\n type: htmlType,\n className: classes,\n style: fullStyle,\n onClick: handleClick,\n disabled: mergedDisabled,\n ref: buttonRef\n }), iconNode, kids);\n if (!isUnBorderedButtonType(type)) {\n buttonNode = /*#__PURE__*/React.createElement(Wave, {\n component: \"Button\",\n disabled: !!innerLoading\n }, buttonNode);\n }\n return wrapSSR(buttonNode);\n};\nconst Button = /*#__PURE__*/forwardRef(InternalButton);\nif (process.env.NODE_ENV !== 'production') {\n Button.displayName = 'Button';\n}\nButton.Group = Group;\nButton.__ANT_BUTTON = true;\nexport default Button;","'use client';\n\nimport Button from './button';\nexport * from './buttonHelpers';\nexport default Button;","import enUS from '../../date-picker/locale/en_US';\nexport default enUS;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nconst Grid = _a => {\n var {\n prefixCls,\n className,\n hoverable = true\n } = _a,\n props = __rest(_a, [\"prefixCls\", \"className\", \"hoverable\"]);\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefix = getPrefixCls('card', prefixCls);\n const classString = classNames(`${prefix}-grid`, className, {\n [`${prefix}-grid-hoverable`]: hoverable\n });\n return /*#__PURE__*/React.createElement(\"div\", Object.assign({}, props, {\n className: classString\n }));\n};\nexport default Grid;","import { clearFix, resetComponent, textEllipsis } from '../../style';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\n// ============================== Styles ==============================\n// ============================== Head ==============================\nconst genCardHeadStyle = token => {\n const {\n antCls,\n componentCls,\n headerHeight,\n cardPaddingBase,\n tabsMarginBottom\n } = token;\n return Object.assign(Object.assign({\n display: 'flex',\n justifyContent: 'center',\n flexDirection: 'column',\n minHeight: headerHeight,\n marginBottom: -1,\n padding: `0 ${cardPaddingBase}px`,\n color: token.colorTextHeading,\n fontWeight: token.fontWeightStrong,\n fontSize: token.headerFontSize,\n background: token.headerBg,\n borderBottom: `${token.lineWidth}px ${token.lineType} ${token.colorBorderSecondary}`,\n borderRadius: `${token.borderRadiusLG}px ${token.borderRadiusLG}px 0 0`\n }, clearFix()), {\n '&-wrapper': {\n width: '100%',\n display: 'flex',\n alignItems: 'center'\n },\n '&-title': Object.assign(Object.assign({\n display: 'inline-block',\n flex: 1\n }, textEllipsis), {\n [`\n > ${componentCls}-typography,\n > ${componentCls}-typography-edit-content\n `]: {\n insetInlineStart: 0,\n marginTop: 0,\n marginBottom: 0\n }\n }),\n [`${antCls}-tabs-top`]: {\n clear: 'both',\n marginBottom: tabsMarginBottom,\n color: token.colorText,\n fontWeight: 'normal',\n fontSize: token.fontSize,\n '&-bar': {\n borderBottom: `${token.lineWidth}px ${token.lineType} ${token.colorBorderSecondary}`\n }\n }\n });\n};\n// ============================== Grid ==============================\nconst genCardGridStyle = token => {\n const {\n cardPaddingBase,\n colorBorderSecondary,\n cardShadow,\n lineWidth\n } = token;\n return {\n width: '33.33%',\n padding: cardPaddingBase,\n border: 0,\n borderRadius: 0,\n boxShadow: `\n ${lineWidth}px 0 0 0 ${colorBorderSecondary},\n 0 ${lineWidth}px 0 0 ${colorBorderSecondary},\n ${lineWidth}px ${lineWidth}px 0 0 ${colorBorderSecondary},\n ${lineWidth}px 0 0 0 ${colorBorderSecondary} inset,\n 0 ${lineWidth}px 0 0 ${colorBorderSecondary} inset;\n `,\n transition: `all ${token.motionDurationMid}`,\n '&-hoverable:hover': {\n position: 'relative',\n zIndex: 1,\n boxShadow: cardShadow\n }\n };\n};\n// ============================== Actions ==============================\nconst genCardActionsStyle = token => {\n const {\n componentCls,\n iconCls,\n actionsLiMargin,\n cardActionsIconSize,\n colorBorderSecondary,\n actionsBg\n } = token;\n return Object.assign(Object.assign({\n margin: 0,\n padding: 0,\n listStyle: 'none',\n background: actionsBg,\n borderTop: `${token.lineWidth}px ${token.lineType} ${colorBorderSecondary}`,\n display: 'flex',\n borderRadius: `0 0 ${token.borderRadiusLG}px ${token.borderRadiusLG}px `\n }, clearFix()), {\n '& > li': {\n margin: actionsLiMargin,\n color: token.colorTextDescription,\n textAlign: 'center',\n '> span': {\n position: 'relative',\n display: 'block',\n minWidth: token.cardActionsIconSize * 2,\n fontSize: token.fontSize,\n lineHeight: token.lineHeight,\n cursor: 'pointer',\n '&:hover': {\n color: token.colorPrimary,\n transition: `color ${token.motionDurationMid}`\n },\n [`a:not(${componentCls}-btn), > ${iconCls}`]: {\n display: 'inline-block',\n width: '100%',\n color: token.colorTextDescription,\n lineHeight: `${token.fontSize * token.lineHeight}px`,\n transition: `color ${token.motionDurationMid}`,\n '&:hover': {\n color: token.colorPrimary\n }\n },\n [`> ${iconCls}`]: {\n fontSize: cardActionsIconSize,\n lineHeight: `${cardActionsIconSize * token.lineHeight}px`\n }\n },\n '&:not(:last-child)': {\n borderInlineEnd: `${token.lineWidth}px ${token.lineType} ${colorBorderSecondary}`\n }\n }\n });\n};\n// ============================== Meta ==============================\nconst genCardMetaStyle = token => Object.assign(Object.assign({\n margin: `-${token.marginXXS}px 0`,\n display: 'flex'\n}, clearFix()), {\n '&-avatar': {\n paddingInlineEnd: token.padding\n },\n '&-detail': {\n overflow: 'hidden',\n flex: 1,\n '> div:not(:last-child)': {\n marginBottom: token.marginXS\n }\n },\n '&-title': Object.assign({\n color: token.colorTextHeading,\n fontWeight: token.fontWeightStrong,\n fontSize: token.fontSizeLG\n }, textEllipsis),\n '&-description': {\n color: token.colorTextDescription\n }\n});\n// ============================== Inner ==============================\nconst genCardTypeInnerStyle = token => {\n const {\n componentCls,\n cardPaddingBase,\n colorFillAlter\n } = token;\n return {\n [`${componentCls}-head`]: {\n padding: `0 ${cardPaddingBase}px`,\n background: colorFillAlter,\n '&-title': {\n fontSize: token.fontSize\n }\n },\n [`${componentCls}-body`]: {\n padding: `${token.padding}px ${cardPaddingBase}px`\n }\n };\n};\n// ============================== Loading ==============================\nconst genCardLoadingStyle = token => {\n const {\n componentCls\n } = token;\n return {\n overflow: 'hidden',\n [`${componentCls}-body`]: {\n userSelect: 'none'\n }\n };\n};\n// ============================== Basic ==============================\nconst genCardStyle = token => {\n const {\n antCls,\n componentCls,\n cardShadow,\n cardHeadPadding,\n colorBorderSecondary,\n boxShadowTertiary,\n cardPaddingBase,\n extraColor\n } = token;\n return {\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'relative',\n background: token.colorBgContainer,\n borderRadius: token.borderRadiusLG,\n [`&:not(${componentCls}-bordered)`]: {\n boxShadow: boxShadowTertiary\n },\n [`${componentCls}-head`]: genCardHeadStyle(token),\n [`${componentCls}-extra`]: {\n // https://stackoverflow.com/a/22429853/3040605\n marginInlineStart: 'auto',\n color: extraColor,\n fontWeight: 'normal',\n fontSize: token.fontSize\n },\n [`${componentCls}-body`]: Object.assign({\n padding: cardPaddingBase,\n borderRadius: ` 0 0 ${token.borderRadiusLG}px ${token.borderRadiusLG}px`\n }, clearFix()),\n [`${componentCls}-grid`]: genCardGridStyle(token),\n [`${componentCls}-cover`]: {\n '> *': {\n display: 'block',\n width: '100%'\n },\n [`img, img + ${antCls}-image-mask`]: {\n borderRadius: `${token.borderRadiusLG}px ${token.borderRadiusLG}px 0 0`\n }\n },\n [`${componentCls}-actions`]: genCardActionsStyle(token),\n [`${componentCls}-meta`]: genCardMetaStyle(token)\n }),\n [`${componentCls}-bordered`]: {\n border: `${token.lineWidth}px ${token.lineType} ${colorBorderSecondary}`,\n [`${componentCls}-cover`]: {\n marginTop: -1,\n marginInlineStart: -1,\n marginInlineEnd: -1\n }\n },\n [`${componentCls}-hoverable`]: {\n cursor: 'pointer',\n transition: `box-shadow ${token.motionDurationMid}, border-color ${token.motionDurationMid}`,\n '&:hover': {\n borderColor: 'transparent',\n boxShadow: cardShadow\n }\n },\n [`${componentCls}-contain-grid`]: {\n [`${componentCls}-body`]: {\n display: 'flex',\n flexWrap: 'wrap'\n },\n [`&:not(${componentCls}-loading) ${componentCls}-body`]: {\n marginBlockStart: -token.lineWidth,\n marginInlineStart: -token.lineWidth,\n padding: 0\n }\n },\n [`${componentCls}-contain-tabs`]: {\n [`> ${componentCls}-head`]: {\n [`${componentCls}-head-title, ${componentCls}-extra`]: {\n paddingTop: cardHeadPadding\n }\n }\n },\n [`${componentCls}-type-inner`]: genCardTypeInnerStyle(token),\n [`${componentCls}-loading`]: genCardLoadingStyle(token),\n [`${componentCls}-rtl`]: {\n direction: 'rtl'\n }\n };\n};\n// ============================== Size ==============================\nconst genCardSizeStyle = token => {\n const {\n componentCls,\n cardPaddingSM,\n headerHeightSM,\n headerFontSizeSM\n } = token;\n return {\n [`${componentCls}-small`]: {\n [`> ${componentCls}-head`]: {\n minHeight: headerHeightSM,\n padding: `0 ${cardPaddingSM}px`,\n fontSize: headerFontSizeSM,\n [`> ${componentCls}-head-wrapper`]: {\n [`> ${componentCls}-extra`]: {\n fontSize: token.fontSize\n }\n }\n },\n [`> ${componentCls}-body`]: {\n padding: cardPaddingSM\n }\n },\n [`${componentCls}-small${componentCls}-contain-tabs`]: {\n [`> ${componentCls}-head`]: {\n [`${componentCls}-head-title, ${componentCls}-extra`]: {\n minHeight: headerHeightSM,\n paddingTop: 0,\n display: 'flex',\n alignItems: 'center'\n }\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Card', token => {\n const cardToken = mergeToken(token, {\n cardShadow: token.boxShadowCard,\n cardHeadPadding: token.padding,\n cardPaddingBase: token.paddingLG,\n cardActionsIconSize: token.fontSize,\n cardPaddingSM: 12 // Fixed padding.\n });\n\n return [\n // Style\n genCardStyle(cardToken),\n // Size\n genCardSizeStyle(cardToken)];\n}, token => ({\n headerBg: 'transparent',\n headerFontSize: token.fontSizeLG,\n headerFontSizeSM: token.fontSize,\n headerHeight: token.fontSizeLG * token.lineHeightLG + token.padding * 2,\n headerHeightSM: token.fontSize * token.lineHeight + token.paddingXS * 2,\n actionsBg: token.colorBgContainer,\n actionsLiMargin: `${token.paddingSM}px 0`,\n tabsMarginBottom: -token.padding - token.lineWidth,\n extraColor: token.colorText\n}));","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useSize from '../config-provider/hooks/useSize';\nimport Skeleton from '../skeleton';\nimport Tabs from '../tabs';\nimport Grid from './Grid';\nimport useStyle from './style';\nfunction getAction(actions) {\n return actions.map((action, index) =>\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"li\", {\n style: {\n width: `${100 / actions.length}%`\n },\n key: `action-${index}`\n }, /*#__PURE__*/React.createElement(\"span\", null, action)));\n}\nconst Card = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n style,\n extra,\n headStyle = {},\n bodyStyle = {},\n title,\n loading,\n bordered = true,\n size: customizeSize,\n type,\n cover,\n actions,\n tabList,\n children,\n activeTabKey,\n defaultActiveTabKey,\n tabBarExtraContent,\n hoverable,\n tabProps = {}\n } = props,\n others = __rest(props, [\"prefixCls\", \"className\", \"rootClassName\", \"style\", \"extra\", \"headStyle\", \"bodyStyle\", \"title\", \"loading\", \"bordered\", \"size\", \"type\", \"cover\", \"actions\", \"tabList\", \"children\", \"activeTabKey\", \"defaultActiveTabKey\", \"tabBarExtraContent\", \"hoverable\", \"tabProps\"]);\n const {\n getPrefixCls,\n direction,\n card\n } = React.useContext(ConfigContext);\n const onTabChange = key => {\n var _a;\n (_a = props.onTabChange) === null || _a === void 0 ? void 0 : _a.call(props, key);\n };\n const isContainGrid = React.useMemo(() => {\n let containGrid = false;\n React.Children.forEach(children, element => {\n if (element && element.type && element.type === Grid) {\n containGrid = true;\n }\n });\n return containGrid;\n }, [children]);\n const prefixCls = getPrefixCls('card', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const loadingBlock = /*#__PURE__*/React.createElement(Skeleton, {\n loading: true,\n active: true,\n paragraph: {\n rows: 4\n },\n title: false\n }, children);\n const hasActiveTabKey = activeTabKey !== undefined;\n const extraProps = Object.assign(Object.assign({}, tabProps), {\n [hasActiveTabKey ? 'activeKey' : 'defaultActiveKey']: hasActiveTabKey ? activeTabKey : defaultActiveTabKey,\n tabBarExtraContent\n });\n let head;\n const mergedSize = useSize(customizeSize);\n const tabSize = !mergedSize || mergedSize === 'default' ? 'large' : mergedSize;\n const tabs = tabList ? /*#__PURE__*/React.createElement(Tabs, Object.assign({\n size: tabSize\n }, extraProps, {\n className: `${prefixCls}-head-tabs`,\n onChange: onTabChange,\n items: tabList.map(_a => {\n var {\n tab\n } = _a,\n item = __rest(_a, [\"tab\"]);\n return Object.assign({\n label: tab\n }, item);\n })\n })) : null;\n if (title || extra || tabs) {\n head = /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-head`,\n style: headStyle\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-head-wrapper`\n }, title && /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-head-title`\n }, title), extra && /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-extra`\n }, extra)), tabs);\n }\n const coverDom = cover ? /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-cover`\n }, cover) : null;\n const body = /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-body`,\n style: bodyStyle\n }, loading ? loadingBlock : children);\n const actionDom = actions && actions.length ? /*#__PURE__*/React.createElement(\"ul\", {\n className: `${prefixCls}-actions`\n }, getAction(actions)) : null;\n const divProps = omit(others, ['onTabChange']);\n const classString = classNames(prefixCls, card === null || card === void 0 ? void 0 : card.className, {\n [`${prefixCls}-loading`]: loading,\n [`${prefixCls}-bordered`]: bordered,\n [`${prefixCls}-hoverable`]: hoverable,\n [`${prefixCls}-contain-grid`]: isContainGrid,\n [`${prefixCls}-contain-tabs`]: tabList && tabList.length,\n [`${prefixCls}-${mergedSize}`]: mergedSize,\n [`${prefixCls}-type-${type}`]: !!type,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, className, rootClassName, hashId);\n const mergedStyle = Object.assign(Object.assign({}, card === null || card === void 0 ? void 0 : card.style), style);\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", Object.assign({\n ref: ref\n }, divProps, {\n className: classString,\n style: mergedStyle\n }), head, coverDom, body, actionDom));\n});\nexport default Card;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nconst Meta = props => {\n const {\n prefixCls: customizePrefixCls,\n className,\n avatar,\n title,\n description\n } = props,\n others = __rest(props, [\"prefixCls\", \"className\", \"avatar\", \"title\", \"description\"]);\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('card', customizePrefixCls);\n const classString = classNames(`${prefixCls}-meta`, className);\n const avatarDom = avatar ? /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-meta-avatar`\n }, avatar) : null;\n const titleDom = title ? /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-meta-title`\n }, title) : null;\n const descriptionDom = description ? /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-meta-description`\n }, description) : null;\n const MetaDetail = titleDom || descriptionDom ? /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-meta-detail`\n }, titleDom, descriptionDom) : null;\n return /*#__PURE__*/React.createElement(\"div\", Object.assign({}, others, {\n className: classString\n }), avatarDom, MetaDetail);\n};\nexport default Meta;","'use client';\n\nimport InternalCard from './Card';\nimport Grid from './Grid';\nimport Meta from './Meta';\nconst Card = InternalCard;\nCard.Grid = Grid;\nCard.Meta = Meta;\nif (process.env.NODE_ENV !== 'production') {\n Card.displayName = 'Card';\n}\nexport default Card;","import React from 'react';\nconst GroupContext = /*#__PURE__*/React.createContext(null);\nexport default GroupContext;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport RcCheckbox from 'rc-checkbox';\nimport * as React from 'react';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport { FormItemInputContext } from '../form/context';\nimport GroupContext from './GroupContext';\nimport useStyle from './style';\nimport Wave from '../_util/wave';\nimport { TARGET_CLS } from '../_util/wave/interface';\nconst InternalCheckbox = (props, ref) => {\n var _a;\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n children,\n indeterminate = false,\n style,\n onMouseEnter,\n onMouseLeave,\n skipGroup = false,\n disabled\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"rootClassName\", \"children\", \"indeterminate\", \"style\", \"onMouseEnter\", \"onMouseLeave\", \"skipGroup\", \"disabled\"]);\n const {\n getPrefixCls,\n direction,\n checkbox\n } = React.useContext(ConfigContext);\n const checkboxGroup = React.useContext(GroupContext);\n const {\n isFormItemInput\n } = React.useContext(FormItemInputContext);\n const contextDisabled = React.useContext(DisabledContext);\n const mergedDisabled = (_a = (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.disabled) || disabled) !== null && _a !== void 0 ? _a : contextDisabled;\n const prevValue = React.useRef(restProps.value);\n React.useEffect(() => {\n checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.registerValue(restProps.value);\n process.env.NODE_ENV !== \"production\" ? warning('checked' in restProps || !!checkboxGroup || !('value' in restProps), 'Checkbox', '`value` is not a valid prop, do you mean `checked`?') : void 0;\n }, []);\n React.useEffect(() => {\n if (skipGroup) {\n return;\n }\n if (restProps.value !== prevValue.current) {\n checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.cancelValue(prevValue.current);\n checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.registerValue(restProps.value);\n prevValue.current = restProps.value;\n }\n return () => checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.cancelValue(restProps.value);\n }, [restProps.value]);\n const prefixCls = getPrefixCls('checkbox', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const checkboxProps = Object.assign({}, restProps);\n if (checkboxGroup && !skipGroup) {\n checkboxProps.onChange = function () {\n if (restProps.onChange) {\n restProps.onChange.apply(restProps, arguments);\n }\n if (checkboxGroup.toggleOption) {\n checkboxGroup.toggleOption({\n label: children,\n value: restProps.value\n });\n }\n };\n checkboxProps.name = checkboxGroup.name;\n checkboxProps.checked = checkboxGroup.value.includes(restProps.value);\n }\n const classString = classNames(`${prefixCls}-wrapper`, {\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-wrapper-checked`]: checkboxProps.checked,\n [`${prefixCls}-wrapper-disabled`]: mergedDisabled,\n [`${prefixCls}-wrapper-in-form-item`]: isFormItemInput\n }, checkbox === null || checkbox === void 0 ? void 0 : checkbox.className, className, rootClassName, hashId);\n const checkboxClass = classNames({\n [`${prefixCls}-indeterminate`]: indeterminate\n }, TARGET_CLS, hashId);\n const ariaChecked = indeterminate ? 'mixed' : undefined;\n return wrapSSR( /*#__PURE__*/React.createElement(Wave, {\n component: \"Checkbox\",\n disabled: mergedDisabled\n }, /*#__PURE__*/React.createElement(\"label\", {\n className: classString,\n style: Object.assign(Object.assign({}, checkbox === null || checkbox === void 0 ? void 0 : checkbox.style), style),\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave\n }, /*#__PURE__*/React.createElement(RcCheckbox, Object.assign({\n \"aria-checked\": ariaChecked\n }, checkboxProps, {\n prefixCls: prefixCls,\n className: checkboxClass,\n disabled: mergedDisabled,\n ref: ref\n })), children !== undefined && /*#__PURE__*/React.createElement(\"span\", null, children))));\n};\nconst Checkbox = /*#__PURE__*/React.forwardRef(InternalCheckbox);\nif (process.env.NODE_ENV !== 'production') {\n Checkbox.displayName = 'Checkbox';\n}\nexport default Checkbox;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport Checkbox from './Checkbox';\nimport GroupContext from './GroupContext';\nimport useStyle from './style';\nconst InternalGroup = (props, ref) => {\n const {\n defaultValue,\n children,\n options = [],\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n style,\n onChange\n } = props,\n restProps = __rest(props, [\"defaultValue\", \"children\", \"options\", \"prefixCls\", \"className\", \"rootClassName\", \"style\", \"onChange\"]);\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const [value, setValue] = React.useState(restProps.value || defaultValue || []);\n const [registeredValues, setRegisteredValues] = React.useState([]);\n React.useEffect(() => {\n if ('value' in restProps) {\n setValue(restProps.value || []);\n }\n }, [restProps.value]);\n const memoOptions = React.useMemo(() => options.map(option => {\n if (typeof option === 'string' || typeof option === 'number') {\n return {\n label: option,\n value: option\n };\n }\n return option;\n }), [options]);\n const cancelValue = val => {\n setRegisteredValues(prevValues => prevValues.filter(v => v !== val));\n };\n const registerValue = val => {\n setRegisteredValues(prevValues => [].concat(_toConsumableArray(prevValues), [val]));\n };\n const toggleOption = option => {\n const optionIndex = value.indexOf(option.value);\n const newValue = _toConsumableArray(value);\n if (optionIndex === -1) {\n newValue.push(option.value);\n } else {\n newValue.splice(optionIndex, 1);\n }\n if (!('value' in restProps)) {\n setValue(newValue);\n }\n onChange === null || onChange === void 0 ? void 0 : onChange(newValue.filter(val => registeredValues.includes(val)).sort((a, b) => {\n const indexA = memoOptions.findIndex(opt => opt.value === a);\n const indexB = memoOptions.findIndex(opt => opt.value === b);\n return indexA - indexB;\n }));\n };\n const prefixCls = getPrefixCls('checkbox', customizePrefixCls);\n const groupPrefixCls = `${prefixCls}-group`;\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const domProps = omit(restProps, ['value', 'disabled']);\n const childrenNode = options.length ? memoOptions.map(option => /*#__PURE__*/React.createElement(Checkbox, {\n prefixCls: prefixCls,\n key: option.value.toString(),\n disabled: 'disabled' in option ? option.disabled : restProps.disabled,\n value: option.value,\n checked: value.includes(option.value),\n onChange: option.onChange,\n className: `${groupPrefixCls}-item`,\n style: option.style,\n title: option.title\n }, option.label)) : children;\n // eslint-disable-next-line react/jsx-no-constructed-context-values\n const context = {\n toggleOption,\n value,\n disabled: restProps.disabled,\n name: restProps.name,\n // https://github.com/ant-design/ant-design/issues/16376\n registerValue,\n cancelValue\n };\n const classString = classNames(groupPrefixCls, {\n [`${groupPrefixCls}-rtl`]: direction === 'rtl'\n }, className, rootClassName, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", Object.assign({\n className: classString,\n style: style\n }, domProps, {\n ref: ref\n }), /*#__PURE__*/React.createElement(GroupContext.Provider, {\n value: context\n }, childrenNode)));\n};\nexport { GroupContext };\nconst CheckboxGroup = /*#__PURE__*/React.forwardRef(InternalGroup);\nexport default /*#__PURE__*/React.memo(CheckboxGroup);","'use client';\n\nimport InternalCheckbox from './Checkbox';\nimport Group from './Group';\nconst Checkbox = InternalCheckbox;\nCheckbox.Group = Group;\nCheckbox.__ANT_CHECKBOX = true;\nif (process.env.NODE_ENV !== 'production') {\n Checkbox.displayName = 'Checkbox';\n}\nexport default Checkbox;","import { genFocusOutline, resetComponent } from '../../style';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\n// ============================== Styles ==============================\nexport const genCheckboxStyle = token => {\n const {\n checkboxCls\n } = token;\n const wrapperCls = `${checkboxCls}-wrapper`;\n return [\n // ===================== Basic =====================\n {\n // Group\n [`${checkboxCls}-group`]: Object.assign(Object.assign({}, resetComponent(token)), {\n display: 'inline-flex',\n flexWrap: 'wrap',\n columnGap: token.marginXS,\n // Group > Grid\n [`> ${token.antCls}-row`]: {\n flex: 1\n }\n }),\n // Wrapper\n [wrapperCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n display: 'inline-flex',\n alignItems: 'baseline',\n cursor: 'pointer',\n // Fix checkbox & radio in flex align #30260\n '&:after': {\n display: 'inline-block',\n width: 0,\n overflow: 'hidden',\n content: \"'\\\\a0'\"\n },\n // Checkbox near checkbox\n [`& + ${wrapperCls}`]: {\n marginInlineStart: 0\n },\n [`&${wrapperCls}-in-form-item`]: {\n 'input[type=\"checkbox\"]': {\n width: 14,\n height: 14 // FIXME: magic\n }\n }\n }),\n\n // Wrapper > Checkbox\n [checkboxCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'relative',\n whiteSpace: 'nowrap',\n lineHeight: 1,\n cursor: 'pointer',\n borderRadius: token.borderRadiusSM,\n // To make alignment right when `controlHeight` is changed\n // Ref: https://github.com/ant-design/ant-design/issues/41564\n alignSelf: 'center',\n // Wrapper > Checkbox > input\n [`${checkboxCls}-input`]: {\n position: 'absolute',\n // Since baseline align will get additional space offset,\n // we need to move input to top to make it align with text.\n // Ref: https://github.com/ant-design/ant-design/issues/38926#issuecomment-1486137799\n inset: 0,\n zIndex: 1,\n cursor: 'pointer',\n opacity: 0,\n margin: 0,\n [`&:focus-visible + ${checkboxCls}-inner`]: Object.assign({}, genFocusOutline(token))\n },\n // Wrapper > Checkbox > inner\n [`${checkboxCls}-inner`]: {\n boxSizing: 'border-box',\n position: 'relative',\n top: 0,\n insetInlineStart: 0,\n display: 'block',\n width: token.checkboxSize,\n height: token.checkboxSize,\n direction: 'ltr',\n backgroundColor: token.colorBgContainer,\n border: `${token.lineWidth}px ${token.lineType} ${token.colorBorder}`,\n borderRadius: token.borderRadiusSM,\n borderCollapse: 'separate',\n transition: `all ${token.motionDurationSlow}`,\n '&:after': {\n boxSizing: 'border-box',\n position: 'absolute',\n top: '50%',\n insetInlineStart: '21.5%',\n display: 'table',\n width: token.checkboxSize / 14 * 5,\n height: token.checkboxSize / 14 * 8,\n border: `${token.lineWidthBold}px solid ${token.colorWhite}`,\n borderTop: 0,\n borderInlineStart: 0,\n transform: 'rotate(45deg) scale(0) translate(-50%,-50%)',\n opacity: 0,\n content: '\"\"',\n transition: `all ${token.motionDurationFast} ${token.motionEaseInBack}, opacity ${token.motionDurationFast}`\n }\n },\n // Wrapper > Checkbox + Text\n '& + span': {\n paddingInlineStart: token.paddingXS,\n paddingInlineEnd: token.paddingXS\n }\n })\n },\n // ===================== Hover =====================\n {\n // Wrapper & Wrapper > Checkbox\n [`\n ${wrapperCls}:not(${wrapperCls}-disabled),\n ${checkboxCls}:not(${checkboxCls}-disabled)\n `]: {\n [`&:hover ${checkboxCls}-inner`]: {\n borderColor: token.colorPrimary\n }\n },\n [`${wrapperCls}:not(${wrapperCls}-disabled)`]: {\n [`&:hover ${checkboxCls}-checked:not(${checkboxCls}-disabled) ${checkboxCls}-inner`]: {\n backgroundColor: token.colorPrimaryHover,\n borderColor: 'transparent'\n },\n [`&:hover ${checkboxCls}-checked:not(${checkboxCls}-disabled):after`]: {\n borderColor: token.colorPrimaryHover\n }\n }\n },\n // ==================== Checked ====================\n {\n // Wrapper > Checkbox\n [`${checkboxCls}-checked`]: {\n [`${checkboxCls}-inner`]: {\n backgroundColor: token.colorPrimary,\n borderColor: token.colorPrimary,\n '&:after': {\n opacity: 1,\n transform: 'rotate(45deg) scale(1) translate(-50%,-50%)',\n transition: `all ${token.motionDurationMid} ${token.motionEaseOutBack} ${token.motionDurationFast}`\n }\n }\n },\n [`\n ${wrapperCls}-checked:not(${wrapperCls}-disabled),\n ${checkboxCls}-checked:not(${checkboxCls}-disabled)\n `]: {\n [`&:hover ${checkboxCls}-inner`]: {\n backgroundColor: token.colorPrimaryHover,\n borderColor: 'transparent'\n }\n }\n },\n // ================= Indeterminate =================\n {\n [checkboxCls]: {\n '&-indeterminate': {\n // Wrapper > Checkbox > inner\n [`${checkboxCls}-inner`]: {\n backgroundColor: token.colorBgContainer,\n borderColor: token.colorBorder,\n '&:after': {\n top: '50%',\n insetInlineStart: '50%',\n width: token.fontSizeLG / 2,\n height: token.fontSizeLG / 2,\n backgroundColor: token.colorPrimary,\n border: 0,\n transform: 'translate(-50%, -50%) scale(1)',\n opacity: 1,\n content: '\"\"'\n }\n }\n }\n }\n },\n // ==================== Disable ====================\n {\n // Wrapper\n [`${wrapperCls}-disabled`]: {\n cursor: 'not-allowed'\n },\n // Wrapper > Checkbox\n [`${checkboxCls}-disabled`]: {\n // Wrapper > Checkbox > input\n [`&, ${checkboxCls}-input`]: {\n cursor: 'not-allowed',\n // Disabled for native input to enable Tooltip event handler\n // ref: https://github.com/ant-design/ant-design/issues/39822#issuecomment-1365075901\n pointerEvents: 'none'\n },\n // Wrapper > Checkbox > inner\n [`${checkboxCls}-inner`]: {\n background: token.colorBgContainerDisabled,\n borderColor: token.colorBorder,\n '&:after': {\n borderColor: token.colorTextDisabled\n }\n },\n '&:after': {\n display: 'none'\n },\n '& + span': {\n color: token.colorTextDisabled\n },\n [`&${checkboxCls}-indeterminate ${checkboxCls}-inner::after`]: {\n background: token.colorTextDisabled\n }\n }\n }];\n};\n// ============================== Export ==============================\nexport function getStyle(prefixCls, token) {\n const checkboxToken = mergeToken(token, {\n checkboxCls: `.${prefixCls}`,\n checkboxSize: token.controlInteractiveSize\n });\n return [genCheckboxStyle(checkboxToken)];\n}\nexport default genComponentStyleHook('Checkbox', (token, _ref) => {\n let {\n prefixCls\n } = _ref;\n return [getStyle(prefixCls, token)];\n});","import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport classnames from 'classnames';\nimport React from 'react';\nvar PanelContent = /*#__PURE__*/ React.forwardRef(function (props, ref) {\n var _classnames;\n var prefixCls = props.prefixCls,\n forceRender = props.forceRender,\n className = props.className,\n style = props.style,\n children = props.children,\n isActive = props.isActive,\n role = props.role;\n var _React$useState = React.useState(isActive || forceRender),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n rendered = _React$useState2[0],\n setRendered = _React$useState2[1];\n React.useEffect(\n function () {\n if (forceRender || isActive) {\n setRendered(true);\n }\n },\n [forceRender, isActive],\n );\n if (!rendered) {\n return null;\n }\n return /*#__PURE__*/ React.createElement(\n 'div',\n {\n ref: ref,\n className: classnames(\n ''.concat(prefixCls, '-content'),\n ((_classnames = {}),\n _defineProperty(_classnames, ''.concat(prefixCls, '-content-active'), isActive),\n _defineProperty(_classnames, ''.concat(prefixCls, '-content-inactive'), !isActive),\n _classnames),\n className,\n ),\n style: style,\n role: role,\n },\n /*#__PURE__*/ React.createElement(\n 'div',\n {\n className: ''.concat(prefixCls, '-content-box'),\n },\n children,\n ),\n );\n});\nPanelContent.displayName = 'PanelContent';\nexport default PanelContent;\n","import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport KeyCode from 'rc-util/es/KeyCode';\nimport React from 'react';\nimport PanelContent from './PanelContent';\nvar _excluded = [\n 'showArrow',\n 'headerClass',\n 'isActive',\n 'onItemClick',\n 'forceRender',\n 'className',\n 'prefixCls',\n 'collapsible',\n 'accordion',\n 'panelKey',\n 'extra',\n 'header',\n 'expandIcon',\n 'openMotion',\n 'destroyInactivePanel',\n 'children',\n];\nvar CollapsePanel = /*#__PURE__*/ React.forwardRef(function (props, ref) {\n var _classNames, _classNames2;\n var _props$showArrow = props.showArrow,\n showArrow = _props$showArrow === void 0 ? true : _props$showArrow,\n headerClass = props.headerClass,\n isActive = props.isActive,\n onItemClick = props.onItemClick,\n forceRender = props.forceRender,\n className = props.className,\n prefixCls = props.prefixCls,\n collapsible = props.collapsible,\n accordion = props.accordion,\n panelKey = props.panelKey,\n extra = props.extra,\n header = props.header,\n expandIcon = props.expandIcon,\n openMotion = props.openMotion,\n destroyInactivePanel = props.destroyInactivePanel,\n children = props.children,\n resetProps = _objectWithoutProperties(props, _excluded);\n var disabled = collapsible === 'disabled';\n var collapsibleHeader = collapsible === 'header';\n var collapsibleIcon = collapsible === 'icon';\n var ifExtraExist = extra !== null && extra !== undefined && typeof extra !== 'boolean';\n var handleItemClick = function handleItemClick() {\n onItemClick === null || onItemClick === void 0 ? void 0 : onItemClick(panelKey);\n };\n var handleKeyDown = function handleKeyDown(e) {\n if (e.key === 'Enter' || e.keyCode === KeyCode.ENTER || e.which === KeyCode.ENTER) {\n handleItemClick();\n }\n };\n\n // ======================== Icon ========================\n var iconNode =\n typeof expandIcon === 'function'\n ? expandIcon(props)\n : /*#__PURE__*/ React.createElement('i', {\n className: 'arrow',\n });\n if (iconNode) {\n iconNode = /*#__PURE__*/ React.createElement(\n 'div',\n {\n className: ''.concat(prefixCls, '-expand-icon'),\n onClick: ['header', 'icon'].includes(collapsible) ? handleItemClick : undefined,\n },\n iconNode,\n );\n }\n var collapsePanelClassNames = classNames(\n ((_classNames = {}),\n _defineProperty(_classNames, ''.concat(prefixCls, '-item'), true),\n _defineProperty(_classNames, ''.concat(prefixCls, '-item-active'), isActive),\n _defineProperty(_classNames, ''.concat(prefixCls, '-item-disabled'), disabled),\n _classNames),\n className,\n );\n var headerClassName = classNames(\n headerClass,\n ((_classNames2 = {}),\n _defineProperty(_classNames2, ''.concat(prefixCls, '-header'), true),\n _defineProperty(\n _classNames2,\n ''.concat(prefixCls, '-header-collapsible-only'),\n collapsibleHeader,\n ),\n _defineProperty(_classNames2, ''.concat(prefixCls, '-icon-collapsible-only'), collapsibleIcon),\n _classNames2),\n );\n\n // ======================== HeaderProps ========================\n var headerProps = {\n className: headerClassName,\n 'aria-expanded': isActive,\n 'aria-disabled': disabled,\n onKeyDown: handleKeyDown,\n };\n if (!collapsibleHeader && !collapsibleIcon) {\n headerProps.onClick = handleItemClick;\n headerProps.role = accordion ? 'tab' : 'button';\n headerProps.tabIndex = disabled ? -1 : 0;\n }\n\n // ======================== Render ========================\n return /*#__PURE__*/ React.createElement(\n 'div',\n _extends({}, resetProps, {\n ref: ref,\n className: collapsePanelClassNames,\n }),\n /*#__PURE__*/ React.createElement(\n 'div',\n headerProps,\n showArrow && iconNode,\n /*#__PURE__*/ React.createElement(\n 'span',\n {\n className: ''.concat(prefixCls, '-header-text'),\n onClick: collapsible === 'header' ? handleItemClick : undefined,\n },\n header,\n ),\n ifExtraExist &&\n /*#__PURE__*/ React.createElement(\n 'div',\n {\n className: ''.concat(prefixCls, '-extra'),\n },\n extra,\n ),\n ),\n /*#__PURE__*/ React.createElement(\n CSSMotion,\n _extends(\n {\n visible: isActive,\n leavedClassName: ''.concat(prefixCls, '-content-hidden'),\n },\n openMotion,\n {\n forceRender: forceRender,\n removeOnLeave: destroyInactivePanel,\n },\n ),\n function (_ref, motionRef) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n return /*#__PURE__*/ React.createElement(\n PanelContent,\n {\n ref: motionRef,\n prefixCls: prefixCls,\n className: motionClassName,\n style: motionStyle,\n isActive: isActive,\n forceRender: forceRender,\n role: accordion ? 'tabpanel' : void 0,\n },\n children,\n );\n },\n ),\n );\n});\nexport default CollapsePanel;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport toArray from 'rc-util/es/Children/toArray';\nimport React from 'react';\nimport CollapsePanel from '../Panel';\nvar _excluded = ['children', 'label', 'key', 'collapsible', 'onItemClick', 'destroyInactivePanel'];\nvar convertItemsToNodes = function convertItemsToNodes(items, props) {\n var prefixCls = props.prefixCls,\n accordion = props.accordion,\n collapsible = props.collapsible,\n destroyInactivePanel = props.destroyInactivePanel,\n onItemClick = props.onItemClick,\n activeKey = props.activeKey,\n openMotion = props.openMotion,\n expandIcon = props.expandIcon;\n return items.map(function (item, index) {\n var children = item.children,\n label = item.label,\n rawKey = item.key,\n rawCollapsible = item.collapsible,\n rawOnItemClick = item.onItemClick,\n rawDestroyInactivePanel = item.destroyInactivePanel,\n restProps = _objectWithoutProperties(item, _excluded);\n\n // You may be puzzled why you want to convert them all into strings, me too.\n // Maybe: https://github.com/react-component/collapse/blob/aac303a8b6ff30e35060b4f8fecde6f4556fcbe2/src/Collapse.tsx#L15\n var key = String(rawKey !== null && rawKey !== void 0 ? rawKey : index);\n var mergeCollapsible =\n rawCollapsible !== null && rawCollapsible !== void 0 ? rawCollapsible : collapsible;\n var mergeDestroyInactivePanel =\n rawDestroyInactivePanel !== null && rawDestroyInactivePanel !== void 0\n ? rawDestroyInactivePanel\n : destroyInactivePanel;\n var handleItemClick = function handleItemClick(value) {\n if (mergeCollapsible === 'disabled') return;\n onItemClick(value);\n rawOnItemClick === null || rawOnItemClick === void 0 ? void 0 : rawOnItemClick(value);\n };\n var isActive = false;\n if (accordion) {\n isActive = activeKey[0] === key;\n } else {\n isActive = activeKey.indexOf(key) > -1;\n }\n return /*#__PURE__*/ React.createElement(\n CollapsePanel,\n _extends({}, restProps, {\n prefixCls: prefixCls,\n key: key,\n panelKey: key,\n isActive: isActive,\n accordion: accordion,\n openMotion: openMotion,\n expandIcon: expandIcon,\n header: label,\n collapsible: mergeCollapsible,\n onItemClick: handleItemClick,\n destroyInactivePanel: mergeDestroyInactivePanel,\n }),\n children,\n );\n });\n};\n\n/**\n * @deprecated The next major version will be removed\n */\nvar getNewChild = function getNewChild(child, index, props) {\n if (!child) return null;\n var prefixCls = props.prefixCls,\n accordion = props.accordion,\n collapsible = props.collapsible,\n destroyInactivePanel = props.destroyInactivePanel,\n onItemClick = props.onItemClick,\n activeKey = props.activeKey,\n openMotion = props.openMotion,\n expandIcon = props.expandIcon;\n var key = child.key || String(index);\n var _child$props = child.props,\n header = _child$props.header,\n headerClass = _child$props.headerClass,\n childDestroyInactivePanel = _child$props.destroyInactivePanel,\n childCollapsible = _child$props.collapsible,\n childOnItemClick = _child$props.onItemClick;\n var isActive = false;\n if (accordion) {\n isActive = activeKey[0] === key;\n } else {\n isActive = activeKey.indexOf(key) > -1;\n }\n var mergeCollapsible =\n childCollapsible !== null && childCollapsible !== void 0 ? childCollapsible : collapsible;\n var handleItemClick = function handleItemClick(value) {\n if (mergeCollapsible === 'disabled') return;\n onItemClick(value);\n childOnItemClick === null || childOnItemClick === void 0 ? void 0 : childOnItemClick(value);\n };\n var childProps = {\n key: key,\n panelKey: key,\n header: header,\n headerClass: headerClass,\n isActive: isActive,\n prefixCls: prefixCls,\n destroyInactivePanel:\n childDestroyInactivePanel !== null && childDestroyInactivePanel !== void 0\n ? childDestroyInactivePanel\n : destroyInactivePanel,\n openMotion: openMotion,\n accordion: accordion,\n children: child.props.children,\n onItemClick: handleItemClick,\n expandIcon: expandIcon,\n collapsible: mergeCollapsible,\n };\n\n // https://github.com/ant-design/ant-design/issues/20479\n if (typeof child.type === 'string') {\n return child;\n }\n Object.keys(childProps).forEach(function (propName) {\n if (typeof childProps[propName] === 'undefined') {\n delete childProps[propName];\n }\n });\n return /*#__PURE__*/ React.cloneElement(child, childProps);\n};\nfunction useItems(items, rawChildren, props) {\n if (Array.isArray(items)) {\n return convertItemsToNodes(items, props);\n }\n return toArray(rawChildren).map(function (child, index) {\n return getNewChild(child, index, props);\n });\n}\nexport default useItems;\n","import _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray';\nimport _typeof from '@babel/runtime/helpers/esm/typeof';\nimport classNames from 'classnames';\nimport useMergedState from 'rc-util/es/hooks/useMergedState';\nimport warning from 'rc-util/es/warning';\nimport React from 'react';\nimport useItems from './hooks/useItems';\nimport CollapsePanel from './Panel';\nfunction getActiveKeysArray(activeKey) {\n var currentActiveKey = activeKey;\n if (!Array.isArray(currentActiveKey)) {\n var activeKeyType = _typeof(currentActiveKey);\n currentActiveKey =\n activeKeyType === 'number' || activeKeyType === 'string' ? [currentActiveKey] : [];\n }\n return currentActiveKey.map(function (key) {\n return String(key);\n });\n}\nvar Collapse = /*#__PURE__*/ React.forwardRef(function (props, ref) {\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-collapse' : _props$prefixCls,\n _props$destroyInactiv = props.destroyInactivePanel,\n destroyInactivePanel = _props$destroyInactiv === void 0 ? false : _props$destroyInactiv,\n style = props.style,\n accordion = props.accordion,\n className = props.className,\n children = props.children,\n collapsible = props.collapsible,\n openMotion = props.openMotion,\n expandIcon = props.expandIcon,\n rawActiveKey = props.activeKey,\n defaultActiveKey = props.defaultActiveKey,\n _onChange = props.onChange,\n items = props.items;\n var collapseClassName = classNames(prefixCls, className);\n var _useMergedState = useMergedState([], {\n value: rawActiveKey,\n onChange: function onChange(v) {\n return _onChange === null || _onChange === void 0 ? void 0 : _onChange(v);\n },\n defaultValue: defaultActiveKey,\n postState: getActiveKeysArray,\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n activeKey = _useMergedState2[0],\n setActiveKey = _useMergedState2[1];\n var onItemClick = function onItemClick(key) {\n return setActiveKey(function () {\n if (accordion) {\n return activeKey[0] === key ? [] : [key];\n }\n var index = activeKey.indexOf(key);\n var isActive = index > -1;\n if (isActive) {\n return activeKey.filter(function (item) {\n return item !== key;\n });\n }\n return [].concat(_toConsumableArray(activeKey), [key]);\n });\n };\n\n // ======================== Children ========================\n warning(\n !children,\n '`children` will be removed in next major version. Please use `items` instead.',\n );\n var mergedChildren = useItems(items, children, {\n prefixCls: prefixCls,\n accordion: accordion,\n openMotion: openMotion,\n expandIcon: expandIcon,\n collapsible: collapsible,\n destroyInactivePanel: destroyInactivePanel,\n onItemClick: onItemClick,\n activeKey: activeKey,\n });\n\n // ======================== Render ========================\n return /*#__PURE__*/ React.createElement(\n 'div',\n {\n ref: ref,\n className: collapseClassName,\n style: style,\n role: accordion ? 'tablist' : undefined,\n },\n mergedChildren,\n );\n});\nexport default Object.assign(Collapse, {\n /**\n * @deprecated use `items` instead, will be removed in `v4.0.0`\n */\n Panel: CollapsePanel,\n});\n","import Collapse from './Collapse';\nexport default Collapse;\n\n/**\n * @deprecated use `items` instead, will be removed in `v4.0.0`\n */\nvar Panel = Collapse.Panel;\nexport { Panel };\n","import classNames from 'classnames';\nimport RcCollapse from 'rc-collapse';\nimport * as React from 'react';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nconst CollapsePanel = /*#__PURE__*/React.forwardRef((props, ref) => {\n process.env.NODE_ENV !== \"production\" ? warning(!('disabled' in props), 'Collapse.Panel', '`disabled` is deprecated. Please use `collapsible=\"disabled\"` instead.') : void 0;\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls,\n className,\n showArrow = true\n } = props;\n const prefixCls = getPrefixCls('collapse', customizePrefixCls);\n const collapsePanelClassName = classNames({\n [`${prefixCls}-no-arrow`]: !showArrow\n }, className);\n return /*#__PURE__*/React.createElement(RcCollapse.Panel, Object.assign({\n ref: ref\n }, props, {\n prefixCls: prefixCls,\n className: collapsePanelClassName\n }));\n});\nexport default CollapsePanel;","import { resetComponent, resetIcon } from '../../style';\nimport { genCollapseMotion } from '../../style/motion';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nexport const genBaseStyle = token => {\n const {\n componentCls,\n collapseContentBg,\n padding,\n collapseContentPaddingHorizontal,\n collapseHeaderBg,\n collapseHeaderPadding,\n collapseHeaderPaddingSM,\n collapseHeaderPaddingLG,\n collapsePanelBorderRadius,\n lineWidth,\n lineType,\n colorBorder,\n colorText,\n colorTextHeading,\n colorTextDisabled,\n fontSize,\n fontSizeLG,\n lineHeight,\n marginSM,\n paddingSM,\n paddingLG,\n paddingXS,\n motionDurationSlow,\n fontSizeIcon\n } = token;\n const borderBase = `${lineWidth}px ${lineType} ${colorBorder}`;\n return {\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n backgroundColor: collapseHeaderBg,\n border: borderBase,\n borderBottom: 0,\n borderRadius: `${collapsePanelBorderRadius}px`,\n [`&-rtl`]: {\n direction: 'rtl'\n },\n [`& > ${componentCls}-item`]: {\n borderBottom: borderBase,\n [`&:last-child`]: {\n [`\n &,\n & > ${componentCls}-header`]: {\n borderRadius: `0 0 ${collapsePanelBorderRadius}px ${collapsePanelBorderRadius}px`\n }\n },\n [`> ${componentCls}-header`]: {\n position: 'relative',\n display: 'flex',\n flexWrap: 'nowrap',\n alignItems: 'flex-start',\n padding: collapseHeaderPadding,\n paddingInlineStart: paddingSM,\n color: colorTextHeading,\n lineHeight,\n cursor: 'pointer',\n transition: `all ${motionDurationSlow}, visibility 0s`,\n [`> ${componentCls}-header-text`]: {\n flex: 'auto'\n },\n '&:focus': {\n outline: 'none'\n },\n // >>>>> Arrow\n [`${componentCls}-expand-icon`]: {\n height: fontSize * lineHeight,\n display: 'flex',\n alignItems: 'center',\n paddingInlineEnd: marginSM,\n // Arrow offset\n marginInlineStart: padding - paddingSM\n },\n [`${componentCls}-arrow`]: Object.assign(Object.assign({}, resetIcon()), {\n fontSize: fontSizeIcon,\n svg: {\n transition: `transform ${motionDurationSlow}`\n }\n }),\n // >>>>> Text\n [`${componentCls}-header-text`]: {\n marginInlineEnd: 'auto'\n }\n },\n [`${componentCls}-header-collapsible-only`]: {\n cursor: 'default',\n [`${componentCls}-header-text`]: {\n flex: 'none',\n cursor: 'pointer'\n }\n },\n [`${componentCls}-icon-collapsible-only`]: {\n cursor: 'default',\n [`${componentCls}-expand-icon`]: {\n cursor: 'pointer'\n }\n }\n },\n [`${componentCls}-content`]: {\n color: colorText,\n backgroundColor: collapseContentBg,\n borderTop: borderBase,\n [`& > ${componentCls}-content-box`]: {\n padding: `${padding}px ${collapseContentPaddingHorizontal}px`\n },\n [`&-hidden`]: {\n display: 'none'\n }\n },\n [`&-small`]: {\n [`> ${componentCls}-item`]: {\n [`> ${componentCls}-header`]: {\n padding: collapseHeaderPaddingSM,\n paddingInlineStart: paddingXS,\n [`> ${componentCls}-expand-icon`]: {\n // Arrow offset\n marginInlineStart: paddingSM - paddingXS\n }\n },\n [`> ${componentCls}-content > ${componentCls}-content-box`]: {\n padding: paddingSM\n }\n }\n },\n [`&-large`]: {\n [`> ${componentCls}-item`]: {\n fontSize: fontSizeLG,\n [`> ${componentCls}-header`]: {\n padding: collapseHeaderPaddingLG,\n paddingInlineStart: padding,\n [`> ${componentCls}-expand-icon`]: {\n height: fontSizeLG * lineHeight,\n // Arrow offset\n marginInlineStart: paddingLG - padding\n }\n },\n [`> ${componentCls}-content > ${componentCls}-content-box`]: {\n padding: paddingLG\n }\n }\n },\n [`${componentCls}-item:last-child`]: {\n [`> ${componentCls}-content`]: {\n borderRadius: `0 0 ${collapsePanelBorderRadius}px ${collapsePanelBorderRadius}px`\n }\n },\n [`& ${componentCls}-item-disabled > ${componentCls}-header`]: {\n [`\n &,\n & > .arrow\n `]: {\n color: colorTextDisabled,\n cursor: 'not-allowed'\n }\n },\n // ========================== Icon Position ==========================\n [`&${componentCls}-icon-position-end`]: {\n [`& > ${componentCls}-item`]: {\n [`> ${componentCls}-header`]: {\n [`${componentCls}-expand-icon`]: {\n order: 1,\n paddingInlineEnd: 0,\n paddingInlineStart: marginSM\n }\n }\n }\n }\n })\n };\n};\nconst genArrowStyle = token => {\n const {\n componentCls\n } = token;\n const fixedSelector = `> ${componentCls}-item > ${componentCls}-header ${componentCls}-arrow svg`;\n return {\n [`${componentCls}-rtl`]: {\n [fixedSelector]: {\n transform: `rotate(180deg)`\n }\n }\n };\n};\nconst genBorderlessStyle = token => {\n const {\n componentCls,\n collapseHeaderBg,\n paddingXXS,\n colorBorder\n } = token;\n return {\n [`${componentCls}-borderless`]: {\n backgroundColor: collapseHeaderBg,\n border: 0,\n [`> ${componentCls}-item`]: {\n borderBottom: `1px solid ${colorBorder}`\n },\n [`\n > ${componentCls}-item:last-child,\n > ${componentCls}-item:last-child ${componentCls}-header\n `]: {\n borderRadius: 0\n },\n [`> ${componentCls}-item:last-child`]: {\n borderBottom: 0\n },\n [`> ${componentCls}-item > ${componentCls}-content`]: {\n backgroundColor: 'transparent',\n borderTop: 0\n },\n [`> ${componentCls}-item > ${componentCls}-content > ${componentCls}-content-box`]: {\n paddingTop: paddingXXS\n }\n }\n };\n};\nconst genGhostStyle = token => {\n const {\n componentCls,\n paddingSM\n } = token;\n return {\n [`${componentCls}-ghost`]: {\n backgroundColor: 'transparent',\n border: 0,\n [`> ${componentCls}-item`]: {\n borderBottom: 0,\n [`> ${componentCls}-content`]: {\n backgroundColor: 'transparent',\n border: 0,\n [`> ${componentCls}-content-box`]: {\n paddingBlock: paddingSM\n }\n }\n }\n }\n };\n};\nexport default genComponentStyleHook('Collapse', token => {\n const collapseToken = mergeToken(token, {\n collapseContentBg: token.colorBgContainer,\n collapseHeaderBg: token.colorFillAlter,\n collapseHeaderPadding: `${token.paddingSM}px ${token.padding}px`,\n collapseHeaderPaddingSM: `${token.paddingXS}px ${token.paddingSM}px`,\n collapseHeaderPaddingLG: `${token.padding}px ${token.paddingLG}px`,\n collapsePanelBorderRadius: token.borderRadiusLG,\n collapseContentPaddingHorizontal: 16 // Fixed value\n });\n\n return [genBaseStyle(collapseToken), genBorderlessStyle(collapseToken), genGhostStyle(collapseToken), genArrowStyle(collapseToken), genCollapseMotion(collapseToken)];\n});","import RightOutlined from \"@ant-design/icons/es/icons/RightOutlined\";\nimport classNames from 'classnames';\nimport RcCollapse from 'rc-collapse';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport initCollapseMotion from '../_util/motion';\nimport { cloneElement } from '../_util/reactNode';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport useSize from '../config-provider/hooks/useSize';\nimport CollapsePanel from './CollapsePanel';\nimport useStyle from './style';\nconst Collapse = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n getPrefixCls,\n direction,\n collapse\n } = React.useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n style,\n bordered = true,\n ghost,\n size: customizeSize,\n expandIconPosition = 'start',\n children,\n expandIcon\n } = props;\n const mergedSize = useSize(ctx => {\n var _a;\n return (_a = customizeSize !== null && customizeSize !== void 0 ? customizeSize : ctx) !== null && _a !== void 0 ? _a : 'middle';\n });\n const prefixCls = getPrefixCls('collapse', customizePrefixCls);\n const rootPrefixCls = getPrefixCls();\n const [wrapSSR, hashId] = useStyle(prefixCls);\n // Warning if use legacy type `expandIconPosition`\n process.env.NODE_ENV !== \"production\" ? warning(expandIconPosition !== 'left' && expandIconPosition !== 'right', 'Collapse', '`expandIconPosition` with `left` or `right` is deprecated. Please use `start` or `end` instead.') : void 0;\n // Align with logic position\n const mergedExpandIconPosition = React.useMemo(() => {\n if (expandIconPosition === 'left') {\n return 'start';\n }\n return expandIconPosition === 'right' ? 'end' : expandIconPosition;\n }, [expandIconPosition]);\n const renderExpandIcon = function () {\n let panelProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const icon = expandIcon ? expandIcon(panelProps) : /*#__PURE__*/React.createElement(RightOutlined, {\n rotate: panelProps.isActive ? 90 : undefined\n });\n return cloneElement(icon, () => ({\n className: classNames(icon.props.className, `${prefixCls}-arrow`)\n }));\n };\n const collapseClassName = classNames(`${prefixCls}-icon-position-${mergedExpandIconPosition}`, {\n [`${prefixCls}-borderless`]: !bordered,\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-ghost`]: !!ghost,\n [`${prefixCls}-${mergedSize}`]: mergedSize !== 'middle'\n }, collapse === null || collapse === void 0 ? void 0 : collapse.className, className, rootClassName, hashId);\n const openMotion = Object.assign(Object.assign({}, initCollapseMotion(rootPrefixCls)), {\n motionAppear: false,\n leavedClassName: `${prefixCls}-content-hidden`\n });\n const items = React.useMemo(() => children ? toArray(children).map((child, index) => {\n var _a, _b;\n if ((_a = child.props) === null || _a === void 0 ? void 0 : _a.disabled) {\n const key = (_b = child.key) !== null && _b !== void 0 ? _b : String(index);\n const {\n disabled,\n collapsible\n } = child.props;\n const childProps = Object.assign(Object.assign({}, omit(child.props, ['disabled'])), {\n key,\n collapsible: collapsible !== null && collapsible !== void 0 ? collapsible : disabled ? 'disabled' : undefined\n });\n return cloneElement(child, childProps);\n }\n return child;\n }) : null, [children]);\n return wrapSSR( /*#__PURE__*/React.createElement(RcCollapse, Object.assign({\n ref: ref,\n openMotion: openMotion\n }, omit(props, ['rootClassName']), {\n expandIcon: renderExpandIcon,\n prefixCls: prefixCls,\n className: collapseClassName,\n style: Object.assign(Object.assign({}, collapse === null || collapse === void 0 ? void 0 : collapse.style), style)\n }), items));\n});\nif (process.env.NODE_ENV !== 'production') {\n Collapse.displayName = 'Collapse';\n}\nexport default Object.assign(Collapse, {\n Panel: CollapsePanel\n});","'use client';\n\nimport Collapse from './Collapse';\nexport default Collapse;","import * as React from 'react';\nconst DisabledContext = /*#__PURE__*/React.createContext(false);\nexport const DisabledContextProvider = _ref => {\n let {\n children,\n disabled\n } = _ref;\n const originDisabled = React.useContext(DisabledContext);\n return /*#__PURE__*/React.createElement(DisabledContext.Provider, {\n value: disabled !== null && disabled !== void 0 ? disabled : originDisabled\n }, children);\n};\nexport default DisabledContext;","import * as React from 'react';\nconst SizeContext = /*#__PURE__*/React.createContext(undefined);\nexport const SizeContextProvider = _ref => {\n let {\n children,\n size\n } = _ref;\n const originSize = React.useContext(SizeContext);\n return /*#__PURE__*/React.createElement(SizeContext.Provider, {\n value: size || originSize\n }, children);\n};\nexport default SizeContext;","import * as React from 'react';\nexport const defaultIconPrefixCls = 'anticon';\nconst defaultGetPrefixCls = (suffixCls, customizePrefixCls) => {\n if (customizePrefixCls) {\n return customizePrefixCls;\n }\n return suffixCls ? `ant-${suffixCls}` : 'ant';\n};\n// zombieJ: 🚨 Do not pass `defaultRenderEmpty` here since it will cause circular dependency.\nexport const ConfigContext = /*#__PURE__*/React.createContext({\n // We provide a default function for Context without provider\n getPrefixCls: defaultGetPrefixCls,\n iconPrefixCls: defaultIconPrefixCls\n});\nexport const {\n Consumer: ConfigConsumer\n} = ConfigContext;","import React, { useContext } from 'react';\nimport { ConfigContext } from '.';\nimport Empty from '../empty';\nconst DefaultRenderEmpty = props => {\n const {\n componentName\n } = props;\n const {\n getPrefixCls\n } = useContext(ConfigContext);\n const prefix = getPrefixCls('empty');\n switch (componentName) {\n case 'Table':\n case 'List':\n return /*#__PURE__*/React.createElement(Empty, {\n image: Empty.PRESENTED_IMAGE_SIMPLE\n });\n case 'Select':\n case 'TreeSelect':\n case 'Cascader':\n case 'Transfer':\n case 'Mentions':\n return /*#__PURE__*/React.createElement(Empty, {\n image: Empty.PRESENTED_IMAGE_SIMPLE,\n className: `${prefix}-small`\n });\n /* istanbul ignore next */\n default:\n // Should never hit if we take all the component into consider.\n return /*#__PURE__*/React.createElement(Empty, null);\n }\n};\nexport default DefaultRenderEmpty;","import React from 'react';\nimport SizeContext from '../SizeContext';\nconst useSize = customSize => {\n const size = React.useContext(SizeContext);\n const mergedSize = React.useMemo(() => {\n if (!customSize) {\n return size;\n }\n if (typeof customSize === 'string') {\n return customSize !== null && customSize !== void 0 ? customSize : size;\n }\n if (customSize instanceof Function) {\n return customSize(size);\n }\n return size;\n }, [customSize, size]);\n return mergedSize;\n};\nexport default useSize;","'use client';\n\nimport * as React from 'react';\nimport warning from '../_util/warning';\nimport { changeConfirmLocale } from '../modal/locale';\nimport LocaleContext from './context';\nexport { default as useLocale } from './useLocale';\nexport const ANT_MARK = 'internalMark';\nconst LocaleProvider = props => {\n const {\n locale = {},\n children,\n _ANT_MARK__\n } = props;\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(_ANT_MARK__ === ANT_MARK, 'LocaleProvider', '`LocaleProvider` is deprecated. Please use `locale` with `ConfigProvider` instead: http://u.ant.design/locale') : void 0;\n }\n React.useEffect(() => {\n const clearLocale = changeConfirmLocale(locale && locale.Modal);\n return clearLocale;\n }, [locale]);\n const getMemoizedContextValue = React.useMemo(() => Object.assign(Object.assign({}, locale), {\n exist: true\n }), [locale]);\n return /*#__PURE__*/React.createElement(LocaleContext.Provider, {\n value: getMemoizedContextValue\n }, children);\n};\nif (process.env.NODE_ENV !== 'production') {\n LocaleProvider.displayName = 'LocaleProvider';\n}\nexport default LocaleProvider;","/* eslint-disable import/prefer-default-export, prefer-destructuring */\nimport { generate } from '@ant-design/colors';\nimport { TinyColor } from '@ctrl/tinycolor';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport warning from '../_util/warning';\nconst dynamicStyleMark = `-ant-${Date.now()}-${Math.random()}`;\nexport function getStyle(globalPrefixCls, theme) {\n const variables = {};\n const formatColor = (color, updater) => {\n let clone = color.clone();\n clone = (updater === null || updater === void 0 ? void 0 : updater(clone)) || clone;\n return clone.toRgbString();\n };\n const fillColor = (colorVal, type) => {\n const baseColor = new TinyColor(colorVal);\n const colorPalettes = generate(baseColor.toRgbString());\n variables[`${type}-color`] = formatColor(baseColor);\n variables[`${type}-color-disabled`] = colorPalettes[1];\n variables[`${type}-color-hover`] = colorPalettes[4];\n variables[`${type}-color-active`] = colorPalettes[6];\n variables[`${type}-color-outline`] = baseColor.clone().setAlpha(0.2).toRgbString();\n variables[`${type}-color-deprecated-bg`] = colorPalettes[0];\n variables[`${type}-color-deprecated-border`] = colorPalettes[2];\n };\n // ================ Primary Color ================\n if (theme.primaryColor) {\n fillColor(theme.primaryColor, 'primary');\n const primaryColor = new TinyColor(theme.primaryColor);\n const primaryColors = generate(primaryColor.toRgbString());\n // Legacy - We should use semantic naming standard\n primaryColors.forEach((color, index) => {\n variables[`primary-${index + 1}`] = color;\n });\n // Deprecated\n variables['primary-color-deprecated-l-35'] = formatColor(primaryColor, c => c.lighten(35));\n variables['primary-color-deprecated-l-20'] = formatColor(primaryColor, c => c.lighten(20));\n variables['primary-color-deprecated-t-20'] = formatColor(primaryColor, c => c.tint(20));\n variables['primary-color-deprecated-t-50'] = formatColor(primaryColor, c => c.tint(50));\n variables['primary-color-deprecated-f-12'] = formatColor(primaryColor, c => c.setAlpha(c.getAlpha() * 0.12));\n const primaryActiveColor = new TinyColor(primaryColors[0]);\n variables['primary-color-active-deprecated-f-30'] = formatColor(primaryActiveColor, c => c.setAlpha(c.getAlpha() * 0.3));\n variables['primary-color-active-deprecated-d-02'] = formatColor(primaryActiveColor, c => c.darken(2));\n }\n // ================ Success Color ================\n if (theme.successColor) {\n fillColor(theme.successColor, 'success');\n }\n // ================ Warning Color ================\n if (theme.warningColor) {\n fillColor(theme.warningColor, 'warning');\n }\n // ================= Error Color =================\n if (theme.errorColor) {\n fillColor(theme.errorColor, 'error');\n }\n // ================= Info Color ==================\n if (theme.infoColor) {\n fillColor(theme.infoColor, 'info');\n }\n // Convert to css variables\n const cssList = Object.keys(variables).map(key => `--${globalPrefixCls}-${key}: ${variables[key]};`);\n return `\n :root {\n ${cssList.join('\\n')}\n }\n `.trim();\n}\nexport function registerTheme(globalPrefixCls, theme) {\n const style = getStyle(globalPrefixCls, theme);\n if (canUseDom()) {\n updateCSS(style, `${dynamicStyleMark}-dynamic-theme`);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'ConfigProvider', 'SSR do not support dynamic theme with css variables.') : void 0;\n }\n}","import { useContext } from 'react';\nimport DisabledContext from '../DisabledContext';\nimport SizeContext from '../SizeContext';\nfunction useConfig() {\n const componentDisabled = useContext(DisabledContext);\n const componentSize = useContext(SizeContext);\n return {\n componentDisabled,\n componentSize\n };\n}\nexport default useConfig;","import useMemo from \"rc-util/es/hooks/useMemo\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport { defaultConfig } from '../../theme/internal';\nexport default function useTheme(theme, parentTheme) {\n const themeConfig = theme || {};\n const parentThemeConfig = themeConfig.inherit === false || !parentTheme ? defaultConfig : parentTheme;\n return useMemo(() => {\n if (!theme) {\n return parentTheme;\n }\n // Override\n const mergedComponents = Object.assign({}, parentThemeConfig.components);\n Object.keys(theme.components || {}).forEach(componentName => {\n mergedComponents[componentName] = Object.assign(Object.assign({}, mergedComponents[componentName]), theme.components[componentName]);\n });\n // Base token\n return Object.assign(Object.assign(Object.assign({}, parentThemeConfig), themeConfig), {\n token: Object.assign(Object.assign({}, parentThemeConfig.token), themeConfig.token),\n components: mergedComponents\n });\n }, [themeConfig, parentThemeConfig], (prev, next) => prev.some((prevTheme, index) => {\n const nextTheme = next[index];\n return !isEqual(prevTheme, nextTheme, true);\n }));\n}","import { Provider as MotionProvider } from 'rc-motion';\nimport * as React from 'react';\nimport { useToken } from '../theme/internal';\nexport default function MotionWrapper(props) {\n const {\n children\n } = props;\n const [, token] = useToken();\n const {\n motion\n } = token;\n const needWrapMotionProviderRef = React.useRef(false);\n needWrapMotionProviderRef.current = needWrapMotionProviderRef.current || motion === false;\n if (needWrapMotionProviderRef.current) {\n return /*#__PURE__*/React.createElement(MotionProvider, {\n motion: motion\n }, children);\n }\n return children;\n}","'use client';\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { createTheme } from '@ant-design/cssinjs';\nimport IconContext from \"@ant-design/icons/es/components/Context\";\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport { merge } from \"rc-util/es/utils/set\";\nimport * as React from 'react';\nimport warning from '../_util/warning';\nimport ValidateMessagesContext from '../form/validateMessagesContext';\nimport LocaleProvider, { ANT_MARK } from '../locale';\nimport LocaleContext from '../locale/context';\nimport defaultLocale from '../locale/en_US';\nimport { DesignTokenContext } from '../theme/internal';\nimport defaultSeedToken from '../theme/themes/seed';\nimport { ConfigConsumer, ConfigContext, defaultIconPrefixCls } from './context';\nimport { registerTheme } from './cssVariables';\nimport { DisabledContextProvider } from './DisabledContext';\nimport useConfig from './hooks/useConfig';\nimport useTheme from './hooks/useTheme';\nimport MotionWrapper from './MotionWrapper';\nimport SizeContext, { SizeContextProvider } from './SizeContext';\nimport useStyle from './style';\nimport { defaultTheme } from '../theme/context';\n/**\n * Since too many feedback using static method like `Modal.confirm` not getting theme, we record the\n * theme register info here to help developer get warning info.\n */\nlet existThemeConfig = false;\nexport const warnContext = process.env.NODE_ENV !== 'production' ? componentName => {\n process.env.NODE_ENV !== \"production\" ? warning(!existThemeConfig, componentName, `Static function can not consume context like dynamic theme. Please use 'App' component instead.`) : void 0;\n} : /* istanbul ignore next */\nnull;\nexport { ConfigConsumer, ConfigContext, defaultIconPrefixCls };\nexport const configConsumerProps = ['getTargetContainer', 'getPopupContainer', 'rootPrefixCls', 'getPrefixCls', 'renderEmpty', 'csp', 'autoInsertSpaceInButton', 'locale', 'pageHeader'];\n// These props is used by `useContext` directly in sub component\nconst PASSED_PROPS = ['getTargetContainer', 'getPopupContainer', 'renderEmpty', 'pageHeader', 'input', 'pagination', 'form', 'select', 'button'];\nexport const defaultPrefixCls = 'ant';\nlet globalPrefixCls;\nlet globalIconPrefixCls;\nlet globalTheme;\nfunction getGlobalPrefixCls() {\n return globalPrefixCls || defaultPrefixCls;\n}\nfunction getGlobalIconPrefixCls() {\n return globalIconPrefixCls || defaultIconPrefixCls;\n}\nfunction isLegacyTheme(theme) {\n return Object.keys(theme).some(key => key.endsWith('Color'));\n}\nconst setGlobalConfig = _ref => {\n let {\n prefixCls,\n iconPrefixCls,\n theme\n } = _ref;\n if (prefixCls !== undefined) {\n globalPrefixCls = prefixCls;\n }\n if (iconPrefixCls !== undefined) {\n globalIconPrefixCls = iconPrefixCls;\n }\n if (theme) {\n if (isLegacyTheme(theme)) {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'ConfigProvider', '`config` of css variable theme is not work in v5. Please use new `theme` config instead.') : void 0;\n registerTheme(getGlobalPrefixCls(), theme);\n } else {\n globalTheme = theme;\n }\n }\n};\nexport const globalConfig = () => ({\n getPrefixCls: (suffixCls, customizePrefixCls) => {\n if (customizePrefixCls) {\n return customizePrefixCls;\n }\n return suffixCls ? `${getGlobalPrefixCls()}-${suffixCls}` : getGlobalPrefixCls();\n },\n getIconPrefixCls: getGlobalIconPrefixCls,\n getRootPrefixCls: () => {\n // If Global prefixCls provided, use this\n if (globalPrefixCls) {\n return globalPrefixCls;\n }\n // Fallback to default prefixCls\n return getGlobalPrefixCls();\n },\n getTheme: () => globalTheme\n});\nconst ProviderChildren = props => {\n const {\n children,\n csp: customCsp,\n autoInsertSpaceInButton,\n alert,\n anchor,\n form,\n locale,\n componentSize,\n direction,\n space,\n virtual,\n dropdownMatchSelectWidth,\n popupMatchSelectWidth,\n popupOverflow,\n legacyLocale,\n parentContext,\n iconPrefixCls: customIconPrefixCls,\n theme,\n componentDisabled,\n segmented,\n statistic,\n spin,\n calendar,\n carousel,\n cascader,\n collapse,\n typography,\n checkbox,\n descriptions,\n divider,\n drawer,\n skeleton,\n steps,\n image,\n layout,\n list,\n mentions,\n modal,\n progress,\n result,\n slider,\n breadcrumb,\n menu,\n pagination,\n input,\n empty,\n badge,\n radio,\n rate,\n switch: SWITCH,\n transfer,\n avatar,\n message,\n tag,\n table,\n card,\n tabs,\n timeline,\n timePicker,\n upload,\n notification,\n tree,\n colorPicker,\n datePicker,\n wave\n } = props;\n // =================================== Warning ===================================\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(dropdownMatchSelectWidth === undefined, 'ConfigProvider', '`dropdownMatchSelectWidth` is deprecated. Please use `popupMatchSelectWidth` instead.') : void 0;\n }\n // =================================== Context ===================================\n const getPrefixCls = React.useCallback((suffixCls, customizePrefixCls) => {\n const {\n prefixCls\n } = props;\n if (customizePrefixCls) {\n return customizePrefixCls;\n }\n const mergedPrefixCls = prefixCls || parentContext.getPrefixCls('');\n return suffixCls ? `${mergedPrefixCls}-${suffixCls}` : mergedPrefixCls;\n }, [parentContext.getPrefixCls, props.prefixCls]);\n const iconPrefixCls = customIconPrefixCls || parentContext.iconPrefixCls || defaultIconPrefixCls;\n const shouldWrapSSR = iconPrefixCls !== parentContext.iconPrefixCls;\n const csp = customCsp || parentContext.csp;\n const wrapSSR = useStyle(iconPrefixCls, csp);\n const mergedTheme = useTheme(theme, parentContext.theme);\n if (process.env.NODE_ENV !== 'production') {\n existThemeConfig = existThemeConfig || !!mergedTheme;\n }\n const baseConfig = {\n csp,\n autoInsertSpaceInButton,\n alert,\n anchor,\n locale: locale || legacyLocale,\n direction,\n space,\n virtual,\n popupMatchSelectWidth: popupMatchSelectWidth !== null && popupMatchSelectWidth !== void 0 ? popupMatchSelectWidth : dropdownMatchSelectWidth,\n popupOverflow,\n getPrefixCls,\n iconPrefixCls,\n theme: mergedTheme,\n segmented,\n statistic,\n spin,\n calendar,\n carousel,\n cascader,\n collapse,\n typography,\n checkbox,\n descriptions,\n divider,\n drawer,\n skeleton,\n steps,\n image,\n input,\n layout,\n list,\n mentions,\n modal,\n progress,\n result,\n slider,\n breadcrumb,\n menu,\n pagination,\n empty,\n badge,\n radio,\n rate,\n switch: SWITCH,\n transfer,\n avatar,\n message,\n tag,\n table,\n card,\n tabs,\n timeline,\n timePicker,\n upload,\n notification,\n tree,\n colorPicker,\n datePicker,\n wave\n };\n const config = Object.assign({}, parentContext);\n Object.keys(baseConfig).forEach(key => {\n if (baseConfig[key] !== undefined) {\n config[key] = baseConfig[key];\n }\n });\n // Pass the props used by `useContext` directly with child component.\n // These props should merged into `config`.\n PASSED_PROPS.forEach(propName => {\n const propValue = props[propName];\n if (propValue) {\n config[propName] = propValue;\n }\n });\n // https://github.com/ant-design/ant-design/issues/27617\n const memoedConfig = useMemo(() => config, config, (prevConfig, currentConfig) => {\n const prevKeys = Object.keys(prevConfig);\n const currentKeys = Object.keys(currentConfig);\n return prevKeys.length !== currentKeys.length || prevKeys.some(key => prevConfig[key] !== currentConfig[key]);\n });\n const memoIconContextValue = React.useMemo(() => ({\n prefixCls: iconPrefixCls,\n csp\n }), [iconPrefixCls, csp]);\n let childNode = shouldWrapSSR ? wrapSSR(children) : children;\n const validateMessages = React.useMemo(() => {\n var _a, _b, _c, _d;\n return merge(((_a = defaultLocale.Form) === null || _a === void 0 ? void 0 : _a.defaultValidateMessages) || {}, ((_c = (_b = memoedConfig.locale) === null || _b === void 0 ? void 0 : _b.Form) === null || _c === void 0 ? void 0 : _c.defaultValidateMessages) || {}, ((_d = memoedConfig.form) === null || _d === void 0 ? void 0 : _d.validateMessages) || {}, (form === null || form === void 0 ? void 0 : form.validateMessages) || {});\n }, [memoedConfig, form === null || form === void 0 ? void 0 : form.validateMessages]);\n if (Object.keys(validateMessages).length > 0) {\n childNode = /*#__PURE__*/React.createElement(ValidateMessagesContext.Provider, {\n value: validateMessages\n }, children);\n }\n if (locale) {\n childNode = /*#__PURE__*/React.createElement(LocaleProvider, {\n locale: locale,\n _ANT_MARK__: ANT_MARK\n }, childNode);\n }\n if (iconPrefixCls || csp) {\n childNode = /*#__PURE__*/React.createElement(IconContext.Provider, {\n value: memoIconContextValue\n }, childNode);\n }\n if (componentSize) {\n childNode = /*#__PURE__*/React.createElement(SizeContextProvider, {\n size: componentSize\n }, childNode);\n }\n // =================================== Motion ===================================\n childNode = /*#__PURE__*/React.createElement(MotionWrapper, null, childNode);\n // ================================ Dynamic theme ================================\n const memoTheme = React.useMemo(() => {\n const _a = mergedTheme || {},\n {\n algorithm,\n token,\n components\n } = _a,\n rest = __rest(_a, [\"algorithm\", \"token\", \"components\"]);\n const themeObj = algorithm && (!Array.isArray(algorithm) || algorithm.length > 0) ? createTheme(algorithm) : defaultTheme;\n const parsedComponents = {};\n Object.entries(components || {}).forEach(_ref2 => {\n let [componentName, componentToken] = _ref2;\n const parsedToken = Object.assign({}, componentToken);\n if ('algorithm' in parsedToken) {\n if (parsedToken.algorithm === true) {\n parsedToken.theme = themeObj;\n } else if (Array.isArray(parsedToken.algorithm) || typeof parsedToken.algorithm === 'function') {\n parsedToken.theme = createTheme(parsedToken.algorithm);\n }\n delete parsedToken.algorithm;\n }\n parsedComponents[componentName] = parsedToken;\n });\n return Object.assign(Object.assign({}, rest), {\n theme: themeObj,\n token: Object.assign(Object.assign({}, defaultSeedToken), token),\n components: parsedComponents\n });\n }, [mergedTheme]);\n if (theme) {\n childNode = /*#__PURE__*/React.createElement(DesignTokenContext.Provider, {\n value: memoTheme\n }, childNode);\n }\n // =================================== Render ===================================\n if (componentDisabled !== undefined) {\n childNode = /*#__PURE__*/React.createElement(DisabledContextProvider, {\n disabled: componentDisabled\n }, childNode);\n }\n return /*#__PURE__*/React.createElement(ConfigContext.Provider, {\n value: memoedConfig\n }, childNode);\n};\nconst ConfigProvider = props => {\n const context = React.useContext(ConfigContext);\n const antLocale = React.useContext(LocaleContext);\n return /*#__PURE__*/React.createElement(ProviderChildren, Object.assign({\n parentContext: context,\n legacyLocale: antLocale\n }, props));\n};\nConfigProvider.ConfigContext = ConfigContext;\nConfigProvider.SizeContext = SizeContext;\nConfigProvider.config = setGlobalConfig;\nConfigProvider.useConfig = useConfig;\nObject.defineProperty(ConfigProvider, 'SizeContext', {\n get: () => {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'ConfigProvider', 'ConfigProvider.SizeContext is deprecated. Please use `ConfigProvider.useConfig().componentSize` instead.') : void 0;\n return SizeContext;\n }\n});\nif (process.env.NODE_ENV !== 'production') {\n ConfigProvider.displayName = 'ConfigProvider';\n}\nexport default ConfigProvider;","var locale = {\n locale: 'en_US',\n today: 'Today',\n now: 'Now',\n backToToday: 'Back to today',\n ok: 'OK',\n clear: 'Clear',\n month: 'Month',\n year: 'Year',\n timeSelect: 'select time',\n dateSelect: 'select date',\n weekSelect: 'Choose a week',\n monthSelect: 'Choose a month',\n yearSelect: 'Choose a year',\n decadeSelect: 'Choose a decade',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Previous month (PageUp)',\n nextMonth: 'Next month (PageDown)',\n previousYear: 'Last year (Control + left)',\n nextYear: 'Next year (Control + right)',\n previousDecade: 'Last decade',\n nextDecade: 'Next decade',\n previousCentury: 'Last century',\n nextCentury: 'Next century'\n};\nexport default locale;","import CalendarLocale from \"rc-picker/es/locale/en_US\";\nimport TimePickerLocale from '../../time-picker/locale/en_US';\n// Merge into a locale object\nconst locale = {\n lang: Object.assign({\n placeholder: 'Select date',\n yearPlaceholder: 'Select year',\n quarterPlaceholder: 'Select quarter',\n monthPlaceholder: 'Select month',\n weekPlaceholder: 'Select week',\n rangePlaceholder: ['Start date', 'End date'],\n rangeYearPlaceholder: ['Start year', 'End year'],\n rangeQuarterPlaceholder: ['Start quarter', 'End quarter'],\n rangeMonthPlaceholder: ['Start month', 'End month'],\n rangeWeekPlaceholder: ['Start week', 'End week']\n }, CalendarLocale),\n timePickerLocale: Object.assign({}, TimePickerLocale)\n};\n// All settings at:\n// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json\nexport default locale;","import { resetComponent } from '../../style';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\n// ============================== Shared ==============================\nconst genSharedDividerStyle = token => {\n const {\n componentCls,\n sizePaddingEdgeHorizontal,\n colorSplit,\n lineWidth\n } = token;\n return {\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n borderBlockStart: `${lineWidth}px solid ${colorSplit}`,\n // vertical\n '&-vertical': {\n position: 'relative',\n top: '-0.06em',\n display: 'inline-block',\n height: '0.9em',\n margin: `0 ${token.dividerVerticalGutterMargin}px`,\n verticalAlign: 'middle',\n borderTop: 0,\n borderInlineStart: `${lineWidth}px solid ${colorSplit}`\n },\n '&-horizontal': {\n display: 'flex',\n clear: 'both',\n width: '100%',\n minWidth: '100%',\n margin: `${token.dividerHorizontalGutterMargin}px 0`\n },\n [`&-horizontal${componentCls}-with-text`]: {\n display: 'flex',\n alignItems: 'center',\n margin: `${token.dividerHorizontalWithTextGutterMargin}px 0`,\n color: token.colorTextHeading,\n fontWeight: 500,\n fontSize: token.fontSizeLG,\n whiteSpace: 'nowrap',\n textAlign: 'center',\n borderBlockStart: `0 ${colorSplit}`,\n '&::before, &::after': {\n position: 'relative',\n width: '50%',\n borderBlockStart: `${lineWidth}px solid transparent`,\n // Chrome not accept `inherit` in `border-top`\n borderBlockStartColor: 'inherit',\n borderBlockEnd: 0,\n transform: 'translateY(50%)',\n content: \"''\"\n }\n },\n [`&-horizontal${componentCls}-with-text-left`]: {\n '&::before': {\n width: '5%'\n },\n '&::after': {\n width: '95%'\n }\n },\n [`&-horizontal${componentCls}-with-text-right`]: {\n '&::before': {\n width: '95%'\n },\n '&::after': {\n width: '5%'\n }\n },\n [`${componentCls}-inner-text`]: {\n display: 'inline-block',\n padding: '0 1em'\n },\n '&-dashed': {\n background: 'none',\n borderColor: colorSplit,\n borderStyle: 'dashed',\n borderWidth: `${lineWidth}px 0 0`\n },\n [`&-horizontal${componentCls}-with-text${componentCls}-dashed`]: {\n '&::before, &::after': {\n borderStyle: 'dashed none none'\n }\n },\n [`&-vertical${componentCls}-dashed`]: {\n borderInlineStartWidth: lineWidth,\n borderInlineEnd: 0,\n borderBlockStart: 0,\n borderBlockEnd: 0\n },\n [`&-plain${componentCls}-with-text`]: {\n color: token.colorText,\n fontWeight: 'normal',\n fontSize: token.fontSize\n },\n [`&-horizontal${componentCls}-with-text-left${componentCls}-no-default-orientation-margin-left`]: {\n '&::before': {\n width: 0\n },\n '&::after': {\n width: '100%'\n },\n [`${componentCls}-inner-text`]: {\n paddingInlineStart: sizePaddingEdgeHorizontal\n }\n },\n [`&-horizontal${componentCls}-with-text-right${componentCls}-no-default-orientation-margin-right`]: {\n '&::before': {\n width: '100%'\n },\n '&::after': {\n width: 0\n },\n [`${componentCls}-inner-text`]: {\n paddingInlineEnd: sizePaddingEdgeHorizontal\n }\n }\n })\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Divider', token => {\n const dividerToken = mergeToken(token, {\n dividerVerticalGutterMargin: token.marginXS,\n dividerHorizontalWithTextGutterMargin: token.margin,\n dividerHorizontalGutterMargin: token.marginLG\n });\n return [genSharedDividerStyle(dividerToken)];\n}, {\n sizePaddingEdgeHorizontal: 0\n});","'use client';\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style';\nconst Divider = props => {\n const {\n getPrefixCls,\n direction,\n divider\n } = React.useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls,\n type = 'horizontal',\n orientation = 'center',\n orientationMargin,\n className,\n rootClassName,\n children,\n dashed,\n plain,\n style\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"type\", \"orientation\", \"orientationMargin\", \"className\", \"rootClassName\", \"children\", \"dashed\", \"plain\", \"style\"]);\n const prefixCls = getPrefixCls('divider', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const orientationPrefix = orientation.length > 0 ? `-${orientation}` : orientation;\n const hasChildren = !!children;\n const hasCustomMarginLeft = orientation === 'left' && orientationMargin != null;\n const hasCustomMarginRight = orientation === 'right' && orientationMargin != null;\n const classString = classNames(prefixCls, divider === null || divider === void 0 ? void 0 : divider.className, hashId, `${prefixCls}-${type}`, {\n [`${prefixCls}-with-text`]: hasChildren,\n [`${prefixCls}-with-text${orientationPrefix}`]: hasChildren,\n [`${prefixCls}-dashed`]: !!dashed,\n [`${prefixCls}-plain`]: !!plain,\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-no-default-orientation-margin-left`]: hasCustomMarginLeft,\n [`${prefixCls}-no-default-orientation-margin-right`]: hasCustomMarginRight\n }, className, rootClassName);\n const memoizedOrientationMargin = React.useMemo(() => {\n if (typeof orientationMargin === 'number') {\n return orientationMargin;\n }\n if (/^\\d+$/.test(orientationMargin)) {\n return Number(orientationMargin);\n }\n return orientationMargin;\n }, [orientationMargin]);\n const innerStyle = Object.assign(Object.assign({}, hasCustomMarginLeft && {\n marginLeft: memoizedOrientationMargin\n }), hasCustomMarginRight && {\n marginRight: memoizedOrientationMargin\n });\n // Warning children not work in vertical mode\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(!children || type !== 'vertical', 'Divider', '`children` not working in `vertical` mode.') : void 0;\n }\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", Object.assign({\n className: classString,\n style: Object.assign(Object.assign({}, divider === null || divider === void 0 ? void 0 : divider.style), style)\n }, restProps, {\n role: \"separator\"\n }), children && type !== 'vertical' && /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-inner-text`,\n style: innerStyle\n }, children)));\n};\nif (process.env.NODE_ENV !== 'production') {\n Divider.displayName = 'Divider';\n}\nexport default Divider;","import RightOutlined from \"@ant-design/icons/es/icons/RightOutlined\";\nimport classNames from 'classnames';\nimport RcDropdown from 'rc-dropdown';\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport genPurePanel from '../_util/PurePanel';\nimport getPlacements from '../_util/placements';\nimport { cloneElement } from '../_util/reactNode';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport Menu from '../menu';\nimport { OverrideProvider } from '../menu/OverrideContext';\nimport theme from '../theme';\nimport useStyle from './style';\nconst Placements = ['topLeft', 'topCenter', 'topRight', 'bottomLeft', 'bottomCenter', 'bottomRight', 'top', 'bottom'];\nconst Dropdown = props => {\n const {\n menu,\n arrow,\n prefixCls: customizePrefixCls,\n children,\n trigger,\n disabled,\n dropdownRender,\n getPopupContainer,\n overlayClassName,\n rootClassName,\n open,\n onOpenChange,\n // Deprecated\n visible,\n onVisibleChange,\n mouseEnterDelay = 0.15,\n mouseLeaveDelay = 0.1,\n autoAdjustOverflow = true,\n placement = '',\n overlay,\n transitionName\n } = props;\n const {\n getPopupContainer: getContextPopupContainer,\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n // Warning for deprecated usage\n if (process.env.NODE_ENV !== 'production') {\n [['visible', 'open'], ['onVisibleChange', 'onOpenChange']].forEach(_ref => {\n let [deprecatedName, newName] = _ref;\n process.env.NODE_ENV !== \"production\" ? warning(!(deprecatedName in props), 'Dropdown', `\\`${deprecatedName}\\` is deprecated which will be removed in next major version, please use \\`${newName}\\` instead.`) : void 0;\n });\n process.env.NODE_ENV !== \"production\" ? warning(!('overlay' in props), 'Dropdown', '`overlay` is deprecated. Please use `menu` instead.') : void 0;\n }\n const memoTransitionName = React.useMemo(() => {\n const rootPrefixCls = getPrefixCls();\n if (transitionName !== undefined) {\n return transitionName;\n }\n if (placement.includes('top')) {\n return `${rootPrefixCls}-slide-down`;\n }\n return `${rootPrefixCls}-slide-up`;\n }, [getPrefixCls, placement, transitionName]);\n const memoPlacement = React.useMemo(() => {\n if (!placement) {\n return direction === 'rtl' ? 'bottomRight' : 'bottomLeft';\n }\n if (placement.includes('Center')) {\n const newPlacement = placement.slice(0, placement.indexOf('Center'));\n process.env.NODE_ENV !== \"production\" ? warning(!placement.includes('Center'), 'Dropdown', `You are using '${placement}' placement in Dropdown, which is deprecated. Try to use '${newPlacement}' instead.`) : void 0;\n return newPlacement;\n }\n return placement;\n }, [placement, direction]);\n if (process.env.NODE_ENV !== 'production') {\n [['visible', 'open'], ['onVisibleChange', 'onOpenChange']].forEach(_ref2 => {\n let [deprecatedName, newName] = _ref2;\n process.env.NODE_ENV !== \"production\" ? warning(!(deprecatedName in props), 'Dropdown', `\\`${deprecatedName}\\` is deprecated, please use \\`${newName}\\` instead.`) : void 0;\n });\n }\n const prefixCls = getPrefixCls('dropdown', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const {\n token\n } = theme.useToken();\n const child = React.Children.only(children);\n const dropdownTrigger = cloneElement(child, {\n className: classNames(`${prefixCls}-trigger`, {\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, child.props.className),\n disabled\n });\n const triggerActions = disabled ? [] : trigger;\n let alignPoint;\n if (triggerActions && triggerActions.includes('contextMenu')) {\n alignPoint = true;\n }\n // =========================== Open ============================\n const [mergedOpen, setOpen] = useMergedState(false, {\n value: open !== null && open !== void 0 ? open : visible\n });\n const onInnerOpenChange = useEvent(nextOpen => {\n onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(nextOpen);\n onVisibleChange === null || onVisibleChange === void 0 ? void 0 : onVisibleChange(nextOpen);\n setOpen(nextOpen);\n });\n // =========================== Overlay ============================\n const overlayClassNameCustomized = classNames(overlayClassName, rootClassName, hashId, {\n [`${prefixCls}-rtl`]: direction === 'rtl'\n });\n const builtinPlacements = getPlacements({\n arrowPointAtCenter: typeof arrow === 'object' && arrow.pointAtCenter,\n autoAdjustOverflow,\n offset: token.marginXXS,\n arrowWidth: arrow ? token.sizePopupArrow : 0,\n borderRadius: token.borderRadius\n });\n const onMenuClick = React.useCallback(() => {\n setOpen(false);\n }, []);\n const renderOverlay = () => {\n // rc-dropdown already can process the function of overlay, but we have check logic here.\n // So we need render the element to check and pass back to rc-dropdown.\n let overlayNode;\n if (menu === null || menu === void 0 ? void 0 : menu.items) {\n overlayNode = /*#__PURE__*/React.createElement(Menu, Object.assign({}, menu));\n } else if (typeof overlay === 'function') {\n overlayNode = overlay();\n } else {\n overlayNode = overlay;\n }\n if (dropdownRender) {\n overlayNode = dropdownRender(overlayNode);\n }\n overlayNode = React.Children.only(typeof overlayNode === 'string' ? /*#__PURE__*/React.createElement(\"span\", null, overlayNode) : overlayNode);\n return /*#__PURE__*/React.createElement(OverrideProvider, {\n prefixCls: `${prefixCls}-menu`,\n expandIcon: /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-menu-submenu-arrow`\n }, /*#__PURE__*/React.createElement(RightOutlined, {\n className: `${prefixCls}-menu-submenu-arrow-icon`\n })),\n mode: \"vertical\",\n selectable: false,\n onClick: onMenuClick,\n validator: _ref3 => {\n let {\n mode\n } = _ref3;\n // Warning if use other mode\n process.env.NODE_ENV !== \"production\" ? warning(!mode || mode === 'vertical', 'Dropdown', `mode=\"${mode}\" is not supported for Dropdown's Menu.`) : void 0;\n }\n }, overlayNode);\n };\n // ============================ Render ============================\n return wrapSSR( /*#__PURE__*/React.createElement(RcDropdown, Object.assign({\n alignPoint: alignPoint\n }, omit(props, ['rootClassName']), {\n mouseEnterDelay: mouseEnterDelay,\n mouseLeaveDelay: mouseLeaveDelay,\n visible: mergedOpen,\n builtinPlacements: builtinPlacements,\n arrow: !!arrow,\n overlayClassName: overlayClassNameCustomized,\n prefixCls: prefixCls,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n transitionName: memoTransitionName,\n trigger: triggerActions,\n overlay: renderOverlay,\n placement: memoPlacement,\n onVisibleChange: onInnerOpenChange\n }), dropdownTrigger));\n};\nfunction postPureProps(props) {\n return Object.assign(Object.assign({}, props), {\n align: {\n overflow: {\n adjustX: false,\n adjustY: false\n }\n }\n });\n}\n// We don't care debug panel\nconst PurePanel = genPurePanel(Dropdown, 'dropdown', prefixCls => prefixCls, postPureProps);\n/* istanbul ignore next */\nconst WrapPurePanel = props => /*#__PURE__*/React.createElement(PurePanel, Object.assign({}, props), /*#__PURE__*/React.createElement(\"span\", null));\nDropdown._InternalPanelDoNotUseOrYouWillBeFired = WrapPurePanel;\nif (process.env.NODE_ENV !== 'production') {\n Dropdown.displayName = 'Dropdown';\n}\nexport default Dropdown;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport EllipsisOutlined from \"@ant-design/icons/es/icons/EllipsisOutlined\";\nimport Button from '../button';\nimport { ConfigContext } from '../config-provider';\nimport Space from '../space';\nimport { useCompactItemContext } from '../space/Compact';\nimport Dropdown from './dropdown';\nimport useStyle from './style';\nconst DropdownButton = props => {\n const {\n getPopupContainer: getContextPopupContainer,\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls,\n type = 'default',\n danger,\n disabled,\n loading,\n onClick,\n htmlType,\n children,\n className,\n menu,\n arrow,\n autoFocus,\n overlay,\n trigger,\n align,\n open,\n onOpenChange,\n placement,\n getPopupContainer,\n href,\n icon = /*#__PURE__*/React.createElement(EllipsisOutlined, null),\n title,\n buttonsRender = buttons => buttons,\n mouseEnterDelay,\n mouseLeaveDelay,\n overlayClassName,\n overlayStyle,\n destroyPopupOnHide,\n dropdownRender\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"type\", \"danger\", \"disabled\", \"loading\", \"onClick\", \"htmlType\", \"children\", \"className\", \"menu\", \"arrow\", \"autoFocus\", \"overlay\", \"trigger\", \"align\", \"open\", \"onOpenChange\", \"placement\", \"getPopupContainer\", \"href\", \"icon\", \"title\", \"buttonsRender\", \"mouseEnterDelay\", \"mouseLeaveDelay\", \"overlayClassName\", \"overlayStyle\", \"destroyPopupOnHide\", \"dropdownRender\"]);\n const prefixCls = getPrefixCls('dropdown', customizePrefixCls);\n const buttonPrefixCls = `${prefixCls}-button`;\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const dropdownProps = {\n menu,\n arrow,\n autoFocus,\n align,\n disabled,\n trigger: disabled ? [] : trigger,\n onOpenChange,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n mouseEnterDelay,\n mouseLeaveDelay,\n overlayClassName,\n overlayStyle,\n destroyPopupOnHide,\n dropdownRender\n };\n const {\n compactSize,\n compactItemClassnames\n } = useCompactItemContext(prefixCls, direction);\n const classes = classNames(buttonPrefixCls, compactItemClassnames, className, hashId);\n if ('overlay' in props) {\n dropdownProps.overlay = overlay;\n }\n if ('open' in props) {\n dropdownProps.open = open;\n }\n if ('placement' in props) {\n dropdownProps.placement = placement;\n } else {\n dropdownProps.placement = direction === 'rtl' ? 'bottomLeft' : 'bottomRight';\n }\n const leftButton = /*#__PURE__*/React.createElement(Button, {\n type: type,\n danger: danger,\n disabled: disabled,\n loading: loading,\n onClick: onClick,\n htmlType: htmlType,\n href: href,\n title: title\n }, children);\n const rightButton = /*#__PURE__*/React.createElement(Button, {\n type: type,\n danger: danger,\n icon: icon\n });\n const [leftButtonToRender, rightButtonToRender] = buttonsRender([leftButton, rightButton]);\n return wrapSSR( /*#__PURE__*/React.createElement(Space.Compact, Object.assign({\n className: classes,\n size: compactSize,\n block: true\n }, restProps), leftButtonToRender, /*#__PURE__*/React.createElement(Dropdown, Object.assign({}, dropdownProps), rightButtonToRender)));\n};\nDropdownButton.__ANT_BUTTON = true;\nexport default DropdownButton;","'use client';\n\nimport InternalDropdown from './dropdown';\nimport DropdownButton from './dropdown-button';\nconst Dropdown = InternalDropdown;\nDropdown.Button = DropdownButton;\nexport default Dropdown;","const genStatusStyle = token => {\n const {\n componentCls,\n menuCls,\n colorError,\n colorTextLightSolid\n } = token;\n const itemCls = `${menuCls}-item`;\n return {\n [`${componentCls}, ${componentCls}-menu-submenu`]: {\n [`${menuCls} ${itemCls}`]: {\n [`&${itemCls}-danger:not(${itemCls}-disabled)`]: {\n color: colorError,\n '&:hover': {\n color: colorTextLightSolid,\n backgroundColor: colorError\n }\n }\n }\n }\n };\n};\nexport default genStatusStyle;","import { genFocusStyle, resetComponent } from '../../style';\nimport { initMoveMotion, initSlideMotion, initZoomMotion, slideDownIn, slideDownOut, slideUpIn, slideUpOut } from '../../style/motion';\nimport getArrowStyle, { getArrowOffset } from '../../style/placementArrow';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport genStatusStyle from './status';\n// =============================== Base ===============================\nconst genBaseStyle = token => {\n const {\n componentCls,\n menuCls,\n zIndexPopup,\n dropdownArrowDistance,\n sizePopupArrow,\n antCls,\n iconCls,\n motionDurationMid,\n dropdownPaddingVertical,\n fontSize,\n dropdownEdgeChildPadding,\n colorTextDisabled,\n fontSizeIcon,\n controlPaddingHorizontal,\n colorBgElevated\n } = token;\n return [{\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'absolute',\n top: -9999,\n left: {\n _skip_check_: true,\n value: -9999\n },\n zIndex: zIndexPopup,\n display: 'block',\n // A placeholder out of dropdown visible range to avoid close when user moving\n '&::before': {\n position: 'absolute',\n insetBlock: -dropdownArrowDistance + sizePopupArrow / 2,\n // insetInlineStart: -7, // FIXME: Seems not work for hidden element\n zIndex: -9999,\n opacity: 0.0001,\n content: '\"\"'\n },\n [`&-trigger${antCls}-btn`]: {\n [`& > ${iconCls}-down, & > ${antCls}-btn-icon > ${iconCls}-down`]: {\n fontSize: fontSizeIcon\n }\n },\n [`${componentCls}-wrap`]: {\n position: 'relative',\n [`${antCls}-btn > ${iconCls}-down`]: {\n fontSize: fontSizeIcon\n },\n [`${iconCls}-down::before`]: {\n transition: `transform ${motionDurationMid}`\n }\n },\n [`${componentCls}-wrap-open`]: {\n [`${iconCls}-down::before`]: {\n transform: `rotate(180deg)`\n }\n },\n [`\n &-hidden,\n &-menu-hidden,\n &-menu-submenu-hidden\n `]: {\n display: 'none'\n },\n // =============================================================\n // == Motion ==\n // =============================================================\n // When position is not enough for dropdown, the placement will revert.\n // We will handle this with revert motion name.\n [`&${antCls}-slide-down-enter${antCls}-slide-down-enter-active${componentCls}-placement-bottomLeft,\n &${antCls}-slide-down-appear${antCls}-slide-down-appear-active${componentCls}-placement-bottomLeft,\n &${antCls}-slide-down-enter${antCls}-slide-down-enter-active${componentCls}-placement-bottom,\n &${antCls}-slide-down-appear${antCls}-slide-down-appear-active${componentCls}-placement-bottom,\n &${antCls}-slide-down-enter${antCls}-slide-down-enter-active${componentCls}-placement-bottomRight,\n &${antCls}-slide-down-appear${antCls}-slide-down-appear-active${componentCls}-placement-bottomRight`]: {\n animationName: slideUpIn\n },\n [`&${antCls}-slide-up-enter${antCls}-slide-up-enter-active${componentCls}-placement-topLeft,\n &${antCls}-slide-up-appear${antCls}-slide-up-appear-active${componentCls}-placement-topLeft,\n &${antCls}-slide-up-enter${antCls}-slide-up-enter-active${componentCls}-placement-top,\n &${antCls}-slide-up-appear${antCls}-slide-up-appear-active${componentCls}-placement-top,\n &${antCls}-slide-up-enter${antCls}-slide-up-enter-active${componentCls}-placement-topRight,\n &${antCls}-slide-up-appear${antCls}-slide-up-appear-active${componentCls}-placement-topRight`]: {\n animationName: slideDownIn\n },\n [`&${antCls}-slide-down-leave${antCls}-slide-down-leave-active${componentCls}-placement-bottomLeft,\n &${antCls}-slide-down-leave${antCls}-slide-down-leave-active${componentCls}-placement-bottom,\n &${antCls}-slide-down-leave${antCls}-slide-down-leave-active${componentCls}-placement-bottomRight`]: {\n animationName: slideUpOut\n },\n [`&${antCls}-slide-up-leave${antCls}-slide-up-leave-active${componentCls}-placement-topLeft,\n &${antCls}-slide-up-leave${antCls}-slide-up-leave-active${componentCls}-placement-top,\n &${antCls}-slide-up-leave${antCls}-slide-up-leave-active${componentCls}-placement-topRight`]: {\n animationName: slideDownOut\n }\n })\n },\n // =============================================================\n // == Arrow style ==\n // =============================================================\n getArrowStyle(token, {\n colorBg: colorBgElevated,\n limitVerticalRadius: true,\n arrowPlacement: {\n top: true,\n bottom: true\n }\n }), {\n // =============================================================\n // == Menu ==\n // =============================================================\n [`${componentCls} ${menuCls}`]: {\n position: 'relative',\n margin: 0\n },\n [`${menuCls}-submenu-popup`]: {\n position: 'absolute',\n zIndex: zIndexPopup,\n background: 'transparent',\n boxShadow: 'none',\n transformOrigin: '0 0',\n 'ul, li': {\n listStyle: 'none',\n margin: 0\n }\n },\n [`${componentCls}, ${componentCls}-menu-submenu`]: {\n [menuCls]: Object.assign(Object.assign({\n padding: dropdownEdgeChildPadding,\n listStyleType: 'none',\n backgroundColor: colorBgElevated,\n backgroundClip: 'padding-box',\n borderRadius: token.borderRadiusLG,\n outline: 'none',\n boxShadow: token.boxShadowSecondary\n }, genFocusStyle(token)), {\n [`${menuCls}-item-group-title`]: {\n padding: `${dropdownPaddingVertical}px ${controlPaddingHorizontal}px`,\n color: token.colorTextDescription,\n transition: `all ${motionDurationMid}`\n },\n // ======================= Item Content =======================\n [`${menuCls}-item`]: {\n position: 'relative',\n display: 'flex',\n alignItems: 'center'\n },\n [`${menuCls}-item-icon`]: {\n minWidth: fontSize,\n marginInlineEnd: token.marginXS,\n fontSize: token.fontSizeSM\n },\n [`${menuCls}-title-content`]: {\n flex: 'auto',\n '> a': {\n color: 'inherit',\n transition: `all ${motionDurationMid}`,\n '&:hover': {\n color: 'inherit'\n },\n '&::after': {\n position: 'absolute',\n inset: 0,\n content: '\"\"'\n }\n }\n },\n // =========================== Item ===========================\n [`${menuCls}-item, ${menuCls}-submenu-title`]: Object.assign(Object.assign({\n clear: 'both',\n margin: 0,\n padding: `${dropdownPaddingVertical}px ${controlPaddingHorizontal}px`,\n color: token.colorText,\n fontWeight: 'normal',\n fontSize,\n lineHeight: token.lineHeight,\n cursor: 'pointer',\n transition: `all ${motionDurationMid}`,\n borderRadius: token.borderRadiusSM,\n [`&:hover, &-active`]: {\n backgroundColor: token.controlItemBgHover\n }\n }, genFocusStyle(token)), {\n '&-selected': {\n color: token.colorPrimary,\n backgroundColor: token.controlItemBgActive,\n '&:hover, &-active': {\n backgroundColor: token.controlItemBgActiveHover\n }\n },\n '&-disabled': {\n color: colorTextDisabled,\n cursor: 'not-allowed',\n '&:hover': {\n color: colorTextDisabled,\n backgroundColor: colorBgElevated,\n cursor: 'not-allowed'\n },\n a: {\n pointerEvents: 'none'\n }\n },\n '&-divider': {\n height: 1,\n margin: `${token.marginXXS}px 0`,\n overflow: 'hidden',\n lineHeight: 0,\n backgroundColor: token.colorSplit\n },\n [`${componentCls}-menu-submenu-expand-icon`]: {\n position: 'absolute',\n insetInlineEnd: token.paddingXS,\n [`${componentCls}-menu-submenu-arrow-icon`]: {\n marginInlineEnd: '0 !important',\n color: token.colorTextDescription,\n fontSize: fontSizeIcon,\n fontStyle: 'normal'\n }\n }\n }),\n [`${menuCls}-item-group-list`]: {\n margin: `0 ${token.marginXS}px`,\n padding: 0,\n listStyle: 'none'\n },\n [`${menuCls}-submenu-title`]: {\n paddingInlineEnd: controlPaddingHorizontal + token.fontSizeSM\n },\n [`${menuCls}-submenu-vertical`]: {\n position: 'relative'\n },\n [`${menuCls}-submenu${menuCls}-submenu-disabled ${componentCls}-menu-submenu-title`]: {\n [`&, ${componentCls}-menu-submenu-arrow-icon`]: {\n color: colorTextDisabled,\n backgroundColor: colorBgElevated,\n cursor: 'not-allowed'\n }\n },\n // https://github.com/ant-design/ant-design/issues/19264\n [`${menuCls}-submenu-selected ${componentCls}-menu-submenu-title`]: {\n color: token.colorPrimary\n }\n })\n }\n },\n // Follow code may reuse in other components\n [initSlideMotion(token, 'slide-up'), initSlideMotion(token, 'slide-down'), initMoveMotion(token, 'move-up'), initMoveMotion(token, 'move-down'), initZoomMotion(token, 'zoom-big')]];\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Dropdown', (token, _ref) => {\n let {\n rootPrefixCls\n } = _ref;\n const {\n marginXXS,\n sizePopupArrow,\n controlHeight,\n fontSize,\n lineHeight,\n paddingXXS,\n componentCls,\n borderRadiusLG\n } = token;\n const dropdownPaddingVertical = (controlHeight - fontSize * lineHeight) / 2;\n const {\n dropdownArrowOffset\n } = getArrowOffset({\n contentRadius: borderRadiusLG\n });\n const dropdownToken = mergeToken(token, {\n menuCls: `${componentCls}-menu`,\n rootPrefixCls,\n dropdownArrowDistance: sizePopupArrow / 2 + marginXXS,\n dropdownArrowOffset,\n dropdownPaddingVertical,\n dropdownEdgeChildPadding: paddingXXS\n });\n return [genBaseStyle(dropdownToken), genStatusStyle(dropdownToken)];\n}, token => ({\n zIndexPopup: token.zIndexPopupBase + 50\n}));","import { TinyColor } from '@ctrl/tinycolor';\nimport * as React from 'react';\nimport { useToken } from '../theme/internal';\nconst Empty = () => {\n const [, token] = useToken();\n const bgColor = new TinyColor(token.colorBgBase);\n // Dark Theme need more dark of this\n const themeStyle = bgColor.toHsl().l < 0.5 ? {\n opacity: 0.65\n } : {};\n return /*#__PURE__*/React.createElement(\"svg\", {\n style: themeStyle,\n width: \"184\",\n height: \"152\",\n viewBox: \"0 0 184 152\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(24 31.67)\"\n }, /*#__PURE__*/React.createElement(\"ellipse\", {\n fillOpacity: \".8\",\n fill: \"#F5F5F7\",\n cx: \"67.797\",\n cy: \"106.89\",\n rx: \"67.797\",\n ry: \"12.668\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z\",\n fill: \"#AEB8C2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z\",\n fill: \"url(#linearGradient-1)\",\n transform: \"translate(13.56)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z\",\n fill: \"#F5F5F7\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z\",\n fill: \"#DCE0E6\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z\",\n fill: \"#DCE0E6\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(149.65 15.383)\",\n fill: \"#FFF\"\n }, /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: \"20.654\",\n cy: \"3.167\",\n rx: \"2.849\",\n ry: \"2.815\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z\"\n }))));\n};\nif (process.env.NODE_ENV !== 'production') {\n Empty.displayName = 'EmptyImage';\n}\nexport default Empty;","import { TinyColor } from '@ctrl/tinycolor';\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport { useToken } from '../theme/internal';\nconst Simple = () => {\n const [, token] = useToken();\n const {\n colorFill,\n colorFillTertiary,\n colorFillQuaternary,\n colorBgContainer\n } = token;\n const {\n borderColor,\n shadowColor,\n contentColor\n } = useMemo(() => ({\n borderColor: new TinyColor(colorFill).onBackground(colorBgContainer).toHexShortString(),\n shadowColor: new TinyColor(colorFillTertiary).onBackground(colorBgContainer).toHexShortString(),\n contentColor: new TinyColor(colorFillQuaternary).onBackground(colorBgContainer).toHexShortString()\n }), [colorFill, colorFillTertiary, colorFillQuaternary, colorBgContainer]);\n return /*#__PURE__*/React.createElement(\"svg\", {\n width: \"64\",\n height: \"41\",\n viewBox: \"0 0 64 41\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 1)\",\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"ellipse\", {\n fill: shadowColor,\n cx: \"32\",\n cy: \"33\",\n rx: \"32\",\n ry: \"7\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n fillRule: \"nonzero\",\n stroke: borderColor\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z\",\n fill: contentColor\n }))));\n};\nif (process.env.NODE_ENV !== 'production') {\n Simple.displayName = 'SimpleImage';\n}\nexport default Simple;","import { genComponentStyleHook, mergeToken } from '../../theme/internal';\n// ============================== Shared ==============================\nconst genSharedEmptyStyle = token => {\n const {\n componentCls,\n margin,\n marginXS,\n marginXL,\n fontSize,\n lineHeight\n } = token;\n return {\n [componentCls]: {\n marginInline: marginXS,\n fontSize,\n lineHeight,\n textAlign: 'center',\n // 原来 &-image 没有父子结构,现在为了外层承担我们的hashId,改成父子结果\n [`${componentCls}-image`]: {\n height: token.emptyImgHeight,\n marginBottom: marginXS,\n opacity: token.opacityImage,\n img: {\n height: '100%'\n },\n svg: {\n maxWidth: '100%',\n height: '100%',\n margin: 'auto'\n }\n },\n [`${componentCls}-description`]: {\n color: token.colorText\n },\n // 原来 &-footer 没有父子结构,现在为了外层承担我们的hashId,改成父子结果\n [`${componentCls}-footer`]: {\n marginTop: margin\n },\n '&-normal': {\n marginBlock: marginXL,\n color: token.colorTextDisabled,\n [`${componentCls}-description`]: {\n color: token.colorTextDisabled\n },\n [`${componentCls}-image`]: {\n height: token.emptyImgHeightMD\n }\n },\n '&-small': {\n marginBlock: marginXS,\n color: token.colorTextDisabled,\n [`${componentCls}-image`]: {\n height: token.emptyImgHeightSM\n }\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Empty', token => {\n const {\n componentCls,\n controlHeightLG\n } = token;\n const emptyToken = mergeToken(token, {\n emptyImgCls: `${componentCls}-img`,\n emptyImgHeight: controlHeightLG * 2.5,\n emptyImgHeightMD: controlHeightLG,\n emptyImgHeightSM: controlHeightLG * 0.875\n });\n return [genSharedEmptyStyle(emptyToken)];\n});","'use client';\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport { useLocale } from '../locale';\nimport DefaultEmptyImg from './empty';\nimport SimpleEmptyImg from './simple';\nimport useStyle from './style';\nconst defaultEmptyImg = /*#__PURE__*/React.createElement(DefaultEmptyImg, null);\nconst simpleEmptyImg = /*#__PURE__*/React.createElement(SimpleEmptyImg, null);\nconst Empty = _a => {\n var {\n className,\n rootClassName,\n prefixCls: customizePrefixCls,\n image = defaultEmptyImg,\n description,\n children,\n imageStyle,\n style\n } = _a,\n restProps = __rest(_a, [\"className\", \"rootClassName\", \"prefixCls\", \"image\", \"description\", \"children\", \"imageStyle\", \"style\"]);\n const {\n getPrefixCls,\n direction,\n empty\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('empty', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const [locale] = useLocale('Empty');\n const des = typeof description !== 'undefined' ? description : locale === null || locale === void 0 ? void 0 : locale.description;\n const alt = typeof des === 'string' ? des : 'empty';\n let imageNode = null;\n if (typeof image === 'string') {\n imageNode = /*#__PURE__*/React.createElement(\"img\", {\n alt: alt,\n src: image\n });\n } else {\n imageNode = image;\n }\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", Object.assign({\n className: classNames(hashId, prefixCls, empty === null || empty === void 0 ? void 0 : empty.className, {\n [`${prefixCls}-normal`]: image === simpleEmptyImg,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, className, rootClassName),\n style: Object.assign(Object.assign({}, empty === null || empty === void 0 ? void 0 : empty.style), style)\n }, restProps), /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-image`,\n style: imageStyle\n }, imageNode), des && /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-description`\n }, des), children && /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-footer`\n }, children)));\n};\nEmpty.PRESENTED_IMAGE_DEFAULT = defaultEmptyImg;\nEmpty.PRESENTED_IMAGE_SIMPLE = simpleEmptyImg;\nif (process.env.NODE_ENV !== 'production') {\n Empty.displayName = 'Empty';\n}\nexport default Empty;","import { FormProvider as RcFormProvider } from 'rc-field-form';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nexport const FormContext = /*#__PURE__*/React.createContext({\n labelAlign: 'right',\n vertical: false,\n itemRef: () => {}\n});\nexport const NoStyleItemContext = /*#__PURE__*/React.createContext(null);\nexport const FormProvider = props => {\n const providerProps = omit(props, ['prefixCls']);\n return /*#__PURE__*/React.createElement(RcFormProvider, Object.assign({}, providerProps));\n};\nexport const FormItemPrefixContext = /*#__PURE__*/React.createContext({\n prefixCls: ''\n});\nexport const FormItemInputContext = /*#__PURE__*/React.createContext({});\nexport const NoFormStyle = _ref => {\n let {\n children,\n status,\n override\n } = _ref;\n const formItemInputContext = useContext(FormItemInputContext);\n const newFormItemInputContext = useMemo(() => {\n const newContext = Object.assign({}, formItemInputContext);\n if (override) {\n delete newContext.isFormItemInput;\n }\n if (status) {\n delete newContext.status;\n delete newContext.hasFeedback;\n delete newContext.feedbackIcon;\n }\n return newContext;\n }, [status, override, formItemInputContext]);\n return /*#__PURE__*/React.createElement(FormItemInputContext.Provider, {\n value: newFormItemInputContext\n }, children);\n};","import * as React from 'react';\nexport default function useDebounce(value) {\n const [cacheValue, setCacheValue] = React.useState(value);\n React.useEffect(() => {\n const timeout = setTimeout(() => {\n setCacheValue(value);\n }, value.length ? 0 : 10);\n return () => {\n clearTimeout(timeout);\n };\n }, [value]);\n return cacheValue;\n}","const genFormValidateMotionStyle = token => {\n const {\n componentCls\n } = token;\n const helpCls = `${componentCls}-show-help`;\n const helpItemCls = `${componentCls}-show-help-item`;\n return {\n [helpCls]: {\n // Explain holder\n transition: `opacity ${token.motionDurationSlow} ${token.motionEaseInOut}`,\n '&-appear, &-enter': {\n opacity: 0,\n '&-active': {\n opacity: 1\n }\n },\n '&-leave': {\n opacity: 1,\n '&-active': {\n opacity: 0\n }\n },\n // Explain\n [helpItemCls]: {\n overflow: 'hidden',\n transition: `height ${token.motionDurationSlow} ${token.motionEaseInOut},\n opacity ${token.motionDurationSlow} ${token.motionEaseInOut},\n transform ${token.motionDurationSlow} ${token.motionEaseInOut} !important`,\n [`&${helpItemCls}-appear, &${helpItemCls}-enter`]: {\n transform: `translateY(-5px)`,\n opacity: 0,\n [`&-active`]: {\n transform: 'translateY(0)',\n opacity: 1\n }\n },\n [`&${helpItemCls}-leave-active`]: {\n transform: `translateY(-5px)`\n }\n }\n }\n };\n};\nexport default genFormValidateMotionStyle;","import { resetComponent } from '../../style';\nimport { genCollapseMotion, zoomIn } from '../../style/motion';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport genFormValidateMotionStyle from './explain';\nconst resetForm = token => ({\n legend: {\n display: 'block',\n width: '100%',\n marginBottom: token.marginLG,\n padding: 0,\n color: token.colorTextDescription,\n fontSize: token.fontSizeLG,\n lineHeight: 'inherit',\n border: 0,\n borderBottom: `${token.lineWidth}px ${token.lineType} ${token.colorBorder}`\n },\n label: {\n fontSize: token.fontSize\n },\n 'input[type=\"search\"]': {\n boxSizing: 'border-box'\n },\n // Position radios and checkboxes better\n 'input[type=\"radio\"], input[type=\"checkbox\"]': {\n lineHeight: 'normal'\n },\n 'input[type=\"file\"]': {\n display: 'block'\n },\n // Make range inputs behave like textual form controls\n 'input[type=\"range\"]': {\n display: 'block',\n width: '100%'\n },\n // Make multiple select elements height not fixed\n 'select[multiple], select[size]': {\n height: 'auto'\n },\n // Focus for file, radio, and checkbox\n [`input[type='file']:focus,\n input[type='radio']:focus,\n input[type='checkbox']:focus`]: {\n outline: 0,\n boxShadow: `0 0 0 ${token.controlOutlineWidth}px ${token.controlOutline}`\n },\n // Adjust output element\n output: {\n display: 'block',\n paddingTop: 15,\n color: token.colorText,\n fontSize: token.fontSize,\n lineHeight: token.lineHeight\n }\n});\nconst genFormSize = (token, height) => {\n const {\n formItemCls\n } = token;\n return {\n [formItemCls]: {\n [`${formItemCls}-label > label`]: {\n height\n },\n [`${formItemCls}-control-input`]: {\n minHeight: height\n }\n }\n };\n};\nconst genFormStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [token.componentCls]: Object.assign(Object.assign(Object.assign({}, resetComponent(token)), resetForm(token)), {\n [`${componentCls}-text`]: {\n display: 'inline-block',\n paddingInlineEnd: token.paddingSM\n },\n // ================================================================\n // = Size =\n // ================================================================\n '&-small': Object.assign({}, genFormSize(token, token.controlHeightSM)),\n '&-large': Object.assign({}, genFormSize(token, token.controlHeightLG))\n })\n };\n};\nconst genFormItemStyle = token => {\n const {\n formItemCls,\n iconCls,\n componentCls,\n rootPrefixCls\n } = token;\n return {\n [formItemCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n marginBottom: token.marginLG,\n verticalAlign: 'top',\n '&-with-help': {\n transition: 'none'\n },\n [`&-hidden,\n &-hidden.${rootPrefixCls}-row`]: {\n // https://github.com/ant-design/ant-design/issues/26141\n display: 'none'\n },\n '&-has-warning': {\n [`${formItemCls}-split`]: {\n color: token.colorError\n }\n },\n '&-has-error': {\n [`${formItemCls}-split`]: {\n color: token.colorWarning\n }\n },\n // ==============================================================\n // = Label =\n // ==============================================================\n [`${formItemCls}-label`]: {\n display: 'inline-block',\n flexGrow: 0,\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textAlign: 'end',\n verticalAlign: 'middle',\n '&-left': {\n textAlign: 'start'\n },\n '&-wrap': {\n overflow: 'unset',\n lineHeight: `${token.lineHeight} - 0.25em`,\n whiteSpace: 'unset'\n },\n '> label': {\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n maxWidth: '100%',\n height: token.controlHeight,\n color: token.colorTextHeading,\n fontSize: token.fontSize,\n [`> ${iconCls}`]: {\n fontSize: token.fontSize,\n verticalAlign: 'top'\n },\n // Required mark\n [`&${formItemCls}-required:not(${formItemCls}-required-mark-optional)::before`]: {\n display: 'inline-block',\n marginInlineEnd: token.marginXXS,\n color: token.colorError,\n fontSize: token.fontSize,\n fontFamily: 'SimSun, sans-serif',\n lineHeight: 1,\n content: '\"*\"',\n [`${componentCls}-hide-required-mark &`]: {\n display: 'none'\n }\n },\n // Optional mark\n [`${formItemCls}-optional`]: {\n display: 'inline-block',\n marginInlineStart: token.marginXXS,\n color: token.colorTextDescription,\n [`${componentCls}-hide-required-mark &`]: {\n display: 'none'\n }\n },\n // Optional mark\n [`${formItemCls}-tooltip`]: {\n color: token.colorTextDescription,\n cursor: 'help',\n writingMode: 'horizontal-tb',\n marginInlineStart: token.marginXXS\n },\n '&::after': {\n content: '\":\"',\n position: 'relative',\n marginBlock: 0,\n marginInlineStart: token.marginXXS / 2,\n marginInlineEnd: token.marginXS\n },\n [`&${formItemCls}-no-colon::after`]: {\n content: '\"\\\\a0\"'\n }\n }\n },\n // ==============================================================\n // = Input =\n // ==============================================================\n [`${formItemCls}-control`]: {\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n [`&:first-child:not([class^=\"'${rootPrefixCls}-col-'\"]):not([class*=\"' ${rootPrefixCls}-col-'\"])`]: {\n width: '100%'\n },\n '&-input': {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n minHeight: token.controlHeight,\n '&-content': {\n flex: 'auto',\n maxWidth: '100%'\n }\n }\n },\n // ==============================================================\n // = Explain =\n // ==============================================================\n [formItemCls]: {\n '&-explain, &-extra': {\n clear: 'both',\n color: token.colorTextDescription,\n fontSize: token.fontSize,\n lineHeight: token.lineHeight\n },\n '&-explain-connected': {\n width: '100%'\n },\n '&-extra': {\n minHeight: token.controlHeightSM,\n transition: `color ${token.motionDurationMid} ${token.motionEaseOut}` // sync input color transition\n },\n\n '&-explain': {\n '&-error': {\n color: token.colorError\n },\n '&-warning': {\n color: token.colorWarning\n }\n }\n },\n [`&-with-help ${formItemCls}-explain`]: {\n height: 'auto',\n opacity: 1\n },\n // ==============================================================\n // = Feedback Icon =\n // ==============================================================\n [`${formItemCls}-feedback-icon`]: {\n fontSize: token.fontSize,\n textAlign: 'center',\n visibility: 'visible',\n animationName: zoomIn,\n animationDuration: token.motionDurationMid,\n animationTimingFunction: token.motionEaseOutBack,\n pointerEvents: 'none',\n '&-success': {\n color: token.colorSuccess\n },\n '&-error': {\n color: token.colorError\n },\n '&-warning': {\n color: token.colorWarning\n },\n '&-validating': {\n color: token.colorPrimary\n }\n }\n })\n };\n};\nconst genHorizontalStyle = token => {\n const {\n componentCls,\n formItemCls,\n rootPrefixCls\n } = token;\n return {\n [`${componentCls}-horizontal`]: {\n [`${formItemCls}-label`]: {\n flexGrow: 0\n },\n [`${formItemCls}-control`]: {\n flex: '1 1 0',\n // https://github.com/ant-design/ant-design/issues/32777\n // https://github.com/ant-design/ant-design/issues/33773\n minWidth: 0\n },\n // https://github.com/ant-design/ant-design/issues/32980\n [`${formItemCls}-label.${rootPrefixCls}-col-24 + ${formItemCls}-control`]: {\n minWidth: 'unset'\n }\n }\n };\n};\nconst genInlineStyle = token => {\n const {\n componentCls,\n formItemCls\n } = token;\n return {\n [`${componentCls}-inline`]: {\n display: 'flex',\n flexWrap: 'wrap',\n [formItemCls]: {\n flex: 'none',\n marginInlineEnd: token.margin,\n marginBottom: 0,\n '&-row': {\n flexWrap: 'nowrap'\n },\n [`> ${formItemCls}-label,\n > ${formItemCls}-control`]: {\n display: 'inline-block',\n verticalAlign: 'top'\n },\n [`> ${formItemCls}-label`]: {\n flex: 'none'\n },\n [`${componentCls}-text`]: {\n display: 'inline-block'\n },\n [`${formItemCls}-has-feedback`]: {\n display: 'inline-block'\n }\n }\n }\n };\n};\nconst makeVerticalLayoutLabel = token => ({\n padding: `0 0 ${token.paddingXS}px`,\n whiteSpace: 'initial',\n textAlign: 'start',\n '> label': {\n margin: 0,\n '&::after': {\n // https://github.com/ant-design/ant-design/issues/43538\n visibility: 'hidden'\n }\n }\n});\nconst makeVerticalLayout = token => {\n const {\n componentCls,\n formItemCls,\n rootPrefixCls\n } = token;\n return {\n [`${formItemCls} ${formItemCls}-label`]: makeVerticalLayoutLabel(token),\n [componentCls]: {\n [formItemCls]: {\n flexWrap: 'wrap',\n [`${formItemCls}-label, ${formItemCls}-control`]: {\n // When developer pass `xs: { span }`,\n // It should follow the `xs` screen config\n // ref: https://github.com/ant-design/ant-design/issues/44386\n [`&:not([class*=\" ${rootPrefixCls}-col-xs\"])`]: {\n flex: '0 0 100%',\n maxWidth: '100%'\n }\n }\n }\n }\n };\n};\nconst genVerticalStyle = token => {\n const {\n componentCls,\n formItemCls,\n rootPrefixCls\n } = token;\n return {\n [`${componentCls}-vertical`]: {\n [formItemCls]: {\n '&-row': {\n flexDirection: 'column'\n },\n '&-label > label': {\n height: 'auto'\n },\n [`${componentCls}-item-control`]: {\n width: '100%'\n }\n }\n },\n [`${componentCls}-vertical ${formItemCls}-label,\n .${rootPrefixCls}-col-24${formItemCls}-label,\n .${rootPrefixCls}-col-xl-24${formItemCls}-label`]: makeVerticalLayoutLabel(token),\n [`@media (max-width: ${token.screenXSMax}px)`]: [makeVerticalLayout(token), {\n [componentCls]: {\n [`.${rootPrefixCls}-col-xs-24${formItemCls}-label`]: makeVerticalLayoutLabel(token)\n }\n }],\n [`@media (max-width: ${token.screenSMMax}px)`]: {\n [componentCls]: {\n [`.${rootPrefixCls}-col-sm-24${formItemCls}-label`]: makeVerticalLayoutLabel(token)\n }\n },\n [`@media (max-width: ${token.screenMDMax}px)`]: {\n [componentCls]: {\n [`.${rootPrefixCls}-col-md-24${formItemCls}-label`]: makeVerticalLayoutLabel(token)\n }\n },\n [`@media (max-width: ${token.screenLGMax}px)`]: {\n [componentCls]: {\n [`.${rootPrefixCls}-col-lg-24${formItemCls}-label`]: makeVerticalLayoutLabel(token)\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Form', (token, _ref) => {\n let {\n rootPrefixCls\n } = _ref;\n const formToken = mergeToken(token, {\n formItemCls: `${token.componentCls}-item`,\n rootPrefixCls\n });\n return [genFormStyle(formToken), genFormItemStyle(formToken), genFormValidateMotionStyle(formToken), genHorizontalStyle(formToken), genInlineStyle(formToken), genVerticalStyle(formToken), genCollapseMotion(formToken), zoomIn];\n});","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport classNames from 'classnames';\nimport CSSMotion, { CSSMotionList } from 'rc-motion';\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport initCollapseMotion from '../_util/motion';\nimport { FormItemPrefixContext } from './context';\nimport useDebounce from './hooks/useDebounce';\nimport useStyle from './style';\nconst EMPTY_LIST = [];\nfunction toErrorEntity(error, prefix, errorStatus) {\n let index = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n return {\n key: typeof error === 'string' ? error : `${prefix}-${index}`,\n error,\n errorStatus\n };\n}\nconst ErrorList = _ref => {\n let {\n help,\n helpStatus,\n errors = EMPTY_LIST,\n warnings = EMPTY_LIST,\n className: rootClassName,\n fieldId,\n onVisibleChanged\n } = _ref;\n const {\n prefixCls\n } = React.useContext(FormItemPrefixContext);\n const baseClassName = `${prefixCls}-item-explain`;\n const [, hashId] = useStyle(prefixCls);\n const collapseMotion = useMemo(() => initCollapseMotion(prefixCls), [prefixCls]);\n // We have to debounce here again since somewhere use ErrorList directly still need no shaking\n // ref: https://github.com/ant-design/ant-design/issues/36336\n const debounceErrors = useDebounce(errors);\n const debounceWarnings = useDebounce(warnings);\n const fullKeyList = React.useMemo(() => {\n if (help !== undefined && help !== null) {\n return [toErrorEntity(help, 'help', helpStatus)];\n }\n return [].concat(_toConsumableArray(debounceErrors.map((error, index) => toErrorEntity(error, 'error', 'error', index))), _toConsumableArray(debounceWarnings.map((warning, index) => toErrorEntity(warning, 'warning', 'warning', index))));\n }, [help, helpStatus, debounceErrors, debounceWarnings]);\n const helpProps = {};\n if (fieldId) {\n helpProps.id = `${fieldId}_help`;\n }\n return /*#__PURE__*/React.createElement(CSSMotion, {\n motionDeadline: collapseMotion.motionDeadline,\n motionName: `${prefixCls}-show-help`,\n visible: !!fullKeyList.length,\n onVisibleChanged: onVisibleChanged\n }, holderProps => {\n const {\n className: holderClassName,\n style: holderStyle\n } = holderProps;\n return /*#__PURE__*/React.createElement(\"div\", Object.assign({}, helpProps, {\n className: classNames(baseClassName, holderClassName, rootClassName, hashId),\n style: holderStyle,\n role: \"alert\"\n }), /*#__PURE__*/React.createElement(CSSMotionList, Object.assign({\n keys: fullKeyList\n }, initCollapseMotion(prefixCls), {\n motionName: `${prefixCls}-show-help-item`,\n component: false\n }), itemProps => {\n const {\n key,\n error,\n errorStatus,\n className: itemClassName,\n style: itemStyle\n } = itemProps;\n return /*#__PURE__*/React.createElement(\"div\", {\n key: key,\n className: classNames(itemClassName, {\n [`${baseClassName}-${errorStatus}`]: errorStatus\n }),\n style: itemStyle\n }, error);\n }));\n });\n};\nexport default ErrorList;","// form item name black list. in form ,you can use form.id get the form item element.\n// use object hasOwnProperty will get better performance if black list is longer.\nconst formItemNameBlackList = ['parentNode'];\n// default form item id prefix.\nconst defaultItemNamePrefixCls = 'form_item';\nexport function toArray(candidate) {\n if (candidate === undefined || candidate === false) return [];\n return Array.isArray(candidate) ? candidate : [candidate];\n}\nexport function getFieldId(namePath, formName) {\n if (!namePath.length) {\n return undefined;\n }\n const mergedId = namePath.join('_');\n if (formName) {\n return `${formName}_${mergedId}`;\n }\n const isIllegalName = formItemNameBlackList.includes(mergedId);\n return isIllegalName ? `${defaultItemNamePrefixCls}_${mergedId}` : mergedId;\n}","import { useForm as useRcForm } from 'rc-field-form';\nimport * as React from 'react';\nimport scrollIntoView from 'scroll-into-view-if-needed';\nimport { getFieldId, toArray } from '../util';\nfunction toNamePathStr(name) {\n const namePath = toArray(name);\n return namePath.join('_');\n}\nexport default function useForm(form) {\n const [rcForm] = useRcForm();\n const itemsRef = React.useRef({});\n const wrapForm = React.useMemo(() => form !== null && form !== void 0 ? form : Object.assign(Object.assign({}, rcForm), {\n __INTERNAL__: {\n itemRef: name => node => {\n const namePathStr = toNamePathStr(name);\n if (node) {\n itemsRef.current[namePathStr] = node;\n } else {\n delete itemsRef.current[namePathStr];\n }\n }\n },\n scrollToField: function (name) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const namePath = toArray(name);\n const fieldId = getFieldId(namePath, wrapForm.__INTERNAL__.name);\n const node = fieldId ? document.getElementById(fieldId) : null;\n if (node) {\n scrollIntoView(node, Object.assign({\n scrollMode: 'if-needed',\n block: 'nearest'\n }, options));\n }\n },\n getFieldInstance: name => {\n const namePathStr = toNamePathStr(name);\n return itemsRef.current[namePathStr];\n }\n }), [form, rcForm]);\n return [wrapForm];\n}","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport FieldForm, { List, useWatch } from 'rc-field-form';\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext, { DisabledContextProvider } from '../config-provider/DisabledContext';\nimport { SizeContextProvider } from '../config-provider/SizeContext';\nimport useSize from '../config-provider/hooks/useSize';\nimport { FormContext, FormProvider } from './context';\nimport useForm from './hooks/useForm';\nimport useFormWarning from './hooks/useFormWarning';\nimport useStyle from './style';\nimport ValidateMessagesContext from './validateMessagesContext';\nconst InternalForm = (props, ref) => {\n const contextDisabled = React.useContext(DisabledContext);\n const {\n getPrefixCls,\n direction,\n form: contextForm\n } = React.useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n size,\n disabled = contextDisabled,\n form,\n colon,\n labelAlign,\n labelWrap,\n labelCol,\n wrapperCol,\n hideRequiredMark,\n layout = 'horizontal',\n scrollToFirstError,\n requiredMark,\n onFinishFailed,\n name,\n style\n } = props,\n restFormProps = __rest(props, [\"prefixCls\", \"className\", \"rootClassName\", \"size\", \"disabled\", \"form\", \"colon\", \"labelAlign\", \"labelWrap\", \"labelCol\", \"wrapperCol\", \"hideRequiredMark\", \"layout\", \"scrollToFirstError\", \"requiredMark\", \"onFinishFailed\", \"name\", \"style\"]);\n const mergedSize = useSize(size);\n const contextValidateMessages = React.useContext(ValidateMessagesContext);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useFormWarning(props);\n }\n const mergedRequiredMark = useMemo(() => {\n if (requiredMark !== undefined) {\n return requiredMark;\n }\n if (contextForm && contextForm.requiredMark !== undefined) {\n return contextForm.requiredMark;\n }\n if (hideRequiredMark) {\n return false;\n }\n return true;\n }, [hideRequiredMark, requiredMark, contextForm]);\n const mergedColon = colon !== null && colon !== void 0 ? colon : contextForm === null || contextForm === void 0 ? void 0 : contextForm.colon;\n const prefixCls = getPrefixCls('form', customizePrefixCls);\n // Style\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const formClassName = classNames(prefixCls, `${prefixCls}-${layout}`, {\n [`${prefixCls}-hide-required-mark`]: mergedRequiredMark === false,\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-${mergedSize}`]: mergedSize\n }, hashId, contextForm === null || contextForm === void 0 ? void 0 : contextForm.className, className, rootClassName);\n const [wrapForm] = useForm(form);\n const {\n __INTERNAL__\n } = wrapForm;\n __INTERNAL__.name = name;\n const formContextValue = useMemo(() => ({\n name,\n labelAlign,\n labelCol,\n labelWrap,\n wrapperCol,\n vertical: layout === 'vertical',\n colon: mergedColon,\n requiredMark: mergedRequiredMark,\n itemRef: __INTERNAL__.itemRef,\n form: wrapForm\n }), [name, labelAlign, labelCol, wrapperCol, layout, mergedColon, mergedRequiredMark, wrapForm]);\n React.useImperativeHandle(ref, () => wrapForm);\n const scrollToField = (options, fieldName) => {\n if (options) {\n let defaultScrollToFirstError = {\n block: 'nearest'\n };\n if (typeof options === 'object') {\n defaultScrollToFirstError = options;\n }\n wrapForm.scrollToField(fieldName, defaultScrollToFirstError);\n }\n };\n const onInternalFinishFailed = errorInfo => {\n onFinishFailed === null || onFinishFailed === void 0 ? void 0 : onFinishFailed(errorInfo);\n if (errorInfo.errorFields.length) {\n const fieldName = errorInfo.errorFields[0].name;\n if (scrollToFirstError !== undefined) {\n scrollToField(scrollToFirstError, fieldName);\n return;\n }\n if (contextForm && contextForm.scrollToFirstError !== undefined) {\n scrollToField(contextForm.scrollToFirstError, fieldName);\n }\n }\n };\n return wrapSSR( /*#__PURE__*/React.createElement(DisabledContextProvider, {\n disabled: disabled\n }, /*#__PURE__*/React.createElement(SizeContextProvider, {\n size: mergedSize\n }, /*#__PURE__*/React.createElement(FormProvider, {\n // This is not list in API, we pass with spread\n validateMessages: contextValidateMessages\n }, /*#__PURE__*/React.createElement(FormContext.Provider, {\n value: formContextValue\n }, /*#__PURE__*/React.createElement(FieldForm, Object.assign({\n id: name\n }, restFormProps, {\n name: name,\n onFinishFailed: onInternalFinishFailed,\n form: wrapForm,\n style: Object.assign(Object.assign({}, contextForm === null || contextForm === void 0 ? void 0 : contextForm.style), style),\n className: formClassName\n })))))));\n};\nconst Form = /*#__PURE__*/React.forwardRef(InternalForm);\nif (process.env.NODE_ENV !== 'production') {\n Form.displayName = 'Form';\n}\nexport { List, useForm, useWatch };\nexport default Form;","import { useContext } from 'react';\nimport { FormItemInputContext } from '../context';\nimport warning from '../../_util/warning';\nconst useFormItemStatus = () => {\n const {\n status,\n errors = [],\n warnings = []\n } = useContext(FormItemInputContext);\n process.env.NODE_ENV !== \"production\" ? warning(status !== undefined, 'Form.Item', 'Form.Item.useStatus should be used under Form.Item component. For more information: https://u.ant.design/form-item-usestatus') : void 0;\n return {\n status,\n errors,\n warnings\n };\n};\n// Only used for compatible package. Not promise this will work on future version.\nuseFormItemStatus.Context = FormItemInputContext;\nexport default useFormItemStatus;","import raf from \"rc-util/es/raf\";\nimport * as React from 'react';\nimport { useRef } from 'react';\nexport default function useFrameState(defaultValue) {\n const [value, setValue] = React.useState(defaultValue);\n const frameRef = useRef(null);\n const batchRef = useRef([]);\n const destroyRef = useRef(false);\n React.useEffect(() => {\n destroyRef.current = false;\n return () => {\n destroyRef.current = true;\n raf.cancel(frameRef.current);\n frameRef.current = null;\n };\n }, []);\n function setFrameValue(updater) {\n if (destroyRef.current) {\n return;\n }\n if (frameRef.current === null) {\n batchRef.current = [];\n frameRef.current = raf(() => {\n frameRef.current = null;\n setValue(prevValue => {\n let current = prevValue;\n batchRef.current.forEach(func => {\n current = func(current);\n });\n return current;\n });\n });\n }\n batchRef.current.push(updater);\n }\n return [value, setFrameValue];\n}","import { composeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { FormContext } from '../context';\nexport default function useItemRef() {\n const {\n itemRef\n } = React.useContext(FormContext);\n const cacheRef = React.useRef({});\n function getRef(name, children) {\n const childrenRef = children && typeof children === 'object' && children.ref;\n const nameStr = name.join('_');\n if (cacheRef.current.name !== nameStr || cacheRef.current.originRef !== childrenRef) {\n cacheRef.current.name = nameStr;\n cacheRef.current.originRef = childrenRef;\n cacheRef.current.ref = composeRef(itemRef(name), childrenRef);\n }\n return cacheRef.current.ref;\n }\n return getRef;\n}","import classNames from 'classnames';\nimport * as React from 'react';\nimport Col from '../grid/col';\nimport { FormContext, FormItemPrefixContext } from './context';\nimport ErrorList from './ErrorList';\nconst FormItemInput = props => {\n const {\n prefixCls,\n status,\n wrapperCol,\n children,\n errors,\n warnings,\n _internalItemRender: formItemRender,\n extra,\n help,\n fieldId,\n marginBottom,\n onErrorVisibleChanged\n } = props;\n const baseClassName = `${prefixCls}-item`;\n const formContext = React.useContext(FormContext);\n const mergedWrapperCol = wrapperCol || formContext.wrapperCol || {};\n const className = classNames(`${baseClassName}-control`, mergedWrapperCol.className);\n // Pass to sub FormItem should not with col info\n const subFormContext = React.useMemo(() => Object.assign({}, formContext), [formContext]);\n delete subFormContext.labelCol;\n delete subFormContext.wrapperCol;\n const inputDom = /*#__PURE__*/React.createElement(\"div\", {\n className: `${baseClassName}-control-input`\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: `${baseClassName}-control-input-content`\n }, children));\n const formItemContext = React.useMemo(() => ({\n prefixCls,\n status\n }), [prefixCls, status]);\n const errorListDom = marginBottom !== null || errors.length || warnings.length ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n display: 'flex',\n flexWrap: 'nowrap'\n }\n }, /*#__PURE__*/React.createElement(FormItemPrefixContext.Provider, {\n value: formItemContext\n }, /*#__PURE__*/React.createElement(ErrorList, {\n fieldId: fieldId,\n errors: errors,\n warnings: warnings,\n help: help,\n helpStatus: status,\n className: `${baseClassName}-explain-connected`,\n onVisibleChanged: onErrorVisibleChanged\n })), !!marginBottom && /*#__PURE__*/React.createElement(\"div\", {\n style: {\n width: 0,\n height: marginBottom\n }\n })) : null;\n const extraProps = {};\n if (fieldId) {\n extraProps.id = `${fieldId}_extra`;\n }\n // If extra = 0, && will goes wrong\n // 0&&error -> 0\n const extraDom = extra ? /*#__PURE__*/React.createElement(\"div\", Object.assign({}, extraProps, {\n className: `${baseClassName}-extra`\n }), extra) : null;\n const dom = formItemRender && formItemRender.mark === 'pro_table_render' && formItemRender.render ? formItemRender.render(props, {\n input: inputDom,\n errorList: errorListDom,\n extra: extraDom\n }) : /*#__PURE__*/React.createElement(React.Fragment, null, inputDom, errorListDom, extraDom);\n return /*#__PURE__*/React.createElement(FormContext.Provider, {\n value: subFormContext\n }, /*#__PURE__*/React.createElement(Col, Object.assign({}, mergedWrapperCol, {\n className: className\n }), dom));\n};\nexport default FormItemInput;","// This icon file is generated automatically.\nvar QuestionCircleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M623.6 316.7C593.6 290.4 554 276 512 276s-81.6 14.5-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56.1 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.1 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0130.9-44.8c59-22.7 97.1-74.7 97.1-132.5.1-39.3-17.1-76-48.3-103.3zM472 732a40 40 0 1080 0 40 40 0 10-80 0z\" } }] }, \"name\": \"question-circle\", \"theme\": \"outlined\" };\nexport default QuestionCircleOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport QuestionCircleOutlinedSvg from \"@ant-design/icons-svg/es/asn/QuestionCircleOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar QuestionCircleOutlined = function QuestionCircleOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: QuestionCircleOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n QuestionCircleOutlined.displayName = 'QuestionCircleOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(QuestionCircleOutlined);","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport QuestionCircleOutlined from \"@ant-design/icons/es/icons/QuestionCircleOutlined\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport Col from '../grid/col';\nimport defaultLocale from '../locale/en_US';\nimport { useLocale } from '../locale';\nimport Tooltip from '../tooltip';\nimport { FormContext } from './context';\nfunction toTooltipProps(tooltip) {\n if (!tooltip) {\n return null;\n }\n if (typeof tooltip === 'object' && ! /*#__PURE__*/React.isValidElement(tooltip)) {\n return tooltip;\n }\n return {\n title: tooltip\n };\n}\nconst FormItemLabel = _ref => {\n let {\n prefixCls,\n label,\n htmlFor,\n labelCol,\n labelAlign,\n colon,\n required,\n requiredMark,\n tooltip\n } = _ref;\n var _a;\n const [formLocale] = useLocale('Form');\n const {\n vertical,\n labelAlign: contextLabelAlign,\n labelCol: contextLabelCol,\n labelWrap,\n colon: contextColon\n } = React.useContext(FormContext);\n if (!label) {\n return null;\n }\n const mergedLabelCol = labelCol || contextLabelCol || {};\n const mergedLabelAlign = labelAlign || contextLabelAlign;\n const labelClsBasic = `${prefixCls}-item-label`;\n const labelColClassName = classNames(labelClsBasic, mergedLabelAlign === 'left' && `${labelClsBasic}-left`, mergedLabelCol.className, {\n [`${labelClsBasic}-wrap`]: !!labelWrap\n });\n let labelChildren = label;\n // Keep label is original where there should have no colon\n const computedColon = colon === true || contextColon !== false && colon !== false;\n const haveColon = computedColon && !vertical;\n // Remove duplicated user input colon\n if (haveColon && typeof label === 'string' && label.trim() !== '') {\n labelChildren = label.replace(/[:|:]\\s*$/, '');\n }\n // Tooltip\n const tooltipProps = toTooltipProps(tooltip);\n if (tooltipProps) {\n const {\n icon = /*#__PURE__*/React.createElement(QuestionCircleOutlined, null)\n } = tooltipProps,\n restTooltipProps = __rest(tooltipProps, [\"icon\"]);\n const tooltipNode = /*#__PURE__*/React.createElement(Tooltip, Object.assign({}, restTooltipProps), /*#__PURE__*/React.cloneElement(icon, {\n className: `${prefixCls}-item-tooltip`,\n title: ''\n }));\n labelChildren = /*#__PURE__*/React.createElement(React.Fragment, null, labelChildren, tooltipNode);\n }\n if (requiredMark === 'optional' && !required) {\n labelChildren = /*#__PURE__*/React.createElement(React.Fragment, null, labelChildren, /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-item-optional`,\n title: \"\"\n }, (formLocale === null || formLocale === void 0 ? void 0 : formLocale.optional) || ((_a = defaultLocale.Form) === null || _a === void 0 ? void 0 : _a.optional)));\n }\n const labelClassName = classNames({\n [`${prefixCls}-item-required`]: required,\n [`${prefixCls}-item-required-mark-optional`]: requiredMark === 'optional',\n [`${prefixCls}-item-no-colon`]: !computedColon\n });\n return /*#__PURE__*/React.createElement(Col, Object.assign({}, mergedLabelCol, {\n className: labelColClassName\n }), /*#__PURE__*/React.createElement(\"label\", {\n htmlFor: htmlFor,\n className: labelClassName,\n title: typeof label === 'string' ? label : ''\n }, labelChildren));\n};\nexport default FormItemLabel;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport CheckCircleFilled from \"@ant-design/icons/es/icons/CheckCircleFilled\";\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport ExclamationCircleFilled from \"@ant-design/icons/es/icons/ExclamationCircleFilled\";\nimport LoadingOutlined from \"@ant-design/icons/es/icons/LoadingOutlined\";\nimport classNames from 'classnames';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { Row } from '../../grid';\nimport FormItemInput from '../FormItemInput';\nimport FormItemLabel from '../FormItemLabel';\nimport { FormContext, FormItemInputContext, NoStyleItemContext } from '../context';\nimport useDebounce from '../hooks/useDebounce';\nconst iconMap = {\n success: CheckCircleFilled,\n warning: ExclamationCircleFilled,\n error: CloseCircleFilled,\n validating: LoadingOutlined\n};\nexport default function ItemHolder(props) {\n const {\n prefixCls,\n className,\n rootClassName,\n style,\n help,\n errors,\n warnings,\n validateStatus,\n meta,\n hasFeedback,\n hidden,\n children,\n fieldId,\n required,\n isRequired,\n onSubItemMetaChange\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"rootClassName\", \"style\", \"help\", \"errors\", \"warnings\", \"validateStatus\", \"meta\", \"hasFeedback\", \"hidden\", \"children\", \"fieldId\", \"required\", \"isRequired\", \"onSubItemMetaChange\"]);\n const itemPrefixCls = `${prefixCls}-item`;\n const {\n requiredMark\n } = React.useContext(FormContext);\n // ======================== Margin ========================\n const itemRef = React.useRef(null);\n const debounceErrors = useDebounce(errors);\n const debounceWarnings = useDebounce(warnings);\n const hasHelp = help !== undefined && help !== null;\n const hasError = !!(hasHelp || errors.length || warnings.length);\n const isOnScreen = !!itemRef.current && isVisible(itemRef.current);\n const [marginBottom, setMarginBottom] = React.useState(null);\n useLayoutEffect(() => {\n if (hasError && itemRef.current) {\n // The element must be part of the DOMTree to use getComputedStyle\n // https://stackoverflow.com/questions/35360711/getcomputedstyle-returns-a-cssstyledeclaration-but-all-properties-are-empty-on-a\n const itemStyle = getComputedStyle(itemRef.current);\n setMarginBottom(parseInt(itemStyle.marginBottom, 10));\n }\n }, [hasError, isOnScreen]);\n const onErrorVisibleChanged = nextVisible => {\n if (!nextVisible) {\n setMarginBottom(null);\n }\n };\n // ======================== Status ========================\n const getValidateState = function () {\n let isDebounce = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n let status = '';\n const _errors = isDebounce ? debounceErrors : meta.errors;\n const _warnings = isDebounce ? debounceWarnings : meta.warnings;\n if (validateStatus !== undefined) {\n status = validateStatus;\n } else if (meta.validating) {\n status = 'validating';\n } else if (_errors.length) {\n status = 'error';\n } else if (_warnings.length) {\n status = 'warning';\n } else if (meta.touched || hasFeedback && meta.validated) {\n // success feedback should display when pass hasFeedback prop and current value is valid value\n status = 'success';\n }\n return status;\n };\n const mergedValidateStatus = getValidateState();\n const formItemStatusContext = React.useMemo(() => {\n let feedbackIcon;\n if (hasFeedback) {\n const IconNode = mergedValidateStatus && iconMap[mergedValidateStatus];\n feedbackIcon = IconNode ? /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(`${itemPrefixCls}-feedback-icon`, `${itemPrefixCls}-feedback-icon-${mergedValidateStatus}`)\n }, /*#__PURE__*/React.createElement(IconNode, null)) : null;\n }\n return {\n status: mergedValidateStatus,\n errors,\n warnings,\n hasFeedback,\n feedbackIcon,\n isFormItemInput: true\n };\n }, [mergedValidateStatus, hasFeedback]);\n // ======================== Render ========================\n const itemClassName = classNames(itemPrefixCls, className, rootClassName, {\n [`${itemPrefixCls}-with-help`]: hasHelp || debounceErrors.length || debounceWarnings.length,\n // Status\n [`${itemPrefixCls}-has-feedback`]: mergedValidateStatus && hasFeedback,\n [`${itemPrefixCls}-has-success`]: mergedValidateStatus === 'success',\n [`${itemPrefixCls}-has-warning`]: mergedValidateStatus === 'warning',\n [`${itemPrefixCls}-has-error`]: mergedValidateStatus === 'error',\n [`${itemPrefixCls}-is-validating`]: mergedValidateStatus === 'validating',\n [`${itemPrefixCls}-hidden`]: hidden\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: itemClassName,\n style: style,\n ref: itemRef\n }, /*#__PURE__*/React.createElement(Row, Object.assign({\n className: `${itemPrefixCls}-row`\n }, omit(restProps, ['_internalItemRender', 'colon', 'dependencies', 'extra', 'fieldKey', 'getValueFromEvent', 'getValueProps', 'htmlFor', 'id', 'initialValue', 'isListField', 'label', 'labelAlign', 'labelCol', 'labelWrap', 'messageVariables', 'name', 'normalize', 'noStyle', 'preserve', 'requiredMark', 'rules', 'shouldUpdate', 'trigger', 'tooltip', 'validateFirst', 'validateTrigger', 'valuePropName', 'wrapperCol'])), /*#__PURE__*/React.createElement(FormItemLabel, Object.assign({\n htmlFor: fieldId\n }, props, {\n requiredMark: requiredMark,\n required: required !== null && required !== void 0 ? required : isRequired,\n prefixCls: prefixCls\n })), /*#__PURE__*/React.createElement(FormItemInput, Object.assign({}, props, meta, {\n errors: debounceErrors,\n warnings: debounceWarnings,\n prefixCls: prefixCls,\n status: mergedValidateStatus,\n help: help,\n marginBottom: marginBottom,\n onErrorVisibleChanged: onErrorVisibleChanged\n }), /*#__PURE__*/React.createElement(NoStyleItemContext.Provider, {\n value: onSubItemMetaChange\n }, /*#__PURE__*/React.createElement(FormItemInputContext.Provider, {\n value: formItemStatusContext\n }, children)))), !!marginBottom && /*#__PURE__*/React.createElement(\"div\", {\n className: `${itemPrefixCls}-margin-offset`,\n style: {\n marginBottom: -marginBottom\n }\n }));\n}","import toArray from \"rc-util/es/Children/toArray\";\nexport default function useChildren(children) {\n if (typeof children === 'function') {\n return children;\n }\n const childList = toArray(children);\n return childList.length <= 1 ? childList[0] : childList;\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport classNames from 'classnames';\nimport { Field, FieldContext, ListContext } from 'rc-field-form';\nimport useState from \"rc-util/es/hooks/useState\";\nimport { supportRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { cloneElement, isValidElement } from '../../_util/reactNode';\nimport warning from '../../_util/warning';\nimport { ConfigContext } from '../../config-provider';\nimport { FormContext, NoStyleItemContext } from '../context';\nimport useFormItemStatus from '../hooks/useFormItemStatus';\nimport useFrameState from '../hooks/useFrameState';\nimport useItemRef from '../hooks/useItemRef';\nimport { getFieldId, toArray } from '../util';\nimport ItemHolder from './ItemHolder';\nimport useChildren from '../hooks/useChildren';\nimport useStyle from '../style';\nconst NAME_SPLIT = '__SPLIT__';\nconst ValidateStatuses = ['success', 'warning', 'error', 'validating', ''];\nconst MemoInput = /*#__PURE__*/React.memo(_ref => {\n let {\n children\n } = _ref;\n return children;\n}, (prev, next) => prev.value === next.value && prev.update === next.update && prev.childProps.length === next.childProps.length && prev.childProps.every((value, index) => value === next.childProps[index]));\nfunction hasValidName(name) {\n if (name === null) {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Form.Item', '`null` is passed as `name` property') : void 0;\n }\n return !(name === undefined || name === null);\n}\nfunction genEmptyMeta() {\n return {\n errors: [],\n warnings: [],\n touched: false,\n validating: false,\n name: [],\n validated: false\n };\n}\nfunction InternalFormItem(props) {\n const {\n name,\n noStyle,\n className,\n dependencies,\n prefixCls: customizePrefixCls,\n shouldUpdate,\n rules,\n children,\n required,\n label,\n messageVariables,\n trigger = 'onChange',\n validateTrigger,\n hidden,\n help\n } = props;\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const {\n name: formName\n } = React.useContext(FormContext);\n const mergedChildren = useChildren(children);\n const isRenderProps = typeof mergedChildren === 'function';\n const notifyParentMetaChange = React.useContext(NoStyleItemContext);\n const {\n validateTrigger: contextValidateTrigger\n } = React.useContext(FieldContext);\n const mergedValidateTrigger = validateTrigger !== undefined ? validateTrigger : contextValidateTrigger;\n const hasName = hasValidName(name);\n const prefixCls = getPrefixCls('form', customizePrefixCls);\n // Style\n const [wrapSSR, hashId] = useStyle(prefixCls);\n // ========================= MISC =========================\n // Get `noStyle` required info\n const listContext = React.useContext(ListContext);\n const fieldKeyPathRef = React.useRef();\n // ======================== Errors ========================\n // >>>>> Collect sub field errors\n const [subFieldErrors, setSubFieldErrors] = useFrameState({});\n // >>>>> Current field errors\n const [meta, setMeta] = useState(() => genEmptyMeta());\n const onMetaChange = nextMeta => {\n // This keyInfo is not correct when field is removed\n // Since origin keyManager no longer keep the origin key anymore\n // Which means we need cache origin one and reuse when removed\n const keyInfo = listContext === null || listContext === void 0 ? void 0 : listContext.getKey(nextMeta.name);\n // Destroy will reset all the meta\n setMeta(nextMeta.destroy ? genEmptyMeta() : nextMeta, true);\n // Bump to parent since noStyle\n if (noStyle && help !== false && notifyParentMetaChange) {\n let namePath = nextMeta.name;\n if (!nextMeta.destroy) {\n if (keyInfo !== undefined) {\n const [fieldKey, restPath] = keyInfo;\n namePath = [fieldKey].concat(_toConsumableArray(restPath));\n fieldKeyPathRef.current = namePath;\n }\n } else {\n // Use origin cache data\n namePath = fieldKeyPathRef.current || namePath;\n }\n notifyParentMetaChange(nextMeta, namePath);\n }\n };\n // >>>>> Collect noStyle Field error to the top FormItem\n const onSubItemMetaChange = (subMeta, uniqueKeys) => {\n // Only `noStyle` sub item will trigger\n setSubFieldErrors(prevSubFieldErrors => {\n const clone = Object.assign({}, prevSubFieldErrors);\n // name: ['user', 1] + key: [4] = ['user', 4]\n const mergedNamePath = [].concat(_toConsumableArray(subMeta.name.slice(0, -1)), _toConsumableArray(uniqueKeys));\n const mergedNameKey = mergedNamePath.join(NAME_SPLIT);\n if (subMeta.destroy) {\n // Remove\n delete clone[mergedNameKey];\n } else {\n // Update\n clone[mergedNameKey] = subMeta;\n }\n return clone;\n });\n };\n // >>>>> Get merged errors\n const [mergedErrors, mergedWarnings] = React.useMemo(() => {\n const errorList = _toConsumableArray(meta.errors);\n const warningList = _toConsumableArray(meta.warnings);\n Object.values(subFieldErrors).forEach(subFieldError => {\n errorList.push.apply(errorList, _toConsumableArray(subFieldError.errors || []));\n warningList.push.apply(warningList, _toConsumableArray(subFieldError.warnings || []));\n });\n return [errorList, warningList];\n }, [subFieldErrors, meta.errors, meta.warnings]);\n // ===================== Children Ref =====================\n const getItemRef = useItemRef();\n // ======================== Render ========================\n function renderLayout(baseChildren, fieldId, isRequired) {\n if (noStyle && !hidden) {\n return baseChildren;\n }\n return /*#__PURE__*/React.createElement(ItemHolder, Object.assign({\n key: \"row\"\n }, props, {\n className: classNames(className, hashId),\n prefixCls: prefixCls,\n fieldId: fieldId,\n isRequired: isRequired,\n errors: mergedErrors,\n warnings: mergedWarnings,\n meta: meta,\n onSubItemMetaChange: onSubItemMetaChange\n }), baseChildren);\n }\n if (!hasName && !isRenderProps && !dependencies) {\n return wrapSSR(renderLayout(mergedChildren));\n }\n let variables = {};\n if (typeof label === 'string') {\n variables.label = label;\n } else if (name) {\n variables.label = String(name);\n }\n if (messageVariables) {\n variables = Object.assign(Object.assign({}, variables), messageVariables);\n }\n // >>>>> With Field\n return wrapSSR( /*#__PURE__*/React.createElement(Field, Object.assign({}, props, {\n messageVariables: variables,\n trigger: trigger,\n validateTrigger: mergedValidateTrigger,\n onMetaChange: onMetaChange\n }), (control, renderMeta, context) => {\n const mergedName = toArray(name).length && renderMeta ? renderMeta.name : [];\n const fieldId = getFieldId(mergedName, formName);\n const isRequired = required !== undefined ? required : !!(rules && rules.some(rule => {\n if (rule && typeof rule === 'object' && rule.required && !rule.warningOnly) {\n return true;\n }\n if (typeof rule === 'function') {\n const ruleEntity = rule(context);\n return ruleEntity && ruleEntity.required && !ruleEntity.warningOnly;\n }\n return false;\n }));\n // ======================= Children =======================\n const mergedControl = Object.assign({}, control);\n let childNode = null;\n process.env.NODE_ENV !== \"production\" ? warning(!(shouldUpdate && dependencies), 'Form.Item', \"`shouldUpdate` and `dependencies` shouldn't be used together. See https://u.ant.design/form-deps.\") : void 0;\n if (Array.isArray(mergedChildren) && hasName) {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Form.Item', 'A `Form.Item` with a `name` prop must have a single child element. For information on how to render more complex form items, see https://u.ant.design/complex-form-item.') : void 0;\n childNode = mergedChildren;\n } else if (isRenderProps && (!(shouldUpdate || dependencies) || hasName)) {\n process.env.NODE_ENV !== \"production\" ? warning(!!(shouldUpdate || dependencies), 'Form.Item', 'A `Form.Item` with a render function must have either `shouldUpdate` or `dependencies`.') : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!hasName, 'Form.Item', 'A `Form.Item` with a render function cannot be a field, and thus cannot have a `name` prop.') : void 0;\n } else if (dependencies && !isRenderProps && !hasName) {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Form.Item', 'Must set `name` or use a render function when `dependencies` is set.') : void 0;\n } else if (isValidElement(mergedChildren)) {\n process.env.NODE_ENV !== \"production\" ? warning(mergedChildren.props.defaultValue === undefined, 'Form.Item', '`defaultValue` will not work on controlled Field. You should use `initialValues` of Form instead.') : void 0;\n const childProps = Object.assign(Object.assign({}, mergedChildren.props), mergedControl);\n if (!childProps.id) {\n childProps.id = fieldId;\n }\n if (help || mergedErrors.length > 0 || mergedWarnings.length > 0 || props.extra) {\n const describedbyArr = [];\n if (help || mergedErrors.length > 0) {\n describedbyArr.push(`${fieldId}_help`);\n }\n if (props.extra) {\n describedbyArr.push(`${fieldId}_extra`);\n }\n childProps['aria-describedby'] = describedbyArr.join(' ');\n }\n if (mergedErrors.length > 0) {\n childProps['aria-invalid'] = 'true';\n }\n if (isRequired) {\n childProps['aria-required'] = 'true';\n }\n if (supportRef(mergedChildren)) {\n childProps.ref = getItemRef(mergedName, mergedChildren);\n }\n // We should keep user origin event handler\n const triggers = new Set([].concat(_toConsumableArray(toArray(trigger)), _toConsumableArray(toArray(mergedValidateTrigger))));\n triggers.forEach(eventName => {\n childProps[eventName] = function () {\n var _a2, _c2;\n var _a, _b, _c;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n (_a = mergedControl[eventName]) === null || _a === void 0 ? void 0 : (_a2 = _a).call.apply(_a2, [mergedControl].concat(args));\n (_c = (_b = mergedChildren.props)[eventName]) === null || _c === void 0 ? void 0 : (_c2 = _c).call.apply(_c2, [_b].concat(args));\n };\n });\n // List of props that need to be watched for changes -> if changes are detected in MemoInput -> rerender\n const watchingChildProps = [childProps['aria-required'], childProps['aria-invalid'], childProps['aria-describedby']];\n childNode = /*#__PURE__*/React.createElement(MemoInput, {\n value: mergedControl[props.valuePropName || 'value'],\n update: mergedChildren,\n childProps: watchingChildProps\n }, cloneElement(mergedChildren, childProps));\n } else if (isRenderProps && (shouldUpdate || dependencies) && !hasName) {\n childNode = mergedChildren(context);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(!mergedName.length, 'Form.Item', '`name` is only used for validate React element. If you are using Form.Item as layout display, please remove `name` instead.') : void 0;\n childNode = mergedChildren;\n }\n return renderLayout(childNode, fieldId, isRequired);\n }));\n}\nconst FormItem = InternalFormItem;\nFormItem.useStatus = useFormItemStatus;\nexport default FormItem;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { List } from 'rc-field-form';\nimport * as React from 'react';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport { FormItemPrefixContext } from './context';\nconst FormList = _a => {\n var {\n prefixCls: customizePrefixCls,\n children\n } = _a,\n props = __rest(_a, [\"prefixCls\", \"children\"]);\n process.env.NODE_ENV !== \"production\" ? warning(typeof props.name === 'number' || (Array.isArray(props.name) ? !!props.name.length : !!props.name), 'Form.List', 'Miss `name` prop.') : void 0;\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('form', customizePrefixCls);\n const contextValue = React.useMemo(() => ({\n prefixCls,\n status: 'error'\n }), [prefixCls]);\n return /*#__PURE__*/React.createElement(List, Object.assign({}, props), (fields, operation, meta) => /*#__PURE__*/React.createElement(FormItemPrefixContext.Provider, {\n value: contextValue\n }, children(fields.map(field => Object.assign(Object.assign({}, field), {\n fieldKey: field.key\n })), operation, {\n errors: meta.errors,\n warnings: meta.warnings\n })));\n};\nexport default FormList;","import { useContext } from 'react';\nimport { FormContext } from '../context';\nexport default function useFormInstance() {\n const {\n form\n } = useContext(FormContext);\n return form;\n}","'use client';\n\nimport warning from '../_util/warning';\nimport ErrorList from './ErrorList';\nimport InternalForm, { useForm, useWatch } from './Form';\nimport Item from './FormItem';\nimport List from './FormList';\nimport { FormProvider } from './context';\nimport useFormInstance from './hooks/useFormInstance';\nconst Form = InternalForm;\nForm.Item = Item;\nForm.List = List;\nForm.ErrorList = ErrorList;\nForm.useForm = useForm;\nForm.useFormInstance = useFormInstance;\nForm.useWatch = useWatch;\nForm.Provider = FormProvider;\nForm.create = () => {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Form', 'antd v4 removed `Form.create`. Please remove or use `@ant-design/compatible` instead.') : void 0;\n};\nexport default Form;","import { createContext } from 'react';\n// ZombieJ: We export single file here since\n// ConfigProvider use this which will make loop deps\n// to import whole `rc-field-form`\nexport default /*#__PURE__*/createContext(undefined);","import { createContext } from 'react';\nconst RowContext = /*#__PURE__*/createContext({});\nexport default RowContext;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport RowContext from './RowContext';\nimport { useColStyle } from './style';\nfunction parseFlex(flex) {\n if (typeof flex === 'number') {\n return `${flex} ${flex} auto`;\n }\n if (/^\\d+(\\.\\d+)?(px|em|rem|%)$/.test(flex)) {\n return `0 0 ${flex}`;\n }\n return flex;\n}\nconst sizes = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'];\nconst Col = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const {\n gutter,\n wrap,\n supportFlexGap\n } = React.useContext(RowContext);\n const {\n prefixCls: customizePrefixCls,\n span,\n order,\n offset,\n push,\n pull,\n className,\n children,\n flex,\n style\n } = props,\n others = __rest(props, [\"prefixCls\", \"span\", \"order\", \"offset\", \"push\", \"pull\", \"className\", \"children\", \"flex\", \"style\"]);\n const prefixCls = getPrefixCls('col', customizePrefixCls);\n const [wrapSSR, hashId] = useColStyle(prefixCls);\n let sizeClassObj = {};\n sizes.forEach(size => {\n let sizeProps = {};\n const propSize = props[size];\n if (typeof propSize === 'number') {\n sizeProps.span = propSize;\n } else if (typeof propSize === 'object') {\n sizeProps = propSize || {};\n }\n delete others[size];\n sizeClassObj = Object.assign(Object.assign({}, sizeClassObj), {\n [`${prefixCls}-${size}-${sizeProps.span}`]: sizeProps.span !== undefined,\n [`${prefixCls}-${size}-order-${sizeProps.order}`]: sizeProps.order || sizeProps.order === 0,\n [`${prefixCls}-${size}-offset-${sizeProps.offset}`]: sizeProps.offset || sizeProps.offset === 0,\n [`${prefixCls}-${size}-push-${sizeProps.push}`]: sizeProps.push || sizeProps.push === 0,\n [`${prefixCls}-${size}-pull-${sizeProps.pull}`]: sizeProps.pull || sizeProps.pull === 0,\n [`${prefixCls}-${size}-flex-${sizeProps.flex}`]: sizeProps.flex || sizeProps.flex === 'auto',\n [`${prefixCls}-rtl`]: direction === 'rtl'\n });\n });\n const classes = classNames(prefixCls, {\n [`${prefixCls}-${span}`]: span !== undefined,\n [`${prefixCls}-order-${order}`]: order,\n [`${prefixCls}-offset-${offset}`]: offset,\n [`${prefixCls}-push-${push}`]: push,\n [`${prefixCls}-pull-${pull}`]: pull\n }, className, sizeClassObj, hashId);\n const mergedStyle = {};\n // Horizontal gutter use padding\n if (gutter && gutter[0] > 0) {\n const horizontalGutter = gutter[0] / 2;\n mergedStyle.paddingLeft = horizontalGutter;\n mergedStyle.paddingRight = horizontalGutter;\n }\n // Vertical gutter use padding when gap not support\n if (gutter && gutter[1] > 0 && !supportFlexGap) {\n const verticalGutter = gutter[1] / 2;\n mergedStyle.paddingTop = verticalGutter;\n mergedStyle.paddingBottom = verticalGutter;\n }\n if (flex) {\n mergedStyle.flex = parseFlex(flex);\n // Hack for Firefox to avoid size issue\n // https://github.com/ant-design/ant-design/pull/20023#issuecomment-564389553\n if (wrap === false && !mergedStyle.minWidth) {\n mergedStyle.minWidth = 0;\n }\n }\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", Object.assign({}, others, {\n style: Object.assign(Object.assign({}, mergedStyle), style),\n className: classes,\n ref: ref\n }), children));\n});\nif (process.env.NODE_ENV !== 'production') {\n Col.displayName = 'Col';\n}\nexport default Col;","import { useRef } from 'react';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport useForceUpdate from '../../_util/hooks/useForceUpdate';\nimport useResponsiveObserver from '../../_util/responsiveObserver';\nfunction useBreakpoint() {\n let refreshOnChange = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n const screensRef = useRef({});\n const forceUpdate = useForceUpdate();\n const responsiveObserver = useResponsiveObserver();\n useLayoutEffect(() => {\n const token = responsiveObserver.subscribe(supportScreens => {\n screensRef.current = supportScreens;\n if (refreshOnChange) {\n forceUpdate();\n }\n });\n return () => responsiveObserver.unsubscribe(token);\n }, []);\n return screensRef.current;\n}\nexport default useBreakpoint;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useFlexGapSupport from '../_util/hooks/useFlexGapSupport';\nimport useResponsiveObserver, { responsiveArray } from '../_util/responsiveObserver';\nimport RowContext from './RowContext';\nimport { useRowStyle } from './style';\nconst RowAligns = ['top', 'middle', 'bottom', 'stretch'];\nconst RowJustify = ['start', 'end', 'center', 'space-around', 'space-between', 'space-evenly'];\nfunction useMergePropByScreen(oriProp, screen) {\n const [prop, setProp] = React.useState(typeof oriProp === 'string' ? oriProp : '');\n const calcMergeAlignOrJustify = () => {\n if (typeof oriProp === 'string') {\n setProp(oriProp);\n }\n if (typeof oriProp !== 'object') {\n return;\n }\n for (let i = 0; i < responsiveArray.length; i++) {\n const breakpoint = responsiveArray[i];\n // if do not match, do nothing\n if (!screen[breakpoint]) continue;\n const curVal = oriProp[breakpoint];\n if (curVal !== undefined) {\n setProp(curVal);\n return;\n }\n }\n };\n React.useEffect(() => {\n calcMergeAlignOrJustify();\n }, [JSON.stringify(oriProp), screen]);\n return prop;\n}\nconst Row = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n prefixCls: customizePrefixCls,\n justify,\n align,\n className,\n style,\n children,\n gutter = 0,\n wrap\n } = props,\n others = __rest(props, [\"prefixCls\", \"justify\", \"align\", \"className\", \"style\", \"children\", \"gutter\", \"wrap\"]);\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const [screens, setScreens] = React.useState({\n xs: true,\n sm: true,\n md: true,\n lg: true,\n xl: true,\n xxl: true\n });\n // to save screens info when responsiveObserve callback had been call\n const [curScreens, setCurScreens] = React.useState({\n xs: false,\n sm: false,\n md: false,\n lg: false,\n xl: false,\n xxl: false\n });\n // ================================== calc responsive data ==================================\n const mergeAlign = useMergePropByScreen(align, curScreens);\n const mergeJustify = useMergePropByScreen(justify, curScreens);\n const supportFlexGap = useFlexGapSupport();\n const gutterRef = React.useRef(gutter);\n const responsiveObserver = useResponsiveObserver();\n // ================================== Effect ==================================\n React.useEffect(() => {\n const token = responsiveObserver.subscribe(screen => {\n setCurScreens(screen);\n const currentGutter = gutterRef.current || 0;\n if (!Array.isArray(currentGutter) && typeof currentGutter === 'object' || Array.isArray(currentGutter) && (typeof currentGutter[0] === 'object' || typeof currentGutter[1] === 'object')) {\n setScreens(screen);\n }\n });\n return () => responsiveObserver.unsubscribe(token);\n }, []);\n // ================================== Render ==================================\n const getGutter = () => {\n const results = [undefined, undefined];\n const normalizedGutter = Array.isArray(gutter) ? gutter : [gutter, undefined];\n normalizedGutter.forEach((g, index) => {\n if (typeof g === 'object') {\n for (let i = 0; i < responsiveArray.length; i++) {\n const breakpoint = responsiveArray[i];\n if (screens[breakpoint] && g[breakpoint] !== undefined) {\n results[index] = g[breakpoint];\n break;\n }\n }\n } else {\n results[index] = g;\n }\n });\n return results;\n };\n const prefixCls = getPrefixCls('row', customizePrefixCls);\n const [wrapSSR, hashId] = useRowStyle(prefixCls);\n const gutters = getGutter();\n const classes = classNames(prefixCls, {\n [`${prefixCls}-no-wrap`]: wrap === false,\n [`${prefixCls}-${mergeJustify}`]: mergeJustify,\n [`${prefixCls}-${mergeAlign}`]: mergeAlign,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, className, hashId);\n // Add gutter related style\n const rowStyle = {};\n const horizontalGutter = gutters[0] != null && gutters[0] > 0 ? gutters[0] / -2 : undefined;\n const verticalGutter = gutters[1] != null && gutters[1] > 0 ? gutters[1] / -2 : undefined;\n if (horizontalGutter) {\n rowStyle.marginLeft = horizontalGutter;\n rowStyle.marginRight = horizontalGutter;\n }\n if (supportFlexGap) {\n // Set gap direct if flex gap support\n [, rowStyle.rowGap] = gutters;\n } else if (verticalGutter) {\n rowStyle.marginTop = verticalGutter;\n rowStyle.marginBottom = verticalGutter;\n }\n // \"gutters\" is a new array in each rendering phase, it'll make 'React.useMemo' effectless.\n // So we deconstruct \"gutters\" variable here.\n const [gutterH, gutterV] = gutters;\n const rowContext = React.useMemo(() => ({\n gutter: [gutterH, gutterV],\n wrap,\n supportFlexGap\n }), [gutterH, gutterV, wrap, supportFlexGap]);\n return wrapSSR( /*#__PURE__*/React.createElement(RowContext.Provider, {\n value: rowContext\n }, /*#__PURE__*/React.createElement(\"div\", Object.assign({}, others, {\n className: classes,\n style: Object.assign(Object.assign({}, rowStyle), style),\n ref: ref\n }), children)));\n});\nif (process.env.NODE_ENV !== 'production') {\n Row.displayName = 'Row';\n}\nexport default Row;","import { genComponentStyleHook, mergeToken } from '../../theme/internal';\n// ============================== Row-Shared ==============================\nconst genGridRowStyle = token => {\n const {\n componentCls\n } = token;\n return {\n // Grid system\n [componentCls]: {\n display: 'flex',\n flexFlow: 'row wrap',\n minWidth: 0,\n '&::before, &::after': {\n display: 'flex'\n },\n '&-no-wrap': {\n flexWrap: 'nowrap'\n },\n // The origin of the X-axis\n '&-start': {\n justifyContent: 'flex-start'\n },\n // The center of the X-axis\n '&-center': {\n justifyContent: 'center'\n },\n // The opposite of the X-axis\n '&-end': {\n justifyContent: 'flex-end'\n },\n '&-space-between': {\n justifyContent: 'space-between'\n },\n '&-space-around': {\n justifyContent: 'space-around'\n },\n '&-space-evenly': {\n justifyContent: 'space-evenly'\n },\n // Align at the top\n '&-top': {\n alignItems: 'flex-start'\n },\n // Align at the center\n '&-middle': {\n alignItems: 'center'\n },\n '&-bottom': {\n alignItems: 'flex-end'\n }\n }\n };\n};\n// ============================== Col-Shared ==============================\nconst genGridColStyle = token => {\n const {\n componentCls\n } = token;\n return {\n // Grid system\n [componentCls]: {\n position: 'relative',\n maxWidth: '100%',\n // Prevent columns from collapsing when empty\n minHeight: 1\n }\n };\n};\nconst genLoopGridColumnsStyle = (token, sizeCls) => {\n const {\n componentCls,\n gridColumns\n } = token;\n const gridColumnsStyle = {};\n for (let i = gridColumns; i >= 0; i--) {\n if (i === 0) {\n gridColumnsStyle[`${componentCls}${sizeCls}-${i}`] = {\n display: 'none'\n };\n gridColumnsStyle[`${componentCls}-push-${i}`] = {\n insetInlineStart: 'auto'\n };\n gridColumnsStyle[`${componentCls}-pull-${i}`] = {\n insetInlineEnd: 'auto'\n };\n gridColumnsStyle[`${componentCls}${sizeCls}-push-${i}`] = {\n insetInlineStart: 'auto'\n };\n gridColumnsStyle[`${componentCls}${sizeCls}-pull-${i}`] = {\n insetInlineEnd: 'auto'\n };\n gridColumnsStyle[`${componentCls}${sizeCls}-offset-${i}`] = {\n marginInlineStart: 0\n };\n gridColumnsStyle[`${componentCls}${sizeCls}-order-${i}`] = {\n order: 0\n };\n } else {\n gridColumnsStyle[`${componentCls}${sizeCls}-${i}`] = {\n display: 'block',\n flex: `0 0 ${i / gridColumns * 100}%`,\n maxWidth: `${i / gridColumns * 100}%`\n };\n gridColumnsStyle[`${componentCls}${sizeCls}-push-${i}`] = {\n insetInlineStart: `${i / gridColumns * 100}%`\n };\n gridColumnsStyle[`${componentCls}${sizeCls}-pull-${i}`] = {\n insetInlineEnd: `${i / gridColumns * 100}%`\n };\n gridColumnsStyle[`${componentCls}${sizeCls}-offset-${i}`] = {\n marginInlineStart: `${i / gridColumns * 100}%`\n };\n gridColumnsStyle[`${componentCls}${sizeCls}-order-${i}`] = {\n order: i\n };\n }\n }\n return gridColumnsStyle;\n};\nconst genGridStyle = (token, sizeCls) => genLoopGridColumnsStyle(token, sizeCls);\nconst genGridMediaStyle = (token, screenSize, sizeCls) => ({\n [`@media (min-width: ${screenSize}px)`]: Object.assign({}, genGridStyle(token, sizeCls))\n});\n// ============================== Export ==============================\nexport const useRowStyle = genComponentStyleHook('Grid', token => [genGridRowStyle(token)]);\nexport const useColStyle = genComponentStyleHook('Grid', token => {\n const gridToken = mergeToken(token, {\n gridColumns: 24 // Row is divided into 24 parts in Grid\n });\n\n const gridMediaSizesMap = {\n '-sm': gridToken.screenSMMin,\n '-md': gridToken.screenMDMin,\n '-lg': gridToken.screenLGMin,\n '-xl': gridToken.screenXLMin,\n '-xxl': gridToken.screenXXLMin\n };\n return [genGridColStyle(gridToken), genGridStyle(gridToken, ''), genGridStyle(gridToken, '-xs'), Object.keys(gridMediaSizesMap).map(key => genGridMediaStyle(gridToken, gridMediaSizesMap[key], key)).reduce((pre, cur) => Object.assign(Object.assign({}, pre), cur), {})];\n});","export function supportBigInt() {\n return typeof BigInt === 'function';\n}","import { supportBigInt } from \"./supportUtil\";\nexport function isEmpty(value) {\n return !value && value !== 0 && !Number.isNaN(value) || !String(value).trim();\n}\n\n/**\n * Format string number to readable number\n */\nexport function trimNumber(numStr) {\n var str = numStr.trim();\n var negative = str.startsWith('-');\n if (negative) {\n str = str.slice(1);\n }\n str = str\n // Remove decimal 0. `1.000` => `1.`, `1.100` => `1.1`\n .replace(/(\\.\\d*[^0])0*$/, '$1')\n // Remove useless decimal. `1.` => `1`\n .replace(/\\.0*$/, '')\n // Remove integer 0. `0001` => `1`, 000.1' => `.1`\n .replace(/^0+/, '');\n if (str.startsWith('.')) {\n str = \"0\".concat(str);\n }\n var trimStr = str || '0';\n var splitNumber = trimStr.split('.');\n var integerStr = splitNumber[0] || '0';\n var decimalStr = splitNumber[1] || '0';\n if (integerStr === '0' && decimalStr === '0') {\n negative = false;\n }\n var negativeStr = negative ? '-' : '';\n return {\n negative: negative,\n negativeStr: negativeStr,\n trimStr: trimStr,\n integerStr: integerStr,\n decimalStr: decimalStr,\n fullStr: \"\".concat(negativeStr).concat(trimStr)\n };\n}\nexport function isE(number) {\n var str = String(number);\n return !Number.isNaN(Number(str)) && str.includes('e');\n}\n\n/**\n * [Legacy] Convert 1e-9 to 0.000000001.\n * This may lose some precision if user really want 1e-9.\n */\nexport function getNumberPrecision(number) {\n var numStr = String(number);\n if (isE(number)) {\n var precision = Number(numStr.slice(numStr.indexOf('e-') + 2));\n var decimalMatch = numStr.match(/\\.(\\d+)/);\n if (decimalMatch !== null && decimalMatch !== void 0 && decimalMatch[1]) {\n precision += decimalMatch[1].length;\n }\n return precision;\n }\n return numStr.includes('.') && validateNumber(numStr) ? numStr.length - numStr.indexOf('.') - 1 : 0;\n}\n\n/**\n * Convert number (includes scientific notation) to -xxx.yyy format\n */\nexport function num2str(number) {\n var numStr = String(number);\n if (isE(number)) {\n if (number > Number.MAX_SAFE_INTEGER) {\n return String(supportBigInt() ? BigInt(number).toString() : Number.MAX_SAFE_INTEGER);\n }\n if (number < Number.MIN_SAFE_INTEGER) {\n return String(supportBigInt() ? BigInt(number).toString() : Number.MIN_SAFE_INTEGER);\n }\n numStr = number.toFixed(getNumberPrecision(numStr));\n }\n return trimNumber(numStr).fullStr;\n}\nexport function validateNumber(num) {\n if (typeof num === 'number') {\n return !Number.isNaN(num);\n }\n\n // Empty\n if (!num) {\n return false;\n }\n return (\n // Normal type: 11.28\n /^\\s*-?\\d+(\\.\\d+)?\\s*$/.test(num) ||\n // Pre-number: 1.\n /^\\s*-?\\d+\\.\\s*$/.test(num) ||\n // Post-number: .1\n /^\\s*-?\\.\\d+\\s*$/.test(num)\n );\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { isE, isEmpty, num2str, trimNumber, validateNumber } from \"./numberUtil\";\nvar BigIntDecimal = /*#__PURE__*/function () {\n /** BigInt will convert `0009` to `9`. We need record the len of decimal */\n\n function BigIntDecimal(value) {\n _classCallCheck(this, BigIntDecimal);\n _defineProperty(this, \"origin\", '');\n _defineProperty(this, \"negative\", void 0);\n _defineProperty(this, \"integer\", void 0);\n _defineProperty(this, \"decimal\", void 0);\n _defineProperty(this, \"decimalLen\", void 0);\n _defineProperty(this, \"empty\", void 0);\n _defineProperty(this, \"nan\", void 0);\n if (isEmpty(value)) {\n this.empty = true;\n return;\n }\n this.origin = String(value);\n\n // Act like Number convert\n if (value === '-' || Number.isNaN(value)) {\n this.nan = true;\n return;\n }\n var mergedValue = value;\n\n // We need convert back to Number since it require `toFixed` to handle this\n if (isE(mergedValue)) {\n mergedValue = Number(mergedValue);\n }\n mergedValue = typeof mergedValue === 'string' ? mergedValue : num2str(mergedValue);\n if (validateNumber(mergedValue)) {\n var trimRet = trimNumber(mergedValue);\n this.negative = trimRet.negative;\n var numbers = trimRet.trimStr.split('.');\n this.integer = BigInt(numbers[0]);\n var decimalStr = numbers[1] || '0';\n this.decimal = BigInt(decimalStr);\n this.decimalLen = decimalStr.length;\n } else {\n this.nan = true;\n }\n }\n _createClass(BigIntDecimal, [{\n key: \"getMark\",\n value: function getMark() {\n return this.negative ? '-' : '';\n }\n }, {\n key: \"getIntegerStr\",\n value: function getIntegerStr() {\n return this.integer.toString();\n }\n\n /**\n * @private get decimal string\n */\n }, {\n key: \"getDecimalStr\",\n value: function getDecimalStr() {\n return this.decimal.toString().padStart(this.decimalLen, '0');\n }\n\n /**\n * @private Align BigIntDecimal with same decimal length. e.g. 12.3 + 5 = 1230000\n * This is used for add function only.\n */\n }, {\n key: \"alignDecimal\",\n value: function alignDecimal(decimalLength) {\n var str = \"\".concat(this.getMark()).concat(this.getIntegerStr()).concat(this.getDecimalStr().padEnd(decimalLength, '0'));\n return BigInt(str);\n }\n }, {\n key: \"negate\",\n value: function negate() {\n var clone = new BigIntDecimal(this.toString());\n clone.negative = !clone.negative;\n return clone;\n }\n }, {\n key: \"cal\",\n value: function cal(offset, calculator, calDecimalLen) {\n var maxDecimalLength = Math.max(this.getDecimalStr().length, offset.getDecimalStr().length);\n var myAlignedDecimal = this.alignDecimal(maxDecimalLength);\n var offsetAlignedDecimal = offset.alignDecimal(maxDecimalLength);\n var valueStr = calculator(myAlignedDecimal, offsetAlignedDecimal).toString();\n var nextDecimalLength = calDecimalLen(maxDecimalLength);\n\n // We need fill string length back to `maxDecimalLength` to avoid parser failed\n var _trimNumber = trimNumber(valueStr),\n negativeStr = _trimNumber.negativeStr,\n trimStr = _trimNumber.trimStr;\n var hydrateValueStr = \"\".concat(negativeStr).concat(trimStr.padStart(nextDecimalLength + 1, '0'));\n return new BigIntDecimal(\"\".concat(hydrateValueStr.slice(0, -nextDecimalLength), \".\").concat(hydrateValueStr.slice(-nextDecimalLength)));\n }\n }, {\n key: \"add\",\n value: function add(value) {\n if (this.isInvalidate()) {\n return new BigIntDecimal(value);\n }\n var offset = new BigIntDecimal(value);\n if (offset.isInvalidate()) {\n return this;\n }\n return this.cal(offset, function (num1, num2) {\n return num1 + num2;\n }, function (len) {\n return len;\n });\n }\n }, {\n key: \"multi\",\n value: function multi(value) {\n var target = new BigIntDecimal(value);\n if (this.isInvalidate() || target.isInvalidate()) {\n return new BigIntDecimal(NaN);\n }\n return this.cal(target, function (num1, num2) {\n return num1 * num2;\n }, function (len) {\n return len * 2;\n });\n }\n }, {\n key: \"isEmpty\",\n value: function isEmpty() {\n return this.empty;\n }\n }, {\n key: \"isNaN\",\n value: function isNaN() {\n return this.nan;\n }\n }, {\n key: \"isInvalidate\",\n value: function isInvalidate() {\n return this.isEmpty() || this.isNaN();\n }\n }, {\n key: \"equals\",\n value: function equals(target) {\n return this.toString() === (target === null || target === void 0 ? void 0 : target.toString());\n }\n }, {\n key: \"lessEquals\",\n value: function lessEquals(target) {\n return this.add(target.negate().toString()).toNumber() <= 0;\n }\n }, {\n key: \"toNumber\",\n value: function toNumber() {\n if (this.isNaN()) {\n return NaN;\n }\n return Number(this.toString());\n }\n }, {\n key: \"toString\",\n value: function toString() {\n var safe = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n if (!safe) {\n return this.origin;\n }\n if (this.isInvalidate()) {\n return '';\n }\n return trimNumber(\"\".concat(this.getMark()).concat(this.getIntegerStr(), \".\").concat(this.getDecimalStr())).fullStr;\n }\n }]);\n return BigIntDecimal;\n}();\nexport { BigIntDecimal as default };","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { getNumberPrecision, isEmpty, num2str } from \"./numberUtil\";\n\n/**\n * We can remove this when IE not support anymore\n */\nvar NumberDecimal = /*#__PURE__*/function () {\n function NumberDecimal(value) {\n _classCallCheck(this, NumberDecimal);\n _defineProperty(this, \"origin\", '');\n _defineProperty(this, \"number\", void 0);\n _defineProperty(this, \"empty\", void 0);\n if (isEmpty(value)) {\n this.empty = true;\n return;\n }\n this.origin = String(value);\n this.number = Number(value);\n }\n _createClass(NumberDecimal, [{\n key: \"negate\",\n value: function negate() {\n return new NumberDecimal(-this.toNumber());\n }\n }, {\n key: \"add\",\n value: function add(value) {\n if (this.isInvalidate()) {\n return new NumberDecimal(value);\n }\n var target = Number(value);\n if (Number.isNaN(target)) {\n return this;\n }\n var number = this.number + target;\n\n // [Legacy] Back to safe integer\n if (number > Number.MAX_SAFE_INTEGER) {\n return new NumberDecimal(Number.MAX_SAFE_INTEGER);\n }\n if (number < Number.MIN_SAFE_INTEGER) {\n return new NumberDecimal(Number.MIN_SAFE_INTEGER);\n }\n var maxPrecision = Math.max(getNumberPrecision(this.number), getNumberPrecision(target));\n return new NumberDecimal(number.toFixed(maxPrecision));\n }\n }, {\n key: \"multi\",\n value: function multi(value) {\n var target = Number(value);\n if (this.isInvalidate() || Number.isNaN(target)) {\n return new NumberDecimal(NaN);\n }\n var number = this.number * target;\n\n // [Legacy] Back to safe integer\n if (number > Number.MAX_SAFE_INTEGER) {\n return new NumberDecimal(Number.MAX_SAFE_INTEGER);\n }\n if (number < Number.MIN_SAFE_INTEGER) {\n return new NumberDecimal(Number.MIN_SAFE_INTEGER);\n }\n var maxPrecision = Math.max(getNumberPrecision(this.number), getNumberPrecision(target));\n return new NumberDecimal(number.toFixed(maxPrecision));\n }\n }, {\n key: \"isEmpty\",\n value: function isEmpty() {\n return this.empty;\n }\n }, {\n key: \"isNaN\",\n value: function isNaN() {\n return Number.isNaN(this.number);\n }\n }, {\n key: \"isInvalidate\",\n value: function isInvalidate() {\n return this.isEmpty() || this.isNaN();\n }\n }, {\n key: \"equals\",\n value: function equals(target) {\n return this.toNumber() === (target === null || target === void 0 ? void 0 : target.toNumber());\n }\n }, {\n key: \"lessEquals\",\n value: function lessEquals(target) {\n return this.add(target.negate().toString()).toNumber() <= 0;\n }\n }, {\n key: \"toNumber\",\n value: function toNumber() {\n return this.number;\n }\n }, {\n key: \"toString\",\n value: function toString() {\n var safe = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n if (!safe) {\n return this.origin;\n }\n if (this.isInvalidate()) {\n return '';\n }\n return num2str(this.number);\n }\n }]);\n return NumberDecimal;\n}();\nexport { NumberDecimal as default };","/* eslint-disable max-classes-per-file */\n\nimport BigIntDecimal from \"./BigIntDecimal\";\nimport NumberDecimal from \"./NumberDecimal\";\nimport { trimNumber } from \"./numberUtil\";\nimport { supportBigInt } from \"./supportUtil\";\n\n// Still support origin export\nexport { NumberDecimal, BigIntDecimal };\nexport default function getMiniDecimal(value) {\n // We use BigInt here.\n // Will fallback to Number if not support.\n if (supportBigInt()) {\n return new BigIntDecimal(value);\n }\n return new NumberDecimal(value);\n}\n\n/**\n * Align the logic of toFixed to around like 1.5 => 2.\n * If set `cutOnly`, will just remove the over decimal part.\n */\nexport function toFixed(numStr, separatorStr, precision) {\n var cutOnly = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n if (numStr === '') {\n return '';\n }\n var _trimNumber = trimNumber(numStr),\n negativeStr = _trimNumber.negativeStr,\n integerStr = _trimNumber.integerStr,\n decimalStr = _trimNumber.decimalStr;\n var precisionDecimalStr = \"\".concat(separatorStr).concat(decimalStr);\n var numberWithoutDecimal = \"\".concat(negativeStr).concat(integerStr);\n if (precision >= 0) {\n // We will get last + 1 number to check if need advanced number\n var advancedNum = Number(decimalStr[precision]);\n if (advancedNum >= 5 && !cutOnly) {\n var advancedDecimal = getMiniDecimal(numStr).add(\"\".concat(negativeStr, \"0.\").concat('0'.repeat(precision)).concat(10 - advancedNum));\n return toFixed(advancedDecimal.toString(), separatorStr, precision, cutOnly);\n }\n if (precision === 0) {\n return numberWithoutDecimal;\n }\n return \"\".concat(numberWithoutDecimal).concat(separatorStr).concat(decimalStr.padEnd(precision, '0').slice(0, precision));\n }\n if (precisionDecimalStr === '.0') {\n return numberWithoutDecimal;\n }\n return \"\".concat(numberWithoutDecimal).concat(precisionDecimalStr);\n}","import getMiniDecimal from \"./MiniDecimal\";\nexport * from \"./MiniDecimal\";\nimport { trimNumber, getNumberPrecision, num2str, validateNumber } from \"./numberUtil\";\nexport { trimNumber, getNumberPrecision, num2str, validateNumber };\nexport default getMiniDecimal;","import { useRef } from 'react';\nimport warning from \"rc-util/es/warning\";\n/**\n * Keep input cursor in the correct position if possible.\n * Is this necessary since we have `formatter` which may mass the content?\n */\nexport default function useCursor(input, focused) {\n var selectionRef = useRef(null);\n function recordCursor() {\n // Record position\n try {\n var start = input.selectionStart,\n end = input.selectionEnd,\n value = input.value;\n var beforeTxt = value.substring(0, start);\n var afterTxt = value.substring(end);\n selectionRef.current = {\n start: start,\n end: end,\n value: value,\n beforeTxt: beforeTxt,\n afterTxt: afterTxt\n };\n } catch (e) {\n // Fix error in Chrome:\n // Failed to read the 'selectionStart' property from 'HTMLInputElement'\n // http://stackoverflow.com/q/21177489/3040605\n }\n }\n\n /**\n * Restore logic:\n * 1. back string same\n * 2. start string same\n */\n function restoreCursor() {\n if (input && selectionRef.current && focused) {\n try {\n var value = input.value;\n var _selectionRef$current = selectionRef.current,\n beforeTxt = _selectionRef$current.beforeTxt,\n afterTxt = _selectionRef$current.afterTxt,\n start = _selectionRef$current.start;\n var startPos = value.length;\n if (value.endsWith(afterTxt)) {\n startPos = value.length - selectionRef.current.afterTxt.length;\n } else if (value.startsWith(beforeTxt)) {\n startPos = beforeTxt.length;\n } else {\n var beforeLastChar = beforeTxt[start - 1];\n var newIndex = value.indexOf(beforeLastChar, start - 1);\n if (newIndex !== -1) {\n startPos = newIndex + 1;\n }\n }\n input.setSelectionRange(startPos, startPos);\n } catch (e) {\n warning(false, \"Something warning of cursor restore. Please fire issue about this: \".concat(e.message));\n }\n }\n }\n return [recordCursor, restoreCursor];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useState } from 'react';\nimport isMobile from \"../isMobile\";\nimport useLayoutEffect from \"./useLayoutEffect\";\n\n/**\n * Hook to detect if the user is on a mobile device\n * Notice that this hook will only detect the device type in effect, so it will always be false in server side\n */\nvar useMobile = function useMobile() {\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n mobile = _useState2[0],\n setMobile = _useState2[1];\n useLayoutEffect(function () {\n setMobile(isMobile());\n }, []);\n return mobile;\n};\nexport default useMobile;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n/* eslint-disable react/no-unknown-property */\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport useMobile from \"rc-util/es/hooks/useMobile\";\nimport raf from \"rc-util/es/raf\";\n\n/**\n * When click and hold on a button - the speed of auto changing the value.\n */\nvar STEP_INTERVAL = 200;\n\n/**\n * When click and hold on a button - the delay before auto changing the value.\n */\nvar STEP_DELAY = 600;\nexport default function StepHandler(_ref) {\n var prefixCls = _ref.prefixCls,\n upNode = _ref.upNode,\n downNode = _ref.downNode,\n upDisabled = _ref.upDisabled,\n downDisabled = _ref.downDisabled,\n onStep = _ref.onStep;\n // ======================== Step ========================\n var stepTimeoutRef = React.useRef();\n var frameIds = React.useRef([]);\n var onStepRef = React.useRef();\n onStepRef.current = onStep;\n var onStopStep = function onStopStep() {\n clearTimeout(stepTimeoutRef.current);\n };\n\n // We will interval update step when hold mouse down\n var onStepMouseDown = function onStepMouseDown(e, up) {\n e.preventDefault();\n onStopStep();\n onStepRef.current(up);\n\n // Loop step for interval\n function loopStep() {\n onStepRef.current(up);\n stepTimeoutRef.current = setTimeout(loopStep, STEP_INTERVAL);\n }\n\n // First time press will wait some time to trigger loop step update\n stepTimeoutRef.current = setTimeout(loopStep, STEP_DELAY);\n };\n React.useEffect(function () {\n return function () {\n onStopStep();\n frameIds.current.forEach(function (id) {\n return raf.cancel(id);\n });\n };\n }, []);\n\n // ======================= Render =======================\n var isMobile = useMobile();\n if (isMobile) {\n return null;\n }\n var handlerClassName = \"\".concat(prefixCls, \"-handler\");\n var upClassName = classNames(handlerClassName, \"\".concat(handlerClassName, \"-up\"), _defineProperty({}, \"\".concat(handlerClassName, \"-up-disabled\"), upDisabled));\n var downClassName = classNames(handlerClassName, \"\".concat(handlerClassName, \"-down\"), _defineProperty({}, \"\".concat(handlerClassName, \"-down-disabled\"), downDisabled));\n\n // fix: https://github.com/ant-design/ant-design/issues/43088\n // In Safari, When we fire onmousedown and onmouseup events in quick succession, \n // there may be a problem that the onmouseup events are executed first, \n // resulting in a disordered program execution.\n // So, we need to use requestAnimationFrame to ensure that the onmouseup event is executed after the onmousedown event.\n var safeOnStopStep = function safeOnStopStep() {\n return frameIds.current.push(raf(onStopStep));\n };\n var sharedHandlerProps = {\n unselectable: 'on',\n role: 'button',\n onMouseUp: safeOnStopStep,\n onMouseLeave: safeOnStopStep\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(handlerClassName, \"-wrap\")\n }, /*#__PURE__*/React.createElement(\"span\", _extends({}, sharedHandlerProps, {\n onMouseDown: function onMouseDown(e) {\n onStepMouseDown(e, true);\n },\n \"aria-label\": \"Increase Value\",\n \"aria-disabled\": upDisabled,\n className: upClassName\n }), upNode || /*#__PURE__*/React.createElement(\"span\", {\n unselectable: \"on\",\n className: \"\".concat(prefixCls, \"-handler-up-inner\")\n })), /*#__PURE__*/React.createElement(\"span\", _extends({}, sharedHandlerProps, {\n onMouseDown: function onMouseDown(e) {\n onStepMouseDown(e, false);\n },\n \"aria-label\": \"Decrease Value\",\n \"aria-disabled\": downDisabled,\n className: downClassName\n }), downNode || /*#__PURE__*/React.createElement(\"span\", {\n unselectable: \"on\",\n className: \"\".concat(prefixCls, \"-handler-down-inner\")\n })));\n}","import { trimNumber, num2str } from '@rc-component/mini-decimal';\nexport function getDecupleSteps(step) {\n var stepStr = typeof step === 'number' ? num2str(step) : trimNumber(step).fullStr;\n var hasPoint = stepStr.includes('.');\n if (!hasPoint) {\n return step + '0';\n }\n return trimNumber(stepStr.replace(/(\\d)\\.(\\d)/g, '$1$2.')).fullStr;\n}","import { useRef, useEffect } from 'react';\nimport raf from \"rc-util/es/raf\";\n\n/**\n * Always trigger latest once when call multiple time\n */\nexport default (function () {\n var idRef = useRef(0);\n var cleanUp = function cleanUp() {\n raf.cancel(idRef.current);\n };\n useEffect(function () {\n return cleanUp;\n }, []);\n return function (callback) {\n cleanUp();\n idRef.current = raf(function () {\n callback();\n });\n };\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"className\", \"style\", \"min\", \"max\", \"step\", \"defaultValue\", \"value\", \"disabled\", \"readOnly\", \"upHandler\", \"downHandler\", \"keyboard\", \"controls\", \"classNames\", \"stringMode\", \"parser\", \"formatter\", \"precision\", \"decimalSeparator\", \"onChange\", \"onInput\", \"onPressEnter\", \"onStep\"],\n _excluded2 = [\"disabled\", \"style\", \"prefixCls\", \"value\", \"prefix\", \"suffix\", \"addonBefore\", \"addonAfter\", \"classes\", \"className\", \"classNames\"];\nimport getMiniDecimal, { getNumberPrecision, num2str, toFixed, validateNumber } from '@rc-component/mini-decimal';\nimport clsx from 'classnames';\nimport { BaseInput } from 'rc-input';\nimport { useLayoutUpdateEffect } from \"rc-util/es/hooks/useLayoutEffect\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport useCursor from \"./hooks/useCursor\";\nimport StepHandler from \"./StepHandler\";\nimport { getDecupleSteps } from \"./utils/numberUtil\";\nimport { triggerFocus } from \"rc-input/es/utils/commonUtils\";\nimport useFrame from \"./hooks/useFrame\";\n/**\n * We support `stringMode` which need handle correct type when user call in onChange\n * format max or min value\n * 1. if isInvalid return null\n * 2. if precision is undefined, return decimal\n * 3. format with precision\n * I. if max > 0, round down with precision. Example: max= 3.5, precision=0 afterFormat: 3\n * II. if max < 0, round up with precision. Example: max= -3.5, precision=0 afterFormat: -4\n * III. if min > 0, round up with precision. Example: min= 3.5, precision=0 afterFormat: 4\n * IV. if min < 0, round down with precision. Example: max= -3.5, precision=0 afterFormat: -3\n */\nvar getDecimalValue = function getDecimalValue(stringMode, decimalValue) {\n if (stringMode || decimalValue.isEmpty()) {\n return decimalValue.toString();\n }\n return decimalValue.toNumber();\n};\nvar getDecimalIfValidate = function getDecimalIfValidate(value) {\n var decimal = getMiniDecimal(value);\n return decimal.isInvalidate() ? null : decimal;\n};\nvar InternalInputNumber = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _clsx;\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-input-number' : _props$prefixCls,\n className = props.className,\n style = props.style,\n min = props.min,\n max = props.max,\n _props$step = props.step,\n step = _props$step === void 0 ? 1 : _props$step,\n defaultValue = props.defaultValue,\n value = props.value,\n disabled = props.disabled,\n readOnly = props.readOnly,\n upHandler = props.upHandler,\n downHandler = props.downHandler,\n keyboard = props.keyboard,\n _props$controls = props.controls,\n controls = _props$controls === void 0 ? true : _props$controls,\n classNames = props.classNames,\n stringMode = props.stringMode,\n parser = props.parser,\n formatter = props.formatter,\n precision = props.precision,\n decimalSeparator = props.decimalSeparator,\n onChange = props.onChange,\n onInput = props.onInput,\n onPressEnter = props.onPressEnter,\n onStep = props.onStep,\n inputProps = _objectWithoutProperties(props, _excluded);\n var inputClassName = \"\".concat(prefixCls, \"-input\");\n var inputRef = React.useRef(null);\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n focus = _React$useState2[0],\n setFocus = _React$useState2[1];\n var userTypingRef = React.useRef(false);\n var compositionRef = React.useRef(false);\n var shiftKeyRef = React.useRef(false);\n\n // ============================ Value =============================\n // Real value control\n var _React$useState3 = React.useState(function () {\n return getMiniDecimal(value !== null && value !== void 0 ? value : defaultValue);\n }),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n decimalValue = _React$useState4[0],\n setDecimalValue = _React$useState4[1];\n function setUncontrolledDecimalValue(newDecimal) {\n if (value === undefined) {\n setDecimalValue(newDecimal);\n }\n }\n\n // ====================== Parser & Formatter ======================\n /**\n * `precision` is used for formatter & onChange.\n * It will auto generate by `value` & `step`.\n * But it will not block user typing.\n *\n * Note: Auto generate `precision` is used for legacy logic.\n * We should remove this since we already support high precision with BigInt.\n *\n * @param number Provide which number should calculate precision\n * @param userTyping Change by user typing\n */\n var getPrecision = React.useCallback(function (numStr, userTyping) {\n if (userTyping) {\n return undefined;\n }\n if (precision >= 0) {\n return precision;\n }\n return Math.max(getNumberPrecision(numStr), getNumberPrecision(step));\n }, [precision, step]);\n\n // >>> Parser\n var mergedParser = React.useCallback(function (num) {\n var numStr = String(num);\n if (parser) {\n return parser(numStr);\n }\n var parsedStr = numStr;\n if (decimalSeparator) {\n parsedStr = parsedStr.replace(decimalSeparator, '.');\n }\n\n // [Legacy] We still support auto convert `$ 123,456` to `123456`\n return parsedStr.replace(/[^\\w.-]+/g, '');\n }, [parser, decimalSeparator]);\n\n // >>> Formatter\n var inputValueRef = React.useRef('');\n var mergedFormatter = React.useCallback(function (number, userTyping) {\n if (formatter) {\n return formatter(number, {\n userTyping: userTyping,\n input: String(inputValueRef.current)\n });\n }\n var str = typeof number === 'number' ? num2str(number) : number;\n\n // User typing will not auto format with precision directly\n if (!userTyping) {\n var mergedPrecision = getPrecision(str, userTyping);\n if (validateNumber(str) && (decimalSeparator || mergedPrecision >= 0)) {\n // Separator\n var separatorStr = decimalSeparator || '.';\n str = toFixed(str, separatorStr, mergedPrecision);\n }\n }\n return str;\n }, [formatter, getPrecision, decimalSeparator]);\n\n // ========================== InputValue ==========================\n /**\n * Input text value control\n *\n * User can not update input content directly. It updates with follow rules by priority:\n * 1. controlled `value` changed\n * * [SPECIAL] Typing like `1.` should not immediately convert to `1`\n * 2. User typing with format (not precision)\n * 3. Blur or Enter trigger revalidate\n */\n var _React$useState5 = React.useState(function () {\n var initValue = defaultValue !== null && defaultValue !== void 0 ? defaultValue : value;\n if (decimalValue.isInvalidate() && ['string', 'number'].includes(_typeof(initValue))) {\n return Number.isNaN(initValue) ? '' : initValue;\n }\n return mergedFormatter(decimalValue.toString(), false);\n }),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n inputValue = _React$useState6[0],\n setInternalInputValue = _React$useState6[1];\n inputValueRef.current = inputValue;\n\n // Should always be string\n function setInputValue(newValue, userTyping) {\n setInternalInputValue(mergedFormatter(\n // Invalidate number is sometime passed by external control, we should let it go\n // Otherwise is controlled by internal interactive logic which check by userTyping\n // You can ref 'show limited value when input is not focused' test for more info.\n newValue.isInvalidate() ? newValue.toString(false) : newValue.toString(!userTyping), userTyping));\n }\n\n // >>> Max & Min limit\n var maxDecimal = React.useMemo(function () {\n return getDecimalIfValidate(max);\n }, [max, precision]);\n var minDecimal = React.useMemo(function () {\n return getDecimalIfValidate(min);\n }, [min, precision]);\n var upDisabled = React.useMemo(function () {\n if (!maxDecimal || !decimalValue || decimalValue.isInvalidate()) {\n return false;\n }\n return maxDecimal.lessEquals(decimalValue);\n }, [maxDecimal, decimalValue]);\n var downDisabled = React.useMemo(function () {\n if (!minDecimal || !decimalValue || decimalValue.isInvalidate()) {\n return false;\n }\n return decimalValue.lessEquals(minDecimal);\n }, [minDecimal, decimalValue]);\n\n // Cursor controller\n var _useCursor = useCursor(inputRef.current, focus),\n _useCursor2 = _slicedToArray(_useCursor, 2),\n recordCursor = _useCursor2[0],\n restoreCursor = _useCursor2[1];\n\n // ============================= Data =============================\n /**\n * Find target value closet within range.\n * e.g. [11, 28]:\n * 3 => 11\n * 23 => 23\n * 99 => 28\n */\n var getRangeValue = function getRangeValue(target) {\n // target > max\n if (maxDecimal && !target.lessEquals(maxDecimal)) {\n return maxDecimal;\n }\n\n // target < min\n if (minDecimal && !minDecimal.lessEquals(target)) {\n return minDecimal;\n }\n return null;\n };\n\n /**\n * Check value is in [min, max] range\n */\n var isInRange = function isInRange(target) {\n return !getRangeValue(target);\n };\n\n /**\n * Trigger `onChange` if value validated and not equals of origin.\n * Return the value that re-align in range.\n */\n var triggerValueUpdate = function triggerValueUpdate(newValue, userTyping) {\n var updateValue = newValue;\n var isRangeValidate = isInRange(updateValue) || updateValue.isEmpty();\n\n // Skip align value when trigger value is empty.\n // We just trigger onChange(null)\n // This should not block user typing\n if (!updateValue.isEmpty() && !userTyping) {\n // Revert value in range if needed\n updateValue = getRangeValue(updateValue) || updateValue;\n isRangeValidate = true;\n }\n if (!readOnly && !disabled && isRangeValidate) {\n var numStr = updateValue.toString();\n var mergedPrecision = getPrecision(numStr, userTyping);\n if (mergedPrecision >= 0) {\n updateValue = getMiniDecimal(toFixed(numStr, '.', mergedPrecision));\n\n // When to fixed. The value may out of min & max range.\n // 4 in [0, 3.8] => 3.8 => 4 (toFixed)\n if (!isInRange(updateValue)) {\n updateValue = getMiniDecimal(toFixed(numStr, '.', mergedPrecision, true));\n }\n }\n\n // Trigger event\n if (!updateValue.equals(decimalValue)) {\n setUncontrolledDecimalValue(updateValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(updateValue.isEmpty() ? null : getDecimalValue(stringMode, updateValue));\n\n // Reformat input if value is not controlled\n if (value === undefined) {\n setInputValue(updateValue, userTyping);\n }\n }\n return updateValue;\n }\n return decimalValue;\n };\n\n // ========================== User Input ==========================\n var onNextPromise = useFrame();\n\n // >>> Collect input value\n var collectInputValue = function collectInputValue(inputStr) {\n recordCursor();\n\n // Update inputValue in case input can not parse as number\n // Refresh ref value immediately since it may used by formatter\n inputValueRef.current = inputStr;\n setInternalInputValue(inputStr);\n\n // Parse number\n if (!compositionRef.current) {\n var finalValue = mergedParser(inputStr);\n var finalDecimal = getMiniDecimal(finalValue);\n if (!finalDecimal.isNaN()) {\n triggerValueUpdate(finalDecimal, true);\n }\n }\n\n // Trigger onInput later to let user customize value if they want to handle something after onChange\n onInput === null || onInput === void 0 ? void 0 : onInput(inputStr);\n\n // optimize for chinese input experience\n // https://github.com/ant-design/ant-design/issues/8196\n onNextPromise(function () {\n var nextInputStr = inputStr;\n if (!parser) {\n nextInputStr = inputStr.replace(/。/g, '.');\n }\n if (nextInputStr !== inputStr) {\n collectInputValue(nextInputStr);\n }\n });\n };\n\n // >>> Composition\n var onCompositionStart = function onCompositionStart() {\n compositionRef.current = true;\n };\n var onCompositionEnd = function onCompositionEnd() {\n compositionRef.current = false;\n collectInputValue(inputRef.current.value);\n };\n\n // >>> Input\n var onInternalInput = function onInternalInput(e) {\n collectInputValue(e.target.value);\n };\n\n // ============================= Step =============================\n var onInternalStep = function onInternalStep(up) {\n var _inputRef$current;\n // Ignore step since out of range\n if (up && upDisabled || !up && downDisabled) {\n return;\n }\n\n // Clear typing status since it may be caused by up & down key.\n // We should sync with input value.\n userTypingRef.current = false;\n var stepDecimal = getMiniDecimal(shiftKeyRef.current ? getDecupleSteps(step) : step);\n if (!up) {\n stepDecimal = stepDecimal.negate();\n }\n var target = (decimalValue || getMiniDecimal(0)).add(stepDecimal.toString());\n var updatedValue = triggerValueUpdate(target, false);\n onStep === null || onStep === void 0 ? void 0 : onStep(getDecimalValue(stringMode, updatedValue), {\n offset: shiftKeyRef.current ? getDecupleSteps(step) : step,\n type: up ? 'up' : 'down'\n });\n (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();\n };\n\n // ============================ Flush =============================\n /**\n * Flush current input content to trigger value change & re-formatter input if needed.\n * This will always flush input value for update.\n * If it's invalidate, will fallback to last validate value.\n */\n var flushInputValue = function flushInputValue(userTyping) {\n var parsedValue = getMiniDecimal(mergedParser(inputValue));\n var formatValue = parsedValue;\n if (!parsedValue.isNaN()) {\n // Only validate value or empty value can be re-fill to inputValue\n // Reassign the formatValue within ranged of trigger control\n formatValue = triggerValueUpdate(parsedValue, userTyping);\n } else {\n formatValue = triggerValueUpdate(decimalValue, userTyping);\n }\n if (value !== undefined) {\n // Reset back with controlled value first\n setInputValue(decimalValue, false);\n } else if (!formatValue.isNaN()) {\n // Reset input back since no validate value\n setInputValue(formatValue, false);\n }\n };\n\n // Solve the issue of the event triggering sequence when entering numbers in chinese input (Safari)\n var onBeforeInput = function onBeforeInput() {\n userTypingRef.current = true;\n };\n var onKeyDown = function onKeyDown(event) {\n var key = event.key,\n shiftKey = event.shiftKey;\n userTypingRef.current = true;\n shiftKeyRef.current = shiftKey;\n if (key === 'Enter') {\n if (!compositionRef.current) {\n userTypingRef.current = false;\n }\n flushInputValue(false);\n onPressEnter === null || onPressEnter === void 0 ? void 0 : onPressEnter(event);\n }\n if (keyboard === false) {\n return;\n }\n\n // Do step\n if (!compositionRef.current && ['Up', 'ArrowUp', 'Down', 'ArrowDown'].includes(key)) {\n onInternalStep(key === 'Up' || key === 'ArrowUp');\n event.preventDefault();\n }\n };\n var onKeyUp = function onKeyUp() {\n userTypingRef.current = false;\n shiftKeyRef.current = false;\n };\n\n // >>> Focus & Blur\n var onBlur = function onBlur() {\n flushInputValue(false);\n setFocus(false);\n userTypingRef.current = false;\n };\n\n // ========================== Controlled ==========================\n // Input by precision\n useLayoutUpdateEffect(function () {\n if (!decimalValue.isInvalidate()) {\n setInputValue(decimalValue, false);\n }\n }, [precision]);\n\n // Input by value\n useLayoutUpdateEffect(function () {\n var newValue = getMiniDecimal(value);\n setDecimalValue(newValue);\n var currentParsedValue = getMiniDecimal(mergedParser(inputValue));\n\n // When user typing from `1.2` to `1.`, we should not convert to `1` immediately.\n // But let it go if user set `formatter`\n if (!newValue.equals(currentParsedValue) || !userTypingRef.current || formatter) {\n // Update value as effect\n setInputValue(newValue, userTypingRef.current);\n }\n }, [value]);\n\n // ============================ Cursor ============================\n useLayoutUpdateEffect(function () {\n if (formatter) {\n restoreCursor();\n }\n }, [inputValue]);\n\n // ============================ Render ============================\n return /*#__PURE__*/React.createElement(\"div\", {\n className: clsx(prefixCls, classNames === null || classNames === void 0 ? void 0 : classNames.input, className, (_clsx = {}, _defineProperty(_clsx, \"\".concat(prefixCls, \"-focused\"), focus), _defineProperty(_clsx, \"\".concat(prefixCls, \"-disabled\"), disabled), _defineProperty(_clsx, \"\".concat(prefixCls, \"-readonly\"), readOnly), _defineProperty(_clsx, \"\".concat(prefixCls, \"-not-a-number\"), decimalValue.isNaN()), _defineProperty(_clsx, \"\".concat(prefixCls, \"-out-of-range\"), !decimalValue.isInvalidate() && !isInRange(decimalValue)), _clsx)),\n style: style,\n onFocus: function onFocus() {\n setFocus(true);\n },\n onBlur: onBlur,\n onKeyDown: onKeyDown,\n onKeyUp: onKeyUp,\n onCompositionStart: onCompositionStart,\n onCompositionEnd: onCompositionEnd,\n onBeforeInput: onBeforeInput\n }, controls && /*#__PURE__*/React.createElement(StepHandler, {\n prefixCls: prefixCls,\n upNode: upHandler,\n downNode: downHandler,\n upDisabled: upDisabled,\n downDisabled: downDisabled,\n onStep: onInternalStep\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(inputClassName, \"-wrap\")\n }, /*#__PURE__*/React.createElement(\"input\", _extends({\n autoComplete: \"off\",\n role: \"spinbutton\",\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n \"aria-valuenow\": decimalValue.isInvalidate() ? null : decimalValue.toString(),\n step: step\n }, inputProps, {\n ref: composeRef(inputRef, ref),\n className: inputClassName,\n value: inputValue,\n onChange: onInternalInput,\n disabled: disabled,\n readOnly: readOnly\n }))));\n});\nvar InputNumber = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var disabled = props.disabled,\n style = props.style,\n prefixCls = props.prefixCls,\n value = props.value,\n prefix = props.prefix,\n suffix = props.suffix,\n addonBefore = props.addonBefore,\n addonAfter = props.addonAfter,\n classes = props.classes,\n className = props.className,\n classNames = props.classNames,\n rest = _objectWithoutProperties(props, _excluded2);\n var inputFocusRef = React.useRef(null);\n var focus = function focus(option) {\n if (inputFocusRef.current) {\n triggerFocus(inputFocusRef.current, option);\n }\n };\n return /*#__PURE__*/React.createElement(BaseInput, {\n inputElement: /*#__PURE__*/React.createElement(InternalInputNumber, _extends({\n prefixCls: prefixCls,\n disabled: disabled,\n classNames: classNames,\n ref: composeRef(inputFocusRef, ref)\n }, rest)),\n className: className,\n triggerFocus: focus,\n prefixCls: prefixCls,\n value: value,\n disabled: disabled,\n style: style,\n prefix: prefix,\n suffix: suffix,\n addonAfter: addonAfter,\n addonBefore: addonBefore,\n classes: classes,\n classNames: classNames,\n components: {\n affixWrapper: 'div',\n groupWrapper: 'div',\n wrapper: 'div',\n groupAddon: 'div'\n }\n });\n});\nInputNumber.displayName = 'InputNumber';\nexport default InputNumber;","import InputNumber from \"./InputNumber\";\nexport default InputNumber;","import { genActiveStyle, genBasicInputStyle, genDisabledStyle, genHoverStyle, genInputGroupStyle, genPlaceholderStyle, genStatusStyle, initInputToken } from '../../input/style';\nimport { resetComponent, resetIcon } from '../../style';\nimport { genCompactItemStyle } from '../../style/compact-item';\nimport { genComponentStyleHook } from '../../theme/internal';\nexport const genRadiusStyle = (_ref, size) => {\n let {\n componentCls,\n borderRadiusSM,\n borderRadiusLG\n } = _ref;\n const borderRadius = size === 'lg' ? borderRadiusLG : borderRadiusSM;\n return {\n [`&-${size}`]: {\n [`${componentCls}-handler-wrap`]: {\n borderStartEndRadius: borderRadius,\n borderEndEndRadius: borderRadius\n },\n [`${componentCls}-handler-up`]: {\n borderStartEndRadius: borderRadius\n },\n [`${componentCls}-handler-down`]: {\n borderEndEndRadius: borderRadius\n }\n }\n };\n};\nconst genInputNumberStyles = token => {\n const {\n componentCls,\n lineWidth,\n lineType,\n colorBorder,\n borderRadius,\n fontSizeLG,\n controlHeightLG,\n controlHeightSM,\n colorError,\n inputPaddingHorizontalSM,\n colorTextDescription,\n motionDurationMid,\n colorPrimary,\n inputPaddingHorizontal,\n inputPaddingVertical,\n colorBgContainer,\n colorTextDisabled,\n borderRadiusSM,\n borderRadiusLG,\n controlWidth,\n handleVisible\n } = token;\n return [{\n [componentCls]: Object.assign(Object.assign(Object.assign(Object.assign({}, resetComponent(token)), genBasicInputStyle(token)), genStatusStyle(token, componentCls)), {\n display: 'inline-block',\n width: controlWidth,\n margin: 0,\n padding: 0,\n border: `${lineWidth}px ${lineType} ${colorBorder}`,\n borderRadius,\n '&-rtl': {\n direction: 'rtl',\n [`${componentCls}-input`]: {\n direction: 'rtl'\n }\n },\n '&-lg': {\n padding: 0,\n fontSize: fontSizeLG,\n borderRadius: borderRadiusLG,\n [`input${componentCls}-input`]: {\n height: controlHeightLG - 2 * lineWidth\n }\n },\n '&-sm': {\n padding: 0,\n borderRadius: borderRadiusSM,\n [`input${componentCls}-input`]: {\n height: controlHeightSM - 2 * lineWidth,\n padding: `0 ${inputPaddingHorizontalSM}px`\n }\n },\n '&:hover': Object.assign({}, genHoverStyle(token)),\n '&-focused': Object.assign({}, genActiveStyle(token)),\n // ===================== Out Of Range =====================\n '&-out-of-range': {\n [`${componentCls}-input-wrap`]: {\n input: {\n color: colorError\n }\n }\n },\n // Style for input-group: input with label, with button or dropdown...\n '&-group': Object.assign(Object.assign(Object.assign({}, resetComponent(token)), genInputGroupStyle(token)), {\n '&-wrapper': {\n display: 'inline-block',\n textAlign: 'start',\n verticalAlign: 'top',\n [`${componentCls}-affix-wrapper`]: {\n width: '100%'\n },\n // Size\n '&-lg': {\n [`${componentCls}-group-addon`]: {\n borderRadius: borderRadiusLG,\n fontSize: token.fontSizeLG\n }\n },\n '&-sm': {\n [`${componentCls}-group-addon`]: {\n borderRadius: borderRadiusSM\n }\n },\n [`${componentCls}-wrapper-disabled > ${componentCls}-group-addon`]: Object.assign({}, genDisabledStyle(token))\n }\n }),\n [`&-disabled ${componentCls}-input`]: {\n cursor: 'not-allowed'\n },\n [componentCls]: {\n '&-input': Object.assign(Object.assign(Object.assign(Object.assign({}, resetComponent(token)), {\n width: '100%',\n padding: `${inputPaddingVertical}px ${inputPaddingHorizontal}px`,\n textAlign: 'start',\n backgroundColor: 'transparent',\n border: 0,\n borderRadius,\n outline: 0,\n transition: `all ${motionDurationMid} linear`,\n appearance: 'textfield',\n fontSize: 'inherit'\n }), genPlaceholderStyle(token.colorTextPlaceholder)), {\n '&[type=\"number\"]::-webkit-inner-spin-button, &[type=\"number\"]::-webkit-outer-spin-button': {\n margin: 0,\n /* stylelint-disable-next-line property-no-vendor-prefix */\n webkitAppearance: 'none',\n appearance: 'none'\n }\n })\n }\n })\n },\n // Handler\n {\n [componentCls]: Object.assign(Object.assign(Object.assign({\n [`&:hover ${componentCls}-handler-wrap, &-focused ${componentCls}-handler-wrap`]: {\n opacity: 1\n },\n [`${componentCls}-handler-wrap`]: {\n position: 'absolute',\n insetBlockStart: 0,\n insetInlineEnd: 0,\n width: token.handleWidth,\n height: '100%',\n background: colorBgContainer,\n borderStartStartRadius: 0,\n borderStartEndRadius: borderRadius,\n borderEndEndRadius: borderRadius,\n borderEndStartRadius: 0,\n opacity: handleVisible === true ? 1 : 0,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'stretch',\n transition: `opacity ${motionDurationMid} linear ${motionDurationMid}`,\n // Fix input number inside Menu makes icon too large\n // We arise the selector priority by nest selector here\n // https://github.com/ant-design/ant-design/issues/14367\n [`${componentCls}-handler`]: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flex: 'auto',\n height: '40%',\n [`\n ${componentCls}-handler-up-inner,\n ${componentCls}-handler-down-inner\n `]: {\n marginInlineEnd: 0,\n fontSize: token.handleFontSize\n }\n }\n },\n [`${componentCls}-handler`]: {\n height: '50%',\n overflow: 'hidden',\n color: colorTextDescription,\n fontWeight: 'bold',\n lineHeight: 0,\n textAlign: 'center',\n cursor: 'pointer',\n borderInlineStart: `${lineWidth}px ${lineType} ${colorBorder}`,\n transition: `all ${motionDurationMid} linear`,\n '&:active': {\n background: token.colorFillAlter\n },\n // Hover\n '&:hover': {\n height: `60%`,\n [`\n ${componentCls}-handler-up-inner,\n ${componentCls}-handler-down-inner\n `]: {\n color: colorPrimary\n }\n },\n '&-up-inner, &-down-inner': Object.assign(Object.assign({}, resetIcon()), {\n color: colorTextDescription,\n transition: `all ${motionDurationMid} linear`,\n userSelect: 'none'\n })\n },\n [`${componentCls}-handler-up`]: {\n borderStartEndRadius: borderRadius\n },\n [`${componentCls}-handler-down`]: {\n borderBlockStart: `${lineWidth}px ${lineType} ${colorBorder}`,\n borderEndEndRadius: borderRadius\n }\n }, genRadiusStyle(token, 'lg')), genRadiusStyle(token, 'sm')), {\n // Disabled\n '&-disabled, &-readonly': {\n [`${componentCls}-handler-wrap`]: {\n display: 'none'\n },\n [`${componentCls}-input`]: {\n color: 'inherit'\n }\n },\n [`\n ${componentCls}-handler-up-disabled,\n ${componentCls}-handler-down-disabled\n `]: {\n cursor: 'not-allowed'\n },\n [`\n ${componentCls}-handler-up-disabled:hover &-handler-up-inner,\n ${componentCls}-handler-down-disabled:hover &-handler-down-inner\n `]: {\n color: colorTextDisabled\n }\n })\n },\n // Border-less\n {\n [`${componentCls}-borderless`]: {\n borderColor: 'transparent',\n boxShadow: 'none',\n [`${componentCls}-handler-down`]: {\n borderBlockStartWidth: 0\n }\n }\n }];\n};\nconst genAffixWrapperStyles = token => {\n const {\n componentCls,\n inputPaddingVertical,\n inputPaddingHorizontal,\n inputAffixPadding,\n controlWidth,\n borderRadiusLG,\n borderRadiusSM\n } = token;\n return {\n [`${componentCls}-affix-wrapper`]: Object.assign(Object.assign(Object.assign({}, genBasicInputStyle(token)), genStatusStyle(token, `${componentCls}-affix-wrapper`)), {\n // or number handler will cover form status\n position: 'relative',\n display: 'inline-flex',\n width: controlWidth,\n padding: 0,\n paddingInlineStart: inputPaddingHorizontal,\n '&-lg': {\n borderRadius: borderRadiusLG\n },\n '&-sm': {\n borderRadius: borderRadiusSM\n },\n [`&:not(${componentCls}-affix-wrapper-disabled):hover`]: Object.assign(Object.assign({}, genHoverStyle(token)), {\n zIndex: 1\n }),\n '&-focused, &:focus': {\n zIndex: 1\n },\n [`&-disabled > ${componentCls}-disabled`]: {\n background: 'transparent'\n },\n [`> div${componentCls}`]: {\n width: '100%',\n border: 'none',\n outline: 'none',\n [`&${componentCls}-focused`]: {\n boxShadow: 'none !important'\n }\n },\n [`input${componentCls}-input`]: {\n padding: `${inputPaddingVertical}px 0`\n },\n '&::before': {\n display: 'inline-block',\n width: 0,\n visibility: 'hidden',\n content: '\"\\\\a0\"'\n },\n [`${componentCls}-handler-wrap`]: {\n zIndex: 2\n },\n [componentCls]: {\n '&-prefix, &-suffix': {\n display: 'flex',\n flex: 'none',\n alignItems: 'center',\n pointerEvents: 'none'\n },\n '&-prefix': {\n marginInlineEnd: inputAffixPadding\n },\n '&-suffix': {\n position: 'absolute',\n insetBlockStart: 0,\n insetInlineEnd: 0,\n zIndex: 1,\n height: '100%',\n marginInlineEnd: inputPaddingHorizontal,\n marginInlineStart: inputAffixPadding\n }\n }\n })\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('InputNumber', token => {\n const inputNumberToken = initInputToken(token);\n return [genInputNumberStyles(inputNumberToken), genAffixWrapperStyles(inputNumberToken),\n // =====================================================\n // == Space Compact ==\n // =====================================================\n genCompactItemStyle(inputNumberToken)];\n}, token => ({\n controlWidth: 90,\n handleWidth: token.controlHeightSM - token.lineWidth * 2,\n handleFontSize: token.fontSize / 2,\n handleVisible: 'auto'\n}));","'use client';\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport DownOutlined from \"@ant-design/icons/es/icons/DownOutlined\";\nimport UpOutlined from \"@ant-design/icons/es/icons/UpOutlined\";\nimport classNames from 'classnames';\nimport RcInputNumber from 'rc-input-number';\nimport * as React from 'react';\nimport { getMergedStatus, getStatusClassNames } from '../_util/statusUtils';\nimport ConfigProvider, { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport useSize from '../config-provider/hooks/useSize';\nimport { FormItemInputContext, NoFormStyle } from '../form/context';\nimport { NoCompactStyle, useCompactItemContext } from '../space/Compact';\nimport useStyle from './style';\nconst InputNumber = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const inputRef = React.useRef(null);\n React.useImperativeHandle(ref, () => inputRef.current);\n const {\n className,\n rootClassName,\n size: customizeSize,\n disabled: customDisabled,\n prefixCls: customizePrefixCls,\n addonBefore,\n addonAfter,\n prefix,\n bordered = true,\n readOnly,\n status: customStatus,\n controls\n } = props,\n others = __rest(props, [\"className\", \"rootClassName\", \"size\", \"disabled\", \"prefixCls\", \"addonBefore\", \"addonAfter\", \"prefix\", \"bordered\", \"readOnly\", \"status\", \"controls\"]);\n const prefixCls = getPrefixCls('input-number', customizePrefixCls);\n // Style\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const {\n compactSize,\n compactItemClassnames\n } = useCompactItemContext(prefixCls, direction);\n let upIcon = /*#__PURE__*/React.createElement(UpOutlined, {\n className: `${prefixCls}-handler-up-inner`\n });\n let downIcon = /*#__PURE__*/React.createElement(DownOutlined, {\n className: `${prefixCls}-handler-down-inner`\n });\n const controlsTemp = typeof controls === 'boolean' ? controls : undefined;\n if (typeof controls === 'object') {\n upIcon = typeof controls.upIcon === 'undefined' ? upIcon : /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-handler-up-inner`\n }, controls.upIcon);\n downIcon = typeof controls.downIcon === 'undefined' ? downIcon : /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-handler-down-inner`\n }, controls.downIcon);\n }\n const {\n hasFeedback,\n status: contextStatus,\n isFormItemInput,\n feedbackIcon\n } = React.useContext(FormItemInputContext);\n const mergedStatus = getMergedStatus(contextStatus, customStatus);\n const mergedSize = useSize(ctx => {\n var _a;\n return (_a = customizeSize !== null && customizeSize !== void 0 ? customizeSize : compactSize) !== null && _a !== void 0 ? _a : ctx;\n });\n // ===================== Disabled =====================\n const disabled = React.useContext(DisabledContext);\n const mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;\n const inputNumberClass = classNames({\n [`${prefixCls}-lg`]: mergedSize === 'large',\n [`${prefixCls}-sm`]: mergedSize === 'small',\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-borderless`]: !bordered,\n [`${prefixCls}-in-form-item`]: isFormItemInput\n }, getStatusClassNames(prefixCls, mergedStatus), compactItemClassnames, hashId);\n const wrapperClassName = `${prefixCls}-group`;\n const element = /*#__PURE__*/React.createElement(RcInputNumber, Object.assign({\n ref: inputRef,\n disabled: mergedDisabled,\n className: classNames(className, rootClassName),\n upHandler: upIcon,\n downHandler: downIcon,\n prefixCls: prefixCls,\n readOnly: readOnly,\n controls: controlsTemp,\n prefix: prefix,\n suffix: hasFeedback && feedbackIcon,\n addonAfter: addonAfter && /*#__PURE__*/React.createElement(NoCompactStyle, null, /*#__PURE__*/React.createElement(NoFormStyle, {\n override: true,\n status: true\n }, addonAfter)),\n addonBefore: addonBefore && /*#__PURE__*/React.createElement(NoCompactStyle, null, /*#__PURE__*/React.createElement(NoFormStyle, {\n override: true,\n status: true\n }, addonBefore)),\n classNames: {\n input: inputNumberClass\n },\n classes: {\n affixWrapper: classNames(getStatusClassNames(`${prefixCls}-affix-wrapper`, mergedStatus, hasFeedback), {\n [`${prefixCls}-affix-wrapper-sm`]: mergedSize === 'small',\n [`${prefixCls}-affix-wrapper-lg`]: mergedSize === 'large',\n [`${prefixCls}-affix-wrapper-rtl`]: direction === 'rtl',\n [`${prefixCls}-affix-wrapper-borderless`]: !bordered\n }, hashId),\n wrapper: classNames({\n [`${wrapperClassName}-rtl`]: direction === 'rtl',\n [`${prefixCls}-wrapper-disabled`]: mergedDisabled\n }, hashId),\n group: classNames({\n [`${prefixCls}-group-wrapper-sm`]: mergedSize === 'small',\n [`${prefixCls}-group-wrapper-lg`]: mergedSize === 'large',\n [`${prefixCls}-group-wrapper-rtl`]: direction === 'rtl'\n }, getStatusClassNames(`${prefixCls}-group-wrapper`, mergedStatus, hasFeedback), hashId)\n }\n }, others));\n return wrapSSR(element);\n});\nconst TypedInputNumber = InputNumber;\n/** @private Internal Component. Do not use in your production. */\nconst PureInputNumber = props => /*#__PURE__*/React.createElement(ConfigProvider, {\n theme: {\n components: {\n InputNumber: {\n handleVisible: true\n }\n }\n }\n}, /*#__PURE__*/React.createElement(InputNumber, Object.assign({}, props)));\nif (process.env.NODE_ENV !== 'production') {\n TypedInputNumber.displayName = 'InputNumber';\n}\nTypedInputNumber._InternalPanelDoNotUseOrYouWillBeFired = PureInputNumber;\nexport default TypedInputNumber;","// eslint-disable-next-line import/prefer-default-export\nexport function hasPrefixSuffix(props) {\n return !!(props.prefix || props.suffix || props.allowClear);\n}","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport classNames from 'classnames';\nimport RcInput from 'rc-input';\nimport { composeRef } from \"rc-util/es/ref\";\nimport React, { forwardRef, useContext, useEffect, useRef } from 'react';\nimport { getMergedStatus, getStatusClassNames } from '../_util/statusUtils';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport useSize from '../config-provider/hooks/useSize';\nimport { FormItemInputContext, NoFormStyle } from '../form/context';\nimport { NoCompactStyle, useCompactItemContext } from '../space/Compact';\nimport useRemovePasswordTimeout from './hooks/useRemovePasswordTimeout';\nimport useStyle from './style';\nimport { hasPrefixSuffix } from './utils';\nexport function triggerFocus(element, option) {\n if (!element) {\n return;\n }\n element.focus(option);\n // Selection content\n const {\n cursor\n } = option || {};\n if (cursor) {\n const len = element.value.length;\n switch (cursor) {\n case 'start':\n element.setSelectionRange(0, 0);\n break;\n case 'end':\n element.setSelectionRange(len, len);\n break;\n default:\n element.setSelectionRange(0, len);\n break;\n }\n }\n}\nconst Input = /*#__PURE__*/forwardRef((props, ref) => {\n var _a;\n const {\n prefixCls: customizePrefixCls,\n bordered = true,\n status: customStatus,\n size: customSize,\n disabled: customDisabled,\n onBlur,\n onFocus,\n suffix,\n allowClear,\n addonAfter,\n addonBefore,\n className,\n style,\n styles,\n rootClassName,\n onChange,\n classNames: classes\n } = props,\n rest = __rest(props, [\"prefixCls\", \"bordered\", \"status\", \"size\", \"disabled\", \"onBlur\", \"onFocus\", \"suffix\", \"allowClear\", \"addonAfter\", \"addonBefore\", \"className\", \"style\", \"styles\", \"rootClassName\", \"onChange\", \"classNames\"]);\n const {\n getPrefixCls,\n direction,\n input\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('input', customizePrefixCls);\n const inputRef = useRef(null);\n // Style\n const [wrapSSR, hashId] = useStyle(prefixCls);\n // ===================== Compact Item =====================\n const {\n compactSize,\n compactItemClassnames\n } = useCompactItemContext(prefixCls, direction);\n // ===================== Size =====================\n const mergedSize = useSize(ctx => {\n var _a;\n return (_a = customSize !== null && customSize !== void 0 ? customSize : compactSize) !== null && _a !== void 0 ? _a : ctx;\n });\n // ===================== Disabled =====================\n const disabled = React.useContext(DisabledContext);\n const mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;\n // ===================== Status =====================\n const {\n status: contextStatus,\n hasFeedback,\n feedbackIcon\n } = useContext(FormItemInputContext);\n const mergedStatus = getMergedStatus(contextStatus, customStatus);\n // ===================== Focus warning =====================\n const inputHasPrefixSuffix = hasPrefixSuffix(props) || !!hasFeedback;\n const prevHasPrefixSuffix = useRef(inputHasPrefixSuffix);\n useEffect(() => {\n var _a;\n if (inputHasPrefixSuffix && !prevHasPrefixSuffix.current) {\n process.env.NODE_ENV !== \"production\" ? warning(document.activeElement === ((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.input), 'Input', `When Input is focused, dynamic add or remove prefix / suffix will make it lose focus caused by dom structure change. Read more: https://ant.design/components/input/#FAQ`) : void 0;\n }\n prevHasPrefixSuffix.current = inputHasPrefixSuffix;\n }, [inputHasPrefixSuffix]);\n // ===================== Remove Password value =====================\n const removePasswordTimeout = useRemovePasswordTimeout(inputRef, true);\n const handleBlur = e => {\n removePasswordTimeout();\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);\n };\n const handleFocus = e => {\n removePasswordTimeout();\n onFocus === null || onFocus === void 0 ? void 0 : onFocus(e);\n };\n const handleChange = e => {\n removePasswordTimeout();\n onChange === null || onChange === void 0 ? void 0 : onChange(e);\n };\n const suffixNode = (hasFeedback || suffix) && /*#__PURE__*/React.createElement(React.Fragment, null, suffix, hasFeedback && feedbackIcon);\n // Allow clear\n let mergedAllowClear;\n if (typeof allowClear === 'object' && (allowClear === null || allowClear === void 0 ? void 0 : allowClear.clearIcon)) {\n mergedAllowClear = allowClear;\n } else if (allowClear) {\n mergedAllowClear = {\n clearIcon: /*#__PURE__*/React.createElement(CloseCircleFilled, null)\n };\n }\n return wrapSSR( /*#__PURE__*/React.createElement(RcInput, Object.assign({\n ref: composeRef(ref, inputRef),\n prefixCls: prefixCls,\n autoComplete: input === null || input === void 0 ? void 0 : input.autoComplete\n }, rest, {\n disabled: mergedDisabled,\n onBlur: handleBlur,\n onFocus: handleFocus,\n style: Object.assign(Object.assign({}, input === null || input === void 0 ? void 0 : input.style), style),\n styles: Object.assign(Object.assign({}, input === null || input === void 0 ? void 0 : input.styles), styles),\n suffix: suffixNode,\n allowClear: mergedAllowClear,\n className: classNames(className, rootClassName, compactItemClassnames, input === null || input === void 0 ? void 0 : input.className),\n onChange: handleChange,\n addonAfter: addonAfter && /*#__PURE__*/React.createElement(NoCompactStyle, null, /*#__PURE__*/React.createElement(NoFormStyle, {\n override: true,\n status: true\n }, addonAfter)),\n addonBefore: addonBefore && /*#__PURE__*/React.createElement(NoCompactStyle, null, /*#__PURE__*/React.createElement(NoFormStyle, {\n override: true,\n status: true\n }, addonBefore)),\n classNames: Object.assign(Object.assign(Object.assign({}, classes), input === null || input === void 0 ? void 0 : input.classNames), {\n input: classNames({\n [`${prefixCls}-sm`]: mergedSize === 'small',\n [`${prefixCls}-lg`]: mergedSize === 'large',\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-borderless`]: !bordered\n }, !inputHasPrefixSuffix && getStatusClassNames(prefixCls, mergedStatus), classes === null || classes === void 0 ? void 0 : classes.input, (_a = input === null || input === void 0 ? void 0 : input.classNames) === null || _a === void 0 ? void 0 : _a.input, hashId)\n }),\n classes: {\n affixWrapper: classNames({\n [`${prefixCls}-affix-wrapper-sm`]: mergedSize === 'small',\n [`${prefixCls}-affix-wrapper-lg`]: mergedSize === 'large',\n [`${prefixCls}-affix-wrapper-rtl`]: direction === 'rtl',\n [`${prefixCls}-affix-wrapper-borderless`]: !bordered\n }, getStatusClassNames(`${prefixCls}-affix-wrapper`, mergedStatus, hasFeedback), hashId),\n wrapper: classNames({\n [`${prefixCls}-group-rtl`]: direction === 'rtl'\n }, hashId),\n group: classNames({\n [`${prefixCls}-group-wrapper-sm`]: mergedSize === 'small',\n [`${prefixCls}-group-wrapper-lg`]: mergedSize === 'large',\n [`${prefixCls}-group-wrapper-rtl`]: direction === 'rtl',\n [`${prefixCls}-group-wrapper-disabled`]: mergedDisabled\n }, getStatusClassNames(`${prefixCls}-group-wrapper`, mergedStatus, hasFeedback), hashId)\n }\n })));\n});\nexport default Input;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport classNames from 'classnames';\nimport RcTextArea from 'rc-textarea';\nimport * as React from 'react';\nimport { forwardRef } from 'react';\nimport { getMergedStatus, getStatusClassNames } from '../_util/statusUtils';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport useSize from '../config-provider/hooks/useSize';\nimport { FormItemInputContext } from '../form/context';\nimport { triggerFocus } from './Input';\nimport useStyle from './style';\nconst TextArea = /*#__PURE__*/forwardRef((props, ref) => {\n const {\n prefixCls: customizePrefixCls,\n bordered = true,\n size: customizeSize,\n disabled: customDisabled,\n status: customStatus,\n allowClear,\n showCount,\n classNames: classes\n } = props,\n rest = __rest(props, [\"prefixCls\", \"bordered\", \"size\", \"disabled\", \"status\", \"allowClear\", \"showCount\", \"classNames\"]);\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n // ===================== Size =====================\n const mergedSize = useSize(customizeSize);\n // ===================== Disabled =====================\n const disabled = React.useContext(DisabledContext);\n const mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;\n // ===================== Status =====================\n const {\n status: contextStatus,\n hasFeedback,\n feedbackIcon\n } = React.useContext(FormItemInputContext);\n const mergedStatus = getMergedStatus(contextStatus, customStatus);\n // ===================== Ref =====================\n const innerRef = React.useRef(null);\n React.useImperativeHandle(ref, () => {\n var _a;\n return {\n resizableTextArea: (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.resizableTextArea,\n focus: option => {\n var _a, _b;\n triggerFocus((_b = (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.resizableTextArea) === null || _b === void 0 ? void 0 : _b.textArea, option);\n },\n blur: () => {\n var _a;\n return (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.blur();\n }\n };\n });\n const prefixCls = getPrefixCls('input', customizePrefixCls);\n // Allow clear\n let mergedAllowClear;\n if (typeof allowClear === 'object' && (allowClear === null || allowClear === void 0 ? void 0 : allowClear.clearIcon)) {\n mergedAllowClear = allowClear;\n } else if (allowClear) {\n mergedAllowClear = {\n clearIcon: /*#__PURE__*/React.createElement(CloseCircleFilled, null)\n };\n }\n // ===================== Style =====================\n const [wrapSSR, hashId] = useStyle(prefixCls);\n return wrapSSR( /*#__PURE__*/React.createElement(RcTextArea, Object.assign({}, rest, {\n disabled: mergedDisabled,\n allowClear: mergedAllowClear,\n classes: {\n affixWrapper: classNames(`${prefixCls}-textarea-affix-wrapper`, {\n [`${prefixCls}-affix-wrapper-rtl`]: direction === 'rtl',\n [`${prefixCls}-affix-wrapper-borderless`]: !bordered,\n [`${prefixCls}-affix-wrapper-sm`]: mergedSize === 'small',\n [`${prefixCls}-affix-wrapper-lg`]: mergedSize === 'large',\n [`${prefixCls}-textarea-show-count`]: showCount\n }, getStatusClassNames(`${prefixCls}-affix-wrapper`, mergedStatus), hashId)\n },\n classNames: Object.assign(Object.assign({}, classes), {\n textarea: classNames({\n [`${prefixCls}-borderless`]: !bordered,\n [`${prefixCls}-sm`]: mergedSize === 'small',\n [`${prefixCls}-lg`]: mergedSize === 'large'\n }, getStatusClassNames(prefixCls, mergedStatus), hashId, classes === null || classes === void 0 ? void 0 : classes.textarea)\n }),\n prefixCls: prefixCls,\n suffix: hasFeedback && /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-textarea-suffix`\n }, feedbackIcon),\n showCount: showCount,\n ref: innerRef\n })));\n});\nexport default TextArea;","import { useEffect, useRef } from 'react';\nexport default function useRemovePasswordTimeout(inputRef, triggerOnMount) {\n const removePasswordTimeoutRef = useRef([]);\n const removePasswordTimeout = () => {\n removePasswordTimeoutRef.current.push(setTimeout(() => {\n var _a, _b, _c, _d;\n if (((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.input) && ((_b = inputRef.current) === null || _b === void 0 ? void 0 : _b.input.getAttribute('type')) === 'password' && ((_c = inputRef.current) === null || _c === void 0 ? void 0 : _c.input.hasAttribute('value'))) {\n (_d = inputRef.current) === null || _d === void 0 ? void 0 : _d.input.removeAttribute('value');\n }\n }));\n };\n useEffect(() => {\n if (triggerOnMount) {\n removePasswordTimeout();\n }\n return () => removePasswordTimeoutRef.current.forEach(timer => {\n if (timer) {\n clearTimeout(timer);\n }\n });\n }, []);\n return removePasswordTimeout;\n}","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport { FormItemInputContext } from '../form/context';\nimport useStyle from './style';\nconst Group = props => {\n const {\n getPrefixCls,\n direction\n } = useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls,\n className\n } = props;\n const prefixCls = getPrefixCls('input-group', customizePrefixCls);\n const inputPrefixCls = getPrefixCls('input');\n const [wrapSSR, hashId] = useStyle(inputPrefixCls);\n const cls = classNames(prefixCls, {\n [`${prefixCls}-lg`]: props.size === 'large',\n [`${prefixCls}-sm`]: props.size === 'small',\n [`${prefixCls}-compact`]: props.compact,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, hashId, className);\n const formItemContext = useContext(FormItemInputContext);\n const groupFormItemContext = useMemo(() => Object.assign(Object.assign({}, formItemContext), {\n isFormItemInput: false\n }), [formItemContext]);\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Input.Group', `'Input.Group' is deprecated. Please use 'Space.Compact' instead.`) : void 0;\n }\n return wrapSSR( /*#__PURE__*/React.createElement(\"span\", {\n className: cls,\n style: props.style,\n onMouseEnter: props.onMouseEnter,\n onMouseLeave: props.onMouseLeave,\n onFocus: props.onFocus,\n onBlur: props.onBlur\n }, /*#__PURE__*/React.createElement(FormItemInputContext.Provider, {\n value: groupFormItemContext\n }, props.children)));\n};\nexport default Group;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport EyeInvisibleOutlined from \"@ant-design/icons/es/icons/EyeInvisibleOutlined\";\nimport EyeOutlined from \"@ant-design/icons/es/icons/EyeOutlined\";\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { useRef, useState } from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useRemovePasswordTimeout from './hooks/useRemovePasswordTimeout';\nimport Input from './Input';\nconst defaultIconRender = visible => visible ? /*#__PURE__*/React.createElement(EyeOutlined, null) : /*#__PURE__*/React.createElement(EyeInvisibleOutlined, null);\nconst ActionMap = {\n click: 'onClick',\n hover: 'onMouseOver'\n};\nconst Password = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n visibilityToggle = true\n } = props;\n const visibilityControlled = typeof visibilityToggle === 'object' && visibilityToggle.visible !== undefined;\n const [visible, setVisible] = useState(() => visibilityControlled ? visibilityToggle.visible : false);\n const inputRef = useRef(null);\n React.useEffect(() => {\n if (visibilityControlled) {\n setVisible(visibilityToggle.visible);\n }\n }, [visibilityControlled, visibilityToggle]);\n // Remove Password value\n const removePasswordTimeout = useRemovePasswordTimeout(inputRef);\n const onVisibleChange = () => {\n const {\n disabled\n } = props;\n if (disabled) {\n return;\n }\n if (visible) {\n removePasswordTimeout();\n }\n setVisible(prevState => {\n var _a;\n const newState = !prevState;\n if (typeof visibilityToggle === 'object') {\n (_a = visibilityToggle.onVisibleChange) === null || _a === void 0 ? void 0 : _a.call(visibilityToggle, newState);\n }\n return newState;\n });\n };\n const getIcon = prefixCls => {\n const {\n action = 'click',\n iconRender = defaultIconRender\n } = props;\n const iconTrigger = ActionMap[action] || '';\n const icon = iconRender(visible);\n const iconProps = {\n [iconTrigger]: onVisibleChange,\n className: `${prefixCls}-icon`,\n key: 'passwordIcon',\n onMouseDown: e => {\n // Prevent focused state lost\n // https://github.com/ant-design/ant-design/issues/15173\n e.preventDefault();\n },\n onMouseUp: e => {\n // Prevent caret position change\n // https://github.com/ant-design/ant-design/issues/23524\n e.preventDefault();\n }\n };\n return /*#__PURE__*/React.cloneElement( /*#__PURE__*/React.isValidElement(icon) ? icon : /*#__PURE__*/React.createElement(\"span\", null, icon), iconProps);\n };\n const {\n className,\n prefixCls: customizePrefixCls,\n inputPrefixCls: customizeInputPrefixCls,\n size\n } = props,\n restProps = __rest(props, [\"className\", \"prefixCls\", \"inputPrefixCls\", \"size\"]);\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);\n const prefixCls = getPrefixCls('input-password', customizePrefixCls);\n const suffixIcon = visibilityToggle && getIcon(prefixCls);\n const inputClassName = classNames(prefixCls, className, {\n [`${prefixCls}-${size}`]: !!size\n });\n const omittedProps = Object.assign(Object.assign({}, omit(restProps, ['suffix', 'iconRender', 'visibilityToggle'])), {\n type: visible ? 'text' : 'password',\n className: inputClassName,\n prefixCls: inputPrefixCls,\n suffix: suffixIcon\n });\n if (size) {\n omittedProps.size = size;\n }\n return /*#__PURE__*/React.createElement(Input, Object.assign({\n ref: composeRef(ref, inputRef)\n }, omittedProps));\n});\nif (process.env.NODE_ENV !== 'production') {\n Password.displayName = 'Password';\n}\nexport default Password;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport SearchOutlined from \"@ant-design/icons/es/icons/SearchOutlined\";\nimport classNames from 'classnames';\nimport { composeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { cloneElement } from '../_util/reactNode';\nimport Button from '../button';\nimport { ConfigContext } from '../config-provider';\nimport useSize from '../config-provider/hooks/useSize';\nimport { useCompactItemContext } from '../space/Compact';\nimport Input from './Input';\nconst Search = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n prefixCls: customizePrefixCls,\n inputPrefixCls: customizeInputPrefixCls,\n className,\n size: customizeSize,\n suffix,\n enterButton = false,\n addonAfter,\n loading,\n disabled,\n onSearch: customOnSearch,\n onChange: customOnChange,\n onCompositionStart,\n onCompositionEnd\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"inputPrefixCls\", \"className\", \"size\", \"suffix\", \"enterButton\", \"addonAfter\", \"loading\", \"disabled\", \"onSearch\", \"onChange\", \"onCompositionStart\", \"onCompositionEnd\"]);\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const composedRef = React.useRef(false);\n const prefixCls = getPrefixCls('input-search', customizePrefixCls);\n const inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);\n const {\n compactSize\n } = useCompactItemContext(prefixCls, direction);\n const size = useSize(ctx => {\n var _a;\n return (_a = customizeSize !== null && customizeSize !== void 0 ? customizeSize : compactSize) !== null && _a !== void 0 ? _a : ctx;\n });\n const inputRef = React.useRef(null);\n const onChange = e => {\n if (e && e.target && e.type === 'click' && customOnSearch) {\n customOnSearch(e.target.value, e);\n }\n if (customOnChange) {\n customOnChange(e);\n }\n };\n const onMouseDown = e => {\n var _a;\n if (document.activeElement === ((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.input)) {\n e.preventDefault();\n }\n };\n const onSearch = e => {\n var _a, _b;\n if (customOnSearch) {\n customOnSearch((_b = (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.input) === null || _b === void 0 ? void 0 : _b.value, e);\n }\n };\n const onPressEnter = e => {\n if (composedRef.current || loading) {\n return;\n }\n onSearch(e);\n };\n const searchIcon = typeof enterButton === 'boolean' ? /*#__PURE__*/React.createElement(SearchOutlined, null) : null;\n const btnClassName = `${prefixCls}-button`;\n let button;\n const enterButtonAsElement = enterButton || {};\n const isAntdButton = enterButtonAsElement.type && enterButtonAsElement.type.__ANT_BUTTON === true;\n if (isAntdButton || enterButtonAsElement.type === 'button') {\n button = cloneElement(enterButtonAsElement, Object.assign({\n onMouseDown,\n onClick: e => {\n var _a, _b;\n (_b = (_a = enterButtonAsElement === null || enterButtonAsElement === void 0 ? void 0 : enterButtonAsElement.props) === null || _a === void 0 ? void 0 : _a.onClick) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n onSearch(e);\n },\n key: 'enterButton'\n }, isAntdButton ? {\n className: btnClassName,\n size\n } : {}));\n } else {\n button = /*#__PURE__*/React.createElement(Button, {\n className: btnClassName,\n type: enterButton ? 'primary' : undefined,\n size: size,\n disabled: disabled,\n key: \"enterButton\",\n onMouseDown: onMouseDown,\n onClick: onSearch,\n loading: loading,\n icon: searchIcon\n }, enterButton);\n }\n if (addonAfter) {\n button = [button, cloneElement(addonAfter, {\n key: 'addonAfter'\n })];\n }\n const cls = classNames(prefixCls, {\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-${size}`]: !!size,\n [`${prefixCls}-with-button`]: !!enterButton\n }, className);\n const handleOnCompositionStart = e => {\n composedRef.current = true;\n onCompositionStart === null || onCompositionStart === void 0 ? void 0 : onCompositionStart(e);\n };\n const handleOnCompositionEnd = e => {\n composedRef.current = false;\n onCompositionEnd === null || onCompositionEnd === void 0 ? void 0 : onCompositionEnd(e);\n };\n return /*#__PURE__*/React.createElement(Input, Object.assign({\n ref: composeRef(inputRef, ref),\n onPressEnter: onPressEnter\n }, restProps, {\n size: size,\n onCompositionStart: handleOnCompositionStart,\n onCompositionEnd: handleOnCompositionEnd,\n prefixCls: inputPrefixCls,\n addonAfter: button,\n suffix: suffix,\n onChange: onChange,\n className: cls,\n disabled: disabled\n }));\n});\nif (process.env.NODE_ENV !== 'production') {\n Search.displayName = 'Search';\n}\nexport default Search;","'use client';\n\nimport Group from './Group';\nimport InternalInput from './Input';\nimport Password from './Password';\nimport Search from './Search';\nimport TextArea from './TextArea';\nconst Input = InternalInput;\nif (process.env.NODE_ENV !== 'production') {\n Input.displayName = 'Input';\n}\nInput.Group = Group;\nInput.Search = Search;\nInput.TextArea = TextArea;\nInput.Password = Password;\nexport default Input;","import { clearFix, resetComponent } from '../../style';\nimport { genCompactItemStyle } from '../../style/compact-item';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nexport const genPlaceholderStyle = color => ({\n // Firefox\n '&::-moz-placeholder': {\n opacity: 1\n },\n '&::placeholder': {\n color,\n userSelect: 'none' // https://github.com/ant-design/ant-design/pull/32639\n },\n\n '&:placeholder-shown': {\n textOverflow: 'ellipsis'\n }\n});\nexport const genHoverStyle = token => ({\n borderColor: token.inputBorderHoverColor,\n borderInlineEndWidth: token.lineWidth\n});\nexport const genActiveStyle = token => ({\n borderColor: token.inputBorderHoverColor,\n boxShadow: `0 0 0 ${token.controlOutlineWidth}px ${token.controlOutline}`,\n borderInlineEndWidth: token.lineWidth,\n outline: 0\n});\nexport const genDisabledStyle = token => ({\n color: token.colorTextDisabled,\n backgroundColor: token.colorBgContainerDisabled,\n borderColor: token.colorBorder,\n boxShadow: 'none',\n cursor: 'not-allowed',\n opacity: 1,\n '&:hover': Object.assign({}, genHoverStyle(mergeToken(token, {\n inputBorderHoverColor: token.colorBorder\n })))\n});\nconst genInputLargeStyle = token => {\n const {\n inputPaddingVerticalLG,\n fontSizeLG,\n lineHeightLG,\n borderRadiusLG,\n inputPaddingHorizontalLG\n } = token;\n return {\n padding: `${inputPaddingVerticalLG}px ${inputPaddingHorizontalLG}px`,\n fontSize: fontSizeLG,\n lineHeight: lineHeightLG,\n borderRadius: borderRadiusLG\n };\n};\nexport const genInputSmallStyle = token => ({\n padding: `${token.inputPaddingVerticalSM}px ${token.controlPaddingHorizontalSM - 1}px`,\n borderRadius: token.borderRadiusSM\n});\nexport const genStatusStyle = (token, parentCls) => {\n const {\n componentCls,\n colorError,\n colorWarning,\n colorErrorOutline,\n colorWarningOutline,\n colorErrorBorderHover,\n colorWarningBorderHover\n } = token;\n return {\n [`&-status-error:not(${parentCls}-disabled):not(${parentCls}-borderless)${parentCls}`]: {\n borderColor: colorError,\n '&:hover': {\n borderColor: colorErrorBorderHover\n },\n '&:focus, &-focused': Object.assign({}, genActiveStyle(mergeToken(token, {\n inputBorderActiveColor: colorError,\n inputBorderHoverColor: colorError,\n controlOutline: colorErrorOutline\n }))),\n [`${componentCls}-prefix, ${componentCls}-suffix`]: {\n color: colorError\n }\n },\n [`&-status-warning:not(${parentCls}-disabled):not(${parentCls}-borderless)${parentCls}`]: {\n borderColor: colorWarning,\n '&:hover': {\n borderColor: colorWarningBorderHover\n },\n '&:focus, &-focused': Object.assign({}, genActiveStyle(mergeToken(token, {\n inputBorderActiveColor: colorWarning,\n inputBorderHoverColor: colorWarning,\n controlOutline: colorWarningOutline\n }))),\n [`${componentCls}-prefix, ${componentCls}-suffix`]: {\n color: colorWarning\n }\n }\n };\n};\nexport const genBasicInputStyle = token => Object.assign(Object.assign({\n position: 'relative',\n display: 'inline-block',\n width: '100%',\n minWidth: 0,\n padding: `${token.inputPaddingVertical}px ${token.inputPaddingHorizontal}px`,\n color: token.colorText,\n fontSize: token.fontSize,\n lineHeight: token.lineHeight,\n backgroundColor: token.colorBgContainer,\n backgroundImage: 'none',\n borderWidth: token.lineWidth,\n borderStyle: token.lineType,\n borderColor: token.colorBorder,\n borderRadius: token.borderRadius,\n transition: `all ${token.motionDurationMid}`\n}, genPlaceholderStyle(token.colorTextPlaceholder)), {\n '&:hover': Object.assign({}, genHoverStyle(token)),\n '&:focus, &-focused': Object.assign({}, genActiveStyle(token)),\n '&-disabled, &[disabled]': Object.assign({}, genDisabledStyle(token)),\n '&-borderless': {\n '&, &:hover, &:focus, &-focused, &-disabled, &[disabled]': {\n backgroundColor: 'transparent',\n border: 'none',\n boxShadow: 'none'\n }\n },\n // Reset height for `textarea`s\n 'textarea&': {\n maxWidth: '100%',\n height: 'auto',\n minHeight: token.controlHeight,\n lineHeight: token.lineHeight,\n verticalAlign: 'bottom',\n transition: `all ${token.motionDurationSlow}, height 0s`,\n resize: 'vertical'\n },\n // Size\n '&-lg': Object.assign({}, genInputLargeStyle(token)),\n '&-sm': Object.assign({}, genInputSmallStyle(token)),\n // RTL\n '&-rtl': {\n direction: 'rtl'\n },\n '&-textarea-rtl': {\n direction: 'rtl'\n }\n});\nexport const genInputGroupStyle = token => {\n const {\n componentCls,\n antCls\n } = token;\n return {\n position: 'relative',\n display: 'table',\n width: '100%',\n borderCollapse: 'separate',\n borderSpacing: 0,\n // Undo padding and float of grid classes\n [`&[class*='col-']`]: {\n paddingInlineEnd: token.paddingXS,\n '&:last-child': {\n paddingInlineEnd: 0\n }\n },\n // Sizing options\n [`&-lg ${componentCls}, &-lg > ${componentCls}-group-addon`]: Object.assign({}, genInputLargeStyle(token)),\n [`&-sm ${componentCls}, &-sm > ${componentCls}-group-addon`]: Object.assign({}, genInputSmallStyle(token)),\n // Fix https://github.com/ant-design/ant-design/issues/5754\n [`&-lg ${antCls}-select-single ${antCls}-select-selector`]: {\n height: token.controlHeightLG\n },\n [`&-sm ${antCls}-select-single ${antCls}-select-selector`]: {\n height: token.controlHeightSM\n },\n [`> ${componentCls}`]: {\n display: 'table-cell',\n '&:not(:first-child):not(:last-child)': {\n borderRadius: 0\n }\n },\n [`${componentCls}-group`]: {\n [`&-addon, &-wrap`]: {\n display: 'table-cell',\n width: 1,\n whiteSpace: 'nowrap',\n verticalAlign: 'middle',\n '&:not(:first-child):not(:last-child)': {\n borderRadius: 0\n }\n },\n '&-wrap > *': {\n display: 'block !important'\n },\n '&-addon': {\n position: 'relative',\n padding: `0 ${token.inputPaddingHorizontal}px`,\n color: token.colorText,\n fontWeight: 'normal',\n fontSize: token.fontSize,\n textAlign: 'center',\n backgroundColor: token.colorFillAlter,\n border: `${token.lineWidth}px ${token.lineType} ${token.colorBorder}`,\n borderRadius: token.borderRadius,\n transition: `all ${token.motionDurationSlow}`,\n lineHeight: 1,\n // Reset Select's style in addon\n [`${antCls}-select`]: {\n margin: `-${token.inputPaddingVertical + 1}px -${token.inputPaddingHorizontal}px`,\n [`&${antCls}-select-single:not(${antCls}-select-customize-input)`]: {\n [`${antCls}-select-selector`]: {\n backgroundColor: 'inherit',\n border: `${token.lineWidth}px ${token.lineType} transparent`,\n boxShadow: 'none'\n }\n },\n '&-open, &-focused': {\n [`${antCls}-select-selector`]: {\n color: token.colorPrimary\n }\n }\n },\n // https://github.com/ant-design/ant-design/issues/31333\n [`${antCls}-cascader-picker`]: {\n margin: `-9px -${token.inputPaddingHorizontal}px`,\n backgroundColor: 'transparent',\n [`${antCls}-cascader-input`]: {\n textAlign: 'start',\n border: 0,\n boxShadow: 'none'\n }\n }\n },\n '&-addon:first-child': {\n borderInlineEnd: 0\n },\n '&-addon:last-child': {\n borderInlineStart: 0\n }\n },\n [`${componentCls}`]: {\n width: '100%',\n marginBottom: 0,\n textAlign: 'inherit',\n '&:focus': {\n zIndex: 1,\n borderInlineEndWidth: 1\n },\n '&:hover': {\n zIndex: 1,\n borderInlineEndWidth: 1,\n [`${componentCls}-search-with-button &`]: {\n zIndex: 0\n }\n }\n },\n // Reset rounded corners\n [`> ${componentCls}:first-child, ${componentCls}-group-addon:first-child`]: {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0,\n // Reset Select's style in addon\n [`${antCls}-select ${antCls}-select-selector`]: {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0\n }\n },\n [`> ${componentCls}-affix-wrapper`]: {\n [`&:not(:first-child) ${componentCls}`]: {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n },\n [`&:not(:last-child) ${componentCls}`]: {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0\n }\n },\n [`> ${componentCls}:last-child, ${componentCls}-group-addon:last-child`]: {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0,\n // Reset Select's style in addon\n [`${antCls}-select ${antCls}-select-selector`]: {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n }\n },\n [`${componentCls}-affix-wrapper`]: {\n '&:not(:last-child)': {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0,\n [`${componentCls}-search &`]: {\n borderStartStartRadius: token.borderRadius,\n borderEndStartRadius: token.borderRadius\n }\n },\n [`&:not(:first-child), ${componentCls}-search &:not(:first-child)`]: {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n }\n },\n [`&${componentCls}-group-compact`]: Object.assign(Object.assign({\n display: 'block'\n }, clearFix()), {\n [`${componentCls}-group-addon, ${componentCls}-group-wrap, > ${componentCls}`]: {\n '&:not(:first-child):not(:last-child)': {\n borderInlineEndWidth: token.lineWidth,\n '&:hover': {\n zIndex: 1\n },\n '&:focus': {\n zIndex: 1\n }\n }\n },\n '& > *': {\n display: 'inline-block',\n float: 'none',\n verticalAlign: 'top',\n borderRadius: 0\n },\n [`\n & > ${componentCls}-affix-wrapper,\n & > ${componentCls}-number-affix-wrapper,\n & > ${antCls}-picker-range\n `]: {\n display: 'inline-flex'\n },\n '& > *:not(:last-child)': {\n marginInlineEnd: -token.lineWidth,\n borderInlineEndWidth: token.lineWidth\n },\n // Undo float for .ant-input-group .ant-input\n [`${componentCls}`]: {\n float: 'none'\n },\n // reset border for Select, DatePicker, AutoComplete, Cascader, Mention, TimePicker, Input\n [`& > ${antCls}-select > ${antCls}-select-selector,\n & > ${antCls}-select-auto-complete ${componentCls},\n & > ${antCls}-cascader-picker ${componentCls},\n & > ${componentCls}-group-wrapper ${componentCls}`]: {\n borderInlineEndWidth: token.lineWidth,\n borderRadius: 0,\n '&:hover': {\n zIndex: 1\n },\n '&:focus': {\n zIndex: 1\n }\n },\n [`& > ${antCls}-select-focused`]: {\n zIndex: 1\n },\n // update z-index for arrow icon\n [`& > ${antCls}-select > ${antCls}-select-arrow`]: {\n zIndex: 1 // https://github.com/ant-design/ant-design/issues/20371\n },\n [`& > *:first-child,\n & > ${antCls}-select:first-child > ${antCls}-select-selector,\n & > ${antCls}-select-auto-complete:first-child ${componentCls},\n & > ${antCls}-cascader-picker:first-child ${componentCls}`]: {\n borderStartStartRadius: token.borderRadius,\n borderEndStartRadius: token.borderRadius\n },\n [`& > *:last-child,\n & > ${antCls}-select:last-child > ${antCls}-select-selector,\n & > ${antCls}-cascader-picker:last-child ${componentCls},\n & > ${antCls}-cascader-picker-focused:last-child ${componentCls}`]: {\n borderInlineEndWidth: token.lineWidth,\n borderStartEndRadius: token.borderRadius,\n borderEndEndRadius: token.borderRadius\n },\n // https://github.com/ant-design/ant-design/issues/12493\n [`& > ${antCls}-select-auto-complete ${componentCls}`]: {\n verticalAlign: 'top'\n },\n [`${componentCls}-group-wrapper + ${componentCls}-group-wrapper`]: {\n marginInlineStart: -token.lineWidth,\n [`${componentCls}-affix-wrapper`]: {\n borderRadius: 0\n }\n },\n [`${componentCls}-group-wrapper:not(:last-child)`]: {\n [`&${componentCls}-search > ${componentCls}-group`]: {\n [`& > ${componentCls}-group-addon > ${componentCls}-search-button`]: {\n borderRadius: 0\n },\n [`& > ${componentCls}`]: {\n borderStartStartRadius: token.borderRadius,\n borderStartEndRadius: 0,\n borderEndEndRadius: 0,\n borderEndStartRadius: token.borderRadius\n }\n }\n }\n })\n };\n};\nconst genInputStyle = token => {\n const {\n componentCls,\n controlHeightSM,\n lineWidth\n } = token;\n const FIXED_CHROME_COLOR_HEIGHT = 16;\n const colorSmallPadding = (controlHeightSM - lineWidth * 2 - FIXED_CHROME_COLOR_HEIGHT) / 2;\n return {\n [componentCls]: Object.assign(Object.assign(Object.assign(Object.assign({}, resetComponent(token)), genBasicInputStyle(token)), genStatusStyle(token, componentCls)), {\n '&[type=\"color\"]': {\n height: token.controlHeight,\n [`&${componentCls}-lg`]: {\n height: token.controlHeightLG\n },\n [`&${componentCls}-sm`]: {\n height: controlHeightSM,\n paddingTop: colorSmallPadding,\n paddingBottom: colorSmallPadding\n }\n },\n '&[type=\"search\"]::-webkit-search-cancel-button, &[type=\"search\"]::-webkit-search-decoration': {\n '-webkit-appearance': 'none'\n }\n })\n };\n};\nconst genAllowClearStyle = token => {\n const {\n componentCls\n } = token;\n return {\n // ========================= Input =========================\n [`${componentCls}-clear-icon`]: {\n margin: 0,\n color: token.colorTextQuaternary,\n fontSize: token.fontSizeIcon,\n verticalAlign: -1,\n // https://github.com/ant-design/ant-design/pull/18151\n // https://codesandbox.io/s/wizardly-sun-u10br\n cursor: 'pointer',\n transition: `color ${token.motionDurationSlow}`,\n '&:hover': {\n color: token.colorTextTertiary\n },\n '&:active': {\n color: token.colorText\n },\n '&-hidden': {\n visibility: 'hidden'\n },\n '&-has-suffix': {\n margin: `0 ${token.inputAffixPadding}px`\n }\n }\n };\n};\nconst genAffixStyle = token => {\n const {\n componentCls,\n inputAffixPadding,\n colorTextDescription,\n motionDurationSlow,\n colorIcon,\n colorIconHover,\n iconCls\n } = token;\n return {\n [`${componentCls}-affix-wrapper`]: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, genBasicInputStyle(token)), {\n display: 'inline-flex',\n [`&:not(${componentCls}-affix-wrapper-disabled):hover`]: Object.assign(Object.assign({}, genHoverStyle(token)), {\n zIndex: 1,\n [`${componentCls}-search-with-button &`]: {\n zIndex: 0\n }\n }),\n '&-focused, &:focus': {\n zIndex: 1\n },\n '&-disabled': {\n [`${componentCls}[disabled]`]: {\n background: 'transparent'\n }\n },\n [`> input${componentCls}`]: {\n padding: 0,\n fontSize: 'inherit',\n border: 'none',\n borderRadius: 0,\n outline: 'none',\n '&::-ms-reveal': {\n display: 'none'\n },\n '&:focus': {\n boxShadow: 'none !important'\n }\n },\n '&::before': {\n display: 'inline-block',\n width: 0,\n visibility: 'hidden',\n content: '\"\\\\a0\"'\n },\n [`${componentCls}`]: {\n '&-prefix, &-suffix': {\n display: 'flex',\n flex: 'none',\n alignItems: 'center',\n '> *:not(:last-child)': {\n marginInlineEnd: token.paddingXS\n }\n },\n '&-show-count-suffix': {\n color: colorTextDescription\n },\n '&-show-count-has-suffix': {\n marginInlineEnd: token.paddingXXS\n },\n '&-prefix': {\n marginInlineEnd: inputAffixPadding\n },\n '&-suffix': {\n marginInlineStart: inputAffixPadding\n }\n }\n }), genAllowClearStyle(token)), {\n // password\n [`${iconCls}${componentCls}-password-icon`]: {\n color: colorIcon,\n cursor: 'pointer',\n transition: `all ${motionDurationSlow}`,\n '&:hover': {\n color: colorIconHover\n }\n }\n }), genStatusStyle(token, `${componentCls}-affix-wrapper`))\n };\n};\nconst genGroupStyle = token => {\n const {\n componentCls,\n colorError,\n colorWarning,\n borderRadiusLG,\n borderRadiusSM\n } = token;\n return {\n [`${componentCls}-group`]: Object.assign(Object.assign(Object.assign({}, resetComponent(token)), genInputGroupStyle(token)), {\n '&-rtl': {\n direction: 'rtl'\n },\n '&-wrapper': {\n display: 'inline-block',\n width: '100%',\n textAlign: 'start',\n verticalAlign: 'top',\n '&-rtl': {\n direction: 'rtl'\n },\n // Size\n '&-lg': {\n [`${componentCls}-group-addon`]: {\n borderRadius: borderRadiusLG,\n fontSize: token.fontSizeLG\n }\n },\n '&-sm': {\n [`${componentCls}-group-addon`]: {\n borderRadius: borderRadiusSM\n }\n },\n // Status\n '&-status-error': {\n [`${componentCls}-group-addon`]: {\n color: colorError,\n borderColor: colorError\n }\n },\n '&-status-warning': {\n [`${componentCls}-group-addon`]: {\n color: colorWarning,\n borderColor: colorWarning\n }\n },\n '&-disabled': {\n [`${componentCls}-group-addon`]: Object.assign({}, genDisabledStyle(token))\n },\n // Fix the issue of using icons in Space Compact mode\n // https://github.com/ant-design/ant-design/issues/42122\n [`&:not(${componentCls}-compact-first-item):not(${componentCls}-compact-last-item)${componentCls}-compact-item`]: {\n [`${componentCls}, ${componentCls}-group-addon`]: {\n borderRadius: 0\n }\n },\n [`&:not(${componentCls}-compact-last-item)${componentCls}-compact-first-item`]: {\n [`${componentCls}, ${componentCls}-group-addon`]: {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0\n }\n },\n [`&:not(${componentCls}-compact-first-item)${componentCls}-compact-last-item`]: {\n [`${componentCls}, ${componentCls}-group-addon`]: {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n }\n }\n }\n })\n };\n};\nconst genSearchInputStyle = token => {\n const {\n componentCls,\n antCls\n } = token;\n const searchPrefixCls = `${componentCls}-search`;\n return {\n [searchPrefixCls]: {\n [`${componentCls}`]: {\n '&:hover, &:focus': {\n borderColor: token.colorPrimaryHover,\n [`+ ${componentCls}-group-addon ${searchPrefixCls}-button:not(${antCls}-btn-primary)`]: {\n borderInlineStartColor: token.colorPrimaryHover\n }\n }\n },\n [`${componentCls}-affix-wrapper`]: {\n borderRadius: 0\n },\n // fix slight height diff in Firefox:\n // https://ant.design/components/auto-complete-cn/#components-auto-complete-demo-certain-category\n [`${componentCls}-lg`]: {\n lineHeight: token.lineHeightLG - 0.0002\n },\n [`> ${componentCls}-group`]: {\n [`> ${componentCls}-group-addon:last-child`]: {\n insetInlineStart: -1,\n padding: 0,\n border: 0,\n [`${searchPrefixCls}-button`]: {\n paddingTop: 0,\n paddingBottom: 0,\n borderStartStartRadius: 0,\n borderStartEndRadius: token.borderRadius,\n borderEndEndRadius: token.borderRadius,\n borderEndStartRadius: 0\n },\n [`${searchPrefixCls}-button:not(${antCls}-btn-primary)`]: {\n color: token.colorTextDescription,\n '&:hover': {\n color: token.colorPrimaryHover\n },\n '&:active': {\n color: token.colorPrimaryActive\n },\n [`&${antCls}-btn-loading::before`]: {\n insetInlineStart: 0,\n insetInlineEnd: 0,\n insetBlockStart: 0,\n insetBlockEnd: 0\n }\n }\n }\n },\n [`${searchPrefixCls}-button`]: {\n height: token.controlHeight,\n '&:hover, &:focus': {\n zIndex: 1\n }\n },\n [`&-large ${searchPrefixCls}-button`]: {\n height: token.controlHeightLG\n },\n [`&-small ${searchPrefixCls}-button`]: {\n height: token.controlHeightSM\n },\n '&-rtl': {\n direction: 'rtl'\n },\n // ===================== Compact Item Customized Styles =====================\n [`&${componentCls}-compact-item`]: {\n [`&:not(${componentCls}-compact-last-item)`]: {\n [`${componentCls}-group-addon`]: {\n [`${componentCls}-search-button`]: {\n marginInlineEnd: -token.lineWidth,\n borderRadius: 0\n }\n }\n },\n [`&:not(${componentCls}-compact-first-item)`]: {\n [`${componentCls},${componentCls}-affix-wrapper`]: {\n borderRadius: 0\n }\n },\n [`> ${componentCls}-group-addon ${componentCls}-search-button,\n > ${componentCls},\n ${componentCls}-affix-wrapper`]: {\n '&:hover,&:focus,&:active': {\n zIndex: 2\n }\n },\n [`> ${componentCls}-affix-wrapper-focused`]: {\n zIndex: 2\n }\n }\n }\n };\n};\nexport function initInputToken(token) {\n // @ts-ignore\n return mergeToken(token, {\n inputAffixPadding: token.paddingXXS,\n inputPaddingVertical: Math.max(Math.round((token.controlHeight - token.fontSize * token.lineHeight) / 2 * 10) / 10 - token.lineWidth, 3),\n inputPaddingVerticalLG: Math.ceil((token.controlHeightLG - token.fontSizeLG * token.lineHeightLG) / 2 * 10) / 10 - token.lineWidth,\n inputPaddingVerticalSM: Math.max(Math.round((token.controlHeightSM - token.fontSize * token.lineHeight) / 2 * 10) / 10 - token.lineWidth, 0),\n inputPaddingHorizontal: token.paddingSM - token.lineWidth,\n inputPaddingHorizontalSM: token.paddingXS - token.lineWidth,\n inputPaddingHorizontalLG: token.controlPaddingHorizontal - token.lineWidth,\n inputBorderHoverColor: token.colorPrimaryHover,\n inputBorderActiveColor: token.colorPrimaryHover\n });\n}\nconst genTextAreaStyle = token => {\n const {\n componentCls,\n paddingLG\n } = token;\n const textareaPrefixCls = `${componentCls}-textarea`;\n return {\n [textareaPrefixCls]: {\n position: 'relative',\n '&-show-count': {\n // https://github.com/ant-design/ant-design/issues/33049\n [`> ${componentCls}`]: {\n height: '100%'\n },\n [`${componentCls}-data-count`]: {\n position: 'absolute',\n bottom: -token.fontSize * token.lineHeight,\n insetInlineEnd: 0,\n color: token.colorTextDescription,\n whiteSpace: 'nowrap',\n pointerEvents: 'none'\n }\n },\n '&-allow-clear': {\n [`> ${componentCls}`]: {\n paddingInlineEnd: paddingLG\n }\n },\n [`&-affix-wrapper${textareaPrefixCls}-has-feedback`]: {\n [`${componentCls}`]: {\n paddingInlineEnd: paddingLG\n }\n },\n [`&-affix-wrapper${componentCls}-affix-wrapper`]: {\n padding: 0,\n [`> textarea${componentCls}`]: {\n fontSize: 'inherit',\n border: 'none',\n outline: 'none',\n '&:focus': {\n boxShadow: 'none !important'\n }\n },\n [`${componentCls}-suffix`]: {\n margin: 0,\n '> *:not(:last-child)': {\n marginInline: 0\n },\n // Clear Icon\n [`${componentCls}-clear-icon`]: {\n position: 'absolute',\n insetInlineEnd: token.paddingXS,\n insetBlockStart: token.paddingXS\n },\n // Feedback Icon\n [`${textareaPrefixCls}-suffix`]: {\n position: 'absolute',\n top: 0,\n insetInlineEnd: token.inputPaddingHorizontal,\n bottom: 0,\n zIndex: 1,\n display: 'inline-flex',\n alignItems: 'center',\n margin: 'auto',\n pointerEvents: 'none'\n }\n }\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Input', token => {\n const inputToken = initInputToken(token);\n return [genInputStyle(inputToken), genTextAreaStyle(inputToken), genAffixStyle(inputToken), genGroupStyle(inputToken), genSearchInputStyle(inputToken),\n // =====================================================\n // == Space Compact ==\n // =====================================================\n genCompactItemStyle(inputToken)];\n});","// This icon file is generated automatically.\nvar BarsOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0z\" } }] }, \"name\": \"bars\", \"theme\": \"outlined\" };\nexport default BarsOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport BarsOutlinedSvg from \"@ant-design/icons-svg/es/asn/BarsOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar BarsOutlined = function BarsOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: BarsOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n BarsOutlined.displayName = 'BarsOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(BarsOutlined);","const isNumeric = value => !isNaN(parseFloat(value)) && isFinite(value);\nexport default isNumeric;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport BarsOutlined from \"@ant-design/icons/es/icons/BarsOutlined\";\nimport LeftOutlined from \"@ant-design/icons/es/icons/LeftOutlined\";\nimport RightOutlined from \"@ant-design/icons/es/icons/RightOutlined\";\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { useContext, useEffect, useRef, useState } from 'react';\nimport isNumeric from '../_util/isNumeric';\nimport { ConfigContext } from '../config-provider';\nimport { LayoutContext } from './layout';\nconst dimensionMaxMap = {\n xs: '479.98px',\n sm: '575.98px',\n md: '767.98px',\n lg: '991.98px',\n xl: '1199.98px',\n xxl: '1599.98px'\n};\nexport const SiderContext = /*#__PURE__*/React.createContext({});\nconst generateId = (() => {\n let i = 0;\n return function () {\n let prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n i += 1;\n return `${prefix}${i}`;\n };\n})();\nconst Sider = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n prefixCls: customizePrefixCls,\n className,\n trigger,\n children,\n defaultCollapsed = false,\n theme = 'dark',\n style = {},\n collapsible = false,\n reverseArrow = false,\n width = 200,\n collapsedWidth = 80,\n zeroWidthTriggerStyle,\n breakpoint,\n onCollapse,\n onBreakpoint\n } = props,\n otherProps = __rest(props, [\"prefixCls\", \"className\", \"trigger\", \"children\", \"defaultCollapsed\", \"theme\", \"style\", \"collapsible\", \"reverseArrow\", \"width\", \"collapsedWidth\", \"zeroWidthTriggerStyle\", \"breakpoint\", \"onCollapse\", \"onBreakpoint\"]);\n const {\n siderHook\n } = useContext(LayoutContext);\n const [collapsed, setCollapsed] = useState('collapsed' in props ? props.collapsed : defaultCollapsed);\n const [below, setBelow] = useState(false);\n useEffect(() => {\n if ('collapsed' in props) {\n setCollapsed(props.collapsed);\n }\n }, [props.collapsed]);\n const handleSetCollapsed = (value, type) => {\n if (!('collapsed' in props)) {\n setCollapsed(value);\n }\n onCollapse === null || onCollapse === void 0 ? void 0 : onCollapse(value, type);\n };\n // ========================= Responsive =========================\n const responsiveHandlerRef = useRef();\n responsiveHandlerRef.current = mql => {\n setBelow(mql.matches);\n onBreakpoint === null || onBreakpoint === void 0 ? void 0 : onBreakpoint(mql.matches);\n if (collapsed !== mql.matches) {\n handleSetCollapsed(mql.matches, 'responsive');\n }\n };\n useEffect(() => {\n function responsiveHandler(mql) {\n return responsiveHandlerRef.current(mql);\n }\n let mql;\n if (typeof window !== 'undefined') {\n const {\n matchMedia\n } = window;\n if (matchMedia && breakpoint && breakpoint in dimensionMaxMap) {\n mql = matchMedia(`(max-width: ${dimensionMaxMap[breakpoint]})`);\n try {\n mql.addEventListener('change', responsiveHandler);\n } catch (error) {\n mql.addListener(responsiveHandler);\n }\n responsiveHandler(mql);\n }\n }\n return () => {\n try {\n mql === null || mql === void 0 ? void 0 : mql.removeEventListener('change', responsiveHandler);\n } catch (error) {\n mql === null || mql === void 0 ? void 0 : mql.removeListener(responsiveHandler);\n }\n };\n }, [breakpoint]); // in order to accept dynamic 'breakpoint' property, we need to add 'breakpoint' into dependency array.\n useEffect(() => {\n const uniqueId = generateId('ant-sider-');\n siderHook.addSider(uniqueId);\n return () => siderHook.removeSider(uniqueId);\n }, []);\n const toggle = () => {\n handleSetCollapsed(!collapsed, 'clickTrigger');\n };\n const {\n getPrefixCls\n } = useContext(ConfigContext);\n const renderSider = () => {\n const prefixCls = getPrefixCls('layout-sider', customizePrefixCls);\n const divProps = omit(otherProps, ['collapsed']);\n const rawWidth = collapsed ? collapsedWidth : width;\n // use \"px\" as fallback unit for width\n const siderWidth = isNumeric(rawWidth) ? `${rawWidth}px` : String(rawWidth);\n // special trigger when collapsedWidth == 0\n const zeroWidthTrigger = parseFloat(String(collapsedWidth || 0)) === 0 ? /*#__PURE__*/React.createElement(\"span\", {\n onClick: toggle,\n className: classNames(`${prefixCls}-zero-width-trigger`, `${prefixCls}-zero-width-trigger-${reverseArrow ? 'right' : 'left'}`),\n style: zeroWidthTriggerStyle\n }, trigger || /*#__PURE__*/React.createElement(BarsOutlined, null)) : null;\n const iconObj = {\n expanded: reverseArrow ? /*#__PURE__*/React.createElement(RightOutlined, null) : /*#__PURE__*/React.createElement(LeftOutlined, null),\n collapsed: reverseArrow ? /*#__PURE__*/React.createElement(LeftOutlined, null) : /*#__PURE__*/React.createElement(RightOutlined, null)\n };\n const status = collapsed ? 'collapsed' : 'expanded';\n const defaultTrigger = iconObj[status];\n const triggerDom = trigger !== null ? zeroWidthTrigger || /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-trigger`,\n onClick: toggle,\n style: {\n width: siderWidth\n }\n }, trigger || defaultTrigger) : null;\n const divStyle = Object.assign(Object.assign({}, style), {\n flex: `0 0 ${siderWidth}`,\n maxWidth: siderWidth,\n minWidth: siderWidth,\n width: siderWidth\n });\n const siderCls = classNames(prefixCls, `${prefixCls}-${theme}`, {\n [`${prefixCls}-collapsed`]: !!collapsed,\n [`${prefixCls}-has-trigger`]: collapsible && trigger !== null && !zeroWidthTrigger,\n [`${prefixCls}-below`]: !!below,\n [`${prefixCls}-zero-width`]: parseFloat(siderWidth) === 0\n }, className);\n return /*#__PURE__*/React.createElement(\"aside\", Object.assign({\n className: siderCls\n }, divProps, {\n style: divStyle,\n ref: ref\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-children`\n }, children), collapsible || below && zeroWidthTrigger ? triggerDom : null);\n };\n const contextValue = React.useMemo(() => ({\n siderCollapsed: collapsed\n }), [collapsed]);\n return /*#__PURE__*/React.createElement(SiderContext.Provider, {\n value: contextValue\n }, renderSider());\n});\nif (process.env.NODE_ENV !== 'production') {\n Sider.displayName = 'Sider';\n}\nexport default Sider;","const genLayoutLightStyle = token => {\n const {\n componentCls,\n colorBgContainer,\n colorBgBody,\n colorText\n } = token;\n return {\n [`${componentCls}-sider-light`]: {\n background: colorBgContainer,\n [`${componentCls}-sider-trigger`]: {\n color: colorText,\n background: colorBgContainer\n },\n [`${componentCls}-sider-zero-width-trigger`]: {\n color: colorText,\n background: colorBgContainer,\n border: `1px solid ${colorBgBody}`,\n borderInlineStart: 0\n }\n }\n };\n};\nexport default genLayoutLightStyle;","import { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport genLayoutLightStyle from './light';\nconst genLayoutStyle = token => {\n const {\n antCls,\n // .ant\n componentCls,\n // .ant-layout\n colorText,\n colorTextLightSolid,\n colorBgHeader,\n colorBgBody,\n colorBgTrigger,\n layoutHeaderHeight,\n layoutHeaderPaddingInline,\n layoutHeaderColor,\n layoutFooterPadding,\n layoutTriggerHeight,\n layoutZeroTriggerSize,\n motionDurationMid,\n motionDurationSlow,\n fontSize,\n borderRadius\n } = token;\n return {\n [componentCls]: Object.assign(Object.assign({\n display: 'flex',\n flex: 'auto',\n flexDirection: 'column',\n /* fix firefox can't set height smaller than content on flex item */\n minHeight: 0,\n background: colorBgBody,\n '&, *': {\n boxSizing: 'border-box'\n },\n [`&${componentCls}-has-sider`]: {\n flexDirection: 'row',\n [`> ${componentCls}, > ${componentCls}-content`]: {\n // https://segmentfault.com/a/1190000019498300\n width: 0\n }\n },\n [`${componentCls}-header, &${componentCls}-footer`]: {\n flex: '0 0 auto'\n },\n [`${componentCls}-sider`]: {\n position: 'relative',\n // fix firefox can't set width smaller than content on flex item\n minWidth: 0,\n background: colorBgHeader,\n transition: `all ${motionDurationMid}, background 0s`,\n '&-children': {\n height: '100%',\n // Hack for fixing margin collapse bug\n // https://github.com/ant-design/ant-design/issues/7967\n // solution from https://stackoverflow.com/a/33132624/3040605\n marginTop: -0.1,\n paddingTop: 0.1,\n [`${antCls}-menu${antCls}-menu-inline-collapsed`]: {\n width: 'auto'\n }\n },\n '&-has-trigger': {\n paddingBottom: layoutTriggerHeight\n },\n '&-right': {\n order: 1\n },\n '&-trigger': {\n position: 'fixed',\n bottom: 0,\n zIndex: 1,\n height: layoutTriggerHeight,\n color: colorTextLightSolid,\n lineHeight: `${layoutTriggerHeight}px`,\n textAlign: 'center',\n background: colorBgTrigger,\n cursor: 'pointer',\n transition: `all ${motionDurationMid}`\n },\n '&-zero-width': {\n '> *': {\n overflow: 'hidden'\n },\n '&-trigger': {\n position: 'absolute',\n top: layoutHeaderHeight,\n insetInlineEnd: -layoutZeroTriggerSize,\n zIndex: 1,\n width: layoutZeroTriggerSize,\n height: layoutZeroTriggerSize,\n color: colorTextLightSolid,\n fontSize: token.fontSizeXL,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n background: colorBgHeader,\n borderStartStartRadius: 0,\n borderStartEndRadius: borderRadius,\n borderEndEndRadius: borderRadius,\n borderEndStartRadius: 0,\n cursor: 'pointer',\n transition: `background ${motionDurationSlow} ease`,\n '&::after': {\n position: 'absolute',\n inset: 0,\n background: 'transparent',\n transition: `all ${motionDurationSlow}`,\n content: '\"\"'\n },\n '&:hover::after': {\n // FIXME: Hardcode, but seems no need to create a token for this\n background: `rgba(255, 255, 255, 0.2)`\n },\n '&-right': {\n insetInlineStart: -layoutZeroTriggerSize,\n borderStartStartRadius: borderRadius,\n borderStartEndRadius: 0,\n borderEndEndRadius: 0,\n borderEndStartRadius: borderRadius\n }\n }\n }\n }\n }, genLayoutLightStyle(token)), {\n // RTL\n '&-rtl': {\n direction: 'rtl'\n }\n }),\n // ==================== Header ====================\n [`${componentCls}-header`]: {\n height: layoutHeaderHeight,\n paddingInline: layoutHeaderPaddingInline,\n color: layoutHeaderColor,\n lineHeight: `${layoutHeaderHeight}px`,\n background: colorBgHeader,\n // Other components/menu/style/index.less line:686\n // Integration with header element so menu items have the same height\n [`${antCls}-menu`]: {\n lineHeight: 'inherit'\n }\n },\n // ==================== Footer ====================\n [`${componentCls}-footer`]: {\n padding: layoutFooterPadding,\n color: colorText,\n fontSize,\n background: colorBgBody\n },\n // =================== Content ====================\n [`${componentCls}-content`]: {\n flex: 'auto',\n // fix firefox can't set height smaller than content on flex item\n minHeight: 0\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Layout', token => {\n const {\n colorText,\n controlHeightSM,\n controlHeight,\n controlHeightLG,\n marginXXS\n } = token;\n const layoutHeaderPaddingInline = controlHeightLG * 1.25;\n const layoutToken = mergeToken(token, {\n // Layout\n layoutHeaderHeight: controlHeight * 2,\n layoutHeaderPaddingInline,\n layoutHeaderColor: colorText,\n layoutFooterPadding: `${controlHeightSM}px ${layoutHeaderPaddingInline}px`,\n layoutTriggerHeight: controlHeightLG + marginXXS * 2,\n layoutZeroTriggerSize: controlHeightLG\n });\n return [genLayoutStyle(layoutToken)];\n}, token => {\n const {\n colorBgLayout\n } = token;\n return {\n colorBgHeader: '#001529',\n colorBgBody: colorBgLayout,\n colorBgTrigger: '#002140'\n };\n});","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style';\nexport const LayoutContext = /*#__PURE__*/React.createContext({\n siderHook: {\n addSider: () => null,\n removeSider: () => null\n }\n});\nfunction generator(_ref) {\n let {\n suffixCls,\n tagName,\n displayName\n } = _ref;\n return BasicComponent => {\n const Adapter = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(BasicComponent, Object.assign({\n ref: ref,\n suffixCls: suffixCls,\n tagName: tagName\n }, props)));\n if (process.env.NODE_ENV !== 'production') {\n Adapter.displayName = displayName;\n }\n return Adapter;\n };\n}\nconst Basic = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n prefixCls: customizePrefixCls,\n suffixCls,\n className,\n tagName: TagName\n } = props,\n others = __rest(props, [\"prefixCls\", \"suffixCls\", \"className\", \"tagName\"]);\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('layout', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const prefixWithSuffixCls = suffixCls ? `${prefixCls}-${suffixCls}` : prefixCls;\n return wrapSSR( /*#__PURE__*/React.createElement(TagName, Object.assign({\n className: classNames(customizePrefixCls || prefixWithSuffixCls, className, hashId),\n ref: ref\n }, others)));\n});\nconst BasicLayout = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n direction\n } = React.useContext(ConfigContext);\n const [siders, setSiders] = React.useState([]);\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n children,\n hasSider,\n tagName: Tag,\n style\n } = props,\n others = __rest(props, [\"prefixCls\", \"className\", \"rootClassName\", \"children\", \"hasSider\", \"tagName\", \"style\"]);\n const passedProps = omit(others, ['suffixCls']);\n const {\n getPrefixCls,\n layout\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('layout', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const classString = classNames(prefixCls, {\n [`${prefixCls}-has-sider`]: typeof hasSider === 'boolean' ? hasSider : siders.length > 0,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, layout === null || layout === void 0 ? void 0 : layout.className, className, rootClassName, hashId);\n const contextValue = React.useMemo(() => ({\n siderHook: {\n addSider: id => {\n setSiders(prev => [].concat(_toConsumableArray(prev), [id]));\n },\n removeSider: id => {\n setSiders(prev => prev.filter(currentId => currentId !== id));\n }\n }\n }), []);\n return wrapSSR( /*#__PURE__*/React.createElement(LayoutContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Tag, Object.assign({\n ref: ref,\n className: classString,\n style: Object.assign(Object.assign({}, layout === null || layout === void 0 ? void 0 : layout.style), style)\n }, passedProps), children)));\n});\nconst Layout = generator({\n tagName: 'div',\n displayName: 'Layout'\n})(BasicLayout);\nconst Header = generator({\n suffixCls: 'header',\n tagName: 'header',\n displayName: 'Header'\n})(Basic);\nconst Footer = generator({\n suffixCls: 'footer',\n tagName: 'footer',\n displayName: 'Footer'\n})(Basic);\nconst Content = generator({\n suffixCls: 'content',\n tagName: 'main',\n displayName: 'Content'\n})(Basic);\nexport { Content, Footer, Header };\nexport default Layout;","import React from 'react';\nexport const ListContext = /*#__PURE__*/React.createContext({});\nexport const ListConsumer = ListContext.Consumer;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport React, { Children, forwardRef, useContext } from 'react';\nimport { cloneElement } from '../_util/reactNode';\nimport { ConfigContext } from '../config-provider';\nimport { Col } from '../grid';\nimport { ListContext } from './context';\nexport const Meta = _a => {\n var {\n prefixCls: customizePrefixCls,\n className,\n avatar,\n title,\n description\n } = _a,\n others = __rest(_a, [\"prefixCls\", \"className\", \"avatar\", \"title\", \"description\"]);\n const {\n getPrefixCls\n } = useContext(ConfigContext);\n const prefixCls = getPrefixCls('list', customizePrefixCls);\n const classString = classNames(`${prefixCls}-item-meta`, className);\n const content = /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-item-meta-content`\n }, title && /*#__PURE__*/React.createElement(\"h4\", {\n className: `${prefixCls}-item-meta-title`\n }, title), description && /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-item-meta-description`\n }, description));\n return /*#__PURE__*/React.createElement(\"div\", Object.assign({}, others, {\n className: classString\n }), avatar && /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-item-meta-avatar`\n }, avatar), (title || description) && content);\n};\nconst InternalItem = (_a, ref) => {\n var {\n prefixCls: customizePrefixCls,\n children,\n actions,\n extra,\n className,\n colStyle\n } = _a,\n others = __rest(_a, [\"prefixCls\", \"children\", \"actions\", \"extra\", \"className\", \"colStyle\"]);\n const {\n grid,\n itemLayout\n } = useContext(ListContext);\n const {\n getPrefixCls\n } = useContext(ConfigContext);\n const isItemContainsTextNodeAndNotSingular = () => {\n let result;\n Children.forEach(children, element => {\n if (typeof element === 'string') {\n result = true;\n }\n });\n return result && Children.count(children) > 1;\n };\n const isFlexMode = () => {\n if (itemLayout === 'vertical') {\n return !!extra;\n }\n return !isItemContainsTextNodeAndNotSingular();\n };\n const prefixCls = getPrefixCls('list', customizePrefixCls);\n const actionsContent = actions && actions.length > 0 && /*#__PURE__*/React.createElement(\"ul\", {\n className: `${prefixCls}-item-action`,\n key: \"actions\"\n }, actions.map((action, i) =>\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"li\", {\n key: `${prefixCls}-item-action-${i}`\n }, action, i !== actions.length - 1 && /*#__PURE__*/React.createElement(\"em\", {\n className: `${prefixCls}-item-action-split`\n }))));\n const Element = grid ? 'div' : 'li';\n const itemChildren = /*#__PURE__*/React.createElement(Element, Object.assign({}, others, !grid ? {\n ref\n } : {}, {\n className: classNames(`${prefixCls}-item`, {\n [`${prefixCls}-item-no-flex`]: !isFlexMode()\n }, className)\n }), itemLayout === 'vertical' && extra ? [/*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-item-main`,\n key: \"content\"\n }, children, actionsContent), /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-item-extra`,\n key: \"extra\"\n }, extra)] : [children, actionsContent, cloneElement(extra, {\n key: 'extra'\n })]);\n return grid ? /*#__PURE__*/React.createElement(Col, {\n ref: ref,\n flex: 1,\n style: colStyle\n }, itemChildren) : itemChildren;\n};\nconst Item = /*#__PURE__*/forwardRef(InternalItem);\nItem.Meta = Meta;\nexport default Item;","import { resetComponent } from '../../style';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nconst genBorderedStyle = token => {\n const {\n listBorderedCls,\n componentCls,\n paddingLG,\n margin,\n itemPaddingSM,\n itemPaddingLG,\n marginLG,\n borderRadiusLG\n } = token;\n return {\n [`${listBorderedCls}`]: {\n border: `${token.lineWidth}px ${token.lineType} ${token.colorBorder}`,\n borderRadius: borderRadiusLG,\n [`${componentCls}-header,${componentCls}-footer,${componentCls}-item`]: {\n paddingInline: paddingLG\n },\n [`${componentCls}-pagination`]: {\n margin: `${margin}px ${marginLG}px`\n }\n },\n [`${listBorderedCls}${componentCls}-sm`]: {\n [`${componentCls}-item,${componentCls}-header,${componentCls}-footer`]: {\n padding: itemPaddingSM\n }\n },\n [`${listBorderedCls}${componentCls}-lg`]: {\n [`${componentCls}-item,${componentCls}-header,${componentCls}-footer`]: {\n padding: itemPaddingLG\n }\n }\n };\n};\nconst genResponsiveStyle = token => {\n const {\n componentCls,\n screenSM,\n screenMD,\n marginLG,\n marginSM,\n margin\n } = token;\n return {\n [`@media screen and (max-width:${screenMD})`]: {\n [`${componentCls}`]: {\n [`${componentCls}-item`]: {\n [`${componentCls}-item-action`]: {\n marginInlineStart: marginLG\n }\n }\n },\n [`${componentCls}-vertical`]: {\n [`${componentCls}-item`]: {\n [`${componentCls}-item-extra`]: {\n marginInlineStart: marginLG\n }\n }\n }\n },\n [`@media screen and (max-width: ${screenSM})`]: {\n [`${componentCls}`]: {\n [`${componentCls}-item`]: {\n flexWrap: 'wrap',\n [`${componentCls}-action`]: {\n marginInlineStart: marginSM\n }\n }\n },\n [`${componentCls}-vertical`]: {\n [`${componentCls}-item`]: {\n flexWrap: 'wrap-reverse',\n [`${componentCls}-item-main`]: {\n minWidth: token.contentWidth\n },\n [`${componentCls}-item-extra`]: {\n margin: `auto auto ${margin}px`\n }\n }\n }\n }\n };\n};\n// =============================== Base ===============================\nconst genBaseStyle = token => {\n const {\n componentCls,\n antCls,\n controlHeight,\n minHeight,\n paddingSM,\n marginLG,\n padding,\n itemPadding,\n colorPrimary,\n itemPaddingSM,\n itemPaddingLG,\n paddingXS,\n margin,\n colorText,\n colorTextDescription,\n motionDurationSlow,\n lineWidth,\n headerBg,\n footerBg,\n emptyTextPadding,\n metaMarginBottom,\n avatarMarginRight,\n titleMarginBottom,\n descriptionFontSize\n } = token;\n const alignCls = {};\n ['start', 'center', 'end'].forEach(item => {\n alignCls[`&-align-${item}`] = {\n textAlign: item\n };\n });\n return {\n [`${componentCls}`]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'relative',\n '*': {\n outline: 'none'\n },\n [`${componentCls}-header`]: {\n background: headerBg\n },\n [`${componentCls}-footer`]: {\n background: footerBg\n },\n [`${componentCls}-header, ${componentCls}-footer`]: {\n paddingBlock: paddingSM\n },\n [`${componentCls}-pagination`]: Object.assign(Object.assign({\n marginBlockStart: marginLG\n }, alignCls), {\n // https://github.com/ant-design/ant-design/issues/20037\n [`${antCls}-pagination-options`]: {\n textAlign: 'start'\n }\n }),\n [`${componentCls}-spin`]: {\n minHeight,\n textAlign: 'center'\n },\n [`${componentCls}-items`]: {\n margin: 0,\n padding: 0,\n listStyle: 'none'\n },\n [`${componentCls}-item`]: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: itemPadding,\n color: colorText,\n [`${componentCls}-item-meta`]: {\n display: 'flex',\n flex: 1,\n alignItems: 'flex-start',\n maxWidth: '100%',\n [`${componentCls}-item-meta-avatar`]: {\n marginInlineEnd: avatarMarginRight\n },\n [`${componentCls}-item-meta-content`]: {\n flex: '1 0',\n width: 0,\n color: colorText\n },\n [`${componentCls}-item-meta-title`]: {\n margin: `0 0 ${token.marginXXS}px 0`,\n color: colorText,\n fontSize: token.fontSize,\n lineHeight: token.lineHeight,\n '> a': {\n color: colorText,\n transition: `all ${motionDurationSlow}`,\n [`&:hover`]: {\n color: colorPrimary\n }\n }\n },\n [`${componentCls}-item-meta-description`]: {\n color: colorTextDescription,\n fontSize: descriptionFontSize,\n lineHeight: token.lineHeight\n }\n },\n [`${componentCls}-item-action`]: {\n flex: '0 0 auto',\n marginInlineStart: token.marginXXL,\n padding: 0,\n fontSize: 0,\n listStyle: 'none',\n [`& > li`]: {\n position: 'relative',\n display: 'inline-block',\n padding: `0 ${paddingXS}px`,\n color: colorTextDescription,\n fontSize: token.fontSize,\n lineHeight: token.lineHeight,\n textAlign: 'center',\n [`&:first-child`]: {\n paddingInlineStart: 0\n }\n },\n [`${componentCls}-item-action-split`]: {\n position: 'absolute',\n insetBlockStart: '50%',\n insetInlineEnd: 0,\n width: lineWidth,\n height: Math.ceil(token.fontSize * token.lineHeight) - token.marginXXS * 2,\n transform: 'translateY(-50%)',\n backgroundColor: token.colorSplit\n }\n }\n },\n [`${componentCls}-empty`]: {\n padding: `${padding}px 0`,\n color: colorTextDescription,\n fontSize: token.fontSizeSM,\n textAlign: 'center'\n },\n [`${componentCls}-empty-text`]: {\n padding: emptyTextPadding,\n color: token.colorTextDisabled,\n fontSize: token.fontSize,\n textAlign: 'center'\n },\n // ============================ without flex ============================\n [`${componentCls}-item-no-flex`]: {\n display: 'block'\n }\n }),\n [`${componentCls}-grid ${antCls}-col > ${componentCls}-item`]: {\n display: 'block',\n maxWidth: '100%',\n marginBlockEnd: margin,\n paddingBlock: 0,\n borderBlockEnd: 'none'\n },\n [`${componentCls}-vertical ${componentCls}-item`]: {\n alignItems: 'initial',\n [`${componentCls}-item-main`]: {\n display: 'block',\n flex: 1\n },\n [`${componentCls}-item-extra`]: {\n marginInlineStart: marginLG\n },\n [`${componentCls}-item-meta`]: {\n marginBlockEnd: metaMarginBottom,\n [`${componentCls}-item-meta-title`]: {\n marginBlockStart: 0,\n marginBlockEnd: titleMarginBottom,\n color: colorText,\n fontSize: token.fontSizeLG,\n lineHeight: token.lineHeightLG\n }\n },\n [`${componentCls}-item-action`]: {\n marginBlockStart: padding,\n marginInlineStart: 'auto',\n '> li': {\n padding: `0 ${padding}px`,\n [`&:first-child`]: {\n paddingInlineStart: 0\n }\n }\n }\n },\n [`${componentCls}-split ${componentCls}-item`]: {\n borderBlockEnd: `${token.lineWidth}px ${token.lineType} ${token.colorSplit}`,\n [`&:last-child`]: {\n borderBlockEnd: 'none'\n }\n },\n [`${componentCls}-split ${componentCls}-header`]: {\n borderBlockEnd: `${token.lineWidth}px ${token.lineType} ${token.colorSplit}`\n },\n [`${componentCls}-split${componentCls}-empty ${componentCls}-footer`]: {\n borderTop: `${token.lineWidth}px ${token.lineType} ${token.colorSplit}`\n },\n [`${componentCls}-loading ${componentCls}-spin-nested-loading`]: {\n minHeight: controlHeight\n },\n [`${componentCls}-split${componentCls}-something-after-last-item ${antCls}-spin-container > ${componentCls}-items > ${componentCls}-item:last-child`]: {\n borderBlockEnd: `${token.lineWidth}px ${token.lineType} ${token.colorSplit}`\n },\n [`${componentCls}-lg ${componentCls}-item`]: {\n padding: itemPaddingLG\n },\n [`${componentCls}-sm ${componentCls}-item`]: {\n padding: itemPaddingSM\n },\n // Horizontal\n [`${componentCls}:not(${componentCls}-vertical)`]: {\n [`${componentCls}-item-no-flex`]: {\n [`${componentCls}-item-action`]: {\n float: 'right'\n }\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('List', token => {\n const listToken = mergeToken(token, {\n listBorderedCls: `${token.componentCls}-bordered`,\n minHeight: token.controlHeightLG\n });\n return [genBaseStyle(listToken), genBorderedStyle(listToken), genResponsiveStyle(listToken)];\n}, token => ({\n contentWidth: 220,\n itemPadding: `${token.paddingContentVertical}px 0`,\n itemPaddingSM: `${token.paddingContentVerticalSM}px ${token.paddingContentHorizontal}px`,\n itemPaddingLG: `${token.paddingContentVerticalLG}px ${token.paddingContentHorizontalLG}px`,\n headerBg: 'transparent',\n footerBg: 'transparent',\n emptyTextPadding: token.padding,\n metaMarginBottom: token.padding,\n avatarMarginRight: token.padding,\n titleMarginBottom: token.paddingSM,\n descriptionFontSize: token.fontSize\n}));","'use client';\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\n// eslint-disable-next-line import/no-named-as-default\nimport * as React from 'react';\nimport extendsObject from '../_util/extendsObject';\nimport { responsiveArray } from '../_util/responsiveObserver';\nimport { ConfigContext } from '../config-provider';\nimport DefaultRenderEmpty from '../config-provider/defaultRenderEmpty';\nimport { Row } from '../grid';\nimport useBreakpoint from '../grid/hooks/useBreakpoint';\nimport Pagination from '../pagination';\nimport Spin from '../spin';\nimport Item from './Item';\n// CSSINJS\nimport { ListContext } from './context';\nimport useStyle from './style';\nfunction List(_a) {\n var _b;\n var {\n pagination = false,\n prefixCls: customizePrefixCls,\n bordered = false,\n split = true,\n className,\n rootClassName,\n style,\n children,\n itemLayout,\n loadMore,\n grid,\n dataSource = [],\n size,\n header,\n footer,\n loading = false,\n rowKey,\n renderItem,\n locale\n } = _a,\n rest = __rest(_a, [\"pagination\", \"prefixCls\", \"bordered\", \"split\", \"className\", \"rootClassName\", \"style\", \"children\", \"itemLayout\", \"loadMore\", \"grid\", \"dataSource\", \"size\", \"header\", \"footer\", \"loading\", \"rowKey\", \"renderItem\", \"locale\"]);\n const paginationObj = pagination && typeof pagination === 'object' ? pagination : {};\n const [paginationCurrent, setPaginationCurrent] = React.useState(paginationObj.defaultCurrent || 1);\n const [paginationSize, setPaginationSize] = React.useState(paginationObj.defaultPageSize || 10);\n const {\n getPrefixCls,\n renderEmpty,\n direction,\n list\n } = React.useContext(ConfigContext);\n const defaultPaginationProps = {\n current: 1,\n total: 0\n };\n const triggerPaginationEvent = eventName => (page, pageSize) => {\n var _a;\n setPaginationCurrent(page);\n setPaginationSize(pageSize);\n if (pagination && pagination[eventName]) {\n (_a = pagination === null || pagination === void 0 ? void 0 : pagination[eventName]) === null || _a === void 0 ? void 0 : _a.call(pagination, page, pageSize);\n }\n };\n const onPaginationChange = triggerPaginationEvent('onChange');\n const onPaginationShowSizeChange = triggerPaginationEvent('onShowSizeChange');\n const renderInnerItem = (item, index) => {\n if (!renderItem) return null;\n let key;\n if (typeof rowKey === 'function') {\n key = rowKey(item);\n } else if (rowKey) {\n key = item[rowKey];\n } else {\n key = item.key;\n }\n if (!key) {\n key = `list-item-${index}`;\n }\n return /*#__PURE__*/React.createElement(React.Fragment, {\n key: key\n }, renderItem(item, index));\n };\n const isSomethingAfterLastItem = () => !!(loadMore || pagination || footer);\n const prefixCls = getPrefixCls('list', customizePrefixCls);\n // Style\n const [wrapSSR, hashId] = useStyle(prefixCls);\n let loadingProp = loading;\n if (typeof loadingProp === 'boolean') {\n loadingProp = {\n spinning: loadingProp\n };\n }\n const isLoading = loadingProp && loadingProp.spinning;\n // large => lg\n // small => sm\n let sizeCls = '';\n switch (size) {\n case 'large':\n sizeCls = 'lg';\n break;\n case 'small':\n sizeCls = 'sm';\n break;\n default:\n break;\n }\n const classString = classNames(prefixCls, {\n [`${prefixCls}-vertical`]: itemLayout === 'vertical',\n [`${prefixCls}-${sizeCls}`]: sizeCls,\n [`${prefixCls}-split`]: split,\n [`${prefixCls}-bordered`]: bordered,\n [`${prefixCls}-loading`]: isLoading,\n [`${prefixCls}-grid`]: !!grid,\n [`${prefixCls}-something-after-last-item`]: isSomethingAfterLastItem(),\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, list === null || list === void 0 ? void 0 : list.className, className, rootClassName, hashId);\n const paginationProps = extendsObject(defaultPaginationProps, {\n total: dataSource.length,\n current: paginationCurrent,\n pageSize: paginationSize\n }, pagination || {});\n const largestPage = Math.ceil(paginationProps.total / paginationProps.pageSize);\n if (paginationProps.current > largestPage) {\n paginationProps.current = largestPage;\n }\n const paginationContent = pagination ? /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(`${prefixCls}-pagination`, `${prefixCls}-pagination-align-${(_b = paginationProps === null || paginationProps === void 0 ? void 0 : paginationProps.align) !== null && _b !== void 0 ? _b : 'end'}`)\n }, /*#__PURE__*/React.createElement(Pagination, Object.assign({}, paginationProps, {\n onChange: onPaginationChange,\n onShowSizeChange: onPaginationShowSizeChange\n }))) : null;\n let splitDataSource = _toConsumableArray(dataSource);\n if (pagination) {\n if (dataSource.length > (paginationProps.current - 1) * paginationProps.pageSize) {\n splitDataSource = _toConsumableArray(dataSource).splice((paginationProps.current - 1) * paginationProps.pageSize, paginationProps.pageSize);\n }\n }\n const needResponsive = Object.keys(grid || {}).some(key => ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'].includes(key));\n const screens = useBreakpoint(needResponsive);\n const currentBreakpoint = React.useMemo(() => {\n for (let i = 0; i < responsiveArray.length; i += 1) {\n const breakpoint = responsiveArray[i];\n if (screens[breakpoint]) {\n return breakpoint;\n }\n }\n return undefined;\n }, [screens]);\n const colStyle = React.useMemo(() => {\n if (!grid) {\n return undefined;\n }\n const columnCount = currentBreakpoint && grid[currentBreakpoint] ? grid[currentBreakpoint] : grid.column;\n if (columnCount) {\n return {\n width: `${100 / columnCount}%`,\n maxWidth: `${100 / columnCount}%`\n };\n }\n }, [grid === null || grid === void 0 ? void 0 : grid.column, currentBreakpoint]);\n let childrenContent = isLoading && /*#__PURE__*/React.createElement(\"div\", {\n style: {\n minHeight: 53\n }\n });\n if (splitDataSource.length > 0) {\n const items = splitDataSource.map((item, index) => renderInnerItem(item, index));\n childrenContent = grid ? /*#__PURE__*/React.createElement(Row, {\n gutter: grid.gutter\n }, React.Children.map(items, child => /*#__PURE__*/React.createElement(\"div\", {\n key: child === null || child === void 0 ? void 0 : child.key,\n style: colStyle\n }, child))) : /*#__PURE__*/React.createElement(\"ul\", {\n className: `${prefixCls}-items`\n }, items);\n } else if (!children && !isLoading) {\n childrenContent = /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-empty-text`\n }, locale && locale.emptyText || (renderEmpty === null || renderEmpty === void 0 ? void 0 : renderEmpty('List')) || /*#__PURE__*/React.createElement(DefaultRenderEmpty, {\n componentName: \"List\"\n }));\n }\n const paginationPosition = paginationProps.position || 'bottom';\n const contextValue = React.useMemo(() => ({\n grid,\n itemLayout\n }), [JSON.stringify(grid), itemLayout]);\n return wrapSSR( /*#__PURE__*/React.createElement(ListContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(\"div\", Object.assign({\n style: Object.assign(Object.assign({}, list === null || list === void 0 ? void 0 : list.style), style),\n className: classString\n }, rest), (paginationPosition === 'top' || paginationPosition === 'both') && paginationContent, header && /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-header`\n }, header), /*#__PURE__*/React.createElement(Spin, Object.assign({}, loadingProp), childrenContent, children), footer && /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-footer`\n }, footer), loadMore || (paginationPosition === 'bottom' || paginationPosition === 'both') && paginationContent)));\n}\nif (process.env.NODE_ENV !== 'production') {\n List.displayName = 'List';\n}\nList.Item = Item;\nexport default List;","import { createContext } from 'react';\nconst LocaleContext = /*#__PURE__*/createContext(undefined);\nexport default LocaleContext;","/* eslint-disable no-template-curly-in-string */\nimport Pagination from \"rc-pagination/es/locale/en_US\";\nimport Calendar from '../calendar/locale/en_US';\nimport DatePicker from '../date-picker/locale/en_US';\nimport TimePicker from '../time-picker/locale/en_US';\nconst typeTemplate = '${label} is not a valid ${type}';\nconst localeValues = {\n locale: 'en',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n global: {\n placeholder: 'Please select'\n },\n Table: {\n filterTitle: 'Filter menu',\n filterConfirm: 'OK',\n filterReset: 'Reset',\n filterEmptyText: 'No filters',\n filterCheckall: 'Select all items',\n filterSearchPlaceholder: 'Search in filters',\n emptyText: 'No data',\n selectAll: 'Select current page',\n selectInvert: 'Invert current page',\n selectNone: 'Clear all data',\n selectionAll: 'Select all data',\n sortTitle: 'Sort',\n expand: 'Expand row',\n collapse: 'Collapse row',\n triggerDesc: 'Click to sort descending',\n triggerAsc: 'Click to sort ascending',\n cancelSort: 'Click to cancel sorting'\n },\n Tour: {\n Next: 'Next',\n Previous: 'Previous',\n Finish: 'Finish'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Cancel',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Cancel'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Search here',\n itemUnit: 'item',\n itemsUnit: 'items',\n remove: 'Remove',\n selectCurrent: 'Select current page',\n removeCurrent: 'Remove current page',\n selectAll: 'Select all data',\n removeAll: 'Remove all data',\n selectInvert: 'Invert current page'\n },\n Upload: {\n uploading: 'Uploading...',\n removeFile: 'Remove file',\n uploadError: 'Upload error',\n previewFile: 'Preview file',\n downloadFile: 'Download file'\n },\n Empty: {\n description: 'No data'\n },\n Icon: {\n icon: 'icon'\n },\n Text: {\n edit: 'Edit',\n copy: 'Copy',\n copied: 'Copied',\n expand: 'Expand'\n },\n PageHeader: {\n back: 'Back'\n },\n Form: {\n optional: '(optional)',\n defaultValidateMessages: {\n default: 'Field validation error for ${label}',\n required: 'Please enter ${label}',\n enum: '${label} must be one of [${enum}]',\n whitespace: '${label} cannot be a blank character',\n date: {\n format: '${label} date format is invalid',\n parse: '${label} cannot be converted to a date',\n invalid: '${label} is an invalid date'\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n boolean: typeTemplate,\n integer: typeTemplate,\n float: typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: '${label} must be ${len} characters',\n min: '${label} must be at least ${min} characters',\n max: '${label} must be up to ${max} characters',\n range: '${label} must be between ${min}-${max} characters'\n },\n number: {\n len: '${label} must be equal to ${len}',\n min: '${label} must be minimum ${min}',\n max: '${label} must be maximum ${max}',\n range: '${label} must be between ${min}-${max}'\n },\n array: {\n len: 'Must be ${len} ${label}',\n min: 'At least ${min} ${label}',\n max: 'At most ${max} ${label}',\n range: 'The amount of ${label} must be between ${min}-${max}'\n },\n pattern: {\n mismatch: '${label} does not match the pattern ${pattern}'\n }\n }\n },\n Image: {\n preview: 'Preview'\n },\n QRCode: {\n expired: 'QR code expired',\n refresh: 'Refresh'\n },\n ColorPicker: {\n presetEmpty: 'Empty'\n }\n};\nexport default localeValues;","import * as React from 'react';\nimport LocaleContext from './context';\nimport defaultLocaleData from './en_US';\nconst useLocale = (componentName, defaultLocale) => {\n const fullLocale = React.useContext(LocaleContext);\n const getLocale = React.useMemo(() => {\n var _a;\n const locale = defaultLocale || defaultLocaleData[componentName];\n const localeFromContext = (_a = fullLocale === null || fullLocale === void 0 ? void 0 : fullLocale[componentName]) !== null && _a !== void 0 ? _a : {};\n return Object.assign(Object.assign({}, typeof locale === 'function' ? locale() : locale), localeFromContext || {});\n }, [componentName, defaultLocale, fullLocale]);\n const getLocaleCode = React.useMemo(() => {\n const localeCode = fullLocale === null || fullLocale === void 0 ? void 0 : fullLocale.locale;\n // Had use LocaleProvide but didn't set locale\n if ((fullLocale === null || fullLocale === void 0 ? void 0 : fullLocale.exist) && !localeCode) {\n return defaultLocaleData.locale;\n }\n return localeCode;\n }, [fullLocale]);\n return [getLocale, getLocaleCode];\n};\nexport default useLocale;","var locale = {\n locale: 'zh_CN',\n today: '今天',\n now: '此刻',\n backToToday: '返回今天',\n ok: '确定',\n timeSelect: '选择时间',\n dateSelect: '选择日期',\n weekSelect: '选择周',\n clear: '清除',\n month: '月',\n year: '年',\n previousMonth: '上个月 (翻页上键)',\n nextMonth: '下个月 (翻页下键)',\n monthSelect: '选择月份',\n yearSelect: '选择年份',\n decadeSelect: '选择年代',\n yearFormat: 'YYYY年',\n dayFormat: 'D日',\n dateFormat: 'YYYY年M月D日',\n dateTimeFormat: 'YYYY年M月D日 HH时mm分ss秒',\n previousYear: '上一年 (Control键加左方向键)',\n nextYear: '下一年 (Control键加右方向键)',\n previousDecade: '上一年代',\n nextDecade: '下一年代',\n previousCentury: '上一世纪',\n nextCentury: '下一世纪'\n};\nexport default locale;","const locale = {\n placeholder: '请选择时间',\n rangePlaceholder: ['开始时间', '结束时间']\n};\nexport default locale;","import CalendarLocale from \"rc-picker/es/locale/zh_CN\";\nimport TimePickerLocale from '../../time-picker/locale/zh_CN';\n// 统一合并为完整的 Locale\nconst locale = {\n lang: Object.assign({\n placeholder: '请选择日期',\n yearPlaceholder: '请选择年份',\n quarterPlaceholder: '请选择季度',\n monthPlaceholder: '请选择月份',\n weekPlaceholder: '请选择周',\n rangePlaceholder: ['开始日期', '结束日期'],\n rangeYearPlaceholder: ['开始年份', '结束年份'],\n rangeMonthPlaceholder: ['开始月份', '结束月份'],\n rangeQuarterPlaceholder: ['开始季度', '结束季度'],\n rangeWeekPlaceholder: ['开始周', '结束周']\n }, CalendarLocale),\n timePickerLocale: Object.assign({}, TimePickerLocale)\n};\n// should add whitespace between char in Button\nlocale.lang.ok = '确定';\n// All settings at:\n// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json\nexport default locale;","import zhCN from '../../date-picker/locale/zh_CN';\nexport default zhCN;","/* eslint-disable no-template-curly-in-string */\nimport Pagination from \"rc-pagination/es/locale/zh_CN\";\nimport Calendar from '../calendar/locale/zh_CN';\nimport DatePicker from '../date-picker/locale/zh_CN';\nimport TimePicker from '../time-picker/locale/zh_CN';\nconst typeTemplate = '${label}不是一个有效的${type}';\nconst localeValues = {\n locale: 'zh-cn',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n // locales for all components\n global: {\n placeholder: '请选择'\n },\n Table: {\n filterTitle: '筛选',\n filterConfirm: '确定',\n filterReset: '重置',\n filterEmptyText: '无筛选项',\n filterCheckall: '全选',\n filterSearchPlaceholder: '在筛选项中搜索',\n selectAll: '全选当页',\n selectInvert: '反选当页',\n selectNone: '清空所有',\n selectionAll: '全选所有',\n sortTitle: '排序',\n expand: '展开行',\n collapse: '关闭行',\n triggerDesc: '点击降序',\n triggerAsc: '点击升序',\n cancelSort: '取消排序'\n },\n Modal: {\n okText: '确定',\n cancelText: '取消',\n justOkText: '知道了'\n },\n Tour: {\n Next: '下一步',\n Previous: '上一步',\n Finish: '结束导览'\n },\n Popconfirm: {\n cancelText: '取消',\n okText: '确定'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: '请输入搜索内容',\n itemUnit: '项',\n itemsUnit: '项',\n remove: '删除',\n selectCurrent: '全选当页',\n removeCurrent: '删除当页',\n selectAll: '全选所有',\n removeAll: '删除全部',\n selectInvert: '反选当页'\n },\n Upload: {\n uploading: '文件上传中',\n removeFile: '删除文件',\n uploadError: '上传错误',\n previewFile: '预览文件',\n downloadFile: '下载文件'\n },\n Empty: {\n description: '暂无数据'\n },\n Icon: {\n icon: '图标'\n },\n Text: {\n edit: '编辑',\n copy: '复制',\n copied: '复制成功',\n expand: '展开'\n },\n PageHeader: {\n back: '返回'\n },\n Form: {\n optional: '(可选)',\n defaultValidateMessages: {\n default: '字段验证错误${label}',\n required: '请输入${label}',\n enum: '${label}必须是其中一个[${enum}]',\n whitespace: '${label}不能为空字符',\n date: {\n format: '${label}日期格式无效',\n parse: '${label}不能转换为日期',\n invalid: '${label}是一个无效日期'\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n boolean: typeTemplate,\n integer: typeTemplate,\n float: typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: '${label}须为${len}个字符',\n min: '${label}最少${min}个字符',\n max: '${label}最多${max}个字符',\n range: '${label}须在${min}-${max}字符之间'\n },\n number: {\n len: '${label}必须等于${len}',\n min: '${label}最小值为${min}',\n max: '${label}最大值为${max}',\n range: '${label}须在${min}-${max}之间'\n },\n array: {\n len: '须为${len}个${label}',\n min: '最少${min}个${label}',\n max: '最多${max}个${label}',\n range: '${label}数量须在${min}-${max}之间'\n },\n pattern: {\n mismatch: '${label}与模式不匹配${pattern}'\n }\n }\n },\n Image: {\n preview: '预览'\n },\n QRCode: {\n expired: '二维码过期',\n refresh: '点击刷新'\n },\n ColorPicker: {\n presetEmpty: '暂无'\n }\n};\nexport default localeValues;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { NoCompactStyle } from '../space/Compact';\nimport { supportNodeRef } from 'rc-util';\nconst OverrideContext = /*#__PURE__*/React.createContext(null);\n/** @internal Only used for Dropdown component. Do not use this in your production. */\nexport const OverrideProvider = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n children\n } = props,\n restProps = __rest(props, [\"children\"]);\n const override = React.useContext(OverrideContext);\n const context = React.useMemo(() => Object.assign(Object.assign({}, override), restProps), [override, restProps.prefixCls,\n // restProps.expandIcon, Not mark as deps since this is a ReactNode\n restProps.mode, restProps.selectable\n // restProps.validator, Not mark as deps since this is a function\n ]);\n\n return /*#__PURE__*/React.createElement(OverrideContext.Provider, {\n value: context\n }, /*#__PURE__*/React.createElement(NoCompactStyle, null, supportNodeRef(children) ? /*#__PURE__*/React.cloneElement(children, {\n ref\n }) : children));\n});\n/** @internal Only used for Dropdown component. Do not use this in your production. */\nexport default OverrideContext;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport { Divider } from 'rc-menu';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nconst MenuDivider = props => {\n const {\n prefixCls: customizePrefixCls,\n className,\n dashed\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"dashed\"]);\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('menu', customizePrefixCls);\n const classString = classNames({\n [`${prefixCls}-item-divider-dashed`]: !!dashed\n }, className);\n return /*#__PURE__*/React.createElement(Divider, Object.assign({\n className: classString\n }, restProps));\n};\nexport default MenuDivider;","import { createContext } from 'react';\nconst MenuContext = /*#__PURE__*/createContext({\n prefixCls: '',\n firstLevel: true,\n inlineCollapsed: false\n});\nexport default MenuContext;","import classNames from 'classnames';\nimport { Item } from 'rc-menu';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { SiderContext } from '../layout/Sider';\nimport Tooltip from '../tooltip';\nimport { cloneElement, isValidElement } from '../_util/reactNode';\nimport MenuContext from './MenuContext';\nconst MenuItem = props => {\n var _a;\n const {\n className,\n children,\n icon,\n title,\n danger\n } = props;\n const {\n prefixCls,\n firstLevel,\n direction,\n disableMenuItemTitleTooltip,\n inlineCollapsed: isInlineCollapsed\n } = React.useContext(MenuContext);\n const renderItemChildren = inlineCollapsed => {\n const wrapNode = /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-title-content`\n }, children);\n // inline-collapsed.md demo 依赖 span 来隐藏文字,有 icon 属性,则内部包裹一个 span\n // ref: https://github.com/ant-design/ant-design/pull/23456\n if (!icon || isValidElement(children) && children.type === 'span') {\n if (children && inlineCollapsed && firstLevel && typeof children === 'string') {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-inline-collapsed-noicon`\n }, children.charAt(0));\n }\n }\n return wrapNode;\n };\n const {\n siderCollapsed\n } = React.useContext(SiderContext);\n let tooltipTitle = title;\n if (typeof title === 'undefined') {\n tooltipTitle = firstLevel ? children : '';\n } else if (title === false) {\n tooltipTitle = '';\n }\n const tooltipProps = {\n title: tooltipTitle\n };\n if (!siderCollapsed && !isInlineCollapsed) {\n tooltipProps.title = null;\n // Reset `open` to fix control mode tooltip display not correct\n // ref: https://github.com/ant-design/ant-design/issues/16742\n tooltipProps.open = false;\n }\n const childrenLength = toArray(children).length;\n let returnNode = /*#__PURE__*/React.createElement(Item, Object.assign({}, omit(props, ['title', 'icon', 'danger']), {\n className: classNames({\n [`${prefixCls}-item-danger`]: danger,\n [`${prefixCls}-item-only-child`]: (icon ? childrenLength + 1 : childrenLength) === 1\n }, className),\n title: typeof title === 'string' ? title : undefined\n }), cloneElement(icon, {\n className: classNames(isValidElement(icon) ? (_a = icon.props) === null || _a === void 0 ? void 0 : _a.className : '', `${prefixCls}-item-icon`)\n }), renderItemChildren(isInlineCollapsed));\n if (!disableMenuItemTitleTooltip) {\n returnNode = /*#__PURE__*/React.createElement(Tooltip, Object.assign({}, tooltipProps, {\n placement: direction === 'rtl' ? 'left' : 'right',\n overlayClassName: `${prefixCls}-inline-collapsed-tooltip`\n }), returnNode);\n }\n return returnNode;\n};\nexport default MenuItem;","import classNames from 'classnames';\nimport { SubMenu as RcSubMenu, useFullPath } from 'rc-menu';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { cloneElement, isValidElement } from '../_util/reactNode';\nimport MenuContext from './MenuContext';\nconst SubMenu = props => {\n var _a;\n const {\n popupClassName,\n icon,\n title,\n theme: customTheme\n } = props;\n const context = React.useContext(MenuContext);\n const {\n prefixCls,\n inlineCollapsed,\n theme: contextTheme\n } = context;\n const parentPath = useFullPath();\n let titleNode;\n if (!icon) {\n titleNode = inlineCollapsed && !parentPath.length && title && typeof title === 'string' ? /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-inline-collapsed-noicon`\n }, title.charAt(0)) : /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-title-content`\n }, title);\n } else {\n // inline-collapsed.md demo 依赖 span 来隐藏文字,有 icon 属性,则内部包裹一个 span\n // ref: https://github.com/ant-design/ant-design/pull/23456\n const titleIsSpan = isValidElement(title) && title.type === 'span';\n titleNode = /*#__PURE__*/React.createElement(React.Fragment, null, cloneElement(icon, {\n className: classNames(isValidElement(icon) ? (_a = icon.props) === null || _a === void 0 ? void 0 : _a.className : '', `${prefixCls}-item-icon`)\n }), titleIsSpan ? title : /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-title-content`\n }, title));\n }\n const contextValue = React.useMemo(() => Object.assign(Object.assign({}, context), {\n firstLevel: false\n }), [context]);\n return /*#__PURE__*/React.createElement(MenuContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(RcSubMenu, Object.assign({}, omit(props, ['icon']), {\n title: titleNode,\n popupClassName: classNames(prefixCls, popupClassName, `${prefixCls}-${customTheme || contextTheme}`)\n })));\n};\nexport default SubMenu;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { ItemGroup } from 'rc-menu';\nimport * as React from 'react';\nimport MenuDivider from '../MenuDivider';\nimport MenuItem from '../MenuItem';\nimport SubMenu from '../SubMenu';\nfunction convertItemsToNodes(list) {\n return (list || []).map((opt, index) => {\n if (opt && typeof opt === 'object') {\n const _a = opt,\n {\n label,\n children,\n key,\n type\n } = _a,\n restProps = __rest(_a, [\"label\", \"children\", \"key\", \"type\"]);\n const mergedKey = key !== null && key !== void 0 ? key : `tmp-${index}`;\n // MenuItemGroup & SubMenuItem\n if (children || type === 'group') {\n if (type === 'group') {\n // Group\n return /*#__PURE__*/React.createElement(ItemGroup, Object.assign({\n key: mergedKey\n }, restProps, {\n title: label\n }), convertItemsToNodes(children));\n }\n // Sub Menu\n return /*#__PURE__*/React.createElement(SubMenu, Object.assign({\n key: mergedKey\n }, restProps, {\n title: label\n }), convertItemsToNodes(children));\n }\n // MenuItem & Divider\n if (type === 'divider') {\n return /*#__PURE__*/React.createElement(MenuDivider, Object.assign({\n key: mergedKey\n }, restProps));\n }\n return /*#__PURE__*/React.createElement(MenuItem, Object.assign({\n key: mergedKey\n }, restProps), label);\n }\n return null;\n }).filter(opt => opt);\n}\n// FIXME: Move logic here in v5\n/**\n * We simply convert `items` to ReactNode for reuse origin component logic. But we need move all the\n * logic from component into this hooks when in v5\n */\nexport default function useItems(items) {\n return React.useMemo(() => {\n if (!items) {\n return items;\n }\n return convertItemsToNodes(items);\n }, [items]);\n}","const getHorizontalStyle = token => {\n const {\n componentCls,\n motionDurationSlow,\n horizontalLineHeight,\n colorSplit,\n lineWidth,\n lineType,\n itemPaddingInline\n } = token;\n return {\n [`${componentCls}-horizontal`]: {\n lineHeight: horizontalLineHeight,\n border: 0,\n borderBottom: `${lineWidth}px ${lineType} ${colorSplit}`,\n boxShadow: 'none',\n '&::after': {\n display: 'block',\n clear: 'both',\n height: 0,\n content: '\"\\\\20\"'\n },\n // ======================= Item =======================\n [`${componentCls}-item, ${componentCls}-submenu`]: {\n position: 'relative',\n display: 'inline-block',\n verticalAlign: 'bottom',\n paddingInline: itemPaddingInline\n },\n [`> ${componentCls}-item:hover,\n > ${componentCls}-item-active,\n > ${componentCls}-submenu ${componentCls}-submenu-title:hover`]: {\n backgroundColor: 'transparent'\n },\n [`${componentCls}-item, ${componentCls}-submenu-title`]: {\n transition: [`border-color ${motionDurationSlow}`, `background ${motionDurationSlow}`].join(',')\n },\n // ===================== Sub Menu =====================\n [`${componentCls}-submenu-arrow`]: {\n display: 'none'\n }\n }\n };\n};\nexport default getHorizontalStyle;","const getRTLStyle = _ref => {\n let {\n componentCls,\n menuArrowOffset\n } = _ref;\n return {\n [`${componentCls}-rtl`]: {\n direction: 'rtl'\n },\n [`${componentCls}-submenu-rtl`]: {\n transformOrigin: '100% 0'\n },\n // Vertical Arrow\n [`${componentCls}-rtl${componentCls}-vertical,\n ${componentCls}-submenu-rtl ${componentCls}-vertical`]: {\n [`${componentCls}-submenu-arrow`]: {\n '&::before': {\n transform: `rotate(-45deg) translateY(-${menuArrowOffset})`\n },\n '&::after': {\n transform: `rotate(45deg) translateY(${menuArrowOffset})`\n }\n }\n }\n };\n};\nexport default getRTLStyle;","import { genFocusOutline } from '../../style';\nconst accessibilityFocus = token => Object.assign({}, genFocusOutline(token));\nconst getThemeStyle = (token, themeSuffix) => {\n const {\n componentCls,\n itemColor,\n itemSelectedColor,\n groupTitleColor,\n itemBg,\n subMenuItemBg,\n itemSelectedBg,\n activeBarHeight,\n activeBarWidth,\n activeBarBorderWidth,\n motionDurationSlow,\n motionEaseInOut,\n motionEaseOut,\n itemPaddingInline,\n motionDurationMid,\n itemHoverColor,\n lineType,\n colorSplit,\n // Disabled\n itemDisabledColor,\n // Danger\n dangerItemColor,\n dangerItemHoverColor,\n dangerItemSelectedColor,\n dangerItemActiveBg,\n dangerItemSelectedBg,\n itemHoverBg,\n itemActiveBg,\n menuSubMenuBg,\n // Horizontal\n horizontalItemSelectedColor,\n horizontalItemSelectedBg,\n horizontalItemBorderRadius,\n horizontalItemHoverBg,\n popupBg\n } = token;\n return {\n [`${componentCls}-${themeSuffix}, ${componentCls}-${themeSuffix} > ${componentCls}`]: {\n color: itemColor,\n background: itemBg,\n [`&${componentCls}-root:focus-visible`]: Object.assign({}, accessibilityFocus(token)),\n // ======================== Item ========================\n [`${componentCls}-item-group-title`]: {\n color: groupTitleColor\n },\n [`${componentCls}-submenu-selected`]: {\n [`> ${componentCls}-submenu-title`]: {\n color: itemSelectedColor\n }\n },\n // Disabled\n [`${componentCls}-item-disabled, ${componentCls}-submenu-disabled`]: {\n color: `${itemDisabledColor} !important`\n },\n // Hover\n [`${componentCls}-item:not(${componentCls}-item-selected):not(${componentCls}-submenu-selected)`]: {\n [`&:hover, > ${componentCls}-submenu-title:hover`]: {\n color: itemHoverColor\n }\n },\n [`&:not(${componentCls}-horizontal)`]: {\n [`${componentCls}-item:not(${componentCls}-item-selected)`]: {\n '&:hover': {\n backgroundColor: itemHoverBg\n },\n '&:active': {\n backgroundColor: itemActiveBg\n }\n },\n [`${componentCls}-submenu-title`]: {\n '&:hover': {\n backgroundColor: itemHoverBg\n },\n '&:active': {\n backgroundColor: itemActiveBg\n }\n }\n },\n // Danger - only Item has\n [`${componentCls}-item-danger`]: {\n color: dangerItemColor,\n [`&${componentCls}-item:hover`]: {\n [`&:not(${componentCls}-item-selected):not(${componentCls}-submenu-selected)`]: {\n color: dangerItemHoverColor\n }\n },\n [`&${componentCls}-item:active`]: {\n background: dangerItemActiveBg\n }\n },\n [`${componentCls}-item a`]: {\n '&, &:hover': {\n color: 'inherit'\n }\n },\n [`${componentCls}-item-selected`]: {\n color: itemSelectedColor,\n // Danger\n [`&${componentCls}-item-danger`]: {\n color: dangerItemSelectedColor\n },\n [`a, a:hover`]: {\n color: 'inherit'\n }\n },\n [`& ${componentCls}-item-selected`]: {\n backgroundColor: itemSelectedBg,\n // Danger\n [`&${componentCls}-item-danger`]: {\n backgroundColor: dangerItemSelectedBg\n }\n },\n [`${componentCls}-item, ${componentCls}-submenu-title`]: {\n [`&:not(${componentCls}-item-disabled):focus-visible`]: Object.assign({}, accessibilityFocus(token))\n },\n [`&${componentCls}-submenu > ${componentCls}`]: {\n backgroundColor: menuSubMenuBg\n },\n [`&${componentCls}-popup > ${componentCls}`]: {\n backgroundColor: popupBg\n },\n // ====================== Horizontal ======================\n [`&${componentCls}-horizontal`]: Object.assign(Object.assign({}, themeSuffix === 'dark' ? {\n borderBottom: 0\n } : {}), {\n [`> ${componentCls}-item, > ${componentCls}-submenu`]: {\n top: activeBarBorderWidth,\n marginTop: -activeBarBorderWidth,\n marginBottom: 0,\n borderRadius: horizontalItemBorderRadius,\n '&::after': {\n position: 'absolute',\n insetInline: itemPaddingInline,\n bottom: 0,\n borderBottom: `${activeBarHeight}px solid transparent`,\n transition: `border-color ${motionDurationSlow} ${motionEaseInOut}`,\n content: '\"\"'\n },\n [`&:hover, &-active, &-open`]: {\n background: horizontalItemHoverBg,\n '&::after': {\n borderBottomWidth: activeBarHeight,\n borderBottomColor: horizontalItemSelectedColor\n }\n },\n [`&-selected`]: {\n color: horizontalItemSelectedColor,\n backgroundColor: horizontalItemSelectedBg,\n '&:hover': {\n backgroundColor: horizontalItemSelectedBg\n },\n '&::after': {\n borderBottomWidth: activeBarHeight,\n borderBottomColor: horizontalItemSelectedColor\n }\n }\n }\n }),\n // ================== Inline & Vertical ===================\n //\n [`&${componentCls}-root`]: {\n [`&${componentCls}-inline, &${componentCls}-vertical`]: {\n borderInlineEnd: `${activeBarBorderWidth}px ${lineType} ${colorSplit}`\n }\n },\n // ======================== Inline ========================\n [`&${componentCls}-inline`]: {\n // Sub\n [`${componentCls}-sub${componentCls}-inline`]: {\n background: subMenuItemBg\n },\n // Item\n [`${componentCls}-item, ${componentCls}-submenu-title`]: activeBarBorderWidth && activeBarWidth ? {\n width: `calc(100% + ${activeBarBorderWidth}px)`\n } : {},\n [`${componentCls}-item`]: {\n position: 'relative',\n '&::after': {\n position: 'absolute',\n insetBlock: 0,\n insetInlineEnd: 0,\n borderInlineEnd: `${activeBarWidth}px solid ${itemSelectedColor}`,\n transform: 'scaleY(0.0001)',\n opacity: 0,\n transition: [`transform ${motionDurationMid} ${motionEaseOut}`, `opacity ${motionDurationMid} ${motionEaseOut}`].join(','),\n content: '\"\"'\n },\n // Danger\n [`&${componentCls}-item-danger`]: {\n '&::after': {\n borderInlineEndColor: dangerItemSelectedColor\n }\n }\n },\n [`${componentCls}-selected, ${componentCls}-item-selected`]: {\n '&::after': {\n transform: 'scaleY(1)',\n opacity: 1,\n transition: [`transform ${motionDurationMid} ${motionEaseInOut}`, `opacity ${motionDurationMid} ${motionEaseInOut}`].join(',')\n }\n }\n }\n }\n };\n};\nexport default getThemeStyle;","import { textEllipsis } from '../../style';\nconst getVerticalInlineStyle = token => {\n const {\n componentCls,\n itemHeight,\n itemMarginInline,\n padding,\n menuArrowSize,\n marginXS,\n itemMarginBlock\n } = token;\n const paddingWithArrow = padding + menuArrowSize + marginXS;\n return {\n [`${componentCls}-item`]: {\n position: 'relative',\n overflow: 'hidden'\n },\n [`${componentCls}-item, ${componentCls}-submenu-title`]: {\n height: itemHeight,\n lineHeight: `${itemHeight}px`,\n paddingInline: padding,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n marginInline: itemMarginInline,\n marginBlock: itemMarginBlock,\n width: `calc(100% - ${itemMarginInline * 2}px)`\n },\n [`> ${componentCls}-item,\n > ${componentCls}-submenu > ${componentCls}-submenu-title`]: {\n height: itemHeight,\n lineHeight: `${itemHeight}px`\n },\n [`${componentCls}-item-group-list ${componentCls}-submenu-title,\n ${componentCls}-submenu-title`]: {\n paddingInlineEnd: paddingWithArrow\n }\n };\n};\nconst getVerticalStyle = token => {\n const {\n componentCls,\n iconCls,\n itemHeight,\n colorTextLightSolid,\n dropdownWidth,\n controlHeightLG,\n motionDurationMid,\n motionEaseOut,\n paddingXL,\n itemMarginInline,\n fontSizeLG,\n motionDurationSlow,\n paddingXS,\n boxShadowSecondary,\n collapsedWidth,\n collapsedIconSize\n } = token;\n const inlineItemStyle = {\n height: itemHeight,\n lineHeight: `${itemHeight}px`,\n listStylePosition: 'inside',\n listStyleType: 'disc'\n };\n return [{\n [componentCls]: {\n [`&-inline, &-vertical`]: Object.assign({\n [`&${componentCls}-root`]: {\n boxShadow: 'none'\n }\n }, getVerticalInlineStyle(token))\n },\n [`${componentCls}-submenu-popup`]: {\n [`${componentCls}-vertical`]: Object.assign(Object.assign({}, getVerticalInlineStyle(token)), {\n boxShadow: boxShadowSecondary\n })\n }\n },\n // Vertical only\n {\n [`${componentCls}-submenu-popup ${componentCls}-vertical${componentCls}-sub`]: {\n minWidth: dropdownWidth,\n maxHeight: `calc(100vh - ${controlHeightLG * 2.5}px)`,\n padding: '0',\n overflow: 'hidden',\n borderInlineEnd: 0,\n // https://github.com/ant-design/ant-design/issues/22244\n // https://github.com/ant-design/ant-design/issues/26812\n \"&:not([class*='-active'])\": {\n overflowX: 'hidden',\n overflowY: 'auto'\n }\n }\n },\n // Inline Only\n {\n [`${componentCls}-inline`]: {\n width: '100%',\n // Motion enhance for first level\n [`&${componentCls}-root`]: {\n [`${componentCls}-item, ${componentCls}-submenu-title`]: {\n display: 'flex',\n alignItems: 'center',\n transition: [`border-color ${motionDurationSlow}`, `background ${motionDurationSlow}`, `padding ${motionDurationMid} ${motionEaseOut}`].join(','),\n [`> ${componentCls}-title-content`]: {\n flex: 'auto',\n minWidth: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n },\n '> *': {\n flex: 'none'\n }\n }\n },\n // >>>>> Sub\n [`${componentCls}-sub${componentCls}-inline`]: {\n padding: 0,\n border: 0,\n borderRadius: 0,\n boxShadow: 'none',\n [`& > ${componentCls}-submenu > ${componentCls}-submenu-title`]: inlineItemStyle,\n [`& ${componentCls}-item-group-title`]: {\n paddingInlineStart: paddingXL\n }\n },\n // >>>>> Item\n [`${componentCls}-item`]: inlineItemStyle\n }\n },\n // Inline Collapse Only\n {\n [`${componentCls}-inline-collapsed`]: {\n width: collapsedWidth,\n [`&${componentCls}-root`]: {\n [`${componentCls}-item, ${componentCls}-submenu ${componentCls}-submenu-title`]: {\n [`> ${componentCls}-inline-collapsed-noicon`]: {\n fontSize: fontSizeLG,\n textAlign: 'center'\n }\n }\n },\n [`> ${componentCls}-item,\n > ${componentCls}-item-group > ${componentCls}-item-group-list > ${componentCls}-item,\n > ${componentCls}-item-group > ${componentCls}-item-group-list > ${componentCls}-submenu > ${componentCls}-submenu-title,\n > ${componentCls}-submenu > ${componentCls}-submenu-title`]: {\n insetInlineStart: 0,\n paddingInline: `calc(50% - ${fontSizeLG / 2}px - ${itemMarginInline}px)`,\n textOverflow: 'clip',\n [`\n ${componentCls}-submenu-arrow,\n ${componentCls}-submenu-expand-icon\n `]: {\n opacity: 0\n },\n [`${componentCls}-item-icon, ${iconCls}`]: {\n margin: 0,\n fontSize: collapsedIconSize,\n lineHeight: `${itemHeight}px`,\n '+ span': {\n display: 'inline-block',\n opacity: 0\n }\n }\n },\n [`${componentCls}-item-icon, ${iconCls}`]: {\n display: 'inline-block'\n },\n '&-tooltip': {\n pointerEvents: 'none',\n [`${componentCls}-item-icon, ${iconCls}`]: {\n display: 'none'\n },\n 'a, a:hover': {\n color: colorTextLightSolid\n }\n },\n [`${componentCls}-item-group-title`]: Object.assign(Object.assign({}, textEllipsis), {\n paddingInline: paddingXS\n })\n }\n }];\n};\nexport default getVerticalStyle;","import { TinyColor } from '@ctrl/tinycolor';\nimport { clearFix, resetComponent, resetIcon } from '../../style';\nimport { genCollapseMotion, initSlideMotion, initZoomMotion } from '../../style/motion';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport getHorizontalStyle from './horizontal';\nimport getRTLStyle from './rtl';\nimport getThemeStyle from './theme';\nimport getVerticalStyle from './vertical';\nconst genMenuItemStyle = token => {\n const {\n componentCls,\n motionDurationSlow,\n motionDurationMid,\n motionEaseInOut,\n motionEaseOut,\n iconCls,\n iconSize,\n iconMarginInlineEnd\n } = token;\n return {\n // >>>>> Item\n [`${componentCls}-item, ${componentCls}-submenu-title`]: {\n position: 'relative',\n display: 'block',\n margin: 0,\n whiteSpace: 'nowrap',\n cursor: 'pointer',\n transition: [`border-color ${motionDurationSlow}`, `background ${motionDurationSlow}`, `padding ${motionDurationSlow} ${motionEaseInOut}`].join(','),\n [`${componentCls}-item-icon, ${iconCls}`]: {\n minWidth: iconSize,\n fontSize: iconSize,\n transition: [`font-size ${motionDurationMid} ${motionEaseOut}`, `margin ${motionDurationSlow} ${motionEaseInOut}`, `color ${motionDurationSlow}`].join(','),\n '+ span': {\n marginInlineStart: iconMarginInlineEnd,\n opacity: 1,\n transition: [`opacity ${motionDurationSlow} ${motionEaseInOut}`, `margin ${motionDurationSlow}`, `color ${motionDurationSlow}`].join(',')\n }\n },\n [`${componentCls}-item-icon`]: Object.assign({}, resetIcon()),\n [`&${componentCls}-item-only-child`]: {\n [`> ${iconCls}, > ${componentCls}-item-icon`]: {\n marginInlineEnd: 0\n }\n }\n },\n // Disabled state sets text to gray and nukes hover/tab effects\n [`${componentCls}-item-disabled, ${componentCls}-submenu-disabled`]: {\n background: 'none !important',\n cursor: 'not-allowed',\n '&::after': {\n borderColor: 'transparent !important'\n },\n a: {\n color: 'inherit !important'\n },\n [`> ${componentCls}-submenu-title`]: {\n color: 'inherit !important',\n cursor: 'not-allowed'\n }\n }\n };\n};\nconst genSubMenuArrowStyle = token => {\n const {\n componentCls,\n motionDurationSlow,\n motionEaseInOut,\n borderRadius,\n menuArrowSize,\n menuArrowOffset\n } = token;\n return {\n [`${componentCls}-submenu`]: {\n [`&-expand-icon, &-arrow`]: {\n position: 'absolute',\n top: '50%',\n insetInlineEnd: token.margin,\n width: menuArrowSize,\n color: 'currentcolor',\n transform: 'translateY(-50%)',\n transition: `transform ${motionDurationSlow} ${motionEaseInOut}, opacity ${motionDurationSlow}`\n },\n '&-arrow': {\n // →\n '&::before, &::after': {\n position: 'absolute',\n width: menuArrowSize * 0.6,\n height: menuArrowSize * 0.15,\n backgroundColor: 'currentcolor',\n borderRadius,\n transition: [`background ${motionDurationSlow} ${motionEaseInOut}`, `transform ${motionDurationSlow} ${motionEaseInOut}`, `top ${motionDurationSlow} ${motionEaseInOut}`, `color ${motionDurationSlow} ${motionEaseInOut}`].join(','),\n content: '\"\"'\n },\n '&::before': {\n transform: `rotate(45deg) translateY(-${menuArrowOffset})`\n },\n '&::after': {\n transform: `rotate(-45deg) translateY(${menuArrowOffset})`\n }\n }\n }\n };\n};\n// =============================== Base ===============================\nconst getBaseStyle = token => {\n const {\n antCls,\n componentCls,\n fontSize,\n motionDurationSlow,\n motionDurationMid,\n motionEaseInOut,\n paddingXS,\n padding,\n colorSplit,\n lineWidth,\n zIndexPopup,\n borderRadiusLG,\n subMenuItemBorderRadius,\n menuArrowSize,\n menuArrowOffset,\n lineType,\n menuPanelMaskInset,\n groupTitleLineHeight,\n groupTitleFontSize\n } = token;\n return [\n // Misc\n {\n '': {\n [`${componentCls}`]: Object.assign(Object.assign({}, clearFix()), {\n // Hidden\n [`&-hidden`]: {\n display: 'none'\n }\n })\n },\n [`${componentCls}-submenu-hidden`]: {\n display: 'none'\n }\n }, {\n [componentCls]: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, resetComponent(token)), clearFix()), {\n marginBottom: 0,\n paddingInlineStart: 0,\n // Override default ul/ol\n fontSize,\n lineHeight: 0,\n listStyle: 'none',\n outline: 'none',\n // Magic cubic here but smooth transition\n transition: `width ${motionDurationSlow} cubic-bezier(0.2, 0, 0, 1) 0s`,\n [`ul, ol`]: {\n margin: 0,\n padding: 0,\n listStyle: 'none'\n },\n // Overflow ellipsis\n [`&-overflow`]: {\n display: 'flex',\n [`${componentCls}-item`]: {\n flex: 'none'\n }\n },\n [`${componentCls}-item, ${componentCls}-submenu, ${componentCls}-submenu-title`]: {\n borderRadius: token.itemBorderRadius\n },\n [`${componentCls}-item-group-title`]: {\n padding: `${paddingXS}px ${padding}px`,\n fontSize: groupTitleFontSize,\n lineHeight: groupTitleLineHeight,\n transition: `all ${motionDurationSlow}`\n },\n [`&-horizontal ${componentCls}-submenu`]: {\n transition: [`border-color ${motionDurationSlow} ${motionEaseInOut}`, `background ${motionDurationSlow} ${motionEaseInOut}`].join(',')\n },\n [`${componentCls}-submenu, ${componentCls}-submenu-inline`]: {\n transition: [`border-color ${motionDurationSlow} ${motionEaseInOut}`, `background ${motionDurationSlow} ${motionEaseInOut}`, `padding ${motionDurationMid} ${motionEaseInOut}`].join(',')\n },\n [`${componentCls}-submenu ${componentCls}-sub`]: {\n cursor: 'initial',\n transition: [`background ${motionDurationSlow} ${motionEaseInOut}`, `padding ${motionDurationSlow} ${motionEaseInOut}`].join(',')\n },\n [`${componentCls}-title-content`]: {\n transition: `color ${motionDurationSlow}`\n },\n [`${componentCls}-item a`]: {\n '&::before': {\n position: 'absolute',\n inset: 0,\n backgroundColor: 'transparent',\n content: '\"\"'\n }\n },\n // Removed a Badge related style seems it's safe\n // https://github.com/ant-design/ant-design/issues/19809\n // >>>>> Divider\n [`${componentCls}-item-divider`]: {\n overflow: 'hidden',\n lineHeight: 0,\n borderColor: colorSplit,\n borderStyle: lineType,\n borderWidth: 0,\n borderTopWidth: lineWidth,\n marginBlock: lineWidth,\n padding: 0,\n '&-dashed': {\n borderStyle: 'dashed'\n }\n }\n }), genMenuItemStyle(token)), {\n [`${componentCls}-item-group`]: {\n [`${componentCls}-item-group-list`]: {\n margin: 0,\n padding: 0,\n [`${componentCls}-item, ${componentCls}-submenu-title`]: {\n paddingInline: `${fontSize * 2}px ${padding}px`\n }\n }\n },\n // ======================= Sub Menu =======================\n '&-submenu': {\n '&-popup': {\n position: 'absolute',\n zIndex: zIndexPopup,\n borderRadius: borderRadiusLG,\n boxShadow: 'none',\n transformOrigin: '0 0',\n [`&${componentCls}-submenu`]: {\n background: 'transparent'\n },\n // https://github.com/ant-design/ant-design/issues/13955\n '&::before': {\n position: 'absolute',\n inset: `${menuPanelMaskInset}px 0 0`,\n zIndex: -1,\n width: '100%',\n height: '100%',\n opacity: 0,\n content: '\"\"'\n }\n },\n // https://github.com/ant-design/ant-design/issues/13955\n '&-placement-rightTop::before': {\n top: 0,\n insetInlineStart: menuPanelMaskInset\n },\n [`\n &-placement-leftTop,\n &-placement-bottomRight,\n `]: {\n transformOrigin: '100% 0'\n },\n [`\n &-placement-leftBottom,\n &-placement-topRight,\n `]: {\n transformOrigin: '100% 100%'\n },\n [`\n &-placement-rightBottom,\n &-placement-topLeft,\n `]: {\n transformOrigin: '0 100%'\n },\n [`\n &-placement-bottomLeft,\n &-placement-rightTop,\n `]: {\n transformOrigin: '0 0'\n },\n [`\n &-placement-leftTop,\n &-placement-leftBottom\n `]: {\n paddingInlineEnd: token.paddingXS\n },\n [`\n &-placement-rightTop,\n &-placement-rightBottom\n `]: {\n paddingInlineStart: token.paddingXS\n },\n [`\n &-placement-topRight,\n &-placement-topLeft\n `]: {\n paddingBottom: token.paddingXS\n },\n [`\n &-placement-bottomRight,\n &-placement-bottomLeft\n `]: {\n paddingTop: token.paddingXS\n },\n [`> ${componentCls}`]: Object.assign(Object.assign(Object.assign({\n borderRadius: borderRadiusLG\n }, genMenuItemStyle(token)), genSubMenuArrowStyle(token)), {\n [`${componentCls}-item, ${componentCls}-submenu > ${componentCls}-submenu-title`]: {\n borderRadius: subMenuItemBorderRadius\n },\n [`${componentCls}-submenu-title::after`]: {\n transition: `transform ${motionDurationSlow} ${motionEaseInOut}`\n }\n })\n }\n }), genSubMenuArrowStyle(token)), {\n [`&-inline-collapsed ${componentCls}-submenu-arrow,\n &-inline ${componentCls}-submenu-arrow`]: {\n // ↓\n '&::before': {\n transform: `rotate(-45deg) translateX(${menuArrowOffset})`\n },\n '&::after': {\n transform: `rotate(45deg) translateX(-${menuArrowOffset})`\n }\n },\n [`${componentCls}-submenu-open${componentCls}-submenu-inline > ${componentCls}-submenu-title > ${componentCls}-submenu-arrow`]: {\n // ↑\n transform: `translateY(-${menuArrowSize * 0.2}px)`,\n '&::after': {\n transform: `rotate(-45deg) translateX(-${menuArrowOffset})`\n },\n '&::before': {\n transform: `rotate(45deg) translateX(${menuArrowOffset})`\n }\n }\n })\n },\n // Integration with header element so menu items have the same height\n {\n [`${antCls}-layout-header`]: {\n [componentCls]: {\n lineHeight: 'inherit'\n }\n }\n }];\n};\n// ============================== Export ==============================\nexport default ((prefixCls, injectStyle) => {\n const useOriginHook = genComponentStyleHook('Menu', token => {\n // Dropdown will handle menu style self. We do not need to handle this.\n if (injectStyle === false) {\n return [];\n }\n const {\n colorBgElevated,\n colorPrimary,\n colorTextLightSolid,\n controlHeightLG,\n fontSize,\n darkItemColor,\n darkDangerItemColor,\n darkItemBg,\n darkSubMenuItemBg,\n darkItemSelectedColor,\n darkItemSelectedBg,\n darkDangerItemSelectedBg,\n darkItemHoverBg,\n darkGroupTitleColor,\n darkItemHoverColor,\n darkItemDisabledColor,\n darkDangerItemHoverColor,\n darkDangerItemSelectedColor,\n darkDangerItemActiveBg\n } = token;\n const menuArrowSize = fontSize / 7 * 5;\n // Menu Token\n const menuToken = mergeToken(token, {\n menuArrowSize,\n menuHorizontalHeight: controlHeightLG * 1.15,\n menuArrowOffset: `${menuArrowSize * 0.25}px`,\n menuPanelMaskInset: -7,\n menuSubMenuBg: colorBgElevated\n });\n const menuDarkToken = mergeToken(menuToken, {\n itemColor: darkItemColor,\n itemHoverColor: darkItemHoverColor,\n groupTitleColor: darkGroupTitleColor,\n itemSelectedColor: darkItemSelectedColor,\n itemBg: darkItemBg,\n popupBg: darkItemBg,\n subMenuItemBg: darkSubMenuItemBg,\n itemActiveBg: 'transparent',\n itemSelectedBg: darkItemSelectedBg,\n activeBarHeight: 0,\n activeBarBorderWidth: 0,\n itemHoverBg: darkItemHoverBg,\n // Disabled\n itemDisabledColor: darkItemDisabledColor,\n // Danger\n dangerItemColor: darkDangerItemColor,\n dangerItemHoverColor: darkDangerItemHoverColor,\n dangerItemSelectedColor: darkDangerItemSelectedColor,\n dangerItemActiveBg: darkDangerItemActiveBg,\n dangerItemSelectedBg: darkDangerItemSelectedBg,\n menuSubMenuBg: darkSubMenuItemBg,\n // Horizontal\n horizontalItemSelectedColor: colorTextLightSolid,\n horizontalItemSelectedBg: colorPrimary\n });\n return [\n // Basic\n getBaseStyle(menuToken),\n // Horizontal\n getHorizontalStyle(menuToken),\n // Vertical\n getVerticalStyle(menuToken),\n // Theme\n getThemeStyle(menuToken, 'light'), getThemeStyle(menuDarkToken, 'dark'),\n // RTL\n getRTLStyle(menuToken),\n // Motion\n genCollapseMotion(menuToken), initSlideMotion(menuToken, 'slide-up'), initSlideMotion(menuToken, 'slide-down'), initZoomMotion(menuToken, 'zoom-big')];\n }, token => {\n const {\n colorPrimary,\n colorError,\n colorTextDisabled,\n colorErrorBg,\n colorText,\n colorTextDescription,\n colorBgContainer,\n colorFillAlter,\n colorFillContent,\n lineWidth,\n lineWidthBold,\n controlItemBgActive,\n colorBgTextHover,\n controlHeightLG,\n lineHeight,\n colorBgElevated,\n marginXXS,\n padding,\n fontSize,\n controlHeightSM,\n fontSizeLG,\n colorTextLightSolid,\n colorErrorHover\n } = token;\n const colorTextDark = new TinyColor(colorTextLightSolid).setAlpha(0.65).toRgbString();\n return {\n dropdownWidth: 160,\n zIndexPopup: token.zIndexPopupBase + 50,\n radiusItem: token.borderRadiusLG,\n itemBorderRadius: token.borderRadiusLG,\n radiusSubMenuItem: token.borderRadiusSM,\n subMenuItemBorderRadius: token.borderRadiusSM,\n colorItemText: colorText,\n itemColor: colorText,\n colorItemTextHover: colorText,\n itemHoverColor: colorText,\n colorItemTextHoverHorizontal: colorPrimary,\n horizontalItemHoverColor: colorPrimary,\n colorGroupTitle: colorTextDescription,\n groupTitleColor: colorTextDescription,\n colorItemTextSelected: colorPrimary,\n itemSelectedColor: colorPrimary,\n colorItemTextSelectedHorizontal: colorPrimary,\n horizontalItemSelectedColor: colorPrimary,\n colorItemBg: colorBgContainer,\n itemBg: colorBgContainer,\n colorItemBgHover: colorBgTextHover,\n itemHoverBg: colorBgTextHover,\n colorItemBgActive: colorFillContent,\n itemActiveBg: controlItemBgActive,\n colorSubItemBg: colorFillAlter,\n subMenuItemBg: colorFillAlter,\n colorItemBgSelected: controlItemBgActive,\n itemSelectedBg: controlItemBgActive,\n colorItemBgSelectedHorizontal: 'transparent',\n horizontalItemSelectedBg: 'transparent',\n colorActiveBarWidth: 0,\n activeBarWidth: 0,\n colorActiveBarHeight: lineWidthBold,\n activeBarHeight: lineWidthBold,\n colorActiveBarBorderSize: lineWidth,\n activeBarBorderWidth: lineWidth,\n // Disabled\n colorItemTextDisabled: colorTextDisabled,\n itemDisabledColor: colorTextDisabled,\n // Danger\n colorDangerItemText: colorError,\n dangerItemColor: colorError,\n colorDangerItemTextHover: colorError,\n dangerItemHoverColor: colorError,\n colorDangerItemTextSelected: colorError,\n dangerItemSelectedColor: colorError,\n colorDangerItemBgActive: colorErrorBg,\n dangerItemActiveBg: colorErrorBg,\n colorDangerItemBgSelected: colorErrorBg,\n dangerItemSelectedBg: colorErrorBg,\n itemMarginInline: token.marginXXS,\n horizontalItemBorderRadius: 0,\n horizontalItemHoverBg: 'transparent',\n itemHeight: controlHeightLG,\n groupTitleLineHeight: lineHeight,\n collapsedWidth: controlHeightLG * 2,\n popupBg: colorBgElevated,\n itemMarginBlock: marginXXS,\n itemPaddingInline: padding,\n horizontalLineHeight: `${controlHeightLG * 1.15}px`,\n iconSize: fontSize,\n iconMarginInlineEnd: controlHeightSM - fontSize,\n collapsedIconSize: fontSizeLG,\n groupTitleFontSize: fontSize,\n // Disabled\n darkItemDisabledColor: new TinyColor(colorTextLightSolid).setAlpha(0.25).toRgbString(),\n // Dark\n darkItemColor: colorTextDark,\n darkDangerItemColor: colorError,\n darkItemBg: '#001529',\n darkSubMenuItemBg: '#000c17',\n darkItemSelectedColor: colorTextLightSolid,\n darkItemSelectedBg: colorPrimary,\n darkDangerItemSelectedBg: colorError,\n darkItemHoverBg: 'transparent',\n darkGroupTitleColor: colorTextDark,\n darkItemHoverColor: colorTextLightSolid,\n darkDangerItemHoverColor: colorErrorHover,\n darkDangerItemSelectedColor: colorTextLightSolid,\n darkDangerItemActiveBg: colorError\n };\n }, {\n deprecatedTokens: [['colorGroupTitle', 'groupTitleColor'], ['radiusItem', 'itemBorderRadius'], ['radiusSubMenuItem', 'subMenuItemBorderRadius'], ['colorItemText', 'itemColor'], ['colorItemTextHover', 'itemHoverColor'], ['colorItemTextHoverHorizontal', 'horizontalItemHoverColor'], ['colorItemTextSelected', 'itemSelectedColor'], ['colorItemTextSelectedHorizontal', 'horizontalItemSelectedColor'], ['colorItemTextDisabled', 'itemDisabledColor'], ['colorDangerItemText', 'dangerItemColor'], ['colorDangerItemTextHover', 'dangerItemHoverColor'], ['colorDangerItemTextSelected', 'dangerItemSelectedColor'], ['colorDangerItemBgActive', 'dangerItemActiveBg'], ['colorDangerItemBgSelected', 'dangerItemSelectedBg'], ['colorItemBg', 'itemBg'], ['colorItemBgHover', 'itemHoverBg'], ['colorSubItemBg', 'subMenuItemBg'], ['colorItemBgActive', 'itemActiveBg'], ['colorItemBgSelectedHorizontal', 'horizontalItemSelectedBg'], ['colorActiveBarWidth', 'activeBarWidth'], ['colorActiveBarHeight', 'activeBarHeight'], ['colorActiveBarBorderSize', 'activeBarBorderWidth'], ['colorItemBgSelected', 'itemSelectedBg']]\n });\n return useOriginHook(prefixCls);\n});","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport EllipsisOutlined from \"@ant-design/icons/es/icons/EllipsisOutlined\";\nimport classNames from 'classnames';\nimport RcMenu from 'rc-menu';\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { forwardRef } from 'react';\nimport initCollapseMotion from '../_util/motion';\nimport { cloneElement, isValidElement } from '../_util/reactNode';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport MenuContext from './MenuContext';\nimport OverrideContext from './OverrideContext';\nimport useItems from './hooks/useItems';\nimport useStyle from './style';\nconst InternalMenu = /*#__PURE__*/forwardRef((props, ref) => {\n var _a, _b;\n const override = React.useContext(OverrideContext);\n const overrideObj = override || {};\n const {\n getPrefixCls,\n getPopupContainer,\n direction,\n menu\n } = React.useContext(ConfigContext);\n const rootPrefixCls = getPrefixCls();\n const {\n prefixCls: customizePrefixCls,\n className,\n style,\n theme = 'light',\n expandIcon,\n _internalDisableMenuItemTitleTooltip,\n inlineCollapsed,\n siderCollapsed,\n items,\n children,\n rootClassName,\n mode,\n selectable,\n onClick,\n overflowedIndicatorPopupClassName\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"style\", \"theme\", \"expandIcon\", \"_internalDisableMenuItemTitleTooltip\", \"inlineCollapsed\", \"siderCollapsed\", \"items\", \"children\", \"rootClassName\", \"mode\", \"selectable\", \"onClick\", \"overflowedIndicatorPopupClassName\"]);\n const passedProps = omit(restProps, ['collapsedWidth']);\n // ========================= Items ===========================\n const mergedChildren = useItems(items) || children;\n // ======================== Warning ==========================\n process.env.NODE_ENV !== \"production\" ? warning(!('inlineCollapsed' in props && mode !== 'inline'), 'Menu', '`inlineCollapsed` should only be used when `mode` is inline.') : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(props.siderCollapsed !== undefined && 'inlineCollapsed' in props), 'Menu', '`inlineCollapsed` not control Menu under Sider. Should set `collapsed` on Sider instead.') : void 0;\n process.env.NODE_ENV !== \"production\" ? warning('items' in props && !children, 'Menu', '`children` will be removed in next major version. Please use `items` instead.') : void 0;\n (_a = overrideObj.validator) === null || _a === void 0 ? void 0 : _a.call(overrideObj, {\n mode\n });\n // ========================== Click ==========================\n // Tell dropdown that item clicked\n const onItemClick = useEvent(function () {\n var _a;\n onClick === null || onClick === void 0 ? void 0 : onClick.apply(void 0, arguments);\n (_a = overrideObj.onClick) === null || _a === void 0 ? void 0 : _a.call(overrideObj);\n });\n // ========================== Mode ===========================\n const mergedMode = overrideObj.mode || mode;\n // ======================= Selectable ========================\n const mergedSelectable = selectable !== null && selectable !== void 0 ? selectable : overrideObj.selectable;\n // ======================== Collapsed ========================\n // Inline Collapsed\n const mergedInlineCollapsed = React.useMemo(() => {\n if (siderCollapsed !== undefined) {\n return siderCollapsed;\n }\n return inlineCollapsed;\n }, [inlineCollapsed, siderCollapsed]);\n const defaultMotions = {\n horizontal: {\n motionName: `${rootPrefixCls}-slide-up`\n },\n inline: initCollapseMotion(rootPrefixCls),\n other: {\n motionName: `${rootPrefixCls}-zoom-big`\n }\n };\n const prefixCls = getPrefixCls('menu', customizePrefixCls || overrideObj.prefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls, !override);\n const menuClassName = classNames(`${prefixCls}-${theme}`, menu === null || menu === void 0 ? void 0 : menu.className, className);\n // ====================== Expand Icon ========================\n let mergedExpandIcon;\n if (typeof expandIcon === 'function') {\n mergedExpandIcon = expandIcon;\n } else {\n const beClone = expandIcon || overrideObj.expandIcon;\n mergedExpandIcon = cloneElement(beClone, {\n className: classNames(`${prefixCls}-submenu-expand-icon`, isValidElement(beClone) ? (_b = beClone.props) === null || _b === void 0 ? void 0 : _b.className : '')\n });\n }\n // ======================== Context ==========================\n const contextValue = React.useMemo(() => ({\n prefixCls,\n inlineCollapsed: mergedInlineCollapsed || false,\n direction,\n firstLevel: true,\n theme,\n mode: mergedMode,\n disableMenuItemTitleTooltip: _internalDisableMenuItemTitleTooltip\n }), [prefixCls, mergedInlineCollapsed, direction, _internalDisableMenuItemTitleTooltip, theme]);\n // ========================= Render ==========================\n return wrapSSR( /*#__PURE__*/React.createElement(OverrideContext.Provider, {\n value: null\n }, /*#__PURE__*/React.createElement(MenuContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(RcMenu, Object.assign({\n getPopupContainer: getPopupContainer,\n overflowedIndicator: /*#__PURE__*/React.createElement(EllipsisOutlined, null),\n overflowedIndicatorPopupClassName: classNames(prefixCls, `${prefixCls}-${theme}`, overflowedIndicatorPopupClassName),\n mode: mergedMode,\n selectable: mergedSelectable,\n onClick: onItemClick\n }, passedProps, {\n inlineCollapsed: mergedInlineCollapsed,\n style: Object.assign(Object.assign({}, menu === null || menu === void 0 ? void 0 : menu.style), style),\n className: menuClassName,\n prefixCls: prefixCls,\n direction: direction,\n defaultMotions: defaultMotions,\n expandIcon: mergedExpandIcon,\n ref: ref,\n rootClassName: classNames(rootClassName, hashId)\n }), mergedChildren))));\n});\nexport default InternalMenu;","'use client';\n\nimport { ItemGroup } from 'rc-menu';\nimport * as React from 'react';\nimport { forwardRef, useImperativeHandle, useRef } from 'react';\nimport { SiderContext } from '../layout/Sider';\nimport MenuDivider from './MenuDivider';\nimport Item from './MenuItem';\nimport SubMenu from './SubMenu';\nimport InternalMenu from './menu';\nconst Menu = /*#__PURE__*/forwardRef((props, ref) => {\n const menuRef = useRef(null);\n const context = React.useContext(SiderContext);\n useImperativeHandle(ref, () => ({\n menu: menuRef.current,\n focus: options => {\n var _a;\n (_a = menuRef.current) === null || _a === void 0 ? void 0 : _a.focus(options);\n }\n }));\n return /*#__PURE__*/React.createElement(InternalMenu, Object.assign({\n ref: menuRef\n }, props, context));\n});\nMenu.Item = Item;\nMenu.SubMenu = SubMenu;\nMenu.Divider = MenuDivider;\nMenu.ItemGroup = ItemGroup;\nif (process.env.NODE_ENV !== 'production') {\n Menu.displayName = 'Menu';\n}\nexport default Menu;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport CheckCircleFilled from \"@ant-design/icons/es/icons/CheckCircleFilled\";\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport ExclamationCircleFilled from \"@ant-design/icons/es/icons/ExclamationCircleFilled\";\nimport InfoCircleFilled from \"@ant-design/icons/es/icons/InfoCircleFilled\";\nimport LoadingOutlined from \"@ant-design/icons/es/icons/LoadingOutlined\";\nimport classNames from 'classnames';\nimport { Notice } from 'rc-notification';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style';\nexport const TypeIcon = {\n info: /*#__PURE__*/React.createElement(InfoCircleFilled, null),\n success: /*#__PURE__*/React.createElement(CheckCircleFilled, null),\n error: /*#__PURE__*/React.createElement(CloseCircleFilled, null),\n warning: /*#__PURE__*/React.createElement(ExclamationCircleFilled, null),\n loading: /*#__PURE__*/React.createElement(LoadingOutlined, null)\n};\nexport const PureContent = _ref => {\n let {\n prefixCls,\n type,\n icon,\n children\n } = _ref;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(`${prefixCls}-custom-content`, `${prefixCls}-${type}`)\n }, icon || TypeIcon[type], /*#__PURE__*/React.createElement(\"span\", null, children));\n};\n/** @private Internal Component. Do not use in your production. */\nconst PurePanel = props => {\n const {\n prefixCls: staticPrefixCls,\n className,\n type,\n icon,\n content\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"type\", \"icon\", \"content\"]);\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = staticPrefixCls || getPrefixCls('message');\n const [, hashId] = useStyle(prefixCls);\n return /*#__PURE__*/React.createElement(Notice, Object.assign({}, restProps, {\n prefixCls: prefixCls,\n className: classNames(className, hashId, `${prefixCls}-notice-pure-panel`),\n eventKey: \"pure\",\n duration: null,\n content: /*#__PURE__*/React.createElement(PureContent, {\n prefixCls: prefixCls,\n type: type,\n icon: icon\n }, content)\n }));\n};\nexport default PurePanel;","'use client';\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport { render } from \"rc-util/es/React/render\";\nimport ConfigProvider, { globalConfig, warnContext } from '../config-provider';\nimport PurePanel from './PurePanel';\nimport useMessage, { useInternalMessage } from './useMessage';\nimport { wrapPromiseFn } from './util';\nlet message = null;\nlet act = callback => callback();\nlet taskQueue = [];\nlet defaultGlobalConfig = {};\nfunction getGlobalContext() {\n const {\n prefixCls: globalPrefixCls,\n getContainer: globalGetContainer,\n duration,\n rtl,\n maxCount,\n top\n } = defaultGlobalConfig;\n const mergedPrefixCls = globalPrefixCls !== null && globalPrefixCls !== void 0 ? globalPrefixCls : globalConfig().getPrefixCls('message');\n const mergedContainer = (globalGetContainer === null || globalGetContainer === void 0 ? void 0 : globalGetContainer()) || document.body;\n return {\n prefixCls: mergedPrefixCls,\n getContainer: () => mergedContainer,\n duration,\n rtl,\n maxCount,\n top\n };\n}\nconst GlobalHolder = /*#__PURE__*/React.forwardRef((_, ref) => {\n const [messageConfig, setMessageConfig] = React.useState(getGlobalContext);\n const [api, holder] = useInternalMessage(messageConfig);\n const global = globalConfig();\n const rootPrefixCls = global.getRootPrefixCls();\n const rootIconPrefixCls = global.getIconPrefixCls();\n const theme = global.getTheme();\n const sync = () => {\n setMessageConfig(getGlobalContext);\n };\n React.useEffect(sync, []);\n React.useImperativeHandle(ref, () => {\n const instance = Object.assign({}, api);\n Object.keys(instance).forEach(method => {\n instance[method] = function () {\n sync();\n return api[method].apply(api, arguments);\n };\n });\n return {\n instance,\n sync\n };\n });\n return /*#__PURE__*/React.createElement(ConfigProvider, {\n prefixCls: rootPrefixCls,\n iconPrefixCls: rootIconPrefixCls,\n theme: theme\n }, holder);\n});\nfunction flushNotice() {\n if (!message) {\n const holderFragment = document.createDocumentFragment();\n const newMessage = {\n fragment: holderFragment\n };\n message = newMessage;\n // Delay render to avoid sync issue\n act(() => {\n render( /*#__PURE__*/React.createElement(GlobalHolder, {\n ref: node => {\n const {\n instance,\n sync\n } = node || {};\n // React 18 test env will throw if call immediately in ref\n Promise.resolve().then(() => {\n if (!newMessage.instance && instance) {\n newMessage.instance = instance;\n newMessage.sync = sync;\n flushNotice();\n }\n });\n }\n }), holderFragment);\n });\n return;\n }\n // Notification not ready\n if (!message.instance) {\n return;\n }\n // >>> Execute task\n taskQueue.forEach(task => {\n const {\n type,\n skipped\n } = task;\n // Only `skipped` when user call notice but cancel it immediately\n // and instance not ready\n if (!skipped) {\n switch (type) {\n case 'open':\n {\n act(() => {\n const closeFn = message.instance.open(Object.assign(Object.assign({}, defaultGlobalConfig), task.config));\n closeFn === null || closeFn === void 0 ? void 0 : closeFn.then(task.resolve);\n task.setCloseFn(closeFn);\n });\n break;\n }\n case 'destroy':\n act(() => {\n message === null || message === void 0 ? void 0 : message.instance.destroy(task.key);\n });\n break;\n // Other type open\n default:\n {\n act(() => {\n var _message$instance;\n const closeFn = (_message$instance = message.instance)[type].apply(_message$instance, _toConsumableArray(task.args));\n closeFn === null || closeFn === void 0 ? void 0 : closeFn.then(task.resolve);\n task.setCloseFn(closeFn);\n });\n }\n }\n }\n });\n // Clean up\n taskQueue = [];\n}\n// ==============================================================================\n// == Export ==\n// ==============================================================================\nfunction setMessageGlobalConfig(config) {\n defaultGlobalConfig = Object.assign(Object.assign({}, defaultGlobalConfig), config);\n // Trigger sync for it\n act(() => {\n var _a;\n (_a = message === null || message === void 0 ? void 0 : message.sync) === null || _a === void 0 ? void 0 : _a.call(message);\n });\n}\nfunction open(config) {\n const result = wrapPromiseFn(resolve => {\n let closeFn;\n const task = {\n type: 'open',\n config,\n resolve,\n setCloseFn: fn => {\n closeFn = fn;\n }\n };\n taskQueue.push(task);\n return () => {\n if (closeFn) {\n act(() => {\n closeFn();\n });\n } else {\n task.skipped = true;\n }\n };\n });\n flushNotice();\n return result;\n}\nfunction typeOpen(type, args) {\n // Warning if exist theme\n if (process.env.NODE_ENV !== 'production') {\n warnContext('message');\n }\n const result = wrapPromiseFn(resolve => {\n let closeFn;\n const task = {\n type,\n args,\n resolve,\n setCloseFn: fn => {\n closeFn = fn;\n }\n };\n taskQueue.push(task);\n return () => {\n if (closeFn) {\n act(() => {\n closeFn();\n });\n } else {\n task.skipped = true;\n }\n };\n });\n flushNotice();\n return result;\n}\nfunction destroy(key) {\n taskQueue.push({\n type: 'destroy',\n key\n });\n flushNotice();\n}\nconst methods = ['success', 'info', 'warning', 'error', 'loading'];\nconst baseStaticMethods = {\n open,\n destroy,\n config: setMessageGlobalConfig,\n useMessage,\n _InternalPanelDoNotUseOrYouWillBeFired: PurePanel\n};\nconst staticMethods = baseStaticMethods;\nmethods.forEach(type => {\n staticMethods[type] = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return typeOpen(type, args);\n };\n});\n// ==============================================================================\n// == Test ==\n// ==============================================================================\nconst noop = () => {};\n/** @internal Only Work in test env */\n// eslint-disable-next-line import/no-mutable-exports\nexport let actWrapper = noop;\nif (process.env.NODE_ENV === 'test') {\n actWrapper = wrapper => {\n act = wrapper;\n };\n}\n/** @internal Only Work in test env */\n// eslint-disable-next-line import/no-mutable-exports\nexport let actDestroy = noop;\nif (process.env.NODE_ENV === 'test') {\n actDestroy = () => {\n message = null;\n };\n}\nexport default staticMethods;","import { Keyframes } from '@ant-design/cssinjs';\nimport { resetComponent } from '../../style';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nconst genMessageStyle = token => {\n const {\n componentCls,\n iconCls,\n boxShadow,\n colorText,\n colorSuccess,\n colorError,\n colorWarning,\n colorInfo,\n fontSizeLG,\n motionEaseInOutCirc,\n motionDurationSlow,\n marginXS,\n paddingXS,\n borderRadiusLG,\n zIndexPopup,\n // Custom token\n contentPadding,\n contentBg\n } = token;\n const noticeCls = `${componentCls}-notice`;\n const messageMoveIn = new Keyframes('MessageMoveIn', {\n '0%': {\n padding: 0,\n transform: 'translateY(-100%)',\n opacity: 0\n },\n '100%': {\n padding: paddingXS,\n transform: 'translateY(0)',\n opacity: 1\n }\n });\n const messageMoveOut = new Keyframes('MessageMoveOut', {\n '0%': {\n maxHeight: token.height,\n padding: paddingXS,\n opacity: 1\n },\n '100%': {\n maxHeight: 0,\n padding: 0,\n opacity: 0\n }\n });\n const noticeStyle = {\n padding: paddingXS,\n textAlign: 'center',\n [`${componentCls}-custom-content > ${iconCls}`]: {\n verticalAlign: 'text-bottom',\n marginInlineEnd: marginXS,\n fontSize: fontSizeLG\n },\n [`${noticeCls}-content`]: {\n display: 'inline-block',\n padding: contentPadding,\n background: contentBg,\n borderRadius: borderRadiusLG,\n boxShadow,\n pointerEvents: 'all'\n },\n [`${componentCls}-success > ${iconCls}`]: {\n color: colorSuccess\n },\n [`${componentCls}-error > ${iconCls}`]: {\n color: colorError\n },\n [`${componentCls}-warning > ${iconCls}`]: {\n color: colorWarning\n },\n [`${componentCls}-info > ${iconCls},\n ${componentCls}-loading > ${iconCls}`]: {\n color: colorInfo\n }\n };\n return [\n // ============================ Holder ============================\n {\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n color: colorText,\n position: 'fixed',\n top: marginXS,\n width: '100%',\n pointerEvents: 'none',\n zIndex: zIndexPopup,\n [`${componentCls}-move-up`]: {\n animationFillMode: 'forwards'\n },\n [`\n ${componentCls}-move-up-appear,\n ${componentCls}-move-up-enter\n `]: {\n animationName: messageMoveIn,\n animationDuration: motionDurationSlow,\n animationPlayState: 'paused',\n animationTimingFunction: motionEaseInOutCirc\n },\n [`\n ${componentCls}-move-up-appear${componentCls}-move-up-appear-active,\n ${componentCls}-move-up-enter${componentCls}-move-up-enter-active\n `]: {\n animationPlayState: 'running'\n },\n [`${componentCls}-move-up-leave`]: {\n animationName: messageMoveOut,\n animationDuration: motionDurationSlow,\n animationPlayState: 'paused',\n animationTimingFunction: motionEaseInOutCirc\n },\n [`${componentCls}-move-up-leave${componentCls}-move-up-leave-active`]: {\n animationPlayState: 'running'\n },\n '&-rtl': {\n direction: 'rtl',\n span: {\n direction: 'rtl'\n }\n }\n })\n },\n // ============================ Notice ============================\n {\n [componentCls]: {\n [noticeCls]: Object.assign({}, noticeStyle)\n }\n },\n // ============================= Pure =============================\n {\n [`${componentCls}-notice-pure-panel`]: Object.assign(Object.assign({}, noticeStyle), {\n padding: 0,\n textAlign: 'start'\n })\n }];\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Message', token => {\n // Gen-style functions here\n const combinedToken = mergeToken(token, {\n height: 150\n });\n return [genMessageStyle(combinedToken)];\n}, token => ({\n zIndexPopup: token.zIndexPopupBase + 10,\n contentBg: token.colorBgElevated,\n contentPadding: `${(token.controlHeightLG - token.fontSize * token.lineHeight) / 2}px ${token.paddingSM}px`\n}), {\n clientOnly: true\n});","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport classNames from 'classnames';\nimport { useNotification as useRcNotification } from 'rc-notification';\nimport * as React from 'react';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport { PureContent } from './PurePanel';\nimport useStyle from './style';\nimport { getMotion, wrapPromiseFn } from './util';\nconst DEFAULT_OFFSET = 8;\nconst DEFAULT_DURATION = 3;\nconst Holder = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n top,\n prefixCls: staticPrefixCls,\n getContainer: staticGetContainer,\n maxCount,\n duration = DEFAULT_DURATION,\n rtl,\n transitionName,\n onAllRemoved\n } = props;\n const {\n getPrefixCls,\n getPopupContainer,\n message\n } = React.useContext(ConfigContext);\n const prefixCls = staticPrefixCls || getPrefixCls('message');\n const [, hashId] = useStyle(prefixCls);\n // =============================== Style ===============================\n const getStyle = () => ({\n left: '50%',\n transform: 'translateX(-50%)',\n top: top !== null && top !== void 0 ? top : DEFAULT_OFFSET\n });\n const getClassName = () => classNames(hashId, {\n [`${prefixCls}-rtl`]: rtl\n });\n // ============================== Motion ===============================\n const getNotificationMotion = () => getMotion(prefixCls, transitionName);\n // ============================ Close Icon =============================\n const mergedCloseIcon = /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-close-x`\n }, /*#__PURE__*/React.createElement(CloseOutlined, {\n className: `${prefixCls}-close-icon`\n }));\n // ============================== Origin ===============================\n const [api, holder] = useRcNotification({\n prefixCls,\n style: getStyle,\n className: getClassName,\n motion: getNotificationMotion,\n closable: false,\n closeIcon: mergedCloseIcon,\n duration,\n getContainer: () => (staticGetContainer === null || staticGetContainer === void 0 ? void 0 : staticGetContainer()) || (getPopupContainer === null || getPopupContainer === void 0 ? void 0 : getPopupContainer()) || document.body,\n maxCount,\n onAllRemoved\n });\n // ================================ Ref ================================\n React.useImperativeHandle(ref, () => Object.assign(Object.assign({}, api), {\n prefixCls,\n hashId,\n message\n }));\n return holder;\n});\n// ==============================================================================\n// == Hook ==\n// ==============================================================================\nlet keyIndex = 0;\nexport function useInternalMessage(messageConfig) {\n const holderRef = React.useRef(null);\n // ================================ API ================================\n const wrapAPI = React.useMemo(() => {\n // Wrap with notification content\n // >>> close\n const close = key => {\n var _a;\n (_a = holderRef.current) === null || _a === void 0 ? void 0 : _a.close(key);\n };\n // >>> Open\n const open = config => {\n if (!holderRef.current) {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Message', 'You are calling notice in render which will break in React 18 concurrent mode. Please trigger in effect instead.') : void 0;\n const fakeResult = () => {};\n fakeResult.then = () => {};\n return fakeResult;\n }\n const {\n open: originOpen,\n prefixCls,\n hashId,\n message\n } = holderRef.current;\n const noticePrefixCls = `${prefixCls}-notice`;\n const {\n content,\n icon,\n type,\n key,\n className,\n style,\n onClose\n } = config,\n restConfig = __rest(config, [\"content\", \"icon\", \"type\", \"key\", \"className\", \"style\", \"onClose\"]);\n let mergedKey = key;\n if (mergedKey === undefined || mergedKey === null) {\n keyIndex += 1;\n mergedKey = `antd-message-${keyIndex}`;\n }\n return wrapPromiseFn(resolve => {\n originOpen(Object.assign(Object.assign({}, restConfig), {\n key: mergedKey,\n content: /*#__PURE__*/React.createElement(PureContent, {\n prefixCls: prefixCls,\n type: type,\n icon: icon\n }, content),\n placement: 'top',\n className: classNames(type && `${noticePrefixCls}-${type}`, hashId, className, message === null || message === void 0 ? void 0 : message.className),\n style: Object.assign(Object.assign({}, message === null || message === void 0 ? void 0 : message.style), style),\n onClose: () => {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n resolve();\n }\n }));\n // Return close function\n return () => {\n close(mergedKey);\n };\n });\n };\n // >>> destroy\n const destroy = key => {\n var _a;\n if (key !== undefined) {\n close(key);\n } else {\n (_a = holderRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n }\n };\n const clone = {\n open,\n destroy\n };\n const keys = ['info', 'success', 'warning', 'error', 'loading'];\n keys.forEach(type => {\n const typeOpen = (jointContent, duration, onClose) => {\n let config;\n if (jointContent && typeof jointContent === 'object' && 'content' in jointContent) {\n config = jointContent;\n } else {\n config = {\n content: jointContent\n };\n }\n // Params\n let mergedDuration;\n let mergedOnClose;\n if (typeof duration === 'function') {\n mergedOnClose = duration;\n } else {\n mergedDuration = duration;\n mergedOnClose = onClose;\n }\n const mergedConfig = Object.assign(Object.assign({\n onClose: mergedOnClose,\n duration: mergedDuration\n }, config), {\n type\n });\n return open(mergedConfig);\n };\n clone[type] = typeOpen;\n });\n return clone;\n }, []);\n // ============================== Return ===============================\n return [wrapAPI, /*#__PURE__*/React.createElement(Holder, Object.assign({\n key: \"message-holder\"\n }, messageConfig, {\n ref: holderRef\n }))];\n}\nexport default function useMessage(messageConfig) {\n return useInternalMessage(messageConfig);\n}","export function getMotion(prefixCls, transitionName) {\n return {\n motionName: transitionName !== null && transitionName !== void 0 ? transitionName : `${prefixCls}-move-up`\n };\n}\n/** Wrap message open with promise like function */\nexport function wrapPromiseFn(openFn) {\n let closeFn;\n const closePromise = new Promise(resolve => {\n closeFn = openFn(() => {\n resolve(true);\n });\n });\n const result = () => {\n closeFn === null || closeFn === void 0 ? void 0 : closeFn();\n };\n result.then = (filled, rejected) => closePromise.then(filled, rejected);\n result.promise = closePromise;\n return result;\n}","import CheckCircleFilled from \"@ant-design/icons/es/icons/CheckCircleFilled\";\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport ExclamationCircleFilled from \"@ant-design/icons/es/icons/ExclamationCircleFilled\";\nimport InfoCircleFilled from \"@ant-design/icons/es/icons/InfoCircleFilled\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport ActionButton from '../_util/ActionButton';\nimport { getTransitionName } from '../_util/motion';\nimport warning from '../_util/warning';\nimport ConfigProvider from '../config-provider';\nimport { useLocale } from '../locale';\nimport Dialog from './Modal';\nexport function ConfirmContent(props) {\n const {\n icon,\n onCancel,\n onOk,\n close,\n onConfirm,\n isSilent,\n okText,\n okButtonProps,\n cancelText,\n cancelButtonProps,\n confirmPrefixCls,\n rootPrefixCls,\n type,\n okCancel,\n footer,\n // Legacy for static function usage\n locale: staticLocale\n } = props;\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof icon === 'string' && icon.length > 2), 'Modal', `\\`icon\\` is using ReactNode instead of string naming in v4. Please check \\`${icon}\\` at https://ant.design/components/icon`) : void 0;\n // Icon\n let mergedIcon = icon;\n // 支持传入{ icon: null }来隐藏`Modal.confirm`默认的Icon\n if (!icon && icon !== null) {\n switch (type) {\n case 'info':\n mergedIcon = /*#__PURE__*/React.createElement(InfoCircleFilled, null);\n break;\n case 'success':\n mergedIcon = /*#__PURE__*/React.createElement(CheckCircleFilled, null);\n break;\n case 'error':\n mergedIcon = /*#__PURE__*/React.createElement(CloseCircleFilled, null);\n break;\n default:\n mergedIcon = /*#__PURE__*/React.createElement(ExclamationCircleFilled, null);\n }\n }\n const okType = props.okType || 'primary';\n // 默认为 true,保持向下兼容\n const mergedOkCancel = okCancel !== null && okCancel !== void 0 ? okCancel : type === 'confirm';\n const autoFocusButton = props.autoFocusButton === null ? false : props.autoFocusButton || 'ok';\n const [locale] = useLocale('Modal');\n const mergedLocale = staticLocale || locale;\n const cancelButton = mergedOkCancel && /*#__PURE__*/React.createElement(ActionButton, {\n isSilent: isSilent,\n actionFn: onCancel,\n close: function () {\n close === null || close === void 0 ? void 0 : close.apply(void 0, arguments);\n onConfirm === null || onConfirm === void 0 ? void 0 : onConfirm(false);\n },\n autoFocus: autoFocusButton === 'cancel',\n buttonProps: cancelButtonProps,\n prefixCls: `${rootPrefixCls}-btn`\n }, cancelText || (mergedLocale === null || mergedLocale === void 0 ? void 0 : mergedLocale.cancelText));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: `${confirmPrefixCls}-body-wrapper`\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: `${confirmPrefixCls}-body`\n }, mergedIcon, props.title === undefined ? null : /*#__PURE__*/React.createElement(\"span\", {\n className: `${confirmPrefixCls}-title`\n }, props.title), /*#__PURE__*/React.createElement(\"div\", {\n className: `${confirmPrefixCls}-content`\n }, props.content)), footer === undefined ? /*#__PURE__*/React.createElement(\"div\", {\n className: `${confirmPrefixCls}-btns`\n }, cancelButton, /*#__PURE__*/React.createElement(ActionButton, {\n isSilent: isSilent,\n type: okType,\n actionFn: onOk,\n close: function () {\n close === null || close === void 0 ? void 0 : close.apply(void 0, arguments);\n onConfirm === null || onConfirm === void 0 ? void 0 : onConfirm(true);\n },\n autoFocus: autoFocusButton === 'ok',\n buttonProps: okButtonProps,\n prefixCls: `${rootPrefixCls}-btn`\n }, okText || (mergedOkCancel ? mergedLocale === null || mergedLocale === void 0 ? void 0 : mergedLocale.okText : mergedLocale === null || mergedLocale === void 0 ? void 0 : mergedLocale.justOkText))) : footer);\n}\nconst ConfirmDialog = props => {\n const {\n close,\n zIndex,\n afterClose,\n visible,\n open,\n keyboard,\n centered,\n getContainer,\n maskStyle,\n direction,\n prefixCls,\n wrapClassName,\n rootPrefixCls,\n iconPrefixCls,\n theme,\n bodyStyle,\n closable = false,\n closeIcon,\n modalRender,\n focusTriggerAfterClose\n } = props;\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(visible === undefined, 'Modal', `\\`visible\\` is deprecated, please use \\`open\\` instead.`) : void 0;\n }\n const confirmPrefixCls = `${prefixCls}-confirm`;\n const width = props.width || 416;\n const style = props.style || {};\n const mask = props.mask === undefined ? true : props.mask;\n // 默认为 false,保持旧版默认行为\n const maskClosable = props.maskClosable === undefined ? false : props.maskClosable;\n const classString = classNames(confirmPrefixCls, `${confirmPrefixCls}-${props.type}`, {\n [`${confirmPrefixCls}-rtl`]: direction === 'rtl'\n }, props.className);\n return /*#__PURE__*/React.createElement(ConfigProvider, {\n prefixCls: rootPrefixCls,\n iconPrefixCls: iconPrefixCls,\n direction: direction,\n theme: theme\n }, /*#__PURE__*/React.createElement(Dialog, {\n prefixCls: prefixCls,\n className: classString,\n wrapClassName: classNames({\n [`${confirmPrefixCls}-centered`]: !!props.centered\n }, wrapClassName),\n onCancel: () => close === null || close === void 0 ? void 0 : close({\n triggerCancel: true\n }),\n open: open,\n title: \"\",\n footer: null,\n transitionName: getTransitionName(rootPrefixCls, 'zoom', props.transitionName),\n maskTransitionName: getTransitionName(rootPrefixCls, 'fade', props.maskTransitionName),\n mask: mask,\n maskClosable: maskClosable,\n maskStyle: maskStyle,\n style: style,\n bodyStyle: bodyStyle,\n width: width,\n zIndex: zIndex,\n afterClose: afterClose,\n keyboard: keyboard,\n centered: centered,\n getContainer: getContainer,\n closable: closable,\n closeIcon: closeIcon,\n modalRender: modalRender,\n focusTriggerAfterClose: focusTriggerAfterClose\n }, /*#__PURE__*/React.createElement(ConfirmContent, Object.assign({}, props, {\n confirmPrefixCls: confirmPrefixCls\n }))));\n};\nif (process.env.NODE_ENV !== 'production') {\n ConfirmDialog.displayName = 'ConfirmDialog';\n}\nexport default ConfirmDialog;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport classNames from 'classnames';\nimport Dialog from 'rc-dialog';\nimport * as React from 'react';\nimport useClosable from '../_util/hooks/useClosable';\nimport { getTransitionName } from '../_util/motion';\nimport { canUseDocElement } from '../_util/styleChecker';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport { NoFormStyle } from '../form/context';\nimport { NoCompactStyle } from '../space/Compact';\nimport { Footer, renderCloseIcon } from './shared';\nimport useStyle from './style';\nlet mousePosition;\n// ref: https://github.com/ant-design/ant-design/issues/15795\nconst getClickPosition = e => {\n mousePosition = {\n x: e.pageX,\n y: e.pageY\n };\n // 100ms 内发生过点击事件,则从点击位置动画展示\n // 否则直接 zoom 展示\n // 这样可以兼容非点击方式展开\n setTimeout(() => {\n mousePosition = null;\n }, 100);\n};\n// 只有点击事件支持从鼠标位置动画展开\nif (canUseDocElement()) {\n document.documentElement.addEventListener('click', getClickPosition, true);\n}\nconst Modal = props => {\n var _a;\n const {\n getPopupContainer: getContextPopupContainer,\n getPrefixCls,\n direction,\n modal\n } = React.useContext(ConfigContext);\n const handleCancel = e => {\n const {\n onCancel\n } = props;\n onCancel === null || onCancel === void 0 ? void 0 : onCancel(e);\n };\n const handleOk = e => {\n const {\n onOk\n } = props;\n onOk === null || onOk === void 0 ? void 0 : onOk(e);\n };\n process.env.NODE_ENV !== \"production\" ? warning(!('visible' in props), 'Modal', `\\`visible\\` will be removed in next major version, please use \\`open\\` instead.`) : void 0;\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n open,\n wrapClassName,\n centered,\n getContainer,\n closeIcon,\n closable,\n focusTriggerAfterClose = true,\n style,\n // Deprecated\n visible,\n width = 520,\n footer\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"rootClassName\", \"open\", \"wrapClassName\", \"centered\", \"getContainer\", \"closeIcon\", \"closable\", \"focusTriggerAfterClose\", \"style\", \"visible\", \"width\", \"footer\"]);\n const prefixCls = getPrefixCls('modal', customizePrefixCls);\n const rootPrefixCls = getPrefixCls();\n // Style\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const wrapClassNameExtended = classNames(wrapClassName, {\n [`${prefixCls}-centered`]: !!centered,\n [`${prefixCls}-wrap-rtl`]: direction === 'rtl'\n });\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(!('visible' in props), 'Modal', '`visible` is deprecated, please use `open` instead.') : void 0;\n }\n const dialogFooter = footer === undefined ? /*#__PURE__*/React.createElement(Footer, Object.assign({}, props, {\n onOk: handleOk,\n onCancel: handleCancel\n })) : footer;\n const [mergedClosable, mergedCloseIcon] = useClosable(closable, closeIcon, icon => renderCloseIcon(prefixCls, icon), /*#__PURE__*/React.createElement(CloseOutlined, {\n className: `${prefixCls}-close-icon`\n }), true);\n return wrapSSR( /*#__PURE__*/React.createElement(NoCompactStyle, null, /*#__PURE__*/React.createElement(NoFormStyle, {\n status: true,\n override: true\n }, /*#__PURE__*/React.createElement(Dialog, Object.assign({\n width: width\n }, restProps, {\n getContainer: getContainer === undefined ? getContextPopupContainer : getContainer,\n prefixCls: prefixCls,\n rootClassName: classNames(hashId, rootClassName),\n wrapClassName: wrapClassNameExtended,\n footer: dialogFooter,\n visible: open !== null && open !== void 0 ? open : visible,\n mousePosition: (_a = restProps.mousePosition) !== null && _a !== void 0 ? _a : mousePosition,\n onClose: handleCancel,\n closable: mergedClosable,\n closeIcon: mergedCloseIcon,\n focusTriggerAfterClose: focusTriggerAfterClose,\n transitionName: getTransitionName(rootPrefixCls, 'zoom', props.transitionName),\n maskTransitionName: getTransitionName(rootPrefixCls, 'fade', props.maskTransitionName),\n className: classNames(hashId, className, modal === null || modal === void 0 ? void 0 : modal.className),\n style: Object.assign(Object.assign({}, modal === null || modal === void 0 ? void 0 : modal.style), style)\n })))));\n};\nexport default Modal;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { render as reactRender, unmount as reactUnmount } from \"rc-util/es/React/render\";\nimport * as React from 'react';\nimport warning from '../_util/warning';\nimport { globalConfig, warnContext } from '../config-provider';\nimport ConfirmDialog from './ConfirmDialog';\nimport destroyFns from './destroyFns';\nimport { getConfirmLocale } from './locale';\nlet defaultRootPrefixCls = '';\nfunction getRootPrefixCls() {\n return defaultRootPrefixCls;\n}\nexport default function confirm(config) {\n // Warning if exist theme\n if (process.env.NODE_ENV !== 'production') {\n warnContext('Modal');\n }\n const container = document.createDocumentFragment();\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n let currentConfig = Object.assign(Object.assign({}, config), {\n close,\n open: true\n });\n let timeoutId;\n function destroy() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n const triggerCancel = args.some(param => param && param.triggerCancel);\n if (config.onCancel && triggerCancel) {\n config.onCancel.apply(config, [() => {}].concat(_toConsumableArray(args.slice(1))));\n }\n for (let i = 0; i < destroyFns.length; i++) {\n const fn = destroyFns[i];\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n if (fn === close) {\n destroyFns.splice(i, 1);\n break;\n }\n }\n reactUnmount(container);\n }\n function render(_a) {\n var {\n okText,\n cancelText,\n prefixCls: customizePrefixCls,\n getContainer\n } = _a,\n props = __rest(_a, [\"okText\", \"cancelText\", \"prefixCls\", \"getContainer\"]);\n clearTimeout(timeoutId);\n /**\n * https://github.com/ant-design/ant-design/issues/23623\n *\n * Sync render blocks React event. Let's make this async.\n */\n timeoutId = setTimeout(() => {\n const runtimeLocale = getConfirmLocale();\n const {\n getPrefixCls,\n getIconPrefixCls,\n getTheme\n } = globalConfig();\n // because Modal.config \b set rootPrefixCls, which is different from other components\n const rootPrefixCls = getPrefixCls(undefined, getRootPrefixCls());\n const prefixCls = customizePrefixCls || `${rootPrefixCls}-modal`;\n const iconPrefixCls = getIconPrefixCls();\n const theme = getTheme();\n let mergedGetContainer = getContainer;\n if (mergedGetContainer === false) {\n mergedGetContainer = undefined;\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Modal', 'Static method not support `getContainer` to be `false` since it do not have context env.') : void 0;\n }\n }\n reactRender( /*#__PURE__*/React.createElement(ConfirmDialog, Object.assign({}, props, {\n getContainer: mergedGetContainer,\n prefixCls: prefixCls,\n rootPrefixCls: rootPrefixCls,\n iconPrefixCls: iconPrefixCls,\n okText: okText,\n locale: runtimeLocale,\n theme: theme,\n cancelText: cancelText || runtimeLocale.cancelText\n })), container);\n });\n }\n function close() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n currentConfig = Object.assign(Object.assign({}, currentConfig), {\n open: false,\n afterClose: () => {\n if (typeof config.afterClose === 'function') {\n config.afterClose();\n }\n destroy.apply(this, args);\n }\n });\n // Legacy support\n if (currentConfig.visible) {\n delete currentConfig.visible;\n }\n render(currentConfig);\n }\n function update(configUpdate) {\n if (typeof configUpdate === 'function') {\n currentConfig = configUpdate(currentConfig);\n } else {\n currentConfig = Object.assign(Object.assign({}, currentConfig), configUpdate);\n }\n render(currentConfig);\n }\n render(currentConfig);\n destroyFns.push(close);\n return {\n destroy: close,\n update\n };\n}\nexport function withWarn(props) {\n return Object.assign(Object.assign({}, props), {\n type: 'warning'\n });\n}\nexport function withInfo(props) {\n return Object.assign(Object.assign({}, props), {\n type: 'info'\n });\n}\nexport function withSuccess(props) {\n return Object.assign(Object.assign({}, props), {\n type: 'success'\n });\n}\nexport function withError(props) {\n return Object.assign(Object.assign({}, props), {\n type: 'error'\n });\n}\nexport function withConfirm(props) {\n return Object.assign(Object.assign({}, props), {\n type: 'confirm'\n });\n}\nexport function modalGlobalConfig(_ref) {\n let {\n rootPrefixCls\n } = _ref;\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Modal', 'Modal.config is deprecated. Please use ConfigProvider.config instead.') : void 0;\n defaultRootPrefixCls = rootPrefixCls;\n}","const destroyFns = [];\nexport default destroyFns;","/* eslint-disable react/jsx-no-useless-fragment */\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport { Panel } from 'rc-dialog';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport { ConfirmContent } from './ConfirmDialog';\nimport { Footer, renderCloseIcon } from './shared';\nimport useStyle from './style';\nimport { withPureRenderTheme } from '../_util/PurePanel';\nconst PurePanel = props => {\n const {\n prefixCls: customizePrefixCls,\n className,\n closeIcon,\n closable,\n type,\n title,\n children\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"closeIcon\", \"closable\", \"type\", \"title\", \"children\"]);\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const rootPrefixCls = getPrefixCls();\n const prefixCls = customizePrefixCls || getPrefixCls('modal');\n const [, hashId] = useStyle(prefixCls);\n const confirmPrefixCls = `${prefixCls}-confirm`;\n // Choose target props by confirm mark\n let additionalProps = {};\n if (type) {\n additionalProps = {\n closable: closable !== null && closable !== void 0 ? closable : false,\n title: '',\n footer: '',\n children: /*#__PURE__*/React.createElement(ConfirmContent, Object.assign({}, props, {\n confirmPrefixCls: confirmPrefixCls,\n rootPrefixCls: rootPrefixCls,\n content: children\n }))\n };\n } else {\n additionalProps = {\n closable: closable !== null && closable !== void 0 ? closable : true,\n title,\n footer: props.footer === undefined ? /*#__PURE__*/React.createElement(Footer, Object.assign({}, props)) : props.footer,\n children\n };\n }\n return /*#__PURE__*/React.createElement(Panel, Object.assign({\n prefixCls: prefixCls,\n className: classNames(hashId, `${prefixCls}-pure-panel`, type && confirmPrefixCls, type && `${confirmPrefixCls}-${type}`, className)\n }, restProps, {\n closeIcon: renderCloseIcon(prefixCls, closeIcon),\n closable: closable\n }, additionalProps));\n};\nexport default withPureRenderTheme(PurePanel);","'use client';\n\nimport confirm, { modalGlobalConfig, withConfirm, withError, withInfo, withSuccess, withWarn } from './confirm';\nimport destroyFns from './destroyFns';\nimport OriginModal from './Modal';\nimport PurePanel from './PurePanel';\nimport useModal from './useModal';\nfunction modalWarn(props) {\n return confirm(withWarn(props));\n}\nconst Modal = OriginModal;\nModal.useModal = useModal;\nModal.info = function infoFn(props) {\n return confirm(withInfo(props));\n};\nModal.success = function successFn(props) {\n return confirm(withSuccess(props));\n};\nModal.error = function errorFn(props) {\n return confirm(withError(props));\n};\nModal.warning = modalWarn;\nModal.warn = modalWarn;\nModal.confirm = function confirmFn(props) {\n return confirm(withConfirm(props));\n};\nModal.destroyAll = function destroyAllFn() {\n while (destroyFns.length) {\n const close = destroyFns.pop();\n if (close) {\n close();\n }\n }\n};\nModal.config = modalGlobalConfig;\nModal._InternalPanelDoNotUseOrYouWillBeFired = PurePanel;\nif (process.env.NODE_ENV !== 'production') {\n Modal.displayName = 'Modal';\n}\nexport default Modal;","import defaultLocale from '../locale/en_US';\nlet runtimeLocale = Object.assign({}, defaultLocale.Modal);\nlet localeList = [];\nconst generateLocale = () => localeList.reduce((merged, locale) => Object.assign(Object.assign({}, merged), locale), defaultLocale.Modal);\nexport function changeConfirmLocale(newLocale) {\n if (newLocale) {\n const cloneLocale = Object.assign({}, newLocale);\n localeList.push(cloneLocale);\n runtimeLocale = generateLocale();\n return () => {\n localeList = localeList.filter(locale => locale !== cloneLocale);\n runtimeLocale = generateLocale();\n };\n }\n runtimeLocale = Object.assign({}, defaultLocale.Modal);\n}\nexport function getConfirmLocale() {\n return runtimeLocale;\n}","import CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport React from 'react';\nimport Button from '../button';\nimport { convertLegacyProps } from '../button/button';\nimport { DisabledContextProvider } from '../config-provider/DisabledContext';\nimport { useLocale } from '../locale';\nimport { getConfirmLocale } from './locale';\nexport function renderCloseIcon(prefixCls, closeIcon) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-close-x`\n }, closeIcon || /*#__PURE__*/React.createElement(CloseOutlined, {\n className: `${prefixCls}-close-icon`\n }));\n}\nexport const Footer = props => {\n const {\n okText,\n okType = 'primary',\n cancelText,\n confirmLoading,\n onOk,\n onCancel,\n okButtonProps,\n cancelButtonProps\n } = props;\n const [locale] = useLocale('Modal', getConfirmLocale());\n return /*#__PURE__*/React.createElement(DisabledContextProvider, {\n disabled: false\n }, /*#__PURE__*/React.createElement(Button, Object.assign({\n onClick: onCancel\n }, cancelButtonProps), cancelText || (locale === null || locale === void 0 ? void 0 : locale.cancelText)), /*#__PURE__*/React.createElement(Button, Object.assign({}, convertLegacyProps(okType), {\n loading: confirmLoading,\n onClick: onOk\n }, okButtonProps), okText || (locale === null || locale === void 0 ? void 0 : locale.okText)));\n};","import { clearFix, genFocusStyle, resetComponent } from '../../style';\nimport { initFadeMotion, initZoomMotion } from '../../style/motion';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nfunction box(position) {\n return {\n position,\n inset: 0\n };\n}\nexport const genModalMaskStyle = token => {\n const {\n componentCls,\n antCls\n } = token;\n return [{\n [`${componentCls}-root`]: {\n [`${componentCls}${antCls}-zoom-enter, ${componentCls}${antCls}-zoom-appear`]: {\n // reset scale avoid mousePosition bug\n transform: 'none',\n opacity: 0,\n animationDuration: token.motionDurationSlow,\n // https://github.com/ant-design/ant-design/issues/11777\n userSelect: 'none'\n },\n // https://github.com/ant-design/ant-design/issues/37329\n // https://github.com/ant-design/ant-design/issues/40272\n [`${componentCls}${antCls}-zoom-leave ${componentCls}-content`]: {\n pointerEvents: 'none'\n },\n [`${componentCls}-mask`]: Object.assign(Object.assign({}, box('fixed')), {\n zIndex: token.zIndexPopupBase,\n height: '100%',\n backgroundColor: token.colorBgMask,\n pointerEvents: 'none',\n [`${componentCls}-hidden`]: {\n display: 'none'\n }\n }),\n [`${componentCls}-wrap`]: Object.assign(Object.assign({}, box('fixed')), {\n zIndex: token.zIndexPopupBase,\n overflow: 'auto',\n outline: 0,\n WebkitOverflowScrolling: 'touch',\n // Note: Firefox not support `:has` yet\n [`&:has(${componentCls}${antCls}-zoom-enter), &:has(${componentCls}${antCls}-zoom-appear)`]: {\n pointerEvents: 'none'\n }\n })\n }\n }, {\n [`${componentCls}-root`]: initFadeMotion(token)\n }];\n};\nconst genModalStyle = token => {\n const {\n componentCls\n } = token;\n return [\n // ======================== Root =========================\n {\n [`${componentCls}-root`]: {\n [`${componentCls}-wrap-rtl`]: {\n direction: 'rtl'\n },\n [`${componentCls}-centered`]: {\n textAlign: 'center',\n '&::before': {\n display: 'inline-block',\n width: 0,\n height: '100%',\n verticalAlign: 'middle',\n content: '\"\"'\n },\n [componentCls]: {\n top: 0,\n display: 'inline-block',\n paddingBottom: 0,\n textAlign: 'start',\n verticalAlign: 'middle'\n }\n },\n [`@media (max-width: ${token.screenSMMax})`]: {\n [componentCls]: {\n maxWidth: 'calc(100vw - 16px)',\n margin: `${token.marginXS} auto`\n },\n [`${componentCls}-centered`]: {\n [componentCls]: {\n flex: 1\n }\n }\n }\n }\n },\n // ======================== Modal ========================\n {\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n pointerEvents: 'none',\n position: 'relative',\n top: 100,\n width: 'auto',\n maxWidth: `calc(100vw - ${token.margin * 2}px)`,\n margin: '0 auto',\n paddingBottom: token.paddingLG,\n [`${componentCls}-title`]: {\n margin: 0,\n color: token.titleColor,\n fontWeight: token.fontWeightStrong,\n fontSize: token.titleFontSize,\n lineHeight: token.titleLineHeight,\n wordWrap: 'break-word'\n },\n [`${componentCls}-content`]: {\n position: 'relative',\n backgroundColor: token.contentBg,\n backgroundClip: 'padding-box',\n border: 0,\n borderRadius: token.borderRadiusLG,\n boxShadow: token.boxShadow,\n pointerEvents: 'auto',\n padding: `${token.paddingMD}px ${token.paddingContentHorizontalLG}px`\n },\n [`${componentCls}-close`]: Object.assign({\n position: 'absolute',\n top: (token.modalHeaderHeight - token.modalCloseBtnSize) / 2,\n insetInlineEnd: (token.modalHeaderHeight - token.modalCloseBtnSize) / 2,\n zIndex: token.zIndexPopupBase + 10,\n padding: 0,\n color: token.modalCloseIconColor,\n fontWeight: token.fontWeightStrong,\n lineHeight: 1,\n textDecoration: 'none',\n background: 'transparent',\n borderRadius: token.borderRadiusSM,\n width: token.modalCloseBtnSize,\n height: token.modalCloseBtnSize,\n border: 0,\n outline: 0,\n cursor: 'pointer',\n transition: `color ${token.motionDurationMid}, background-color ${token.motionDurationMid}`,\n '&-x': {\n display: 'flex',\n fontSize: token.fontSizeLG,\n fontStyle: 'normal',\n lineHeight: `${token.modalCloseBtnSize}px`,\n justifyContent: 'center',\n textTransform: 'none',\n textRendering: 'auto'\n },\n '&:hover': {\n color: token.modalIconHoverColor,\n backgroundColor: token.wireframe ? 'transparent' : token.colorFillContent,\n textDecoration: 'none'\n },\n '&:active': {\n backgroundColor: token.wireframe ? 'transparent' : token.colorFillContentHover\n }\n }, genFocusStyle(token)),\n [`${componentCls}-header`]: {\n color: token.colorText,\n background: token.headerBg,\n borderRadius: `${token.borderRadiusLG}px ${token.borderRadiusLG}px 0 0`,\n marginBottom: token.marginXS\n },\n [`${componentCls}-body`]: {\n fontSize: token.fontSize,\n lineHeight: token.lineHeight,\n wordWrap: 'break-word'\n },\n [`${componentCls}-footer`]: {\n textAlign: 'end',\n background: token.footerBg,\n marginTop: token.marginSM,\n [`${token.antCls}-btn + ${token.antCls}-btn:not(${token.antCls}-dropdown-trigger)`]: {\n marginBottom: 0,\n marginInlineStart: token.marginXS\n }\n },\n [`${componentCls}-open`]: {\n overflow: 'hidden'\n }\n })\n },\n // ======================== Pure =========================\n {\n [`${componentCls}-pure-panel`]: {\n top: 'auto',\n padding: 0,\n display: 'flex',\n flexDirection: 'column',\n [`${componentCls}-content,\n ${componentCls}-body,\n ${componentCls}-confirm-body-wrapper`]: {\n display: 'flex',\n flexDirection: 'column',\n flex: 'auto'\n },\n [`${componentCls}-confirm-body`]: {\n marginBottom: 'auto'\n }\n }\n }];\n};\nconst genModalConfirmStyle = token => {\n const {\n componentCls\n } = token;\n const confirmComponentCls = `${componentCls}-confirm`;\n return {\n [confirmComponentCls]: {\n '&-rtl': {\n direction: 'rtl'\n },\n [`${token.antCls}-modal-header`]: {\n display: 'none'\n },\n [`${confirmComponentCls}-body-wrapper`]: Object.assign({}, clearFix()),\n [`${confirmComponentCls}-body`]: {\n display: 'flex',\n flexWrap: 'wrap',\n alignItems: 'center',\n [`${confirmComponentCls}-title`]: {\n flex: '0 0 100%',\n display: 'block',\n // create BFC to avoid\n // https://user-images.githubusercontent.com/507615/37702510-ba844e06-2d2d-11e8-9b67-8e19be57f445.png\n overflow: 'hidden',\n color: token.colorTextHeading,\n fontWeight: token.fontWeightStrong,\n fontSize: token.titleFontSize,\n lineHeight: token.titleLineHeight,\n [`+ ${confirmComponentCls}-content`]: {\n marginBlockStart: token.marginXS,\n flexBasis: '100%',\n maxWidth: `calc(100% - ${token.modalConfirmIconSize + token.marginSM}px)`\n }\n },\n [`${confirmComponentCls}-content`]: {\n color: token.colorText,\n fontSize: token.fontSize\n },\n [`> ${token.iconCls}`]: {\n flex: 'none',\n marginInlineEnd: token.marginSM,\n fontSize: token.modalConfirmIconSize,\n [`+ ${confirmComponentCls}-title`]: {\n flex: 1\n },\n // `content` after `icon` should set marginLeft\n [`+ ${confirmComponentCls}-title + ${confirmComponentCls}-content`]: {\n marginInlineStart: token.modalConfirmIconSize + token.marginSM\n }\n }\n },\n [`${confirmComponentCls}-btns`]: {\n textAlign: 'end',\n marginTop: token.marginSM,\n [`${token.antCls}-btn + ${token.antCls}-btn`]: {\n marginBottom: 0,\n marginInlineStart: token.marginXS\n }\n }\n },\n [`${confirmComponentCls}-error ${confirmComponentCls}-body > ${token.iconCls}`]: {\n color: token.colorError\n },\n [`${confirmComponentCls}-warning ${confirmComponentCls}-body > ${token.iconCls},\n ${confirmComponentCls}-confirm ${confirmComponentCls}-body > ${token.iconCls}`]: {\n color: token.colorWarning\n },\n [`${confirmComponentCls}-info ${confirmComponentCls}-body > ${token.iconCls}`]: {\n color: token.colorInfo\n },\n [`${confirmComponentCls}-success ${confirmComponentCls}-body > ${token.iconCls}`]: {\n color: token.colorSuccess\n }\n };\n};\nconst genRTLStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-root`]: {\n [`${componentCls}-wrap-rtl`]: {\n direction: 'rtl',\n [`${componentCls}-confirm-body`]: {\n direction: 'rtl'\n }\n }\n }\n };\n};\nconst genWireframeStyle = token => {\n const {\n componentCls,\n antCls\n } = token;\n const confirmComponentCls = `${componentCls}-confirm`;\n return {\n [componentCls]: {\n [`${componentCls}-content`]: {\n padding: 0\n },\n [`${componentCls}-header`]: {\n padding: token.modalHeaderPadding,\n borderBottom: `${token.modalHeaderBorderWidth}px ${token.modalHeaderBorderStyle} ${token.modalHeaderBorderColorSplit}`,\n marginBottom: 0\n },\n [`${componentCls}-body`]: {\n padding: token.modalBodyPadding\n },\n [`${componentCls}-footer`]: {\n padding: `${token.modalFooterPaddingVertical}px ${token.modalFooterPaddingHorizontal}px`,\n borderTop: `${token.modalFooterBorderWidth}px ${token.modalFooterBorderStyle} ${token.modalFooterBorderColorSplit}`,\n borderRadius: `0 0 ${token.borderRadiusLG}px ${token.borderRadiusLG}px`,\n marginTop: 0\n }\n },\n [confirmComponentCls]: {\n [`${antCls}-modal-body`]: {\n padding: `${token.padding * 2}px ${token.padding * 2}px ${token.paddingLG}px`\n },\n [`${confirmComponentCls}-body`]: {\n [`> ${token.iconCls}`]: {\n marginInlineEnd: token.margin,\n // `content` after `icon` should set marginLeft\n [`+ ${confirmComponentCls}-title + ${confirmComponentCls}-content`]: {\n marginInlineStart: token.modalConfirmIconSize + token.margin\n }\n }\n },\n [`${confirmComponentCls}-btns`]: {\n marginTop: token.marginLG\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Modal', token => {\n const headerPaddingVertical = token.padding;\n const headerFontSize = token.fontSizeHeading5;\n const headerLineHeight = token.lineHeightHeading5;\n const modalToken = mergeToken(token, {\n modalBodyPadding: token.paddingLG,\n modalHeaderPadding: `${headerPaddingVertical}px ${token.paddingLG}px`,\n modalHeaderBorderWidth: token.lineWidth,\n modalHeaderBorderStyle: token.lineType,\n modalHeaderBorderColorSplit: token.colorSplit,\n modalHeaderHeight: headerLineHeight * headerFontSize + headerPaddingVertical * 2,\n modalFooterBorderColorSplit: token.colorSplit,\n modalFooterBorderStyle: token.lineType,\n modalFooterPaddingVertical: token.paddingXS,\n modalFooterPaddingHorizontal: token.padding,\n modalFooterBorderWidth: token.lineWidth,\n modalIconHoverColor: token.colorIconHover,\n modalCloseIconColor: token.colorIcon,\n modalCloseBtnSize: token.fontSize * token.lineHeight,\n modalConfirmIconSize: token.fontSize * token.lineHeight\n });\n return [genModalStyle(modalToken), genModalConfirmStyle(modalToken), genRTLStyle(modalToken), genModalMaskStyle(modalToken), token.wireframe && genWireframeStyle(modalToken), initZoomMotion(modalToken, 'zoom')];\n}, token => ({\n footerBg: 'transparent',\n headerBg: token.colorBgElevated,\n titleLineHeight: token.lineHeightHeading5,\n titleFontSize: token.fontSizeHeading5,\n contentBg: token.colorBgElevated,\n titleColor: token.colorTextHeading\n}));","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nexport default function usePatchElement() {\n const [elements, setElements] = React.useState([]);\n const patchElement = React.useCallback(element => {\n // append a new element to elements (and create a new ref)\n setElements(originElements => [].concat(_toConsumableArray(originElements), [element]));\n // return a function that removes the new element out of elements (and create a new ref)\n // it works a little like useEffect\n return () => {\n setElements(originElements => originElements.filter(ele => ele !== element));\n };\n }, []);\n return [elements, patchElement];\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { ConfigContext } from '../../config-provider';\nimport defaultLocale from '../../locale/en_US';\nimport useLocale from '../../locale/useLocale';\nimport ConfirmDialog from '../ConfirmDialog';\nconst HookModal = (_a, ref) => {\n var _b;\n var {\n afterClose: hookAfterClose,\n config\n } = _a,\n restProps = __rest(_a, [\"afterClose\", \"config\"]);\n const [open, setOpen] = React.useState(true);\n const [innerConfig, setInnerConfig] = React.useState(config);\n const {\n direction,\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('modal');\n const rootPrefixCls = getPrefixCls();\n const afterClose = () => {\n var _a;\n hookAfterClose();\n (_a = innerConfig.afterClose) === null || _a === void 0 ? void 0 : _a.call(innerConfig);\n };\n const close = function () {\n setOpen(false);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n const triggerCancel = args.some(param => param && param.triggerCancel);\n if (innerConfig.onCancel && triggerCancel) {\n innerConfig.onCancel.apply(innerConfig, [() => {}].concat(_toConsumableArray(args.slice(1))));\n }\n };\n React.useImperativeHandle(ref, () => ({\n destroy: close,\n update: newConfig => {\n setInnerConfig(originConfig => Object.assign(Object.assign({}, originConfig), newConfig));\n }\n }));\n const mergedOkCancel = (_b = innerConfig.okCancel) !== null && _b !== void 0 ? _b : innerConfig.type === 'confirm';\n const [contextLocale] = useLocale('Modal', defaultLocale.Modal);\n return /*#__PURE__*/React.createElement(ConfirmDialog, Object.assign({\n prefixCls: prefixCls,\n rootPrefixCls: rootPrefixCls\n }, innerConfig, {\n close: close,\n open: open,\n afterClose: afterClose,\n okText: innerConfig.okText || (mergedOkCancel ? contextLocale === null || contextLocale === void 0 ? void 0 : contextLocale.okText : contextLocale === null || contextLocale === void 0 ? void 0 : contextLocale.justOkText),\n direction: innerConfig.direction || direction,\n cancelText: innerConfig.cancelText || (contextLocale === null || contextLocale === void 0 ? void 0 : contextLocale.cancelText)\n }, restProps));\n};\nexport default /*#__PURE__*/React.forwardRef(HookModal);","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport usePatchElement from '../../_util/hooks/usePatchElement';\nimport { withConfirm, withError, withInfo, withSuccess, withWarn } from '../confirm';\nimport destroyFns from '../destroyFns';\nimport HookModal from './HookModal';\nlet uuid = 0;\nconst ElementsHolder = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef((_props, ref) => {\n const [elements, patchElement] = usePatchElement();\n React.useImperativeHandle(ref, () => ({\n patchElement\n }), []);\n // eslint-disable-next-line react/jsx-no-useless-fragment\n return /*#__PURE__*/React.createElement(React.Fragment, null, elements);\n}));\nfunction useModal() {\n const holderRef = React.useRef(null);\n // ========================== Effect ==========================\n const [actionQueue, setActionQueue] = React.useState([]);\n React.useEffect(() => {\n if (actionQueue.length) {\n const cloneQueue = _toConsumableArray(actionQueue);\n cloneQueue.forEach(action => {\n action();\n });\n setActionQueue([]);\n }\n }, [actionQueue]);\n // =========================== Hook ===========================\n const getConfirmFunc = React.useCallback(withFunc => function hookConfirm(config) {\n var _a;\n uuid += 1;\n const modalRef = /*#__PURE__*/React.createRef();\n // Proxy to promise with `onClose`\n let resolvePromise;\n const promise = new Promise(resolve => {\n resolvePromise = resolve;\n });\n let silent = false;\n let closeFunc;\n const modal = /*#__PURE__*/React.createElement(HookModal, {\n key: `modal-${uuid}`,\n config: withFunc(config),\n ref: modalRef,\n afterClose: () => {\n closeFunc === null || closeFunc === void 0 ? void 0 : closeFunc();\n },\n isSilent: () => silent,\n onConfirm: confirmed => {\n resolvePromise(confirmed);\n }\n });\n closeFunc = (_a = holderRef.current) === null || _a === void 0 ? void 0 : _a.patchElement(modal);\n if (closeFunc) {\n destroyFns.push(closeFunc);\n }\n const instance = {\n destroy: () => {\n function destroyAction() {\n var _a;\n (_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n }\n if (modalRef.current) {\n destroyAction();\n } else {\n setActionQueue(prev => [].concat(_toConsumableArray(prev), [destroyAction]));\n }\n },\n update: newConfig => {\n function updateAction() {\n var _a;\n (_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.update(newConfig);\n }\n if (modalRef.current) {\n updateAction();\n } else {\n setActionQueue(prev => [].concat(_toConsumableArray(prev), [updateAction]));\n }\n },\n then: resolve => {\n silent = true;\n return promise.then(resolve);\n }\n };\n return instance;\n }, []);\n const fns = React.useMemo(() => ({\n info: getConfirmFunc(withInfo),\n success: getConfirmFunc(withSuccess),\n error: getConfirmFunc(withError),\n warning: getConfirmFunc(withWarn),\n confirm: getConfirmFunc(withConfirm)\n }), []);\n return [fns, /*#__PURE__*/React.createElement(ElementsHolder, {\n key: \"modal-holder\",\n ref: holderRef\n })];\n}\nexport default useModal;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport CheckCircleFilled from \"@ant-design/icons/es/icons/CheckCircleFilled\";\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport ExclamationCircleFilled from \"@ant-design/icons/es/icons/ExclamationCircleFilled\";\nimport InfoCircleFilled from \"@ant-design/icons/es/icons/InfoCircleFilled\";\nimport LoadingOutlined from \"@ant-design/icons/es/icons/LoadingOutlined\";\nimport classNames from 'classnames';\nimport { Notice } from 'rc-notification';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style';\nexport const TypeIcon = {\n info: /*#__PURE__*/React.createElement(InfoCircleFilled, null),\n success: /*#__PURE__*/React.createElement(CheckCircleFilled, null),\n error: /*#__PURE__*/React.createElement(CloseCircleFilled, null),\n warning: /*#__PURE__*/React.createElement(ExclamationCircleFilled, null),\n loading: /*#__PURE__*/React.createElement(LoadingOutlined, null)\n};\nexport function getCloseIcon(prefixCls, closeIcon) {\n if (closeIcon === null || closeIcon === false) {\n return null;\n }\n return closeIcon || /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-close-x`\n }, /*#__PURE__*/React.createElement(CloseOutlined, {\n className: `${prefixCls}-close-icon`\n }));\n}\nconst typeToIcon = {\n success: CheckCircleFilled,\n info: InfoCircleFilled,\n error: CloseCircleFilled,\n warning: ExclamationCircleFilled\n};\nexport const PureContent = props => {\n const {\n prefixCls,\n icon,\n type,\n message,\n description,\n btn,\n role = 'alert'\n } = props;\n let iconNode = null;\n if (icon) {\n iconNode = /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-icon`\n }, icon);\n } else if (type) {\n iconNode = /*#__PURE__*/React.createElement(typeToIcon[type] || null, {\n className: classNames(`${prefixCls}-icon`, `${prefixCls}-icon-${type}`)\n });\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames({\n [`${prefixCls}-with-icon`]: iconNode\n }),\n role: role\n }, iconNode, /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-message`\n }, message), /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-description`\n }, description), btn && /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-btn`\n }, btn));\n};\n/** @private Internal Component. Do not use in your production. */\nconst PurePanel = props => {\n const {\n prefixCls: staticPrefixCls,\n className,\n icon,\n type,\n message,\n description,\n btn,\n closable = true,\n closeIcon\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"icon\", \"type\", \"message\", \"description\", \"btn\", \"closable\", \"closeIcon\"]);\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = staticPrefixCls || getPrefixCls('notification');\n const noticePrefixCls = `${prefixCls}-notice`;\n const [, hashId] = useStyle(prefixCls);\n return /*#__PURE__*/React.createElement(Notice, Object.assign({}, restProps, {\n prefixCls: prefixCls,\n className: classNames(className, hashId, `${noticePrefixCls}-pure-panel`),\n eventKey: \"pure\",\n duration: null,\n closable: closable,\n closeIcon: getCloseIcon(prefixCls, closeIcon),\n content: /*#__PURE__*/React.createElement(PureContent, {\n prefixCls: noticePrefixCls,\n icon: icon,\n type: type,\n message: message,\n description: description,\n btn: btn\n })\n }));\n};\nexport default PurePanel;","'use client';\n\nimport * as React from 'react';\nimport { render } from \"rc-util/es/React/render\";\nimport ConfigProvider, { globalConfig, warnContext } from '../config-provider';\nimport PurePanel from './PurePanel';\nimport useNotification, { useInternalNotification } from './useNotification';\nlet notification = null;\nlet act = callback => callback();\nlet taskQueue = [];\nlet defaultGlobalConfig = {};\nfunction getGlobalContext() {\n const {\n prefixCls: globalPrefixCls,\n getContainer: globalGetContainer,\n rtl,\n maxCount,\n top,\n bottom\n } = defaultGlobalConfig;\n const mergedPrefixCls = globalPrefixCls !== null && globalPrefixCls !== void 0 ? globalPrefixCls : globalConfig().getPrefixCls('notification');\n const mergedContainer = (globalGetContainer === null || globalGetContainer === void 0 ? void 0 : globalGetContainer()) || document.body;\n return {\n prefixCls: mergedPrefixCls,\n getContainer: () => mergedContainer,\n rtl,\n maxCount,\n top,\n bottom\n };\n}\nconst GlobalHolder = /*#__PURE__*/React.forwardRef((_, ref) => {\n const [notificationConfig, setNotificationConfig] = React.useState(getGlobalContext);\n const [api, holder] = useInternalNotification(notificationConfig);\n const global = globalConfig();\n const rootPrefixCls = global.getRootPrefixCls();\n const rootIconPrefixCls = global.getIconPrefixCls();\n const theme = global.getTheme();\n const sync = () => {\n setNotificationConfig(getGlobalContext);\n };\n React.useEffect(sync, []);\n React.useImperativeHandle(ref, () => {\n const instance = Object.assign({}, api);\n Object.keys(instance).forEach(method => {\n instance[method] = function () {\n sync();\n return api[method].apply(api, arguments);\n };\n });\n return {\n instance,\n sync\n };\n });\n return /*#__PURE__*/React.createElement(ConfigProvider, {\n prefixCls: rootPrefixCls,\n iconPrefixCls: rootIconPrefixCls,\n theme: theme\n }, holder);\n});\nfunction flushNotice() {\n if (!notification) {\n const holderFragment = document.createDocumentFragment();\n const newNotification = {\n fragment: holderFragment\n };\n notification = newNotification;\n // Delay render to avoid sync issue\n act(() => {\n render( /*#__PURE__*/React.createElement(GlobalHolder, {\n ref: node => {\n const {\n instance,\n sync\n } = node || {};\n Promise.resolve().then(() => {\n if (!newNotification.instance && instance) {\n newNotification.instance = instance;\n newNotification.sync = sync;\n flushNotice();\n }\n });\n }\n }), holderFragment);\n });\n return;\n }\n // Notification not ready\n if (!notification.instance) {\n return;\n }\n // >>> Execute task\n taskQueue.forEach(task => {\n // eslint-disable-next-line default-case\n switch (task.type) {\n case 'open':\n {\n act(() => {\n notification.instance.open(Object.assign(Object.assign({}, defaultGlobalConfig), task.config));\n });\n break;\n }\n case 'destroy':\n act(() => {\n notification === null || notification === void 0 ? void 0 : notification.instance.destroy(task.key);\n });\n break;\n }\n });\n // Clean up\n taskQueue = [];\n}\n// ==============================================================================\n// == Export ==\n// ==============================================================================\nfunction setNotificationGlobalConfig(config) {\n defaultGlobalConfig = Object.assign(Object.assign({}, defaultGlobalConfig), config);\n // Trigger sync for it\n act(() => {\n var _a;\n (_a = notification === null || notification === void 0 ? void 0 : notification.sync) === null || _a === void 0 ? void 0 : _a.call(notification);\n });\n}\nfunction open(config) {\n // Warning if exist theme\n if (process.env.NODE_ENV !== 'production') {\n warnContext('notification');\n }\n taskQueue.push({\n type: 'open',\n config\n });\n flushNotice();\n}\nfunction destroy(key) {\n taskQueue.push({\n type: 'destroy',\n key\n });\n flushNotice();\n}\nconst methods = ['success', 'info', 'warning', 'error'];\nconst baseStaticMethods = {\n open,\n destroy,\n config: setNotificationGlobalConfig,\n useNotification,\n _InternalPanelDoNotUseOrYouWillBeFired: PurePanel\n};\nconst staticMethods = baseStaticMethods;\nmethods.forEach(type => {\n staticMethods[type] = config => open(Object.assign(Object.assign({}, config), {\n type\n }));\n});\n// ==============================================================================\n// == Test ==\n// ==============================================================================\nconst noop = () => {};\n/** @internal Only Work in test env */\n// eslint-disable-next-line import/no-mutable-exports\nexport let actWrapper = noop;\nif (process.env.NODE_ENV === 'test') {\n actWrapper = wrapper => {\n act = wrapper;\n };\n}\nexport default staticMethods;","import { Keyframes } from '@ant-design/cssinjs';\nconst genNotificationPlacementStyle = token => {\n const {\n componentCls,\n width,\n notificationMarginEdge\n } = token;\n const notificationTopFadeIn = new Keyframes('antNotificationTopFadeIn', {\n '0%': {\n marginTop: '-100%',\n opacity: 0\n },\n '100%': {\n marginTop: 0,\n opacity: 1\n }\n });\n const notificationBottomFadeIn = new Keyframes('antNotificationBottomFadeIn', {\n '0%': {\n marginBottom: '-100%',\n opacity: 0\n },\n '100%': {\n marginBottom: 0,\n opacity: 1\n }\n });\n const notificationLeftFadeIn = new Keyframes('antNotificationLeftFadeIn', {\n '0%': {\n right: {\n _skip_check_: true,\n value: width\n },\n opacity: 0\n },\n '100%': {\n right: {\n _skip_check_: true,\n value: 0\n },\n opacity: 1\n }\n });\n return {\n [`&${componentCls}-top, &${componentCls}-bottom`]: {\n marginInline: 0\n },\n [`&${componentCls}-top`]: {\n [`${componentCls}-fade-enter${componentCls}-fade-enter-active, ${componentCls}-fade-appear${componentCls}-fade-appear-active`]: {\n animationName: notificationTopFadeIn\n }\n },\n [`&${componentCls}-bottom`]: {\n [`${componentCls}-fade-enter${componentCls}-fade-enter-active, ${componentCls}-fade-appear${componentCls}-fade-appear-active`]: {\n animationName: notificationBottomFadeIn\n }\n },\n [`&${componentCls}-topLeft, &${componentCls}-bottomLeft`]: {\n marginInlineEnd: 0,\n marginInlineStart: notificationMarginEdge,\n [`${componentCls}-fade-enter${componentCls}-fade-enter-active, ${componentCls}-fade-appear${componentCls}-fade-appear-active`]: {\n animationName: notificationLeftFadeIn\n }\n }\n };\n};\nexport default genNotificationPlacementStyle;","import { Keyframes } from '@ant-design/cssinjs';\nimport { resetComponent } from '../../style';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport genNotificationPlacementStyle from './placement';\nconst genNotificationStyle = token => {\n const {\n iconCls,\n componentCls,\n // .ant-notification\n boxShadow,\n fontSizeLG,\n notificationMarginBottom,\n borderRadiusLG,\n colorSuccess,\n colorInfo,\n colorWarning,\n colorError,\n colorTextHeading,\n notificationBg,\n notificationPadding,\n notificationMarginEdge,\n motionDurationMid,\n motionEaseInOut,\n fontSize,\n lineHeight,\n width,\n notificationIconSize,\n colorText\n } = token;\n const noticeCls = `${componentCls}-notice`;\n const notificationFadeIn = new Keyframes('antNotificationFadeIn', {\n '0%': {\n left: {\n _skip_check_: true,\n value: width\n },\n opacity: 0\n },\n '100%': {\n left: {\n _skip_check_: true,\n value: 0\n },\n opacity: 1\n }\n });\n const notificationFadeOut = new Keyframes('antNotificationFadeOut', {\n '0%': {\n maxHeight: token.animationMaxHeight,\n marginBottom: notificationMarginBottom,\n opacity: 1\n },\n '100%': {\n maxHeight: 0,\n marginBottom: 0,\n paddingTop: 0,\n paddingBottom: 0,\n opacity: 0\n }\n });\n const noticeStyle = {\n position: 'relative',\n width,\n maxWidth: `calc(100vw - ${notificationMarginEdge * 2}px)`,\n marginBottom: notificationMarginBottom,\n marginInlineStart: 'auto',\n padding: notificationPadding,\n overflow: 'hidden',\n lineHeight,\n wordWrap: 'break-word',\n background: notificationBg,\n borderRadius: borderRadiusLG,\n boxShadow,\n [`${componentCls}-close-icon`]: {\n fontSize,\n cursor: 'pointer'\n },\n [`${noticeCls}-message`]: {\n marginBottom: token.marginXS,\n color: colorTextHeading,\n fontSize: fontSizeLG,\n lineHeight: token.lineHeightLG\n },\n [`${noticeCls}-description`]: {\n fontSize,\n color: colorText\n },\n [`&${noticeCls}-closable ${noticeCls}-message`]: {\n paddingInlineEnd: token.paddingLG\n },\n [`${noticeCls}-with-icon ${noticeCls}-message`]: {\n marginBottom: token.marginXS,\n marginInlineStart: token.marginSM + notificationIconSize,\n fontSize: fontSizeLG\n },\n [`${noticeCls}-with-icon ${noticeCls}-description`]: {\n marginInlineStart: token.marginSM + notificationIconSize,\n fontSize\n },\n // Icon & color style in different selector level\n // https://github.com/ant-design/ant-design/issues/16503\n // https://github.com/ant-design/ant-design/issues/15512\n [`${noticeCls}-icon`]: {\n position: 'absolute',\n fontSize: notificationIconSize,\n lineHeight: 0,\n // icon-font\n [`&-success${iconCls}`]: {\n color: colorSuccess\n },\n [`&-info${iconCls}`]: {\n color: colorInfo\n },\n [`&-warning${iconCls}`]: {\n color: colorWarning\n },\n [`&-error${iconCls}`]: {\n color: colorError\n }\n },\n [`${noticeCls}-close`]: {\n position: 'absolute',\n top: token.notificationPaddingVertical,\n insetInlineEnd: token.notificationPaddingHorizontal,\n color: token.colorIcon,\n outline: 'none',\n width: token.notificationCloseButtonSize,\n height: token.notificationCloseButtonSize,\n borderRadius: token.borderRadiusSM,\n transition: `background-color ${token.motionDurationMid}, color ${token.motionDurationMid}`,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n '&:hover': {\n color: token.colorIconHover,\n backgroundColor: token.wireframe ? 'transparent' : token.colorFillContent\n }\n },\n [`${noticeCls}-btn`]: {\n float: 'right',\n marginTop: token.marginSM\n }\n };\n return [\n // ============================ Holder ============================\n {\n [componentCls]: Object.assign(Object.assign(Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'fixed',\n zIndex: token.zIndexPopup,\n marginInlineEnd: notificationMarginEdge,\n [`${componentCls}-hook-holder`]: {\n position: 'relative'\n },\n [`&${componentCls}-top, &${componentCls}-bottom`]: {\n [noticeCls]: {\n marginInline: 'auto auto'\n }\n },\n [`&${componentCls}-topLeft, &${componentCls}-bottomLeft`]: {\n [noticeCls]: {\n marginInlineEnd: 'auto',\n marginInlineStart: 0\n }\n },\n // animation\n [`${componentCls}-fade-enter, ${componentCls}-fade-appear`]: {\n animationDuration: token.motionDurationMid,\n animationTimingFunction: motionEaseInOut,\n animationFillMode: 'both',\n opacity: 0,\n animationPlayState: 'paused'\n },\n [`${componentCls}-fade-leave`]: {\n animationTimingFunction: motionEaseInOut,\n animationFillMode: 'both',\n animationDuration: motionDurationMid,\n animationPlayState: 'paused'\n },\n [`${componentCls}-fade-enter${componentCls}-fade-enter-active, ${componentCls}-fade-appear${componentCls}-fade-appear-active`]: {\n animationName: notificationFadeIn,\n animationPlayState: 'running'\n },\n [`${componentCls}-fade-leave${componentCls}-fade-leave-active`]: {\n animationName: notificationFadeOut,\n animationPlayState: 'running'\n }\n }), genNotificationPlacementStyle(token)), {\n // RTL\n '&-rtl': {\n direction: 'rtl',\n [`${noticeCls}-btn`]: {\n float: 'left'\n }\n }\n })\n },\n // ============================ Notice ============================\n {\n [componentCls]: {\n [noticeCls]: Object.assign({}, noticeStyle)\n }\n },\n // ============================= Pure =============================\n {\n [`${noticeCls}-pure-panel`]: Object.assign(Object.assign({}, noticeStyle), {\n margin: 0\n })\n }];\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Notification', token => {\n const notificationPaddingVertical = token.paddingMD;\n const notificationPaddingHorizontal = token.paddingLG;\n const notificationToken = mergeToken(token, {\n // index.less variables\n notificationBg: token.colorBgElevated,\n notificationPaddingVertical,\n notificationPaddingHorizontal,\n notificationIconSize: token.fontSizeLG * token.lineHeightLG,\n notificationCloseButtonSize: token.controlHeightLG * 0.55,\n notificationMarginBottom: token.margin,\n notificationPadding: `${token.paddingMD}px ${token.paddingContentHorizontalLG}px`,\n notificationMarginEdge: token.marginLG,\n animationMaxHeight: 150\n });\n return [genNotificationStyle(notificationToken)];\n}, token => ({\n zIndexPopup: token.zIndexPopupBase + 50,\n width: 384\n}), {\n clientOnly: true\n});","export function getPlacementStyle(placement, top, bottom) {\n let style;\n switch (placement) {\n case 'top':\n style = {\n left: '50%',\n transform: 'translateX(-50%)',\n right: 'auto',\n top,\n bottom: 'auto'\n };\n break;\n case 'topLeft':\n style = {\n left: 0,\n top,\n bottom: 'auto'\n };\n break;\n case 'topRight':\n style = {\n right: 0,\n top,\n bottom: 'auto'\n };\n break;\n case 'bottom':\n style = {\n left: '50%',\n transform: 'translateX(-50%)',\n right: 'auto',\n top: 'auto',\n bottom\n };\n break;\n case 'bottomLeft':\n style = {\n left: 0,\n top: 'auto',\n bottom\n };\n break;\n default:\n style = {\n right: 0,\n top: 'auto',\n bottom\n };\n break;\n }\n return style;\n}\nexport function getMotion(prefixCls) {\n return {\n motionName: `${prefixCls}-fade`\n };\n}","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useNotification as useRcNotification } from 'rc-notification';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport { getCloseIcon, PureContent } from './PurePanel';\nimport useStyle from './style';\nimport { getMotion, getPlacementStyle } from './util';\nconst DEFAULT_OFFSET = 24;\nconst DEFAULT_DURATION = 4.5;\nconst DEFAULT_PLACEMENT = 'topRight';\nconst Holder = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n top,\n bottom,\n prefixCls: staticPrefixCls,\n getContainer: staticGetContainer,\n maxCount,\n rtl,\n onAllRemoved\n } = props;\n const {\n getPrefixCls,\n getPopupContainer,\n notification\n } = React.useContext(ConfigContext);\n const prefixCls = staticPrefixCls || getPrefixCls('notification');\n // =============================== Style ===============================\n const getStyle = placement => getPlacementStyle(placement, top !== null && top !== void 0 ? top : DEFAULT_OFFSET, bottom !== null && bottom !== void 0 ? bottom : DEFAULT_OFFSET);\n // Style\n const [, hashId] = useStyle(prefixCls);\n const getClassName = () => classNames(hashId, {\n [`${prefixCls}-rtl`]: rtl\n });\n // ============================== Motion ===============================\n const getNotificationMotion = () => getMotion(prefixCls);\n // ============================== Origin ===============================\n const [api, holder] = useRcNotification({\n prefixCls,\n style: getStyle,\n className: getClassName,\n motion: getNotificationMotion,\n closable: true,\n closeIcon: getCloseIcon(prefixCls),\n duration: DEFAULT_DURATION,\n getContainer: () => (staticGetContainer === null || staticGetContainer === void 0 ? void 0 : staticGetContainer()) || (getPopupContainer === null || getPopupContainer === void 0 ? void 0 : getPopupContainer()) || document.body,\n maxCount,\n onAllRemoved\n });\n // ================================ Ref ================================\n React.useImperativeHandle(ref, () => Object.assign(Object.assign({}, api), {\n prefixCls,\n hashId,\n notification\n }));\n return holder;\n});\n// ==============================================================================\n// == Hook ==\n// ==============================================================================\nexport function useInternalNotification(notificationConfig) {\n const holderRef = React.useRef(null);\n // ================================ API ================================\n const wrapAPI = React.useMemo(() => {\n // Wrap with notification content\n // >>> Open\n const open = config => {\n var _a;\n if (!holderRef.current) {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Notification', 'You are calling notice in render which will break in React 18 concurrent mode. Please trigger in effect instead.') : void 0;\n return;\n }\n const {\n open: originOpen,\n prefixCls,\n hashId,\n notification\n } = holderRef.current;\n const noticePrefixCls = `${prefixCls}-notice`;\n const {\n message,\n description,\n icon,\n type,\n btn,\n className,\n style,\n role = 'alert',\n closeIcon\n } = config,\n restConfig = __rest(config, [\"message\", \"description\", \"icon\", \"type\", \"btn\", \"className\", \"style\", \"role\", \"closeIcon\"]);\n const realCloseIcon = getCloseIcon(noticePrefixCls, closeIcon);\n return originOpen(Object.assign(Object.assign({\n // use placement from props instead of hard-coding \"topRight\"\n placement: (_a = notificationConfig === null || notificationConfig === void 0 ? void 0 : notificationConfig.placement) !== null && _a !== void 0 ? _a : DEFAULT_PLACEMENT\n }, restConfig), {\n content: /*#__PURE__*/React.createElement(PureContent, {\n prefixCls: noticePrefixCls,\n icon: icon,\n type: type,\n message: message,\n description: description,\n btn: btn,\n role: role\n }),\n className: classNames(type && `${noticePrefixCls}-${type}`, hashId, className, notification === null || notification === void 0 ? void 0 : notification.className),\n style: Object.assign(Object.assign({}, notification === null || notification === void 0 ? void 0 : notification.style), style),\n closeIcon: realCloseIcon,\n closable: !!realCloseIcon\n }));\n };\n // >>> destroy\n const destroy = key => {\n var _a, _b;\n if (key !== undefined) {\n (_a = holderRef.current) === null || _a === void 0 ? void 0 : _a.close(key);\n } else {\n (_b = holderRef.current) === null || _b === void 0 ? void 0 : _b.destroy();\n }\n };\n const clone = {\n open,\n destroy\n };\n const keys = ['success', 'info', 'warning', 'error'];\n keys.forEach(type => {\n clone[type] = config => open(Object.assign(Object.assign({}, config), {\n type\n }));\n });\n return clone;\n }, []);\n // ============================== Return ===============================\n return [wrapAPI, /*#__PURE__*/React.createElement(Holder, Object.assign({\n key: \"notification-holder\"\n }, notificationConfig, {\n ref: holderRef\n }))];\n}\nexport default function useNotification(notificationConfig) {\n return useInternalNotification(notificationConfig);\n}","// This icon file is generated automatically.\nvar DoubleLeftOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M272.9 512l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L186.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H532c6.7 0 10.4-7.7 6.3-12.9L272.9 512zm304 0l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L490.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H836c6.7 0 10.4-7.7 6.3-12.9L576.9 512z\" } }] }, \"name\": \"double-left\", \"theme\": \"outlined\" };\nexport default DoubleLeftOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport DoubleLeftOutlinedSvg from \"@ant-design/icons-svg/es/asn/DoubleLeftOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar DoubleLeftOutlined = function DoubleLeftOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: DoubleLeftOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n DoubleLeftOutlined.displayName = 'DoubleLeftOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(DoubleLeftOutlined);","// This icon file is generated automatically.\nvar DoubleRightOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M533.2 492.3L277.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H188c-6.7 0-10.4 7.7-6.3 12.9L447.1 512 181.7 851.1A7.98 7.98 0 00188 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5zm304 0L581.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H492c-6.7 0-10.4 7.7-6.3 12.9L751.1 512 485.7 851.1A7.98 7.98 0 00492 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5z\" } }] }, \"name\": \"double-right\", \"theme\": \"outlined\" };\nexport default DoubleRightOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport DoubleRightOutlinedSvg from \"@ant-design/icons-svg/es/asn/DoubleRightOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar DoubleRightOutlined = function DoubleRightOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: DoubleRightOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n DoubleRightOutlined.displayName = 'DoubleRightOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(DoubleRightOutlined);","var KeyCode = {\n ZERO: 48,\n NINE: 57,\n NUMPAD_ZERO: 96,\n NUMPAD_NINE: 105,\n BACKSPACE: 8,\n DELETE: 46,\n ENTER: 13,\n ARROW_UP: 38,\n ARROW_DOWN: 40\n};\nexport default KeyCode;","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\n/* eslint react/prop-types: 0 */\nimport React from 'react';\nimport KEYCODE from './KeyCode';\nvar Options = /*#__PURE__*/function (_React$Component) {\n _inherits(Options, _React$Component);\n var _super = _createSuper(Options);\n function Options() {\n var _this;\n _classCallCheck(this, Options);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n goInputText: ''\n };\n _this.getValidValue = function () {\n var goInputText = _this.state.goInputText;\n // eslint-disable-next-line no-restricted-globals\n return !goInputText || Number.isNaN(goInputText) ? undefined : Number(goInputText);\n };\n _this.buildOptionText = function (value) {\n return \"\".concat(value, \" \").concat(_this.props.locale.items_per_page);\n };\n _this.changeSize = function (value) {\n _this.props.changeSize(Number(value));\n };\n _this.handleChange = function (e) {\n _this.setState({\n goInputText: e.target.value\n });\n };\n _this.handleBlur = function (e) {\n var _this$props = _this.props,\n goButton = _this$props.goButton,\n quickGo = _this$props.quickGo,\n rootPrefixCls = _this$props.rootPrefixCls;\n var goInputText = _this.state.goInputText;\n if (goButton || goInputText === '') {\n return;\n }\n _this.setState({\n goInputText: ''\n });\n if (e.relatedTarget && (e.relatedTarget.className.indexOf(\"\".concat(rootPrefixCls, \"-item-link\")) >= 0 || e.relatedTarget.className.indexOf(\"\".concat(rootPrefixCls, \"-item\")) >= 0)) {\n return;\n }\n quickGo(_this.getValidValue());\n };\n _this.go = function (e) {\n var goInputText = _this.state.goInputText;\n if (goInputText === '') {\n return;\n }\n if (e.keyCode === KEYCODE.ENTER || e.type === 'click') {\n _this.setState({\n goInputText: ''\n });\n _this.props.quickGo(_this.getValidValue());\n }\n };\n return _this;\n }\n _createClass(Options, [{\n key: \"getPageSizeOptions\",\n value: function getPageSizeOptions() {\n var _this$props2 = this.props,\n pageSize = _this$props2.pageSize,\n pageSizeOptions = _this$props2.pageSizeOptions;\n if (pageSizeOptions.some(function (option) {\n return option.toString() === pageSize.toString();\n })) {\n return pageSizeOptions;\n }\n return pageSizeOptions.concat([pageSize.toString()]).sort(function (a, b) {\n // eslint-disable-next-line no-restricted-globals\n var numberA = Number.isNaN(Number(a)) ? 0 : Number(a);\n // eslint-disable-next-line no-restricted-globals\n var numberB = Number.isNaN(Number(b)) ? 0 : Number(b);\n return numberA - numberB;\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var _this$props3 = this.props,\n pageSize = _this$props3.pageSize,\n locale = _this$props3.locale,\n rootPrefixCls = _this$props3.rootPrefixCls,\n changeSize = _this$props3.changeSize,\n quickGo = _this$props3.quickGo,\n goButton = _this$props3.goButton,\n selectComponentClass = _this$props3.selectComponentClass,\n buildOptionText = _this$props3.buildOptionText,\n selectPrefixCls = _this$props3.selectPrefixCls,\n disabled = _this$props3.disabled;\n var goInputText = this.state.goInputText;\n var prefixCls = \"\".concat(rootPrefixCls, \"-options\");\n var Select = selectComponentClass;\n var changeSelect = null;\n var goInput = null;\n var gotoButton = null;\n if (!changeSize && !quickGo) {\n return null;\n }\n var pageSizeOptions = this.getPageSizeOptions();\n if (changeSize && Select) {\n var options = pageSizeOptions.map(function (opt, i) {\n return /*#__PURE__*/React.createElement(Select.Option, {\n key: i,\n value: opt.toString()\n }, (buildOptionText || _this2.buildOptionText)(opt));\n });\n changeSelect = /*#__PURE__*/React.createElement(Select, {\n disabled: disabled,\n prefixCls: selectPrefixCls,\n showSearch: false,\n className: \"\".concat(prefixCls, \"-size-changer\"),\n optionLabelProp: \"children\",\n popupMatchSelectWidth: false,\n value: (pageSize || pageSizeOptions[0]).toString(),\n onChange: this.changeSize,\n getPopupContainer: function getPopupContainer(triggerNode) {\n return triggerNode.parentNode;\n },\n \"aria-label\": locale.page_size,\n defaultOpen: false\n }, options);\n }\n if (quickGo) {\n if (goButton) {\n gotoButton = typeof goButton === 'boolean' ? /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: this.go,\n onKeyUp: this.go,\n disabled: disabled,\n className: \"\".concat(prefixCls, \"-quick-jumper-button\")\n }, locale.jump_to_confirm) : /*#__PURE__*/React.createElement(\"span\", {\n onClick: this.go,\n onKeyUp: this.go\n }, goButton);\n }\n goInput = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-quick-jumper\")\n }, locale.jump_to, /*#__PURE__*/React.createElement(\"input\", {\n disabled: disabled,\n type: \"text\",\n value: goInputText,\n onChange: this.handleChange,\n onKeyUp: this.go,\n onBlur: this.handleBlur,\n \"aria-label\": locale.page\n }), locale.page, gotoButton);\n }\n return /*#__PURE__*/React.createElement(\"li\", {\n className: \"\".concat(prefixCls)\n }, changeSelect, goInput);\n }\n }]);\n return Options;\n}(React.Component);\nOptions.defaultProps = {\n pageSizeOptions: ['10', '20', '50', '100']\n};\nexport default Options;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n/* eslint react/prop-types: 0 */\nimport classNames from 'classnames';\nimport React from 'react';\nvar Pager = function Pager(props) {\n var _classNames;\n var rootPrefixCls = props.rootPrefixCls,\n page = props.page,\n active = props.active,\n className = props.className,\n showTitle = props.showTitle,\n onClick = props.onClick,\n onKeyPress = props.onKeyPress,\n itemRender = props.itemRender;\n var prefixCls = \"\".concat(rootPrefixCls, \"-item\");\n var cls = classNames(prefixCls, \"\".concat(prefixCls, \"-\").concat(page), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-active\"), active), _defineProperty(_classNames, \"\".concat(prefixCls, \"-disabled\"), !page), _defineProperty(_classNames, props.className, className), _classNames));\n var handleClick = function handleClick() {\n onClick(page);\n };\n var handleKeyPress = function handleKeyPress(e) {\n onKeyPress(e, onClick, page);\n };\n var pager = itemRender(page, 'page', /*#__PURE__*/React.createElement(\"a\", {\n rel: \"nofollow\"\n }, page));\n if (!pager) return null;\n return /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? page.toString() : null,\n className: cls,\n onClick: handleClick,\n onKeyPress: handleKeyPress,\n tabIndex: 0\n }, pager);\n};\nexport default Pager;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport classNames from 'classnames';\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport React, { cloneElement, isValidElement } from 'react';\nimport KEYCODE from './KeyCode';\nimport LOCALE from './locale/zh_CN';\nimport Options from './Options';\nimport Pager from './Pager';\nfunction noop() {}\nfunction isInteger(v) {\n var value = Number(v);\n return (\n // eslint-disable-next-line no-restricted-globals\n typeof value === 'number' && !Number.isNaN(value) && isFinite(value) && Math.floor(value) === value\n );\n}\nvar defaultItemRender = function defaultItemRender(page, type, element) {\n return element;\n};\nfunction calculatePage(p, state, props) {\n var pageSize = typeof p === 'undefined' ? state.pageSize : p;\n return Math.floor((props.total - 1) / pageSize) + 1;\n}\nvar Pagination = /*#__PURE__*/function (_React$Component) {\n _inherits(Pagination, _React$Component);\n var _super = _createSuper(Pagination);\n function Pagination(props) {\n var _this;\n _classCallCheck(this, Pagination);\n _this = _super.call(this, props);\n _this.paginationNode = /*#__PURE__*/React.createRef();\n _this.getJumpPrevPage = function () {\n return Math.max(1, _this.state.current - (_this.props.showLessItems ? 3 : 5));\n };\n _this.getJumpNextPage = function () {\n return Math.min(calculatePage(undefined, _this.state, _this.props), _this.state.current + (_this.props.showLessItems ? 3 : 5));\n };\n _this.getItemIcon = function (icon, label) {\n var prefixCls = _this.props.prefixCls;\n var iconNode = icon || /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n \"aria-label\": label,\n className: \"\".concat(prefixCls, \"-item-link\")\n });\n if (typeof icon === 'function') {\n iconNode = /*#__PURE__*/React.createElement(icon, _objectSpread({}, _this.props));\n }\n return iconNode;\n };\n _this.isValid = function (page) {\n var total = _this.props.total;\n return isInteger(page) && page !== _this.state.current && isInteger(total) && total > 0;\n };\n _this.shouldDisplayQuickJumper = function () {\n var _this$props = _this.props,\n showQuickJumper = _this$props.showQuickJumper,\n total = _this$props.total;\n var pageSize = _this.state.pageSize;\n if (total <= pageSize) {\n return false;\n }\n return showQuickJumper;\n };\n _this.handleKeyDown = function (e) {\n if (e.keyCode === KEYCODE.ARROW_UP || e.keyCode === KEYCODE.ARROW_DOWN) {\n e.preventDefault();\n }\n };\n _this.handleKeyUp = function (e) {\n var value = _this.getValidValue(e);\n var currentInputValue = _this.state.currentInputValue;\n if (value !== currentInputValue) {\n _this.setState({\n currentInputValue: value\n });\n }\n if (e.keyCode === KEYCODE.ENTER) {\n _this.handleChange(value);\n } else if (e.keyCode === KEYCODE.ARROW_UP) {\n _this.handleChange(value - 1);\n } else if (e.keyCode === KEYCODE.ARROW_DOWN) {\n _this.handleChange(value + 1);\n }\n };\n _this.handleBlur = function (e) {\n var value = _this.getValidValue(e);\n _this.handleChange(value);\n };\n _this.changePageSize = function (size) {\n var current = _this.state.current;\n var newCurrent = calculatePage(size, _this.state, _this.props);\n current = current > newCurrent ? newCurrent : current;\n // fix the issue:\n // Once 'total' is 0, 'current' in 'onShowSizeChange' is 0, which is not correct.\n if (newCurrent === 0) {\n // eslint-disable-next-line prefer-destructuring\n current = _this.state.current;\n }\n if (typeof size === 'number') {\n if (!('pageSize' in _this.props)) {\n _this.setState({\n pageSize: size\n });\n }\n if (!('current' in _this.props)) {\n _this.setState({\n current: current,\n currentInputValue: current\n });\n }\n }\n _this.props.onShowSizeChange(current, size);\n if ('onChange' in _this.props && _this.props.onChange) {\n _this.props.onChange(current, size);\n }\n };\n _this.handleChange = function (page) {\n var _this$props2 = _this.props,\n disabled = _this$props2.disabled,\n onChange = _this$props2.onChange;\n var _this$state = _this.state,\n pageSize = _this$state.pageSize,\n current = _this$state.current,\n currentInputValue = _this$state.currentInputValue;\n if (_this.isValid(page) && !disabled) {\n var currentPage = calculatePage(undefined, _this.state, _this.props);\n var newPage = page;\n if (page > currentPage) {\n newPage = currentPage;\n } else if (page < 1) {\n newPage = 1;\n }\n if (!('current' in _this.props)) {\n _this.setState({\n current: newPage\n });\n }\n if (newPage !== currentInputValue) {\n _this.setState({\n currentInputValue: newPage\n });\n }\n onChange(newPage, pageSize);\n return newPage;\n }\n return current;\n };\n _this.prev = function () {\n if (_this.hasPrev()) {\n _this.handleChange(_this.state.current - 1);\n }\n };\n _this.next = function () {\n if (_this.hasNext()) {\n _this.handleChange(_this.state.current + 1);\n }\n };\n _this.jumpPrev = function () {\n _this.handleChange(_this.getJumpPrevPage());\n };\n _this.jumpNext = function () {\n _this.handleChange(_this.getJumpNextPage());\n };\n _this.hasPrev = function () {\n return _this.state.current > 1;\n };\n _this.hasNext = function () {\n return _this.state.current < calculatePage(undefined, _this.state, _this.props);\n };\n _this.runIfEnter = function (event, callback) {\n if (event.key === 'Enter' || event.charCode === 13) {\n for (var _len = arguments.length, restParams = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n restParams[_key - 2] = arguments[_key];\n }\n callback.apply(void 0, restParams);\n }\n };\n _this.runIfEnterPrev = function (e) {\n _this.runIfEnter(e, _this.prev);\n };\n _this.runIfEnterNext = function (e) {\n _this.runIfEnter(e, _this.next);\n };\n _this.runIfEnterJumpPrev = function (e) {\n _this.runIfEnter(e, _this.jumpPrev);\n };\n _this.runIfEnterJumpNext = function (e) {\n _this.runIfEnter(e, _this.jumpNext);\n };\n _this.handleGoTO = function (e) {\n if (e.keyCode === KEYCODE.ENTER || e.type === 'click') {\n _this.handleChange(_this.state.currentInputValue);\n }\n };\n _this.renderPrev = function (prevPage) {\n var _this$props3 = _this.props,\n prevIcon = _this$props3.prevIcon,\n itemRender = _this$props3.itemRender;\n var prevButton = itemRender(prevPage, 'prev', _this.getItemIcon(prevIcon, 'prev page'));\n var disabled = !_this.hasPrev();\n return /*#__PURE__*/isValidElement(prevButton) ? /*#__PURE__*/cloneElement(prevButton, {\n disabled: disabled\n }) : prevButton;\n };\n _this.renderNext = function (nextPage) {\n var _this$props4 = _this.props,\n nextIcon = _this$props4.nextIcon,\n itemRender = _this$props4.itemRender;\n var nextButton = itemRender(nextPage, 'next', _this.getItemIcon(nextIcon, 'next page'));\n var disabled = !_this.hasNext();\n return /*#__PURE__*/isValidElement(nextButton) ? /*#__PURE__*/cloneElement(nextButton, {\n disabled: disabled\n }) : nextButton;\n };\n var hasOnChange = props.onChange !== noop;\n var hasCurrent = ('current' in props);\n if (hasCurrent && !hasOnChange) {\n // eslint-disable-next-line no-console\n console.warn('Warning: You provided a `current` prop to a Pagination component without an `onChange` handler. This will render a read-only component.');\n }\n var _current = props.defaultCurrent;\n if ('current' in props) {\n // eslint-disable-next-line prefer-destructuring\n _current = props.current;\n }\n var _pageSize = props.defaultPageSize;\n if ('pageSize' in props) {\n // eslint-disable-next-line prefer-destructuring\n _pageSize = props.pageSize;\n }\n _current = Math.min(_current, calculatePage(_pageSize, undefined, props));\n _this.state = {\n current: _current,\n currentInputValue: _current,\n pageSize: _pageSize\n };\n return _this;\n }\n _createClass(Pagination, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(_, prevState) {\n // When current page change, fix focused style of prev item\n // A hacky solution of https://github.com/ant-design/ant-design/issues/8948\n var prefixCls = this.props.prefixCls;\n if (prevState.current !== this.state.current && this.paginationNode.current) {\n var lastCurrentNode = this.paginationNode.current.querySelector(\".\".concat(prefixCls, \"-item-\").concat(prevState.current));\n if (lastCurrentNode && document.activeElement === lastCurrentNode) {\n var _lastCurrentNode$blur;\n lastCurrentNode === null || lastCurrentNode === void 0 ? void 0 : (_lastCurrentNode$blur = lastCurrentNode.blur) === null || _lastCurrentNode$blur === void 0 ? void 0 : _lastCurrentNode$blur.call(lastCurrentNode);\n }\n }\n }\n }, {\n key: \"getValidValue\",\n value: function getValidValue(e) {\n var inputValue = e.target.value;\n var allPages = calculatePage(undefined, this.state, this.props);\n var currentInputValue = this.state.currentInputValue;\n var value;\n if (inputValue === '') {\n value = inputValue;\n // eslint-disable-next-line no-restricted-globals\n } else if (Number.isNaN(Number(inputValue))) {\n value = currentInputValue;\n } else if (inputValue >= allPages) {\n value = allPages;\n } else {\n value = Number(inputValue);\n }\n return value;\n }\n }, {\n key: \"getShowSizeChanger\",\n value: function getShowSizeChanger() {\n var _this$props5 = this.props,\n showSizeChanger = _this$props5.showSizeChanger,\n total = _this$props5.total,\n totalBoundaryShowSizeChanger = _this$props5.totalBoundaryShowSizeChanger;\n if (typeof showSizeChanger !== 'undefined') {\n return showSizeChanger;\n }\n return total > totalBoundaryShowSizeChanger;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props6 = this.props,\n prefixCls = _this$props6.prefixCls,\n className = _this$props6.className,\n style = _this$props6.style,\n disabled = _this$props6.disabled,\n hideOnSinglePage = _this$props6.hideOnSinglePage,\n total = _this$props6.total,\n locale = _this$props6.locale,\n showQuickJumper = _this$props6.showQuickJumper,\n showLessItems = _this$props6.showLessItems,\n showTitle = _this$props6.showTitle,\n showTotal = _this$props6.showTotal,\n simple = _this$props6.simple,\n itemRender = _this$props6.itemRender,\n showPrevNextJumpers = _this$props6.showPrevNextJumpers,\n jumpPrevIcon = _this$props6.jumpPrevIcon,\n jumpNextIcon = _this$props6.jumpNextIcon,\n selectComponentClass = _this$props6.selectComponentClass,\n selectPrefixCls = _this$props6.selectPrefixCls,\n pageSizeOptions = _this$props6.pageSizeOptions;\n var _this$state2 = this.state,\n current = _this$state2.current,\n pageSize = _this$state2.pageSize,\n currentInputValue = _this$state2.currentInputValue;\n // When hideOnSinglePage is true and there is only 1 page, hide the pager\n if (hideOnSinglePage === true && total <= pageSize) {\n return null;\n }\n var allPages = calculatePage(undefined, this.state, this.props);\n var pagerList = [];\n var jumpPrev = null;\n var jumpNext = null;\n var firstPager = null;\n var lastPager = null;\n var gotoButton = null;\n var goButton = showQuickJumper && showQuickJumper.goButton;\n var pageBufferSize = showLessItems ? 1 : 2;\n var prevPage = current - 1 > 0 ? current - 1 : 0;\n var nextPage = current + 1 < allPages ? current + 1 : allPages;\n var dataOrAriaAttributeProps = pickAttrs(this.props, {\n aria: true,\n data: true\n });\n var totalText = showTotal && /*#__PURE__*/React.createElement(\"li\", {\n className: \"\".concat(prefixCls, \"-total-text\")\n }, showTotal(total, [total === 0 ? 0 : (current - 1) * pageSize + 1, current * pageSize > total ? total : current * pageSize]));\n if (simple) {\n if (goButton) {\n if (typeof goButton === 'boolean') {\n gotoButton = /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: this.handleGoTO,\n onKeyUp: this.handleGoTO\n }, locale.jump_to_confirm);\n } else {\n gotoButton = /*#__PURE__*/React.createElement(\"span\", {\n onClick: this.handleGoTO,\n onKeyUp: this.handleGoTO\n }, goButton);\n }\n gotoButton = /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? \"\".concat(locale.jump_to).concat(current, \"/\").concat(allPages) : null,\n className: \"\".concat(prefixCls, \"-simple-pager\")\n }, gotoButton);\n }\n var _prev = this.renderPrev(prevPage);\n return /*#__PURE__*/React.createElement(\"ul\", _extends({\n className: classNames(prefixCls, \"\".concat(prefixCls, \"-simple\"), _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), disabled), className),\n style: style,\n ref: this.paginationNode\n }, dataOrAriaAttributeProps), totalText, _prev ? /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? locale.prev_page : null,\n onClick: this.prev,\n tabIndex: this.hasPrev() ? 0 : null,\n onKeyPress: this.runIfEnterPrev,\n className: classNames(\"\".concat(prefixCls, \"-prev\"), _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), !this.hasPrev())),\n \"aria-disabled\": !this.hasPrev()\n }, _prev) : null, /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? \"\".concat(current, \"/\").concat(allPages) : null,\n className: \"\".concat(prefixCls, \"-simple-pager\")\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: \"text\",\n value: currentInputValue,\n disabled: disabled,\n onKeyDown: this.handleKeyDown,\n onKeyUp: this.handleKeyUp,\n onChange: this.handleKeyUp,\n onBlur: this.handleBlur,\n size: 3\n }), /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-slash\")\n }, \"/\"), allPages), /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? locale.next_page : null,\n onClick: this.next,\n tabIndex: this.hasPrev() ? 0 : null,\n onKeyPress: this.runIfEnterNext,\n className: classNames(\"\".concat(prefixCls, \"-next\"), _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), !this.hasNext())),\n \"aria-disabled\": !this.hasNext()\n }, this.renderNext(nextPage)), gotoButton);\n }\n if (allPages <= 3 + pageBufferSize * 2) {\n var pagerProps = {\n locale: locale,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n showTitle: showTitle,\n itemRender: itemRender\n };\n if (!allPages) {\n pagerList.push( /*#__PURE__*/React.createElement(Pager, _extends({}, pagerProps, {\n key: \"noPager\",\n page: 1,\n className: \"\".concat(prefixCls, \"-item-disabled\")\n })));\n }\n for (var i = 1; i <= allPages; i += 1) {\n var active = current === i;\n pagerList.push( /*#__PURE__*/React.createElement(Pager, _extends({}, pagerProps, {\n key: i,\n page: i,\n active: active\n })));\n }\n } else {\n var prevItemTitle = showLessItems ? locale.prev_3 : locale.prev_5;\n var nextItemTitle = showLessItems ? locale.next_3 : locale.next_5;\n var jumpPrevContent = itemRender(this.getJumpPrevPage(), 'jump-prev', this.getItemIcon(jumpPrevIcon, 'prev page'));\n var jumpNextContent = itemRender(this.getJumpNextPage(), 'jump-next', this.getItemIcon(jumpNextIcon, 'next page'));\n if (showPrevNextJumpers) {\n jumpPrev = jumpPrevContent ? /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? prevItemTitle : null,\n key: \"prev\",\n onClick: this.jumpPrev,\n tabIndex: 0,\n onKeyPress: this.runIfEnterJumpPrev,\n className: classNames(\"\".concat(prefixCls, \"-jump-prev\"), _defineProperty({}, \"\".concat(prefixCls, \"-jump-prev-custom-icon\"), !!jumpPrevIcon))\n }, jumpPrevContent) : null;\n jumpNext = jumpNextContent ? /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? nextItemTitle : null,\n key: \"next\",\n tabIndex: 0,\n onClick: this.jumpNext,\n onKeyPress: this.runIfEnterJumpNext,\n className: classNames(\"\".concat(prefixCls, \"-jump-next\"), _defineProperty({}, \"\".concat(prefixCls, \"-jump-next-custom-icon\"), !!jumpNextIcon))\n }, jumpNextContent) : null;\n }\n lastPager = /*#__PURE__*/React.createElement(Pager, {\n locale: locale,\n last: true,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n key: allPages,\n page: allPages,\n active: false,\n showTitle: showTitle,\n itemRender: itemRender\n });\n firstPager = /*#__PURE__*/React.createElement(Pager, {\n locale: locale,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n key: 1,\n page: 1,\n active: false,\n showTitle: showTitle,\n itemRender: itemRender\n });\n var left = Math.max(1, current - pageBufferSize);\n var right = Math.min(current + pageBufferSize, allPages);\n if (current - 1 <= pageBufferSize) {\n right = 1 + pageBufferSize * 2;\n }\n if (allPages - current <= pageBufferSize) {\n left = allPages - pageBufferSize * 2;\n }\n for (var _i = left; _i <= right; _i += 1) {\n var _active = current === _i;\n pagerList.push( /*#__PURE__*/React.createElement(Pager, {\n locale: locale,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n key: _i,\n page: _i,\n active: _active,\n showTitle: showTitle,\n itemRender: itemRender\n }));\n }\n if (current - 1 >= pageBufferSize * 2 && current !== 1 + 2) {\n pagerList[0] = /*#__PURE__*/cloneElement(pagerList[0], {\n className: \"\".concat(prefixCls, \"-item-after-jump-prev\")\n });\n pagerList.unshift(jumpPrev);\n }\n if (allPages - current >= pageBufferSize * 2 && current !== allPages - 2) {\n pagerList[pagerList.length - 1] = /*#__PURE__*/cloneElement(pagerList[pagerList.length - 1], {\n className: \"\".concat(prefixCls, \"-item-before-jump-next\")\n });\n pagerList.push(jumpNext);\n }\n if (left !== 1) {\n pagerList.unshift(firstPager);\n }\n if (right !== allPages) {\n pagerList.push(lastPager);\n }\n }\n var prevDisabled = !this.hasPrev() || !allPages;\n var nextDisabled = !this.hasNext() || !allPages;\n var prev = this.renderPrev(prevPage);\n var next = this.renderNext(nextPage);\n return /*#__PURE__*/React.createElement(\"ul\", _extends({\n className: classNames(prefixCls, className, _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), disabled)),\n style: style,\n ref: this.paginationNode\n }, dataOrAriaAttributeProps), totalText, prev ? /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? locale.prev_page : null,\n onClick: this.prev,\n tabIndex: prevDisabled ? null : 0,\n onKeyPress: this.runIfEnterPrev,\n className: classNames(\"\".concat(prefixCls, \"-prev\"), _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), prevDisabled)),\n \"aria-disabled\": prevDisabled\n }, prev) : null, pagerList, next ? /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? locale.next_page : null,\n onClick: this.next,\n tabIndex: nextDisabled ? null : 0,\n onKeyPress: this.runIfEnterNext,\n className: classNames(\"\".concat(prefixCls, \"-next\"), _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), nextDisabled)),\n \"aria-disabled\": nextDisabled\n }, next) : null, /*#__PURE__*/React.createElement(Options, {\n disabled: disabled,\n locale: locale,\n rootPrefixCls: prefixCls,\n selectComponentClass: selectComponentClass,\n selectPrefixCls: selectPrefixCls,\n changeSize: this.getShowSizeChanger() ? this.changePageSize : null,\n current: current,\n pageSize: pageSize,\n pageSizeOptions: pageSizeOptions,\n quickGo: this.shouldDisplayQuickJumper() ? this.handleChange : null,\n goButton: goButton\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, prevState) {\n var newState = {};\n if ('current' in props) {\n newState.current = props.current;\n if (props.current !== prevState.current) {\n newState.currentInputValue = newState.current;\n }\n }\n if ('pageSize' in props && props.pageSize !== prevState.pageSize) {\n var current = prevState.current;\n var newCurrent = calculatePage(props.pageSize, prevState, props);\n current = current > newCurrent ? newCurrent : current;\n if (!('current' in props)) {\n newState.current = current;\n newState.currentInputValue = current;\n }\n newState.pageSize = props.pageSize;\n }\n return newState;\n }\n }]);\n return Pagination;\n}(React.Component);\nPagination.defaultProps = {\n defaultCurrent: 1,\n total: 0,\n defaultPageSize: 10,\n onChange: noop,\n className: '',\n selectPrefixCls: 'rc-select',\n prefixCls: 'rc-pagination',\n selectComponentClass: null,\n hideOnSinglePage: false,\n showPrevNextJumpers: true,\n showQuickJumper: false,\n showLessItems: false,\n showTitle: true,\n onShowSizeChange: noop,\n locale: LOCALE,\n style: {},\n itemRender: defaultItemRender,\n totalBoundaryShowSizeChanger: 50\n};\nexport default Pagination;","import * as React from 'react';\nimport Select from '../select';\nconst MiniSelect = props => /*#__PURE__*/React.createElement(Select, Object.assign({}, props, {\n showSearch: true,\n size: \"small\"\n}));\nconst MiddleSelect = props => /*#__PURE__*/React.createElement(Select, Object.assign({}, props, {\n showSearch: true,\n size: \"middle\"\n}));\nMiniSelect.Option = Select.Option;\nMiddleSelect.Option = Select.Option;\nexport { MiniSelect, MiddleSelect };","import { genBasicInputStyle, genInputSmallStyle, initInputToken } from '../../input/style';\nimport { genFocusOutline, genFocusStyle, resetComponent } from '../../style';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nconst genPaginationDisabledStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-disabled`]: {\n '&, &:hover': {\n cursor: 'not-allowed',\n [`${componentCls}-item-link`]: {\n color: token.colorTextDisabled,\n cursor: 'not-allowed'\n }\n },\n '&:focus-visible': {\n cursor: 'not-allowed',\n [`${componentCls}-item-link`]: {\n color: token.colorTextDisabled,\n cursor: 'not-allowed'\n }\n }\n },\n [`&${componentCls}-disabled`]: {\n cursor: 'not-allowed',\n [`${componentCls}-item`]: {\n cursor: 'not-allowed',\n '&:hover, &:active': {\n backgroundColor: 'transparent'\n },\n a: {\n color: token.colorTextDisabled,\n backgroundColor: 'transparent',\n border: 'none',\n cursor: 'not-allowed'\n },\n '&-active': {\n borderColor: token.colorBorder,\n backgroundColor: token.itemActiveBgDisabled,\n '&:hover, &:active': {\n backgroundColor: token.itemActiveBgDisabled\n },\n a: {\n color: token.itemActiveColorDisabled\n }\n }\n },\n [`${componentCls}-item-link`]: {\n color: token.colorTextDisabled,\n cursor: 'not-allowed',\n '&:hover, &:active': {\n backgroundColor: 'transparent'\n },\n [`${componentCls}-simple&`]: {\n backgroundColor: 'transparent',\n '&:hover, &:active': {\n backgroundColor: 'transparent'\n }\n }\n },\n [`${componentCls}-simple-pager`]: {\n color: token.colorTextDisabled\n },\n [`${componentCls}-jump-prev, ${componentCls}-jump-next`]: {\n [`${componentCls}-item-link-icon`]: {\n opacity: 0\n },\n [`${componentCls}-item-ellipsis`]: {\n opacity: 1\n }\n }\n },\n [`&${componentCls}-simple`]: {\n [`${componentCls}-prev, ${componentCls}-next`]: {\n [`&${componentCls}-disabled ${componentCls}-item-link`]: {\n '&:hover, &:active': {\n backgroundColor: 'transparent'\n }\n }\n }\n }\n };\n};\nconst genPaginationMiniStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`&${componentCls}-mini ${componentCls}-total-text, &${componentCls}-mini ${componentCls}-simple-pager`]: {\n height: token.itemSizeSM,\n lineHeight: `${token.itemSizeSM}px`\n },\n [`&${componentCls}-mini ${componentCls}-item`]: {\n minWidth: token.itemSizeSM,\n height: token.itemSizeSM,\n margin: 0,\n lineHeight: `${token.itemSizeSM - 2}px`\n },\n [`&${componentCls}-mini:not(${componentCls}-disabled) ${componentCls}-item:not(${componentCls}-item-active)`]: {\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n '&:hover': {\n backgroundColor: token.colorBgTextHover\n },\n '&:active': {\n backgroundColor: token.colorBgTextActive\n }\n },\n [`&${componentCls}-mini ${componentCls}-prev, &${componentCls}-mini ${componentCls}-next`]: {\n minWidth: token.itemSizeSM,\n height: token.itemSizeSM,\n margin: 0,\n lineHeight: `${token.itemSizeSM}px`\n },\n [`&${componentCls}-mini:not(${componentCls}-disabled)`]: {\n [`${componentCls}-prev, ${componentCls}-next`]: {\n [`&:hover ${componentCls}-item-link`]: {\n backgroundColor: token.colorBgTextHover\n },\n [`&:active ${componentCls}-item-link`]: {\n backgroundColor: token.colorBgTextActive\n },\n [`&${componentCls}-disabled:hover ${componentCls}-item-link`]: {\n backgroundColor: 'transparent'\n }\n }\n },\n [`\n &${componentCls}-mini ${componentCls}-prev ${componentCls}-item-link,\n &${componentCls}-mini ${componentCls}-next ${componentCls}-item-link\n `]: {\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n '&::after': {\n height: token.itemSizeSM,\n lineHeight: `${token.itemSizeSM}px`\n }\n },\n [`&${componentCls}-mini ${componentCls}-jump-prev, &${componentCls}-mini ${componentCls}-jump-next`]: {\n height: token.itemSizeSM,\n marginInlineEnd: 0,\n lineHeight: `${token.itemSizeSM}px`\n },\n [`&${componentCls}-mini ${componentCls}-options`]: {\n marginInlineStart: token.paginationMiniOptionsMarginInlineStart,\n [`&-size-changer`]: {\n top: token.miniOptionsSizeChangerTop\n },\n [`&-quick-jumper`]: {\n height: token.itemSizeSM,\n lineHeight: `${token.itemSizeSM}px`,\n input: Object.assign(Object.assign({}, genInputSmallStyle(token)), {\n width: token.paginationMiniQuickJumperInputWidth,\n height: token.controlHeightSM\n })\n }\n }\n };\n};\nconst genPaginationSimpleStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`\n &${componentCls}-simple ${componentCls}-prev,\n &${componentCls}-simple ${componentCls}-next\n `]: {\n height: token.itemSizeSM,\n lineHeight: `${token.itemSizeSM}px`,\n verticalAlign: 'top',\n [`${componentCls}-item-link`]: {\n height: token.itemSizeSM,\n backgroundColor: 'transparent',\n border: 0,\n '&:hover': {\n backgroundColor: token.colorBgTextHover\n },\n '&:active': {\n backgroundColor: token.colorBgTextActive\n },\n '&::after': {\n height: token.itemSizeSM,\n lineHeight: `${token.itemSizeSM}px`\n }\n }\n },\n [`&${componentCls}-simple ${componentCls}-simple-pager`]: {\n display: 'inline-block',\n height: token.itemSizeSM,\n marginInlineEnd: token.marginXS,\n input: {\n boxSizing: 'border-box',\n height: '100%',\n marginInlineEnd: token.marginXS,\n padding: `0 ${token.paginationItemPaddingInline}px`,\n textAlign: 'center',\n backgroundColor: token.itemInputBg,\n border: `${token.lineWidth}px ${token.lineType} ${token.colorBorder}`,\n borderRadius: token.borderRadius,\n outline: 'none',\n transition: `border-color ${token.motionDurationMid}`,\n color: 'inherit',\n '&:hover': {\n borderColor: token.colorPrimary\n },\n '&:focus': {\n borderColor: token.colorPrimaryHover,\n boxShadow: `${token.inputOutlineOffset}px 0 ${token.controlOutlineWidth}px ${token.controlOutline}`\n },\n '&[disabled]': {\n color: token.colorTextDisabled,\n backgroundColor: token.colorBgContainerDisabled,\n borderColor: token.colorBorder,\n cursor: 'not-allowed'\n }\n }\n }\n };\n};\nconst genPaginationJumpStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-jump-prev, ${componentCls}-jump-next`]: {\n outline: 0,\n [`${componentCls}-item-container`]: {\n position: 'relative',\n [`${componentCls}-item-link-icon`]: {\n color: token.colorPrimary,\n fontSize: token.fontSizeSM,\n opacity: 0,\n transition: `all ${token.motionDurationMid}`,\n '&-svg': {\n top: 0,\n insetInlineEnd: 0,\n bottom: 0,\n insetInlineStart: 0,\n margin: 'auto'\n }\n },\n [`${componentCls}-item-ellipsis`]: {\n position: 'absolute',\n top: 0,\n insetInlineEnd: 0,\n bottom: 0,\n insetInlineStart: 0,\n display: 'block',\n margin: 'auto',\n color: token.colorTextDisabled,\n fontFamily: 'Arial, Helvetica, sans-serif',\n letterSpacing: token.paginationEllipsisLetterSpacing,\n textAlign: 'center',\n textIndent: token.paginationEllipsisTextIndent,\n opacity: 1,\n transition: `all ${token.motionDurationMid}`\n }\n },\n '&:hover': {\n [`${componentCls}-item-link-icon`]: {\n opacity: 1\n },\n [`${componentCls}-item-ellipsis`]: {\n opacity: 0\n }\n }\n },\n [`\n ${componentCls}-prev,\n ${componentCls}-jump-prev,\n ${componentCls}-jump-next\n `]: {\n marginInlineEnd: token.marginXS\n },\n [`\n ${componentCls}-prev,\n ${componentCls}-next,\n ${componentCls}-jump-prev,\n ${componentCls}-jump-next\n `]: {\n display: 'inline-block',\n minWidth: token.itemSize,\n height: token.itemSize,\n color: token.colorText,\n fontFamily: token.fontFamily,\n lineHeight: `${token.itemSize}px`,\n textAlign: 'center',\n verticalAlign: 'middle',\n listStyle: 'none',\n borderRadius: token.borderRadius,\n cursor: 'pointer',\n transition: `all ${token.motionDurationMid}`\n },\n [`${componentCls}-prev, ${componentCls}-next`]: {\n fontFamily: 'Arial, Helvetica, sans-serif',\n outline: 0,\n button: {\n color: token.colorText,\n cursor: 'pointer',\n userSelect: 'none'\n },\n [`${componentCls}-item-link`]: {\n display: 'block',\n width: '100%',\n height: '100%',\n padding: 0,\n fontSize: token.fontSizeSM,\n textAlign: 'center',\n backgroundColor: 'transparent',\n border: `${token.lineWidth}px ${token.lineType} transparent`,\n borderRadius: token.borderRadius,\n outline: 'none',\n transition: `all ${token.motionDurationMid}`\n },\n [`&:hover ${componentCls}-item-link`]: {\n backgroundColor: token.colorBgTextHover\n },\n [`&:active ${componentCls}-item-link`]: {\n backgroundColor: token.colorBgTextActive\n },\n [`&${componentCls}-disabled:hover`]: {\n [`${componentCls}-item-link`]: {\n backgroundColor: 'transparent'\n }\n }\n },\n [`${componentCls}-slash`]: {\n marginInlineEnd: token.paginationSlashMarginInlineEnd,\n marginInlineStart: token.paginationSlashMarginInlineStart\n },\n [`${componentCls}-options`]: {\n display: 'inline-block',\n marginInlineStart: token.margin,\n verticalAlign: 'middle',\n '&-size-changer.-select': {\n display: 'inline-block',\n width: 'auto'\n },\n '&-quick-jumper': {\n display: 'inline-block',\n height: token.controlHeight,\n marginInlineStart: token.marginXS,\n lineHeight: `${token.controlHeight}px`,\n verticalAlign: 'top',\n input: Object.assign(Object.assign({}, genBasicInputStyle(token)), {\n width: token.controlHeightLG * 1.25,\n height: token.controlHeight,\n boxSizing: 'border-box',\n margin: 0,\n marginInlineStart: token.marginXS,\n marginInlineEnd: token.marginXS\n })\n }\n }\n };\n};\nconst genPaginationItemStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-item`]: {\n display: 'inline-block',\n minWidth: token.itemSize,\n height: token.itemSize,\n marginInlineEnd: token.marginXS,\n fontFamily: token.fontFamily,\n lineHeight: `${token.itemSize - 2}px`,\n textAlign: 'center',\n verticalAlign: 'middle',\n listStyle: 'none',\n backgroundColor: 'transparent',\n border: `${token.lineWidth}px ${token.lineType} transparent`,\n borderRadius: token.borderRadius,\n outline: 0,\n cursor: 'pointer',\n userSelect: 'none',\n a: {\n display: 'block',\n padding: `0 ${token.paginationItemPaddingInline}px`,\n color: token.colorText,\n '&:hover': {\n textDecoration: 'none'\n }\n },\n [`&:not(${componentCls}-item-active)`]: {\n '&:hover': {\n transition: `all ${token.motionDurationMid}`,\n backgroundColor: token.colorBgTextHover\n },\n '&:active': {\n backgroundColor: token.colorBgTextActive\n }\n },\n '&-active': {\n fontWeight: token.fontWeightStrong,\n backgroundColor: token.itemActiveBg,\n borderColor: token.colorPrimary,\n a: {\n color: token.colorPrimary\n },\n '&:hover': {\n borderColor: token.colorPrimaryHover\n },\n '&:hover a': {\n color: token.colorPrimaryHover\n }\n }\n }\n };\n};\nconst genPaginationStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [componentCls]: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, resetComponent(token)), {\n 'ul, ol': {\n margin: 0,\n padding: 0,\n listStyle: 'none'\n },\n '&::after': {\n display: 'block',\n clear: 'both',\n height: 0,\n overflow: 'hidden',\n visibility: 'hidden',\n content: '\"\"'\n },\n [`${componentCls}-total-text`]: {\n display: 'inline-block',\n height: token.itemSize,\n marginInlineEnd: token.marginXS,\n lineHeight: `${token.itemSize - 2}px`,\n verticalAlign: 'middle'\n }\n }), genPaginationItemStyle(token)), genPaginationJumpStyle(token)), genPaginationSimpleStyle(token)), genPaginationMiniStyle(token)), genPaginationDisabledStyle(token)), {\n // media query style\n [`@media only screen and (max-width: ${token.screenLG}px)`]: {\n [`${componentCls}-item`]: {\n '&-after-jump-prev, &-before-jump-next': {\n display: 'none'\n }\n }\n },\n [`@media only screen and (max-width: ${token.screenSM}px)`]: {\n [`${componentCls}-options`]: {\n display: 'none'\n }\n }\n }),\n // rtl style\n [`&${token.componentCls}-rtl`]: {\n direction: 'rtl'\n }\n };\n};\nconst genBorderedStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}${componentCls}-disabled:not(${componentCls}-mini)`]: {\n '&, &:hover': {\n [`${componentCls}-item-link`]: {\n borderColor: token.colorBorder\n }\n },\n '&:focus-visible': {\n [`${componentCls}-item-link`]: {\n borderColor: token.colorBorder\n }\n },\n [`${componentCls}-item, ${componentCls}-item-link`]: {\n backgroundColor: token.colorBgContainerDisabled,\n borderColor: token.colorBorder,\n [`&:hover:not(${componentCls}-item-active)`]: {\n backgroundColor: token.colorBgContainerDisabled,\n borderColor: token.colorBorder,\n a: {\n color: token.colorTextDisabled\n }\n },\n [`&${componentCls}-item-active`]: {\n backgroundColor: token.itemActiveBgDisabled\n }\n },\n [`${componentCls}-prev, ${componentCls}-next`]: {\n '&:hover button': {\n backgroundColor: token.colorBgContainerDisabled,\n borderColor: token.colorBorder,\n color: token.colorTextDisabled\n },\n [`${componentCls}-item-link`]: {\n backgroundColor: token.colorBgContainerDisabled,\n borderColor: token.colorBorder\n }\n }\n },\n [`${componentCls}:not(${componentCls}-mini)`]: {\n [`${componentCls}-prev, ${componentCls}-next`]: {\n '&:hover button': {\n borderColor: token.colorPrimaryHover,\n backgroundColor: token.itemBg\n },\n [`${componentCls}-item-link`]: {\n backgroundColor: token.itemLinkBg,\n borderColor: token.colorBorder\n },\n [`&:hover ${componentCls}-item-link`]: {\n borderColor: token.colorPrimary,\n backgroundColor: token.itemBg,\n color: token.colorPrimary\n },\n [`&${componentCls}-disabled`]: {\n [`${componentCls}-item-link`]: {\n borderColor: token.colorBorder,\n color: token.colorTextDisabled\n }\n }\n },\n [`${componentCls}-item`]: {\n backgroundColor: token.itemBg,\n border: `${token.lineWidth}px ${token.lineType} ${token.colorBorder}`,\n [`&:hover:not(${componentCls}-item-active)`]: {\n borderColor: token.colorPrimary,\n backgroundColor: token.itemBg,\n a: {\n color: token.colorPrimary\n }\n },\n '&-active': {\n borderColor: token.colorPrimary\n }\n }\n }\n };\n};\nconst genPaginationFocusStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}:not(${componentCls}-disabled)`]: {\n [`${componentCls}-item`]: Object.assign({}, genFocusStyle(token)),\n [`${componentCls}-jump-prev, ${componentCls}-jump-next`]: {\n '&:focus-visible': Object.assign({\n [`${componentCls}-item-link-icon`]: {\n opacity: 1\n },\n [`${componentCls}-item-ellipsis`]: {\n opacity: 0\n }\n }, genFocusOutline(token))\n },\n [`${componentCls}-prev, ${componentCls}-next`]: {\n [`&:focus-visible ${componentCls}-item-link`]: Object.assign({}, genFocusOutline(token))\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Pagination', token => {\n const paginationToken = mergeToken(token, {\n inputOutlineOffset: 0,\n paginationMiniOptionsMarginInlineStart: token.marginXXS / 2,\n paginationMiniQuickJumperInputWidth: token.controlHeightLG * 1.1,\n paginationItemPaddingInline: token.marginXXS * 1.5,\n paginationEllipsisLetterSpacing: token.marginXXS / 2,\n paginationSlashMarginInlineStart: token.marginXXS,\n paginationSlashMarginInlineEnd: token.marginSM,\n paginationEllipsisTextIndent: '0.13em' // magic for ui experience\n }, initInputToken(token));\n return [genPaginationStyle(paginationToken), genPaginationFocusStyle(paginationToken), token.wireframe && genBorderedStyle(paginationToken)];\n}, token => ({\n itemBg: token.colorBgContainer,\n itemSize: token.controlHeight,\n itemSizeSM: token.controlHeightSM,\n itemActiveBg: token.colorBgContainer,\n itemLinkBg: token.colorBgContainer,\n itemActiveColorDisabled: token.colorTextDisabled,\n itemActiveBgDisabled: token.controlItemBgActiveDisabled,\n itemInputBg: token.colorBgContainer,\n miniOptionsSizeChangerTop: 0\n}));","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport DoubleLeftOutlined from \"@ant-design/icons/es/icons/DoubleLeftOutlined\";\nimport DoubleRightOutlined from \"@ant-design/icons/es/icons/DoubleRightOutlined\";\nimport LeftOutlined from \"@ant-design/icons/es/icons/LeftOutlined\";\nimport RightOutlined from \"@ant-design/icons/es/icons/RightOutlined\";\nimport classNames from 'classnames';\nimport RcPagination from 'rc-pagination';\nimport enUS from \"rc-pagination/es/locale/en_US\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useSize from '../config-provider/hooks/useSize';\nimport useBreakpoint from '../grid/hooks/useBreakpoint';\nimport { useLocale } from '../locale';\nimport { MiddleSelect, MiniSelect } from './Select';\nimport useStyle from './style';\nconst Pagination = props => {\n const {\n prefixCls: customizePrefixCls,\n selectPrefixCls: customizeSelectPrefixCls,\n className,\n rootClassName,\n style,\n size: customizeSize,\n locale: customLocale,\n selectComponentClass,\n responsive,\n showSizeChanger\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"selectPrefixCls\", \"className\", \"rootClassName\", \"style\", \"size\", \"locale\", \"selectComponentClass\", \"responsive\", \"showSizeChanger\"]);\n const {\n xs\n } = useBreakpoint(responsive);\n const {\n getPrefixCls,\n direction,\n pagination = {}\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('pagination', customizePrefixCls);\n // Style\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const mergedShowSizeChanger = showSizeChanger !== null && showSizeChanger !== void 0 ? showSizeChanger : pagination.showSizeChanger;\n const iconsProps = React.useMemo(() => {\n const ellipsis = /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-item-ellipsis`\n }, \"\\u2022\\u2022\\u2022\");\n const prevIcon = /*#__PURE__*/React.createElement(\"button\", {\n className: `${prefixCls}-item-link`,\n type: \"button\",\n tabIndex: -1\n }, direction === 'rtl' ? /*#__PURE__*/React.createElement(RightOutlined, null) : /*#__PURE__*/React.createElement(LeftOutlined, null));\n const nextIcon = /*#__PURE__*/React.createElement(\"button\", {\n className: `${prefixCls}-item-link`,\n type: \"button\",\n tabIndex: -1\n }, direction === 'rtl' ? /*#__PURE__*/React.createElement(LeftOutlined, null) : /*#__PURE__*/React.createElement(RightOutlined, null));\n const jumpPrevIcon = /*#__PURE__*/React.createElement(\"a\", {\n className: `${prefixCls}-item-link`\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-item-container`\n }, direction === 'rtl' ? /*#__PURE__*/React.createElement(DoubleRightOutlined, {\n className: `${prefixCls}-item-link-icon`\n }) : /*#__PURE__*/React.createElement(DoubleLeftOutlined, {\n className: `${prefixCls}-item-link-icon`\n }), ellipsis));\n const jumpNextIcon = /*#__PURE__*/React.createElement(\"a\", {\n className: `${prefixCls}-item-link`\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-item-container`\n }, direction === 'rtl' ? /*#__PURE__*/React.createElement(DoubleLeftOutlined, {\n className: `${prefixCls}-item-link-icon`\n }) : /*#__PURE__*/React.createElement(DoubleRightOutlined, {\n className: `${prefixCls}-item-link-icon`\n }), ellipsis));\n return {\n prevIcon,\n nextIcon,\n jumpPrevIcon,\n jumpNextIcon\n };\n }, [direction, prefixCls]);\n const [contextLocale] = useLocale('Pagination', enUS);\n const locale = Object.assign(Object.assign({}, contextLocale), customLocale);\n const mergedSize = useSize(customizeSize);\n const isSmall = mergedSize === 'small' || !!(xs && !mergedSize && responsive);\n const selectPrefixCls = getPrefixCls('select', customizeSelectPrefixCls);\n const extendedClassName = classNames({\n [`${prefixCls}-mini`]: isSmall,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, pagination === null || pagination === void 0 ? void 0 : pagination.className, className, rootClassName, hashId);\n const mergedStyle = Object.assign(Object.assign({}, pagination === null || pagination === void 0 ? void 0 : pagination.style), style);\n return wrapSSR( /*#__PURE__*/React.createElement(RcPagination, Object.assign({}, iconsProps, restProps, {\n style: mergedStyle,\n prefixCls: prefixCls,\n selectPrefixCls: selectPrefixCls,\n className: extendedClassName,\n selectComponentClass: selectComponentClass || (isSmall ? MiniSelect : MiddleSelect),\n locale: locale,\n showSizeChanger: mergedShowSizeChanger\n })));\n};\nif (process.env.NODE_ENV !== 'production') {\n Pagination.displayName = 'Pagination';\n}\nexport default Pagination;","'use client';\n\nimport Pagination from './Pagination';\nexport default Pagination;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport { Popup } from 'rc-tooltip';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport { getRenderPropValue } from '../_util/getRenderPropValue';\nimport useStyle from './style';\nexport const getOverlay = (prefixCls, title, content) => {\n if (!title && !content) return undefined;\n return /*#__PURE__*/React.createElement(React.Fragment, null, title && /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-title`\n }, getRenderPropValue(title)), /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-inner-content`\n }, getRenderPropValue(content)));\n};\nexport const RawPurePanel = props => {\n const {\n hashId,\n prefixCls,\n className,\n style,\n placement = 'top',\n title,\n content,\n children\n } = props;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(hashId, prefixCls, `${prefixCls}-pure`, `${prefixCls}-placement-${placement}`, className),\n style: style\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-arrow`\n }), /*#__PURE__*/React.createElement(Popup, Object.assign({}, props, {\n className: hashId,\n prefixCls: prefixCls\n }), children || getOverlay(prefixCls, title, content)));\n};\nconst PurePanel = props => {\n const {\n prefixCls: customizePrefixCls\n } = props,\n restProps = __rest(props, [\"prefixCls\"]);\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('popover', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n return wrapSSR( /*#__PURE__*/React.createElement(RawPurePanel, Object.assign({}, restProps, {\n prefixCls: prefixCls,\n hashId: hashId\n })));\n};\nexport default PurePanel;","'use client';\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { getRenderPropValue } from '../_util/getRenderPropValue';\nimport { getTransitionName } from '../_util/motion';\nimport { ConfigContext } from '../config-provider';\nimport Tooltip from '../tooltip';\nimport PurePanel from './PurePanel';\n// CSSINJS\nimport useStyle from './style';\nconst Overlay = _ref => {\n let {\n title,\n content,\n prefixCls\n } = _ref;\n return /*#__PURE__*/React.createElement(React.Fragment, null, title && /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-title`\n }, getRenderPropValue(title)), /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-inner-content`\n }, getRenderPropValue(content)));\n};\nconst Popover = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n prefixCls: customizePrefixCls,\n title,\n content,\n overlayClassName,\n placement = 'top',\n trigger = 'hover',\n mouseEnterDelay = 0.1,\n mouseLeaveDelay = 0.1,\n overlayStyle = {}\n } = props,\n otherProps = __rest(props, [\"prefixCls\", \"title\", \"content\", \"overlayClassName\", \"placement\", \"trigger\", \"mouseEnterDelay\", \"mouseLeaveDelay\", \"overlayStyle\"]);\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('popover', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const rootPrefixCls = getPrefixCls();\n const overlayCls = classNames(overlayClassName, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(Tooltip, Object.assign({\n placement: placement,\n trigger: trigger,\n mouseEnterDelay: mouseEnterDelay,\n mouseLeaveDelay: mouseLeaveDelay,\n overlayStyle: overlayStyle\n }, otherProps, {\n prefixCls: prefixCls,\n overlayClassName: overlayCls,\n ref: ref,\n overlay: title || content ? /*#__PURE__*/React.createElement(Overlay, {\n prefixCls: prefixCls,\n title: title,\n content: content\n }) : null,\n transitionName: getTransitionName(rootPrefixCls, 'zoom-big', otherProps.transitionName),\n \"data-popover-inject\": true\n })));\n});\nif (process.env.NODE_ENV !== 'production') {\n Popover.displayName = 'Popover';\n}\nPopover._InternalPanelDoNotUseOrYouWillBeFired = PurePanel;\nexport default Popover;","import { resetComponent } from '../../style';\nimport { initZoomMotion } from '../../style/motion';\nimport getArrowStyle from '../../style/placementArrow';\nimport { PresetColors, genComponentStyleHook, mergeToken } from '../../theme/internal';\nconst genBaseStyle = token => {\n const {\n componentCls,\n popoverColor,\n minWidth,\n fontWeightStrong,\n popoverPadding,\n boxShadowSecondary,\n colorTextHeading,\n borderRadiusLG: borderRadius,\n zIndexPopup,\n marginXS,\n colorBgElevated,\n popoverBg\n } = token;\n return [{\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'absolute',\n top: 0,\n // use `left` to fix https://github.com/ant-design/ant-design/issues/39195\n left: {\n _skip_check_: true,\n value: 0\n },\n zIndex: zIndexPopup,\n fontWeight: 'normal',\n whiteSpace: 'normal',\n textAlign: 'start',\n cursor: 'auto',\n userSelect: 'text',\n transformOrigin: `var(--arrow-x, 50%) var(--arrow-y, 50%)`,\n '--antd-arrow-background-color': colorBgElevated,\n '&-rtl': {\n direction: 'rtl'\n },\n '&-hidden': {\n display: 'none'\n },\n [`${componentCls}-content`]: {\n position: 'relative'\n },\n [`${componentCls}-inner`]: {\n backgroundColor: popoverBg,\n backgroundClip: 'padding-box',\n borderRadius,\n boxShadow: boxShadowSecondary,\n padding: popoverPadding\n },\n [`${componentCls}-title`]: {\n minWidth,\n marginBottom: marginXS,\n color: colorTextHeading,\n fontWeight: fontWeightStrong\n },\n [`${componentCls}-inner-content`]: {\n color: popoverColor\n }\n })\n },\n // Arrow Style\n getArrowStyle(token, {\n colorBg: 'var(--antd-arrow-background-color)'\n }),\n // Pure Render\n {\n [`${componentCls}-pure`]: {\n position: 'relative',\n maxWidth: 'none',\n margin: token.sizePopupArrow,\n display: 'inline-block',\n [`${componentCls}-content`]: {\n display: 'inline-block'\n }\n }\n }];\n};\nconst genColorStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [componentCls]: PresetColors.map(colorKey => {\n const lightColor = token[`${colorKey}6`];\n return {\n [`&${componentCls}-${colorKey}`]: {\n '--antd-arrow-background-color': lightColor,\n [`${componentCls}-inner`]: {\n backgroundColor: lightColor\n },\n [`${componentCls}-arrow`]: {\n background: 'transparent'\n }\n }\n };\n })\n };\n};\nconst genWireframeStyle = token => {\n const {\n componentCls,\n lineWidth,\n lineType,\n colorSplit,\n paddingSM,\n controlHeight,\n fontSize,\n lineHeight,\n padding\n } = token;\n const titlePaddingBlockDist = controlHeight - Math.round(fontSize * lineHeight);\n const popoverTitlePaddingBlockTop = titlePaddingBlockDist / 2;\n const popoverTitlePaddingBlockBottom = titlePaddingBlockDist / 2 - lineWidth;\n const popoverPaddingHorizontal = padding;\n return {\n [componentCls]: {\n [`${componentCls}-inner`]: {\n padding: 0\n },\n [`${componentCls}-title`]: {\n margin: 0,\n padding: `${popoverTitlePaddingBlockTop}px ${popoverPaddingHorizontal}px ${popoverTitlePaddingBlockBottom}px`,\n borderBottom: `${lineWidth}px ${lineType} ${colorSplit}`\n },\n [`${componentCls}-inner-content`]: {\n padding: `${paddingSM}px ${popoverPaddingHorizontal}px`\n }\n }\n };\n};\nexport default genComponentStyleHook('Popover', token => {\n const {\n colorBgElevated,\n colorText,\n wireframe\n } = token;\n const popoverToken = mergeToken(token, {\n popoverPadding: 12,\n popoverBg: colorBgElevated,\n popoverColor: colorText\n });\n return [genBaseStyle(popoverToken), genColorStyle(popoverToken), wireframe && genWireframeStyle(popoverToken), initZoomMotion(popoverToken, 'zoom-big')];\n}, token => ({\n width: 177,\n minWidth: 177,\n zIndexPopup: token.zIndexPopupBase + 30\n}), {\n deprecatedTokens: [['width', 'minWidth']]\n});","import { useRef, useEffect } from 'react';\nexport var defaultProps = {\n percent: 0,\n prefixCls: 'rc-progress',\n strokeColor: '#2db7f5',\n strokeLinecap: 'round',\n strokeWidth: 1,\n trailColor: '#D9D9D9',\n trailWidth: 1,\n gapPosition: 'bottom'\n};\nexport var useTransitionDuration = function useTransitionDuration() {\n var pathsRef = useRef([]);\n var prevTimeStamp = useRef(null);\n useEffect(function () {\n var now = Date.now();\n var updated = false;\n pathsRef.current.forEach(function (path) {\n if (!path) {\n return;\n }\n updated = true;\n var pathStyle = path.style;\n pathStyle.transitionDuration = '.3s, .3s, .3s, .06s';\n if (prevTimeStamp.current && now - prevTimeStamp.current < 100) {\n pathStyle.transitionDuration = '0s, 0s';\n }\n });\n if (updated) {\n prevTimeStamp.current = Date.now();\n }\n });\n return pathsRef.current;\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"className\", \"percent\", \"prefixCls\", \"strokeColor\", \"strokeLinecap\", \"strokeWidth\", \"style\", \"trailColor\", \"trailWidth\", \"transition\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useTransitionDuration, defaultProps } from './common';\nvar Line = function Line(props) {\n var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),\n className = _defaultProps$props.className,\n percent = _defaultProps$props.percent,\n prefixCls = _defaultProps$props.prefixCls,\n strokeColor = _defaultProps$props.strokeColor,\n strokeLinecap = _defaultProps$props.strokeLinecap,\n strokeWidth = _defaultProps$props.strokeWidth,\n style = _defaultProps$props.style,\n trailColor = _defaultProps$props.trailColor,\n trailWidth = _defaultProps$props.trailWidth,\n transition = _defaultProps$props.transition,\n restProps = _objectWithoutProperties(_defaultProps$props, _excluded);\n // eslint-disable-next-line no-param-reassign\n delete restProps.gapPosition;\n var percentList = Array.isArray(percent) ? percent : [percent];\n var strokeColorList = Array.isArray(strokeColor) ? strokeColor : [strokeColor];\n var paths = useTransitionDuration();\n var center = strokeWidth / 2;\n var right = 100 - strokeWidth / 2;\n var pathString = \"M \".concat(strokeLinecap === 'round' ? center : 0, \",\").concat(center, \"\\n L \").concat(strokeLinecap === 'round' ? right : 100, \",\").concat(center);\n var viewBoxString = \"0 0 100 \".concat(strokeWidth);\n var stackPtg = 0;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n className: classNames(\"\".concat(prefixCls, \"-line\"), className),\n viewBox: viewBoxString,\n preserveAspectRatio: \"none\",\n style: style\n }, restProps), /*#__PURE__*/React.createElement(\"path\", {\n className: \"\".concat(prefixCls, \"-line-trail\"),\n d: pathString,\n strokeLinecap: strokeLinecap,\n stroke: trailColor,\n strokeWidth: trailWidth || strokeWidth,\n fillOpacity: \"0\"\n }), percentList.map(function (ptg, index) {\n var dashPercent = 1;\n switch (strokeLinecap) {\n case 'round':\n dashPercent = 1 - strokeWidth / 100;\n break;\n case 'square':\n dashPercent = 1 - strokeWidth / 2 / 100;\n break;\n default:\n dashPercent = 1;\n break;\n }\n var pathStyle = {\n strokeDasharray: \"\".concat(ptg * dashPercent, \"px, 100px\"),\n strokeDashoffset: \"-\".concat(stackPtg, \"px\"),\n transition: transition || 'stroke-dashoffset 0.3s ease 0s, stroke-dasharray .3s ease 0s, stroke 0.3s linear'\n };\n var color = strokeColorList[index] || strokeColorList[strokeColorList.length - 1];\n stackPtg += ptg;\n return /*#__PURE__*/React.createElement(\"path\", {\n key: index,\n className: \"\".concat(prefixCls, \"-line-path\"),\n d: pathString,\n strokeLinecap: strokeLinecap,\n stroke: color,\n strokeWidth: strokeWidth,\n fillOpacity: \"0\",\n ref: function ref(elem) {\n // https://reactjs.org/docs/refs-and-the-dom.html#callback-refs\n // React will call the ref callback with the DOM element when the component mounts,\n // and call it with `null` when it unmounts.\n // Refs are guaranteed to be up-to-date before componentDidMount or componentDidUpdate fires.\n paths[index] = elem;\n },\n style: pathStyle\n });\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n Line.displayName = 'Line';\n}\nexport default Line;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nvar uuid = 0;\n/** Is client side and not jsdom */\nexport var isBrowserClient = process.env.NODE_ENV !== 'test' && canUseDom();\n/** Get unique id for accessibility usage */\nfunction getUUID() {\n var retId;\n // Test never reach\n /* istanbul ignore if */\n if (isBrowserClient) {\n retId = uuid;\n uuid += 1;\n } else {\n retId = 'TEST_OR_SSR';\n }\n return retId;\n}\nexport default (function (id) {\n // Inner id for accessibility usage. Only work in client side\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerId = _React$useState2[0],\n setInnerId = _React$useState2[1];\n React.useEffect(function () {\n setInnerId(\"rc_progress_\".concat(getUUID()));\n }, []);\n return id || innerId;\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"id\", \"prefixCls\", \"steps\", \"strokeWidth\", \"trailWidth\", \"gapDegree\", \"gapPosition\", \"trailColor\", \"strokeLinecap\", \"style\", \"className\", \"strokeColor\", \"percent\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { defaultProps, useTransitionDuration } from './common';\nimport useId from './hooks/useId';\nfunction stripPercentToNumber(percent) {\n return +percent.replace('%', '');\n}\nfunction toArray(value) {\n var mergedValue = value !== null && value !== void 0 ? value : [];\n return Array.isArray(mergedValue) ? mergedValue : [mergedValue];\n}\nvar VIEW_BOX_SIZE = 100;\nvar getCircleStyle = function getCircleStyle(perimeter, perimeterWithoutGap, offset, percent, rotateDeg, gapDegree, gapPosition, strokeColor, strokeLinecap, strokeWidth) {\n var stepSpace = arguments.length > 10 && arguments[10] !== undefined ? arguments[10] : 0;\n var offsetDeg = offset / 100 * 360 * ((360 - gapDegree) / 360);\n var positionDeg = gapDegree === 0 ? 0 : {\n bottom: 0,\n top: 180,\n left: 90,\n right: -90\n }[gapPosition];\n var strokeDashoffset = (100 - percent) / 100 * perimeterWithoutGap;\n // Fix percent accuracy when strokeLinecap is round\n // https://github.com/ant-design/ant-design/issues/35009\n if (strokeLinecap === 'round' && percent !== 100) {\n strokeDashoffset += strokeWidth / 2;\n // when percent is small enough (<= 1%), keep smallest value to avoid it's disappearance\n if (strokeDashoffset >= perimeterWithoutGap) {\n strokeDashoffset = perimeterWithoutGap - 0.01;\n }\n }\n return {\n stroke: typeof strokeColor === 'string' ? strokeColor : undefined,\n strokeDasharray: \"\".concat(perimeterWithoutGap, \"px \").concat(perimeter),\n strokeDashoffset: strokeDashoffset + stepSpace,\n transform: \"rotate(\".concat(rotateDeg + offsetDeg + positionDeg, \"deg)\"),\n transformOrigin: '0 0',\n transition: 'stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s, opacity .3s ease 0s',\n fillOpacity: 0\n };\n};\nvar Circle = function Circle(props) {\n var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),\n id = _defaultProps$props.id,\n prefixCls = _defaultProps$props.prefixCls,\n steps = _defaultProps$props.steps,\n strokeWidth = _defaultProps$props.strokeWidth,\n trailWidth = _defaultProps$props.trailWidth,\n _defaultProps$props$g = _defaultProps$props.gapDegree,\n gapDegree = _defaultProps$props$g === void 0 ? 0 : _defaultProps$props$g,\n gapPosition = _defaultProps$props.gapPosition,\n trailColor = _defaultProps$props.trailColor,\n strokeLinecap = _defaultProps$props.strokeLinecap,\n style = _defaultProps$props.style,\n className = _defaultProps$props.className,\n strokeColor = _defaultProps$props.strokeColor,\n percent = _defaultProps$props.percent,\n restProps = _objectWithoutProperties(_defaultProps$props, _excluded);\n var mergedId = useId(id);\n var gradientId = \"\".concat(mergedId, \"-gradient\");\n var radius = VIEW_BOX_SIZE / 2 - strokeWidth / 2;\n var perimeter = Math.PI * 2 * radius;\n var rotateDeg = gapDegree > 0 ? 90 + gapDegree / 2 : -90;\n var perimeterWithoutGap = perimeter * ((360 - gapDegree) / 360);\n var _ref = _typeof(steps) === 'object' ? steps : {\n count: steps,\n space: 2\n },\n stepCount = _ref.count,\n stepSpace = _ref.space;\n var circleStyle = getCircleStyle(perimeter, perimeterWithoutGap, 0, 100, rotateDeg, gapDegree, gapPosition, trailColor, strokeLinecap, strokeWidth);\n var percentList = toArray(percent);\n var strokeColorList = toArray(strokeColor);\n var gradient = strokeColorList.find(function (color) {\n return color && _typeof(color) === 'object';\n });\n var paths = useTransitionDuration();\n var getStokeList = function getStokeList() {\n var stackPtg = 0;\n return percentList.map(function (ptg, index) {\n var color = strokeColorList[index] || strokeColorList[strokeColorList.length - 1];\n var stroke = color && _typeof(color) === 'object' ? \"url(#\".concat(gradientId, \")\") : undefined;\n var circleStyleForStack = getCircleStyle(perimeter, perimeterWithoutGap, stackPtg, ptg, rotateDeg, gapDegree, gapPosition, color, strokeLinecap, strokeWidth);\n stackPtg += ptg;\n return /*#__PURE__*/React.createElement(\"circle\", {\n key: index,\n className: \"\".concat(prefixCls, \"-circle-path\"),\n r: radius,\n cx: 0,\n cy: 0,\n stroke: stroke,\n strokeLinecap: strokeLinecap,\n strokeWidth: strokeWidth,\n opacity: ptg === 0 ? 0 : 1,\n style: circleStyleForStack,\n ref: function ref(elem) {\n // https://reactjs.org/docs/refs-and-the-dom.html#callback-refs\n // React will call the ref callback with the DOM element when the component mounts,\n // and call it with `null` when it unmounts.\n // Refs are guaranteed to be up-to-date before componentDidMount or componentDidUpdate fires.\n paths[index] = elem;\n }\n });\n }).reverse();\n };\n var getStepStokeList = function getStepStokeList() {\n // only show the first percent when pass steps\n var current = Math.round(stepCount * (percentList[0] / 100));\n var stepPtg = 100 / stepCount;\n var stackPtg = 0;\n return new Array(stepCount).fill(null).map(function (_, index) {\n var color = index <= current - 1 ? strokeColorList[0] : trailColor;\n var stroke = color && _typeof(color) === 'object' ? \"url(#\".concat(gradientId, \")\") : undefined;\n var circleStyleForStack = getCircleStyle(perimeter, perimeterWithoutGap, stackPtg, stepPtg, rotateDeg, gapDegree, gapPosition, color, 'butt', strokeWidth, stepSpace);\n stackPtg += (perimeterWithoutGap - circleStyleForStack.strokeDashoffset + stepSpace) * 100 / perimeterWithoutGap;\n return /*#__PURE__*/React.createElement(\"circle\", {\n key: index,\n className: \"\".concat(prefixCls, \"-circle-path\"),\n r: radius,\n cx: 0,\n cy: 0,\n stroke: stroke\n // strokeLinecap={strokeLinecap}\n ,\n strokeWidth: strokeWidth,\n opacity: 1,\n style: circleStyleForStack,\n ref: function ref(elem) {\n paths[index] = elem;\n }\n });\n });\n };\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n className: classNames(\"\".concat(prefixCls, \"-circle\"), className),\n viewBox: \"\".concat(-VIEW_BOX_SIZE / 2, \" \").concat(-VIEW_BOX_SIZE / 2, \" \").concat(VIEW_BOX_SIZE, \" \").concat(VIEW_BOX_SIZE),\n style: style,\n id: id,\n role: \"presentation\"\n }, restProps), gradient && /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: gradientId,\n x1: \"100%\",\n y1: \"0%\",\n x2: \"0%\",\n y2: \"0%\"\n }, Object.keys(gradient).sort(function (a, b) {\n return stripPercentToNumber(a) - stripPercentToNumber(b);\n }).map(function (key, index) {\n return /*#__PURE__*/React.createElement(\"stop\", {\n key: index,\n offset: key,\n stopColor: gradient[key]\n });\n }))), !stepCount && /*#__PURE__*/React.createElement(\"circle\", {\n className: \"\".concat(prefixCls, \"-circle-trail\"),\n r: radius,\n cx: 0,\n cy: 0,\n stroke: trailColor,\n strokeLinecap: strokeLinecap,\n strokeWidth: trailWidth || strokeWidth,\n style: circleStyle\n }), stepCount ? getStepStokeList() : getStokeList());\n};\nif (process.env.NODE_ENV !== 'production') {\n Circle.displayName = 'Circle';\n}\nexport default Circle;","import Line from './Line';\nimport Circle from './Circle';\nexport { Line, Circle };\nexport default {\n Line: Line,\n Circle: Circle\n};","import { presetPrimaryColors } from '@ant-design/colors';\nimport warning from '../_util/warning';\nexport function validProgress(progress) {\n if (!progress || progress < 0) {\n return 0;\n }\n if (progress > 100) {\n return 100;\n }\n return progress;\n}\nexport function getSuccessPercent(_ref) {\n let {\n success,\n successPercent\n } = _ref;\n let percent = successPercent;\n /** @deprecated Use `percent` instead */\n if (success && 'progress' in success) {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Progress', '`success.progress` is deprecated. Please use `success.percent` instead.') : void 0;\n percent = success.progress;\n }\n if (success && 'percent' in success) {\n percent = success.percent;\n }\n return percent;\n}\nexport const getPercentage = _ref2 => {\n let {\n percent,\n success,\n successPercent\n } = _ref2;\n const realSuccessPercent = validProgress(getSuccessPercent({\n success,\n successPercent\n }));\n return [realSuccessPercent, validProgress(validProgress(percent) - realSuccessPercent)];\n};\nexport const getStrokeColor = _ref3 => {\n let {\n success = {},\n strokeColor\n } = _ref3;\n const {\n strokeColor: successColor\n } = success;\n return [successColor || presetPrimaryColors.green, strokeColor || null];\n};\nexport const getSize = (size, type, extra) => {\n var _a, _b, _c, _d;\n let width = -1;\n let height = -1;\n if (type === 'step') {\n const steps = extra.steps;\n const strokeWidth = extra.strokeWidth;\n if (typeof size === 'string' || typeof size === 'undefined') {\n width = size === 'small' ? 2 : 14;\n height = strokeWidth !== null && strokeWidth !== void 0 ? strokeWidth : 8;\n } else if (typeof size === 'number') {\n [width, height] = [size, size];\n } else {\n [width = 14, height = 8] = size;\n }\n width *= steps;\n } else if (type === 'line') {\n const strokeWidth = extra === null || extra === void 0 ? void 0 : extra.strokeWidth;\n if (typeof size === 'string' || typeof size === 'undefined') {\n height = strokeWidth || (size === 'small' ? 6 : 8);\n } else if (typeof size === 'number') {\n [width, height] = [size, size];\n } else {\n [width = -1, height = 8] = size;\n }\n } else if (type === 'circle' || type === 'dashboard') {\n if (typeof size === 'string' || typeof size === 'undefined') {\n [width, height] = size === 'small' ? [60, 60] : [120, 120];\n } else if (typeof size === 'number') {\n [width, height] = [size, size];\n } else {\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Progress', 'Type \"circle\" and \"dashbord\" do not accept array as `size`, please use number or preset size instead.') : void 0;\n }\n width = (_b = (_a = size[0]) !== null && _a !== void 0 ? _a : size[1]) !== null && _b !== void 0 ? _b : 120;\n height = (_d = (_c = size[0]) !== null && _c !== void 0 ? _c : size[1]) !== null && _d !== void 0 ? _d : 120;\n }\n }\n return [width, height];\n};","import classNames from 'classnames';\nimport { Circle as RCCircle } from 'rc-progress';\nimport * as React from 'react';\nimport Tooltip from '../tooltip';\nimport { getPercentage, getSize, getStrokeColor } from './utils';\nconst CIRCLE_MIN_STROKE_WIDTH = 3;\nconst getMinPercent = width => CIRCLE_MIN_STROKE_WIDTH / width * 100;\nconst Circle = props => {\n const {\n prefixCls,\n trailColor = null,\n strokeLinecap = 'round',\n gapPosition,\n gapDegree,\n width: originWidth = 120,\n type,\n children,\n success,\n size = originWidth\n } = props;\n const [width, height] = getSize(size, 'circle');\n let {\n strokeWidth\n } = props;\n if (strokeWidth === undefined) {\n strokeWidth = Math.max(getMinPercent(width), 6);\n }\n const circleStyle = {\n width,\n height,\n fontSize: width * 0.15 + 6\n };\n const realGapDegree = React.useMemo(() => {\n // Support gapDeg = 0 when type = 'dashboard'\n if (gapDegree || gapDegree === 0) {\n return gapDegree;\n }\n if (type === 'dashboard') {\n return 75;\n }\n return undefined;\n }, [gapDegree, type]);\n const gapPos = gapPosition || type === 'dashboard' && 'bottom' || undefined;\n // using className to style stroke color\n const isGradient = Object.prototype.toString.call(props.strokeColor) === '[object Object]';\n const strokeColor = getStrokeColor({\n success,\n strokeColor: props.strokeColor\n });\n const wrapperClassName = classNames(`${prefixCls}-inner`, {\n [`${prefixCls}-circle-gradient`]: isGradient\n });\n const circleContent = /*#__PURE__*/React.createElement(RCCircle, {\n percent: getPercentage(props),\n strokeWidth: strokeWidth,\n trailWidth: strokeWidth,\n strokeColor: strokeColor,\n strokeLinecap: strokeLinecap,\n trailColor: trailColor,\n prefixCls: prefixCls,\n gapDegree: realGapDegree,\n gapPosition: gapPos\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: wrapperClassName,\n style: circleStyle\n }, width <= 20 ? /*#__PURE__*/React.createElement(Tooltip, {\n title: children\n }, /*#__PURE__*/React.createElement(\"span\", null, circleContent)) : /*#__PURE__*/React.createElement(React.Fragment, null, circleContent, children));\n};\nexport default Circle;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { presetPrimaryColors } from '@ant-design/colors';\nimport * as React from 'react';\nimport warning from '../_util/warning';\nimport { getSize, getSuccessPercent, validProgress } from './utils';\n/**\n * @example\n * {\n * \"0%\": \"#afc163\",\n * \"75%\": \"#009900\",\n * \"50%\": \"green\", // ====> '#afc163 0%, #66FF00 25%, #00CC00 50%, #009900 75%, #ffffff 100%'\n * \"25%\": \"#66FF00\",\n * \"100%\": \"#ffffff\"\n * }\n */\nexport const sortGradient = gradients => {\n let tempArr = [];\n Object.keys(gradients).forEach(key => {\n const formattedKey = parseFloat(key.replace(/%/g, ''));\n if (!isNaN(formattedKey)) {\n tempArr.push({\n key: formattedKey,\n value: gradients[key]\n });\n }\n });\n tempArr = tempArr.sort((a, b) => a.key - b.key);\n return tempArr.map(_ref => {\n let {\n key,\n value\n } = _ref;\n return `${value} ${key}%`;\n }).join(', ');\n};\n/**\n * Then this man came to realize the truth: Besides six pence, there is the moon. Besides bread and\n * butter, there is the bug. And... Besides women, there is the code.\n *\n * @example\n * {\n * \"0%\": \"#afc163\",\n * \"25%\": \"#66FF00\",\n * \"50%\": \"#00CC00\", // ====> linear-gradient(to right, #afc163 0%, #66FF00 25%,\n * \"75%\": \"#009900\", // #00CC00 50%, #009900 75%, #ffffff 100%)\n * \"100%\": \"#ffffff\"\n * }\n */\nexport const handleGradient = (strokeColor, directionConfig) => {\n const {\n from = presetPrimaryColors.blue,\n to = presetPrimaryColors.blue,\n direction = directionConfig === 'rtl' ? 'to left' : 'to right'\n } = strokeColor,\n rest = __rest(strokeColor, [\"from\", \"to\", \"direction\"]);\n if (Object.keys(rest).length !== 0) {\n const sortedGradients = sortGradient(rest);\n return {\n backgroundImage: `linear-gradient(${direction}, ${sortedGradients})`\n };\n }\n return {\n backgroundImage: `linear-gradient(${direction}, ${from}, ${to})`\n };\n};\nconst Line = props => {\n const {\n prefixCls,\n direction: directionConfig,\n percent,\n size,\n strokeWidth,\n strokeColor,\n strokeLinecap = 'round',\n children,\n trailColor = null,\n success\n } = props;\n const backgroundProps = strokeColor && typeof strokeColor !== 'string' ? handleGradient(strokeColor, directionConfig) : {\n backgroundColor: strokeColor\n };\n const borderRadius = strokeLinecap === 'square' || strokeLinecap === 'butt' ? 0 : undefined;\n const trailStyle = {\n backgroundColor: trailColor || undefined,\n borderRadius\n };\n const mergedSize = size !== null && size !== void 0 ? size : [-1, strokeWidth || (size === 'small' ? 6 : 8)];\n const [width, height] = getSize(mergedSize, 'line', {\n strokeWidth\n });\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(!('strokeWidth' in props), 'Progress', '`strokeWidth` is deprecated. Please use `size` instead.') : void 0;\n }\n const percentStyle = Object.assign({\n width: `${validProgress(percent)}%`,\n height,\n borderRadius\n }, backgroundProps);\n const successPercent = getSuccessPercent(props);\n const successPercentStyle = {\n width: `${validProgress(successPercent)}%`,\n height,\n borderRadius,\n backgroundColor: success === null || success === void 0 ? void 0 : success.strokeColor\n };\n const outerStyle = {\n width: width < 0 ? '100%' : width,\n height\n };\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-outer`,\n style: outerStyle\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-inner`,\n style: trailStyle\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-bg`,\n style: percentStyle\n }), successPercent !== undefined ? /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-success-bg`,\n style: successPercentStyle\n }) : null)), children);\n};\nexport default Line;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { getSize } from './utils';\nconst Steps = props => {\n const {\n size,\n steps,\n percent = 0,\n strokeWidth = 8,\n strokeColor,\n trailColor = null,\n prefixCls,\n children\n } = props;\n const current = Math.round(steps * (percent / 100));\n const stepWidth = size === 'small' ? 2 : 14;\n const mergedSize = size !== null && size !== void 0 ? size : [stepWidth, strokeWidth];\n const [width, height] = getSize(mergedSize, 'step', {\n steps,\n strokeWidth\n });\n const unitWidth = width / steps;\n const styledSteps = new Array(steps);\n for (let i = 0; i < steps; i++) {\n const color = Array.isArray(strokeColor) ? strokeColor[i] : strokeColor;\n styledSteps[i] = /*#__PURE__*/React.createElement(\"div\", {\n key: i,\n className: classNames(`${prefixCls}-steps-item`, {\n [`${prefixCls}-steps-item-active`]: i <= current - 1\n }),\n style: {\n backgroundColor: i <= current - 1 ? color : trailColor,\n width: unitWidth,\n height\n }\n });\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-steps-outer`\n }, styledSteps, children);\n};\nexport default Steps;","import { Keyframes } from '@ant-design/cssinjs';\nimport { resetComponent } from '../../style';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nconst genAntProgressActive = isRtl => {\n const direction = isRtl ? '100%' : '-100%';\n return new Keyframes(`antProgress${isRtl ? 'RTL' : 'LTR'}Active`, {\n '0%': {\n transform: `translateX(${direction}) scaleX(0)`,\n opacity: 0.1\n },\n '20%': {\n transform: `translateX(${direction}) scaleX(0)`,\n opacity: 0.5\n },\n to: {\n transform: 'translateX(0) scaleX(1)',\n opacity: 0\n }\n });\n};\nconst genBaseStyle = token => {\n const {\n componentCls: progressCls,\n iconCls: iconPrefixCls\n } = token;\n return {\n [progressCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n display: 'inline-block',\n '&-rtl': {\n direction: 'rtl'\n },\n '&-line': {\n position: 'relative',\n width: '100%',\n fontSize: token.fontSize,\n marginInlineEnd: token.marginXS,\n marginBottom: token.marginXS\n },\n [`${progressCls}-outer`]: {\n display: 'inline-block',\n width: '100%'\n },\n [`&${progressCls}-show-info`]: {\n [`${progressCls}-outer`]: {\n marginInlineEnd: `calc(-2em - ${token.marginXS}px)`,\n paddingInlineEnd: `calc(2em + ${token.paddingXS}px)`\n }\n },\n [`${progressCls}-inner`]: {\n position: 'relative',\n display: 'inline-block',\n width: '100%',\n overflow: 'hidden',\n verticalAlign: 'middle',\n backgroundColor: token.progressRemainingColor,\n borderRadius: token.progressLineRadius\n },\n [`${progressCls}-inner:not(${progressCls}-circle-gradient)`]: {\n [`${progressCls}-circle-path`]: {\n stroke: token.colorInfo\n }\n },\n [`${progressCls}-success-bg, ${progressCls}-bg`]: {\n position: 'relative',\n backgroundColor: token.colorInfo,\n borderRadius: token.progressLineRadius,\n transition: `all ${token.motionDurationSlow} ${token.motionEaseInOutCirc}`\n },\n [`${progressCls}-success-bg`]: {\n position: 'absolute',\n insetBlockStart: 0,\n insetInlineStart: 0,\n backgroundColor: token.colorSuccess\n },\n [`${progressCls}-text`]: {\n display: 'inline-block',\n width: '2em',\n marginInlineStart: token.marginXS,\n color: token.progressInfoTextColor,\n lineHeight: 1,\n whiteSpace: 'nowrap',\n textAlign: 'start',\n verticalAlign: 'middle',\n wordBreak: 'normal',\n [iconPrefixCls]: {\n fontSize: token.fontSize\n }\n },\n [`&${progressCls}-status-active`]: {\n [`${progressCls}-bg::before`]: {\n position: 'absolute',\n inset: 0,\n backgroundColor: token.colorBgContainer,\n borderRadius: token.progressLineRadius,\n opacity: 0,\n animationName: genAntProgressActive(),\n animationDuration: token.progressActiveMotionDuration,\n animationTimingFunction: token.motionEaseOutQuint,\n animationIterationCount: 'infinite',\n content: '\"\"'\n }\n },\n [`&${progressCls}-rtl${progressCls}-status-active`]: {\n [`${progressCls}-bg::before`]: {\n animationName: genAntProgressActive(true)\n }\n },\n [`&${progressCls}-status-exception`]: {\n [`${progressCls}-bg`]: {\n backgroundColor: token.colorError\n },\n [`${progressCls}-text`]: {\n color: token.colorError\n }\n },\n [`&${progressCls}-status-exception ${progressCls}-inner:not(${progressCls}-circle-gradient)`]: {\n [`${progressCls}-circle-path`]: {\n stroke: token.colorError\n }\n },\n [`&${progressCls}-status-success`]: {\n [`${progressCls}-bg`]: {\n backgroundColor: token.colorSuccess\n },\n [`${progressCls}-text`]: {\n color: token.colorSuccess\n }\n },\n [`&${progressCls}-status-success ${progressCls}-inner:not(${progressCls}-circle-gradient)`]: {\n [`${progressCls}-circle-path`]: {\n stroke: token.colorSuccess\n }\n }\n })\n };\n};\nconst genCircleStyle = token => {\n const {\n componentCls: progressCls,\n iconCls: iconPrefixCls\n } = token;\n return {\n [progressCls]: {\n [`${progressCls}-circle-trail`]: {\n stroke: token.progressRemainingColor\n },\n [`&${progressCls}-circle ${progressCls}-inner`]: {\n position: 'relative',\n lineHeight: 1,\n backgroundColor: 'transparent'\n },\n [`&${progressCls}-circle ${progressCls}-text`]: {\n position: 'absolute',\n insetBlockStart: '50%',\n insetInlineStart: 0,\n width: '100%',\n margin: 0,\n padding: 0,\n color: token.colorText,\n lineHeight: 1,\n whiteSpace: 'normal',\n textAlign: 'center',\n transform: 'translateY(-50%)',\n [iconPrefixCls]: {\n fontSize: `${token.fontSize / token.fontSizeSM}em`\n }\n },\n [`${progressCls}-circle&-status-exception`]: {\n [`${progressCls}-text`]: {\n color: token.colorError\n }\n },\n [`${progressCls}-circle&-status-success`]: {\n [`${progressCls}-text`]: {\n color: token.colorSuccess\n }\n }\n },\n [`${progressCls}-inline-circle`]: {\n lineHeight: 1,\n [`${progressCls}-inner`]: {\n verticalAlign: 'bottom'\n }\n }\n };\n};\nconst genStepStyle = token => {\n const {\n componentCls: progressCls\n } = token;\n return {\n [progressCls]: {\n [`${progressCls}-steps`]: {\n display: 'inline-block',\n '&-outer': {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center'\n },\n '&-item': {\n flexShrink: 0,\n minWidth: token.progressStepMinWidth,\n marginInlineEnd: token.progressStepMarginInlineEnd,\n backgroundColor: token.progressRemainingColor,\n transition: `all ${token.motionDurationSlow}`,\n '&-active': {\n backgroundColor: token.colorInfo\n }\n }\n }\n }\n };\n};\nconst genSmallLine = token => {\n const {\n componentCls: progressCls,\n iconCls: iconPrefixCls\n } = token;\n return {\n [progressCls]: {\n [`${progressCls}-small&-line, ${progressCls}-small&-line ${progressCls}-text ${iconPrefixCls}`]: {\n fontSize: token.fontSizeSM\n }\n }\n };\n};\nexport default genComponentStyleHook('Progress', token => {\n const progressStepMarginInlineEnd = token.marginXXS / 2;\n const progressToken = mergeToken(token, {\n progressLineRadius: 100,\n progressInfoTextColor: token.colorText,\n progressDefaultColor: token.colorInfo,\n progressRemainingColor: token.colorFillSecondary,\n progressStepMarginInlineEnd,\n progressStepMinWidth: progressStepMarginInlineEnd,\n progressActiveMotionDuration: '2.4s'\n });\n return [genBaseStyle(progressToken), genCircleStyle(progressToken), genStepStyle(progressToken), genSmallLine(progressToken)];\n});","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport CheckCircleFilled from \"@ant-design/icons/es/icons/CheckCircleFilled\";\nimport CheckOutlined from \"@ant-design/icons/es/icons/CheckOutlined\";\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport Circle from './Circle';\nimport Line from './Line';\nimport Steps from './Steps';\nimport useStyle from './style';\nimport { getSize, getSuccessPercent, validProgress } from './utils';\nexport const ProgressTypes = ['line', 'circle', 'dashboard'];\nconst ProgressStatuses = ['normal', 'exception', 'active', 'success'];\nconst Progress = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n steps,\n strokeColor,\n percent = 0,\n size = 'default',\n showInfo = true,\n type = 'line',\n status,\n format,\n style\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"rootClassName\", \"steps\", \"strokeColor\", \"percent\", \"size\", \"showInfo\", \"type\", \"status\", \"format\", \"style\"]);\n const percentNumber = React.useMemo(() => {\n var _a, _b;\n const successPercent = getSuccessPercent(props);\n return parseInt(successPercent !== undefined ? (_a = successPercent !== null && successPercent !== void 0 ? successPercent : 0) === null || _a === void 0 ? void 0 : _a.toString() : (_b = percent !== null && percent !== void 0 ? percent : 0) === null || _b === void 0 ? void 0 : _b.toString(), 10);\n }, [percent, props.success, props.successPercent]);\n const progressStatus = React.useMemo(() => {\n if (!ProgressStatuses.includes(status) && percentNumber >= 100) {\n return 'success';\n }\n return status || 'normal';\n }, [status, percentNumber]);\n const {\n getPrefixCls,\n direction,\n progress: progressStyle\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('progress', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const progressInfo = React.useMemo(() => {\n if (!showInfo) {\n return null;\n }\n const successPercent = getSuccessPercent(props);\n let text;\n const textFormatter = format || (number => `${number}%`);\n const isLineType = type === 'line';\n if (format || progressStatus !== 'exception' && progressStatus !== 'success') {\n text = textFormatter(validProgress(percent), validProgress(successPercent));\n } else if (progressStatus === 'exception') {\n text = isLineType ? /*#__PURE__*/React.createElement(CloseCircleFilled, null) : /*#__PURE__*/React.createElement(CloseOutlined, null);\n } else if (progressStatus === 'success') {\n text = isLineType ? /*#__PURE__*/React.createElement(CheckCircleFilled, null) : /*#__PURE__*/React.createElement(CheckOutlined, null);\n }\n return /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-text`,\n title: typeof text === 'string' ? text : undefined\n }, text);\n }, [showInfo, percent, percentNumber, progressStatus, type, prefixCls, format]);\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(!('successPercent' in props), 'Progress', '`successPercent` is deprecated. Please use `success.percent` instead.') : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!('width' in props), 'Progress', '`width` is deprecated. Please use `size` instead.') : void 0;\n }\n const strokeColorNotArray = Array.isArray(strokeColor) ? strokeColor[0] : strokeColor;\n const strokeColorNotGradient = typeof strokeColor === 'string' || Array.isArray(strokeColor) ? strokeColor : undefined;\n let progress;\n // Render progress shape\n if (type === 'line') {\n progress = steps ? /*#__PURE__*/React.createElement(Steps, Object.assign({}, props, {\n strokeColor: strokeColorNotGradient,\n prefixCls: prefixCls,\n steps: steps\n }), progressInfo) : /*#__PURE__*/React.createElement(Line, Object.assign({}, props, {\n strokeColor: strokeColorNotArray,\n prefixCls: prefixCls,\n direction: direction\n }), progressInfo);\n } else if (type === 'circle' || type === 'dashboard') {\n progress = /*#__PURE__*/React.createElement(Circle, Object.assign({}, props, {\n strokeColor: strokeColorNotArray,\n prefixCls: prefixCls,\n progressStatus: progressStatus\n }), progressInfo);\n }\n const classString = classNames(prefixCls, `${prefixCls}-status-${progressStatus}`, `${prefixCls}-${type === 'dashboard' && 'circle' || steps && 'steps' || type}`, {\n [`${prefixCls}-inline-circle`]: type === 'circle' && getSize(size, 'circle')[0] <= 20,\n [`${prefixCls}-show-info`]: showInfo,\n [`${prefixCls}-${size}`]: typeof size === 'string',\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, progressStyle === null || progressStyle === void 0 ? void 0 : progressStyle.className, className, rootClassName, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", Object.assign({\n ref: ref,\n style: Object.assign(Object.assign({}, progressStyle === null || progressStyle === void 0 ? void 0 : progressStyle.style), style),\n className: classString,\n role: \"progressbar\",\n \"aria-valuenow\": percentNumber\n }, omit(restProps, ['trailColor', 'strokeWidth', 'width', 'gapDegree', 'gapPosition', 'strokeLinecap', 'success', 'successPercent'])), progress));\n});\nif (process.env.NODE_ENV !== 'production') {\n Progress.displayName = 'Progress';\n}\nexport default Progress;","'use client';\n\nimport Progress from './progress';\nexport default Progress;","import * as React from 'react';\nconst RadioGroupContext = /*#__PURE__*/React.createContext(null);\nexport const RadioGroupContextProvider = RadioGroupContext.Provider;\nexport default RadioGroupContext;\nexport const RadioOptionTypeContext = /*#__PURE__*/React.createContext(null);\nexport const RadioOptionTypeContextProvider = RadioOptionTypeContext.Provider;","import classNames from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useSize from '../config-provider/hooks/useSize';\nimport { RadioGroupContextProvider } from './context';\nimport Radio from './radio';\nimport useStyle from './style';\nconst RadioGroup = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const [value, setValue] = useMergedState(props.defaultValue, {\n value: props.value\n });\n const onRadioChange = ev => {\n const lastValue = value;\n const val = ev.target.value;\n if (!('value' in props)) {\n setValue(val);\n }\n const {\n onChange\n } = props;\n if (onChange && val !== lastValue) {\n onChange(ev);\n }\n };\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n options,\n buttonStyle = 'outline',\n disabled,\n children,\n size: customizeSize,\n style,\n id,\n onMouseEnter,\n onMouseLeave,\n onFocus,\n onBlur\n } = props;\n const prefixCls = getPrefixCls('radio', customizePrefixCls);\n const groupPrefixCls = `${prefixCls}-group`;\n // Style\n const [wrapSSR, hashId] = useStyle(prefixCls);\n let childrenToRender = children;\n // 如果存在 options, 优先使用\n if (options && options.length > 0) {\n childrenToRender = options.map(option => {\n if (typeof option === 'string' || typeof option === 'number') {\n // 此处类型自动推导为 string\n return /*#__PURE__*/React.createElement(Radio, {\n key: option.toString(),\n prefixCls: prefixCls,\n disabled: disabled,\n value: option,\n checked: value === option\n }, option);\n }\n // 此处类型自动推导为 { label: string value: string }\n return /*#__PURE__*/React.createElement(Radio, {\n key: `radio-group-value-options-${option.value}`,\n prefixCls: prefixCls,\n disabled: option.disabled || disabled,\n value: option.value,\n checked: value === option.value,\n title: option.title,\n style: option.style\n }, option.label);\n });\n }\n const mergedSize = useSize(customizeSize);\n const classString = classNames(groupPrefixCls, `${groupPrefixCls}-${buttonStyle}`, {\n [`${groupPrefixCls}-${mergedSize}`]: mergedSize,\n [`${groupPrefixCls}-rtl`]: direction === 'rtl'\n }, className, rootClassName, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", Object.assign({}, pickAttrs(props, {\n aria: true,\n data: true\n }), {\n className: classString,\n style: style,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onFocus: onFocus,\n onBlur: onBlur,\n id: id,\n ref: ref\n }), /*#__PURE__*/React.createElement(RadioGroupContextProvider, {\n value: {\n onChange: onRadioChange,\n value,\n disabled: props.disabled,\n name: props.name,\n optionType: props.optionType\n }\n }, childrenToRender)));\n});\nexport default /*#__PURE__*/React.memo(RadioGroup);","'use client';\n\nimport Group from './group';\nimport InternalRadio from './radio';\nimport Button from './radioButton';\nexport { Button, Group };\nconst Radio = InternalRadio;\nRadio.Button = Button;\nRadio.Group = Group;\nRadio.__ANT_RADIO = true;\nexport default Radio;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport RcCheckbox from 'rc-checkbox';\nimport { composeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport { FormItemInputContext } from '../form/context';\nimport RadioGroupContext, { RadioOptionTypeContext } from './context';\nimport useStyle from './style';\nimport Wave from '../_util/wave';\nimport { TARGET_CLS } from '../_util/wave/interface';\nconst InternalRadio = (props, ref) => {\n var _a, _b;\n const groupContext = React.useContext(RadioGroupContext);\n const radioOptionTypeContext = React.useContext(RadioOptionTypeContext);\n const {\n getPrefixCls,\n direction,\n radio\n } = React.useContext(ConfigContext);\n const innerRef = React.useRef(null);\n const mergedRef = composeRef(ref, innerRef);\n const {\n isFormItemInput\n } = React.useContext(FormItemInputContext);\n process.env.NODE_ENV !== \"production\" ? warning(!('optionType' in props), 'Radio', '`optionType` is only support in Radio.Group.') : void 0;\n const onChange = e => {\n var _a, _b;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, e);\n (_b = groupContext === null || groupContext === void 0 ? void 0 : groupContext.onChange) === null || _b === void 0 ? void 0 : _b.call(groupContext, e);\n };\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n children,\n style\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"rootClassName\", \"children\", \"style\"]);\n const radioPrefixCls = getPrefixCls('radio', customizePrefixCls);\n const isButtonType = ((groupContext === null || groupContext === void 0 ? void 0 : groupContext.optionType) || radioOptionTypeContext) === 'button';\n const prefixCls = isButtonType ? `${radioPrefixCls}-button` : radioPrefixCls;\n // Style\n const [wrapSSR, hashId] = useStyle(radioPrefixCls);\n const radioProps = Object.assign({}, restProps);\n // ===================== Disabled =====================\n const disabled = React.useContext(DisabledContext);\n if (groupContext) {\n radioProps.name = groupContext.name;\n radioProps.onChange = onChange;\n radioProps.checked = props.value === groupContext.value;\n radioProps.disabled = (_a = radioProps.disabled) !== null && _a !== void 0 ? _a : groupContext.disabled;\n }\n radioProps.disabled = (_b = radioProps.disabled) !== null && _b !== void 0 ? _b : disabled;\n const wrapperClassString = classNames(`${prefixCls}-wrapper`, {\n [`${prefixCls}-wrapper-checked`]: radioProps.checked,\n [`${prefixCls}-wrapper-disabled`]: radioProps.disabled,\n [`${prefixCls}-wrapper-rtl`]: direction === 'rtl',\n [`${prefixCls}-wrapper-in-form-item`]: isFormItemInput\n }, radio === null || radio === void 0 ? void 0 : radio.className, className, rootClassName, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(Wave, {\n component: \"Radio\",\n disabled: radioProps.disabled\n }, /*#__PURE__*/React.createElement(\"label\", {\n className: wrapperClassString,\n style: Object.assign(Object.assign({}, radio === null || radio === void 0 ? void 0 : radio.style), style),\n onMouseEnter: props.onMouseEnter,\n onMouseLeave: props.onMouseLeave\n }, /*#__PURE__*/React.createElement(RcCheckbox, Object.assign({}, radioProps, {\n className: classNames(radioProps.className, !isButtonType && TARGET_CLS),\n type: \"radio\",\n prefixCls: prefixCls,\n ref: mergedRef\n })), children !== undefined ? /*#__PURE__*/React.createElement(\"span\", null, children) : null)));\n};\nconst Radio = /*#__PURE__*/React.forwardRef(InternalRadio);\nif (process.env.NODE_ENV !== 'production') {\n Radio.displayName = 'Radio';\n}\nexport default Radio;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport { RadioOptionTypeContextProvider } from './context';\nimport Radio from './radio';\nconst RadioButton = (props, ref) => {\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls\n } = props,\n radioProps = __rest(props, [\"prefixCls\"]);\n const prefixCls = getPrefixCls('radio', customizePrefixCls);\n return /*#__PURE__*/React.createElement(RadioOptionTypeContextProvider, {\n value: 'button'\n }, /*#__PURE__*/React.createElement(Radio, Object.assign({\n prefixCls: prefixCls\n }, radioProps, {\n type: 'radio',\n ref: ref\n })));\n};\nexport default /*#__PURE__*/React.forwardRef(RadioButton);","import { genFocusOutline, resetComponent } from '../../style';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\n// ============================== Styles ==============================\n// styles from RadioGroup only\nconst getGroupRadioStyle = token => {\n const {\n componentCls,\n antCls\n } = token;\n const groupPrefixCls = `${componentCls}-group`;\n return {\n [groupPrefixCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n display: 'inline-block',\n fontSize: 0,\n // RTL\n [`&${groupPrefixCls}-rtl`]: {\n direction: 'rtl'\n },\n [`${antCls}-badge ${antCls}-badge-count`]: {\n zIndex: 1\n },\n [`> ${antCls}-badge:not(:first-child) > ${antCls}-button-wrapper`]: {\n borderInlineStart: 'none'\n }\n })\n };\n};\n// Styles from radio-wrapper\nconst getRadioBasicStyle = token => {\n const {\n componentCls,\n wrapperMarginInlineEnd,\n colorPrimary,\n radioSize,\n motionDurationSlow,\n motionDurationMid,\n motionEaseInOutCirc,\n colorBgContainer,\n colorBorder,\n lineWidth,\n dotSize,\n colorBgContainerDisabled,\n colorTextDisabled,\n paddingXS,\n dotColorDisabled,\n lineType,\n radioDotDisabledSize,\n wireframe,\n colorWhite\n } = token;\n const radioInnerPrefixCls = `${componentCls}-inner`;\n return {\n [`${componentCls}-wrapper`]: Object.assign(Object.assign({}, resetComponent(token)), {\n display: 'inline-flex',\n alignItems: 'baseline',\n marginInlineStart: 0,\n marginInlineEnd: wrapperMarginInlineEnd,\n cursor: 'pointer',\n // RTL\n [`&${componentCls}-wrapper-rtl`]: {\n direction: 'rtl'\n },\n '&-disabled': {\n cursor: 'not-allowed',\n color: token.colorTextDisabled\n },\n '&::after': {\n display: 'inline-block',\n width: 0,\n overflow: 'hidden',\n content: '\"\\\\a0\"'\n },\n // hashId 在 wrapper 上,只能铺平\n [`${componentCls}-checked::after`]: {\n position: 'absolute',\n insetBlockStart: 0,\n insetInlineStart: 0,\n width: '100%',\n height: '100%',\n border: `${lineWidth}px ${lineType} ${colorPrimary}`,\n borderRadius: '50%',\n visibility: 'hidden',\n content: '\"\"'\n },\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'relative',\n display: 'inline-block',\n outline: 'none',\n cursor: 'pointer',\n alignSelf: 'center',\n borderRadius: '50%'\n }),\n [`${componentCls}-wrapper:hover &,\n &:hover ${radioInnerPrefixCls}`]: {\n borderColor: colorPrimary\n },\n [`${componentCls}-input:focus-visible + ${radioInnerPrefixCls}`]: Object.assign({}, genFocusOutline(token)),\n [`${componentCls}:hover::after, ${componentCls}-wrapper:hover &::after`]: {\n visibility: 'visible'\n },\n [`${componentCls}-inner`]: {\n '&::after': {\n boxSizing: 'border-box',\n position: 'absolute',\n insetBlockStart: '50%',\n insetInlineStart: '50%',\n display: 'block',\n width: radioSize,\n height: radioSize,\n marginBlockStart: radioSize / -2,\n marginInlineStart: radioSize / -2,\n backgroundColor: wireframe ? colorPrimary : colorWhite,\n borderBlockStart: 0,\n borderInlineStart: 0,\n borderRadius: radioSize,\n transform: 'scale(0)',\n opacity: 0,\n transition: `all ${motionDurationSlow} ${motionEaseInOutCirc}`,\n content: '\"\"'\n },\n boxSizing: 'border-box',\n position: 'relative',\n insetBlockStart: 0,\n insetInlineStart: 0,\n display: 'block',\n width: radioSize,\n height: radioSize,\n backgroundColor: colorBgContainer,\n borderColor: colorBorder,\n borderStyle: 'solid',\n borderWidth: lineWidth,\n borderRadius: '50%',\n transition: `all ${motionDurationMid}`\n },\n [`${componentCls}-input`]: {\n position: 'absolute',\n inset: 0,\n zIndex: 1,\n cursor: 'pointer',\n opacity: 0\n },\n // 选中状态\n [`${componentCls}-checked`]: {\n [radioInnerPrefixCls]: {\n borderColor: colorPrimary,\n backgroundColor: wireframe ? colorBgContainer : colorPrimary,\n '&::after': {\n transform: `scale(${dotSize / radioSize})`,\n opacity: 1,\n transition: `all ${motionDurationSlow} ${motionEaseInOutCirc}`\n }\n }\n },\n [`${componentCls}-disabled`]: {\n cursor: 'not-allowed',\n [radioInnerPrefixCls]: {\n backgroundColor: colorBgContainerDisabled,\n borderColor: colorBorder,\n cursor: 'not-allowed',\n '&::after': {\n backgroundColor: dotColorDisabled\n }\n },\n [`${componentCls}-input`]: {\n cursor: 'not-allowed'\n },\n [`${componentCls}-disabled + span`]: {\n color: colorTextDisabled,\n cursor: 'not-allowed'\n },\n [`&${componentCls}-checked`]: {\n [radioInnerPrefixCls]: {\n '&::after': {\n transform: `scale(${radioDotDisabledSize / radioSize})`\n }\n }\n }\n },\n [`span${componentCls} + *`]: {\n paddingInlineStart: paddingXS,\n paddingInlineEnd: paddingXS\n }\n })\n };\n};\n// Styles from radio-button\nconst getRadioButtonStyle = token => {\n const {\n buttonColor,\n controlHeight,\n componentCls,\n lineWidth,\n lineType,\n colorBorder,\n motionDurationSlow,\n motionDurationMid,\n buttonPaddingInline,\n fontSize,\n buttonBg,\n fontSizeLG,\n controlHeightLG,\n controlHeightSM,\n paddingXS,\n borderRadius,\n borderRadiusSM,\n borderRadiusLG,\n buttonCheckedBg,\n buttonSolidCheckedColor,\n colorTextDisabled,\n colorBgContainerDisabled,\n buttonCheckedBgDisabled,\n buttonCheckedColorDisabled,\n colorPrimary,\n colorPrimaryHover,\n colorPrimaryActive\n } = token;\n return {\n [`${componentCls}-button-wrapper`]: {\n position: 'relative',\n display: 'inline-block',\n height: controlHeight,\n margin: 0,\n paddingInline: buttonPaddingInline,\n paddingBlock: 0,\n color: buttonColor,\n fontSize,\n lineHeight: `${controlHeight - lineWidth * 2}px`,\n background: buttonBg,\n border: `${lineWidth}px ${lineType} ${colorBorder}`,\n // strange align fix for chrome but works\n // https://gw.alipayobjects.com/zos/rmsportal/VFTfKXJuogBAXcvfAUWJ.gif\n borderBlockStartWidth: lineWidth + 0.02,\n borderInlineStartWidth: 0,\n borderInlineEndWidth: lineWidth,\n cursor: 'pointer',\n transition: [`color ${motionDurationMid}`, `background ${motionDurationMid}`, `box-shadow ${motionDurationMid}`].join(','),\n a: {\n color: buttonColor\n },\n [`> ${componentCls}-button`]: {\n position: 'absolute',\n insetBlockStart: 0,\n insetInlineStart: 0,\n zIndex: -1,\n width: '100%',\n height: '100%'\n },\n '&:not(:first-child)': {\n '&::before': {\n position: 'absolute',\n insetBlockStart: -lineWidth,\n insetInlineStart: -lineWidth,\n display: 'block',\n boxSizing: 'content-box',\n width: 1,\n height: '100%',\n paddingBlock: lineWidth,\n paddingInline: 0,\n backgroundColor: colorBorder,\n transition: `background-color ${motionDurationSlow}`,\n content: '\"\"'\n }\n },\n '&:first-child': {\n borderInlineStart: `${lineWidth}px ${lineType} ${colorBorder}`,\n borderStartStartRadius: borderRadius,\n borderEndStartRadius: borderRadius\n },\n '&:last-child': {\n borderStartEndRadius: borderRadius,\n borderEndEndRadius: borderRadius\n },\n '&:first-child:last-child': {\n borderRadius\n },\n [`${componentCls}-group-large &`]: {\n height: controlHeightLG,\n fontSize: fontSizeLG,\n lineHeight: `${controlHeightLG - lineWidth * 2}px`,\n '&:first-child': {\n borderStartStartRadius: borderRadiusLG,\n borderEndStartRadius: borderRadiusLG\n },\n '&:last-child': {\n borderStartEndRadius: borderRadiusLG,\n borderEndEndRadius: borderRadiusLG\n }\n },\n [`${componentCls}-group-small &`]: {\n height: controlHeightSM,\n paddingInline: paddingXS - lineWidth,\n paddingBlock: 0,\n lineHeight: `${controlHeightSM - lineWidth * 2}px`,\n '&:first-child': {\n borderStartStartRadius: borderRadiusSM,\n borderEndStartRadius: borderRadiusSM\n },\n '&:last-child': {\n borderStartEndRadius: borderRadiusSM,\n borderEndEndRadius: borderRadiusSM\n }\n },\n '&:hover': {\n position: 'relative',\n color: colorPrimary\n },\n '&:has(:focus-visible)': Object.assign({}, genFocusOutline(token)),\n [`${componentCls}-inner, input[type='checkbox'], input[type='radio']`]: {\n width: 0,\n height: 0,\n opacity: 0,\n pointerEvents: 'none'\n },\n [`&-checked:not(${componentCls}-button-wrapper-disabled)`]: {\n zIndex: 1,\n color: colorPrimary,\n background: buttonCheckedBg,\n borderColor: colorPrimary,\n '&::before': {\n backgroundColor: colorPrimary\n },\n '&:first-child': {\n borderColor: colorPrimary\n },\n '&:hover': {\n color: colorPrimaryHover,\n borderColor: colorPrimaryHover,\n '&::before': {\n backgroundColor: colorPrimaryHover\n }\n },\n '&:active': {\n color: colorPrimaryActive,\n borderColor: colorPrimaryActive,\n '&::before': {\n backgroundColor: colorPrimaryActive\n }\n }\n },\n [`${componentCls}-group-solid &-checked:not(${componentCls}-button-wrapper-disabled)`]: {\n color: buttonSolidCheckedColor,\n background: colorPrimary,\n borderColor: colorPrimary,\n '&:hover': {\n color: buttonSolidCheckedColor,\n background: colorPrimaryHover,\n borderColor: colorPrimaryHover\n },\n '&:active': {\n color: buttonSolidCheckedColor,\n background: colorPrimaryActive,\n borderColor: colorPrimaryActive\n }\n },\n '&-disabled': {\n color: colorTextDisabled,\n backgroundColor: colorBgContainerDisabled,\n borderColor: colorBorder,\n cursor: 'not-allowed',\n '&:first-child, &:hover': {\n color: colorTextDisabled,\n backgroundColor: colorBgContainerDisabled,\n borderColor: colorBorder\n }\n },\n [`&-disabled${componentCls}-button-wrapper-checked`]: {\n color: buttonCheckedColorDisabled,\n backgroundColor: buttonCheckedBgDisabled,\n borderColor: colorBorder,\n boxShadow: 'none'\n }\n }\n };\n};\nconst getDotSize = radioSize => {\n const dotPadding = 4; // Fixed Value\n return radioSize - dotPadding * 2;\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Radio', token => {\n const {\n controlOutline,\n controlOutlineWidth,\n radioSize\n } = token;\n const radioFocusShadow = `0 0 0 ${controlOutlineWidth}px ${controlOutline}`;\n const radioButtonFocusShadow = radioFocusShadow;\n const radioDotDisabledSize = getDotSize(radioSize);\n const radioToken = mergeToken(token, {\n radioDotDisabledSize,\n radioFocusShadow,\n radioButtonFocusShadow\n });\n return [getGroupRadioStyle(radioToken), getRadioBasicStyle(radioToken), getRadioButtonStyle(radioToken)];\n}, token => {\n const {\n wireframe,\n padding,\n marginXS,\n lineWidth,\n fontSizeLG,\n colorText,\n colorBgContainer,\n colorTextDisabled,\n controlItemBgActiveDisabled,\n colorTextLightSolid\n } = token;\n const dotPadding = 4; // Fixed value\n const radioSize = fontSizeLG;\n const radioDotSize = wireframe ? getDotSize(radioSize) : radioSize - (dotPadding + lineWidth) * 2;\n return {\n // Radio\n radioSize,\n dotSize: radioDotSize,\n dotColorDisabled: colorTextDisabled,\n // Radio buttons\n buttonSolidCheckedColor: colorTextLightSolid,\n buttonBg: colorBgContainer,\n buttonCheckedBg: colorBgContainer,\n buttonColor: colorText,\n buttonCheckedBgDisabled: controlItemBgActiveDisabled,\n buttonCheckedColorDisabled: colorTextDisabled,\n buttonPaddingInline: padding - lineWidth,\n wrapperMarginInlineEnd: marginXS\n };\n});","// This icon file is generated automatically.\nvar WarningFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M955.7 856l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zM480 416c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v184c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V416zm32 352a48.01 48.01 0 010-96 48.01 48.01 0 010 96z\" } }] }, \"name\": \"warning\", \"theme\": \"filled\" };\nexport default WarningFilled;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport WarningFilledSvg from \"@ant-design/icons-svg/es/asn/WarningFilled\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar WarningFilled = function WarningFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: WarningFilledSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n WarningFilled.displayName = 'WarningFilled';\n}\nexport default /*#__PURE__*/React.forwardRef(WarningFilled);","import * as React from 'react';\nconst NoFound = () => /*#__PURE__*/React.createElement(\"svg\", {\n width: \"252\",\n height: \"294\"\n}, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 .387h251.772v251.772H0z\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 .012)\"\n}, /*#__PURE__*/React.createElement(\"mask\", {\n fill: \"#fff\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 127.32v-2.095C0 56.279 55.892.387 124.838.387h2.096c68.946 0 124.838 55.892 124.838 124.838v2.096c0 68.946-55.892 124.838-124.838 124.838h-2.096C55.892 252.16 0 196.267 0 127.321\",\n fill: \"#E4EBF7\",\n mask: \"url(#b)\"\n})), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.755 130.84a8.276 8.276 0 1 1-16.468-1.66 8.276 8.276 0 0 1 16.468 1.66\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.975 134.297l10.482 5.943M48.373 146.508l-12.648 10.788\",\n stroke: \"#FFF\",\n strokeWidth: \"2\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.875 159.352a5.667 5.667 0 1 1-11.277-1.136 5.667 5.667 0 0 1 11.277 1.136M57.588 143.247a5.708 5.708 0 1 1-11.358-1.145 5.708 5.708 0 0 1 11.358 1.145M99.018 26.875l29.82-.014a4.587 4.587 0 1 0-.003-9.175l-29.82.013a4.587 4.587 0 1 0 .003 9.176M110.424 45.211l29.82-.013a4.588 4.588 0 0 0-.004-9.175l-29.82.013a4.587 4.587 0 1 0 .004 9.175\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M112.798 26.861v-.002l15.784-.006a4.588 4.588 0 1 0 .003 9.175l-15.783.007v-.002a4.586 4.586 0 0 0-.004-9.172M184.523 135.668c-.553 5.485-5.447 9.483-10.931 8.93-5.485-.553-9.483-5.448-8.93-10.932.552-5.485 5.447-9.483 10.932-8.93 5.485.553 9.483 5.447 8.93 10.932\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M179.26 141.75l12.64 7.167M193.006 156.477l-15.255 13.011\",\n stroke: \"#FFF\",\n strokeWidth: \"2\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M184.668 170.057a6.835 6.835 0 1 1-13.6-1.372 6.835 6.835 0 0 1 13.6 1.372M203.34 153.325a6.885 6.885 0 1 1-13.7-1.382 6.885 6.885 0 0 1 13.7 1.382\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M151.931 192.324a2.222 2.222 0 1 1-4.444 0 2.222 2.222 0 0 1 4.444 0zM225.27 116.056a2.222 2.222 0 1 1-4.445 0 2.222 2.222 0 0 1 4.444 0zM216.38 151.08a2.223 2.223 0 1 1-4.446-.001 2.223 2.223 0 0 1 4.446 0zM176.917 107.636a2.223 2.223 0 1 1-4.445 0 2.223 2.223 0 0 1 4.445 0zM195.291 92.165a2.223 2.223 0 1 1-4.445 0 2.223 2.223 0 0 1 4.445 0zM202.058 180.711a2.223 2.223 0 1 1-4.446 0 2.223 2.223 0 0 1 4.446 0z\",\n stroke: \"#FFF\",\n strokeWidth: \"2\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#FFF\",\n strokeWidth: \"2\",\n d: \"M214.404 153.302l-1.912 20.184-10.928 5.99M173.661 174.792l-6.356 9.814h-11.36l-4.508 6.484M174.941 125.168v-15.804M220.824 117.25l-12.84 7.901-15.31-7.902V94.39\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M166.588 65.936h-3.951a4.756 4.756 0 0 1-4.743-4.742 4.756 4.756 0 0 1 4.743-4.743h3.951a4.756 4.756 0 0 1 4.743 4.743 4.756 4.756 0 0 1-4.743 4.742\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M174.823 30.03c0-16.281 13.198-29.48 29.48-29.48 16.28 0 29.48 13.199 29.48 29.48 0 16.28-13.2 29.48-29.48 29.48-16.282 0-29.48-13.2-29.48-29.48\",\n fill: \"#1677ff\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M205.952 38.387c.5.5.785 1.142.785 1.928s-.286 1.465-.785 1.964c-.572.5-1.214.75-2 .75-.785 0-1.429-.285-1.929-.785-.572-.5-.82-1.143-.82-1.929s.248-1.428.82-1.928c.5-.5 1.144-.75 1.93-.75.785 0 1.462.25 1.999.75m4.285-19.463c1.428 1.249 2.143 2.963 2.143 5.142 0 1.712-.427 3.13-1.219 4.25-.067.096-.137.18-.218.265-.416.429-1.41 1.346-2.956 2.699a5.07 5.07 0 0 0-1.428 1.75 5.207 5.207 0 0 0-.536 2.357v.5h-4.107v-.5c0-1.357.215-2.536.714-3.5.464-.964 1.857-2.464 4.178-4.536l.43-.5c.643-.785.964-1.643.964-2.535 0-1.18-.358-2.108-1-2.785-.678-.68-1.643-1.001-2.858-1.001-1.536 0-2.642.464-3.357 1.43-.37.5-.621 1.135-.76 1.904a1.999 1.999 0 0 1-1.971 1.63h-.004c-1.277 0-2.257-1.183-1.98-2.43.337-1.518 1.02-2.78 2.073-3.784 1.536-1.5 3.607-2.25 6.25-2.25 2.32 0 4.214.607 5.642 1.894\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M52.04 76.131s21.81 5.36 27.307 15.945c5.575 10.74-6.352 9.26-15.73 4.935-10.86-5.008-24.7-11.822-11.577-20.88\",\n fill: \"#FFB594\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M90.483 67.504l-.449 2.893c-.753.49-4.748-2.663-4.748-2.663l-1.645.748-1.346-5.684s6.815-4.589 8.917-5.018c2.452-.501 9.884.94 10.7 2.278 0 0 1.32.486-2.227.69-3.548.203-5.043.447-6.79 3.132-1.747 2.686-2.412 3.624-2.412 3.624\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M128.055 111.367c-2.627-7.724-6.15-13.18-8.917-15.478-3.5-2.906-9.34-2.225-11.366-4.187-1.27-1.231-3.215-1.197-3.215-1.197s-14.98-3.158-16.828-3.479c-2.37-.41-2.124-.714-6.054-1.405-1.57-1.907-2.917-1.122-2.917-1.122l-7.11-1.383c-.853-1.472-2.423-1.023-2.423-1.023l-2.468-.897c-1.645 9.976-7.74 13.796-7.74 13.796 1.795 1.122 15.703 8.3 15.703 8.3l5.107 37.11s-3.321 5.694 1.346 9.109c0 0 19.883-3.743 34.921-.329 0 0 3.047-2.546.972-8.806.523-3.01 1.394-8.263 1.736-11.622.385.772 2.019 1.918 3.14 3.477 0 0 9.407-7.365 11.052-14.012-.832-.723-1.598-1.585-2.267-2.453-.567-.736-.358-2.056-.765-2.717-.669-1.084-1.804-1.378-1.907-1.682\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.09 289.998s4.295 2.041 7.354 1.021c2.821-.94 4.53.668 7.08 1.178 2.55.51 6.874 1.1 11.686-1.26-.103-5.51-6.889-3.98-11.96-6.713-2.563-1.38-3.784-4.722-3.598-8.799h-9.402s-1.392 10.52-1.16 14.573\",\n fill: \"#CBD1D1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.067 289.826s2.428 1.271 6.759.653c3.058-.437 3.712.481 7.423 1.031 3.712.55 10.724-.069 11.823-.894.413 1.1-.343 2.063-.343 2.063s-1.512.603-4.812.824c-2.03.136-5.8.291-7.607-.503-1.787-1.375-5.247-1.903-5.728-.241-3.918.95-7.355-.286-7.355-.286l-.16-2.647z\",\n fill: \"#2B0849\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M108.341 276.044h3.094s-.103 6.702 4.536 8.558c-4.64.618-8.558-2.303-7.63-8.558\",\n fill: \"#A4AABA\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M57.542 272.401s-2.107 7.416-4.485 12.306c-1.798 3.695-4.225 7.492 5.465 7.492 6.648 0 8.953-.48 7.423-6.599-1.53-6.12.266-13.199.266-13.199h-8.669z\",\n fill: \"#CBD1D1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M51.476 289.793s2.097 1.169 6.633 1.169c6.083 0 8.249-1.65 8.249-1.65s.602 1.114-.619 2.165c-.993.855-3.597 1.591-7.39 1.546-4.145-.048-5.832-.566-6.736-1.168-.825-.55-.687-1.58-.137-2.062\",\n fill: \"#2B0849\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.419 274.304s.033 1.519-.314 2.93c-.349 1.42-1.078 3.104-1.13 4.139-.058 1.151 4.537 1.58 5.155.034.62-1.547 1.294-6.427 1.913-7.252.619-.825-4.903-2.119-5.624.15\",\n fill: \"#A4AABA\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M99.66 278.514l13.378.092s1.298-54.52 1.853-64.403c.554-9.882 3.776-43.364 1.002-63.128l-12.547-.644-22.849.78s-.434 3.966-1.195 9.976c-.063.496-.682.843-.749 1.365-.075.585.423 1.354.32 1.966-2.364 14.08-6.377 33.104-8.744 46.677-.116.666-1.234 1.009-1.458 2.691-.04.302.211 1.525.112 1.795-6.873 18.744-10.949 47.842-14.277 61.885l14.607-.014s2.197-8.57 4.03-16.97c2.811-12.886 23.111-85.01 23.111-85.01l3.016-.521 1.043 46.35s-.224 1.234.337 2.02c.56.785-.56 1.123-.392 2.244l.392 1.794s-.449 7.178-.898 11.89c-.448 4.71-.092 39.165-.092 39.165\",\n fill: \"#7BB2F9\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.085 221.626c1.153.094 4.038-2.019 6.955-4.935M106.36 225.142s2.774-1.11 6.103-3.883\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M107.275 222.1s2.773-1.11 6.102-3.884\",\n stroke: \"#648BD8\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M74.74 224.767s2.622-.591 6.505-3.365M86.03 151.634c-.27 3.106.3 8.525-4.336 9.123M103.625 149.88s.11 14.012-1.293 15.065c-2.219 1.664-2.99 1.944-2.99 1.944M99.79 150.438s.035 12.88-1.196 24.377M93.673 175.911s7.212-1.664 9.431-1.664M74.31 205.861a212.013 212.013 0 0 1-.979 4.56s-1.458 1.832-1.009 3.776c.449 1.944-.947 2.045-4.985 15.355-1.696 5.59-4.49 18.591-6.348 27.597l-.231 1.12M75.689 197.807a320.934 320.934 0 0 1-.882 4.754M82.591 152.233L81.395 162.7s-1.097.15-.5 2.244c.113 1.346-2.674 15.775-5.18 30.43M56.12 274.418h13.31\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M116.241 148.22s-17.047-3.104-35.893.2c.158 2.514-.003 4.15-.003 4.15s14.687-2.818 35.67-.312c.252-2.355.226-4.038.226-4.038\",\n fill: \"#192064\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M106.322 151.165l.003-4.911a.81.81 0 0 0-.778-.815c-2.44-.091-5.066-.108-7.836-.014a.818.818 0 0 0-.789.815l-.003 4.906a.81.81 0 0 0 .831.813c2.385-.06 4.973-.064 7.73.017a.815.815 0 0 0 .842-.81\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M105.207 150.233l.002-3.076a.642.642 0 0 0-.619-.646 94.321 94.321 0 0 0-5.866-.01.65.65 0 0 0-.63.647v3.072a.64.64 0 0 0 .654.644 121.12 121.12 0 0 1 5.794.011c.362.01.665-.28.665-.642\",\n fill: \"#192064\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M100.263 275.415h12.338M101.436 270.53c.006 3.387.042 5.79.111 6.506M101.451 264.548a915.75 915.75 0 0 0-.015 4.337M100.986 174.965l.898 44.642s.673 1.57-.225 2.692c-.897 1.122 2.468.673.898 2.243-1.57 1.57.897 1.122 0 3.365-.596 1.489-.994 21.1-1.096 35.146\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M46.876 83.427s-.516 6.045 7.223 5.552c11.2-.712 9.218-9.345 31.54-21.655-.786-2.708-2.447-4.744-2.447-4.744s-11.068 3.11-22.584 8.046c-6.766 2.9-13.395 6.352-13.732 12.801M104.46 91.057l.941-5.372-8.884-11.43-5.037 5.372-1.74 7.834a.321.321 0 0 0 .108.32c.965.8 6.5 5.013 14.347 3.544a.332.332 0 0 0 .264-.268\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M93.942 79.387s-4.533-2.853-2.432-6.855c1.623-3.09 4.513 1.133 4.513 1.133s.52-3.642 3.121-3.642c.52-1.04 1.561-4.162 1.561-4.162s11.445 2.601 13.526 3.121c0 5.203-2.304 19.424-7.84 19.861-8.892.703-12.449-9.456-12.449-9.456\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M113.874 73.446c2.601-2.081 3.47-9.722 3.47-9.722s-2.479-.49-6.64-2.05c-4.683-2.081-12.798-4.747-17.48.976-9.668 3.223-2.05 19.823-2.05 19.823l2.713-3.021s-3.935-3.287-2.08-6.243c2.17-3.462 3.92 1.073 3.92 1.073s.637-2.387 3.581-3.342c.355-.71 1.036-2.674 1.432-3.85a1.073 1.073 0 0 1 1.263-.704c2.4.558 8.677 2.019 11.356 2.662.522.125.871.615.82 1.15l-.305 3.248z\",\n fill: \"#520038\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M104.977 76.064c-.103.61-.582 1.038-1.07.956-.489-.083-.801-.644-.698-1.254.103-.61.582-1.038 1.07-.956.488.082.8.644.698 1.254M112.132 77.694c-.103.61-.582 1.038-1.07.956-.488-.083-.8-.644-.698-1.254.103-.61.582-1.038 1.07-.956.488.082.8.643.698 1.254\",\n fill: \"#552950\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#DB836E\",\n strokeWidth: \"1.118\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M110.13 74.84l-.896 1.61-.298 4.357h-2.228\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M110.846 74.481s1.79-.716 2.506.537\",\n stroke: \"#5C2552\",\n strokeWidth: \"1.118\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M92.386 74.282s.477-1.114 1.113-.716c.637.398 1.274 1.433.558 1.99-.717.556.159 1.67.159 1.67\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.118\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M103.287 72.93s1.83 1.113 4.137.954\",\n stroke: \"#5C2552\",\n strokeWidth: \"1.118\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M103.685 81.762s2.227 1.193 4.376 1.193M104.64 84.308s.954.398 1.511.318M94.693 81.205s2.308 7.4 10.424 7.639\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.118\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M81.45 89.384s.45 5.647-4.935 12.787M69 82.654s-.726 9.282-8.204 14.206\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.101\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M129.405 122.865s-5.272 7.403-9.422 10.768\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M119.306 107.329s.452 4.366-2.127 32.062\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.101\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M150.028 151.232h-49.837a1.01 1.01 0 0 1-1.01-1.01v-31.688c0-.557.452-1.01 1.01-1.01h49.837c.558 0 1.01.453 1.01 1.01v31.688a1.01 1.01 0 0 1-1.01 1.01\",\n fill: \"#F2D7AD\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M150.29 151.232h-19.863v-33.707h20.784v32.786a.92.92 0 0 1-.92.92\",\n fill: \"#F4D19D\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M123.554 127.896H92.917a.518.518 0 0 1-.425-.816l6.38-9.113c.193-.277.51-.442.85-.442h31.092l-7.26 10.371z\",\n fill: \"#F2D7AD\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#CC9B6E\",\n d: \"M123.689 128.447H99.25v-.519h24.169l7.183-10.26.424.298z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M158.298 127.896h-18.669a2.073 2.073 0 0 1-1.659-.83l-7.156-9.541h19.965c.49 0 .95.23 1.244.622l6.69 8.92a.519.519 0 0 1-.415.83\",\n fill: \"#F4D19D\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#CC9B6E\",\n d: \"M157.847 128.479h-19.384l-7.857-10.475.415-.31 7.7 10.266h19.126zM130.554 150.685l-.032-8.177.519-.002.032 8.177z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#CC9B6E\",\n d: \"M130.511 139.783l-.08-21.414.519-.002.08 21.414zM111.876 140.932l-.498-.143 1.479-5.167.498.143zM108.437 141.06l-2.679-2.935 2.665-3.434.41.318-2.397 3.089 2.384 2.612zM116.607 141.06l-.383-.35 2.383-2.612-2.397-3.089.41-.318 2.665 3.434z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M154.316 131.892l-3.114-1.96.038 3.514-1.043.092c-1.682.115-3.634.23-4.789.23-1.902 0-2.693 2.258 2.23 2.648l-2.645-.596s-2.168 1.317.504 2.3c0 0-1.58 1.217.561 2.58-.584 3.504 5.247 4.058 7.122 3.59 1.876-.47 4.233-2.359 4.487-5.16.28-3.085-.89-5.432-3.35-7.238\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M153.686 133.577s-6.522.47-8.36.372c-1.836-.098-1.904 2.19 2.359 2.264 3.739.15 5.451-.044 5.451-.044\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M145.16 135.877c-1.85 1.346.561 2.355.561 2.355s3.478.898 6.73.617\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M151.89 141.71s-6.28.111-6.73-2.132c-.223-1.346.45-1.402.45-1.402M146.114 140.868s-1.103 3.16 5.44 3.533M151.202 129.932v3.477M52.838 89.286c3.533-.337 8.423-1.248 13.582-7.754\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M168.567 248.318a6.647 6.647 0 0 1-6.647-6.647v-66.466a6.647 6.647 0 1 1 13.294 0v66.466a6.647 6.647 0 0 1-6.647 6.647\",\n fill: \"#5BA02E\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M176.543 247.653a6.647 6.647 0 0 1-6.646-6.647v-33.232a6.647 6.647 0 1 1 13.293 0v33.232a6.647 6.647 0 0 1-6.647 6.647\",\n fill: \"#92C110\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M186.443 293.613H158.92a3.187 3.187 0 0 1-3.187-3.187v-46.134a3.187 3.187 0 0 1 3.187-3.187h27.524a3.187 3.187 0 0 1 3.187 3.187v46.134a3.187 3.187 0 0 1-3.187 3.187\",\n fill: \"#F2D7AD\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M88.979 89.48s7.776 5.384 16.6 2.842\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.101\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n})));\nexport default NoFound;","import * as React from 'react';\nconst ServerError = () => /*#__PURE__*/React.createElement(\"svg\", {\n width: \"254\",\n height: \"294\"\n}, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 .335h253.49v253.49H0z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 293.665h253.49V.401H0z\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 .067)\"\n}, /*#__PURE__*/React.createElement(\"mask\", {\n fill: \"#fff\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 128.134v-2.11C0 56.608 56.273.334 125.69.334h2.11c69.416 0 125.69 56.274 125.69 125.69v2.11c0 69.417-56.274 125.69-125.69 125.69h-2.11C56.273 253.824 0 197.551 0 128.134\",\n fill: \"#E4EBF7\",\n mask: \"url(#b)\"\n})), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.989 132.108a8.332 8.332 0 1 1-16.581-1.671 8.332 8.332 0 0 1 16.58 1.671\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M37.19 135.59l10.553 5.983M48.665 147.884l-12.734 10.861\",\n stroke: \"#FFF\",\n strokeWidth: \"2\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.11 160.816a5.706 5.706 0 1 1-11.354-1.145 5.706 5.706 0 0 1 11.354 1.145M57.943 144.6a5.747 5.747 0 1 1-11.436-1.152 5.747 5.747 0 0 1 11.436 1.153M99.656 27.434l30.024-.013a4.619 4.619 0 1 0-.004-9.238l-30.024.013a4.62 4.62 0 0 0 .004 9.238M111.14 45.896l30.023-.013a4.62 4.62 0 1 0-.004-9.238l-30.024.013a4.619 4.619 0 1 0 .004 9.238\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M113.53 27.421v-.002l15.89-.007a4.619 4.619 0 1 0 .005 9.238l-15.892.007v-.002a4.618 4.618 0 0 0-.004-9.234M150.167 70.091h-3.979a4.789 4.789 0 0 1-4.774-4.775 4.788 4.788 0 0 1 4.774-4.774h3.979a4.789 4.789 0 0 1 4.775 4.774 4.789 4.789 0 0 1-4.775 4.775\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171.687 30.234c0-16.392 13.289-29.68 29.681-29.68 16.392 0 29.68 13.288 29.68 29.68 0 16.393-13.288 29.681-29.68 29.681s-29.68-13.288-29.68-29.68\",\n fill: \"#FF603B\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M203.557 19.435l-.676 15.035a1.514 1.514 0 0 1-3.026 0l-.675-15.035a2.19 2.19 0 1 1 4.377 0m-.264 19.378c.513.477.77 1.1.77 1.87s-.257 1.393-.77 1.907c-.55.476-1.21.733-1.943.733a2.545 2.545 0 0 1-1.87-.77c-.55-.514-.806-1.136-.806-1.87 0-.77.256-1.393.806-1.87.513-.513 1.137-.733 1.87-.733.77 0 1.43.22 1.943.733\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M119.3 133.275c4.426-.598 3.612-1.204 4.079-4.778.675-5.18-3.108-16.935-8.262-25.118-1.088-10.72-12.598-11.24-12.598-11.24s4.312 4.895 4.196 16.199c1.398 5.243.804 14.45.804 14.45s5.255 11.369 11.78 10.487\",\n fill: \"#FFB594\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M100.944 91.61s1.463-.583 3.211.582c8.08 1.398 10.368 6.706 11.3 11.368 1.864 1.282 1.864 2.33 1.864 3.496.365.777 1.515 3.03 1.515 3.03s-7.225 1.748-10.954 6.758c-1.399-6.41-6.936-25.235-6.936-25.235\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M94.008 90.5l1.019-5.815-9.23-11.874-5.233 5.581-2.593 9.863s8.39 5.128 16.037 2.246\",\n fill: \"#FFB594\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M82.931 78.216s-4.557-2.868-2.445-6.892c1.632-3.107 4.537 1.139 4.537 1.139s.524-3.662 3.139-3.662c.523-1.046 1.569-4.184 1.569-4.184s11.507 2.615 13.6 3.138c-.001 5.23-2.317 19.529-7.884 19.969-8.94.706-12.516-9.508-12.516-9.508\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M102.971 72.243c2.616-2.093 3.489-9.775 3.489-9.775s-2.492-.492-6.676-2.062c-4.708-2.092-12.867-4.771-17.575.982-9.54 4.41-2.062 19.93-2.062 19.93l2.729-3.037s-3.956-3.304-2.092-6.277c2.183-3.48 3.943 1.08 3.943 1.08s.64-2.4 3.6-3.36c.356-.714 1.04-2.69 1.44-3.872a1.08 1.08 0 0 1 1.27-.707c2.41.56 8.723 2.03 11.417 2.676.524.126.876.619.825 1.156l-.308 3.266z\",\n fill: \"#520038\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.22 76.514c-.104.613-.585 1.044-1.076.96-.49-.082-.805-.646-.702-1.26.104-.613.585-1.044 1.076-.961.491.083.805.647.702 1.26M94.26 75.074c-.104.613-.585 1.044-1.076.96-.49-.082-.805-.646-.702-1.26.104-.613.585-1.044 1.076-.96.491.082.805.646.702 1.26\",\n fill: \"#552950\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#DB836E\",\n strokeWidth: \"1.063\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M99.206 73.644l-.9 1.62-.3 4.38h-2.24\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M99.926 73.284s1.8-.72 2.52.54\",\n stroke: \"#5C2552\",\n strokeWidth: \"1.117\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M81.367 73.084s.48-1.12 1.12-.72c.64.4 1.28 1.44.56 2s.16 1.68.16 1.68\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.117\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M92.326 71.724s1.84 1.12 4.16.96\",\n stroke: \"#5C2552\",\n strokeWidth: \"1.117\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M92.726 80.604s2.24 1.2 4.4 1.2M93.686 83.164s.96.4 1.52.32M83.687 80.044s1.786 6.547 9.262 7.954\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.063\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M95.548 91.663s-1.068 2.821-8.298 2.105c-7.23-.717-10.29-5.044-10.29-5.044\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.136\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M78.126 87.478s6.526 4.972 16.47 2.486c0 0 9.577 1.02 11.536 5.322 5.36 11.77.543 36.835 0 39.962 3.496 4.055-.466 8.483-.466 8.483-15.624-3.548-35.81-.6-35.81-.6-4.849-3.546-1.223-9.044-1.223-9.044L62.38 110.32c-2.485-15.227.833-19.803 3.549-20.743 3.03-1.049 8.04-1.282 8.04-1.282.496-.058 1.08-.076 1.37-.233 2.36-1.282 2.787-.583 2.787-.583\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.828 89.81s-6.875.465-7.59 8.156c-.466 8.857 3.03 10.954 3.03 10.954s6.075 22.102 16.796 22.957c8.39-2.176 4.758-6.702 4.661-11.42-.233-11.304-7.108-16.897-7.108-16.897s-4.212-13.75-9.789-13.75\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.716 124.225s.855 11.264 9.828 6.486c4.765-2.536 7.581-13.828 9.789-22.568 1.456-5.768 2.58-12.197 2.58-12.197l-4.973-1.709s-2.408 5.516-7.769 12.275c-4.335 5.467-9.144 11.11-9.455 17.713\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M108.463 105.191s1.747 2.724-2.331 30.535c2.376 2.216 1.053 6.012-.233 7.51\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.085\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M123.262 131.527s-.427 2.732-11.77 1.981c-15.187-1.006-25.326-3.25-25.326-3.25l.933-5.8s.723.215 9.71-.068c11.887-.373 18.714-6.07 24.964-1.022 4.039 3.263 1.489 8.16 1.489 8.16\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M70.24 90.974s-5.593-4.739-11.054 2.68c-3.318 7.223.517 15.284 2.664 19.578-.31 3.729 2.33 4.311 2.33 4.311s.108.895 1.516 2.68c4.078-7.03 6.72-9.166 13.711-12.546-.328-.656-1.877-3.265-1.825-3.767.175-1.69-1.282-2.623-1.282-2.623s-.286-.156-1.165-2.738c-.788-2.313-2.036-5.177-4.895-7.575\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M90.232 288.027s4.855 2.308 8.313 1.155c3.188-1.063 5.12.755 8.002 1.331 2.881.577 7.769 1.243 13.207-1.424-.117-6.228-7.786-4.499-13.518-7.588-2.895-1.56-4.276-5.336-4.066-9.944H91.544s-1.573 11.89-1.312 16.47\",\n fill: \"#CBD1D1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M90.207 287.833s2.745 1.437 7.639.738c3.456-.494 3.223.66 7.418 1.282 4.195.621 13.092-.194 14.334-1.126.466 1.242-.388 2.33-.388 2.33s-1.709.682-5.438.932c-2.295.154-8.098.276-10.14-.621-2.02-1.554-4.894-1.515-6.06-.234-4.427 1.075-7.184-.31-7.184-.31l-.181-2.991z\",\n fill: \"#2B0849\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M98.429 272.257h3.496s-.117 7.574 5.127 9.671c-5.244.7-9.672-2.602-8.623-9.671\",\n fill: \"#A4AABA\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M44.425 272.046s-2.208 7.774-4.702 12.899c-1.884 3.874-4.428 7.854 5.729 7.854 6.97 0 9.385-.503 7.782-6.917-1.604-6.415.279-13.836.279-13.836h-9.088z\",\n fill: \"#CBD1D1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.066 290.277s2.198 1.225 6.954 1.225c6.376 0 8.646-1.73 8.646-1.73s.63 1.168-.649 2.27c-1.04.897-3.77 1.668-7.745 1.621-4.347-.05-6.115-.593-7.062-1.224-.864-.577-.72-1.657-.144-2.162\",\n fill: \"#2B0849\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.344 274.041s.035 1.592-.329 3.07c-.365 1.49-1.13 3.255-1.184 4.34-.061 1.206 4.755 1.657 5.403.036.65-1.622 1.357-6.737 2.006-7.602.648-.865-5.14-2.222-5.896.156\",\n fill: \"#A4AABA\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M89.476 277.57l13.899.095s1.349-56.643 1.925-66.909c.576-10.267 3.923-45.052 1.042-65.585l-13.037-.669-23.737.81s-.452 4.12-1.243 10.365c-.065.515-.708.874-.777 1.417-.078.608.439 1.407.332 2.044-2.455 14.627-5.797 32.736-8.256 46.837-.121.693-1.282 1.048-1.515 2.796-.042.314.22 1.584.116 1.865-7.14 19.473-12.202 52.601-15.66 67.19l15.176-.015s2.282-10.145 4.185-18.871c2.922-13.389 24.012-88.32 24.012-88.32l3.133-.954-.158 48.568s-.233 1.282.35 2.098c.583.815-.581 1.167-.408 2.331l.408 1.864s-.466 7.458-.932 12.352c-.467 4.895 1.145 40.69 1.145 40.69\",\n fill: \"#7BB2F9\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M64.57 218.881c1.197.099 4.195-2.097 7.225-5.127M96.024 222.534s2.881-1.152 6.34-4.034\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.085\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M96.973 219.373s2.882-1.153 6.34-4.034\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.032\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M63.172 222.144s2.724-.614 6.759-3.496M74.903 146.166c-.281 3.226.31 8.856-4.506 9.478M93.182 144.344s.115 14.557-1.344 15.65c-2.305 1.73-3.107 2.02-3.107 2.02M89.197 144.923s.269 13.144-1.01 25.088M83.525 170.71s6.81-1.051 9.116-1.051M46.026 270.045l-.892 4.538M46.937 263.289l-.815 4.157M62.725 202.503c-.33 1.618-.102 1.904-.449 3.438 0 0-2.756 1.903-2.29 3.923.466 2.02-.31 3.424-4.505 17.252-1.762 5.807-4.233 18.922-6.165 28.278-.03.144-.521 2.646-1.14 5.8M64.158 194.136c-.295 1.658-.6 3.31-.917 4.938M71.33 146.787l-1.244 10.877s-1.14.155-.519 2.33c.117 1.399-2.778 16.39-5.382 31.615M44.242 273.727H58.07\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.085\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M106.18 142.117c-3.028-.489-18.825-2.744-36.219.2a.625.625 0 0 0-.518.644c.063 1.307.044 2.343.015 2.995a.617.617 0 0 0 .716.636c3.303-.534 17.037-2.412 35.664-.266.347.04.66-.214.692-.56.124-1.347.16-2.425.17-3.029a.616.616 0 0 0-.52-.62\",\n fill: \"#192064\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M96.398 145.264l.003-5.102a.843.843 0 0 0-.809-.847 114.104 114.104 0 0 0-8.141-.014.85.85 0 0 0-.82.847l-.003 5.097c0 .476.388.857.864.845 2.478-.064 5.166-.067 8.03.017a.848.848 0 0 0 .876-.843\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M95.239 144.296l.002-3.195a.667.667 0 0 0-.643-.672c-1.9-.061-3.941-.073-6.094-.01a.675.675 0 0 0-.654.672l-.002 3.192c0 .376.305.677.68.669 1.859-.042 3.874-.043 6.02.012.376.01.69-.291.691-.668\",\n fill: \"#192064\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M90.102 273.522h12.819M91.216 269.761c.006 3.519-.072 5.55 0 6.292M90.923 263.474c-.009 1.599-.016 2.558-.016 4.505M90.44 170.404l.932 46.38s.7 1.631-.233 2.796c-.932 1.166 2.564.7.932 2.33-1.63 1.633.933 1.166 0 3.497-.618 1.546-1.031 21.921-1.138 36.513\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.085\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M73.736 98.665l2.214 4.312s2.098.816 1.865 2.68l.816 2.214M64.297 116.611c.233-.932 2.176-7.147 12.585-10.488M77.598 90.042s7.691 6.137 16.547 2.72\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.085\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M91.974 86.954s5.476-.816 7.574-4.545c1.297-.345.72 2.212-.33 3.671-.7.971-1.01 1.554-1.01 1.554s.194.31.155.816c-.053.697-.175.653-.272 1.048-.081.335.108.657 0 1.049-.046.17-.198.5-.382.878-.12.249-.072.687-.2.948-.231.469-1.562 1.87-2.622 2.855-3.826 3.554-5.018 1.644-6.001-.408-.894-1.865-.661-5.127-.874-6.875-.35-2.914-2.622-3.03-1.923-4.429.343-.685 2.87.69 3.263 1.748.757 2.04 2.952 1.807 2.622 1.69\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M99.8 82.429c-.465.077-.35.272-.97 1.243-.622.971-4.817 2.932-6.39 3.224-2.589.48-2.278-1.56-4.254-2.855-1.69-1.107-3.562-.638-1.398 1.398.99.932.932 1.107 1.398 3.205.335 1.506-.64 3.67.7 5.593\",\n stroke: \"#DB836E\",\n strokeWidth: \".774\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M79.543 108.673c-2.1 2.926-4.266 6.175-5.557 8.762\",\n stroke: \"#E59788\",\n strokeWidth: \".774\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M87.72 124.768s-2.098-1.942-5.127-2.719c-3.03-.777-3.574-.155-5.516.078-1.942.233-3.885-.932-3.652.7.233 1.63 5.05 1.01 5.206 2.097.155 1.087-6.37 2.796-8.313 2.175-.777.777.466 1.864 2.02 2.175.233 1.554 2.253 1.554 2.253 1.554s.699 1.01 2.641 1.088c2.486 1.32 8.934-.7 10.954-1.554 2.02-.855-.466-5.594-.466-5.594\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M73.425 122.826s.66 1.127 3.167 1.418c2.315.27 2.563.583 2.563.583s-2.545 2.894-9.07 2.272M72.416 129.274s3.826.097 4.933-.718M74.98 130.75s1.961.136 3.36-.505M77.232 131.916s1.748.019 2.914-.505M73.328 122.321s-.595-1.032 1.262-.427c1.671.544 2.833.055 5.128.155 1.389.061 3.067-.297 3.982.15 1.606.784 3.632 2.181 3.632 2.181s10.526 1.204 19.033-1.127M78.864 108.104s-8.39 2.758-13.168 12.12\",\n stroke: \"#E59788\",\n strokeWidth: \".774\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M109.278 112.533s3.38-3.613 7.575-4.662\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.085\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M107.375 123.006s9.697-2.745 11.445-.88\",\n stroke: \"#E59788\",\n strokeWidth: \".774\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M194.605 83.656l3.971-3.886M187.166 90.933l3.736-3.655M191.752 84.207l-4.462-4.56M198.453 91.057l-4.133-4.225M129.256 163.074l3.718-3.718M122.291 170.039l3.498-3.498M126.561 163.626l-4.27-4.27M132.975 170.039l-3.955-3.955\",\n stroke: \"#BFCDDD\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M190.156 211.779h-1.604a4.023 4.023 0 0 1-4.011-4.011V175.68a4.023 4.023 0 0 1 4.01-4.01h1.605a4.023 4.023 0 0 1 4.011 4.01v32.088a4.023 4.023 0 0 1-4.01 4.01\",\n fill: \"#A3B4C6\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M237.824 212.977a4.813 4.813 0 0 1-4.813 4.813h-86.636a4.813 4.813 0 0 1 0-9.626h86.636a4.813 4.813 0 0 1 4.813 4.813\",\n fill: \"#A3B4C6\"\n}), /*#__PURE__*/React.createElement(\"mask\", {\n fill: \"#fff\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#A3B4C6\",\n mask: \"url(#d)\",\n d: \"M154.098 190.096h70.513v-84.617h-70.513z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M224.928 190.096H153.78a3.219 3.219 0 0 1-3.208-3.209V167.92a3.219 3.219 0 0 1 3.208-3.21h71.148a3.219 3.219 0 0 1 3.209 3.21v18.967a3.219 3.219 0 0 1-3.21 3.209M224.928 130.832H153.78a3.218 3.218 0 0 1-3.208-3.208v-18.968a3.219 3.219 0 0 1 3.208-3.209h71.148a3.219 3.219 0 0 1 3.209 3.21v18.967a3.218 3.218 0 0 1-3.21 3.208\",\n fill: \"#BFCDDD\",\n mask: \"url(#d)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M159.563 120.546a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M166.98 120.546a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M174.397 120.546a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M222.539 120.546h-22.461a.802.802 0 0 1-.802-.802v-3.208c0-.443.359-.803.802-.803h22.46c.444 0 .803.36.803.803v3.208c0 .443-.36.802-.802.802\",\n fill: \"#FFF\",\n mask: \"url(#d)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M224.928 160.464H153.78a3.218 3.218 0 0 1-3.208-3.209v-18.967a3.219 3.219 0 0 1 3.208-3.209h71.148a3.219 3.219 0 0 1 3.209 3.209v18.967a3.218 3.218 0 0 1-3.21 3.209\",\n fill: \"#BFCDDD\",\n mask: \"url(#d)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M173.455 130.832h49.301M164.984 130.832h6.089M155.952 130.832h6.75M173.837 160.613h49.3M165.365 160.613h6.089M155.57 160.613h6.751\",\n stroke: \"#7C90A5\",\n strokeWidth: \"1.124\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n mask: \"url(#d)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M159.563 151.038a2.407 2.407 0 1 1 0-4.814 2.407 2.407 0 0 1 0 4.814M166.98 151.038a2.407 2.407 0 1 1 0-4.814 2.407 2.407 0 0 1 0 4.814M174.397 151.038a2.407 2.407 0 1 1 .001-4.814 2.407 2.407 0 0 1 0 4.814M222.539 151.038h-22.461a.802.802 0 0 1-.802-.802v-3.209c0-.443.359-.802.802-.802h22.46c.444 0 .803.36.803.802v3.209c0 .443-.36.802-.802.802M159.563 179.987a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M166.98 179.987a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M174.397 179.987a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M222.539 179.987h-22.461a.802.802 0 0 1-.802-.802v-3.209c0-.443.359-.802.802-.802h22.46c.444 0 .803.36.803.802v3.209c0 .443-.36.802-.802.802\",\n fill: \"#FFF\",\n mask: \"url(#d)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M203.04 221.108h-27.372a2.413 2.413 0 0 1-2.406-2.407v-11.448a2.414 2.414 0 0 1 2.406-2.407h27.372a2.414 2.414 0 0 1 2.407 2.407V218.7a2.413 2.413 0 0 1-2.407 2.407\",\n fill: \"#BFCDDD\",\n mask: \"url(#d)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M177.259 207.217v11.52M201.05 207.217v11.52\",\n stroke: \"#A3B4C6\",\n strokeWidth: \"1.124\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n mask: \"url(#d)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M162.873 267.894a9.422 9.422 0 0 1-9.422-9.422v-14.82a9.423 9.423 0 0 1 18.845 0v14.82a9.423 9.423 0 0 1-9.423 9.422\",\n fill: \"#5BA02E\",\n mask: \"url(#d)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171.22 267.83a9.422 9.422 0 0 1-9.422-9.423v-3.438a9.423 9.423 0 0 1 18.845 0v3.438a9.423 9.423 0 0 1-9.422 9.423\",\n fill: \"#92C110\",\n mask: \"url(#d)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M181.31 293.666h-27.712a3.209 3.209 0 0 1-3.209-3.21V269.79a3.209 3.209 0 0 1 3.209-3.21h27.711a3.209 3.209 0 0 1 3.209 3.21v20.668a3.209 3.209 0 0 1-3.209 3.209\",\n fill: \"#F2D7AD\",\n mask: \"url(#d)\"\n})));\nexport default ServerError;","import * as React from 'react';\nconst Unauthorized = () => /*#__PURE__*/React.createElement(\"svg\", {\n width: \"251\",\n height: \"294\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 129.023v-2.084C0 58.364 55.591 2.774 124.165 2.774h2.085c68.574 0 124.165 55.59 124.165 124.165v2.084c0 68.575-55.59 124.166-124.165 124.166h-2.085C55.591 253.189 0 197.598 0 129.023\",\n fill: \"#E4EBF7\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.417 132.92a8.231 8.231 0 1 1-16.38-1.65 8.231 8.231 0 0 1 16.38 1.65\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.652 136.36l10.425 5.91M49.989 148.505l-12.58 10.73\",\n stroke: \"#FFF\",\n strokeWidth: \"2\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.536 161.28a5.636 5.636 0 1 1-11.216-1.13 5.636 5.636 0 0 1 11.216 1.13M59.154 145.261a5.677 5.677 0 1 1-11.297-1.138 5.677 5.677 0 0 1 11.297 1.138M100.36 29.516l29.66-.013a4.562 4.562 0 1 0-.004-9.126l-29.66.013a4.563 4.563 0 0 0 .005 9.126M111.705 47.754l29.659-.013a4.563 4.563 0 1 0-.004-9.126l-29.66.013a4.563 4.563 0 1 0 .005 9.126\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M114.066 29.503V29.5l15.698-.007a4.563 4.563 0 1 0 .004 9.126l-15.698.007v-.002a4.562 4.562 0 0 0-.004-9.122M185.405 137.723c-.55 5.455-5.418 9.432-10.873 8.882-5.456-.55-9.432-5.418-8.882-10.873.55-5.455 5.418-9.432 10.873-8.882 5.455.55 9.432 5.418 8.882 10.873\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M180.17 143.772l12.572 7.129M193.841 158.42L178.67 171.36\",\n stroke: \"#FFF\",\n strokeWidth: \"2\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M185.55 171.926a6.798 6.798 0 1 1-13.528-1.363 6.798 6.798 0 0 1 13.527 1.363M204.12 155.285a6.848 6.848 0 1 1-13.627-1.375 6.848 6.848 0 0 1 13.626 1.375\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M152.988 194.074a2.21 2.21 0 1 1-4.42 0 2.21 2.21 0 0 1 4.42 0zM225.931 118.217a2.21 2.21 0 1 1-4.421 0 2.21 2.21 0 0 1 4.421 0zM217.09 153.051a2.21 2.21 0 1 1-4.421 0 2.21 2.21 0 0 1 4.42 0zM177.84 109.842a2.21 2.21 0 1 1-4.422 0 2.21 2.21 0 0 1 4.421 0zM196.114 94.454a2.21 2.21 0 1 1-4.421 0 2.21 2.21 0 0 1 4.421 0zM202.844 182.523a2.21 2.21 0 1 1-4.42 0 2.21 2.21 0 0 1 4.42 0z\",\n stroke: \"#FFF\",\n strokeWidth: \"2\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#FFF\",\n strokeWidth: \"2\",\n d: \"M215.125 155.262l-1.902 20.075-10.87 5.958M174.601 176.636l-6.322 9.761H156.98l-4.484 6.449M175.874 127.28V111.56M221.51 119.404l-12.77 7.859-15.228-7.86V96.668\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M180.68 29.32C180.68 13.128 193.806 0 210 0c16.193 0 29.32 13.127 29.32 29.32 0 16.194-13.127 29.322-29.32 29.322-16.193 0-29.32-13.128-29.32-29.321\",\n fill: \"#A26EF4\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M221.45 41.706l-21.563-.125a1.744 1.744 0 0 1-1.734-1.754l.071-12.23a1.744 1.744 0 0 1 1.754-1.734l21.562.125c.964.006 1.74.791 1.735 1.755l-.071 12.229a1.744 1.744 0 0 1-1.754 1.734\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M215.106 29.192c-.015 2.577-2.049 4.654-4.543 4.64-2.494-.014-4.504-2.115-4.489-4.693l.04-6.925c.016-2.577 2.05-4.654 4.543-4.64 2.494.015 4.504 2.116 4.49 4.693l-.04 6.925zm-4.53-14.074a6.877 6.877 0 0 0-6.916 6.837l-.043 7.368a6.877 6.877 0 0 0 13.754.08l.042-7.368a6.878 6.878 0 0 0-6.837-6.917zM167.566 68.367h-3.93a4.73 4.73 0 0 1-4.717-4.717 4.73 4.73 0 0 1 4.717-4.717h3.93a4.73 4.73 0 0 1 4.717 4.717 4.73 4.73 0 0 1-4.717 4.717\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M168.214 248.838a6.611 6.611 0 0 1-6.61-6.611v-66.108a6.611 6.611 0 0 1 13.221 0v66.108a6.611 6.611 0 0 1-6.61 6.61\",\n fill: \"#5BA02E\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M176.147 248.176a6.611 6.611 0 0 1-6.61-6.61v-33.054a6.611 6.611 0 1 1 13.221 0v33.053a6.611 6.611 0 0 1-6.61 6.611\",\n fill: \"#92C110\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M185.994 293.89h-27.376a3.17 3.17 0 0 1-3.17-3.17v-45.887a3.17 3.17 0 0 1 3.17-3.17h27.376a3.17 3.17 0 0 1 3.17 3.17v45.886a3.17 3.17 0 0 1-3.17 3.17\",\n fill: \"#F2D7AD\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M81.972 147.673s6.377-.927 17.566-1.28c11.729-.371 17.57 1.086 17.57 1.086s3.697-3.855.968-8.424c1.278-12.077 5.982-32.827.335-48.273-1.116-1.339-3.743-1.512-7.536-.62-1.337.315-7.147-.149-7.983-.1l-15.311-.347s-3.487-.17-8.035-.508c-1.512-.113-4.227-1.683-5.458-.338-.406.443-2.425 5.669-1.97 16.077l8.635 35.642s-3.141 3.61 1.219 7.085\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M75.768 73.325l-.9-6.397 11.982-6.52s7.302-.118 8.038 1.205c.737 1.324-5.616.993-5.616.993s-1.836 1.388-2.615 2.5c-1.654 2.363-.986 6.471-8.318 5.986-1.708.284-2.57 2.233-2.57 2.233\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M52.44 77.672s14.217 9.406 24.973 14.444c1.061.497-2.094 16.183-11.892 11.811-7.436-3.318-20.162-8.44-21.482-14.496-.71-3.258 2.543-7.643 8.401-11.76M141.862 80.113s-6.693 2.999-13.844 6.876c-3.894 2.11-10.137 4.704-12.33 7.988-6.224 9.314 3.536 11.22 12.947 7.503 6.71-2.651 28.999-12.127 13.227-22.367\",\n fill: \"#FFB594\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.166 66.36l3.06 3.881s-2.783 2.67-6.31 5.747c-7.103 6.195-12.803 14.296-15.995 16.44-3.966 2.662-9.754 3.314-12.177-.118-3.553-5.032.464-14.628 31.422-25.95\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M64.674 85.116s-2.34 8.413-8.912 14.447c.652.548 18.586 10.51 22.144 10.056 5.238-.669 6.417-18.968 1.145-20.531-.702-.208-5.901-1.286-8.853-2.167-.87-.26-1.611-1.71-3.545-.936l-1.98-.869zM128.362 85.826s5.318 1.956 7.325 13.734c-.546.274-17.55 12.35-21.829 7.805-6.534-6.94-.766-17.393 4.275-18.61 4.646-1.121 5.03-1.37 10.23-2.929\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M78.18 94.656s.911 7.41-4.914 13.078\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M87.397 94.68s3.124 2.572 10.263 2.572c7.14 0 9.074-3.437 9.074-3.437\",\n stroke: \"#E4EBF7\",\n strokeWidth: \".932\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M117.184 68.639l-6.781-6.177s-5.355-4.314-9.223-.893c-3.867 3.422 4.463 2.083 5.653 4.165 1.19 2.082.848 1.143-2.083.446-5.603-1.331-2.082.893 2.975 5.355 2.091 1.845 6.992.955 6.992.955l2.467-3.851z\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M105.282 91.315l-.297-10.937-15.918-.027-.53 10.45c-.026.403.17.788.515.999 2.049 1.251 9.387 5.093 15.799.424.287-.21.443-.554.431-.91\",\n fill: \"#FFB594\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M107.573 74.24c.817-1.147.982-9.118 1.015-11.928a1.046 1.046 0 0 0-.965-1.055l-4.62-.365c-7.71-1.044-17.071.624-18.253 6.346-5.482 5.813-.421 13.244-.421 13.244s1.963 3.566 4.305 6.791c.756 1.041.398-3.731 3.04-5.929 5.524-4.594 15.899-7.103 15.899-7.103\",\n fill: \"#5C2552\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M88.426 83.206s2.685 6.202 11.602 6.522c7.82.28 8.973-7.008 7.434-17.505l-.909-5.483c-6.118-2.897-15.478.54-15.478.54s-.576 2.044-.19 5.504c-2.276 2.066-1.824 5.618-1.824 5.618s-.905-1.922-1.98-2.321c-.86-.32-1.897.089-2.322 1.98-1.04 4.632 3.667 5.145 3.667 5.145\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#DB836E\",\n strokeWidth: \"1.145\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M100.843 77.099l1.701-.928-1.015-4.324.674-1.406\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M105.546 74.092c-.022.713-.452 1.279-.96 1.263-.51-.016-.904-.607-.882-1.32.021-.713.452-1.278.96-1.263.51.016.904.607.882 1.32M97.592 74.349c-.022.713-.452 1.278-.961 1.263-.509-.016-.904-.607-.882-1.32.022-.713.452-1.279.961-1.263.51.016.904.606.882 1.32\",\n fill: \"#552950\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M91.132 86.786s5.269 4.957 12.679 2.327\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.145\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M99.776 81.903s-3.592.232-1.44-2.79c1.59-1.496 4.897-.46 4.897-.46s1.156 3.906-3.457 3.25\",\n fill: \"#DB836E\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M102.88 70.6s2.483.84 3.402.715M93.883 71.975s2.492-1.144 4.778-1.073\",\n stroke: \"#5C2552\",\n strokeWidth: \"1.526\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M86.32 77.374s.961.879 1.458 2.106c-.377.48-1.033 1.152-.236 1.809M99.337 83.719s1.911.151 2.509-.254\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.145\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M87.782 115.821l15.73-3.012M100.165 115.821l10.04-2.008\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.508 86.763s-1.598 8.83-6.697 14.078\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.114\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M128.31 87.934s3.013 4.121 4.06 11.785\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M64.09 84.816s-6.03 9.912-13.607 9.903\",\n stroke: \"#DB836E\",\n strokeWidth: \".795\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M112.366 65.909l-.142 5.32s5.993 4.472 11.945 9.202c4.482 3.562 8.888 7.455 10.985 8.662 4.804 2.766 8.9 3.355 11.076 1.808 4.071-2.894 4.373-9.878-8.136-15.263-4.271-1.838-16.144-6.36-25.728-9.73\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M130.532 85.488s4.588 5.757 11.619 6.214\",\n stroke: \"#DB836E\",\n strokeWidth: \".75\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M121.708 105.73s-.393 8.564-1.34 13.612\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M115.784 161.512s-3.57-1.488-2.678-7.14\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.52 290.246s4.326 2.057 7.408 1.03c2.842-.948 4.564.673 7.132 1.186 2.57.514 6.925 1.108 11.772-1.269-.104-5.551-6.939-4.01-12.048-6.763-2.582-1.39-3.812-4.757-3.625-8.863h-9.471s-1.402 10.596-1.169 14.68\",\n fill: \"#CBD1D1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.496 290.073s2.447 1.281 6.809.658c3.081-.44 3.74.485 7.479 1.039 3.739.554 10.802-.07 11.91-.9.415 1.108-.347 2.077-.347 2.077s-1.523.608-4.847.831c-2.045.137-5.843.293-7.663-.507-1.8-1.385-5.286-1.917-5.77-.243-3.947.958-7.41-.288-7.41-.288l-.16-2.667z\",\n fill: \"#2B0849\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M108.824 276.19h3.116s-.103 6.751 4.57 8.62c-4.673.624-8.62-2.32-7.686-8.62\",\n fill: \"#A4AABA\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M57.65 272.52s-2.122 7.47-4.518 12.396c-1.811 3.724-4.255 7.548 5.505 7.548 6.698 0 9.02-.483 7.479-6.648-1.541-6.164.268-13.296.268-13.296H57.65z\",\n fill: \"#CBD1D1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M51.54 290.04s2.111 1.178 6.682 1.178c6.128 0 8.31-1.662 8.31-1.662s.605 1.122-.624 2.18c-1 .862-3.624 1.603-7.444 1.559-4.177-.049-5.876-.57-6.786-1.177-.831-.554-.692-1.593-.138-2.078\",\n fill: \"#2B0849\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.533 274.438s.034 1.529-.315 2.95c-.352 1.431-1.087 3.127-1.139 4.17-.058 1.16 4.57 1.592 5.194.035.623-1.559 1.303-6.475 1.927-7.306.622-.831-4.94-2.135-5.667.15\",\n fill: \"#A4AABA\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M100.885 277.015l13.306.092s1.291-54.228 1.843-64.056c.552-9.828 3.756-43.13.997-62.788l-12.48-.64-22.725.776s-.433 3.944-1.19 9.921c-.062.493-.677.838-.744 1.358-.075.582.42 1.347.318 1.956-2.35 14.003-6.343 32.926-8.697 46.425-.116.663-1.227 1.004-1.45 2.677-.04.3.21 1.516.112 1.785-6.836 18.643-10.89 47.584-14.2 61.551l14.528-.014s2.185-8.524 4.008-16.878c2.796-12.817 22.987-84.553 22.987-84.553l3-.517 1.037 46.1s-.223 1.228.334 2.008c.558.782-.556 1.117-.39 2.233l.39 1.784s-.446 7.14-.892 11.826c-.446 4.685-.092 38.954-.092 38.954\",\n fill: \"#7BB2F9\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M77.438 220.434c1.146.094 4.016-2.008 6.916-4.91M107.55 223.931s2.758-1.103 6.069-3.862\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M108.459 220.905s2.759-1.104 6.07-3.863\",\n stroke: \"#648BD8\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.099 223.557s2.608-.587 6.47-3.346M87.33 150.82c-.27 3.088.297 8.478-4.315 9.073M104.829 149.075s.11 13.936-1.286 14.983c-2.207 1.655-2.975 1.934-2.975 1.934M101.014 149.63s.035 12.81-1.19 24.245M94.93 174.965s7.174-1.655 9.38-1.655M75.671 204.754c-.316 1.55-.64 3.067-.973 4.535 0 0-1.45 1.822-1.003 3.756.446 1.934-.943 2.034-4.96 15.273-1.686 5.559-4.464 18.49-6.313 27.447-.078.38-4.018 18.06-4.093 18.423M77.043 196.743a313.269 313.269 0 0 1-.877 4.729M83.908 151.414l-1.19 10.413s-1.091.148-.496 2.23c.111 1.34-2.66 15.692-5.153 30.267M57.58 272.94h13.238\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M117.377 147.423s-16.955-3.087-35.7.199c.157 2.501-.002 4.128-.002 4.128s14.607-2.802 35.476-.31c.251-2.342.226-4.017.226-4.017\",\n fill: \"#192064\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M107.511 150.353l.004-4.885a.807.807 0 0 0-.774-.81c-2.428-.092-5.04-.108-7.795-.014a.814.814 0 0 0-.784.81l-.003 4.88c0 .456.371.82.827.808a140.76 140.76 0 0 1 7.688.017.81.81 0 0 0 .837-.806\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M106.402 149.426l.002-3.06a.64.64 0 0 0-.616-.643 94.135 94.135 0 0 0-5.834-.009.647.647 0 0 0-.626.643l-.001 3.056c0 .36.291.648.651.64 1.78-.04 3.708-.041 5.762.012.36.009.662-.279.662-.64\",\n fill: \"#192064\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.485 273.933h12.272M102.652 269.075c.006 3.368.04 5.759.11 6.47M102.667 263.125c-.009 1.53-.015 2.98-.016 4.313M102.204 174.024l.893 44.402s.669 1.561-.224 2.677c-.892 1.116 2.455.67.893 2.231-1.562 1.562.893 1.116 0 3.347-.592 1.48-.988 20.987-1.09 34.956\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n})));\nexport default Unauthorized;","import { genComponentStyleHook, mergeToken } from '../../theme/internal';\n// ============================== Styles ==============================\nconst genBaseStyle = token => {\n const {\n componentCls,\n lineHeightHeading3,\n iconCls,\n padding,\n paddingXL,\n paddingXS,\n paddingLG,\n marginXS,\n lineHeight\n } = token;\n return {\n // Result\n [componentCls]: {\n padding: `${paddingLG * 2}px ${paddingXL}px`,\n // RTL\n '&-rtl': {\n direction: 'rtl'\n }\n },\n // Exception Status image\n [`${componentCls} ${componentCls}-image`]: {\n width: token.imageWidth,\n height: token.imageHeight,\n margin: 'auto'\n },\n [`${componentCls} ${componentCls}-icon`]: {\n marginBottom: paddingLG,\n textAlign: 'center',\n [`& > ${iconCls}`]: {\n fontSize: token.iconFontSize\n }\n },\n [`${componentCls} ${componentCls}-title`]: {\n color: token.colorTextHeading,\n fontSize: token.titleFontSize,\n lineHeight: lineHeightHeading3,\n marginBlock: marginXS,\n textAlign: 'center'\n },\n [`${componentCls} ${componentCls}-subtitle`]: {\n color: token.colorTextDescription,\n fontSize: token.subtitleFontSize,\n lineHeight,\n textAlign: 'center'\n },\n [`${componentCls} ${componentCls}-content`]: {\n marginTop: paddingLG,\n padding: `${paddingLG}px ${padding * 2.5}px`,\n backgroundColor: token.colorFillAlter\n },\n [`${componentCls} ${componentCls}-extra`]: {\n margin: token.extraMargin,\n textAlign: 'center',\n '& > *': {\n marginInlineEnd: paddingXS,\n '&:last-child': {\n marginInlineEnd: 0\n }\n }\n }\n };\n};\nconst genStatusIconStyle = token => {\n const {\n componentCls,\n iconCls\n } = token;\n return {\n [`${componentCls}-success ${componentCls}-icon > ${iconCls}`]: {\n color: token.resultSuccessIconColor\n },\n [`${componentCls}-error ${componentCls}-icon > ${iconCls}`]: {\n color: token.resultErrorIconColor\n },\n [`${componentCls}-info ${componentCls}-icon > ${iconCls}`]: {\n color: token.resultInfoIconColor\n },\n [`${componentCls}-warning ${componentCls}-icon > ${iconCls}`]: {\n color: token.resultWarningIconColor\n }\n };\n};\nconst genResultStyle = token => [genBaseStyle(token), genStatusIconStyle(token)];\n// ============================== Export ==============================\nconst getStyle = token => genResultStyle(token);\nexport default genComponentStyleHook('Result', token => {\n const resultInfoIconColor = token.colorInfo;\n const resultErrorIconColor = token.colorError;\n const resultSuccessIconColor = token.colorSuccess;\n const resultWarningIconColor = token.colorWarning;\n const resultToken = mergeToken(token, {\n resultInfoIconColor,\n resultErrorIconColor,\n resultSuccessIconColor,\n resultWarningIconColor,\n imageWidth: 250,\n imageHeight: 295\n });\n return [getStyle(resultToken)];\n}, token => ({\n titleFontSize: token.fontSizeHeading3,\n subtitleFontSize: token.fontSize,\n iconFontSize: token.fontSizeHeading3 * 3,\n extraMargin: `${token.paddingLG}px 0 0 0`\n}));","'use client';\n\nimport CheckCircleFilled from \"@ant-design/icons/es/icons/CheckCircleFilled\";\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport ExclamationCircleFilled from \"@ant-design/icons/es/icons/ExclamationCircleFilled\";\nimport WarningFilled from \"@ant-design/icons/es/icons/WarningFilled\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport noFound from './noFound';\nimport serverError from './serverError';\nimport unauthorized from './unauthorized';\nimport useStyle from './style';\nexport const IconMap = {\n success: CheckCircleFilled,\n error: CloseCircleFilled,\n info: ExclamationCircleFilled,\n warning: WarningFilled\n};\nexport const ExceptionMap = {\n '404': noFound,\n '500': serverError,\n '403': unauthorized\n};\n// ExceptionImageMap keys\nconst ExceptionStatus = Object.keys(ExceptionMap);\nconst Icon = _ref => {\n let {\n prefixCls,\n icon,\n status\n } = _ref;\n const className = classNames(`${prefixCls}-icon`);\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof icon === 'string' && icon.length > 2), 'Result', `\\`icon\\` is using ReactNode instead of string naming in v4. Please check \\`${icon}\\` at https://ant.design/components/icon`) : void 0;\n if (ExceptionStatus.includes(`${status}`)) {\n const SVGComponent = ExceptionMap[status];\n return /*#__PURE__*/React.createElement(\"div\", {\n className: `${className} ${prefixCls}-image`\n }, /*#__PURE__*/React.createElement(SVGComponent, null));\n }\n const iconNode = /*#__PURE__*/React.createElement(IconMap[status]);\n if (icon === null || icon === false) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: className\n }, icon || iconNode);\n};\nconst Extra = _ref2 => {\n let {\n prefixCls,\n extra\n } = _ref2;\n if (!extra) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-extra`\n }, extra);\n};\nconst Result = _ref3 => {\n let {\n prefixCls: customizePrefixCls,\n className: customizeClassName,\n rootClassName,\n subTitle,\n title,\n style,\n children,\n status = 'info',\n icon,\n extra\n } = _ref3;\n const {\n getPrefixCls,\n direction,\n result\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('result', customizePrefixCls);\n // Style\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const className = classNames(prefixCls, `${prefixCls}-${status}`, customizeClassName, result === null || result === void 0 ? void 0 : result.className, rootClassName, {\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, hashId);\n const mergedStyle = Object.assign(Object.assign({}, result === null || result === void 0 ? void 0 : result.style), style);\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", {\n className: className,\n style: mergedStyle\n }, /*#__PURE__*/React.createElement(Icon, {\n prefixCls: prefixCls,\n status: status,\n icon: icon\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-title`\n }, title), subTitle && /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-subtitle`\n }, subTitle), /*#__PURE__*/React.createElement(Extra, {\n prefixCls: prefixCls,\n extra: extra\n }), children && /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-content`\n }, children)));\n};\nResult.PRESENTED_IMAGE_403 = ExceptionMap['403'];\nResult.PRESENTED_IMAGE_404 = ExceptionMap['404'];\nResult.PRESENTED_IMAGE_500 = ExceptionMap['500'];\nif (process.env.NODE_ENV !== 'production') {\n Result.displayName = 'Result';\n}\nexport default Result;","'use client';\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n// TODO: 4.0 - codemod should help to change `filterOption` to support node props.\nimport classNames from 'classnames';\nimport RcSelect, { OptGroup, Option } from 'rc-select';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport genPurePanel from '../_util/PurePanel';\nimport { getTransitionName } from '../_util/motion';\nimport { getMergedStatus, getStatusClassNames } from '../_util/statusUtils';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport DefaultRenderEmpty from '../config-provider/defaultRenderEmpty';\nimport useSize from '../config-provider/hooks/useSize';\nimport { FormItemInputContext } from '../form/context';\nimport { useCompactItemContext } from '../space/Compact';\nimport useStyle from './style';\nimport useBuiltinPlacements from './useBuiltinPlacements';\nimport useShowArrow from './useShowArrow';\nimport getIcons from './utils/iconUtil';\nconst SECRET_COMBOBOX_MODE_DO_NOT_USE = 'SECRET_COMBOBOX_MODE_DO_NOT_USE';\nconst InternalSelect = (_a, ref) => {\n var _b;\n var {\n prefixCls: customizePrefixCls,\n bordered = true,\n className,\n rootClassName,\n getPopupContainer,\n popupClassName,\n dropdownClassName,\n listHeight = 256,\n placement,\n listItemHeight = 24,\n size: customizeSize,\n disabled: customDisabled,\n notFoundContent,\n status: customStatus,\n builtinPlacements,\n dropdownMatchSelectWidth,\n popupMatchSelectWidth,\n direction: propDirection,\n style,\n allowClear\n } = _a,\n props = __rest(_a, [\"prefixCls\", \"bordered\", \"className\", \"rootClassName\", \"getPopupContainer\", \"popupClassName\", \"dropdownClassName\", \"listHeight\", \"placement\", \"listItemHeight\", \"size\", \"disabled\", \"notFoundContent\", \"status\", \"builtinPlacements\", \"dropdownMatchSelectWidth\", \"popupMatchSelectWidth\", \"direction\", \"style\", \"allowClear\"]);\n const {\n getPopupContainer: getContextPopupContainer,\n getPrefixCls,\n renderEmpty,\n direction: contextDirection,\n virtual,\n popupMatchSelectWidth: contextPopupMatchSelectWidth,\n popupOverflow,\n select\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('select', customizePrefixCls);\n const rootPrefixCls = getPrefixCls();\n const direction = propDirection !== null && propDirection !== void 0 ? propDirection : contextDirection;\n const {\n compactSize,\n compactItemClassnames\n } = useCompactItemContext(prefixCls, direction);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const mode = React.useMemo(() => {\n const {\n mode: m\n } = props;\n if (m === 'combobox') {\n return undefined;\n }\n if (m === SECRET_COMBOBOX_MODE_DO_NOT_USE) {\n return 'combobox';\n }\n return m;\n }, [props.mode]);\n const isMultiple = mode === 'multiple' || mode === 'tags';\n const showSuffixIcon = useShowArrow(props.suffixIcon, props.showArrow);\n const mergedPopupMatchSelectWidth = (_b = popupMatchSelectWidth !== null && popupMatchSelectWidth !== void 0 ? popupMatchSelectWidth : dropdownMatchSelectWidth) !== null && _b !== void 0 ? _b : contextPopupMatchSelectWidth;\n // ===================== Form Status =====================\n const {\n status: contextStatus,\n hasFeedback,\n isFormItemInput,\n feedbackIcon\n } = React.useContext(FormItemInputContext);\n const mergedStatus = getMergedStatus(contextStatus, customStatus);\n // ===================== Empty =====================\n let mergedNotFound;\n if (notFoundContent !== undefined) {\n mergedNotFound = notFoundContent;\n } else if (mode === 'combobox') {\n mergedNotFound = null;\n } else {\n mergedNotFound = (renderEmpty === null || renderEmpty === void 0 ? void 0 : renderEmpty('Select')) || /*#__PURE__*/React.createElement(DefaultRenderEmpty, {\n componentName: \"Select\"\n });\n }\n // ===================== Icons =====================\n const {\n suffixIcon,\n itemIcon,\n removeIcon,\n clearIcon\n } = getIcons(Object.assign(Object.assign({}, props), {\n multiple: isMultiple,\n hasFeedback,\n feedbackIcon,\n showSuffixIcon,\n prefixCls,\n showArrow: props.showArrow,\n componentName: 'Select'\n }));\n const mergedAllowClear = allowClear === true ? {\n clearIcon\n } : allowClear;\n const selectProps = omit(props, ['suffixIcon', 'itemIcon']);\n const rcSelectRtlDropdownClassName = classNames(popupClassName || dropdownClassName, {\n [`${prefixCls}-dropdown-${direction}`]: direction === 'rtl'\n }, rootClassName, hashId);\n const mergedSize = useSize(ctx => {\n var _a;\n return (_a = customizeSize !== null && customizeSize !== void 0 ? customizeSize : compactSize) !== null && _a !== void 0 ? _a : ctx;\n });\n // ===================== Disabled =====================\n const disabled = React.useContext(DisabledContext);\n const mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;\n const mergedClassName = classNames({\n [`${prefixCls}-lg`]: mergedSize === 'large',\n [`${prefixCls}-sm`]: mergedSize === 'small',\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-borderless`]: !bordered,\n [`${prefixCls}-in-form-item`]: isFormItemInput\n }, getStatusClassNames(prefixCls, mergedStatus, hasFeedback), compactItemClassnames, select === null || select === void 0 ? void 0 : select.className, className, rootClassName, hashId);\n // ===================== Placement =====================\n const memoPlacement = React.useMemo(() => {\n if (placement !== undefined) {\n return placement;\n }\n return direction === 'rtl' ? 'bottomRight' : 'bottomLeft';\n }, [placement, direction]);\n const mergedBuiltinPlacements = useBuiltinPlacements(builtinPlacements, popupOverflow);\n // ====================== Warning ======================\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(!dropdownClassName, 'Select', '`dropdownClassName` is deprecated. Please use `popupClassName` instead.') : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(dropdownMatchSelectWidth === undefined, 'Select', '`dropdownMatchSelectWidth` is deprecated. Please use `popupMatchSelectWidth` instead.') : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!('showArrow' in props), 'Select', '`showArrow` is deprecated which will be removed in next major version. It will be a default behavior, you can hide it by setting `suffixIcon` to null.') : void 0;\n }\n // ====================== Render =======================\n return wrapSSR( /*#__PURE__*/React.createElement(RcSelect, Object.assign({\n ref: ref,\n virtual: virtual,\n showSearch: select === null || select === void 0 ? void 0 : select.showSearch\n }, selectProps, {\n style: Object.assign(Object.assign({}, select === null || select === void 0 ? void 0 : select.style), style),\n dropdownMatchSelectWidth: mergedPopupMatchSelectWidth,\n builtinPlacements: mergedBuiltinPlacements,\n transitionName: getTransitionName(rootPrefixCls, 'slide-up', props.transitionName),\n listHeight: listHeight,\n listItemHeight: listItemHeight,\n mode: mode,\n prefixCls: prefixCls,\n placement: memoPlacement,\n direction: direction,\n suffixIcon: suffixIcon,\n menuItemSelectedIcon: itemIcon,\n removeIcon: removeIcon,\n allowClear: mergedAllowClear,\n notFoundContent: mergedNotFound,\n className: mergedClassName,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n dropdownClassName: rcSelectRtlDropdownClassName,\n disabled: mergedDisabled\n })));\n};\nif (process.env.NODE_ENV !== 'production') {\n InternalSelect.displayName = 'Select';\n}\nconst Select = /*#__PURE__*/React.forwardRef(InternalSelect);\n// We don't care debug panel\n/* istanbul ignore next */\nconst PurePanel = genPurePanel(Select);\nSelect.SECRET_COMBOBOX_MODE_DO_NOT_USE = SECRET_COMBOBOX_MODE_DO_NOT_USE;\nSelect.Option = Option;\nSelect.OptGroup = OptGroup;\nSelect._InternalPanelDoNotUseOrYouWillBeFired = PurePanel;\nif (process.env.NODE_ENV !== 'production') {\n Select.displayName = 'Select';\n}\nexport default Select;","import { resetComponent, textEllipsis } from '../../style';\nimport { initMoveMotion, initSlideMotion, slideDownIn, slideDownOut, slideUpIn, slideUpOut } from '../../style/motion';\nconst genItemStyle = token => {\n const {\n controlPaddingHorizontal,\n controlHeight,\n fontSize,\n lineHeight\n } = token;\n return {\n position: 'relative',\n display: 'block',\n minHeight: controlHeight,\n padding: `${(controlHeight - fontSize * lineHeight) / 2}px ${controlPaddingHorizontal}px`,\n color: token.colorText,\n fontWeight: 'normal',\n fontSize,\n lineHeight,\n boxSizing: 'border-box'\n };\n};\nconst genSingleStyle = token => {\n const {\n antCls,\n componentCls\n } = token;\n const selectItemCls = `${componentCls}-item`;\n const slideUpEnterActive = `&${antCls}-slide-up-enter${antCls}-slide-up-enter-active`;\n const slideUpAppearActive = `&${antCls}-slide-up-appear${antCls}-slide-up-appear-active`;\n const slideUpLeaveActive = `&${antCls}-slide-up-leave${antCls}-slide-up-leave-active`;\n const dropdownPlacementCls = `${componentCls}-dropdown-placement-`;\n return [{\n [`${componentCls}-dropdown`]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'absolute',\n top: -9999,\n zIndex: token.zIndexPopup,\n boxSizing: 'border-box',\n padding: token.paddingXXS,\n overflow: 'hidden',\n fontSize: token.fontSize,\n // Fix select render lag of long text in chrome\n // https://github.com/ant-design/ant-design/issues/11456\n // https://github.com/ant-design/ant-design/issues/11843\n fontVariant: 'initial',\n backgroundColor: token.colorBgElevated,\n borderRadius: token.borderRadiusLG,\n outline: 'none',\n boxShadow: token.boxShadowSecondary,\n [`\n ${slideUpEnterActive}${dropdownPlacementCls}bottomLeft,\n ${slideUpAppearActive}${dropdownPlacementCls}bottomLeft\n `]: {\n animationName: slideUpIn\n },\n [`\n ${slideUpEnterActive}${dropdownPlacementCls}topLeft,\n ${slideUpAppearActive}${dropdownPlacementCls}topLeft,\n ${slideUpEnterActive}${dropdownPlacementCls}topRight,\n ${slideUpAppearActive}${dropdownPlacementCls}topRight\n `]: {\n animationName: slideDownIn\n },\n [`${slideUpLeaveActive}${dropdownPlacementCls}bottomLeft`]: {\n animationName: slideUpOut\n },\n [`\n ${slideUpLeaveActive}${dropdownPlacementCls}topLeft,\n ${slideUpLeaveActive}${dropdownPlacementCls}topRight\n `]: {\n animationName: slideDownOut\n },\n '&-hidden': {\n display: 'none'\n },\n [`${selectItemCls}`]: Object.assign(Object.assign({}, genItemStyle(token)), {\n cursor: 'pointer',\n transition: `background ${token.motionDurationSlow} ease`,\n borderRadius: token.borderRadiusSM,\n // =========== Group ============\n '&-group': {\n color: token.colorTextDescription,\n fontSize: token.fontSizeSM,\n cursor: 'default'\n },\n // =========== Option ===========\n '&-option': {\n display: 'flex',\n '&-content': Object.assign({\n flex: 'auto'\n }, textEllipsis),\n '&-state': {\n flex: 'none',\n display: 'flex',\n alignItems: 'center'\n },\n [`&-active:not(${selectItemCls}-option-disabled)`]: {\n backgroundColor: token.controlItemBgHover\n },\n [`&-selected:not(${selectItemCls}-option-disabled)`]: {\n color: token.colorText,\n fontWeight: token.fontWeightStrong,\n backgroundColor: token.controlItemBgActive,\n [`${selectItemCls}-option-state`]: {\n color: token.colorPrimary\n }\n },\n '&-disabled': {\n [`&${selectItemCls}-option-selected`]: {\n backgroundColor: token.colorBgContainerDisabled\n },\n color: token.colorTextDisabled,\n cursor: 'not-allowed'\n },\n '&-grouped': {\n paddingInlineStart: token.controlPaddingHorizontal * 2\n }\n }\n }),\n // =========================== RTL ===========================\n '&-rtl': {\n direction: 'rtl'\n }\n })\n },\n // Follow code may reuse in other components\n initSlideMotion(token, 'slide-up'), initSlideMotion(token, 'slide-down'), initMoveMotion(token, 'move-up'), initMoveMotion(token, 'move-down')];\n};\nexport default genSingleStyle;","import { resetIcon } from '../../style';\nimport { mergeToken } from '../../theme/internal';\nconst FIXED_ITEM_MARGIN = 2;\nconst getSelectItemStyle = _ref => {\n let {\n controlHeightSM,\n controlHeight,\n lineWidth: borderWidth\n } = _ref;\n const selectItemDist = (controlHeight - controlHeightSM) / 2 - borderWidth;\n const selectItemMargin = Math.ceil(selectItemDist / 2);\n return [selectItemDist, selectItemMargin];\n};\nfunction genSizeStyle(token, suffix) {\n const {\n componentCls,\n iconCls\n } = token;\n const selectOverflowPrefixCls = `${componentCls}-selection-overflow`;\n const selectItemHeight = token.controlHeightSM;\n const [selectItemDist] = getSelectItemStyle(token);\n const suffixCls = suffix ? `${componentCls}-${suffix}` : '';\n return {\n [`${componentCls}-multiple${suffixCls}`]: {\n fontSize: token.fontSize,\n /**\n * Do not merge `height` & `line-height` under style with `selection` & `search`, since chrome\n * may update to redesign with its align logic.\n */\n // =========================== Overflow ===========================\n [selectOverflowPrefixCls]: {\n position: 'relative',\n display: 'flex',\n flex: 'auto',\n flexWrap: 'wrap',\n maxWidth: '100%',\n '&-item': {\n flex: 'none',\n alignSelf: 'center',\n maxWidth: '100%',\n display: 'inline-flex'\n }\n },\n // ========================= Selector =========================\n [`${componentCls}-selector`]: {\n display: 'flex',\n flexWrap: 'wrap',\n alignItems: 'center',\n // Multiple is little different that horizontal is follow the vertical\n padding: `${selectItemDist - FIXED_ITEM_MARGIN}px ${FIXED_ITEM_MARGIN * 2}px`,\n borderRadius: token.borderRadius,\n [`${componentCls}-show-search&`]: {\n cursor: 'text'\n },\n [`${componentCls}-disabled&`]: {\n background: token.colorBgContainerDisabled,\n cursor: 'not-allowed'\n },\n '&:after': {\n display: 'inline-block',\n width: 0,\n margin: `${FIXED_ITEM_MARGIN}px 0`,\n lineHeight: `${selectItemHeight}px`,\n visibility: 'hidden',\n content: '\"\\\\a0\"'\n }\n },\n [`\n &${componentCls}-show-arrow ${componentCls}-selector,\n &${componentCls}-allow-clear ${componentCls}-selector\n `]: {\n paddingInlineEnd: token.fontSizeIcon + token.controlPaddingHorizontal\n },\n // ======================== Selections ========================\n [`${componentCls}-selection-item`]: {\n position: 'relative',\n display: 'flex',\n flex: 'none',\n boxSizing: 'border-box',\n maxWidth: '100%',\n height: selectItemHeight,\n marginTop: FIXED_ITEM_MARGIN,\n marginBottom: FIXED_ITEM_MARGIN,\n lineHeight: `${selectItemHeight - token.lineWidth * 2}px`,\n background: token.colorFillSecondary,\n borderRadius: token.borderRadiusSM,\n cursor: 'default',\n transition: `font-size ${token.motionDurationSlow}, line-height ${token.motionDurationSlow}, height ${token.motionDurationSlow}`,\n userSelect: 'none',\n marginInlineEnd: FIXED_ITEM_MARGIN * 2,\n paddingInlineStart: token.paddingXS,\n paddingInlineEnd: token.paddingXS / 2,\n [`${componentCls}-disabled&`]: {\n color: token.colorTextDisabled,\n cursor: 'not-allowed'\n },\n // It's ok not to do this, but 24px makes bottom narrow in view should adjust\n '&-content': {\n display: 'inline-block',\n marginInlineEnd: token.paddingXS / 2,\n overflow: 'hidden',\n whiteSpace: 'pre',\n textOverflow: 'ellipsis'\n },\n '&-remove': Object.assign(Object.assign({}, resetIcon()), {\n display: 'inline-flex',\n alignItems: 'center',\n color: token.colorIcon,\n fontWeight: 'bold',\n fontSize: 10,\n lineHeight: 'inherit',\n cursor: 'pointer',\n [`> ${iconCls}`]: {\n verticalAlign: '-0.2em'\n },\n '&:hover': {\n color: token.colorIconHover\n }\n })\n },\n // ========================== Input ==========================\n [`${selectOverflowPrefixCls}-item + ${selectOverflowPrefixCls}-item`]: {\n [`${componentCls}-selection-search`]: {\n marginInlineStart: 0\n }\n },\n [`${componentCls}-selection-search`]: {\n display: 'inline-flex',\n position: 'relative',\n maxWidth: '100%',\n marginInlineStart: token.inputPaddingHorizontalBase - selectItemDist,\n [`\n &-input,\n &-mirror\n `]: {\n height: selectItemHeight,\n fontFamily: token.fontFamily,\n lineHeight: `${selectItemHeight}px`,\n transition: `all ${token.motionDurationSlow}`\n },\n '&-input': {\n width: '100%',\n minWidth: 4.1 // fix search cursor missing\n },\n\n '&-mirror': {\n position: 'absolute',\n top: 0,\n insetInlineStart: 0,\n insetInlineEnd: 'auto',\n zIndex: 999,\n whiteSpace: 'pre',\n visibility: 'hidden'\n }\n },\n // ======================= Placeholder =======================\n [`${componentCls}-selection-placeholder `]: {\n position: 'absolute',\n top: '50%',\n insetInlineStart: token.inputPaddingHorizontalBase,\n insetInlineEnd: token.inputPaddingHorizontalBase,\n transform: 'translateY(-50%)',\n transition: `all ${token.motionDurationSlow}`\n }\n }\n };\n}\nconst genMultipleStyle = token => {\n const {\n componentCls\n } = token;\n const smallToken = mergeToken(token, {\n controlHeight: token.controlHeightSM,\n controlHeightSM: token.controlHeightXS,\n borderRadius: token.borderRadiusSM,\n borderRadiusSM: token.borderRadiusXS\n });\n const largeToken = mergeToken(token, {\n fontSize: token.fontSizeLG,\n controlHeight: token.controlHeightLG,\n controlHeightSM: token.controlHeight,\n borderRadius: token.borderRadiusLG,\n borderRadiusSM: token.borderRadius\n });\n const [, smSelectItemMargin] = getSelectItemStyle(token);\n return [genSizeStyle(token),\n // ======================== Small ========================\n genSizeStyle(smallToken, 'sm'),\n // Padding\n {\n [`${componentCls}-multiple${componentCls}-sm`]: {\n [`${componentCls}-selection-placeholder`]: {\n insetInline: token.controlPaddingHorizontalSM - token.lineWidth\n },\n // https://github.com/ant-design/ant-design/issues/29559\n [`${componentCls}-selection-search`]: {\n marginInlineStart: smSelectItemMargin\n }\n }\n },\n // ======================== Large ========================\n genSizeStyle(largeToken, 'lg')];\n};\nexport default genMultipleStyle;","import { resetComponent } from '../../style';\nimport { mergeToken } from '../../theme/internal';\nfunction genSizeStyle(token, suffix) {\n const {\n componentCls,\n inputPaddingHorizontalBase,\n borderRadius\n } = token;\n const selectHeightWithoutBorder = token.controlHeight - token.lineWidth * 2;\n const selectionItemPadding = Math.ceil(token.fontSize * 1.25);\n const suffixCls = suffix ? `${componentCls}-${suffix}` : '';\n return {\n [`${componentCls}-single${suffixCls}`]: {\n fontSize: token.fontSize,\n // ========================= Selector =========================\n [`${componentCls}-selector`]: Object.assign(Object.assign({}, resetComponent(token)), {\n display: 'flex',\n borderRadius,\n [`${componentCls}-selection-search`]: {\n position: 'absolute',\n top: 0,\n insetInlineStart: inputPaddingHorizontalBase,\n insetInlineEnd: inputPaddingHorizontalBase,\n bottom: 0,\n '&-input': {\n width: '100%'\n }\n },\n [`\n ${componentCls}-selection-item,\n ${componentCls}-selection-placeholder\n `]: {\n padding: 0,\n lineHeight: `${selectHeightWithoutBorder}px`,\n transition: `all ${token.motionDurationSlow}, visibility 0s`,\n // Firefox inline-block position calculation is not same as Chrome & Safari. Patch this:\n '@supports (-moz-appearance: meterbar)': {\n lineHeight: `${selectHeightWithoutBorder}px`\n }\n },\n [`${componentCls}-selection-item`]: {\n position: 'relative',\n userSelect: 'none'\n },\n [`${componentCls}-selection-placeholder`]: {\n transition: 'none',\n pointerEvents: 'none'\n },\n // For common baseline align\n [['&:after', /* For '' value baseline align */\n `${componentCls}-selection-item:after`, /* For undefined value baseline align */\n `${componentCls}-selection-placeholder:after`].join(',')]: {\n display: 'inline-block',\n width: 0,\n visibility: 'hidden',\n content: '\"\\\\a0\"'\n }\n }),\n [`\n &${componentCls}-show-arrow ${componentCls}-selection-item,\n &${componentCls}-show-arrow ${componentCls}-selection-placeholder\n `]: {\n paddingInlineEnd: selectionItemPadding\n },\n // Opacity selection if open\n [`&${componentCls}-open ${componentCls}-selection-item`]: {\n color: token.colorTextPlaceholder\n },\n // ========================== Input ==========================\n // We only change the style of non-customize input which is only support by `combobox` mode.\n // Not customize\n [`&:not(${componentCls}-customize-input)`]: {\n [`${componentCls}-selector`]: {\n width: '100%',\n height: token.controlHeight,\n padding: `0 ${inputPaddingHorizontalBase}px`,\n [`${componentCls}-selection-search-input`]: {\n height: selectHeightWithoutBorder\n },\n '&:after': {\n lineHeight: `${selectHeightWithoutBorder}px`\n }\n }\n },\n [`&${componentCls}-customize-input`]: {\n [`${componentCls}-selector`]: {\n '&:after': {\n display: 'none'\n },\n [`${componentCls}-selection-search`]: {\n position: 'static',\n width: '100%'\n },\n [`${componentCls}-selection-placeholder`]: {\n position: 'absolute',\n insetInlineStart: 0,\n insetInlineEnd: 0,\n padding: `0 ${inputPaddingHorizontalBase}px`,\n '&:after': {\n display: 'none'\n }\n }\n }\n }\n }\n };\n}\nexport default function genSingleStyle(token) {\n const {\n componentCls\n } = token;\n const inputPaddingHorizontalSM = token.controlPaddingHorizontalSM - token.lineWidth;\n return [genSizeStyle(token),\n // ======================== Small ========================\n // Shared\n genSizeStyle(mergeToken(token, {\n controlHeight: token.controlHeightSM,\n borderRadius: token.borderRadiusSM\n }), 'sm'),\n // padding\n {\n [`${componentCls}-single${componentCls}-sm`]: {\n [`&:not(${componentCls}-customize-input)`]: {\n [`${componentCls}-selection-search`]: {\n insetInlineStart: inputPaddingHorizontalSM,\n insetInlineEnd: inputPaddingHorizontalSM\n },\n [`${componentCls}-selector`]: {\n padding: `0 ${inputPaddingHorizontalSM}px`\n },\n // With arrow should provides `padding-right` to show the arrow\n [`&${componentCls}-show-arrow ${componentCls}-selection-search`]: {\n insetInlineEnd: inputPaddingHorizontalSM + token.fontSize * 1.5\n },\n [`\n &${componentCls}-show-arrow ${componentCls}-selection-item,\n &${componentCls}-show-arrow ${componentCls}-selection-placeholder\n `]: {\n paddingInlineEnd: token.fontSize * 1.5\n }\n }\n }\n },\n // ======================== Large ========================\n // Shared\n genSizeStyle(mergeToken(token, {\n controlHeight: token.controlHeightLG,\n fontSize: token.fontSizeLG,\n borderRadius: token.borderRadiusLG\n }), 'lg')];\n}","import { resetComponent, resetIcon, textEllipsis } from '../../style';\nimport { genCompactItemStyle } from '../../style/compact-item';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport genDropdownStyle from './dropdown';\nimport genMultipleStyle from './multiple';\nimport genSingleStyle from './single';\n// ============================= Selector =============================\nconst genSelectorStyle = token => {\n const {\n componentCls\n } = token;\n return {\n position: 'relative',\n backgroundColor: token.colorBgContainer,\n border: `${token.lineWidth}px ${token.lineType} ${token.colorBorder}`,\n transition: `all ${token.motionDurationMid} ${token.motionEaseInOut}`,\n input: {\n cursor: 'pointer'\n },\n [`${componentCls}-show-search&`]: {\n cursor: 'text',\n input: {\n cursor: 'auto',\n color: 'inherit'\n }\n },\n [`${componentCls}-disabled&`]: {\n color: token.colorTextDisabled,\n background: token.colorBgContainerDisabled,\n cursor: 'not-allowed',\n [`${componentCls}-multiple&`]: {\n background: token.colorBgContainerDisabled\n },\n input: {\n cursor: 'not-allowed'\n }\n }\n };\n};\n// ============================== Status ==============================\nconst genStatusStyle = function (rootSelectCls, token) {\n let overwriteDefaultBorder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n const {\n componentCls,\n borderHoverColor,\n outlineColor,\n antCls\n } = token;\n const overwriteStyle = overwriteDefaultBorder ? {\n [`${componentCls}-selector`]: {\n borderColor: borderHoverColor\n }\n } : {};\n return {\n [rootSelectCls]: {\n [`&:not(${componentCls}-disabled):not(${componentCls}-customize-input):not(${antCls}-pagination-size-changer)`]: Object.assign(Object.assign({}, overwriteStyle), {\n [`${componentCls}-focused& ${componentCls}-selector`]: {\n borderColor: borderHoverColor,\n boxShadow: `0 0 0 ${token.controlOutlineWidth}px ${outlineColor}`,\n outline: 0\n },\n [`&:hover ${componentCls}-selector`]: {\n borderColor: borderHoverColor\n }\n })\n }\n };\n};\n// ============================== Styles ==============================\n// /* Reset search input style */\nconst getSearchInputWithoutBorderStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-selection-search-input`]: {\n margin: 0,\n padding: 0,\n background: 'transparent',\n border: 'none',\n outline: 'none',\n appearance: 'none',\n '&::-webkit-search-cancel-button': {\n display: 'none',\n '-webkit-appearance': 'none'\n }\n }\n };\n};\n// =============================== Base ===============================\nconst genBaseStyle = token => {\n const {\n componentCls,\n inputPaddingHorizontalBase,\n iconCls\n } = token;\n return {\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'relative',\n display: 'inline-block',\n cursor: 'pointer',\n [`&:not(${componentCls}-customize-input) ${componentCls}-selector`]: Object.assign(Object.assign({}, genSelectorStyle(token)), getSearchInputWithoutBorderStyle(token)),\n // [`&:not(&-disabled):hover ${selectCls}-selector`]: {\n // ...genHoverStyle(token),\n // },\n // ======================== Selection ========================\n [`${componentCls}-selection-item`]: Object.assign({\n flex: 1,\n fontWeight: 'normal'\n }, textEllipsis),\n // ======================= Placeholder =======================\n [`${componentCls}-selection-placeholder`]: Object.assign(Object.assign({}, textEllipsis), {\n flex: 1,\n color: token.colorTextPlaceholder,\n pointerEvents: 'none'\n }),\n // ========================== Arrow ==========================\n [`${componentCls}-arrow`]: Object.assign(Object.assign({}, resetIcon()), {\n position: 'absolute',\n top: '50%',\n insetInlineStart: 'auto',\n insetInlineEnd: inputPaddingHorizontalBase,\n height: token.fontSizeIcon,\n marginTop: -token.fontSizeIcon / 2,\n color: token.colorTextQuaternary,\n fontSize: token.fontSizeIcon,\n lineHeight: 1,\n textAlign: 'center',\n pointerEvents: 'none',\n display: 'flex',\n alignItems: 'center',\n [iconCls]: {\n verticalAlign: 'top',\n transition: `transform ${token.motionDurationSlow}`,\n '> svg': {\n verticalAlign: 'top'\n },\n [`&:not(${componentCls}-suffix)`]: {\n pointerEvents: 'auto'\n }\n },\n [`${componentCls}-disabled &`]: {\n cursor: 'not-allowed'\n },\n '> *:not(:last-child)': {\n marginInlineEnd: 8 // FIXME: magic\n }\n }),\n\n // ========================== Clear ==========================\n [`${componentCls}-clear`]: {\n position: 'absolute',\n top: '50%',\n insetInlineStart: 'auto',\n insetInlineEnd: inputPaddingHorizontalBase,\n zIndex: 1,\n display: 'inline-block',\n width: token.fontSizeIcon,\n height: token.fontSizeIcon,\n marginTop: -token.fontSizeIcon / 2,\n color: token.colorTextQuaternary,\n fontSize: token.fontSizeIcon,\n fontStyle: 'normal',\n lineHeight: 1,\n textAlign: 'center',\n textTransform: 'none',\n background: token.colorBgContainer,\n cursor: 'pointer',\n opacity: 0,\n transition: `color ${token.motionDurationMid} ease, opacity ${token.motionDurationSlow} ease`,\n textRendering: 'auto',\n '&:before': {\n display: 'block'\n },\n '&:hover': {\n color: token.colorTextTertiary\n }\n },\n '&:hover': {\n [`${componentCls}-clear`]: {\n opacity: 1\n }\n }\n }),\n // ========================= Feedback ==========================\n [`${componentCls}-has-feedback`]: {\n [`${componentCls}-clear`]: {\n insetInlineEnd: inputPaddingHorizontalBase + token.fontSize + token.paddingXS\n }\n }\n };\n};\n// ============================== Styles ==============================\nconst genSelectStyle = token => {\n const {\n componentCls\n } = token;\n return [{\n [componentCls]: {\n // ==================== BorderLess ====================\n [`&-borderless ${componentCls}-selector`]: {\n backgroundColor: `transparent !important`,\n borderColor: `transparent !important`,\n boxShadow: `none !important`\n },\n // ==================== In Form ====================\n [`&${componentCls}-in-form-item`]: {\n width: '100%'\n }\n }\n },\n // =====================================================\n // == LTR ==\n // =====================================================\n // Base\n genBaseStyle(token),\n // Single\n genSingleStyle(token),\n // Multiple\n genMultipleStyle(token),\n // Dropdown\n genDropdownStyle(token),\n // =====================================================\n // == RTL ==\n // =====================================================\n {\n [`${componentCls}-rtl`]: {\n direction: 'rtl'\n }\n },\n // =====================================================\n // == Status ==\n // =====================================================\n genStatusStyle(componentCls, mergeToken(token, {\n borderHoverColor: token.colorPrimaryHover,\n outlineColor: token.controlOutline\n })), genStatusStyle(`${componentCls}-status-error`, mergeToken(token, {\n borderHoverColor: token.colorErrorHover,\n outlineColor: token.colorErrorOutline\n }), true), genStatusStyle(`${componentCls}-status-warning`, mergeToken(token, {\n borderHoverColor: token.colorWarningHover,\n outlineColor: token.colorWarningOutline\n }), true),\n // =====================================================\n // == Space Compact ==\n // =====================================================\n genCompactItemStyle(token, {\n borderElCls: `${componentCls}-selector`,\n focusElCls: `${componentCls}-focused`\n })];\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Select', (token, _ref) => {\n let {\n rootPrefixCls\n } = _ref;\n const selectToken = mergeToken(token, {\n rootPrefixCls,\n inputPaddingHorizontalBase: token.paddingSM - 1\n });\n return [genSelectStyle(selectToken)];\n}, token => ({\n zIndexPopup: token.zIndexPopupBase + 50\n}));","const getBuiltInPlacements = popupOverflow => {\n const htmlRegion = popupOverflow === 'scroll' ? 'scroll' : 'visible';\n const sharedConfig = {\n overflow: {\n adjustX: true,\n adjustY: true,\n shiftY: true\n },\n htmlRegion,\n _experimental: {\n dynamicInset: true\n }\n };\n return {\n bottomLeft: Object.assign(Object.assign({}, sharedConfig), {\n points: ['tl', 'bl'],\n offset: [0, 4]\n }),\n bottomRight: Object.assign(Object.assign({}, sharedConfig), {\n points: ['tr', 'br'],\n offset: [0, 4]\n }),\n topLeft: Object.assign(Object.assign({}, sharedConfig), {\n points: ['bl', 'tl'],\n offset: [0, -4]\n }),\n topRight: Object.assign(Object.assign({}, sharedConfig), {\n points: ['br', 'tr'],\n offset: [0, -4]\n })\n };\n};\nexport default function useBuiltinPlacements(buildInPlacements, popupOverflow) {\n return buildInPlacements || getBuiltInPlacements(popupOverflow);\n}","/**\n * Since Select, TreeSelect, Cascader is same Select like component.\n * We just use same hook to handle this logic.\n *\n * If `suffixIcon` is not equal to `null`, always show it.\n */\nexport default function useShowArrow(suffixIcon, showArrow) {\n return showArrow !== undefined ? showArrow : suffixIcon !== null;\n}","import CheckOutlined from \"@ant-design/icons/es/icons/CheckOutlined\";\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport DownOutlined from \"@ant-design/icons/es/icons/DownOutlined\";\nimport LoadingOutlined from \"@ant-design/icons/es/icons/LoadingOutlined\";\nimport SearchOutlined from \"@ant-design/icons/es/icons/SearchOutlined\";\nimport * as React from 'react';\nimport warning from '../../_util/warning';\nexport default function getIcons(_ref) {\n let {\n suffixIcon,\n clearIcon,\n menuItemSelectedIcon,\n removeIcon,\n loading,\n multiple,\n hasFeedback,\n prefixCls,\n showSuffixIcon,\n feedbackIcon,\n showArrow,\n componentName\n } = _ref;\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(!clearIcon, componentName, '`clearIcon` is deprecated, please use `allowClear={{ clearIcon: React.ReactNode }}` instead.') : void 0;\n }\n // Clear Icon\n const mergedClearIcon = clearIcon !== null && clearIcon !== void 0 ? clearIcon : /*#__PURE__*/React.createElement(CloseCircleFilled, null);\n // Validation Feedback Icon\n const getSuffixIconNode = arrowIcon => {\n if (suffixIcon === null && !hasFeedback && !showArrow) {\n return null;\n }\n return /*#__PURE__*/React.createElement(React.Fragment, null, showSuffixIcon !== false && arrowIcon, hasFeedback && feedbackIcon);\n };\n // Arrow item icon\n let mergedSuffixIcon = null;\n if (suffixIcon !== undefined) {\n mergedSuffixIcon = getSuffixIconNode(suffixIcon);\n } else if (loading) {\n mergedSuffixIcon = getSuffixIconNode( /*#__PURE__*/React.createElement(LoadingOutlined, {\n spin: true\n }));\n } else {\n const iconCls = `${prefixCls}-suffix`;\n mergedSuffixIcon = _ref2 => {\n let {\n open,\n showSearch\n } = _ref2;\n if (open && showSearch) {\n return getSuffixIconNode( /*#__PURE__*/React.createElement(SearchOutlined, {\n className: iconCls\n }));\n }\n return getSuffixIconNode( /*#__PURE__*/React.createElement(DownOutlined, {\n className: iconCls\n }));\n };\n }\n // Checked item icon\n let mergedItemIcon = null;\n if (menuItemSelectedIcon !== undefined) {\n mergedItemIcon = menuItemSelectedIcon;\n } else if (multiple) {\n mergedItemIcon = /*#__PURE__*/React.createElement(CheckOutlined, null);\n } else {\n mergedItemIcon = null;\n }\n let mergedRemoveIcon = null;\n if (removeIcon !== undefined) {\n mergedRemoveIcon = removeIcon;\n } else {\n mergedRemoveIcon = /*#__PURE__*/React.createElement(CloseOutlined, null);\n }\n return {\n clearIcon: mergedClearIcon,\n suffixIcon: mergedSuffixIcon,\n itemIcon: mergedItemIcon,\n removeIcon: mergedRemoveIcon\n };\n}","import classNames from 'classnames';\nimport * as React from 'react';\nconst Element = props => {\n const {\n prefixCls,\n className,\n style,\n size,\n shape\n } = props;\n const sizeCls = classNames({\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-sm`]: size === 'small'\n });\n const shapeCls = classNames({\n [`${prefixCls}-circle`]: shape === 'circle',\n [`${prefixCls}-square`]: shape === 'square',\n [`${prefixCls}-round`]: shape === 'round'\n });\n const sizeStyle = React.useMemo(() => typeof size === 'number' ? {\n width: size,\n height: size,\n lineHeight: `${size}px`\n } : {}, [size]);\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(prefixCls, sizeCls, shapeCls, className),\n style: Object.assign(Object.assign({}, sizeStyle), style)\n });\n};\nexport default Element;","import { Keyframes } from '@ant-design/cssinjs';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nconst skeletonClsLoading = new Keyframes(`ant-skeleton-loading`, {\n '0%': {\n backgroundPosition: '100% 50%'\n },\n '100%': {\n backgroundPosition: '0 50%'\n }\n});\nconst genSkeletonElementCommonSize = size => ({\n height: size,\n lineHeight: `${size}px`\n});\nconst genSkeletonElementAvatarSize = size => Object.assign({\n width: size\n}, genSkeletonElementCommonSize(size));\nconst genSkeletonColor = token => ({\n background: token.skeletonLoadingBackground,\n backgroundSize: '400% 100%',\n animationName: skeletonClsLoading,\n animationDuration: token.skeletonLoadingMotionDuration,\n animationTimingFunction: 'ease',\n animationIterationCount: 'infinite'\n});\nconst genSkeletonElementInputSize = size => Object.assign({\n width: size * 5,\n minWidth: size * 5\n}, genSkeletonElementCommonSize(size));\nconst genSkeletonElementAvatar = token => {\n const {\n skeletonAvatarCls,\n gradientFromColor,\n controlHeight,\n controlHeightLG,\n controlHeightSM\n } = token;\n return {\n [`${skeletonAvatarCls}`]: Object.assign({\n display: 'inline-block',\n verticalAlign: 'top',\n background: gradientFromColor\n }, genSkeletonElementAvatarSize(controlHeight)),\n [`${skeletonAvatarCls}${skeletonAvatarCls}-circle`]: {\n borderRadius: '50%'\n },\n [`${skeletonAvatarCls}${skeletonAvatarCls}-lg`]: Object.assign({}, genSkeletonElementAvatarSize(controlHeightLG)),\n [`${skeletonAvatarCls}${skeletonAvatarCls}-sm`]: Object.assign({}, genSkeletonElementAvatarSize(controlHeightSM))\n };\n};\nconst genSkeletonElementInput = token => {\n const {\n controlHeight,\n borderRadiusSM,\n skeletonInputCls,\n controlHeightLG,\n controlHeightSM,\n gradientFromColor\n } = token;\n return {\n [`${skeletonInputCls}`]: Object.assign({\n display: 'inline-block',\n verticalAlign: 'top',\n background: gradientFromColor,\n borderRadius: borderRadiusSM\n }, genSkeletonElementInputSize(controlHeight)),\n [`${skeletonInputCls}-lg`]: Object.assign({}, genSkeletonElementInputSize(controlHeightLG)),\n [`${skeletonInputCls}-sm`]: Object.assign({}, genSkeletonElementInputSize(controlHeightSM))\n };\n};\nconst genSkeletonElementImageSize = size => Object.assign({\n width: size\n}, genSkeletonElementCommonSize(size));\nconst genSkeletonElementImage = token => {\n const {\n skeletonImageCls,\n imageSizeBase,\n gradientFromColor,\n borderRadiusSM\n } = token;\n return {\n [`${skeletonImageCls}`]: Object.assign(Object.assign({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n verticalAlign: 'top',\n background: gradientFromColor,\n borderRadius: borderRadiusSM\n }, genSkeletonElementImageSize(imageSizeBase * 2)), {\n [`${skeletonImageCls}-path`]: {\n fill: '#bfbfbf'\n },\n [`${skeletonImageCls}-svg`]: Object.assign(Object.assign({}, genSkeletonElementImageSize(imageSizeBase)), {\n maxWidth: imageSizeBase * 4,\n maxHeight: imageSizeBase * 4\n }),\n [`${skeletonImageCls}-svg${skeletonImageCls}-svg-circle`]: {\n borderRadius: '50%'\n }\n }),\n [`${skeletonImageCls}${skeletonImageCls}-circle`]: {\n borderRadius: '50%'\n }\n };\n};\nconst genSkeletonElementButtonShape = (token, size, buttonCls) => {\n const {\n skeletonButtonCls\n } = token;\n return {\n [`${buttonCls}${skeletonButtonCls}-circle`]: {\n width: size,\n minWidth: size,\n borderRadius: '50%'\n },\n [`${buttonCls}${skeletonButtonCls}-round`]: {\n borderRadius: size\n }\n };\n};\nconst genSkeletonElementButtonSize = size => Object.assign({\n width: size * 2,\n minWidth: size * 2\n}, genSkeletonElementCommonSize(size));\nconst genSkeletonElementButton = token => {\n const {\n borderRadiusSM,\n skeletonButtonCls,\n controlHeight,\n controlHeightLG,\n controlHeightSM,\n gradientFromColor\n } = token;\n return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({\n [`${skeletonButtonCls}`]: Object.assign({\n display: 'inline-block',\n verticalAlign: 'top',\n background: gradientFromColor,\n borderRadius: borderRadiusSM,\n width: controlHeight * 2,\n minWidth: controlHeight * 2\n }, genSkeletonElementButtonSize(controlHeight))\n }, genSkeletonElementButtonShape(token, controlHeight, skeletonButtonCls)), {\n [`${skeletonButtonCls}-lg`]: Object.assign({}, genSkeletonElementButtonSize(controlHeightLG))\n }), genSkeletonElementButtonShape(token, controlHeightLG, `${skeletonButtonCls}-lg`)), {\n [`${skeletonButtonCls}-sm`]: Object.assign({}, genSkeletonElementButtonSize(controlHeightSM))\n }), genSkeletonElementButtonShape(token, controlHeightSM, `${skeletonButtonCls}-sm`));\n};\n// =============================== Base ===============================\nconst genBaseStyle = token => {\n const {\n componentCls,\n skeletonAvatarCls,\n skeletonTitleCls,\n skeletonParagraphCls,\n skeletonButtonCls,\n skeletonInputCls,\n skeletonImageCls,\n controlHeight,\n controlHeightLG,\n controlHeightSM,\n gradientFromColor,\n padding,\n marginSM,\n borderRadius,\n titleHeight,\n blockRadius,\n paragraphLiHeight,\n controlHeightXS,\n paragraphMarginTop\n } = token;\n return {\n [`${componentCls}`]: {\n display: 'table',\n width: '100%',\n [`${componentCls}-header`]: {\n display: 'table-cell',\n paddingInlineEnd: padding,\n verticalAlign: 'top',\n // Avatar\n [`${skeletonAvatarCls}`]: Object.assign({\n display: 'inline-block',\n verticalAlign: 'top',\n background: gradientFromColor\n }, genSkeletonElementAvatarSize(controlHeight)),\n [`${skeletonAvatarCls}-circle`]: {\n borderRadius: '50%'\n },\n [`${skeletonAvatarCls}-lg`]: Object.assign({}, genSkeletonElementAvatarSize(controlHeightLG)),\n [`${skeletonAvatarCls}-sm`]: Object.assign({}, genSkeletonElementAvatarSize(controlHeightSM))\n },\n [`${componentCls}-content`]: {\n display: 'table-cell',\n width: '100%',\n verticalAlign: 'top',\n // Title\n [`${skeletonTitleCls}`]: {\n width: '100%',\n height: titleHeight,\n background: gradientFromColor,\n borderRadius: blockRadius,\n [`+ ${skeletonParagraphCls}`]: {\n marginBlockStart: controlHeightSM\n }\n },\n // paragraph\n [`${skeletonParagraphCls}`]: {\n padding: 0,\n '> li': {\n width: '100%',\n height: paragraphLiHeight,\n listStyle: 'none',\n background: gradientFromColor,\n borderRadius: blockRadius,\n '+ li': {\n marginBlockStart: controlHeightXS\n }\n }\n },\n [`${skeletonParagraphCls}> li:last-child:not(:first-child):not(:nth-child(2))`]: {\n width: '61%'\n }\n },\n [`&-round ${componentCls}-content`]: {\n [`${skeletonTitleCls}, ${skeletonParagraphCls} > li`]: {\n borderRadius\n }\n }\n },\n [`${componentCls}-with-avatar ${componentCls}-content`]: {\n // Title\n [`${skeletonTitleCls}`]: {\n marginBlockStart: marginSM,\n [`+ ${skeletonParagraphCls}`]: {\n marginBlockStart: paragraphMarginTop\n }\n }\n },\n // Skeleton element\n [`${componentCls}${componentCls}-element`]: Object.assign(Object.assign(Object.assign(Object.assign({\n display: 'inline-block',\n width: 'auto'\n }, genSkeletonElementButton(token)), genSkeletonElementAvatar(token)), genSkeletonElementInput(token)), genSkeletonElementImage(token)),\n // Skeleton Block Button, Input\n [`${componentCls}${componentCls}-block`]: {\n width: '100%',\n [`${skeletonButtonCls}`]: {\n width: '100%'\n },\n [`${skeletonInputCls}`]: {\n width: '100%'\n }\n },\n // With active animation\n [`${componentCls}${componentCls}-active`]: {\n [`\n ${skeletonTitleCls},\n ${skeletonParagraphCls} > li,\n ${skeletonAvatarCls},\n ${skeletonButtonCls},\n ${skeletonInputCls},\n ${skeletonImageCls}\n `]: Object.assign({}, genSkeletonColor(token))\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Skeleton', token => {\n const {\n componentCls\n } = token;\n const skeletonToken = mergeToken(token, {\n skeletonAvatarCls: `${componentCls}-avatar`,\n skeletonTitleCls: `${componentCls}-title`,\n skeletonParagraphCls: `${componentCls}-paragraph`,\n skeletonButtonCls: `${componentCls}-button`,\n skeletonInputCls: `${componentCls}-input`,\n skeletonImageCls: `${componentCls}-image`,\n imageSizeBase: token.controlHeight * 1.5,\n borderRadius: 100,\n skeletonLoadingBackground: `linear-gradient(90deg, ${token.gradientFromColor} 25%, ${token.gradientToColor} 37%, ${token.gradientFromColor} 63%)`,\n skeletonLoadingMotionDuration: '1.4s'\n });\n return [genBaseStyle(skeletonToken)];\n}, token => {\n const {\n colorFillContent,\n colorFill\n } = token;\n const gradientFromColor = colorFillContent;\n const gradientToColor = colorFill;\n return {\n color: gradientFromColor,\n colorGradientEnd: gradientToColor,\n gradientFromColor,\n gradientToColor,\n titleHeight: token.controlHeight / 2,\n blockRadius: token.borderRadiusSM,\n paragraphMarginTop: token.marginLG + token.marginXXS,\n paragraphLiHeight: token.controlHeight / 2\n };\n}, {\n deprecatedTokens: [['color', 'gradientFromColor'], ['colorGradientEnd', 'gradientToColor']]\n});","import classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport Element from './Element';\nimport useStyle from './style';\nconst SkeletonAvatar = props => {\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n active,\n shape = 'circle',\n size = 'default'\n } = props;\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const otherProps = omit(props, ['prefixCls', 'className']);\n const cls = classNames(prefixCls, `${prefixCls}-element`, {\n [`${prefixCls}-active`]: active\n }, className, rootClassName, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", {\n className: cls\n }, /*#__PURE__*/React.createElement(Element, Object.assign({\n prefixCls: `${prefixCls}-avatar`,\n shape: shape,\n size: size\n }, otherProps))));\n};\nexport default SkeletonAvatar;","import classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport Element from './Element';\nimport useStyle from './style';\nconst SkeletonButton = props => {\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n active,\n block = false,\n size = 'default'\n } = props;\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const otherProps = omit(props, ['prefixCls']);\n const cls = classNames(prefixCls, `${prefixCls}-element`, {\n [`${prefixCls}-active`]: active,\n [`${prefixCls}-block`]: block\n }, className, rootClassName, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", {\n className: cls\n }, /*#__PURE__*/React.createElement(Element, Object.assign({\n prefixCls: `${prefixCls}-button`,\n size: size\n }, otherProps))));\n};\nexport default SkeletonButton;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style';\nconst path = 'M365.714286 329.142857q0 45.714286-32.036571 77.677714t-77.677714 32.036571-77.677714-32.036571-32.036571-77.677714 32.036571-77.677714 77.677714-32.036571 77.677714 32.036571 32.036571 77.677714zM950.857143 548.571429l0 256-804.571429 0 0-109.714286 182.857143-182.857143 91.428571 91.428571 292.571429-292.571429zM1005.714286 146.285714l-914.285714 0q-7.460571 0-12.873143 5.412571t-5.412571 12.873143l0 694.857143q0 7.460571 5.412571 12.873143t12.873143 5.412571l914.285714 0q7.460571 0 12.873143-5.412571t5.412571-12.873143l0-694.857143q0-7.460571-5.412571-12.873143t-12.873143-5.412571zM1097.142857 164.571429l0 694.857143q0 37.741714-26.843429 64.585143t-64.585143 26.843429l-914.285714 0q-37.741714 0-64.585143-26.843429t-26.843429-64.585143l0-694.857143q0-37.741714 26.843429-64.585143t64.585143-26.843429l914.285714 0q37.741714 0 64.585143 26.843429t26.843429 64.585143z';\nconst SkeletonImage = props => {\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n style,\n active\n } = props;\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const cls = classNames(prefixCls, `${prefixCls}-element`, {\n [`${prefixCls}-active`]: active\n }, className, rootClassName, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", {\n className: cls\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(`${prefixCls}-image`, className),\n style: style\n }, /*#__PURE__*/React.createElement(\"svg\", {\n viewBox: \"0 0 1098 1024\",\n xmlns: \"http://www.w3.org/2000/svg\",\n className: `${prefixCls}-image-svg`\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: path,\n className: `${prefixCls}-image-path`\n })))));\n};\nexport default SkeletonImage;","import classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport Element from './Element';\nimport useStyle from './style';\nconst SkeletonInput = props => {\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n active,\n block,\n size = 'default'\n } = props;\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const otherProps = omit(props, ['prefixCls']);\n const cls = classNames(prefixCls, `${prefixCls}-element`, {\n [`${prefixCls}-active`]: active,\n [`${prefixCls}-block`]: block\n }, className, rootClassName, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", {\n className: cls\n }, /*#__PURE__*/React.createElement(Element, Object.assign({\n prefixCls: `${prefixCls}-input`,\n size: size\n }, otherProps))));\n};\nexport default SkeletonInput;","// This icon file is generated automatically.\nvar DotChartOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM288 604a64 64 0 10128 0 64 64 0 10-128 0zm118-224a48 48 0 1096 0 48 48 0 10-96 0zm158 228a96 96 0 10192 0 96 96 0 10-192 0zm148-314a56 56 0 10112 0 56 56 0 10-112 0z\" } }] }, \"name\": \"dot-chart\", \"theme\": \"outlined\" };\nexport default DotChartOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport DotChartOutlinedSvg from \"@ant-design/icons-svg/es/asn/DotChartOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar DotChartOutlined = function DotChartOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: DotChartOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n DotChartOutlined.displayName = 'DotChartOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(DotChartOutlined);","import DotChartOutlined from \"@ant-design/icons/es/icons/DotChartOutlined\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style';\nconst SkeletonNode = props => {\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n style,\n active,\n children\n } = props;\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const cls = classNames(prefixCls, `${prefixCls}-element`, {\n [`${prefixCls}-active`]: active\n }, hashId, className, rootClassName);\n const content = children !== null && children !== void 0 ? children : /*#__PURE__*/React.createElement(DotChartOutlined, null);\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", {\n className: cls\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(`${prefixCls}-image`, className),\n style: style\n }, content)));\n};\nexport default SkeletonNode;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nconst Paragraph = props => {\n const getWidth = index => {\n const {\n width,\n rows = 2\n } = props;\n if (Array.isArray(width)) {\n return width[index];\n }\n // last paragraph\n if (rows - 1 === index) {\n return width;\n }\n return undefined;\n };\n const {\n prefixCls,\n className,\n style,\n rows\n } = props;\n const rowList = _toConsumableArray(Array(rows)).map((_, index) =>\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"li\", {\n key: index,\n style: {\n width: getWidth(index)\n }\n }));\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: classNames(prefixCls, className),\n style: style\n }, rowList);\n};\nexport default Paragraph;","/* eslint-disable jsx-a11y/heading-has-content */\nimport classNames from 'classnames';\nimport * as React from 'react';\nconst Title = _ref => {\n let {\n prefixCls,\n className,\n width,\n style\n } = _ref;\n return /*#__PURE__*/React.createElement(\"h3\", {\n className: classNames(prefixCls, className),\n style: Object.assign({\n width\n }, style)\n });\n};\nexport default Title;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport SkeletonAvatar from './Avatar';\nimport SkeletonButton from './Button';\nimport Element from './Element';\nimport SkeletonImage from './Image';\nimport SkeletonInput from './Input';\nimport SkeletonNode from './Node';\nimport Paragraph from './Paragraph';\nimport Title from './Title';\nimport useStyle from './style';\nfunction getComponentProps(prop) {\n if (prop && typeof prop === 'object') {\n return prop;\n }\n return {};\n}\nfunction getAvatarBasicProps(hasTitle, hasParagraph) {\n if (hasTitle && !hasParagraph) {\n // Square avatar\n return {\n size: 'large',\n shape: 'square'\n };\n }\n return {\n size: 'large',\n shape: 'circle'\n };\n}\nfunction getTitleBasicProps(hasAvatar, hasParagraph) {\n if (!hasAvatar && hasParagraph) {\n return {\n width: '38%'\n };\n }\n if (hasAvatar && hasParagraph) {\n return {\n width: '50%'\n };\n }\n return {};\n}\nfunction getParagraphBasicProps(hasAvatar, hasTitle) {\n const basicProps = {};\n // Width\n if (!hasAvatar || !hasTitle) {\n basicProps.width = '61%';\n }\n // Rows\n if (!hasAvatar && hasTitle) {\n basicProps.rows = 3;\n } else {\n basicProps.rows = 2;\n }\n return basicProps;\n}\nconst Skeleton = props => {\n const {\n prefixCls: customizePrefixCls,\n loading,\n className,\n rootClassName,\n style,\n children,\n avatar = false,\n title = true,\n paragraph = true,\n active,\n round\n } = props;\n const {\n getPrefixCls,\n direction,\n skeleton\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n if (loading || !('loading' in props)) {\n const hasAvatar = !!avatar;\n const hasTitle = !!title;\n const hasParagraph = !!paragraph;\n // Avatar\n let avatarNode;\n if (hasAvatar) {\n const avatarProps = Object.assign(Object.assign({\n prefixCls: `${prefixCls}-avatar`\n }, getAvatarBasicProps(hasTitle, hasParagraph)), getComponentProps(avatar));\n // We direct use SkeletonElement as avatar in skeleton internal.\n avatarNode = /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-header`\n }, /*#__PURE__*/React.createElement(Element, Object.assign({}, avatarProps)));\n }\n let contentNode;\n if (hasTitle || hasParagraph) {\n // Title\n let $title;\n if (hasTitle) {\n const titleProps = Object.assign(Object.assign({\n prefixCls: `${prefixCls}-title`\n }, getTitleBasicProps(hasAvatar, hasParagraph)), getComponentProps(title));\n $title = /*#__PURE__*/React.createElement(Title, Object.assign({}, titleProps));\n }\n // Paragraph\n let paragraphNode;\n if (hasParagraph) {\n const paragraphProps = Object.assign(Object.assign({\n prefixCls: `${prefixCls}-paragraph`\n }, getParagraphBasicProps(hasAvatar, hasTitle)), getComponentProps(paragraph));\n paragraphNode = /*#__PURE__*/React.createElement(Paragraph, Object.assign({}, paragraphProps));\n }\n contentNode = /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-content`\n }, $title, paragraphNode);\n }\n const cls = classNames(prefixCls, {\n [`${prefixCls}-with-avatar`]: hasAvatar,\n [`${prefixCls}-active`]: active,\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-round`]: round\n }, skeleton === null || skeleton === void 0 ? void 0 : skeleton.className, className, rootClassName, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", {\n className: cls,\n style: Object.assign(Object.assign({}, skeleton === null || skeleton === void 0 ? void 0 : skeleton.style), style)\n }, avatarNode, contentNode));\n }\n return typeof children !== 'undefined' ? children : null;\n};\nSkeleton.Button = SkeletonButton;\nSkeleton.Avatar = SkeletonAvatar;\nSkeleton.Input = SkeletonInput;\nSkeleton.Image = SkeletonImage;\nSkeleton.Node = SkeletonNode;\nif (process.env.NODE_ENV !== 'production') {\n Skeleton.displayName = 'Skeleton';\n}\nexport default Skeleton;","'use client';\n\nimport Skeleton from './Skeleton';\nexport default Skeleton;","import * as React from 'react';\nvar SliderContext = /*#__PURE__*/React.createContext({\n min: 0,\n max: 0,\n direction: 'ltr',\n step: 1,\n includedStart: 0,\n includedEnd: 0,\n tabIndex: 0,\n keyboard: true\n});\nexport default SliderContext;","export function getOffset(value, min, max) {\n return (value - min) / (max - min);\n}\nexport function getDirectionStyle(direction, value, min, max) {\n var offset = getOffset(value, min, max);\n var positionStyle = {};\n switch (direction) {\n case 'rtl':\n positionStyle.right = \"\".concat(offset * 100, \"%\");\n positionStyle.transform = 'translateX(50%)';\n break;\n case 'btt':\n positionStyle.bottom = \"\".concat(offset * 100, \"%\");\n positionStyle.transform = 'translateY(50%)';\n break;\n case 'ttb':\n positionStyle.top = \"\".concat(offset * 100, \"%\");\n positionStyle.transform = 'translateY(-50%)';\n break;\n default:\n positionStyle.left = \"\".concat(offset * 100, \"%\");\n positionStyle.transform = 'translateX(-50%)';\n break;\n }\n return positionStyle;\n}\n/** Return index value if is list or return value directly */\nexport function getIndex(value, index) {\n return Array.isArray(value) ? value[index] : value;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"value\", \"valueIndex\", \"onStartMove\", \"style\", \"render\", \"dragging\", \"onOffsetChange\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport SliderContext from '../context';\nimport { getDirectionStyle, getIndex } from '../util';\nvar Handle = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames, _getIndex;\n var prefixCls = props.prefixCls,\n value = props.value,\n valueIndex = props.valueIndex,\n onStartMove = props.onStartMove,\n style = props.style,\n render = props.render,\n dragging = props.dragging,\n onOffsetChange = props.onOffsetChange,\n restProps = _objectWithoutProperties(props, _excluded);\n var _React$useContext = React.useContext(SliderContext),\n min = _React$useContext.min,\n max = _React$useContext.max,\n direction = _React$useContext.direction,\n disabled = _React$useContext.disabled,\n keyboard = _React$useContext.keyboard,\n range = _React$useContext.range,\n tabIndex = _React$useContext.tabIndex,\n ariaLabelForHandle = _React$useContext.ariaLabelForHandle,\n ariaLabelledByForHandle = _React$useContext.ariaLabelledByForHandle,\n ariaValueTextFormatterForHandle = _React$useContext.ariaValueTextFormatterForHandle;\n var handlePrefixCls = \"\".concat(prefixCls, \"-handle\");\n // ============================ Events ============================\n var onInternalStartMove = function onInternalStartMove(e) {\n if (!disabled) {\n onStartMove(e, valueIndex);\n }\n };\n // =========================== Keyboard ===========================\n var onKeyDown = function onKeyDown(e) {\n if (!disabled && keyboard) {\n var offset = null;\n // Change the value\n switch (e.which || e.keyCode) {\n case KeyCode.LEFT:\n offset = direction === 'ltr' || direction === 'btt' ? -1 : 1;\n break;\n case KeyCode.RIGHT:\n offset = direction === 'ltr' || direction === 'btt' ? 1 : -1;\n break;\n // Up is plus\n case KeyCode.UP:\n offset = direction !== 'ttb' ? 1 : -1;\n break;\n // Down is minus\n case KeyCode.DOWN:\n offset = direction !== 'ttb' ? -1 : 1;\n break;\n case KeyCode.HOME:\n offset = 'min';\n break;\n case KeyCode.END:\n offset = 'max';\n break;\n case KeyCode.PAGE_UP:\n offset = 2;\n break;\n case KeyCode.PAGE_DOWN:\n offset = -2;\n break;\n }\n if (offset !== null) {\n e.preventDefault();\n onOffsetChange(offset, valueIndex);\n }\n }\n };\n // ============================ Offset ============================\n var positionStyle = getDirectionStyle(direction, value, min, max);\n // ============================ Render ============================\n var handleNode = /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: ref,\n className: classNames(handlePrefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(handlePrefixCls, \"-\").concat(valueIndex + 1), range), _defineProperty(_classNames, \"\".concat(handlePrefixCls, \"-dragging\"), dragging), _classNames)),\n style: _objectSpread(_objectSpread({}, positionStyle), style),\n onMouseDown: onInternalStartMove,\n onTouchStart: onInternalStartMove,\n onKeyDown: onKeyDown,\n tabIndex: disabled ? null : getIndex(tabIndex, valueIndex),\n role: \"slider\",\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n \"aria-valuenow\": value,\n \"aria-disabled\": disabled,\n \"aria-label\": getIndex(ariaLabelForHandle, valueIndex),\n \"aria-labelledby\": getIndex(ariaLabelledByForHandle, valueIndex),\n \"aria-valuetext\": (_getIndex = getIndex(ariaValueTextFormatterForHandle, valueIndex)) === null || _getIndex === void 0 ? void 0 : _getIndex(value)\n }, restProps));\n // Customize\n if (render) {\n handleNode = render(handleNode, {\n index: valueIndex,\n prefixCls: prefixCls,\n value: value,\n dragging: dragging\n });\n }\n return handleNode;\n});\nif (process.env.NODE_ENV !== 'production') {\n Handle.displayName = 'Handle';\n}\nexport default Handle;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"style\", \"onStartMove\", \"onOffsetChange\", \"values\", \"handleRender\", \"draggingIndex\"];\nimport * as React from 'react';\nimport Handle from './Handle';\nimport { getIndex } from '../util';\nvar Handles = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n style = props.style,\n onStartMove = props.onStartMove,\n onOffsetChange = props.onOffsetChange,\n values = props.values,\n handleRender = props.handleRender,\n draggingIndex = props.draggingIndex,\n restProps = _objectWithoutProperties(props, _excluded);\n var handlesRef = React.useRef({});\n React.useImperativeHandle(ref, function () {\n return {\n focus: function focus(index) {\n var _handlesRef$current$i;\n (_handlesRef$current$i = handlesRef.current[index]) === null || _handlesRef$current$i === void 0 ? void 0 : _handlesRef$current$i.focus();\n }\n };\n });\n return /*#__PURE__*/React.createElement(React.Fragment, null, values.map(function (value, index) {\n return /*#__PURE__*/React.createElement(Handle, _extends({\n ref: function ref(node) {\n if (!node) {\n delete handlesRef.current[index];\n } else {\n handlesRef.current[index] = node;\n }\n },\n dragging: draggingIndex === index,\n prefixCls: prefixCls,\n style: getIndex(style, index),\n key: index,\n value: value,\n valueIndex: index,\n onStartMove: onStartMove,\n onOffsetChange: onOffsetChange,\n render: handleRender\n }, restProps));\n }));\n});\nif (process.env.NODE_ENV !== 'production') {\n Handles.displayName = 'Handles';\n}\nexport default Handles;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nfunction getPosition(e) {\n var obj = 'touches' in e ? e.touches[0] : e;\n return {\n pageX: obj.pageX,\n pageY: obj.pageY\n };\n}\nexport default function useDrag(containerRef, direction, rawValues, min, max, formatValue, triggerChange, finishChange, offsetValues) {\n var _React$useState = React.useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n draggingValue = _React$useState2[0],\n setDraggingValue = _React$useState2[1];\n var _React$useState3 = React.useState(-1),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n draggingIndex = _React$useState4[0],\n setDraggingIndex = _React$useState4[1];\n var _React$useState5 = React.useState(rawValues),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n cacheValues = _React$useState6[0],\n setCacheValues = _React$useState6[1];\n var _React$useState7 = React.useState(rawValues),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n originValues = _React$useState8[0],\n setOriginValues = _React$useState8[1];\n var mouseMoveEventRef = React.useRef(null);\n var mouseUpEventRef = React.useRef(null);\n React.useEffect(function () {\n if (draggingIndex === -1) {\n setCacheValues(rawValues);\n }\n }, [rawValues, draggingIndex]);\n // Clean up event\n React.useEffect(function () {\n return function () {\n document.removeEventListener('mousemove', mouseMoveEventRef.current);\n document.removeEventListener('mouseup', mouseUpEventRef.current);\n document.removeEventListener('touchmove', mouseMoveEventRef.current);\n document.removeEventListener('touchend', mouseUpEventRef.current);\n };\n }, []);\n var flushValues = function flushValues(nextValues, nextValue) {\n // Perf: Only update state when value changed\n if (cacheValues.some(function (val, i) {\n return val !== nextValues[i];\n })) {\n if (nextValue !== undefined) {\n setDraggingValue(nextValue);\n }\n setCacheValues(nextValues);\n triggerChange(nextValues);\n }\n };\n var updateCacheValue = function updateCacheValue(valueIndex, offsetPercent) {\n // Basic point offset\n if (valueIndex === -1) {\n // >>>> Dragging on the track\n var startValue = originValues[0];\n var endValue = originValues[originValues.length - 1];\n var maxStartOffset = min - startValue;\n var maxEndOffset = max - endValue;\n // Get valid offset\n var offset = offsetPercent * (max - min);\n offset = Math.max(offset, maxStartOffset);\n offset = Math.min(offset, maxEndOffset);\n // Use first value to revert back of valid offset (like steps marks)\n var formatStartValue = formatValue(startValue + offset);\n offset = formatStartValue - startValue;\n var cloneCacheValues = originValues.map(function (val) {\n return val + offset;\n });\n flushValues(cloneCacheValues);\n } else {\n // >>>> Dragging on the handle\n var offsetDist = (max - min) * offsetPercent;\n // Always start with the valueIndex origin value\n var cloneValues = _toConsumableArray(cacheValues);\n cloneValues[valueIndex] = originValues[valueIndex];\n var next = offsetValues(cloneValues, offsetDist, valueIndex, 'dist');\n flushValues(next.values, next.value);\n }\n };\n // Resolve closure\n var updateCacheValueRef = React.useRef(updateCacheValue);\n updateCacheValueRef.current = updateCacheValue;\n var onStartMove = function onStartMove(e, valueIndex) {\n e.stopPropagation();\n var originValue = rawValues[valueIndex];\n setDraggingIndex(valueIndex);\n setDraggingValue(originValue);\n setOriginValues(rawValues);\n var _getPosition = getPosition(e),\n startX = _getPosition.pageX,\n startY = _getPosition.pageY;\n // Moving\n var onMouseMove = function onMouseMove(event) {\n event.preventDefault();\n var _getPosition2 = getPosition(event),\n moveX = _getPosition2.pageX,\n moveY = _getPosition2.pageY;\n var offsetX = moveX - startX;\n var offsetY = moveY - startY;\n var _containerRef$current = containerRef.current.getBoundingClientRect(),\n width = _containerRef$current.width,\n height = _containerRef$current.height;\n var offSetPercent;\n switch (direction) {\n case 'btt':\n offSetPercent = -offsetY / height;\n break;\n case 'ttb':\n offSetPercent = offsetY / height;\n break;\n case 'rtl':\n offSetPercent = -offsetX / width;\n break;\n default:\n offSetPercent = offsetX / width;\n }\n updateCacheValueRef.current(valueIndex, offSetPercent);\n };\n // End\n var onMouseUp = function onMouseUp(event) {\n event.preventDefault();\n document.removeEventListener('mouseup', onMouseUp);\n document.removeEventListener('mousemove', onMouseMove);\n document.removeEventListener('touchend', onMouseUp);\n document.removeEventListener('touchmove', onMouseMove);\n mouseMoveEventRef.current = null;\n mouseUpEventRef.current = null;\n setDraggingIndex(-1);\n finishChange();\n };\n document.addEventListener('mouseup', onMouseUp);\n document.addEventListener('mousemove', onMouseMove);\n document.addEventListener('touchend', onMouseUp);\n document.addEventListener('touchmove', onMouseMove);\n mouseMoveEventRef.current = onMouseMove;\n mouseUpEventRef.current = onMouseUp;\n };\n // Only return cache value when it mapping with rawValues\n var returnValues = React.useMemo(function () {\n var sourceValues = _toConsumableArray(rawValues).sort(function (a, b) {\n return a - b;\n });\n var targetValues = _toConsumableArray(cacheValues).sort(function (a, b) {\n return a - b;\n });\n return sourceValues.every(function (val, index) {\n return val === targetValues[index];\n }) ? cacheValues : rawValues;\n }, [rawValues, cacheValues]);\n return [draggingIndex, draggingValue, returnValues, onStartMove];\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport SliderContext from '../context';\nimport { getOffset } from '../util';\nexport default function Track(props) {\n var prefixCls = props.prefixCls,\n style = props.style,\n start = props.start,\n end = props.end,\n index = props.index,\n onStartMove = props.onStartMove;\n var _React$useContext = React.useContext(SliderContext),\n direction = _React$useContext.direction,\n min = _React$useContext.min,\n max = _React$useContext.max,\n disabled = _React$useContext.disabled,\n range = _React$useContext.range;\n var trackPrefixCls = \"\".concat(prefixCls, \"-track\");\n var offsetStart = getOffset(start, min, max);\n var offsetEnd = getOffset(end, min, max);\n // ============================ Events ============================\n var onInternalStartMove = function onInternalStartMove(e) {\n if (!disabled && onStartMove) {\n onStartMove(e, -1);\n }\n };\n // ============================ Render ============================\n var positionStyle = {};\n switch (direction) {\n case 'rtl':\n positionStyle.right = \"\".concat(offsetStart * 100, \"%\");\n positionStyle.width = \"\".concat(offsetEnd * 100 - offsetStart * 100, \"%\");\n break;\n case 'btt':\n positionStyle.bottom = \"\".concat(offsetStart * 100, \"%\");\n positionStyle.height = \"\".concat(offsetEnd * 100 - offsetStart * 100, \"%\");\n break;\n case 'ttb':\n positionStyle.top = \"\".concat(offsetStart * 100, \"%\");\n positionStyle.height = \"\".concat(offsetEnd * 100 - offsetStart * 100, \"%\");\n break;\n default:\n positionStyle.left = \"\".concat(offsetStart * 100, \"%\");\n positionStyle.width = \"\".concat(offsetEnd * 100 - offsetStart * 100, \"%\");\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(trackPrefixCls, range && \"\".concat(trackPrefixCls, \"-\").concat(index + 1)),\n style: _objectSpread(_objectSpread({}, positionStyle), style),\n onMouseDown: onInternalStartMove,\n onTouchStart: onInternalStartMove\n });\n}","import * as React from 'react';\nimport SliderContext from '../context';\nimport Track from './Track';\nimport { getIndex } from '../util';\nexport default function Tracks(props) {\n var prefixCls = props.prefixCls,\n style = props.style,\n values = props.values,\n startPoint = props.startPoint,\n onStartMove = props.onStartMove;\n var _React$useContext = React.useContext(SliderContext),\n included = _React$useContext.included,\n range = _React$useContext.range,\n min = _React$useContext.min;\n var trackList = React.useMemo(function () {\n if (!range) {\n // null value do not have track\n if (values.length === 0) {\n return [];\n }\n var startValue = startPoint !== null && startPoint !== void 0 ? startPoint : min;\n var endValue = values[0];\n return [{\n start: Math.min(startValue, endValue),\n end: Math.max(startValue, endValue)\n }];\n }\n // Multiple\n var list = [];\n for (var i = 0; i < values.length - 1; i += 1) {\n list.push({\n start: values[i],\n end: values[i + 1]\n });\n }\n return list;\n }, [values, range, startPoint, min]);\n return included ? trackList.map(function (_ref, index) {\n var start = _ref.start,\n end = _ref.end;\n return /*#__PURE__*/React.createElement(Track, {\n index: index,\n prefixCls: prefixCls,\n style: getIndex(style, index),\n start: start,\n end: end,\n key: index,\n onStartMove: onStartMove\n });\n }) : null;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { getDirectionStyle } from '../util';\nimport SliderContext from '../context';\nexport default function Mark(props) {\n var prefixCls = props.prefixCls,\n style = props.style,\n children = props.children,\n value = props.value,\n _onClick = props.onClick;\n var _React$useContext = React.useContext(SliderContext),\n min = _React$useContext.min,\n max = _React$useContext.max,\n direction = _React$useContext.direction,\n includedStart = _React$useContext.includedStart,\n includedEnd = _React$useContext.includedEnd,\n included = _React$useContext.included;\n var textCls = \"\".concat(prefixCls, \"-text\");\n // ============================ Offset ============================\n var positionStyle = getDirectionStyle(direction, value, min, max);\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(textCls, _defineProperty({}, \"\".concat(textCls, \"-active\"), included && includedStart <= value && value <= includedEnd)),\n style: _objectSpread(_objectSpread({}, positionStyle), style),\n onMouseDown: function onMouseDown(e) {\n e.stopPropagation();\n },\n onClick: function onClick() {\n _onClick(value);\n }\n }, children);\n}","import * as React from 'react';\nimport Mark from './Mark';\nexport default function Marks(props) {\n var prefixCls = props.prefixCls,\n marks = props.marks,\n onClick = props.onClick;\n var markPrefixCls = \"\".concat(prefixCls, \"-mark\");\n // Not render mark if empty\n if (!marks.length) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: markPrefixCls\n }, marks.map(function (_ref) {\n var value = _ref.value,\n style = _ref.style,\n label = _ref.label;\n return /*#__PURE__*/React.createElement(Mark, {\n key: value,\n prefixCls: markPrefixCls,\n style: style,\n value: value,\n onClick: onClick\n }, label);\n }));\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { getDirectionStyle } from '../util';\nimport SliderContext from '../context';\nexport default function Dot(props) {\n var prefixCls = props.prefixCls,\n value = props.value,\n style = props.style,\n activeStyle = props.activeStyle;\n var _React$useContext = React.useContext(SliderContext),\n min = _React$useContext.min,\n max = _React$useContext.max,\n direction = _React$useContext.direction,\n included = _React$useContext.included,\n includedStart = _React$useContext.includedStart,\n includedEnd = _React$useContext.includedEnd;\n var dotClassName = \"\".concat(prefixCls, \"-dot\");\n var active = included && includedStart <= value && value <= includedEnd;\n // ============================ Offset ============================\n var mergedStyle = _objectSpread(_objectSpread({}, getDirectionStyle(direction, value, min, max)), typeof style === 'function' ? style(value) : style);\n if (active) {\n mergedStyle = _objectSpread(_objectSpread({}, mergedStyle), typeof activeStyle === 'function' ? activeStyle(value) : activeStyle);\n }\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(dotClassName, _defineProperty({}, \"\".concat(dotClassName, \"-active\"), active)),\n style: mergedStyle\n });\n}","import * as React from 'react';\nimport SliderContext from '../context';\nimport Dot from './Dot';\nexport default function Steps(props) {\n var prefixCls = props.prefixCls,\n marks = props.marks,\n dots = props.dots,\n style = props.style,\n activeStyle = props.activeStyle;\n var _React$useContext = React.useContext(SliderContext),\n min = _React$useContext.min,\n max = _React$useContext.max,\n step = _React$useContext.step;\n var stepDots = React.useMemo(function () {\n var dotSet = new Set();\n // Add marks\n marks.forEach(function (mark) {\n dotSet.add(mark.value);\n });\n // Fill dots\n if (dots && step !== null) {\n var current = min;\n while (current <= max) {\n dotSet.add(current);\n current += step;\n }\n }\n return Array.from(dotSet);\n }, [min, max, step, dots, marks]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-step\")\n }, stepDots.map(function (dotValue) {\n return /*#__PURE__*/React.createElement(Dot, {\n prefixCls: prefixCls,\n key: dotValue,\n value: dotValue,\n style: style,\n activeStyle: activeStyle\n });\n }));\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nexport default function useOffset(min, max, step, markList, allowCross, pushable) {\n var formatRangeValue = React.useCallback(function (val) {\n var formatNextValue = isFinite(val) ? val : min;\n formatNextValue = Math.min(max, val);\n formatNextValue = Math.max(min, formatNextValue);\n return formatNextValue;\n }, [min, max]);\n var formatStepValue = React.useCallback(function (val) {\n if (step !== null) {\n var stepValue = min + Math.round((formatRangeValue(val) - min) / step) * step;\n // Cut number in case to be like 0.30000000000000004\n var getDecimal = function getDecimal(num) {\n return (String(num).split('.')[1] || '').length;\n };\n var maxDecimal = Math.max(getDecimal(step), getDecimal(max), getDecimal(min));\n var fixedValue = Number(stepValue.toFixed(maxDecimal));\n return min <= fixedValue && fixedValue <= max ? fixedValue : null;\n }\n return null;\n }, [step, min, max, formatRangeValue]);\n var formatValue = React.useCallback(function (val) {\n var formatNextValue = formatRangeValue(val);\n // List align values\n var alignValues = markList.map(function (mark) {\n return mark.value;\n });\n if (step !== null) {\n alignValues.push(formatStepValue(val));\n }\n // min & max\n alignValues.push(min, max);\n // Align with marks\n var closeValue = alignValues[0];\n var closeDist = max - min;\n alignValues.forEach(function (alignValue) {\n var dist = Math.abs(formatNextValue - alignValue);\n if (dist <= closeDist) {\n closeValue = alignValue;\n closeDist = dist;\n }\n });\n return closeValue;\n }, [min, max, markList, step, formatRangeValue, formatStepValue]);\n // ========================== Offset ==========================\n // Single Value\n var offsetValue = function offsetValue(values, offset, valueIndex) {\n var mode = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'unit';\n if (typeof offset === 'number') {\n var nextValue;\n var originValue = values[valueIndex];\n // Only used for `dist` mode\n var targetDistValue = originValue + offset;\n // Compare next step value & mark value which is best match\n var potentialValues = [];\n markList.forEach(function (mark) {\n potentialValues.push(mark.value);\n });\n // Min & Max\n potentialValues.push(min, max);\n // In case origin value is align with mark but not with step\n potentialValues.push(formatStepValue(originValue));\n // Put offset step value also\n var sign = offset > 0 ? 1 : -1;\n if (mode === 'unit') {\n potentialValues.push(formatStepValue(originValue + sign * step));\n } else {\n potentialValues.push(formatStepValue(targetDistValue));\n }\n // Find close one\n potentialValues = potentialValues.filter(function (val) {\n return val !== null;\n })\n // Remove reverse value\n .filter(function (val) {\n return offset < 0 ? val <= originValue : val >= originValue;\n });\n if (mode === 'unit') {\n // `unit` mode can not contain itself\n potentialValues = potentialValues.filter(function (val) {\n return val !== originValue;\n });\n }\n var compareValue = mode === 'unit' ? originValue : targetDistValue;\n nextValue = potentialValues[0];\n var valueDist = Math.abs(nextValue - compareValue);\n potentialValues.forEach(function (potentialValue) {\n var dist = Math.abs(potentialValue - compareValue);\n if (dist < valueDist) {\n nextValue = potentialValue;\n valueDist = dist;\n }\n });\n // Out of range will back to range\n if (nextValue === undefined) {\n return offset < 0 ? min : max;\n }\n // `dist` mode\n if (mode === 'dist') {\n return nextValue;\n }\n // `unit` mode may need another round\n if (Math.abs(offset) > 1) {\n var cloneValues = _toConsumableArray(values);\n cloneValues[valueIndex] = nextValue;\n return offsetValue(cloneValues, offset - sign, valueIndex, mode);\n }\n return nextValue;\n } else if (offset === 'min') {\n return min;\n } else if (offset === 'max') {\n return max;\n }\n };\n /** Same as `offsetValue` but return `changed` mark to tell value changed */\n var offsetChangedValue = function offsetChangedValue(values, offset, valueIndex) {\n var mode = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'unit';\n var originValue = values[valueIndex];\n var nextValue = offsetValue(values, offset, valueIndex, mode);\n return {\n value: nextValue,\n changed: nextValue !== originValue\n };\n };\n var needPush = function needPush(dist) {\n return pushable === null && dist === 0 || typeof pushable === 'number' && dist < pushable;\n };\n // Values\n var offsetValues = function offsetValues(values, offset, valueIndex) {\n var mode = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'unit';\n var nextValues = values.map(formatValue);\n var originValue = nextValues[valueIndex];\n var nextValue = offsetValue(nextValues, offset, valueIndex, mode);\n nextValues[valueIndex] = nextValue;\n if (allowCross === false) {\n // >>>>> Allow Cross\n var pushNum = pushable || 0;\n // ============ AllowCross ===============\n if (valueIndex > 0 && nextValues[valueIndex - 1] !== originValue) {\n nextValues[valueIndex] = Math.max(nextValues[valueIndex], nextValues[valueIndex - 1] + pushNum);\n }\n if (valueIndex < nextValues.length - 1 && nextValues[valueIndex + 1] !== originValue) {\n nextValues[valueIndex] = Math.min(nextValues[valueIndex], nextValues[valueIndex + 1] - pushNum);\n }\n } else if (typeof pushable === 'number' || pushable === null) {\n // >>>>> Pushable\n // =============== Push ==================\n // >>>>>> Basic push\n // End values\n for (var i = valueIndex + 1; i < nextValues.length; i += 1) {\n var changed = true;\n while (needPush(nextValues[i] - nextValues[i - 1]) && changed) {\n var _offsetChangedValue = offsetChangedValue(nextValues, 1, i);\n nextValues[i] = _offsetChangedValue.value;\n changed = _offsetChangedValue.changed;\n }\n }\n // Start values\n for (var _i = valueIndex; _i > 0; _i -= 1) {\n var _changed = true;\n while (needPush(nextValues[_i] - nextValues[_i - 1]) && _changed) {\n var _offsetChangedValue2 = offsetChangedValue(nextValues, -1, _i - 1);\n nextValues[_i - 1] = _offsetChangedValue2.value;\n _changed = _offsetChangedValue2.changed;\n }\n }\n // >>>>> Revert back to safe push range\n // End to Start\n for (var _i2 = nextValues.length - 1; _i2 > 0; _i2 -= 1) {\n var _changed2 = true;\n while (needPush(nextValues[_i2] - nextValues[_i2 - 1]) && _changed2) {\n var _offsetChangedValue3 = offsetChangedValue(nextValues, -1, _i2 - 1);\n nextValues[_i2 - 1] = _offsetChangedValue3.value;\n _changed2 = _offsetChangedValue3.changed;\n }\n }\n // Start to End\n for (var _i3 = 0; _i3 < nextValues.length - 1; _i3 += 1) {\n var _changed3 = true;\n while (needPush(nextValues[_i3 + 1] - nextValues[_i3]) && _changed3) {\n var _offsetChangedValue4 = offsetChangedValue(nextValues, 1, _i3 + 1);\n nextValues[_i3 + 1] = _offsetChangedValue4.value;\n _changed3 = _offsetChangedValue4.changed;\n }\n }\n }\n return {\n value: nextValues[valueIndex],\n values: nextValues\n };\n };\n return [formatValue, offsetValues];\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport isEqual from \"rc-util/es/isEqual\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport Handles from './Handles';\nimport useDrag from './hooks/useDrag';\nimport SliderContext from './context';\nimport Tracks from './Tracks';\nimport Marks from './Marks';\nimport Steps from './Steps';\nimport useOffset from './hooks/useOffset';\nimport warning from \"rc-util/es/warning\";\nvar Slider = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-slider' : _props$prefixCls,\n className = props.className,\n style = props.style,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n _props$keyboard = props.keyboard,\n keyboard = _props$keyboard === void 0 ? true : _props$keyboard,\n autoFocus = props.autoFocus,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n _props$min = props.min,\n min = _props$min === void 0 ? 0 : _props$min,\n _props$max = props.max,\n max = _props$max === void 0 ? 100 : _props$max,\n _props$step = props.step,\n step = _props$step === void 0 ? 1 : _props$step,\n value = props.value,\n defaultValue = props.defaultValue,\n range = props.range,\n count = props.count,\n onChange = props.onChange,\n onBeforeChange = props.onBeforeChange,\n onAfterChange = props.onAfterChange,\n _props$allowCross = props.allowCross,\n allowCross = _props$allowCross === void 0 ? true : _props$allowCross,\n _props$pushable = props.pushable,\n pushable = _props$pushable === void 0 ? false : _props$pushable,\n draggableTrack = props.draggableTrack,\n reverse = props.reverse,\n vertical = props.vertical,\n _props$included = props.included,\n included = _props$included === void 0 ? true : _props$included,\n startPoint = props.startPoint,\n trackStyle = props.trackStyle,\n handleStyle = props.handleStyle,\n railStyle = props.railStyle,\n dotStyle = props.dotStyle,\n activeDotStyle = props.activeDotStyle,\n marks = props.marks,\n dots = props.dots,\n handleRender = props.handleRender,\n _props$tabIndex = props.tabIndex,\n tabIndex = _props$tabIndex === void 0 ? 0 : _props$tabIndex,\n ariaLabelForHandle = props.ariaLabelForHandle,\n ariaLabelledByForHandle = props.ariaLabelledByForHandle,\n ariaValueTextFormatterForHandle = props.ariaValueTextFormatterForHandle;\n var handlesRef = React.useRef();\n var containerRef = React.useRef();\n var direction = React.useMemo(function () {\n if (vertical) {\n return reverse ? 'ttb' : 'btt';\n }\n return reverse ? 'rtl' : 'ltr';\n }, [reverse, vertical]);\n // ============================ Range =============================\n var mergedMin = React.useMemo(function () {\n return isFinite(min) ? min : 0;\n }, [min]);\n var mergedMax = React.useMemo(function () {\n return isFinite(max) ? max : 100;\n }, [max]);\n // ============================= Step =============================\n var mergedStep = React.useMemo(function () {\n return step !== null && step <= 0 ? 1 : step;\n }, [step]);\n // ============================= Push =============================\n var mergedPush = React.useMemo(function () {\n if (pushable === true) {\n return mergedStep;\n }\n return pushable >= 0 ? pushable : false;\n }, [pushable, mergedStep]);\n // ============================ Marks =============================\n var markList = React.useMemo(function () {\n var keys = Object.keys(marks || {});\n return keys.map(function (key) {\n var mark = marks[key];\n var markObj = {\n value: Number(key)\n };\n if (mark && _typeof(mark) === 'object' && ! /*#__PURE__*/React.isValidElement(mark) && ('label' in mark || 'style' in mark)) {\n markObj.style = mark.style;\n markObj.label = mark.label;\n } else {\n markObj.label = mark;\n }\n return markObj;\n }).filter(function (_ref) {\n var label = _ref.label;\n return label || typeof label === 'number';\n }).sort(function (a, b) {\n return a.value - b.value;\n });\n }, [marks]);\n // ============================ Format ============================\n var _useOffset = useOffset(mergedMin, mergedMax, mergedStep, markList, allowCross, mergedPush),\n _useOffset2 = _slicedToArray(_useOffset, 2),\n formatValue = _useOffset2[0],\n offsetValues = _useOffset2[1];\n // ============================ Values ============================\n var _useMergedState = useMergedState(defaultValue, {\n value: value\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedValue = _useMergedState2[0],\n setValue = _useMergedState2[1];\n var rawValues = React.useMemo(function () {\n var valueList = mergedValue === null || mergedValue === undefined ? [] : Array.isArray(mergedValue) ? mergedValue : [mergedValue];\n var _valueList = _slicedToArray(valueList, 1),\n _valueList$ = _valueList[0],\n val0 = _valueList$ === void 0 ? mergedMin : _valueList$;\n var returnValues = mergedValue === null ? [] : [val0];\n // Format as range\n if (range) {\n returnValues = _toConsumableArray(valueList);\n // When count provided or value is `undefined`, we fill values\n if (count || mergedValue === undefined) {\n var pointCount = count >= 0 ? count + 1 : 2;\n returnValues = returnValues.slice(0, pointCount);\n // Fill with count\n while (returnValues.length < pointCount) {\n var _returnValues;\n returnValues.push((_returnValues = returnValues[returnValues.length - 1]) !== null && _returnValues !== void 0 ? _returnValues : mergedMin);\n }\n }\n returnValues.sort(function (a, b) {\n return a - b;\n });\n }\n // Align in range\n returnValues.forEach(function (val, index) {\n returnValues[index] = formatValue(val);\n });\n return returnValues;\n }, [mergedValue, range, mergedMin, count, formatValue]);\n // =========================== onChange ===========================\n var rawValuesRef = React.useRef(rawValues);\n rawValuesRef.current = rawValues;\n var getTriggerValue = function getTriggerValue(triggerValues) {\n return range ? triggerValues : triggerValues[0];\n };\n var triggerChange = function triggerChange(nextValues) {\n // Order first\n var cloneNextValues = _toConsumableArray(nextValues).sort(function (a, b) {\n return a - b;\n });\n // Trigger event if needed\n if (onChange && !isEqual(cloneNextValues, rawValuesRef.current, true)) {\n onChange(getTriggerValue(cloneNextValues));\n }\n // We set this later since it will re-render component immediately\n setValue(cloneNextValues);\n };\n var changeToCloseValue = function changeToCloseValue(newValue) {\n if (!disabled) {\n var valueIndex = 0;\n var valueDist = mergedMax - mergedMin;\n rawValues.forEach(function (val, index) {\n var dist = Math.abs(newValue - val);\n if (dist <= valueDist) {\n valueDist = dist;\n valueIndex = index;\n }\n });\n // Create new values\n var cloneNextValues = _toConsumableArray(rawValues);\n cloneNextValues[valueIndex] = newValue;\n // Fill value to match default 2\n if (range && !rawValues.length && count === undefined) {\n cloneNextValues.push(newValue);\n }\n onBeforeChange === null || onBeforeChange === void 0 ? void 0 : onBeforeChange(getTriggerValue(cloneNextValues));\n triggerChange(cloneNextValues);\n onAfterChange === null || onAfterChange === void 0 ? void 0 : onAfterChange(getTriggerValue(cloneNextValues));\n }\n };\n // ============================ Click =============================\n var onSliderMouseDown = function onSliderMouseDown(e) {\n e.preventDefault();\n var _containerRef$current = containerRef.current.getBoundingClientRect(),\n width = _containerRef$current.width,\n height = _containerRef$current.height,\n left = _containerRef$current.left,\n top = _containerRef$current.top,\n bottom = _containerRef$current.bottom,\n right = _containerRef$current.right;\n var clientX = e.clientX,\n clientY = e.clientY;\n var percent;\n switch (direction) {\n case 'btt':\n percent = (bottom - clientY) / height;\n break;\n case 'ttb':\n percent = (clientY - top) / height;\n break;\n case 'rtl':\n percent = (right - clientX) / width;\n break;\n default:\n percent = (clientX - left) / width;\n }\n var nextValue = mergedMin + percent * (mergedMax - mergedMin);\n changeToCloseValue(formatValue(nextValue));\n };\n // =========================== Keyboard ===========================\n var _React$useState = React.useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n keyboardValue = _React$useState2[0],\n setKeyboardValue = _React$useState2[1];\n var onHandleOffsetChange = function onHandleOffsetChange(offset, valueIndex) {\n if (!disabled) {\n var next = offsetValues(rawValues, offset, valueIndex);\n onBeforeChange === null || onBeforeChange === void 0 ? void 0 : onBeforeChange(getTriggerValue(rawValues));\n triggerChange(next.values);\n onAfterChange === null || onAfterChange === void 0 ? void 0 : onAfterChange(getTriggerValue(next.values));\n setKeyboardValue(next.value);\n }\n };\n React.useEffect(function () {\n if (keyboardValue !== null) {\n var valueIndex = rawValues.indexOf(keyboardValue);\n if (valueIndex >= 0) {\n handlesRef.current.focus(valueIndex);\n }\n }\n setKeyboardValue(null);\n }, [keyboardValue]);\n // ============================= Drag =============================\n var mergedDraggableTrack = React.useMemo(function () {\n if (draggableTrack && mergedStep === null) {\n if (process.env.NODE_ENV !== 'production') {\n warning(false, '`draggableTrack` is not supported when `step` is `null`.');\n }\n return false;\n }\n return draggableTrack;\n }, [draggableTrack, mergedStep]);\n var finishChange = function finishChange() {\n onAfterChange === null || onAfterChange === void 0 ? void 0 : onAfterChange(getTriggerValue(rawValuesRef.current));\n };\n var _useDrag = useDrag(containerRef, direction, rawValues, mergedMin, mergedMax, formatValue, triggerChange, finishChange, offsetValues),\n _useDrag2 = _slicedToArray(_useDrag, 4),\n draggingIndex = _useDrag2[0],\n draggingValue = _useDrag2[1],\n cacheValues = _useDrag2[2],\n onStartDrag = _useDrag2[3];\n var onStartMove = function onStartMove(e, valueIndex) {\n onStartDrag(e, valueIndex);\n onBeforeChange === null || onBeforeChange === void 0 ? void 0 : onBeforeChange(getTriggerValue(rawValuesRef.current));\n };\n // Auto focus for updated handle\n var dragging = draggingIndex !== -1;\n React.useEffect(function () {\n if (!dragging) {\n var valueIndex = rawValues.lastIndexOf(draggingValue);\n handlesRef.current.focus(valueIndex);\n }\n }, [dragging]);\n // =========================== Included ===========================\n var sortedCacheValues = React.useMemo(function () {\n return _toConsumableArray(cacheValues).sort(function (a, b) {\n return a - b;\n });\n }, [cacheValues]);\n // Provide a range values with included [min, max]\n // Used for Track, Mark & Dot\n var _React$useMemo = React.useMemo(function () {\n if (!range) {\n return [mergedMin, sortedCacheValues[0]];\n }\n return [sortedCacheValues[0], sortedCacheValues[sortedCacheValues.length - 1]];\n }, [sortedCacheValues, range, mergedMin]),\n _React$useMemo2 = _slicedToArray(_React$useMemo, 2),\n includedStart = _React$useMemo2[0],\n includedEnd = _React$useMemo2[1];\n // ============================= Refs =============================\n React.useImperativeHandle(ref, function () {\n return {\n focus: function focus() {\n handlesRef.current.focus(0);\n },\n blur: function blur() {\n var _document = document,\n activeElement = _document.activeElement;\n if (containerRef.current.contains(activeElement)) {\n activeElement === null || activeElement === void 0 ? void 0 : activeElement.blur();\n }\n }\n };\n });\n // ========================== Auto Focus ==========================\n React.useEffect(function () {\n if (autoFocus) {\n handlesRef.current.focus(0);\n }\n }, []);\n // =========================== Context ============================\n var context = React.useMemo(function () {\n return {\n min: mergedMin,\n max: mergedMax,\n direction: direction,\n disabled: disabled,\n keyboard: keyboard,\n step: mergedStep,\n included: included,\n includedStart: includedStart,\n includedEnd: includedEnd,\n range: range,\n tabIndex: tabIndex,\n ariaLabelForHandle: ariaLabelForHandle,\n ariaLabelledByForHandle: ariaLabelledByForHandle,\n ariaValueTextFormatterForHandle: ariaValueTextFormatterForHandle\n };\n }, [mergedMin, mergedMax, direction, disabled, keyboard, mergedStep, included, includedStart, includedEnd, range, tabIndex, ariaLabelForHandle, ariaLabelledByForHandle, ariaValueTextFormatterForHandle]);\n // ============================ Render ============================\n return /*#__PURE__*/React.createElement(SliderContext.Provider, {\n value: context\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: containerRef,\n className: classNames(prefixCls, className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-disabled\"), disabled), _defineProperty(_classNames, \"\".concat(prefixCls, \"-vertical\"), vertical), _defineProperty(_classNames, \"\".concat(prefixCls, \"-horizontal\"), !vertical), _defineProperty(_classNames, \"\".concat(prefixCls, \"-with-marks\"), markList.length), _classNames)),\n style: style,\n onMouseDown: onSliderMouseDown\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-rail\"),\n style: railStyle\n }), /*#__PURE__*/React.createElement(Tracks, {\n prefixCls: prefixCls,\n style: trackStyle,\n values: sortedCacheValues,\n startPoint: startPoint,\n onStartMove: mergedDraggableTrack ? onStartMove : null\n }), /*#__PURE__*/React.createElement(Steps, {\n prefixCls: prefixCls,\n marks: markList,\n dots: dots,\n style: dotStyle,\n activeStyle: activeDotStyle\n }), /*#__PURE__*/React.createElement(Handles, {\n ref: handlesRef,\n prefixCls: prefixCls,\n style: handleStyle,\n values: cacheValues,\n draggingIndex: draggingIndex,\n onStartMove: onStartMove,\n onOffsetChange: onHandleOffsetChange,\n onFocus: onFocus,\n onBlur: onBlur,\n handleRender: handleRender\n }), /*#__PURE__*/React.createElement(Marks, {\n prefixCls: prefixCls,\n marks: markList,\n onClick: changeToCloseValue\n })));\n});\nif (process.env.NODE_ENV !== 'production') {\n Slider.displayName = 'Slider';\n}\nexport default Slider;","import Slider from './Slider';\nexport default Slider;","import raf from \"rc-util/es/raf\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport Tooltip from '../tooltip';\nconst SliderTooltip = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n open\n } = props;\n const innerRef = useRef(null);\n const rafRef = useRef(null);\n function cancelKeepAlign() {\n raf.cancel(rafRef.current);\n rafRef.current = null;\n }\n function keepAlign() {\n rafRef.current = raf(() => {\n var _a;\n (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.forceAlign();\n rafRef.current = null;\n });\n }\n React.useEffect(() => {\n if (open) {\n keepAlign();\n } else {\n cancelKeepAlign();\n }\n return cancelKeepAlign;\n }, [open, props.title]);\n return /*#__PURE__*/React.createElement(Tooltip, Object.assign({\n ref: composeRef(innerRef, ref)\n }, props));\n});\nif (process.env.NODE_ENV !== 'production') {\n SliderTooltip.displayName = 'SliderTooltip';\n}\nexport default SliderTooltip;","import { TinyColor } from '@ctrl/tinycolor';\nimport { resetComponent } from '../../style';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\n// =============================== Base ===============================\nconst genBaseStyle = token => {\n const {\n componentCls,\n antCls,\n controlSize,\n dotSize,\n marginFull,\n marginPart,\n colorFillContentHover\n } = token;\n return {\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'relative',\n height: controlSize,\n margin: `${marginPart}px ${marginFull}px`,\n padding: 0,\n cursor: 'pointer',\n touchAction: 'none',\n [`&-vertical`]: {\n margin: `${marginFull}px ${marginPart}px`\n },\n [`${componentCls}-rail`]: {\n position: 'absolute',\n backgroundColor: token.railBg,\n borderRadius: token.borderRadiusXS,\n transition: `background-color ${token.motionDurationMid}`\n },\n [`${componentCls}-track`]: {\n position: 'absolute',\n backgroundColor: token.trackBg,\n borderRadius: token.borderRadiusXS,\n transition: `background-color ${token.motionDurationMid}`\n },\n '&:hover': {\n [`${componentCls}-rail`]: {\n backgroundColor: token.railHoverBg\n },\n [`${componentCls}-track`]: {\n backgroundColor: token.trackHoverBg\n },\n [`${componentCls}-dot`]: {\n borderColor: colorFillContentHover\n },\n [`${componentCls}-handle::after`]: {\n boxShadow: `0 0 0 ${token.handleLineWidth}px ${token.colorPrimaryBorderHover}`\n },\n [`${componentCls}-dot-active`]: {\n borderColor: token.dotActiveBorderColor\n }\n },\n [`${componentCls}-handle`]: {\n position: 'absolute',\n width: token.handleSize,\n height: token.handleSize,\n outline: 'none',\n [`${componentCls}-dragging`]: {\n zIndex: 1\n },\n // 扩大选区\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n insetInlineStart: -token.handleLineWidth,\n insetBlockStart: -token.handleLineWidth,\n width: token.handleSize + token.handleLineWidth * 2,\n height: token.handleSize + token.handleLineWidth * 2,\n backgroundColor: 'transparent'\n },\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n insetBlockStart: 0,\n insetInlineStart: 0,\n width: token.handleSize,\n height: token.handleSize,\n backgroundColor: token.colorBgElevated,\n boxShadow: `0 0 0 ${token.handleLineWidth}px ${token.handleColor}`,\n borderRadius: '50%',\n cursor: 'pointer',\n transition: `\n inset-inline-start ${token.motionDurationMid},\n inset-block-start ${token.motionDurationMid},\n width ${token.motionDurationMid},\n height ${token.motionDurationMid},\n box-shadow ${token.motionDurationMid}\n `\n },\n '&:hover, &:active, &:focus': {\n '&::before': {\n insetInlineStart: -((token.handleSizeHover - token.handleSize) / 2 + token.handleLineWidthHover),\n insetBlockStart: -((token.handleSizeHover - token.handleSize) / 2 + token.handleLineWidthHover),\n width: token.handleSizeHover + token.handleLineWidthHover * 2,\n height: token.handleSizeHover + token.handleLineWidthHover * 2\n },\n '&::after': {\n boxShadow: `0 0 0 ${token.handleLineWidthHover}px ${token.handleActiveColor}`,\n width: token.handleSizeHover,\n height: token.handleSizeHover,\n insetInlineStart: (token.handleSize - token.handleSizeHover) / 2,\n insetBlockStart: (token.handleSize - token.handleSizeHover) / 2\n }\n }\n },\n [`${componentCls}-mark`]: {\n position: 'absolute',\n fontSize: token.fontSize\n },\n [`${componentCls}-mark-text`]: {\n position: 'absolute',\n display: 'inline-block',\n color: token.colorTextDescription,\n textAlign: 'center',\n wordBreak: 'keep-all',\n cursor: 'pointer',\n userSelect: 'none',\n '&-active': {\n color: token.colorText\n }\n },\n [`${componentCls}-step`]: {\n position: 'absolute',\n background: 'transparent',\n pointerEvents: 'none'\n },\n [`${componentCls}-dot`]: {\n position: 'absolute',\n width: dotSize,\n height: dotSize,\n backgroundColor: token.colorBgElevated,\n border: `${token.handleLineWidth}px solid ${token.dotBorderColor}`,\n borderRadius: '50%',\n cursor: 'pointer',\n transition: `border-color ${token.motionDurationSlow}`,\n pointerEvents: 'auto',\n '&-active': {\n borderColor: token.dotActiveBorderColor\n }\n },\n [`&${componentCls}-disabled`]: {\n cursor: 'not-allowed',\n [`${componentCls}-rail`]: {\n backgroundColor: `${token.railBg} !important`\n },\n [`${componentCls}-track`]: {\n backgroundColor: `${token.trackBgDisabled} !important`\n },\n [`\n ${componentCls}-dot\n `]: {\n backgroundColor: token.colorBgElevated,\n borderColor: token.trackBgDisabled,\n boxShadow: 'none',\n cursor: 'not-allowed'\n },\n [`${componentCls}-handle::after`]: {\n backgroundColor: token.colorBgElevated,\n cursor: 'not-allowed',\n width: token.handleSize,\n height: token.handleSize,\n boxShadow: `0 0 0 ${token.handleLineWidth}px ${new TinyColor(token.colorTextDisabled).onBackground(token.colorBgContainer).toHexShortString()}`,\n insetInlineStart: 0,\n insetBlockStart: 0\n },\n [`\n ${componentCls}-mark-text,\n ${componentCls}-dot\n `]: {\n cursor: `not-allowed !important`\n }\n },\n [`&-tooltip ${antCls}-tooltip-inner`]: {\n minWidth: 'unset'\n }\n })\n };\n};\n// ============================ Horizontal ============================\nconst genDirectionStyle = (token, horizontal) => {\n const {\n componentCls,\n railSize,\n handleSize,\n dotSize\n } = token;\n const railPadding = horizontal ? 'paddingBlock' : 'paddingInline';\n const full = horizontal ? 'width' : 'height';\n const part = horizontal ? 'height' : 'width';\n const handlePos = horizontal ? 'insetBlockStart' : 'insetInlineStart';\n const markInset = horizontal ? 'top' : 'insetInlineStart';\n return {\n [railPadding]: railSize,\n [part]: railSize * 3,\n [`${componentCls}-rail`]: {\n [full]: '100%',\n [part]: railSize\n },\n [`${componentCls}-track`]: {\n [part]: railSize\n },\n [`${componentCls}-handle`]: {\n [handlePos]: (railSize * 3 - handleSize) / 2\n },\n [`${componentCls}-mark`]: {\n // Reset all\n insetInlineStart: 0,\n top: 0,\n // https://github.com/ant-design/ant-design/issues/43731\n [markInset]: railSize * 3 + (horizontal ? 0 : token.marginFull),\n [full]: '100%'\n },\n [`${componentCls}-step`]: {\n // Reset all\n insetInlineStart: 0,\n top: 0,\n [markInset]: railSize,\n [full]: '100%',\n [part]: railSize\n },\n [`${componentCls}-dot`]: {\n position: 'absolute',\n [handlePos]: (railSize - dotSize) / 2\n }\n };\n};\n// ============================ Horizontal ============================\nconst genHorizontalStyle = token => {\n const {\n componentCls,\n marginPartWithMark\n } = token;\n return {\n [`${componentCls}-horizontal`]: Object.assign(Object.assign({}, genDirectionStyle(token, true)), {\n [`&${componentCls}-with-marks`]: {\n marginBottom: marginPartWithMark\n }\n })\n };\n};\n// ============================= Vertical =============================\nconst genVerticalStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-vertical`]: Object.assign(Object.assign({}, genDirectionStyle(token, false)), {\n height: '100%'\n })\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Slider', token => {\n const sliderToken = mergeToken(token, {\n marginPart: (token.controlHeight - token.controlSize) / 2,\n marginFull: token.controlSize / 2,\n marginPartWithMark: token.controlHeightLG - token.controlSize\n });\n return [genBaseStyle(sliderToken), genHorizontalStyle(sliderToken), genVerticalStyle(sliderToken)];\n}, token => {\n // Handle line width is always width-er 1px\n const increaseHandleWidth = 1;\n const controlSize = token.controlHeightLG / 4;\n const controlSizeHover = token.controlHeightSM / 2;\n const handleLineWidth = token.lineWidth + increaseHandleWidth;\n const handleLineWidthHover = token.lineWidth + increaseHandleWidth * 3;\n return {\n controlSize,\n railSize: 4,\n handleSize: controlSize,\n handleSizeHover: controlSizeHover,\n dotSize: 8,\n handleLineWidth,\n handleLineWidthHover,\n railBg: token.colorFillTertiary,\n railHoverBg: token.colorFillSecondary,\n trackBg: token.colorPrimaryBorder,\n trackHoverBg: token.colorPrimaryBorderHover,\n handleColor: token.colorPrimaryBorder,\n handleActiveColor: token.colorPrimary,\n dotBorderColor: token.colorBorderSecondary,\n dotActiveBorderColor: token.colorPrimaryBorder,\n trackBgDisabled: token.colorBgContainerDisabled\n };\n});","'use client';\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport RcSlider from 'rc-slider';\nimport React from 'react';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport SliderTooltip from './SliderTooltip';\nimport useStyle from './style';\nconst defaultFormatter = val => typeof val === 'number' ? val.toString() : '';\nconst Slider = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n prefixCls: customizePrefixCls,\n range,\n className,\n rootClassName,\n style,\n disabled,\n // Deprecated Props\n tooltipPrefixCls: legacyTooltipPrefixCls,\n tipFormatter: legacyTipFormatter,\n tooltipVisible: legacyTooltipVisible,\n getTooltipPopupContainer: legacyGetTooltipPopupContainer,\n tooltipPlacement: legacyTooltipPlacement\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"range\", \"className\", \"rootClassName\", \"style\", \"disabled\", \"tooltipPrefixCls\", \"tipFormatter\", \"tooltipVisible\", \"getTooltipPopupContainer\", \"tooltipPlacement\"]);\n const {\n direction,\n slider,\n getPrefixCls,\n getPopupContainer\n } = React.useContext(ConfigContext);\n const contextDisabled = React.useContext(DisabledContext);\n const mergedDisabled = disabled !== null && disabled !== void 0 ? disabled : contextDisabled;\n const [opens, setOpens] = React.useState({});\n const toggleTooltipOpen = (index, open) => {\n setOpens(prev => Object.assign(Object.assign({}, prev), {\n [index]: open\n }));\n };\n const getTooltipPlacement = (placement, vertical) => {\n if (placement) {\n return placement;\n }\n if (!vertical) {\n return 'top';\n }\n return direction === 'rtl' ? 'left' : 'right';\n };\n const prefixCls = getPrefixCls('slider', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const cls = classNames(className, slider === null || slider === void 0 ? void 0 : slider.className, rootClassName, {\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, hashId);\n // make reverse default on rtl direction\n if (direction === 'rtl' && !restProps.vertical) {\n restProps.reverse = !restProps.reverse;\n }\n // Range config\n const [mergedRange, draggableTrack] = React.useMemo(() => {\n if (!range) {\n return [false];\n }\n return typeof range === 'object' ? [true, range.draggableTrack] : [true, false];\n }, [range]);\n // Warning for deprecated usage\n if (process.env.NODE_ENV !== 'production') {\n [['tooltipPrefixCls', 'prefixCls'], ['getTooltipPopupContainer', 'getPopupContainer'], ['tipFormatter', 'formatter'], ['tooltipPlacement', 'placement'], ['tooltipVisible', 'open']].forEach(_ref => {\n let [deprecatedName, newName] = _ref;\n process.env.NODE_ENV !== \"production\" ? warning(!(deprecatedName in props), 'Slider', `\\`${deprecatedName}\\` is deprecated, please use \\`tooltip.${newName}\\` instead.`) : void 0;\n });\n }\n const handleRender = (node, info) => {\n var _a;\n const {\n index,\n dragging\n } = info;\n const {\n tooltip = {},\n vertical\n } = props;\n const tooltipProps = Object.assign({}, tooltip);\n const {\n open: tooltipOpen,\n placement: tooltipPlacement,\n getPopupContainer: getTooltipPopupContainer,\n prefixCls: customizeTooltipPrefixCls,\n formatter: tipFormatter\n } = tooltipProps;\n let mergedTipFormatter;\n if (tipFormatter || tipFormatter === null) {\n mergedTipFormatter = tipFormatter;\n } else if (legacyTipFormatter || legacyTipFormatter === null) {\n mergedTipFormatter = legacyTipFormatter;\n } else {\n mergedTipFormatter = defaultFormatter;\n }\n const isTipFormatter = mergedTipFormatter ? opens[index] || dragging : false;\n const open = (_a = tooltipOpen !== null && tooltipOpen !== void 0 ? tooltipOpen : legacyTooltipVisible) !== null && _a !== void 0 ? _a : tooltipOpen === undefined && isTipFormatter;\n const passedProps = Object.assign(Object.assign({}, node.props), {\n onMouseEnter: () => toggleTooltipOpen(index, true),\n onMouseLeave: () => toggleTooltipOpen(index, false)\n });\n const tooltipPrefixCls = getPrefixCls('tooltip', customizeTooltipPrefixCls !== null && customizeTooltipPrefixCls !== void 0 ? customizeTooltipPrefixCls : legacyTooltipPrefixCls);\n return /*#__PURE__*/React.createElement(SliderTooltip, Object.assign({}, tooltipProps, {\n prefixCls: tooltipPrefixCls,\n title: mergedTipFormatter ? mergedTipFormatter(info.value) : '',\n open: open,\n placement: getTooltipPlacement(tooltipPlacement !== null && tooltipPlacement !== void 0 ? tooltipPlacement : legacyTooltipPlacement, vertical),\n key: index,\n overlayClassName: `${prefixCls}-tooltip`,\n getPopupContainer: getTooltipPopupContainer || legacyGetTooltipPopupContainer || getPopupContainer\n }), /*#__PURE__*/React.cloneElement(node, passedProps));\n };\n const mergedStyle = Object.assign(Object.assign({}, slider === null || slider === void 0 ? void 0 : slider.style), style);\n return wrapSSR( /*#__PURE__*/React.createElement(RcSlider, Object.assign({}, restProps, {\n step: restProps.step,\n range: mergedRange,\n draggableTrack: draggableTrack,\n className: cls,\n style: mergedStyle,\n disabled: mergedDisabled,\n ref: ref,\n prefixCls: prefixCls,\n handleRender: handleRender\n })));\n});\nif (process.env.NODE_ENV !== 'production') {\n Slider.displayName = 'Slider';\n}\nexport default Slider;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useSize from '../config-provider/hooks/useSize';\nimport useStyle from './style';\nexport const SpaceCompactItemContext = /*#__PURE__*/React.createContext(null);\nexport const useCompactItemContext = (prefixCls, direction) => {\n const compactItemContext = React.useContext(SpaceCompactItemContext);\n const compactItemClassnames = React.useMemo(() => {\n if (!compactItemContext) {\n return '';\n }\n const {\n compactDirection,\n isFirstItem,\n isLastItem\n } = compactItemContext;\n const separator = compactDirection === 'vertical' ? '-vertical-' : '-';\n return classNames(`${prefixCls}-compact${separator}item`, {\n [`${prefixCls}-compact${separator}first-item`]: isFirstItem,\n [`${prefixCls}-compact${separator}last-item`]: isLastItem,\n [`${prefixCls}-compact${separator}item-rtl`]: direction === 'rtl'\n });\n }, [prefixCls, direction, compactItemContext]);\n return {\n compactSize: compactItemContext === null || compactItemContext === void 0 ? void 0 : compactItemContext.compactSize,\n compactDirection: compactItemContext === null || compactItemContext === void 0 ? void 0 : compactItemContext.compactDirection,\n compactItemClassnames\n };\n};\nexport const NoCompactStyle = _ref => {\n let {\n children\n } = _ref;\n return /*#__PURE__*/React.createElement(SpaceCompactItemContext.Provider, {\n value: null\n }, children);\n};\nconst CompactItem = _a => {\n var {\n children\n } = _a,\n otherProps = __rest(_a, [\"children\"]);\n return /*#__PURE__*/React.createElement(SpaceCompactItemContext.Provider, {\n value: otherProps\n }, children);\n};\nconst Compact = props => {\n const {\n getPrefixCls,\n direction: directionConfig\n } = React.useContext(ConfigContext);\n const {\n size,\n direction,\n block,\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n children\n } = props,\n restProps = __rest(props, [\"size\", \"direction\", \"block\", \"prefixCls\", \"className\", \"rootClassName\", \"children\"]);\n const mergedSize = useSize(ctx => size !== null && size !== void 0 ? size : ctx);\n const prefixCls = getPrefixCls('space-compact', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const clx = classNames(prefixCls, hashId, {\n [`${prefixCls}-rtl`]: directionConfig === 'rtl',\n [`${prefixCls}-block`]: block,\n [`${prefixCls}-vertical`]: direction === 'vertical'\n }, className, rootClassName);\n const compactItemContext = React.useContext(SpaceCompactItemContext);\n const childNodes = toArray(children);\n const nodes = React.useMemo(() => childNodes.map((child, i) => {\n const key = child && child.key || `${prefixCls}-item-${i}`;\n return /*#__PURE__*/React.createElement(CompactItem, {\n key: key,\n compactSize: mergedSize,\n compactDirection: direction,\n isFirstItem: i === 0 && (!compactItemContext || (compactItemContext === null || compactItemContext === void 0 ? void 0 : compactItemContext.isFirstItem)),\n isLastItem: i === childNodes.length - 1 && (!compactItemContext || (compactItemContext === null || compactItemContext === void 0 ? void 0 : compactItemContext.isLastItem))\n }, child);\n }), [size, childNodes, compactItemContext]);\n // =========================== Render ===========================\n if (childNodes.length === 0) {\n return null;\n }\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", Object.assign({\n className: clx\n }, restProps), nodes));\n};\nexport default Compact;","import React from 'react';\nexport const SpaceContext = /*#__PURE__*/React.createContext({\n latestIndex: 0,\n horizontalSize: 0,\n verticalSize: 0,\n supportFlexGap: false\n});\nexport const SpaceContextProvider = SpaceContext.Provider;","import * as React from 'react';\nimport { SpaceContext } from './context';\nconst Item = _ref => {\n let {\n className,\n direction,\n index,\n marginDirection,\n children,\n split,\n wrap,\n style: customStyle\n } = _ref;\n const {\n horizontalSize,\n verticalSize,\n latestIndex,\n supportFlexGap\n } = React.useContext(SpaceContext);\n let style = {};\n if (!supportFlexGap) {\n if (direction === 'vertical') {\n if (index < latestIndex) {\n style = {\n marginBottom: horizontalSize / (split ? 2 : 1)\n };\n }\n } else {\n style = Object.assign(Object.assign({}, index < latestIndex && {\n [marginDirection]: horizontalSize / (split ? 2 : 1)\n }), wrap && {\n paddingBottom: verticalSize\n });\n }\n }\n if (children === null || children === undefined) {\n return null;\n }\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n className: className,\n style: Object.assign(Object.assign({}, style), customStyle)\n }, children), index < latestIndex && split && /*#__PURE__*/React.createElement(\"span\", {\n className: `${className}-split`,\n style: style\n }, split));\n};\nexport default Item;","'use client';\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport * as React from 'react';\nimport useFlexGapSupport from '../_util/hooks/useFlexGapSupport';\nimport { ConfigContext } from '../config-provider';\nimport Compact from './Compact';\nimport Item from './Item';\nimport { SpaceContextProvider } from './context';\nimport useStyle from './style';\nexport { SpaceContext } from './context';\nconst spaceSize = {\n small: 8,\n middle: 16,\n large: 24\n};\nfunction getNumberSize(size) {\n return typeof size === 'string' ? spaceSize[size] : size || 0;\n}\nconst Space = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _a, _b;\n const {\n getPrefixCls,\n space,\n direction: directionConfig\n } = React.useContext(ConfigContext);\n const {\n size = (space === null || space === void 0 ? void 0 : space.size) || 'small',\n align,\n className,\n rootClassName,\n children,\n direction = 'horizontal',\n prefixCls: customizePrefixCls,\n split,\n style,\n wrap = false,\n classNames: customClassNames,\n styles\n } = props,\n otherProps = __rest(props, [\"size\", \"align\", \"className\", \"rootClassName\", \"children\", \"direction\", \"prefixCls\", \"split\", \"style\", \"wrap\", \"classNames\", \"styles\"]);\n const supportFlexGap = useFlexGapSupport();\n const [horizontalSize, verticalSize] = React.useMemo(() => (Array.isArray(size) ? size : [size, size]).map(item => getNumberSize(item)), [size]);\n const childNodes = toArray(children, {\n keepEmpty: true\n });\n const mergedAlign = align === undefined && direction === 'horizontal' ? 'center' : align;\n const prefixCls = getPrefixCls('space', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const cn = classNames(prefixCls, space === null || space === void 0 ? void 0 : space.className, hashId, `${prefixCls}-${direction}`, {\n [`${prefixCls}-rtl`]: directionConfig === 'rtl',\n [`${prefixCls}-align-${mergedAlign}`]: mergedAlign\n }, className, rootClassName);\n const itemClassName = classNames(`${prefixCls}-item`, (_a = customClassNames === null || customClassNames === void 0 ? void 0 : customClassNames.item) !== null && _a !== void 0 ? _a : (_b = space === null || space === void 0 ? void 0 : space.classNames) === null || _b === void 0 ? void 0 : _b.item);\n const marginDirection = directionConfig === 'rtl' ? 'marginLeft' : 'marginRight';\n // Calculate latest one\n let latestIndex = 0;\n const nodes = childNodes.map((child, i) => {\n var _a, _b;\n if (child !== null && child !== undefined) {\n latestIndex = i;\n }\n const key = child && child.key || `${itemClassName}-${i}`;\n return /*#__PURE__*/React.createElement(Item, {\n className: itemClassName,\n key: key,\n direction: direction,\n index: i,\n marginDirection: marginDirection,\n split: split,\n wrap: wrap,\n style: (_a = styles === null || styles === void 0 ? void 0 : styles.item) !== null && _a !== void 0 ? _a : (_b = space === null || space === void 0 ? void 0 : space.styles) === null || _b === void 0 ? void 0 : _b.item\n }, child);\n });\n const spaceContext = React.useMemo(() => ({\n horizontalSize,\n verticalSize,\n latestIndex,\n supportFlexGap\n }), [horizontalSize, verticalSize, latestIndex, supportFlexGap]);\n // =========================== Render ===========================\n if (childNodes.length === 0) {\n return null;\n }\n const gapStyle = {};\n if (wrap) {\n gapStyle.flexWrap = 'wrap';\n // Patch for gap not support\n if (!supportFlexGap) {\n gapStyle.marginBottom = -verticalSize;\n }\n }\n if (supportFlexGap) {\n gapStyle.columnGap = horizontalSize;\n gapStyle.rowGap = verticalSize;\n }\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", Object.assign({\n ref: ref,\n className: cn,\n style: Object.assign(Object.assign(Object.assign({}, gapStyle), space === null || space === void 0 ? void 0 : space.style), style)\n }, otherProps), /*#__PURE__*/React.createElement(SpaceContextProvider, {\n value: spaceContext\n }, nodes)));\n});\nif (process.env.NODE_ENV !== 'production') {\n Space.displayName = 'Space';\n}\nconst CompoundedSpace = Space;\nCompoundedSpace.Compact = Compact;\nexport default CompoundedSpace;","const genSpaceCompactStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [componentCls]: {\n '&-block': {\n display: 'flex',\n width: '100%'\n },\n '&-vertical': {\n flexDirection: 'column'\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genSpaceCompactStyle;","import { genComponentStyleHook } from '../../theme/internal';\nimport genSpaceCompactStyle from './compact';\nconst genSpaceStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [componentCls]: {\n display: 'inline-flex',\n '&-rtl': {\n direction: 'rtl'\n },\n '&-vertical': {\n flexDirection: 'column'\n },\n '&-align': {\n flexDirection: 'column',\n '&-center': {\n alignItems: 'center'\n },\n '&-start': {\n alignItems: 'flex-start'\n },\n '&-end': {\n alignItems: 'flex-end'\n },\n '&-baseline': {\n alignItems: 'baseline'\n }\n },\n [`${componentCls}-item:empty`]: {\n display: 'none'\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Space', token => [genSpaceStyle(token), genSpaceCompactStyle(token)], () => ({}), {\n // Space component don't apply extra font style\n // https://github.com/ant-design/ant-design/issues/40315\n resetStyle: false\n});","import { Keyframes } from '@ant-design/cssinjs';\nimport { resetComponent } from '../../style';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nconst antSpinMove = new Keyframes('antSpinMove', {\n to: {\n opacity: 1\n }\n});\nconst antRotate = new Keyframes('antRotate', {\n to: {\n transform: 'rotate(405deg)'\n }\n});\nconst genSpinStyle = token => ({\n [`${token.componentCls}`]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'absolute',\n display: 'none',\n color: token.colorPrimary,\n fontSize: 0,\n textAlign: 'center',\n verticalAlign: 'middle',\n opacity: 0,\n transition: `transform ${token.motionDurationSlow} ${token.motionEaseInOutCirc}`,\n '&-spinning': {\n position: 'static',\n display: 'inline-block',\n opacity: 1\n },\n '&-nested-loading': {\n position: 'relative',\n [`> div > ${token.componentCls}`]: {\n position: 'absolute',\n top: 0,\n insetInlineStart: 0,\n zIndex: 4,\n display: 'block',\n width: '100%',\n height: '100%',\n maxHeight: token.contentHeight,\n [`${token.componentCls}-dot`]: {\n position: 'absolute',\n top: '50%',\n insetInlineStart: '50%',\n margin: -token.spinDotSize / 2\n },\n [`${token.componentCls}-text`]: {\n position: 'absolute',\n top: '50%',\n width: '100%',\n paddingTop: (token.spinDotSize - token.fontSize) / 2 + 2,\n textShadow: `0 1px 2px ${token.colorBgContainer}`,\n fontSize: token.fontSize\n },\n [`&${token.componentCls}-show-text ${token.componentCls}-dot`]: {\n marginTop: -(token.spinDotSize / 2) - 10\n },\n '&-sm': {\n [`${token.componentCls}-dot`]: {\n margin: -token.spinDotSizeSM / 2\n },\n [`${token.componentCls}-text`]: {\n paddingTop: (token.spinDotSizeSM - token.fontSize) / 2 + 2\n },\n [`&${token.componentCls}-show-text ${token.componentCls}-dot`]: {\n marginTop: -(token.spinDotSizeSM / 2) - 10\n }\n },\n '&-lg': {\n [`${token.componentCls}-dot`]: {\n margin: -(token.spinDotSizeLG / 2)\n },\n [`${token.componentCls}-text`]: {\n paddingTop: (token.spinDotSizeLG - token.fontSize) / 2 + 2\n },\n [`&${token.componentCls}-show-text ${token.componentCls}-dot`]: {\n marginTop: -(token.spinDotSizeLG / 2) - 10\n }\n }\n },\n [`${token.componentCls}-container`]: {\n position: 'relative',\n transition: `opacity ${token.motionDurationSlow}`,\n '&::after': {\n position: 'absolute',\n top: 0,\n insetInlineEnd: 0,\n bottom: 0,\n insetInlineStart: 0,\n zIndex: 10,\n width: '100%',\n height: '100%',\n background: token.colorBgContainer,\n opacity: 0,\n transition: `all ${token.motionDurationSlow}`,\n content: '\"\"',\n pointerEvents: 'none'\n }\n },\n [`${token.componentCls}-blur`]: {\n clear: 'both',\n opacity: 0.5,\n userSelect: 'none',\n pointerEvents: 'none',\n [`&::after`]: {\n opacity: 0.4,\n pointerEvents: 'auto'\n }\n }\n },\n // tip\n // ------------------------------\n [`&-tip`]: {\n color: token.spinDotDefault\n },\n // dots\n // ------------------------------\n [`${token.componentCls}-dot`]: {\n position: 'relative',\n display: 'inline-block',\n fontSize: token.spinDotSize,\n width: '1em',\n height: '1em',\n '&-item': {\n position: 'absolute',\n display: 'block',\n width: (token.spinDotSize - token.marginXXS / 2) / 2,\n height: (token.spinDotSize - token.marginXXS / 2) / 2,\n backgroundColor: token.colorPrimary,\n borderRadius: '100%',\n transform: 'scale(0.75)',\n transformOrigin: '50% 50%',\n opacity: 0.3,\n animationName: antSpinMove,\n animationDuration: '1s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate',\n '&:nth-child(1)': {\n top: 0,\n insetInlineStart: 0\n },\n '&:nth-child(2)': {\n top: 0,\n insetInlineEnd: 0,\n animationDelay: '0.4s'\n },\n '&:nth-child(3)': {\n insetInlineEnd: 0,\n bottom: 0,\n animationDelay: '0.8s'\n },\n '&:nth-child(4)': {\n bottom: 0,\n insetInlineStart: 0,\n animationDelay: '1.2s'\n }\n },\n '&-spin': {\n transform: 'rotate(45deg)',\n animationName: antRotate,\n animationDuration: '1.2s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear'\n }\n },\n // Sizes\n // ------------------------------\n // small\n [`&-sm ${token.componentCls}-dot`]: {\n fontSize: token.spinDotSizeSM,\n i: {\n width: (token.spinDotSizeSM - token.marginXXS / 2) / 2,\n height: (token.spinDotSizeSM - token.marginXXS / 2) / 2\n }\n },\n // large\n [`&-lg ${token.componentCls}-dot`]: {\n fontSize: token.spinDotSizeLG,\n i: {\n width: (token.spinDotSizeLG - token.marginXXS) / 2,\n height: (token.spinDotSizeLG - token.marginXXS) / 2\n }\n },\n [`&${token.componentCls}-show-text ${token.componentCls}-text`]: {\n display: 'block'\n }\n })\n});\n// ============================== Export ==============================\nexport default genComponentStyleHook('Spin', token => {\n const spinToken = mergeToken(token, {\n spinDotDefault: token.colorTextDescription,\n spinDotSize: token.controlHeightLG / 2,\n spinDotSizeSM: token.controlHeightLG * 0.35,\n spinDotSizeLG: token.controlHeight\n });\n return [genSpinStyle(spinToken)];\n}, {\n contentHeight: 400\n});","'use client';\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { debounce } from 'throttle-debounce';\nimport { cloneElement, isValidElement } from '../_util/reactNode';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style/index';\nconst SpinSizes = ['small', 'default', 'large'];\n// Render indicator\nlet defaultIndicator = null;\nfunction renderIndicator(prefixCls, props) {\n const {\n indicator\n } = props;\n const dotClassName = `${prefixCls}-dot`;\n // should not be render default indicator when indicator value is null\n if (indicator === null) {\n return null;\n }\n if (isValidElement(indicator)) {\n return cloneElement(indicator, {\n className: classNames(indicator.props.className, dotClassName)\n });\n }\n if (isValidElement(defaultIndicator)) {\n return cloneElement(defaultIndicator, {\n className: classNames(defaultIndicator.props.className, dotClassName)\n });\n }\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(dotClassName, `${prefixCls}-dot-spin`)\n }, /*#__PURE__*/React.createElement(\"i\", {\n className: `${prefixCls}-dot-item`,\n key: 1\n }), /*#__PURE__*/React.createElement(\"i\", {\n className: `${prefixCls}-dot-item`,\n key: 2\n }), /*#__PURE__*/React.createElement(\"i\", {\n className: `${prefixCls}-dot-item`,\n key: 3\n }), /*#__PURE__*/React.createElement(\"i\", {\n className: `${prefixCls}-dot-item`,\n key: 4\n }));\n}\nfunction shouldDelay(spinning, delay) {\n return !!spinning && !!delay && !isNaN(Number(delay));\n}\nconst Spin = props => {\n const {\n spinPrefixCls: prefixCls,\n spinning: customSpinning = true,\n delay = 0,\n className,\n rootClassName,\n size = 'default',\n tip,\n wrapperClassName,\n style,\n children,\n hashId\n } = props,\n restProps = __rest(props, [\"spinPrefixCls\", \"spinning\", \"delay\", \"className\", \"rootClassName\", \"size\", \"tip\", \"wrapperClassName\", \"style\", \"children\", \"hashId\"]);\n const [spinning, setSpinning] = React.useState(() => customSpinning && !shouldDelay(customSpinning, delay));\n React.useEffect(() => {\n if (customSpinning) {\n const showSpinning = debounce(delay, () => {\n setSpinning(true);\n });\n showSpinning();\n return () => {\n var _a;\n (_a = showSpinning === null || showSpinning === void 0 ? void 0 : showSpinning.cancel) === null || _a === void 0 ? void 0 : _a.call(showSpinning);\n };\n }\n setSpinning(false);\n }, [delay, customSpinning]);\n const isNestedPattern = React.useMemo(() => typeof children !== 'undefined', [children]);\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(!tip || isNestedPattern, 'Spin', '`tip` only work in nest pattern.') : void 0;\n }\n const {\n direction,\n spin\n } = React.useContext(ConfigContext);\n const spinClassName = classNames(prefixCls, spin === null || spin === void 0 ? void 0 : spin.className, {\n [`${prefixCls}-sm`]: size === 'small',\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-spinning`]: spinning,\n [`${prefixCls}-show-text`]: !!tip,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, className, rootClassName, hashId);\n const containerClassName = classNames(`${prefixCls}-container`, {\n [`${prefixCls}-blur`]: spinning\n });\n // fix https://fb.me/react-unknown-prop\n const divProps = omit(restProps, ['indicator', 'prefixCls']);\n const mergedStyle = Object.assign(Object.assign({}, spin === null || spin === void 0 ? void 0 : spin.style), style);\n const spinElement = /*#__PURE__*/React.createElement(\"div\", Object.assign({}, divProps, {\n style: mergedStyle,\n className: spinClassName,\n \"aria-live\": \"polite\",\n \"aria-busy\": spinning\n }), renderIndicator(prefixCls, props), tip && isNestedPattern ? /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-text`\n }, tip) : null);\n if (isNestedPattern) {\n return /*#__PURE__*/React.createElement(\"div\", Object.assign({}, divProps, {\n className: classNames(`${prefixCls}-nested-loading`, wrapperClassName, hashId)\n }), spinning && /*#__PURE__*/React.createElement(\"div\", {\n key: \"loading\"\n }, spinElement), /*#__PURE__*/React.createElement(\"div\", {\n className: containerClassName,\n key: \"container\"\n }, children));\n }\n return spinElement;\n};\nconst SpinFC = props => {\n const {\n prefixCls: customizePrefixCls\n } = props;\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const spinPrefixCls = getPrefixCls('spin', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(spinPrefixCls);\n const spinClassProps = Object.assign(Object.assign({}, props), {\n spinPrefixCls,\n hashId\n });\n return wrapSSR( /*#__PURE__*/React.createElement(Spin, Object.assign({}, spinClassProps)));\n};\nSpinFC.setDefaultIndicator = indicator => {\n defaultIndicator = indicator;\n};\nif (process.env.NODE_ENV !== 'production') {\n SpinFC.displayName = 'Spin';\n}\nexport default SpinFC;","// handle border collapse\nfunction compactItemBorder(token, parentCls, options) {\n const {\n focusElCls,\n focus,\n borderElCls\n } = options;\n const childCombinator = borderElCls ? '> *' : '';\n const hoverEffects = ['hover', focus ? 'focus' : null, 'active'].filter(Boolean).map(n => `&:${n} ${childCombinator}`).join(',');\n return {\n [`&-item:not(${parentCls}-last-item)`]: {\n marginInlineEnd: -token.lineWidth\n },\n '&-item': Object.assign(Object.assign({\n [hoverEffects]: {\n zIndex: 2\n }\n }, focusElCls ? {\n [`&${focusElCls}`]: {\n zIndex: 2\n }\n } : {}), {\n [`&[disabled] ${childCombinator}`]: {\n zIndex: 0\n }\n })\n };\n}\n// handle border-radius\nfunction compactItemBorderRadius(prefixCls, parentCls, options) {\n const {\n borderElCls\n } = options;\n const childCombinator = borderElCls ? `> ${borderElCls}` : '';\n return {\n [`&-item:not(${parentCls}-first-item):not(${parentCls}-last-item) ${childCombinator}`]: {\n borderRadius: 0\n },\n [`&-item:not(${parentCls}-last-item)${parentCls}-first-item`]: {\n [`& ${childCombinator}, &${prefixCls}-sm ${childCombinator}, &${prefixCls}-lg ${childCombinator}`]: {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0\n }\n },\n [`&-item:not(${parentCls}-first-item)${parentCls}-last-item`]: {\n [`& ${childCombinator}, &${prefixCls}-sm ${childCombinator}, &${prefixCls}-lg ${childCombinator}`]: {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n }\n }\n };\n}\nexport function genCompactItemStyle(token) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n focus: true\n };\n const {\n componentCls\n } = token;\n const compactCls = `${componentCls}-compact`;\n return {\n [compactCls]: Object.assign(Object.assign({}, compactItemBorder(token, compactCls, options)), compactItemBorderRadius(componentCls, compactCls, options))\n };\n}","'use client';\n\nexport { operationUnit } from './operationUnit';\nexport { roundedArrow } from './roundedArrow';\nexport const textEllipsis = {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n};\nexport const resetComponent = token => ({\n boxSizing: 'border-box',\n margin: 0,\n padding: 0,\n color: token.colorText,\n fontSize: token.fontSize,\n // font-variant: @font-variant-base;\n lineHeight: token.lineHeight,\n listStyle: 'none',\n // font-feature-settings: @font-feature-settings-base;\n fontFamily: token.fontFamily\n});\nexport const resetIcon = () => ({\n display: 'inline-flex',\n alignItems: 'center',\n color: 'inherit',\n fontStyle: 'normal',\n lineHeight: 0,\n textAlign: 'center',\n textTransform: 'none',\n // for SVG icon, see https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\n verticalAlign: '-0.125em',\n textRendering: 'optimizeLegibility',\n '-webkit-font-smoothing': 'antialiased',\n '-moz-osx-font-smoothing': 'grayscale',\n '> *': {\n lineHeight: 1\n },\n svg: {\n display: 'inline-block'\n }\n});\nexport const clearFix = () => ({\n // https://github.com/ant-design/ant-design/issues/21301#issuecomment-583955229\n '&::before': {\n display: 'table',\n content: '\"\"'\n },\n '&::after': {\n // https://github.com/ant-design/ant-design/issues/21864\n display: 'table',\n clear: 'both',\n content: '\"\"'\n }\n});\nexport const genLinkStyle = token => ({\n a: {\n color: token.colorLink,\n textDecoration: token.linkDecoration,\n backgroundColor: 'transparent',\n outline: 'none',\n cursor: 'pointer',\n transition: `color ${token.motionDurationSlow}`,\n '-webkit-text-decoration-skip': 'objects',\n '&:hover': {\n color: token.colorLinkHover\n },\n '&:active': {\n color: token.colorLinkActive\n },\n [`&:active,\n &:hover`]: {\n textDecoration: token.linkHoverDecoration,\n outline: 0\n },\n // https://github.com/ant-design/ant-design/issues/22503\n '&:focus': {\n textDecoration: token.linkFocusDecoration,\n outline: 0\n },\n '&[disabled]': {\n color: token.colorTextDisabled,\n cursor: 'not-allowed'\n }\n }\n});\nexport const genCommonStyle = (token, componentPrefixCls) => {\n const {\n fontFamily,\n fontSize\n } = token;\n const rootPrefixSelector = `[class^=\"${componentPrefixCls}\"], [class*=\" ${componentPrefixCls}\"]`;\n return {\n [rootPrefixSelector]: {\n fontFamily,\n fontSize,\n boxSizing: 'border-box',\n '&::before, &::after': {\n boxSizing: 'border-box'\n },\n [rootPrefixSelector]: {\n boxSizing: 'border-box',\n '&::before, &::after': {\n boxSizing: 'border-box'\n }\n }\n }\n };\n};\nexport const genFocusOutline = token => ({\n outline: `${token.lineWidthFocus}px solid ${token.colorPrimaryBorder}`,\n outlineOffset: 1,\n transition: 'outline-offset 0s, outline 0s'\n});\nexport const genFocusStyle = token => ({\n '&:focus-visible': Object.assign({}, genFocusOutline(token))\n});","const genCollapseMotion = token => ({\n [token.componentCls]: {\n // For common/openAnimation\n [`${token.antCls}-motion-collapse-legacy`]: {\n overflow: 'hidden',\n '&-active': {\n transition: `height ${token.motionDurationMid} ${token.motionEaseInOut},\n opacity ${token.motionDurationMid} ${token.motionEaseInOut} !important`\n }\n },\n [`${token.antCls}-motion-collapse`]: {\n overflow: 'hidden',\n transition: `height ${token.motionDurationMid} ${token.motionEaseInOut},\n opacity ${token.motionDurationMid} ${token.motionEaseInOut} !important`\n }\n }\n});\nexport default genCollapseMotion;","import { Keyframes } from '@ant-design/cssinjs';\nimport { initMotion } from './motion';\nexport const fadeIn = new Keyframes('antFadeIn', {\n '0%': {\n opacity: 0\n },\n '100%': {\n opacity: 1\n }\n});\nexport const fadeOut = new Keyframes('antFadeOut', {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: 0\n }\n});\nexport const initFadeMotion = function (token) {\n let sameLevel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n const {\n antCls\n } = token;\n const motionCls = `${antCls}-fade`;\n const sameLevelPrefix = sameLevel ? '&' : '';\n return [initMotion(motionCls, fadeIn, fadeOut, token.motionDurationMid, sameLevel), {\n [`\n ${sameLevelPrefix}${motionCls}-enter,\n ${sameLevelPrefix}${motionCls}-appear\n `]: {\n opacity: 0,\n animationTimingFunction: 'linear'\n },\n [`${sameLevelPrefix}${motionCls}-leave`]: {\n animationTimingFunction: 'linear'\n }\n }];\n};","const initMotionCommon = duration => ({\n animationDuration: duration,\n animationFillMode: 'both'\n});\n// FIXME: origin less code seems same as initMotionCommon. Maybe we can safe remove\nconst initMotionCommonLeave = duration => ({\n animationDuration: duration,\n animationFillMode: 'both'\n});\nexport const initMotion = function (motionCls, inKeyframes, outKeyframes, duration) {\n let sameLevel = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n const sameLevelPrefix = sameLevel ? '&' : '';\n return {\n [`\n ${sameLevelPrefix}${motionCls}-enter,\n ${sameLevelPrefix}${motionCls}-appear\n `]: Object.assign(Object.assign({}, initMotionCommon(duration)), {\n animationPlayState: 'paused'\n }),\n [`${sameLevelPrefix}${motionCls}-leave`]: Object.assign(Object.assign({}, initMotionCommonLeave(duration)), {\n animationPlayState: 'paused'\n }),\n [`\n ${sameLevelPrefix}${motionCls}-enter${motionCls}-enter-active,\n ${sameLevelPrefix}${motionCls}-appear${motionCls}-appear-active\n `]: {\n animationName: inKeyframes,\n animationPlayState: 'running'\n },\n [`${sameLevelPrefix}${motionCls}-leave${motionCls}-leave-active`]: {\n animationName: outKeyframes,\n animationPlayState: 'running',\n pointerEvents: 'none'\n }\n };\n};","import { Keyframes } from '@ant-design/cssinjs';\nimport { initMotion } from './motion';\nexport const moveDownIn = new Keyframes('antMoveDownIn', {\n '0%': {\n transform: 'translate3d(0, 100%, 0)',\n transformOrigin: '0 0',\n opacity: 0\n },\n '100%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n }\n});\nexport const moveDownOut = new Keyframes('antMoveDownOut', {\n '0%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n },\n '100%': {\n transform: 'translate3d(0, 100%, 0)',\n transformOrigin: '0 0',\n opacity: 0\n }\n});\nexport const moveLeftIn = new Keyframes('antMoveLeftIn', {\n '0%': {\n transform: 'translate3d(-100%, 0, 0)',\n transformOrigin: '0 0',\n opacity: 0\n },\n '100%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n }\n});\nexport const moveLeftOut = new Keyframes('antMoveLeftOut', {\n '0%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n },\n '100%': {\n transform: 'translate3d(-100%, 0, 0)',\n transformOrigin: '0 0',\n opacity: 0\n }\n});\nexport const moveRightIn = new Keyframes('antMoveRightIn', {\n '0%': {\n transform: 'translate3d(100%, 0, 0)',\n transformOrigin: '0 0',\n opacity: 0\n },\n '100%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n }\n});\nexport const moveRightOut = new Keyframes('antMoveRightOut', {\n '0%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n },\n '100%': {\n transform: 'translate3d(100%, 0, 0)',\n transformOrigin: '0 0',\n opacity: 0\n }\n});\nexport const moveUpIn = new Keyframes('antMoveUpIn', {\n '0%': {\n transform: 'translate3d(0, -100%, 0)',\n transformOrigin: '0 0',\n opacity: 0\n },\n '100%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n }\n});\nexport const moveUpOut = new Keyframes('antMoveUpOut', {\n '0%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n },\n '100%': {\n transform: 'translate3d(0, -100%, 0)',\n transformOrigin: '0 0',\n opacity: 0\n }\n});\nconst moveMotion = {\n 'move-up': {\n inKeyframes: moveUpIn,\n outKeyframes: moveUpOut\n },\n 'move-down': {\n inKeyframes: moveDownIn,\n outKeyframes: moveDownOut\n },\n 'move-left': {\n inKeyframes: moveLeftIn,\n outKeyframes: moveLeftOut\n },\n 'move-right': {\n inKeyframes: moveRightIn,\n outKeyframes: moveRightOut\n }\n};\nexport const initMoveMotion = (token, motionName) => {\n const {\n antCls\n } = token;\n const motionCls = `${antCls}-${motionName}`;\n const {\n inKeyframes,\n outKeyframes\n } = moveMotion[motionName];\n return [initMotion(motionCls, inKeyframes, outKeyframes, token.motionDurationMid), {\n [`\n ${motionCls}-enter,\n ${motionCls}-appear\n `]: {\n opacity: 0,\n animationTimingFunction: token.motionEaseOutCirc\n },\n [`${motionCls}-leave`]: {\n animationTimingFunction: token.motionEaseInOutCirc\n }\n }];\n};","import { Keyframes } from '@ant-design/cssinjs';\nimport { initMotion } from './motion';\nexport const slideUpIn = new Keyframes('antSlideUpIn', {\n '0%': {\n transform: 'scaleY(0.8)',\n transformOrigin: '0% 0%',\n opacity: 0\n },\n '100%': {\n transform: 'scaleY(1)',\n transformOrigin: '0% 0%',\n opacity: 1\n }\n});\nexport const slideUpOut = new Keyframes('antSlideUpOut', {\n '0%': {\n transform: 'scaleY(1)',\n transformOrigin: '0% 0%',\n opacity: 1\n },\n '100%': {\n transform: 'scaleY(0.8)',\n transformOrigin: '0% 0%',\n opacity: 0\n }\n});\nexport const slideDownIn = new Keyframes('antSlideDownIn', {\n '0%': {\n transform: 'scaleY(0.8)',\n transformOrigin: '100% 100%',\n opacity: 0\n },\n '100%': {\n transform: 'scaleY(1)',\n transformOrigin: '100% 100%',\n opacity: 1\n }\n});\nexport const slideDownOut = new Keyframes('antSlideDownOut', {\n '0%': {\n transform: 'scaleY(1)',\n transformOrigin: '100% 100%',\n opacity: 1\n },\n '100%': {\n transform: 'scaleY(0.8)',\n transformOrigin: '100% 100%',\n opacity: 0\n }\n});\nexport const slideLeftIn = new Keyframes('antSlideLeftIn', {\n '0%': {\n transform: 'scaleX(0.8)',\n transformOrigin: '0% 0%',\n opacity: 0\n },\n '100%': {\n transform: 'scaleX(1)',\n transformOrigin: '0% 0%',\n opacity: 1\n }\n});\nexport const slideLeftOut = new Keyframes('antSlideLeftOut', {\n '0%': {\n transform: 'scaleX(1)',\n transformOrigin: '0% 0%',\n opacity: 1\n },\n '100%': {\n transform: 'scaleX(0.8)',\n transformOrigin: '0% 0%',\n opacity: 0\n }\n});\nexport const slideRightIn = new Keyframes('antSlideRightIn', {\n '0%': {\n transform: 'scaleX(0.8)',\n transformOrigin: '100% 0%',\n opacity: 0\n },\n '100%': {\n transform: 'scaleX(1)',\n transformOrigin: '100% 0%',\n opacity: 1\n }\n});\nexport const slideRightOut = new Keyframes('antSlideRightOut', {\n '0%': {\n transform: 'scaleX(1)',\n transformOrigin: '100% 0%',\n opacity: 1\n },\n '100%': {\n transform: 'scaleX(0.8)',\n transformOrigin: '100% 0%',\n opacity: 0\n }\n});\nconst slideMotion = {\n 'slide-up': {\n inKeyframes: slideUpIn,\n outKeyframes: slideUpOut\n },\n 'slide-down': {\n inKeyframes: slideDownIn,\n outKeyframes: slideDownOut\n },\n 'slide-left': {\n inKeyframes: slideLeftIn,\n outKeyframes: slideLeftOut\n },\n 'slide-right': {\n inKeyframes: slideRightIn,\n outKeyframes: slideRightOut\n }\n};\nexport const initSlideMotion = (token, motionName) => {\n const {\n antCls\n } = token;\n const motionCls = `${antCls}-${motionName}`;\n const {\n inKeyframes,\n outKeyframes\n } = slideMotion[motionName];\n return [initMotion(motionCls, inKeyframes, outKeyframes, token.motionDurationMid), {\n [`\n ${motionCls}-enter,\n ${motionCls}-appear\n `]: {\n transform: 'scale(0)',\n transformOrigin: '0% 0%',\n opacity: 0,\n animationTimingFunction: token.motionEaseOutQuint,\n [`&-prepare`]: {\n transform: 'scale(1)'\n }\n },\n [`${motionCls}-leave`]: {\n animationTimingFunction: token.motionEaseInQuint\n }\n }];\n};","import { Keyframes } from '@ant-design/cssinjs';\nimport { initMotion } from './motion';\nexport const zoomIn = new Keyframes('antZoomIn', {\n '0%': {\n transform: 'scale(0.2)',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 1\n }\n});\nexport const zoomOut = new Keyframes('antZoomOut', {\n '0%': {\n transform: 'scale(1)'\n },\n '100%': {\n transform: 'scale(0.2)',\n opacity: 0\n }\n});\nexport const zoomBigIn = new Keyframes('antZoomBigIn', {\n '0%': {\n transform: 'scale(0.8)',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 1\n }\n});\nexport const zoomBigOut = new Keyframes('antZoomBigOut', {\n '0%': {\n transform: 'scale(1)'\n },\n '100%': {\n transform: 'scale(0.8)',\n opacity: 0\n }\n});\nexport const zoomUpIn = new Keyframes('antZoomUpIn', {\n '0%': {\n transform: 'scale(0.8)',\n transformOrigin: '50% 0%',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n transformOrigin: '50% 0%'\n }\n});\nexport const zoomUpOut = new Keyframes('antZoomUpOut', {\n '0%': {\n transform: 'scale(1)',\n transformOrigin: '50% 0%'\n },\n '100%': {\n transform: 'scale(0.8)',\n transformOrigin: '50% 0%',\n opacity: 0\n }\n});\nexport const zoomLeftIn = new Keyframes('antZoomLeftIn', {\n '0%': {\n transform: 'scale(0.8)',\n transformOrigin: '0% 50%',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n transformOrigin: '0% 50%'\n }\n});\nexport const zoomLeftOut = new Keyframes('antZoomLeftOut', {\n '0%': {\n transform: 'scale(1)',\n transformOrigin: '0% 50%'\n },\n '100%': {\n transform: 'scale(0.8)',\n transformOrigin: '0% 50%',\n opacity: 0\n }\n});\nexport const zoomRightIn = new Keyframes('antZoomRightIn', {\n '0%': {\n transform: 'scale(0.8)',\n transformOrigin: '100% 50%',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n transformOrigin: '100% 50%'\n }\n});\nexport const zoomRightOut = new Keyframes('antZoomRightOut', {\n '0%': {\n transform: 'scale(1)',\n transformOrigin: '100% 50%'\n },\n '100%': {\n transform: 'scale(0.8)',\n transformOrigin: '100% 50%',\n opacity: 0\n }\n});\nexport const zoomDownIn = new Keyframes('antZoomDownIn', {\n '0%': {\n transform: 'scale(0.8)',\n transformOrigin: '50% 100%',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n transformOrigin: '50% 100%'\n }\n});\nexport const zoomDownOut = new Keyframes('antZoomDownOut', {\n '0%': {\n transform: 'scale(1)',\n transformOrigin: '50% 100%'\n },\n '100%': {\n transform: 'scale(0.8)',\n transformOrigin: '50% 100%',\n opacity: 0\n }\n});\nconst zoomMotion = {\n zoom: {\n inKeyframes: zoomIn,\n outKeyframes: zoomOut\n },\n 'zoom-big': {\n inKeyframes: zoomBigIn,\n outKeyframes: zoomBigOut\n },\n 'zoom-big-fast': {\n inKeyframes: zoomBigIn,\n outKeyframes: zoomBigOut\n },\n 'zoom-left': {\n inKeyframes: zoomLeftIn,\n outKeyframes: zoomLeftOut\n },\n 'zoom-right': {\n inKeyframes: zoomRightIn,\n outKeyframes: zoomRightOut\n },\n 'zoom-up': {\n inKeyframes: zoomUpIn,\n outKeyframes: zoomUpOut\n },\n 'zoom-down': {\n inKeyframes: zoomDownIn,\n outKeyframes: zoomDownOut\n }\n};\nexport const initZoomMotion = (token, motionName) => {\n const {\n antCls\n } = token;\n const motionCls = `${antCls}-${motionName}`;\n const {\n inKeyframes,\n outKeyframes\n } = zoomMotion[motionName];\n return [initMotion(motionCls, inKeyframes, outKeyframes, motionName === 'zoom-big-fast' ? token.motionDurationFast : token.motionDurationMid), {\n [`\n ${motionCls}-enter,\n ${motionCls}-appear\n `]: {\n transform: 'scale(0)',\n opacity: 0,\n animationTimingFunction: token.motionEaseOutCirc,\n '&-prepare': {\n transform: 'none'\n }\n },\n [`${motionCls}-leave`]: {\n animationTimingFunction: token.motionEaseInOutCirc\n }\n }];\n};","import { roundedArrow } from './roundedArrow';\nexport const MAX_VERTICAL_CONTENT_RADIUS = 8;\nexport function getArrowOffset(options) {\n const maxVerticalContentRadius = MAX_VERTICAL_CONTENT_RADIUS;\n const {\n contentRadius,\n limitVerticalRadius\n } = options;\n const dropdownArrowOffset = contentRadius > 12 ? contentRadius + 2 : 12;\n const dropdownArrowOffsetVertical = limitVerticalRadius ? maxVerticalContentRadius : dropdownArrowOffset;\n return {\n dropdownArrowOffset,\n dropdownArrowOffsetVertical\n };\n}\nfunction isInject(valid, code) {\n if (!valid) return {};\n return code;\n}\nexport default function getArrowStyle(token, options) {\n const {\n componentCls,\n sizePopupArrow,\n borderRadiusXS,\n borderRadiusOuter,\n boxShadowPopoverArrow\n } = token;\n const {\n colorBg,\n contentRadius = token.borderRadiusLG,\n limitVerticalRadius,\n arrowDistance = 0,\n arrowPlacement = {\n left: true,\n right: true,\n top: true,\n bottom: true\n }\n } = options;\n const {\n dropdownArrowOffsetVertical,\n dropdownArrowOffset\n } = getArrowOffset({\n contentRadius,\n limitVerticalRadius\n });\n return {\n [componentCls]: Object.assign(Object.assign(Object.assign(Object.assign({\n // ============================ Basic ============================\n [`${componentCls}-arrow`]: [Object.assign(Object.assign({\n position: 'absolute',\n zIndex: 1,\n display: 'block'\n }, roundedArrow(sizePopupArrow, borderRadiusXS, borderRadiusOuter, colorBg, boxShadowPopoverArrow)), {\n '&:before': {\n background: colorBg\n }\n })]\n }, isInject(!!arrowPlacement.top, {\n [[`&-placement-top ${componentCls}-arrow`, `&-placement-topLeft ${componentCls}-arrow`, `&-placement-topRight ${componentCls}-arrow`].join(',')]: {\n bottom: arrowDistance,\n transform: 'translateY(100%) rotate(180deg)'\n },\n [`&-placement-top ${componentCls}-arrow`]: {\n left: {\n _skip_check_: true,\n value: '50%'\n },\n transform: 'translateX(-50%) translateY(100%) rotate(180deg)'\n },\n [`&-placement-topLeft ${componentCls}-arrow`]: {\n left: {\n _skip_check_: true,\n value: dropdownArrowOffset\n }\n },\n [`&-placement-topRight ${componentCls}-arrow`]: {\n right: {\n _skip_check_: true,\n value: dropdownArrowOffset\n }\n }\n })), isInject(!!arrowPlacement.bottom, {\n [[`&-placement-bottom ${componentCls}-arrow`, `&-placement-bottomLeft ${componentCls}-arrow`, `&-placement-bottomRight ${componentCls}-arrow`].join(',')]: {\n top: arrowDistance,\n transform: `translateY(-100%)`\n },\n [`&-placement-bottom ${componentCls}-arrow`]: {\n left: {\n _skip_check_: true,\n value: '50%'\n },\n transform: `translateX(-50%) translateY(-100%)`\n },\n [`&-placement-bottomLeft ${componentCls}-arrow`]: {\n left: {\n _skip_check_: true,\n value: dropdownArrowOffset\n }\n },\n [`&-placement-bottomRight ${componentCls}-arrow`]: {\n right: {\n _skip_check_: true,\n value: dropdownArrowOffset\n }\n }\n })), isInject(!!arrowPlacement.left, {\n [[`&-placement-left ${componentCls}-arrow`, `&-placement-leftTop ${componentCls}-arrow`, `&-placement-leftBottom ${componentCls}-arrow`].join(',')]: {\n right: {\n _skip_check_: true,\n value: arrowDistance\n },\n transform: 'translateX(100%) rotate(90deg)'\n },\n [`&-placement-left ${componentCls}-arrow`]: {\n top: {\n _skip_check_: true,\n value: '50%'\n },\n transform: 'translateY(-50%) translateX(100%) rotate(90deg)'\n },\n [`&-placement-leftTop ${componentCls}-arrow`]: {\n top: dropdownArrowOffsetVertical\n },\n [`&-placement-leftBottom ${componentCls}-arrow`]: {\n bottom: dropdownArrowOffsetVertical\n }\n })), isInject(!!arrowPlacement.right, {\n [[`&-placement-right ${componentCls}-arrow`, `&-placement-rightTop ${componentCls}-arrow`, `&-placement-rightBottom ${componentCls}-arrow`].join(',')]: {\n left: {\n _skip_check_: true,\n value: arrowDistance\n },\n transform: 'translateX(-100%) rotate(-90deg)'\n },\n [`&-placement-right ${componentCls}-arrow`]: {\n top: {\n _skip_check_: true,\n value: '50%'\n },\n transform: 'translateY(-50%) translateX(-100%) rotate(-90deg)'\n },\n [`&-placement-rightTop ${componentCls}-arrow`]: {\n top: dropdownArrowOffsetVertical\n },\n [`&-placement-rightBottom ${componentCls}-arrow`]: {\n bottom: dropdownArrowOffsetVertical\n }\n }))\n };\n}","export const roundedArrow = (width, innerRadius, outerRadius, bgColor, boxShadow) => {\n const unitWidth = width / 2;\n const ax = 0;\n const ay = unitWidth;\n const bx = outerRadius * 1 / Math.sqrt(2);\n const by = unitWidth - outerRadius * (1 - 1 / Math.sqrt(2));\n const cx = unitWidth - innerRadius * (1 / Math.sqrt(2));\n const cy = outerRadius * (Math.sqrt(2) - 1) + innerRadius * (1 / Math.sqrt(2));\n const dx = 2 * unitWidth - cx;\n const dy = cy;\n const ex = 2 * unitWidth - bx;\n const ey = by;\n const fx = 2 * unitWidth - ax;\n const fy = ay;\n const shadowWidth = unitWidth * Math.sqrt(2) + outerRadius * (Math.sqrt(2) - 2);\n const polygonOffset = outerRadius * (Math.sqrt(2) - 1);\n return {\n pointerEvents: 'none',\n width,\n height: width,\n overflow: 'hidden',\n '&::before': {\n position: 'absolute',\n bottom: 0,\n insetInlineStart: 0,\n width,\n height: width / 2,\n background: bgColor,\n clipPath: {\n _multi_value_: true,\n value: [`polygon(${polygonOffset}px 100%, 50% ${polygonOffset}px, ${2 * unitWidth - polygonOffset}px 100%, ${polygonOffset}px 100%)`, `path('M ${ax} ${ay} A ${outerRadius} ${outerRadius} 0 0 0 ${bx} ${by} L ${cx} ${cy} A ${innerRadius} ${innerRadius} 0 0 1 ${dx} ${dy} L ${ex} ${ey} A ${outerRadius} ${outerRadius} 0 0 0 ${fx} ${fy} Z')`]\n },\n content: '\"\"'\n },\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n width: shadowWidth,\n height: shadowWidth,\n bottom: 0,\n insetInline: 0,\n margin: 'auto',\n borderRadius: {\n _skip_check_: true,\n value: `0 0 ${innerRadius}px 0`\n },\n transform: 'translateY(50%) rotate(-135deg)',\n boxShadow,\n zIndex: 0,\n background: 'transparent'\n }\n };\n};","import { createContext } from 'react';\nexport default /*#__PURE__*/createContext(null);","import * as React from 'react';\nimport classNames from 'classnames';\nvar TabPane = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var prefixCls = _ref.prefixCls,\n className = _ref.className,\n style = _ref.style,\n id = _ref.id,\n active = _ref.active,\n tabKey = _ref.tabKey,\n children = _ref.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n id: id && \"\".concat(id, \"-panel-\").concat(tabKey),\n role: \"tabpanel\",\n tabIndex: active ? 0 : -1,\n \"aria-labelledby\": id && \"\".concat(id, \"-tab-\").concat(tabKey),\n \"aria-hidden\": !active,\n style: style,\n className: classNames(prefixCls, active && \"\".concat(prefixCls, \"-active\"), className),\n ref: ref\n }, children);\n});\nif (process.env.NODE_ENV !== 'production') {\n TabPane.displayName = 'TabPane';\n}\nexport default TabPane;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar _excluded = [\"key\", \"forceRender\", \"style\", \"className\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport TabContext from \"../TabContext\";\nimport TabPane from \"./TabPane\";\nexport default function TabPanelList(_ref) {\n var id = _ref.id,\n activeKey = _ref.activeKey,\n animated = _ref.animated,\n tabPosition = _ref.tabPosition,\n destroyInactiveTabPane = _ref.destroyInactiveTabPane;\n var _React$useContext = React.useContext(TabContext),\n prefixCls = _React$useContext.prefixCls,\n tabs = _React$useContext.tabs;\n var tabPaneAnimated = animated.tabPane;\n var tabPanePrefixCls = \"\".concat(prefixCls, \"-tabpane\");\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-content-holder\"))\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-content\"), \"\".concat(prefixCls, \"-content-\").concat(tabPosition), _defineProperty({}, \"\".concat(prefixCls, \"-content-animated\"), tabPaneAnimated))\n }, tabs.map(function (_ref2) {\n var key = _ref2.key,\n forceRender = _ref2.forceRender,\n paneStyle = _ref2.style,\n paneClassName = _ref2.className,\n restTabProps = _objectWithoutProperties(_ref2, _excluded);\n var active = key === activeKey;\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({\n key: key,\n visible: active,\n forceRender: forceRender,\n removeOnLeave: !!destroyInactiveTabPane,\n leavedClassName: \"\".concat(tabPanePrefixCls, \"-hidden\")\n }, animated.tabPaneMotion), function (_ref3, ref) {\n var motionStyle = _ref3.style,\n motionClassName = _ref3.className;\n return /*#__PURE__*/React.createElement(TabPane, _extends({}, restTabProps, {\n prefixCls: tabPanePrefixCls,\n id: id,\n tabKey: key,\n animated: tabPaneAnimated,\n active: active,\n style: _objectSpread(_objectSpread({}, paneStyle), motionStyle),\n className: classNames(paneClassName, motionClassName),\n ref: ref\n }));\n });\n })));\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { useMemo } from 'react';\nvar DEFAULT_SIZE = {\n width: 0,\n height: 0,\n left: 0,\n top: 0\n};\nexport default function useOffsets(tabs, tabSizes, holderScrollWidth) {\n return useMemo(function () {\n var _tabs$;\n var map = new Map();\n var lastOffset = tabSizes.get((_tabs$ = tabs[0]) === null || _tabs$ === void 0 ? void 0 : _tabs$.key) || DEFAULT_SIZE;\n var rightOffset = lastOffset.left + lastOffset.width;\n for (var i = 0; i < tabs.length; i += 1) {\n var key = tabs[i].key;\n var data = tabSizes.get(key);\n\n // Reuse last one when not exist yet\n if (!data) {\n var _tabs;\n data = tabSizes.get((_tabs = tabs[i - 1]) === null || _tabs === void 0 ? void 0 : _tabs.key) || DEFAULT_SIZE;\n }\n var entity = map.get(key) || _objectSpread({}, data);\n\n // Right\n entity.right = rightOffset - entity.left - entity.width;\n\n // Update entity\n map.set(key, entity);\n }\n return map;\n }, [tabs.map(function (tab) {\n return tab.key;\n }).join('_'), tabSizes, holderScrollWidth]);\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nexport default function useSyncState(defaultState, onChange) {\n var stateRef = React.useRef(defaultState);\n var _React$useState = React.useState({}),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n forceUpdate = _React$useState2[1];\n function setState(updater) {\n var newValue = typeof updater === 'function' ? updater(stateRef.current) : updater;\n if (newValue !== stateRef.current) {\n onChange(newValue, stateRef.current);\n }\n stateRef.current = newValue;\n forceUpdate({});\n }\n return [stateRef.current, setState];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useState, useRef } from 'react';\nvar MIN_SWIPE_DISTANCE = 0.1;\nvar STOP_SWIPE_DISTANCE = 0.01;\nvar REFRESH_INTERVAL = 20;\nvar SPEED_OFF_MULTIPLE = Math.pow(0.995, REFRESH_INTERVAL);\n\n// ================================= Hook =================================\nexport default function useTouchMove(ref, onOffset) {\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n touchPosition = _useState2[0],\n setTouchPosition = _useState2[1];\n var _useState3 = useState(0),\n _useState4 = _slicedToArray(_useState3, 2),\n lastTimestamp = _useState4[0],\n setLastTimestamp = _useState4[1];\n var _useState5 = useState(0),\n _useState6 = _slicedToArray(_useState5, 2),\n lastTimeDiff = _useState6[0],\n setLastTimeDiff = _useState6[1];\n var _useState7 = useState(),\n _useState8 = _slicedToArray(_useState7, 2),\n lastOffset = _useState8[0],\n setLastOffset = _useState8[1];\n var motionRef = useRef();\n\n // ========================= Events =========================\n // >>> Touch events\n function onTouchStart(e) {\n var _e$touches$ = e.touches[0],\n screenX = _e$touches$.screenX,\n screenY = _e$touches$.screenY;\n setTouchPosition({\n x: screenX,\n y: screenY\n });\n window.clearInterval(motionRef.current);\n }\n function onTouchMove(e) {\n if (!touchPosition) return;\n e.preventDefault();\n var _e$touches$2 = e.touches[0],\n screenX = _e$touches$2.screenX,\n screenY = _e$touches$2.screenY;\n setTouchPosition({\n x: screenX,\n y: screenY\n });\n var offsetX = screenX - touchPosition.x;\n var offsetY = screenY - touchPosition.y;\n onOffset(offsetX, offsetY);\n var now = Date.now();\n setLastTimestamp(now);\n setLastTimeDiff(now - lastTimestamp);\n setLastOffset({\n x: offsetX,\n y: offsetY\n });\n }\n function onTouchEnd() {\n if (!touchPosition) return;\n setTouchPosition(null);\n setLastOffset(null);\n\n // Swipe if needed\n if (lastOffset) {\n var distanceX = lastOffset.x / lastTimeDiff;\n var distanceY = lastOffset.y / lastTimeDiff;\n var absX = Math.abs(distanceX);\n var absY = Math.abs(distanceY);\n\n // Skip swipe if low distance\n if (Math.max(absX, absY) < MIN_SWIPE_DISTANCE) return;\n var currentX = distanceX;\n var currentY = distanceY;\n motionRef.current = window.setInterval(function () {\n if (Math.abs(currentX) < STOP_SWIPE_DISTANCE && Math.abs(currentY) < STOP_SWIPE_DISTANCE) {\n window.clearInterval(motionRef.current);\n return;\n }\n currentX *= SPEED_OFF_MULTIPLE;\n currentY *= SPEED_OFF_MULTIPLE;\n onOffset(currentX * REFRESH_INTERVAL, currentY * REFRESH_INTERVAL);\n }, REFRESH_INTERVAL);\n }\n }\n\n // >>> Wheel event\n var lastWheelDirectionRef = useRef();\n function onWheel(e) {\n var deltaX = e.deltaX,\n deltaY = e.deltaY;\n\n // Convert both to x & y since wheel only happened on PC\n var mixed = 0;\n var absX = Math.abs(deltaX);\n var absY = Math.abs(deltaY);\n if (absX === absY) {\n mixed = lastWheelDirectionRef.current === 'x' ? deltaX : deltaY;\n } else if (absX > absY) {\n mixed = deltaX;\n lastWheelDirectionRef.current = 'x';\n } else {\n mixed = deltaY;\n lastWheelDirectionRef.current = 'y';\n }\n if (onOffset(-mixed, -mixed)) {\n e.preventDefault();\n }\n }\n\n // ========================= Effect =========================\n var touchEventsRef = useRef(null);\n touchEventsRef.current = {\n onTouchStart: onTouchStart,\n onTouchMove: onTouchMove,\n onTouchEnd: onTouchEnd,\n onWheel: onWheel\n };\n React.useEffect(function () {\n function onProxyTouchStart(e) {\n touchEventsRef.current.onTouchStart(e);\n }\n function onProxyTouchMove(e) {\n touchEventsRef.current.onTouchMove(e);\n }\n function onProxyTouchEnd(e) {\n touchEventsRef.current.onTouchEnd(e);\n }\n function onProxyWheel(e) {\n touchEventsRef.current.onWheel(e);\n }\n document.addEventListener('touchmove', onProxyTouchMove, {\n passive: false\n });\n document.addEventListener('touchend', onProxyTouchEnd, {\n passive: false\n });\n\n // No need to clean up since element removed\n ref.current.addEventListener('touchstart', onProxyTouchStart, {\n passive: false\n });\n ref.current.addEventListener('wheel', onProxyWheel);\n return function () {\n document.removeEventListener('touchmove', onProxyTouchMove);\n document.removeEventListener('touchend', onProxyTouchEnd);\n };\n }, []);\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useLayoutUpdateEffect } from \"rc-util/es/hooks/useLayoutEffect\";\nimport { useRef, useState } from 'react';\n\n/**\n * Help to merge callback with `useLayoutEffect`.\n * One time will only trigger once.\n */\nexport default function useUpdate(callback) {\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n count = _useState2[0],\n setCount = _useState2[1];\n var effectRef = useRef(0);\n var callbackRef = useRef();\n callbackRef.current = callback;\n\n // Trigger on `useLayoutEffect`\n useLayoutUpdateEffect(function () {\n var _callbackRef$current;\n (_callbackRef$current = callbackRef.current) === null || _callbackRef$current === void 0 ? void 0 : _callbackRef$current.call(callbackRef);\n }, [count]);\n\n // Trigger to update count\n return function () {\n if (effectRef.current !== count) {\n return;\n }\n effectRef.current += 1;\n setCount(effectRef.current);\n };\n}\nexport function useUpdateState(defaultState) {\n var batchRef = useRef([]);\n var _useState3 = useState({}),\n _useState4 = _slicedToArray(_useState3, 2),\n forceUpdate = _useState4[1];\n var state = useRef(typeof defaultState === 'function' ? defaultState() : defaultState);\n var flushUpdate = useUpdate(function () {\n var current = state.current;\n batchRef.current.forEach(function (callback) {\n current = callback(current);\n });\n batchRef.current = [];\n state.current = current;\n forceUpdate({});\n });\n function updater(callback) {\n batchRef.current.push(callback);\n flushUpdate();\n }\n return [state.current, updater];\n}","import { useMemo } from 'react';\nvar DEFAULT_SIZE = {\n width: 0,\n height: 0,\n left: 0,\n top: 0,\n right: 0\n};\nexport default function useVisibleRange(tabOffsets, visibleTabContentValue, transform, tabContentSizeValue, addNodeSizeValue, operationNodeSizeValue, _ref) {\n var tabs = _ref.tabs,\n tabPosition = _ref.tabPosition,\n rtl = _ref.rtl;\n var charUnit;\n var position;\n var transformSize;\n if (['top', 'bottom'].includes(tabPosition)) {\n charUnit = 'width';\n position = rtl ? 'right' : 'left';\n transformSize = Math.abs(transform);\n } else {\n charUnit = 'height';\n position = 'top';\n transformSize = -transform;\n }\n return useMemo(function () {\n if (!tabs.length) {\n return [0, 0];\n }\n var len = tabs.length;\n var endIndex = len;\n for (var i = 0; i < len; i += 1) {\n var offset = tabOffsets.get(tabs[i].key) || DEFAULT_SIZE;\n if (offset[position] + offset[charUnit] > transformSize + visibleTabContentValue) {\n endIndex = i - 1;\n break;\n }\n }\n var startIndex = 0;\n for (var _i = len - 1; _i >= 0; _i -= 1) {\n var _offset = tabOffsets.get(tabs[_i].key) || DEFAULT_SIZE;\n if (_offset[position] < transformSize) {\n startIndex = _i + 1;\n break;\n }\n }\n return startIndex >= endIndex ? [0, 0] : [startIndex, endIndex];\n }, [tabOffsets, visibleTabContentValue, tabContentSizeValue, addNodeSizeValue, operationNodeSizeValue, transformSize, tabPosition, tabs.map(function (tab) {\n return tab.key;\n }).join('_'), rtl]);\n}","/**\n * We trade Map as deps which may change with same value but different ref object.\n * We should make it as hash for deps\n * */\nexport function stringify(obj) {\n var tgt;\n if (obj instanceof Map) {\n tgt = {};\n obj.forEach(function (v, k) {\n tgt[k] = v;\n });\n } else {\n tgt = obj;\n }\n return JSON.stringify(tgt);\n}\nvar RC_TABS_DOUBLE_QUOTE = 'TABS_DQ';\nexport function genDataNodeKey(key) {\n return String(key).replace(/\"/g, RC_TABS_DOUBLE_QUOTE);\n}\nexport function getRemovable(closable, closeIcon, editable, disabled) {\n if (\n // Only editable tabs can be removed\n !editable ||\n // Tabs cannot be removed when disabled\n disabled ||\n // closable is false\n closable === false ||\n // If closable is undefined, the remove button should be hidden when closeIcon is null or false\n closable === undefined && (closeIcon === false || closeIcon === null)) {\n return false;\n }\n return true;\n}","import * as React from 'react';\nfunction AddButton(_ref, ref) {\n var prefixCls = _ref.prefixCls,\n editable = _ref.editable,\n locale = _ref.locale,\n style = _ref.style;\n if (!editable || editable.showAdd === false) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"button\", {\n ref: ref,\n type: \"button\",\n className: \"\".concat(prefixCls, \"-nav-add\"),\n style: style,\n \"aria-label\": (locale === null || locale === void 0 ? void 0 : locale.addAriaLabel) || 'Add tab',\n onClick: function onClick(event) {\n editable.onEdit('add', {\n event: event\n });\n }\n }, editable.addIcon || '+');\n}\nexport default /*#__PURE__*/React.forwardRef(AddButton);","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport * as React from 'react';\nvar ExtraContent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var position = _ref.position,\n prefixCls = _ref.prefixCls,\n extra = _ref.extra;\n if (!extra) return null;\n var content;\n\n // Parse extra\n var assertExtra = {};\n if (_typeof(extra) === 'object' && ! /*#__PURE__*/React.isValidElement(extra)) {\n assertExtra = extra;\n } else {\n assertExtra.right = extra;\n }\n if (position === 'right') {\n content = assertExtra.right;\n }\n if (position === 'left') {\n content = assertExtra.left;\n }\n return content ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-extra-content\"),\n ref: ref\n }, content) : null;\n});\nif (process.env.NODE_ENV !== 'production') {\n ExtraContent.displayName = 'ExtraContent';\n}\nexport default ExtraContent;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport Dropdown from 'rc-dropdown';\nimport Menu, { MenuItem } from 'rc-menu';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport * as React from 'react';\nimport { useEffect, useState } from 'react';\nimport AddButton from \"./AddButton\";\nimport { getRemovable } from \"../util\";\nfunction OperationNode(_ref, ref) {\n var prefixCls = _ref.prefixCls,\n id = _ref.id,\n tabs = _ref.tabs,\n locale = _ref.locale,\n mobile = _ref.mobile,\n _ref$moreIcon = _ref.moreIcon,\n moreIcon = _ref$moreIcon === void 0 ? 'More' : _ref$moreIcon,\n moreTransitionName = _ref.moreTransitionName,\n style = _ref.style,\n className = _ref.className,\n editable = _ref.editable,\n tabBarGutter = _ref.tabBarGutter,\n rtl = _ref.rtl,\n removeAriaLabel = _ref.removeAriaLabel,\n onTabClick = _ref.onTabClick,\n getPopupContainer = _ref.getPopupContainer,\n popupClassName = _ref.popupClassName;\n // ======================== Dropdown ========================\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n open = _useState2[0],\n setOpen = _useState2[1];\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedKey = _useState4[0],\n setSelectedKey = _useState4[1];\n var popupId = \"\".concat(id, \"-more-popup\");\n var dropdownPrefix = \"\".concat(prefixCls, \"-dropdown\");\n var selectedItemId = selectedKey !== null ? \"\".concat(popupId, \"-\").concat(selectedKey) : null;\n var dropdownAriaLabel = locale === null || locale === void 0 ? void 0 : locale.dropdownAriaLabel;\n function onRemoveTab(event, key) {\n event.preventDefault();\n event.stopPropagation();\n editable.onEdit('remove', {\n key: key,\n event: event\n });\n }\n var menu = /*#__PURE__*/React.createElement(Menu, {\n onClick: function onClick(_ref2) {\n var key = _ref2.key,\n domEvent = _ref2.domEvent;\n onTabClick(key, domEvent);\n setOpen(false);\n },\n prefixCls: \"\".concat(dropdownPrefix, \"-menu\"),\n id: popupId,\n tabIndex: -1,\n role: \"listbox\",\n \"aria-activedescendant\": selectedItemId,\n selectedKeys: [selectedKey],\n \"aria-label\": dropdownAriaLabel !== undefined ? dropdownAriaLabel : 'expanded dropdown'\n }, tabs.map(function (tab) {\n var closable = tab.closable,\n disabled = tab.disabled,\n closeIcon = tab.closeIcon,\n key = tab.key,\n label = tab.label;\n var removable = getRemovable(closable, closeIcon, editable, disabled);\n return /*#__PURE__*/React.createElement(MenuItem, {\n key: key,\n id: \"\".concat(popupId, \"-\").concat(key),\n role: \"option\",\n \"aria-controls\": id && \"\".concat(id, \"-panel-\").concat(key),\n disabled: disabled\n }, /*#__PURE__*/React.createElement(\"span\", null, label), removable && /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n \"aria-label\": removeAriaLabel || 'remove',\n tabIndex: 0,\n className: \"\".concat(dropdownPrefix, \"-menu-item-remove\"),\n onClick: function onClick(e) {\n e.stopPropagation();\n onRemoveTab(e, key);\n }\n }, closeIcon || editable.removeIcon || '×'));\n }));\n function selectOffset(offset) {\n var enabledTabs = tabs.filter(function (tab) {\n return !tab.disabled;\n });\n var selectedIndex = enabledTabs.findIndex(function (tab) {\n return tab.key === selectedKey;\n }) || 0;\n var len = enabledTabs.length;\n for (var i = 0; i < len; i += 1) {\n selectedIndex = (selectedIndex + offset + len) % len;\n var tab = enabledTabs[selectedIndex];\n if (!tab.disabled) {\n setSelectedKey(tab.key);\n return;\n }\n }\n }\n function onKeyDown(e) {\n var which = e.which;\n if (!open) {\n if ([KeyCode.DOWN, KeyCode.SPACE, KeyCode.ENTER].includes(which)) {\n setOpen(true);\n e.preventDefault();\n }\n return;\n }\n switch (which) {\n case KeyCode.UP:\n selectOffset(-1);\n e.preventDefault();\n break;\n case KeyCode.DOWN:\n selectOffset(1);\n e.preventDefault();\n break;\n case KeyCode.ESC:\n setOpen(false);\n break;\n case KeyCode.SPACE:\n case KeyCode.ENTER:\n if (selectedKey !== null) onTabClick(selectedKey, e);\n break;\n }\n }\n\n // ========================= Effect =========================\n useEffect(function () {\n // We use query element here to avoid React strict warning\n var ele = document.getElementById(selectedItemId);\n if (ele && ele.scrollIntoView) {\n ele.scrollIntoView(false);\n }\n }, [selectedKey]);\n useEffect(function () {\n if (!open) {\n setSelectedKey(null);\n }\n }, [open]);\n\n // ========================= Render =========================\n var moreStyle = _defineProperty({}, rtl ? 'marginRight' : 'marginLeft', tabBarGutter);\n if (!tabs.length) {\n moreStyle.visibility = 'hidden';\n moreStyle.order = 1;\n }\n var overlayClassName = classNames(_defineProperty({}, \"\".concat(dropdownPrefix, \"-rtl\"), rtl));\n var moreNode = mobile ? null : /*#__PURE__*/React.createElement(Dropdown, {\n prefixCls: dropdownPrefix,\n overlay: menu,\n trigger: ['hover'],\n visible: tabs.length ? open : false,\n transitionName: moreTransitionName,\n onVisibleChange: setOpen,\n overlayClassName: classNames(overlayClassName, popupClassName),\n mouseEnterDelay: 0.1,\n mouseLeaveDelay: 0.1,\n getPopupContainer: getPopupContainer\n }, /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: \"\".concat(prefixCls, \"-nav-more\"),\n style: moreStyle,\n tabIndex: -1,\n \"aria-hidden\": \"true\",\n \"aria-haspopup\": \"listbox\",\n \"aria-controls\": popupId,\n id: \"\".concat(id, \"-more\"),\n \"aria-expanded\": open,\n onKeyDown: onKeyDown\n }, moreIcon));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-nav-operations\"), className),\n style: style,\n ref: ref\n }, moreNode, /*#__PURE__*/React.createElement(AddButton, {\n prefixCls: prefixCls,\n locale: locale,\n editable: editable\n }));\n}\nexport default /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(OperationNode), function (_, next) {\n return (\n // https://github.com/ant-design/ant-design/issues/32544\n // We'd better remove syntactic sugar in `rc-menu` since this has perf issue\n next.tabMoving\n );\n});","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport * as React from 'react';\nimport { genDataNodeKey, getRemovable } from \"../util\";\nfunction TabNode(_ref) {\n var _classNames;\n var prefixCls = _ref.prefixCls,\n id = _ref.id,\n active = _ref.active,\n _ref$tab = _ref.tab,\n key = _ref$tab.key,\n label = _ref$tab.label,\n disabled = _ref$tab.disabled,\n closeIcon = _ref$tab.closeIcon,\n closable = _ref.closable,\n renderWrapper = _ref.renderWrapper,\n removeAriaLabel = _ref.removeAriaLabel,\n editable = _ref.editable,\n onClick = _ref.onClick,\n onFocus = _ref.onFocus,\n style = _ref.style;\n var tabPrefix = \"\".concat(prefixCls, \"-tab\");\n var removable = getRemovable(closable, closeIcon, editable, disabled);\n function onInternalClick(e) {\n if (disabled) {\n return;\n }\n onClick(e);\n }\n function onRemoveTab(event) {\n event.preventDefault();\n event.stopPropagation();\n editable.onEdit('remove', {\n key: key,\n event: event\n });\n }\n var node = /*#__PURE__*/React.createElement(\"div\", {\n key: key\n // ref={ref}\n ,\n \"data-node-key\": genDataNodeKey(key),\n className: classNames(tabPrefix, (_classNames = {}, _defineProperty(_classNames, \"\".concat(tabPrefix, \"-with-remove\"), removable), _defineProperty(_classNames, \"\".concat(tabPrefix, \"-active\"), active), _defineProperty(_classNames, \"\".concat(tabPrefix, \"-disabled\"), disabled), _classNames)),\n style: style,\n onClick: onInternalClick\n }, /*#__PURE__*/React.createElement(\"div\", {\n role: \"tab\",\n \"aria-selected\": active,\n id: id && \"\".concat(id, \"-tab-\").concat(key),\n className: \"\".concat(tabPrefix, \"-btn\"),\n \"aria-controls\": id && \"\".concat(id, \"-panel-\").concat(key),\n \"aria-disabled\": disabled,\n tabIndex: disabled ? null : 0,\n onClick: function onClick(e) {\n e.stopPropagation();\n onInternalClick(e);\n },\n onKeyDown: function onKeyDown(e) {\n if ([KeyCode.SPACE, KeyCode.ENTER].includes(e.which)) {\n e.preventDefault();\n onInternalClick(e);\n }\n },\n onFocus: onFocus\n }, label), removable && /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n \"aria-label\": removeAriaLabel || 'remove',\n tabIndex: 0,\n className: \"\".concat(tabPrefix, \"-remove\"),\n onClick: function onClick(e) {\n e.stopPropagation();\n onRemoveTab(e);\n }\n }, closeIcon || editable.removeIcon || '×'));\n return renderWrapper ? renderWrapper(node) : node;\n}\nexport default TabNode;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport raf from \"rc-util/es/raf\";\nimport { useComposeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport useOffsets from \"../hooks/useOffsets\";\nimport useSyncState from \"../hooks/useSyncState\";\nimport useTouchMove from \"../hooks/useTouchMove\";\nimport useUpdate, { useUpdateState } from \"../hooks/useUpdate\";\nimport useVisibleRange from \"../hooks/useVisibleRange\";\nimport TabContext from \"../TabContext\";\nimport { genDataNodeKey, stringify } from \"../util\";\nimport AddButton from \"./AddButton\";\nimport ExtraContent from \"./ExtraContent\";\nimport OperationNode from \"./OperationNode\";\nimport TabNode from \"./TabNode\";\nvar getSize = function getSize(refObj) {\n var _ref = refObj.current || {},\n _ref$offsetWidth = _ref.offsetWidth,\n offsetWidth = _ref$offsetWidth === void 0 ? 0 : _ref$offsetWidth,\n _ref$offsetHeight = _ref.offsetHeight,\n offsetHeight = _ref$offsetHeight === void 0 ? 0 : _ref$offsetHeight;\n return [offsetWidth, offsetHeight];\n};\n\n/**\n * Convert `SizeInfo` to unit value. Such as [123, 456] with `top` position get `123`\n */\nvar getUnitValue = function getUnitValue(size, tabPositionTopOrBottom) {\n return size[tabPositionTopOrBottom ? 0 : 1];\n};\nfunction TabNavList(props, ref) {\n var _classNames;\n var _React$useContext = React.useContext(TabContext),\n prefixCls = _React$useContext.prefixCls,\n tabs = _React$useContext.tabs;\n var className = props.className,\n style = props.style,\n id = props.id,\n animated = props.animated,\n activeKey = props.activeKey,\n rtl = props.rtl,\n extra = props.extra,\n editable = props.editable,\n locale = props.locale,\n tabPosition = props.tabPosition,\n tabBarGutter = props.tabBarGutter,\n children = props.children,\n onTabClick = props.onTabClick,\n onTabScroll = props.onTabScroll;\n var containerRef = useRef();\n var extraLeftRef = useRef();\n var extraRightRef = useRef();\n var tabsWrapperRef = useRef();\n var tabListRef = useRef();\n var operationsRef = useRef();\n var innerAddButtonRef = useRef();\n // const [getBtnRef, removeBtnRef] = useRefs();\n\n var tabPositionTopOrBottom = tabPosition === 'top' || tabPosition === 'bottom';\n var _useSyncState = useSyncState(0, function (next, prev) {\n if (tabPositionTopOrBottom && onTabScroll) {\n onTabScroll({\n direction: next > prev ? 'left' : 'right'\n });\n }\n }),\n _useSyncState2 = _slicedToArray(_useSyncState, 2),\n transformLeft = _useSyncState2[0],\n setTransformLeft = _useSyncState2[1];\n var _useSyncState3 = useSyncState(0, function (next, prev) {\n if (!tabPositionTopOrBottom && onTabScroll) {\n onTabScroll({\n direction: next > prev ? 'top' : 'bottom'\n });\n }\n }),\n _useSyncState4 = _slicedToArray(_useSyncState3, 2),\n transformTop = _useSyncState4[0],\n setTransformTop = _useSyncState4[1];\n var _useState = useState([0, 0]),\n _useState2 = _slicedToArray(_useState, 2),\n containerExcludeExtraSize = _useState2[0],\n setContainerExcludeExtraSize = _useState2[1];\n var _useState3 = useState([0, 0]),\n _useState4 = _slicedToArray(_useState3, 2),\n tabContentSize = _useState4[0],\n setTabContentSize = _useState4[1];\n var _useState5 = useState([0, 0]),\n _useState6 = _slicedToArray(_useState5, 2),\n addSize = _useState6[0],\n setAddSize = _useState6[1];\n var _useState7 = useState([0, 0]),\n _useState8 = _slicedToArray(_useState7, 2),\n operationSize = _useState8[0],\n setOperationSize = _useState8[1];\n var _useUpdateState = useUpdateState(new Map()),\n _useUpdateState2 = _slicedToArray(_useUpdateState, 2),\n tabSizes = _useUpdateState2[0],\n setTabSizes = _useUpdateState2[1];\n var tabOffsets = useOffsets(tabs, tabSizes, tabContentSize[0]);\n\n // ========================== Unit =========================\n var containerExcludeExtraSizeValue = getUnitValue(containerExcludeExtraSize, tabPositionTopOrBottom);\n var tabContentSizeValue = getUnitValue(tabContentSize, tabPositionTopOrBottom);\n var addSizeValue = getUnitValue(addSize, tabPositionTopOrBottom);\n var operationSizeValue = getUnitValue(operationSize, tabPositionTopOrBottom);\n var needScroll = containerExcludeExtraSizeValue < tabContentSizeValue + addSizeValue;\n var visibleTabContentValue = needScroll ? containerExcludeExtraSizeValue - operationSizeValue : containerExcludeExtraSizeValue - addSizeValue;\n\n // ========================== Util =========================\n var operationsHiddenClassName = \"\".concat(prefixCls, \"-nav-operations-hidden\");\n var transformMin = 0;\n var transformMax = 0;\n if (!tabPositionTopOrBottom) {\n transformMin = Math.min(0, visibleTabContentValue - tabContentSizeValue);\n transformMax = 0;\n } else if (rtl) {\n transformMin = 0;\n transformMax = Math.max(0, tabContentSizeValue - visibleTabContentValue);\n } else {\n transformMin = Math.min(0, visibleTabContentValue - tabContentSizeValue);\n transformMax = 0;\n }\n function alignInRange(value) {\n if (value < transformMin) {\n return transformMin;\n }\n if (value > transformMax) {\n return transformMax;\n }\n return value;\n }\n\n // ========================= Mobile ========================\n var touchMovingRef = useRef();\n var _useState9 = useState(),\n _useState10 = _slicedToArray(_useState9, 2),\n lockAnimation = _useState10[0],\n setLockAnimation = _useState10[1];\n function doLockAnimation() {\n setLockAnimation(Date.now());\n }\n function clearTouchMoving() {\n window.clearTimeout(touchMovingRef.current);\n }\n useTouchMove(tabsWrapperRef, function (offsetX, offsetY) {\n function doMove(setState, offset) {\n setState(function (value) {\n var newValue = alignInRange(value + offset);\n return newValue;\n });\n }\n\n // Skip scroll if place is enough\n if (!needScroll) {\n return false;\n }\n if (tabPositionTopOrBottom) {\n doMove(setTransformLeft, offsetX);\n } else {\n doMove(setTransformTop, offsetY);\n }\n clearTouchMoving();\n doLockAnimation();\n return true;\n });\n useEffect(function () {\n clearTouchMoving();\n if (lockAnimation) {\n touchMovingRef.current = window.setTimeout(function () {\n setLockAnimation(0);\n }, 100);\n }\n return clearTouchMoving;\n }, [lockAnimation]);\n\n // ===================== Visible Range =====================\n // Render tab node & collect tab offset\n var _useVisibleRange = useVisibleRange(tabOffsets,\n // Container\n visibleTabContentValue,\n // Transform\n tabPositionTopOrBottom ? transformLeft : transformTop,\n // Tabs\n tabContentSizeValue,\n // Add\n addSizeValue,\n // Operation\n operationSizeValue, _objectSpread(_objectSpread({}, props), {}, {\n tabs: tabs\n })),\n _useVisibleRange2 = _slicedToArray(_useVisibleRange, 2),\n visibleStart = _useVisibleRange2[0],\n visibleEnd = _useVisibleRange2[1];\n\n // ========================= Scroll ========================\n var scrollToTab = useEvent(function () {\n var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : activeKey;\n var tabOffset = tabOffsets.get(key) || {\n width: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0\n };\n if (tabPositionTopOrBottom) {\n // ============ Align with top & bottom ============\n var newTransform = transformLeft;\n\n // RTL\n if (rtl) {\n if (tabOffset.right < transformLeft) {\n newTransform = tabOffset.right;\n } else if (tabOffset.right + tabOffset.width > transformLeft + visibleTabContentValue) {\n newTransform = tabOffset.right + tabOffset.width - visibleTabContentValue;\n }\n }\n // LTR\n else if (tabOffset.left < -transformLeft) {\n newTransform = -tabOffset.left;\n } else if (tabOffset.left + tabOffset.width > -transformLeft + visibleTabContentValue) {\n newTransform = -(tabOffset.left + tabOffset.width - visibleTabContentValue);\n }\n setTransformTop(0);\n setTransformLeft(alignInRange(newTransform));\n } else {\n // ============ Align with left & right ============\n var _newTransform = transformTop;\n if (tabOffset.top < -transformTop) {\n _newTransform = -tabOffset.top;\n } else if (tabOffset.top + tabOffset.height > -transformTop + visibleTabContentValue) {\n _newTransform = -(tabOffset.top + tabOffset.height - visibleTabContentValue);\n }\n setTransformLeft(0);\n setTransformTop(alignInRange(_newTransform));\n }\n });\n\n // ========================== Tab ==========================\n var tabNodeStyle = {};\n if (tabPosition === 'top' || tabPosition === 'bottom') {\n tabNodeStyle[rtl ? 'marginRight' : 'marginLeft'] = tabBarGutter;\n } else {\n tabNodeStyle.marginTop = tabBarGutter;\n }\n var tabNodes = tabs.map(function (tab, i) {\n var key = tab.key;\n return /*#__PURE__*/React.createElement(TabNode, {\n id: id,\n prefixCls: prefixCls,\n key: key,\n tab: tab\n /* first node should not have margin left */,\n style: i === 0 ? undefined : tabNodeStyle,\n closable: tab.closable,\n editable: editable,\n active: key === activeKey,\n renderWrapper: children,\n removeAriaLabel: locale === null || locale === void 0 ? void 0 : locale.removeAriaLabel,\n onClick: function onClick(e) {\n onTabClick(key, e);\n },\n onFocus: function onFocus() {\n scrollToTab(key);\n doLockAnimation();\n if (!tabsWrapperRef.current) {\n return;\n }\n // Focus element will make scrollLeft change which we should reset back\n if (!rtl) {\n tabsWrapperRef.current.scrollLeft = 0;\n }\n tabsWrapperRef.current.scrollTop = 0;\n }\n });\n });\n\n // Update buttons records\n var updateTabSizes = function updateTabSizes() {\n return setTabSizes(function () {\n var newSizes = new Map();\n tabs.forEach(function (_ref2) {\n var _tabListRef$current;\n var key = _ref2.key;\n var btnNode = (_tabListRef$current = tabListRef.current) === null || _tabListRef$current === void 0 ? void 0 : _tabListRef$current.querySelector(\"[data-node-key=\\\"\".concat(genDataNodeKey(key), \"\\\"]\"));\n if (btnNode) {\n newSizes.set(key, {\n width: btnNode.offsetWidth,\n height: btnNode.offsetHeight,\n left: btnNode.offsetLeft,\n top: btnNode.offsetTop\n });\n }\n });\n return newSizes;\n });\n };\n useEffect(function () {\n updateTabSizes();\n }, [tabs.map(function (tab) {\n return tab.key;\n }).join('_')]);\n var onListHolderResize = useUpdate(function () {\n // Update wrapper records\n var containerSize = getSize(containerRef);\n var extraLeftSize = getSize(extraLeftRef);\n var extraRightSize = getSize(extraRightRef);\n setContainerExcludeExtraSize([containerSize[0] - extraLeftSize[0] - extraRightSize[0], containerSize[1] - extraLeftSize[1] - extraRightSize[1]]);\n var newAddSize = getSize(innerAddButtonRef);\n setAddSize(newAddSize);\n var newOperationSize = getSize(operationsRef);\n setOperationSize(newOperationSize);\n\n // Which includes add button size\n var tabContentFullSize = getSize(tabListRef);\n setTabContentSize([tabContentFullSize[0] - newAddSize[0], tabContentFullSize[1] - newAddSize[1]]);\n\n // Update buttons records\n updateTabSizes();\n });\n\n // ======================== Dropdown =======================\n var startHiddenTabs = tabs.slice(0, visibleStart);\n var endHiddenTabs = tabs.slice(visibleEnd + 1);\n var hiddenTabs = [].concat(_toConsumableArray(startHiddenTabs), _toConsumableArray(endHiddenTabs));\n\n // =================== Link & Operations ===================\n var _useState11 = useState(),\n _useState12 = _slicedToArray(_useState11, 2),\n inkStyle = _useState12[0],\n setInkStyle = _useState12[1];\n var activeTabOffset = tabOffsets.get(activeKey);\n\n // Delay set ink style to avoid remove tab blink\n var inkBarRafRef = useRef();\n function cleanInkBarRaf() {\n raf.cancel(inkBarRafRef.current);\n }\n useEffect(function () {\n var newInkStyle = {};\n if (activeTabOffset) {\n if (tabPositionTopOrBottom) {\n if (rtl) {\n newInkStyle.right = activeTabOffset.right;\n } else {\n newInkStyle.left = activeTabOffset.left;\n }\n newInkStyle.width = activeTabOffset.width;\n } else {\n newInkStyle.top = activeTabOffset.top;\n newInkStyle.height = activeTabOffset.height;\n }\n }\n cleanInkBarRaf();\n inkBarRafRef.current = raf(function () {\n setInkStyle(newInkStyle);\n });\n return cleanInkBarRaf;\n }, [activeTabOffset, tabPositionTopOrBottom, rtl]);\n\n // ========================= Effect ========================\n useEffect(function () {\n scrollToTab();\n // eslint-disable-next-line\n }, [activeKey, transformMin, transformMax, stringify(activeTabOffset), stringify(tabOffsets), tabPositionTopOrBottom]);\n\n // Should recalculate when rtl changed\n useEffect(function () {\n onListHolderResize();\n // eslint-disable-next-line\n }, [rtl]);\n\n // ========================= Render ========================\n var hasDropdown = !!hiddenTabs.length;\n var wrapPrefix = \"\".concat(prefixCls, \"-nav-wrap\");\n var pingLeft;\n var pingRight;\n var pingTop;\n var pingBottom;\n if (tabPositionTopOrBottom) {\n if (rtl) {\n pingRight = transformLeft > 0;\n pingLeft = transformLeft !== transformMax;\n } else {\n pingLeft = transformLeft < 0;\n pingRight = transformLeft !== transformMin;\n }\n } else {\n pingTop = transformTop < 0;\n pingBottom = transformTop !== transformMin;\n }\n return /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onListHolderResize\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: useComposeRef(ref, containerRef),\n role: \"tablist\",\n className: classNames(\"\".concat(prefixCls, \"-nav\"), className),\n style: style,\n onKeyDown: function onKeyDown() {\n // No need animation when use keyboard\n doLockAnimation();\n }\n }, /*#__PURE__*/React.createElement(ExtraContent, {\n ref: extraLeftRef,\n position: \"left\",\n extra: extra,\n prefixCls: prefixCls\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(wrapPrefix, (_classNames = {}, _defineProperty(_classNames, \"\".concat(wrapPrefix, \"-ping-left\"), pingLeft), _defineProperty(_classNames, \"\".concat(wrapPrefix, \"-ping-right\"), pingRight), _defineProperty(_classNames, \"\".concat(wrapPrefix, \"-ping-top\"), pingTop), _defineProperty(_classNames, \"\".concat(wrapPrefix, \"-ping-bottom\"), pingBottom), _classNames)),\n ref: tabsWrapperRef\n }, /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onListHolderResize\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: tabListRef,\n className: \"\".concat(prefixCls, \"-nav-list\"),\n style: {\n transform: \"translate(\".concat(transformLeft, \"px, \").concat(transformTop, \"px)\"),\n transition: lockAnimation ? 'none' : undefined\n }\n }, tabNodes, /*#__PURE__*/React.createElement(AddButton, {\n ref: innerAddButtonRef,\n prefixCls: prefixCls,\n locale: locale,\n editable: editable,\n style: _objectSpread(_objectSpread({}, tabNodes.length === 0 ? undefined : tabNodeStyle), {}, {\n visibility: hasDropdown ? 'hidden' : null\n })\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-ink-bar\"), _defineProperty({}, \"\".concat(prefixCls, \"-ink-bar-animated\"), animated.inkBar)),\n style: inkStyle\n })))), /*#__PURE__*/React.createElement(OperationNode, _extends({}, props, {\n removeAriaLabel: locale === null || locale === void 0 ? void 0 : locale.removeAriaLabel,\n ref: operationsRef,\n prefixCls: prefixCls,\n tabs: hiddenTabs,\n className: !hasDropdown && operationsHiddenClassName,\n tabMoving: !!lockAnimation\n })), /*#__PURE__*/React.createElement(ExtraContent, {\n ref: extraRightRef,\n position: \"right\",\n extra: extra,\n prefixCls: prefixCls\n })));\n /* eslint-enable */\n}\n\nexport default /*#__PURE__*/React.forwardRef(TabNavList);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"renderTabBar\"],\n _excluded2 = [\"label\", \"key\"];\n// zombieJ: To compatible with `renderTabBar` usage.\n\nimport * as React from 'react';\nimport TabNavList from '.';\nimport TabContext from \"../TabContext\";\nimport TabPane from \"../TabPanelList/TabPane\";\n// We have to create a TabNavList components.\nexport default function TabNavListWrapper(_ref) {\n var renderTabBar = _ref.renderTabBar,\n restProps = _objectWithoutProperties(_ref, _excluded);\n var _React$useContext = React.useContext(TabContext),\n tabs = _React$useContext.tabs;\n if (renderTabBar) {\n var tabNavBarProps = _objectSpread(_objectSpread({}, restProps), {}, {\n // Legacy support. We do not use this actually\n panes: tabs.map(function (_ref2) {\n var label = _ref2.label,\n key = _ref2.key,\n restTabProps = _objectWithoutProperties(_ref2, _excluded2);\n return /*#__PURE__*/React.createElement(TabPane, _extends({\n tab: label,\n key: key,\n tabKey: key\n }, restTabProps));\n })\n });\n return renderTabBar(tabNavBarProps, TabNavList);\n }\n return /*#__PURE__*/React.createElement(TabNavList, restProps);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport warning from \"rc-util/es/warning\";\nexport default function useAnimateConfig() {\n var animated = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n inkBar: true,\n tabPane: false\n };\n var mergedAnimated;\n if (animated === false) {\n mergedAnimated = {\n inkBar: false,\n tabPane: false\n };\n } else if (animated === true) {\n mergedAnimated = {\n inkBar: true,\n tabPane: false\n };\n } else {\n mergedAnimated = _objectSpread({\n inkBar: true\n }, _typeof(animated) === 'object' ? animated : {});\n }\n\n // Enable tabPane animation if provide motion\n if (mergedAnimated.tabPaneMotion && mergedAnimated.tabPane === undefined) {\n mergedAnimated.tabPane = true;\n }\n if (!mergedAnimated.tabPaneMotion && mergedAnimated.tabPane) {\n if (process.env.NODE_ENV !== 'production') {\n warning(false, '`animated.tabPane` is true but `animated.tabPaneMotion` is not provided. Motion will not work.');\n }\n mergedAnimated.tabPane = false;\n }\n return mergedAnimated;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"id\", \"prefixCls\", \"className\", \"items\", \"direction\", \"activeKey\", \"defaultActiveKey\", \"editable\", \"animated\", \"tabPosition\", \"tabBarGutter\", \"tabBarStyle\", \"tabBarExtraContent\", \"locale\", \"moreIcon\", \"moreTransitionName\", \"destroyInactiveTabPane\", \"renderTabBar\", \"onChange\", \"onTabClick\", \"onTabScroll\", \"getPopupContainer\", \"popupClassName\"];\n// Accessibility https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Tab_Role\nimport * as React from 'react';\nimport { useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport isMobile from \"rc-util/es/isMobile\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport TabPanelList from \"./TabPanelList\";\nimport TabContext from \"./TabContext\";\nimport TabNavListWrapper from \"./TabNavList/Wrapper\";\nimport useAnimateConfig from \"./hooks/useAnimateConfig\";\n\n/**\n * Should added antd:\n * - type\n *\n * Removed:\n * - onNextClick\n * - onPrevClick\n * - keyboard\n */\n\n// Used for accessibility\nvar uuid = 0;\nfunction Tabs(_ref, ref) {\n var _classNames;\n var id = _ref.id,\n _ref$prefixCls = _ref.prefixCls,\n prefixCls = _ref$prefixCls === void 0 ? 'rc-tabs' : _ref$prefixCls,\n className = _ref.className,\n items = _ref.items,\n direction = _ref.direction,\n activeKey = _ref.activeKey,\n defaultActiveKey = _ref.defaultActiveKey,\n editable = _ref.editable,\n animated = _ref.animated,\n _ref$tabPosition = _ref.tabPosition,\n tabPosition = _ref$tabPosition === void 0 ? 'top' : _ref$tabPosition,\n tabBarGutter = _ref.tabBarGutter,\n tabBarStyle = _ref.tabBarStyle,\n tabBarExtraContent = _ref.tabBarExtraContent,\n locale = _ref.locale,\n moreIcon = _ref.moreIcon,\n moreTransitionName = _ref.moreTransitionName,\n destroyInactiveTabPane = _ref.destroyInactiveTabPane,\n renderTabBar = _ref.renderTabBar,\n onChange = _ref.onChange,\n onTabClick = _ref.onTabClick,\n onTabScroll = _ref.onTabScroll,\n getPopupContainer = _ref.getPopupContainer,\n popupClassName = _ref.popupClassName,\n restProps = _objectWithoutProperties(_ref, _excluded);\n var tabs = React.useMemo(function () {\n return (items || []).filter(function (item) {\n return item && _typeof(item) === 'object' && 'key' in item;\n });\n }, [items]);\n var rtl = direction === 'rtl';\n var mergedAnimated = useAnimateConfig(animated);\n\n // ======================== Mobile ========================\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n mobile = _useState2[0],\n setMobile = _useState2[1];\n useEffect(function () {\n // Only update on the client side\n setMobile(isMobile());\n }, []);\n\n // ====================== Active Key ======================\n var _useMergedState = useMergedState(function () {\n var _tabs$;\n return (_tabs$ = tabs[0]) === null || _tabs$ === void 0 ? void 0 : _tabs$.key;\n }, {\n value: activeKey,\n defaultValue: defaultActiveKey\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedActiveKey = _useMergedState2[0],\n setMergedActiveKey = _useMergedState2[1];\n var _useState3 = useState(function () {\n return tabs.findIndex(function (tab) {\n return tab.key === mergedActiveKey;\n });\n }),\n _useState4 = _slicedToArray(_useState3, 2),\n activeIndex = _useState4[0],\n setActiveIndex = _useState4[1];\n\n // Reset active key if not exist anymore\n useEffect(function () {\n var newActiveIndex = tabs.findIndex(function (tab) {\n return tab.key === mergedActiveKey;\n });\n if (newActiveIndex === -1) {\n var _tabs$newActiveIndex;\n newActiveIndex = Math.max(0, Math.min(activeIndex, tabs.length - 1));\n setMergedActiveKey((_tabs$newActiveIndex = tabs[newActiveIndex]) === null || _tabs$newActiveIndex === void 0 ? void 0 : _tabs$newActiveIndex.key);\n }\n setActiveIndex(newActiveIndex);\n }, [tabs.map(function (tab) {\n return tab.key;\n }).join('_'), mergedActiveKey, activeIndex]);\n\n // ===================== Accessibility ====================\n var _useMergedState3 = useMergedState(null, {\n value: id\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n mergedId = _useMergedState4[0],\n setMergedId = _useMergedState4[1];\n\n // Async generate id to avoid ssr mapping failed\n useEffect(function () {\n if (!id) {\n setMergedId(\"rc-tabs-\".concat(process.env.NODE_ENV === 'test' ? 'test' : uuid));\n uuid += 1;\n }\n }, []);\n\n // ======================== Events ========================\n function onInternalTabClick(key, e) {\n onTabClick === null || onTabClick === void 0 ? void 0 : onTabClick(key, e);\n var isActiveChanged = key !== mergedActiveKey;\n setMergedActiveKey(key);\n if (isActiveChanged) {\n onChange === null || onChange === void 0 ? void 0 : onChange(key);\n }\n }\n\n // ======================== Render ========================\n var sharedProps = {\n id: mergedId,\n activeKey: mergedActiveKey,\n animated: mergedAnimated,\n tabPosition: tabPosition,\n rtl: rtl,\n mobile: mobile\n };\n var tabNavBar;\n var tabNavBarProps = _objectSpread(_objectSpread({}, sharedProps), {}, {\n editable: editable,\n locale: locale,\n moreIcon: moreIcon,\n moreTransitionName: moreTransitionName,\n tabBarGutter: tabBarGutter,\n onTabClick: onInternalTabClick,\n onTabScroll: onTabScroll,\n extra: tabBarExtraContent,\n style: tabBarStyle,\n panes: null,\n getPopupContainer: getPopupContainer,\n popupClassName: popupClassName\n });\n return /*#__PURE__*/React.createElement(TabContext.Provider, {\n value: {\n tabs: tabs,\n prefixCls: prefixCls\n }\n }, /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: ref,\n id: id,\n className: classNames(prefixCls, \"\".concat(prefixCls, \"-\").concat(tabPosition), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-mobile\"), mobile), _defineProperty(_classNames, \"\".concat(prefixCls, \"-editable\"), editable), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), rtl), _classNames), className)\n }, restProps), tabNavBar, /*#__PURE__*/React.createElement(TabNavListWrapper, _extends({}, tabNavBarProps, {\n renderTabBar: renderTabBar\n })), /*#__PURE__*/React.createElement(TabPanelList, _extends({\n destroyInactiveTabPane: destroyInactiveTabPane\n }, sharedProps, {\n animated: mergedAnimated\n }))));\n}\nvar ForwardTabs = /*#__PURE__*/React.forwardRef(Tabs);\nif (process.env.NODE_ENV !== 'production') {\n ForwardTabs.displayName = 'Tabs';\n}\nexport default ForwardTabs;","import Tabs from \"./Tabs\";\nexport default Tabs;","const TabPane = () => null;\nif (process.env.NODE_ENV !== 'production') {\n TabPane.displayName = 'DeprecatedTabPane';\n}\nexport default TabPane;","import { getTransitionName } from '../../_util/motion';\nconst motion = {\n motionAppear: false,\n motionEnter: true,\n motionLeave: true\n};\nexport default function useAnimateConfig(prefixCls) {\n let animated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n inkBar: true,\n tabPane: false\n };\n let mergedAnimated;\n if (animated === false) {\n mergedAnimated = {\n inkBar: false,\n tabPane: false\n };\n } else if (animated === true) {\n mergedAnimated = {\n inkBar: true,\n tabPane: true\n };\n } else {\n mergedAnimated = Object.assign({\n inkBar: true\n }, typeof animated === 'object' ? animated : {});\n }\n if (mergedAnimated.tabPane) {\n mergedAnimated.tabPaneMotion = Object.assign(Object.assign({}, motion), {\n motionName: getTransitionName(prefixCls, 'switch')\n });\n }\n return mergedAnimated;\n}","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport warning from '../../_util/warning';\nfunction filter(items) {\n return items.filter(item => item);\n}\nexport default function useLegacyItems(items, children) {\n if (items) {\n return items;\n }\n process.env.NODE_ENV !== \"production\" ? warning(!children, 'Tabs', 'Tabs.TabPane is deprecated. Please use `items` directly.') : void 0;\n const childrenItems = toArray(children).map(node => {\n if ( /*#__PURE__*/React.isValidElement(node)) {\n const {\n key,\n props\n } = node;\n const _a = props || {},\n {\n tab\n } = _a,\n restProps = __rest(_a, [\"tab\"]);\n const item = Object.assign(Object.assign({\n key: String(key)\n }, restProps), {\n label: tab\n });\n return item;\n }\n return null;\n });\n return filter(childrenItems);\n}","import { initSlideMotion } from '../../style/motion';\nconst genMotionStyle = token => {\n const {\n componentCls,\n motionDurationSlow\n } = token;\n return [{\n [componentCls]: {\n [`${componentCls}-switch`]: {\n '&-appear, &-enter': {\n transition: 'none',\n '&-start': {\n opacity: 0\n },\n '&-active': {\n opacity: 1,\n transition: `opacity ${motionDurationSlow}`\n }\n },\n '&-leave': {\n position: 'absolute',\n transition: 'none',\n inset: 0,\n '&-start': {\n opacity: 1\n },\n '&-active': {\n opacity: 0,\n transition: `opacity ${motionDurationSlow}`\n }\n }\n }\n }\n },\n // Follow code may reuse in other components\n [initSlideMotion(token, 'slide-up'), initSlideMotion(token, 'slide-down')]];\n};\nexport default genMotionStyle;","import { genFocusStyle, resetComponent, textEllipsis } from '../../style';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport genMotionStyle from './motion';\nconst genCardStyle = token => {\n const {\n componentCls,\n tabsCardPadding,\n cardBg,\n cardGutter,\n colorBorderSecondary,\n itemSelectedColor\n } = token;\n return {\n [`${componentCls}-card`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n margin: 0,\n padding: tabsCardPadding,\n background: cardBg,\n border: `${token.lineWidth}px ${token.lineType} ${colorBorderSecondary}`,\n transition: `all ${token.motionDurationSlow} ${token.motionEaseInOut}`\n },\n [`${componentCls}-tab-active`]: {\n color: itemSelectedColor,\n background: token.colorBgContainer\n },\n [`${componentCls}-ink-bar`]: {\n visibility: 'hidden'\n }\n },\n // ========================== Top & Bottom ==========================\n [`&${componentCls}-top, &${componentCls}-bottom`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab + ${componentCls}-tab`]: {\n marginLeft: {\n _skip_check_: true,\n value: `${cardGutter}px`\n }\n }\n }\n },\n [`&${componentCls}-top`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n borderRadius: `${token.borderRadiusLG}px ${token.borderRadiusLG}px 0 0`\n },\n [`${componentCls}-tab-active`]: {\n borderBottomColor: token.colorBgContainer\n }\n }\n },\n [`&${componentCls}-bottom`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n borderRadius: `0 0 ${token.borderRadiusLG}px ${token.borderRadiusLG}px`\n },\n [`${componentCls}-tab-active`]: {\n borderTopColor: token.colorBgContainer\n }\n }\n },\n // ========================== Left & Right ==========================\n [`&${componentCls}-left, &${componentCls}-right`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab + ${componentCls}-tab`]: {\n marginTop: `${cardGutter}px`\n }\n }\n },\n [`&${componentCls}-left`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n borderRadius: {\n _skip_check_: true,\n value: `${token.borderRadiusLG}px 0 0 ${token.borderRadiusLG}px`\n }\n },\n [`${componentCls}-tab-active`]: {\n borderRightColor: {\n _skip_check_: true,\n value: token.colorBgContainer\n }\n }\n }\n },\n [`&${componentCls}-right`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n borderRadius: {\n _skip_check_: true,\n value: `0 ${token.borderRadiusLG}px ${token.borderRadiusLG}px 0`\n }\n },\n [`${componentCls}-tab-active`]: {\n borderLeftColor: {\n _skip_check_: true,\n value: token.colorBgContainer\n }\n }\n }\n }\n }\n };\n};\nconst genDropdownStyle = token => {\n const {\n componentCls,\n itemHoverColor,\n dropdownEdgeChildVerticalPadding\n } = token;\n return {\n [`${componentCls}-dropdown`]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'absolute',\n top: -9999,\n left: {\n _skip_check_: true,\n value: -9999\n },\n zIndex: token.zIndexPopup,\n display: 'block',\n '&-hidden': {\n display: 'none'\n },\n [`${componentCls}-dropdown-menu`]: {\n maxHeight: token.tabsDropdownHeight,\n margin: 0,\n padding: `${dropdownEdgeChildVerticalPadding}px 0`,\n overflowX: 'hidden',\n overflowY: 'auto',\n textAlign: {\n _skip_check_: true,\n value: 'left'\n },\n listStyleType: 'none',\n backgroundColor: token.colorBgContainer,\n backgroundClip: 'padding-box',\n borderRadius: token.borderRadiusLG,\n outline: 'none',\n boxShadow: token.boxShadowSecondary,\n '&-item': Object.assign(Object.assign({}, textEllipsis), {\n display: 'flex',\n alignItems: 'center',\n minWidth: token.tabsDropdownWidth,\n margin: 0,\n padding: `${token.paddingXXS}px ${token.paddingSM}px`,\n color: token.colorText,\n fontWeight: 'normal',\n fontSize: token.fontSize,\n lineHeight: token.lineHeight,\n cursor: 'pointer',\n transition: `all ${token.motionDurationSlow}`,\n '> span': {\n flex: 1,\n whiteSpace: 'nowrap'\n },\n '&-remove': {\n flex: 'none',\n marginLeft: {\n _skip_check_: true,\n value: token.marginSM\n },\n color: token.colorTextDescription,\n fontSize: token.fontSizeSM,\n background: 'transparent',\n border: 0,\n cursor: 'pointer',\n '&:hover': {\n color: itemHoverColor\n }\n },\n '&:hover': {\n background: token.controlItemBgHover\n },\n '&-disabled': {\n '&, &:hover': {\n color: token.colorTextDisabled,\n background: 'transparent',\n cursor: 'not-allowed'\n }\n }\n })\n }\n })\n };\n};\nconst genPositionStyle = token => {\n const {\n componentCls,\n margin,\n colorBorderSecondary,\n horizontalMargin,\n verticalItemPadding,\n verticalItemMargin\n } = token;\n return {\n // ========================== Top & Bottom ==========================\n [`${componentCls}-top, ${componentCls}-bottom`]: {\n flexDirection: 'column',\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n margin: horizontalMargin,\n '&::before': {\n position: 'absolute',\n right: {\n _skip_check_: true,\n value: 0\n },\n left: {\n _skip_check_: true,\n value: 0\n },\n borderBottom: `${token.lineWidth}px ${token.lineType} ${colorBorderSecondary}`,\n content: \"''\"\n },\n [`${componentCls}-ink-bar`]: {\n height: token.lineWidthBold,\n '&-animated': {\n transition: `width ${token.motionDurationSlow}, left ${token.motionDurationSlow},\n right ${token.motionDurationSlow}`\n }\n },\n [`${componentCls}-nav-wrap`]: {\n '&::before, &::after': {\n top: 0,\n bottom: 0,\n width: token.controlHeight\n },\n '&::before': {\n left: {\n _skip_check_: true,\n value: 0\n },\n boxShadow: token.boxShadowTabsOverflowLeft\n },\n '&::after': {\n right: {\n _skip_check_: true,\n value: 0\n },\n boxShadow: token.boxShadowTabsOverflowRight\n },\n [`&${componentCls}-nav-wrap-ping-left::before`]: {\n opacity: 1\n },\n [`&${componentCls}-nav-wrap-ping-right::after`]: {\n opacity: 1\n }\n }\n }\n },\n [`${componentCls}-top`]: {\n [`> ${componentCls}-nav,\n > div > ${componentCls}-nav`]: {\n '&::before': {\n bottom: 0\n },\n [`${componentCls}-ink-bar`]: {\n bottom: 0\n }\n }\n },\n [`${componentCls}-bottom`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n order: 1,\n marginTop: `${margin}px`,\n marginBottom: 0,\n '&::before': {\n top: 0\n },\n [`${componentCls}-ink-bar`]: {\n top: 0\n }\n },\n [`> ${componentCls}-content-holder, > div > ${componentCls}-content-holder`]: {\n order: 0\n }\n },\n // ========================== Left & Right ==========================\n [`${componentCls}-left, ${componentCls}-right`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n flexDirection: 'column',\n minWidth: token.controlHeight * 1.25,\n // >>>>>>>>>>> Tab\n [`${componentCls}-tab`]: {\n padding: verticalItemPadding,\n textAlign: 'center'\n },\n [`${componentCls}-tab + ${componentCls}-tab`]: {\n margin: verticalItemMargin\n },\n // >>>>>>>>>>> Nav\n [`${componentCls}-nav-wrap`]: {\n flexDirection: 'column',\n '&::before, &::after': {\n right: {\n _skip_check_: true,\n value: 0\n },\n left: {\n _skip_check_: true,\n value: 0\n },\n height: token.controlHeight\n },\n '&::before': {\n top: 0,\n boxShadow: token.boxShadowTabsOverflowTop\n },\n '&::after': {\n bottom: 0,\n boxShadow: token.boxShadowTabsOverflowBottom\n },\n [`&${componentCls}-nav-wrap-ping-top::before`]: {\n opacity: 1\n },\n [`&${componentCls}-nav-wrap-ping-bottom::after`]: {\n opacity: 1\n }\n },\n // >>>>>>>>>>> Ink Bar\n [`${componentCls}-ink-bar`]: {\n width: token.lineWidthBold,\n '&-animated': {\n transition: `height ${token.motionDurationSlow}, top ${token.motionDurationSlow}`\n }\n },\n [`${componentCls}-nav-list, ${componentCls}-nav-operations`]: {\n flex: '1 0 auto',\n flexDirection: 'column'\n }\n }\n },\n [`${componentCls}-left`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-ink-bar`]: {\n right: {\n _skip_check_: true,\n value: 0\n }\n }\n },\n [`> ${componentCls}-content-holder, > div > ${componentCls}-content-holder`]: {\n marginLeft: {\n _skip_check_: true,\n value: `-${token.lineWidth}px`\n },\n borderLeft: {\n _skip_check_: true,\n value: `${token.lineWidth}px ${token.lineType} ${token.colorBorder}`\n },\n [`> ${componentCls}-content > ${componentCls}-tabpane`]: {\n paddingLeft: {\n _skip_check_: true,\n value: token.paddingLG\n }\n }\n }\n },\n [`${componentCls}-right`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n order: 1,\n [`${componentCls}-ink-bar`]: {\n left: {\n _skip_check_: true,\n value: 0\n }\n }\n },\n [`> ${componentCls}-content-holder, > div > ${componentCls}-content-holder`]: {\n order: 0,\n marginRight: {\n _skip_check_: true,\n value: -token.lineWidth\n },\n borderRight: {\n _skip_check_: true,\n value: `${token.lineWidth}px ${token.lineType} ${token.colorBorder}`\n },\n [`> ${componentCls}-content > ${componentCls}-tabpane`]: {\n paddingRight: {\n _skip_check_: true,\n value: token.paddingLG\n }\n }\n }\n }\n };\n};\nconst genSizeStyle = token => {\n const {\n componentCls,\n cardPaddingSM,\n cardPaddingLG,\n horizontalItemPaddingSM,\n horizontalItemPaddingLG\n } = token;\n return {\n [componentCls]: {\n '&-small': {\n [`> ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n padding: horizontalItemPaddingSM,\n fontSize: token.titleFontSizeSM\n }\n }\n },\n '&-large': {\n [`> ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n padding: horizontalItemPaddingLG,\n fontSize: token.titleFontSizeLG\n }\n }\n }\n },\n [`${componentCls}-card`]: {\n [`&${componentCls}-small`]: {\n [`> ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n padding: cardPaddingSM\n }\n },\n [`&${componentCls}-bottom`]: {\n [`> ${componentCls}-nav ${componentCls}-tab`]: {\n borderRadius: `0 0 ${token.borderRadius}px ${token.borderRadius}px`\n }\n },\n [`&${componentCls}-top`]: {\n [`> ${componentCls}-nav ${componentCls}-tab`]: {\n borderRadius: `${token.borderRadius}px ${token.borderRadius}px 0 0`\n }\n },\n [`&${componentCls}-right`]: {\n [`> ${componentCls}-nav ${componentCls}-tab`]: {\n borderRadius: {\n _skip_check_: true,\n value: `0 ${token.borderRadius}px ${token.borderRadius}px 0`\n }\n }\n },\n [`&${componentCls}-left`]: {\n [`> ${componentCls}-nav ${componentCls}-tab`]: {\n borderRadius: {\n _skip_check_: true,\n value: `${token.borderRadius}px 0 0 ${token.borderRadius}px`\n }\n }\n }\n },\n [`&${componentCls}-large`]: {\n [`> ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n padding: cardPaddingLG\n }\n }\n }\n }\n };\n};\nconst genTabStyle = token => {\n const {\n componentCls,\n itemActiveColor,\n itemHoverColor,\n iconCls,\n tabsHorizontalItemMargin,\n horizontalItemPadding,\n itemSelectedColor\n } = token;\n const tabCls = `${componentCls}-tab`;\n return {\n [tabCls]: {\n position: 'relative',\n WebkitTouchCallout: 'none',\n WebkitTapHighlightColor: 'transparent',\n display: 'inline-flex',\n alignItems: 'center',\n padding: horizontalItemPadding,\n fontSize: token.titleFontSize,\n background: 'transparent',\n border: 0,\n outline: 'none',\n cursor: 'pointer',\n '&-btn, &-remove': Object.assign({\n '&:focus:not(:focus-visible), &:active': {\n color: itemActiveColor\n }\n }, genFocusStyle(token)),\n '&-btn': {\n outline: 'none',\n transition: 'all 0.3s'\n },\n '&-remove': {\n flex: 'none',\n marginRight: {\n _skip_check_: true,\n value: -token.marginXXS\n },\n marginLeft: {\n _skip_check_: true,\n value: token.marginXS\n },\n color: token.colorTextDescription,\n fontSize: token.fontSizeSM,\n background: 'transparent',\n border: 'none',\n outline: 'none',\n cursor: 'pointer',\n transition: `all ${token.motionDurationSlow}`,\n '&:hover': {\n color: token.colorTextHeading\n }\n },\n '&:hover': {\n color: itemHoverColor\n },\n [`&${tabCls}-active ${tabCls}-btn`]: {\n color: itemSelectedColor,\n textShadow: token.tabsActiveTextShadow\n },\n [`&${tabCls}-disabled`]: {\n color: token.colorTextDisabled,\n cursor: 'not-allowed'\n },\n [`&${tabCls}-disabled ${tabCls}-btn, &${tabCls}-disabled ${componentCls}-remove`]: {\n '&:focus, &:active': {\n color: token.colorTextDisabled\n }\n },\n [`& ${tabCls}-remove ${iconCls}`]: {\n margin: 0\n },\n [iconCls]: {\n marginRight: {\n _skip_check_: true,\n value: token.marginSM\n }\n }\n },\n [`${tabCls} + ${tabCls}`]: {\n margin: {\n _skip_check_: true,\n value: tabsHorizontalItemMargin\n }\n }\n };\n};\nconst genRtlStyle = token => {\n const {\n componentCls,\n tabsHorizontalItemMarginRTL,\n iconCls,\n cardGutter\n } = token;\n const rtlCls = `${componentCls}-rtl`;\n return {\n [rtlCls]: {\n direction: 'rtl',\n [`${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n margin: {\n _skip_check_: true,\n value: tabsHorizontalItemMarginRTL\n },\n [`${componentCls}-tab:last-of-type`]: {\n marginLeft: {\n _skip_check_: true,\n value: 0\n }\n },\n [iconCls]: {\n marginRight: {\n _skip_check_: true,\n value: 0\n },\n marginLeft: {\n _skip_check_: true,\n value: `${token.marginSM}px`\n }\n },\n [`${componentCls}-tab-remove`]: {\n marginRight: {\n _skip_check_: true,\n value: `${token.marginXS}px`\n },\n marginLeft: {\n _skip_check_: true,\n value: `-${token.marginXXS}px`\n },\n [iconCls]: {\n margin: 0\n }\n }\n }\n },\n [`&${componentCls}-left`]: {\n [`> ${componentCls}-nav`]: {\n order: 1\n },\n [`> ${componentCls}-content-holder`]: {\n order: 0\n }\n },\n [`&${componentCls}-right`]: {\n [`> ${componentCls}-nav`]: {\n order: 0\n },\n [`> ${componentCls}-content-holder`]: {\n order: 1\n }\n },\n // ====================== Card ======================\n [`&${componentCls}-card${componentCls}-top, &${componentCls}-card${componentCls}-bottom`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab + ${componentCls}-tab`]: {\n marginRight: {\n _skip_check_: true,\n value: cardGutter\n },\n marginLeft: {\n _skip_check_: true,\n value: 0\n }\n }\n }\n }\n },\n [`${componentCls}-dropdown-rtl`]: {\n direction: 'rtl'\n },\n [`${componentCls}-menu-item`]: {\n [`${componentCls}-dropdown-rtl`]: {\n textAlign: {\n _skip_check_: true,\n value: 'right'\n }\n }\n }\n };\n};\nconst genTabsStyle = token => {\n const {\n componentCls,\n tabsCardPadding,\n cardHeight,\n cardGutter,\n itemHoverColor,\n itemActiveColor,\n colorBorderSecondary\n } = token;\n return {\n [componentCls]: Object.assign(Object.assign(Object.assign(Object.assign({}, resetComponent(token)), {\n display: 'flex',\n // ========================== Navigation ==========================\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n position: 'relative',\n display: 'flex',\n flex: 'none',\n alignItems: 'center',\n [`${componentCls}-nav-wrap`]: {\n position: 'relative',\n display: 'flex',\n flex: 'auto',\n alignSelf: 'stretch',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n transform: 'translate(0)',\n // >>>>> Ping shadow\n '&::before, &::after': {\n position: 'absolute',\n zIndex: 1,\n opacity: 0,\n transition: `opacity ${token.motionDurationSlow}`,\n content: \"''\",\n pointerEvents: 'none'\n }\n },\n [`${componentCls}-nav-list`]: {\n position: 'relative',\n display: 'flex',\n transition: `opacity ${token.motionDurationSlow}`\n },\n // >>>>>>>> Operations\n [`${componentCls}-nav-operations`]: {\n display: 'flex',\n alignSelf: 'stretch'\n },\n [`${componentCls}-nav-operations-hidden`]: {\n position: 'absolute',\n visibility: 'hidden',\n pointerEvents: 'none'\n },\n [`${componentCls}-nav-more`]: {\n position: 'relative',\n padding: tabsCardPadding,\n background: 'transparent',\n border: 0,\n color: token.colorText,\n '&::after': {\n position: 'absolute',\n right: {\n _skip_check_: true,\n value: 0\n },\n bottom: 0,\n left: {\n _skip_check_: true,\n value: 0\n },\n height: token.controlHeightLG / 8,\n transform: 'translateY(100%)',\n content: \"''\"\n }\n },\n [`${componentCls}-nav-add`]: Object.assign({\n minWidth: cardHeight,\n marginLeft: {\n _skip_check_: true,\n value: cardGutter\n },\n padding: `0 ${token.paddingXS}px`,\n background: 'transparent',\n border: `${token.lineWidth}px ${token.lineType} ${colorBorderSecondary}`,\n borderRadius: `${token.borderRadiusLG}px ${token.borderRadiusLG}px 0 0`,\n outline: 'none',\n cursor: 'pointer',\n color: token.colorText,\n transition: `all ${token.motionDurationSlow} ${token.motionEaseInOut}`,\n '&:hover': {\n color: itemHoverColor\n },\n '&:active, &:focus:not(:focus-visible)': {\n color: itemActiveColor\n }\n }, genFocusStyle(token))\n },\n [`${componentCls}-extra-content`]: {\n flex: 'none'\n },\n // ============================ InkBar ============================\n [`${componentCls}-ink-bar`]: {\n position: 'absolute',\n background: token.inkBarColor,\n pointerEvents: 'none'\n }\n }), genTabStyle(token)), {\n // =========================== TabPanes ===========================\n [`${componentCls}-content`]: {\n position: 'relative',\n width: '100%'\n },\n [`${componentCls}-content-holder`]: {\n flex: 'auto',\n minWidth: 0,\n minHeight: 0\n },\n [`${componentCls}-tabpane`]: {\n outline: 'none',\n '&-hidden': {\n display: 'none'\n }\n }\n }),\n [`${componentCls}-centered`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-nav-wrap`]: {\n [`&:not([class*='${componentCls}-nav-wrap-ping'])`]: {\n justifyContent: 'center'\n }\n }\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Tabs', token => {\n const tabsToken = mergeToken(token, {\n // `cardPadding` is empty by default, so we could calculate with dynamic `cardHeight`\n tabsCardPadding: token.cardPadding || `${(token.cardHeight - Math.round(token.fontSize * token.lineHeight)) / 2 - token.lineWidth}px ${token.padding}px`,\n dropdownEdgeChildVerticalPadding: token.paddingXXS,\n tabsActiveTextShadow: '0 0 0.25px currentcolor',\n tabsDropdownHeight: 200,\n tabsDropdownWidth: 120,\n tabsHorizontalItemMargin: `0 0 0 ${token.horizontalItemGutter}px`,\n tabsHorizontalItemMarginRTL: `0 0 0 ${token.horizontalItemGutter}px`\n });\n return [genSizeStyle(tabsToken), genRtlStyle(tabsToken), genPositionStyle(tabsToken), genDropdownStyle(tabsToken), genCardStyle(tabsToken), genTabsStyle(tabsToken), genMotionStyle(tabsToken)];\n}, token => {\n const cardHeight = token.controlHeightLG;\n return {\n zIndexPopup: token.zIndexPopupBase + 50,\n cardBg: token.colorFillAlter,\n cardHeight,\n // Initialize with empty string, because cardPadding will be calculated with cardHeight by default.\n cardPadding: ``,\n cardPaddingSM: `${token.paddingXXS * 1.5}px ${token.padding}px`,\n cardPaddingLG: `${token.paddingXS}px ${token.padding}px ${token.paddingXXS * 1.5}px`,\n titleFontSize: token.fontSize,\n titleFontSizeLG: token.fontSizeLG,\n titleFontSizeSM: token.fontSize,\n inkBarColor: token.colorPrimary,\n horizontalMargin: `0 0 ${token.margin}px 0`,\n horizontalItemGutter: 32,\n // Initialize with empty string, because horizontalItemMargin will be calculated with horizontalItemGutter by default.\n horizontalItemMargin: ``,\n horizontalItemMarginRTL: ``,\n horizontalItemPadding: `${token.paddingSM}px 0`,\n horizontalItemPaddingSM: `${token.paddingXS}px 0`,\n horizontalItemPaddingLG: `${token.padding}px 0`,\n verticalItemPadding: `${token.paddingXS}px ${token.paddingLG}px`,\n verticalItemMargin: `${token.margin}px 0 0 0`,\n itemSelectedColor: token.colorPrimary,\n itemHoverColor: token.colorPrimaryHover,\n itemActiveColor: token.colorPrimaryActive,\n cardGutter: token.marginXXS / 2\n };\n});","'use client';\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport EllipsisOutlined from \"@ant-design/icons/es/icons/EllipsisOutlined\";\nimport PlusOutlined from \"@ant-design/icons/es/icons/PlusOutlined\";\nimport classNames from 'classnames';\nimport RcTabs from 'rc-tabs';\nimport * as React from 'react';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport useSize from '../config-provider/hooks/useSize';\nimport TabPane from './TabPane';\nimport useAnimateConfig from './hooks/useAnimateConfig';\nimport useLegacyItems from './hooks/useLegacyItems';\nimport useStyle from './style';\nconst Tabs = props => {\n const {\n type,\n className,\n rootClassName,\n size: customSize,\n onEdit,\n hideAdd,\n centered,\n addIcon,\n popupClassName,\n children,\n items,\n animated,\n style\n } = props,\n otherProps = __rest(props, [\"type\", \"className\", \"rootClassName\", \"size\", \"onEdit\", \"hideAdd\", \"centered\", \"addIcon\", \"popupClassName\", \"children\", \"items\", \"animated\", \"style\"]);\n const {\n prefixCls: customizePrefixCls,\n moreIcon = /*#__PURE__*/React.createElement(EllipsisOutlined, null)\n } = otherProps;\n const {\n direction,\n tabs,\n getPrefixCls,\n getPopupContainer\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('tabs', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n let editable;\n if (type === 'editable-card') {\n editable = {\n onEdit: (editType, _ref) => {\n let {\n key,\n event\n } = _ref;\n onEdit === null || onEdit === void 0 ? void 0 : onEdit(editType === 'add' ? event : key, editType);\n },\n removeIcon: /*#__PURE__*/React.createElement(CloseOutlined, null),\n addIcon: addIcon || /*#__PURE__*/React.createElement(PlusOutlined, null),\n showAdd: hideAdd !== true\n };\n }\n const rootPrefixCls = getPrefixCls();\n process.env.NODE_ENV !== \"production\" ? warning(!('onPrevClick' in props) && !('onNextClick' in props), 'Tabs', '`onPrevClick` and `onNextClick` has been removed. Please use `onTabScroll` instead.') : void 0;\n const mergedItems = useLegacyItems(items, children);\n const mergedAnimated = useAnimateConfig(prefixCls, animated);\n const size = useSize(customSize);\n const mergedStyle = Object.assign(Object.assign({}, tabs === null || tabs === void 0 ? void 0 : tabs.style), style);\n return wrapSSR( /*#__PURE__*/React.createElement(RcTabs, Object.assign({\n direction: direction,\n getPopupContainer: getPopupContainer,\n moreTransitionName: `${rootPrefixCls}-slide-up`\n }, otherProps, {\n items: mergedItems,\n className: classNames({\n [`${prefixCls}-${size}`]: size,\n [`${prefixCls}-card`]: ['card', 'editable-card'].includes(type),\n [`${prefixCls}-editable-card`]: type === 'editable-card',\n [`${prefixCls}-centered`]: centered\n }, tabs === null || tabs === void 0 ? void 0 : tabs.className, className, rootClassName, hashId),\n popupClassName: classNames(popupClassName, hashId),\n style: mergedStyle,\n editable: editable,\n moreIcon: moreIcon,\n prefixCls: prefixCls,\n animated: mergedAnimated\n })));\n};\nTabs.TabPane = TabPane;\nif (process.env.NODE_ENV !== 'production') {\n Tabs.displayName = 'Tabs';\n}\nexport default Tabs;","export default function capitalize(str) {\n if (typeof str !== 'string') {\n return str;\n }\n const ret = str.charAt(0).toUpperCase() + str.slice(1);\n return ret;\n}","import capitalize from '../../_util/capitalize';\nimport { resetComponent } from '../../style';\nimport { genComponentStyleHook, genPresetColor, mergeToken } from '../../theme/internal';\nconst genTagStatusStyle = (token, status, cssVariableType) => {\n const capitalizedCssVariableType = capitalize(cssVariableType);\n return {\n [`${token.componentCls}-${status}`]: {\n color: token[`color${cssVariableType}`],\n background: token[`color${capitalizedCssVariableType}Bg`],\n borderColor: token[`color${capitalizedCssVariableType}Border`],\n [`&${token.componentCls}-borderless`]: {\n borderColor: 'transparent'\n }\n }\n };\n};\nconst genPresetStyle = token => genPresetColor(token, (colorKey, _ref) => {\n let {\n textColor,\n lightBorderColor,\n lightColor,\n darkColor\n } = _ref;\n return {\n [`${token.componentCls}-${colorKey}`]: {\n color: textColor,\n background: lightColor,\n borderColor: lightBorderColor,\n // Inverse color\n '&-inverse': {\n color: token.colorTextLightSolid,\n background: darkColor,\n borderColor: darkColor\n },\n [`&${token.componentCls}-borderless`]: {\n borderColor: 'transparent'\n }\n }\n };\n});\nconst genBaseStyle = token => {\n const {\n paddingXXS,\n lineWidth,\n tagPaddingHorizontal,\n componentCls\n } = token;\n const paddingInline = tagPaddingHorizontal - lineWidth;\n const iconMarginInline = paddingXXS - lineWidth;\n return {\n // Result\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n display: 'inline-block',\n height: 'auto',\n marginInlineEnd: token.marginXS,\n paddingInline,\n fontSize: token.tagFontSize,\n lineHeight: token.tagLineHeight,\n whiteSpace: 'nowrap',\n background: token.defaultBg,\n border: `${token.lineWidth}px ${token.lineType} ${token.colorBorder}`,\n borderRadius: token.borderRadiusSM,\n opacity: 1,\n transition: `all ${token.motionDurationMid}`,\n textAlign: 'start',\n position: 'relative',\n // RTL\n [`&${componentCls}-rtl`]: {\n direction: 'rtl'\n },\n '&, a, a:hover': {\n color: token.defaultColor\n },\n [`${componentCls}-close-icon`]: {\n marginInlineStart: iconMarginInline,\n color: token.colorTextDescription,\n fontSize: token.tagIconSize,\n cursor: 'pointer',\n transition: `all ${token.motionDurationMid}`,\n '&:hover': {\n color: token.colorTextHeading\n }\n },\n [`&${componentCls}-has-color`]: {\n borderColor: 'transparent',\n [`&, a, a:hover, ${token.iconCls}-close, ${token.iconCls}-close:hover`]: {\n color: token.colorTextLightSolid\n }\n },\n [`&-checkable`]: {\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n cursor: 'pointer',\n [`&:not(${componentCls}-checkable-checked):hover`]: {\n color: token.colorPrimary,\n backgroundColor: token.colorFillSecondary\n },\n '&:active, &-checked': {\n color: token.colorTextLightSolid\n },\n '&-checked': {\n backgroundColor: token.colorPrimary,\n '&:hover': {\n backgroundColor: token.colorPrimaryHover\n }\n },\n '&:active': {\n backgroundColor: token.colorPrimaryActive\n }\n },\n [`&-hidden`]: {\n display: 'none'\n },\n // To ensure that a space will be placed between character and `Icon`.\n [`> ${token.iconCls} + span, > span + ${token.iconCls}`]: {\n marginInlineStart: paddingInline\n }\n }),\n [`${componentCls}-borderless`]: {\n borderColor: 'transparent',\n background: token.tagBorderlessBg\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Tag', token => {\n const {\n lineWidth,\n fontSizeIcon\n } = token;\n const tagFontSize = token.fontSizeSM;\n const tagLineHeight = `${token.lineHeightSM * tagFontSize}px`;\n const tagToken = mergeToken(token, {\n tagFontSize,\n tagLineHeight,\n tagIconSize: fontSizeIcon - 2 * lineWidth,\n tagPaddingHorizontal: 8,\n tagBorderlessBg: token.colorFillTertiary\n });\n return [genBaseStyle(tagToken), genPresetStyle(tagToken), genTagStatusStyle(tagToken, 'success', 'Success'), genTagStatusStyle(tagToken, 'processing', 'Info'), genTagStatusStyle(tagToken, 'error', 'Error'), genTagStatusStyle(tagToken, 'warning', 'Warning')];\n}, token => ({\n defaultBg: token.colorFillQuaternary,\n defaultColor: token.colorText\n}));","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style';\nconst CheckableTag = props => {\n const {\n prefixCls: customizePrefixCls,\n className,\n checked,\n onChange,\n onClick\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"checked\", \"onChange\", \"onClick\"]);\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const handleClick = e => {\n onChange === null || onChange === void 0 ? void 0 : onChange(!checked);\n onClick === null || onClick === void 0 ? void 0 : onClick(e);\n };\n const prefixCls = getPrefixCls('tag', customizePrefixCls);\n // Style\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const cls = classNames(prefixCls, `${prefixCls}-checkable`, {\n [`${prefixCls}-checkable-checked`]: checked\n }, className, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(\"span\", Object.assign({}, restProps, {\n className: cls,\n onClick: handleClick\n })));\n};\nexport default CheckableTag;","'use client';\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { isPresetColor, isPresetStatusColor } from '../_util/colors';\nimport useClosable from '../_util/hooks/useClosable';\nimport warning from '../_util/warning';\nimport Wave from '../_util/wave';\nimport { ConfigContext } from '../config-provider';\nimport CheckableTag from './CheckableTag';\nimport useStyle from './style';\nconst InternalTag = (tagProps, ref) => {\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n style,\n children,\n icon,\n color,\n onClose,\n closeIcon,\n closable,\n bordered = true\n } = tagProps,\n props = __rest(tagProps, [\"prefixCls\", \"className\", \"rootClassName\", \"style\", \"children\", \"icon\", \"color\", \"onClose\", \"closeIcon\", \"closable\", \"bordered\"]);\n const {\n getPrefixCls,\n direction,\n tag\n } = React.useContext(ConfigContext);\n const [visible, setVisible] = React.useState(true);\n // Warning for deprecated usage\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(!('visible' in props), 'Tag', '`visible` is deprecated, please use `visible && ` instead.') : void 0;\n }\n React.useEffect(() => {\n if ('visible' in props) {\n setVisible(props.visible);\n }\n }, [props.visible]);\n const isInternalColor = isPresetColor(color) || isPresetStatusColor(color);\n const tagStyle = Object.assign(Object.assign({\n backgroundColor: color && !isInternalColor ? color : undefined\n }, tag === null || tag === void 0 ? void 0 : tag.style), style);\n const prefixCls = getPrefixCls('tag', customizePrefixCls);\n // Style\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const tagClassName = classNames(prefixCls, tag === null || tag === void 0 ? void 0 : tag.className, {\n [`${prefixCls}-${color}`]: isInternalColor,\n [`${prefixCls}-has-color`]: color && !isInternalColor,\n [`${prefixCls}-hidden`]: !visible,\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-borderless`]: !bordered\n }, className, rootClassName, hashId);\n const handleCloseClick = e => {\n e.stopPropagation();\n onClose === null || onClose === void 0 ? void 0 : onClose(e);\n if (e.defaultPrevented) {\n return;\n }\n setVisible(false);\n };\n const [, mergedCloseIcon] = useClosable(closable, closeIcon, iconNode => iconNode === null ? /*#__PURE__*/React.createElement(CloseOutlined, {\n className: `${prefixCls}-close-icon`,\n onClick: handleCloseClick\n }) : /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-close-icon`,\n onClick: handleCloseClick\n }, iconNode), null, false);\n const isNeedWave = typeof props.onClick === 'function' || children && children.type === 'a';\n const iconNode = icon || null;\n const kids = iconNode ? /*#__PURE__*/React.createElement(React.Fragment, null, iconNode, children && /*#__PURE__*/React.createElement(\"span\", null, children)) : children;\n const tagNode = /*#__PURE__*/React.createElement(\"span\", Object.assign({}, props, {\n ref: ref,\n className: tagClassName,\n style: tagStyle\n }), kids, mergedCloseIcon);\n return wrapSSR(isNeedWave ? /*#__PURE__*/React.createElement(Wave, {\n component: \"Tag\"\n }, tagNode) : tagNode);\n};\nconst Tag = /*#__PURE__*/React.forwardRef(InternalTag);\nif (process.env.NODE_ENV !== 'production') {\n Tag.displayName = 'Tag';\n}\nTag.CheckableTag = CheckableTag;\nexport default Tag;","import { createTheme } from '@ant-design/cssinjs';\nimport React from 'react';\nimport defaultDerivative from './themes/default';\nimport defaultSeedToken from './themes/seed';\nexport const defaultTheme = createTheme(defaultDerivative);\n// ================================ Context =================================\n// To ensure snapshot stable. We disable hashed in test env.\nexport const defaultConfig = {\n token: defaultSeedToken,\n hashed: true\n};\nexport const DesignTokenContext = /*#__PURE__*/React.createContext(defaultConfig);","import { createTheme, getComputedToken } from '@ant-design/cssinjs';\nimport defaultDerivative from './themes/default';\nimport seedToken from './themes/seed';\nimport formatToken from './util/alias';\nconst getDesignToken = config => {\n const theme = (config === null || config === void 0 ? void 0 : config.algorithm) ? createTheme(config.algorithm) : createTheme(defaultDerivative);\n const mergedToken = Object.assign(Object.assign({}, seedToken), config === null || config === void 0 ? void 0 : config.token);\n return getComputedToken(mergedToken, {\n override: config === null || config === void 0 ? void 0 : config.token\n }, theme, formatToken);\n};\nexport default getDesignToken;","export default function genSizeMapToken(token) {\n const {\n sizeUnit,\n sizeStep\n } = token;\n const compactSizeStep = sizeStep - 2;\n return {\n sizeXXL: sizeUnit * (compactSizeStep + 10),\n sizeXL: sizeUnit * (compactSizeStep + 6),\n sizeLG: sizeUnit * (compactSizeStep + 2),\n sizeMD: sizeUnit * (compactSizeStep + 2),\n sizeMS: sizeUnit * (compactSizeStep + 1),\n size: sizeUnit * compactSizeStep,\n sizeSM: sizeUnit * compactSizeStep,\n sizeXS: sizeUnit * (compactSizeStep - 1),\n sizeXXS: sizeUnit * (compactSizeStep - 1)\n };\n}","import genControlHeight from '../shared/genControlHeight';\nimport defaultAlgorithm from '../default';\nimport genCompactSizeMapToken from './genCompactSizeMapToken';\nimport genFontMapToken from '../shared/genFontMapToken';\nconst derivative = (token, mapToken) => {\n const mergedMapToken = mapToken !== null && mapToken !== void 0 ? mapToken : defaultAlgorithm(token);\n const fontSize = mergedMapToken.fontSizeSM; // Smaller size font-size as base\n const controlHeight = mergedMapToken.controlHeight - 4;\n return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, mergedMapToken), genCompactSizeMapToken(mapToken !== null && mapToken !== void 0 ? mapToken : token)), genFontMapToken(fontSize)), {\n // controlHeight\n controlHeight\n }), genControlHeight(Object.assign(Object.assign({}, mergedMapToken), {\n controlHeight\n })));\n};\nexport default derivative;","import { TinyColor } from '@ctrl/tinycolor';\nexport const getAlphaColor = (baseColor, alpha) => new TinyColor(baseColor).setAlpha(alpha).toRgbString();\nexport const getSolidColor = (baseColor, brightness) => {\n const instance = new TinyColor(baseColor);\n return instance.lighten(brightness).toHexString();\n};","import { generate } from '@ant-design/colors';\nimport { getAlphaColor, getSolidColor } from './colorAlgorithm';\nexport const generateColorPalettes = baseColor => {\n const colors = generate(baseColor, {\n theme: 'dark'\n });\n return {\n 1: colors[0],\n 2: colors[1],\n 3: colors[2],\n 4: colors[3],\n 5: colors[6],\n 6: colors[5],\n 7: colors[4],\n 8: colors[6],\n 9: colors[5],\n 10: colors[4]\n // 8: colors[9],\n // 9: colors[8],\n // 10: colors[7],\n };\n};\n\nexport const generateNeutralColorPalettes = (bgBaseColor, textBaseColor) => {\n const colorBgBase = bgBaseColor || '#000';\n const colorTextBase = textBaseColor || '#fff';\n return {\n colorBgBase,\n colorTextBase,\n colorText: getAlphaColor(colorTextBase, 0.85),\n colorTextSecondary: getAlphaColor(colorTextBase, 0.65),\n colorTextTertiary: getAlphaColor(colorTextBase, 0.45),\n colorTextQuaternary: getAlphaColor(colorTextBase, 0.25),\n colorFill: getAlphaColor(colorTextBase, 0.18),\n colorFillSecondary: getAlphaColor(colorTextBase, 0.12),\n colorFillTertiary: getAlphaColor(colorTextBase, 0.08),\n colorFillQuaternary: getAlphaColor(colorTextBase, 0.04),\n colorBgElevated: getSolidColor(colorBgBase, 12),\n colorBgContainer: getSolidColor(colorBgBase, 8),\n colorBgLayout: getSolidColor(colorBgBase, 0),\n colorBgSpotlight: getSolidColor(colorBgBase, 26),\n colorBorder: getSolidColor(colorBgBase, 26),\n colorBorderSecondary: getSolidColor(colorBgBase, 19)\n };\n};","import { generate } from '@ant-design/colors';\nimport { defaultPresetColors } from '../seed';\nimport genColorMapToken from '../shared/genColorMapToken';\nimport { generateColorPalettes, generateNeutralColorPalettes } from './colors';\nimport defaultAlgorithm from '../default';\nconst derivative = (token, mapToken) => {\n const colorPalettes = Object.keys(defaultPresetColors).map(colorKey => {\n const colors = generate(token[colorKey], {\n theme: 'dark'\n });\n return new Array(10).fill(1).reduce((prev, _, i) => {\n prev[`${colorKey}-${i + 1}`] = colors[i];\n prev[`${colorKey}${i + 1}`] = colors[i];\n return prev;\n }, {});\n }).reduce((prev, cur) => {\n prev = Object.assign(Object.assign({}, prev), cur);\n return prev;\n }, {});\n const mergedMapToken = mapToken !== null && mapToken !== void 0 ? mapToken : defaultAlgorithm(token);\n return Object.assign(Object.assign(Object.assign({}, mergedMapToken), colorPalettes), genColorMapToken(token, {\n generateColorPalettes,\n generateNeutralColorPalettes\n }));\n};\nexport default derivative;","'use client';\n\n/* eslint-disable import/prefer-default-export */\nimport getDesignToken from './getDesignToken';\nimport { defaultConfig, useToken as useInternalToken } from './internal';\nimport compactAlgorithm from './themes/compact';\nimport darkAlgorithm from './themes/dark';\nimport defaultAlgorithm from './themes/default';\n// ZombieJ: We export as object to user but array in internal.\n// This is used to minimize the bundle size for antd package but safe to refactor as object also.\n// Please do not export internal `useToken` directly to avoid something export unexpected.\n/** Get current context Design Token. Will be different if you are using nest theme config. */\nfunction useToken() {\n const [theme, token, hashId] = useInternalToken();\n return {\n theme,\n token,\n hashId\n };\n}\nexport default {\n /** @private Test Usage. Do not use in production. */\n defaultConfig,\n /** Default seedToken */\n defaultSeed: defaultConfig.token,\n useToken,\n defaultAlgorithm,\n darkAlgorithm,\n compactAlgorithm,\n getDesignToken\n};","export const PresetColors = ['blue', 'purple', 'cyan', 'green', 'magenta', 'pink', 'red', 'orange', 'yellow', 'volcano', 'geekblue', 'lime', 'gold'];","export default function genSizeMapToken(token) {\n const {\n sizeUnit,\n sizeStep\n } = token;\n return {\n sizeXXL: sizeUnit * (sizeStep + 8),\n sizeXL: sizeUnit * (sizeStep + 4),\n sizeLG: sizeUnit * (sizeStep + 2),\n sizeMD: sizeUnit * (sizeStep + 1),\n sizeMS: sizeUnit * sizeStep,\n size: sizeUnit * sizeStep,\n sizeSM: sizeUnit * (sizeStep - 1),\n sizeXS: sizeUnit * (sizeStep - 2),\n sizeXXS: sizeUnit * (sizeStep - 3) // 4\n };\n}","const genRadius = radiusBase => {\n let radiusLG = radiusBase;\n let radiusSM = radiusBase;\n let radiusXS = radiusBase;\n let radiusOuter = radiusBase;\n // radiusLG\n if (radiusBase < 6 && radiusBase >= 5) {\n radiusLG = radiusBase + 1;\n } else if (radiusBase < 16 && radiusBase >= 6) {\n radiusLG = radiusBase + 2;\n } else if (radiusBase >= 16) {\n radiusLG = 16;\n }\n // radiusSM\n if (radiusBase < 7 && radiusBase >= 5) {\n radiusSM = 4;\n } else if (radiusBase < 8 && radiusBase >= 7) {\n radiusSM = 5;\n } else if (radiusBase < 14 && radiusBase >= 8) {\n radiusSM = 6;\n } else if (radiusBase < 16 && radiusBase >= 14) {\n radiusSM = 7;\n } else if (radiusBase >= 16) {\n radiusSM = 8;\n }\n // radiusXS\n if (radiusBase < 6 && radiusBase >= 2) {\n radiusXS = 1;\n } else if (radiusBase >= 6) {\n radiusXS = 2;\n }\n // radiusOuter\n if (radiusBase > 4 && radiusBase < 8) {\n radiusOuter = 4;\n } else if (radiusBase >= 8) {\n radiusOuter = 6;\n }\n return {\n borderRadius: radiusBase > 16 ? 16 : radiusBase,\n borderRadiusXS: radiusXS,\n borderRadiusSM: radiusSM,\n borderRadiusLG: radiusLG,\n borderRadiusOuter: radiusOuter\n };\n};\nexport default genRadius;","import genRadius from './genRadius';\nexport default function genCommonMapToken(token) {\n const {\n motionUnit,\n motionBase,\n borderRadius,\n lineWidth\n } = token;\n return Object.assign({\n // motion\n motionDurationFast: `${(motionBase + motionUnit).toFixed(1)}s`,\n motionDurationMid: `${(motionBase + motionUnit * 2).toFixed(1)}s`,\n motionDurationSlow: `${(motionBase + motionUnit * 3).toFixed(1)}s`,\n // line\n lineWidthBold: lineWidth + 1\n }, genRadius(borderRadius));\n}","import { TinyColor } from '@ctrl/tinycolor';\nexport const getAlphaColor = (baseColor, alpha) => new TinyColor(baseColor).setAlpha(alpha).toRgbString();\nexport const getSolidColor = (baseColor, brightness) => {\n const instance = new TinyColor(baseColor);\n return instance.darken(brightness).toHexString();\n};","import { generate } from '@ant-design/colors';\nimport { getAlphaColor, getSolidColor } from './colorAlgorithm';\nexport const generateColorPalettes = baseColor => {\n const colors = generate(baseColor);\n return {\n 1: colors[0],\n 2: colors[1],\n 3: colors[2],\n 4: colors[3],\n 5: colors[4],\n 6: colors[5],\n 7: colors[6],\n 8: colors[4],\n 9: colors[5],\n 10: colors[6]\n // 8: colors[7],\n // 9: colors[8],\n // 10: colors[9],\n };\n};\n\nexport const generateNeutralColorPalettes = (bgBaseColor, textBaseColor) => {\n const colorBgBase = bgBaseColor || '#fff';\n const colorTextBase = textBaseColor || '#000';\n return {\n colorBgBase,\n colorTextBase,\n colorText: getAlphaColor(colorTextBase, 0.88),\n colorTextSecondary: getAlphaColor(colorTextBase, 0.65),\n colorTextTertiary: getAlphaColor(colorTextBase, 0.45),\n colorTextQuaternary: getAlphaColor(colorTextBase, 0.25),\n colorFill: getAlphaColor(colorTextBase, 0.15),\n colorFillSecondary: getAlphaColor(colorTextBase, 0.06),\n colorFillTertiary: getAlphaColor(colorTextBase, 0.04),\n colorFillQuaternary: getAlphaColor(colorTextBase, 0.02),\n colorBgLayout: getSolidColor(colorBgBase, 4),\n colorBgContainer: getSolidColor(colorBgBase, 0),\n colorBgElevated: getSolidColor(colorBgBase, 0),\n colorBgSpotlight: getAlphaColor(colorTextBase, 0.85),\n colorBorder: getSolidColor(colorBgBase, 15),\n colorBorderSecondary: getSolidColor(colorBgBase, 6)\n };\n};","import { generate } from '@ant-design/colors';\nimport genControlHeight from '../shared/genControlHeight';\nimport genSizeMapToken from '../shared/genSizeMapToken';\nimport { defaultPresetColors } from '../seed';\nimport genColorMapToken from '../shared/genColorMapToken';\nimport genCommonMapToken from '../shared/genCommonMapToken';\nimport { generateColorPalettes, generateNeutralColorPalettes } from './colors';\nimport genFontMapToken from '../shared/genFontMapToken';\nexport default function derivative(token) {\n const colorPalettes = Object.keys(defaultPresetColors).map(colorKey => {\n const colors = generate(token[colorKey]);\n return new Array(10).fill(1).reduce((prev, _, i) => {\n prev[`${colorKey}-${i + 1}`] = colors[i];\n prev[`${colorKey}${i + 1}`] = colors[i];\n return prev;\n }, {});\n }).reduce((prev, cur) => {\n prev = Object.assign(Object.assign({}, prev), cur);\n return prev;\n }, {});\n return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, token), colorPalettes), genColorMapToken(token, {\n generateColorPalettes,\n generateNeutralColorPalettes\n })), genFontMapToken(token.fontSize)), genSizeMapToken(token)), genControlHeight(token)), genCommonMapToken(token));\n}","export const defaultPresetColors = {\n blue: '#1677ff',\n purple: '#722ED1',\n cyan: '#13C2C2',\n green: '#52C41A',\n magenta: '#EB2F96',\n pink: '#eb2f96',\n red: '#F5222D',\n orange: '#FA8C16',\n yellow: '#FADB14',\n volcano: '#FA541C',\n geekblue: '#2F54EB',\n gold: '#FAAD14',\n lime: '#A0D911'\n};\nconst seedToken = Object.assign(Object.assign({}, defaultPresetColors), {\n // Color\n colorPrimary: '#1677ff',\n colorSuccess: '#52c41a',\n colorWarning: '#faad14',\n colorError: '#ff4d4f',\n colorInfo: '#1677ff',\n colorLink: '',\n colorTextBase: '',\n colorBgBase: '',\n // Font\n fontFamily: `-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,\n'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\n'Noto Color Emoji'`,\n fontFamilyCode: `'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace`,\n fontSize: 14,\n // Line\n lineWidth: 1,\n lineType: 'solid',\n // Motion\n motionUnit: 0.1,\n motionBase: 0,\n motionEaseOutCirc: 'cubic-bezier(0.08, 0.82, 0.17, 1)',\n motionEaseInOutCirc: 'cubic-bezier(0.78, 0.14, 0.15, 0.86)',\n motionEaseOut: 'cubic-bezier(0.215, 0.61, 0.355, 1)',\n motionEaseInOut: 'cubic-bezier(0.645, 0.045, 0.355, 1)',\n motionEaseOutBack: 'cubic-bezier(0.12, 0.4, 0.29, 1.46)',\n motionEaseInBack: 'cubic-bezier(0.71, -0.46, 0.88, 0.6)',\n motionEaseInQuint: 'cubic-bezier(0.755, 0.05, 0.855, 0.06)',\n motionEaseOutQuint: 'cubic-bezier(0.23, 1, 0.32, 1)',\n // Radius\n borderRadius: 6,\n // Size\n sizeUnit: 4,\n sizeStep: 4,\n sizePopupArrow: 16,\n // Control Base\n controlHeight: 32,\n // zIndex\n zIndexBase: 0,\n zIndexPopupBase: 1000,\n // Image\n opacityImage: 1,\n // Wireframe\n wireframe: false,\n // Motion\n motion: true\n});\nexport default seedToken;","import { TinyColor } from '@ctrl/tinycolor';\nexport default function genColorMapToken(seed, _ref) {\n let {\n generateColorPalettes,\n generateNeutralColorPalettes\n } = _ref;\n const {\n colorSuccess: colorSuccessBase,\n colorWarning: colorWarningBase,\n colorError: colorErrorBase,\n colorInfo: colorInfoBase,\n colorPrimary: colorPrimaryBase,\n colorBgBase,\n colorTextBase\n } = seed;\n const primaryColors = generateColorPalettes(colorPrimaryBase);\n const successColors = generateColorPalettes(colorSuccessBase);\n const warningColors = generateColorPalettes(colorWarningBase);\n const errorColors = generateColorPalettes(colorErrorBase);\n const infoColors = generateColorPalettes(colorInfoBase);\n const neutralColors = generateNeutralColorPalettes(colorBgBase, colorTextBase);\n // Color Link\n const colorLink = seed.colorLink || seed.colorInfo;\n const linkColors = generateColorPalettes(colorLink);\n return Object.assign(Object.assign({}, neutralColors), {\n colorPrimaryBg: primaryColors[1],\n colorPrimaryBgHover: primaryColors[2],\n colorPrimaryBorder: primaryColors[3],\n colorPrimaryBorderHover: primaryColors[4],\n colorPrimaryHover: primaryColors[5],\n colorPrimary: primaryColors[6],\n colorPrimaryActive: primaryColors[7],\n colorPrimaryTextHover: primaryColors[8],\n colorPrimaryText: primaryColors[9],\n colorPrimaryTextActive: primaryColors[10],\n colorSuccessBg: successColors[1],\n colorSuccessBgHover: successColors[2],\n colorSuccessBorder: successColors[3],\n colorSuccessBorderHover: successColors[4],\n colorSuccessHover: successColors[4],\n colorSuccess: successColors[6],\n colorSuccessActive: successColors[7],\n colorSuccessTextHover: successColors[8],\n colorSuccessText: successColors[9],\n colorSuccessTextActive: successColors[10],\n colorErrorBg: errorColors[1],\n colorErrorBgHover: errorColors[2],\n colorErrorBorder: errorColors[3],\n colorErrorBorderHover: errorColors[4],\n colorErrorHover: errorColors[5],\n colorError: errorColors[6],\n colorErrorActive: errorColors[7],\n colorErrorTextHover: errorColors[8],\n colorErrorText: errorColors[9],\n colorErrorTextActive: errorColors[10],\n colorWarningBg: warningColors[1],\n colorWarningBgHover: warningColors[2],\n colorWarningBorder: warningColors[3],\n colorWarningBorderHover: warningColors[4],\n colorWarningHover: warningColors[4],\n colorWarning: warningColors[6],\n colorWarningActive: warningColors[7],\n colorWarningTextHover: warningColors[8],\n colorWarningText: warningColors[9],\n colorWarningTextActive: warningColors[10],\n colorInfoBg: infoColors[1],\n colorInfoBgHover: infoColors[2],\n colorInfoBorder: infoColors[3],\n colorInfoBorderHover: infoColors[4],\n colorInfoHover: infoColors[4],\n colorInfo: infoColors[6],\n colorInfoActive: infoColors[7],\n colorInfoTextHover: infoColors[8],\n colorInfoText: infoColors[9],\n colorInfoTextActive: infoColors[10],\n colorLinkHover: linkColors[4],\n colorLink: linkColors[6],\n colorLinkActive: linkColors[7],\n colorBgMask: new TinyColor('#000').setAlpha(0.45).toRgbString(),\n colorWhite: '#fff'\n });\n}","const genControlHeight = token => {\n const {\n controlHeight\n } = token;\n return {\n controlHeightSM: controlHeight * 0.75,\n controlHeightXS: controlHeight * 0.5,\n controlHeightLG: controlHeight * 1.25\n };\n};\nexport default genControlHeight;","// https://zhuanlan.zhihu.com/p/32746810\nexport default function getFontSizes(base) {\n const fontSizes = new Array(10).fill(null).map((_, index) => {\n const i = index - 1;\n const baseSize = base * Math.pow(2.71828, i / 5);\n const intSize = index > 1 ? Math.floor(baseSize) : Math.ceil(baseSize);\n // Convert to even\n return Math.floor(intSize / 2) * 2;\n });\n fontSizes[1] = base;\n return fontSizes.map(size => {\n const height = size + 8;\n return {\n size,\n lineHeight: height / size\n };\n });\n}","import genFontSizes from './genFontSizes';\nconst genFontMapToken = fontSize => {\n const fontSizePairs = genFontSizes(fontSize);\n const fontSizes = fontSizePairs.map(pair => pair.size);\n const lineHeights = fontSizePairs.map(pair => pair.lineHeight);\n return {\n fontSizeSM: fontSizes[0],\n fontSize: fontSizes[1],\n fontSizeLG: fontSizes[2],\n fontSizeXL: fontSizes[3],\n fontSizeHeading1: fontSizes[6],\n fontSizeHeading2: fontSizes[5],\n fontSizeHeading3: fontSizes[4],\n fontSizeHeading4: fontSizes[3],\n fontSizeHeading5: fontSizes[2],\n lineHeight: lineHeights[1],\n lineHeightLG: lineHeights[2],\n lineHeightSM: lineHeights[0],\n lineHeightHeading1: lineHeights[6],\n lineHeightHeading2: lineHeights[5],\n lineHeightHeading3: lineHeights[4],\n lineHeightHeading4: lineHeights[3],\n lineHeightHeading5: lineHeights[2]\n };\n};\nexport default genFontMapToken;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { useCacheToken } from '@ant-design/cssinjs';\nimport React from 'react';\nimport version from '../version';\nimport { defaultTheme, DesignTokenContext } from './context';\nimport defaultSeedToken from './themes/seed';\nimport formatToken from './util/alias';\nexport const getComputedToken = (originToken, overrideToken, theme) => {\n const derivativeToken = theme.getDerivativeToken(originToken);\n const {\n override\n } = overrideToken,\n components = __rest(overrideToken, [\"override\"]);\n // Merge with override\n let mergedDerivativeToken = Object.assign(Object.assign({}, derivativeToken), {\n override\n });\n // Format if needed\n mergedDerivativeToken = formatToken(mergedDerivativeToken);\n if (components) {\n Object.entries(components).forEach(_ref => {\n let [key, value] = _ref;\n const {\n theme: componentTheme\n } = value,\n componentTokens = __rest(value, [\"theme\"]);\n let mergedComponentToken = componentTokens;\n if (componentTheme) {\n mergedComponentToken = getComputedToken(Object.assign(Object.assign({}, mergedDerivativeToken), componentTokens), {\n override: componentTokens\n }, componentTheme);\n }\n mergedDerivativeToken[key] = mergedComponentToken;\n });\n }\n return mergedDerivativeToken;\n};\n// ================================== Hook ==================================\nexport default function useToken() {\n const {\n token: rootDesignToken,\n hashed,\n theme,\n components\n } = React.useContext(DesignTokenContext);\n const salt = `${version}-${hashed || ''}`;\n const mergedTheme = theme || defaultTheme;\n const [token, hashId] = useCacheToken(mergedTheme, [defaultSeedToken, rootDesignToken], {\n salt,\n override: Object.assign({\n override: rootDesignToken\n }, components),\n getComputedToken,\n // formatToken will not be consumed after 1.15.0 with getComputedToken.\n // But token will break if @ant-design/cssinjs is under 1.15.0 without it\n formatToken\n });\n return [mergedTheme, token, hashed ? hashId : ''];\n}","import { TinyColor } from '@ctrl/tinycolor';\nfunction isStableColor(color) {\n return color >= 0 && color <= 255;\n}\nfunction getAlphaColor(frontColor, backgroundColor) {\n const {\n r: fR,\n g: fG,\n b: fB,\n a: originAlpha\n } = new TinyColor(frontColor).toRgb();\n if (originAlpha < 1) {\n return frontColor;\n }\n const {\n r: bR,\n g: bG,\n b: bB\n } = new TinyColor(backgroundColor).toRgb();\n for (let fA = 0.01; fA <= 1; fA += 0.01) {\n const r = Math.round((fR - bR * (1 - fA)) / fA);\n const g = Math.round((fG - bG * (1 - fA)) / fA);\n const b = Math.round((fB - bB * (1 - fA)) / fA);\n if (isStableColor(r) && isStableColor(g) && isStableColor(b)) {\n return new TinyColor({\n r,\n g,\n b,\n a: Math.round(fA * 100) / 100\n }).toRgbString();\n }\n }\n // fallback\n /* istanbul ignore next */\n return new TinyColor({\n r: fR,\n g: fG,\n b: fB,\n a: 1\n }).toRgbString();\n}\nexport default getAlphaColor;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { TinyColor } from '@ctrl/tinycolor';\nimport seedToken from '../themes/seed';\nimport getAlphaColor from './getAlphaColor';\n/**\n * Seed (designer) > Derivative (designer) > Alias (developer).\n *\n * Merge seed & derivative & override token and generate alias token for developer.\n */\nexport default function formatToken(derivativeToken) {\n const {\n override\n } = derivativeToken,\n restToken = __rest(derivativeToken, [\"override\"]);\n const overrideTokens = Object.assign({}, override);\n Object.keys(seedToken).forEach(token => {\n delete overrideTokens[token];\n });\n const mergedToken = Object.assign(Object.assign({}, restToken), overrideTokens);\n const screenXS = 480;\n const screenSM = 576;\n const screenMD = 768;\n const screenLG = 992;\n const screenXL = 1200;\n const screenXXL = 1600;\n // Motion\n if (mergedToken.motion === false) {\n const fastDuration = '0s';\n mergedToken.motionDurationFast = fastDuration;\n mergedToken.motionDurationMid = fastDuration;\n mergedToken.motionDurationSlow = fastDuration;\n }\n // Generate alias token\n const aliasToken = Object.assign(Object.assign(Object.assign({}, mergedToken), {\n // ============== Background ============== //\n colorFillContent: mergedToken.colorFillSecondary,\n colorFillContentHover: mergedToken.colorFill,\n colorFillAlter: mergedToken.colorFillQuaternary,\n colorBgContainerDisabled: mergedToken.colorFillTertiary,\n // ============== Split ============== //\n colorBorderBg: mergedToken.colorBgContainer,\n colorSplit: getAlphaColor(mergedToken.colorBorderSecondary, mergedToken.colorBgContainer),\n // ============== Text ============== //\n colorTextPlaceholder: mergedToken.colorTextQuaternary,\n colorTextDisabled: mergedToken.colorTextQuaternary,\n colorTextHeading: mergedToken.colorText,\n colorTextLabel: mergedToken.colorTextSecondary,\n colorTextDescription: mergedToken.colorTextTertiary,\n colorTextLightSolid: mergedToken.colorWhite,\n colorHighlight: mergedToken.colorError,\n colorBgTextHover: mergedToken.colorFillSecondary,\n colorBgTextActive: mergedToken.colorFill,\n colorIcon: mergedToken.colorTextTertiary,\n colorIconHover: mergedToken.colorText,\n colorErrorOutline: getAlphaColor(mergedToken.colorErrorBg, mergedToken.colorBgContainer),\n colorWarningOutline: getAlphaColor(mergedToken.colorWarningBg, mergedToken.colorBgContainer),\n // Font\n fontSizeIcon: mergedToken.fontSizeSM,\n // Line\n lineWidthFocus: mergedToken.lineWidth * 4,\n // Control\n lineWidth: mergedToken.lineWidth,\n controlOutlineWidth: mergedToken.lineWidth * 2,\n // Checkbox size and expand icon size\n controlInteractiveSize: mergedToken.controlHeight / 2,\n controlItemBgHover: mergedToken.colorFillTertiary,\n controlItemBgActive: mergedToken.colorPrimaryBg,\n controlItemBgActiveHover: mergedToken.colorPrimaryBgHover,\n controlItemBgActiveDisabled: mergedToken.colorFill,\n controlTmpOutline: mergedToken.colorFillQuaternary,\n controlOutline: getAlphaColor(mergedToken.colorPrimaryBg, mergedToken.colorBgContainer),\n lineType: mergedToken.lineType,\n borderRadius: mergedToken.borderRadius,\n borderRadiusXS: mergedToken.borderRadiusXS,\n borderRadiusSM: mergedToken.borderRadiusSM,\n borderRadiusLG: mergedToken.borderRadiusLG,\n fontWeightStrong: 600,\n opacityLoading: 0.65,\n linkDecoration: 'none',\n linkHoverDecoration: 'none',\n linkFocusDecoration: 'none',\n controlPaddingHorizontal: 12,\n controlPaddingHorizontalSM: 8,\n paddingXXS: mergedToken.sizeXXS,\n paddingXS: mergedToken.sizeXS,\n paddingSM: mergedToken.sizeSM,\n padding: mergedToken.size,\n paddingMD: mergedToken.sizeMD,\n paddingLG: mergedToken.sizeLG,\n paddingXL: mergedToken.sizeXL,\n paddingContentHorizontalLG: mergedToken.sizeLG,\n paddingContentVerticalLG: mergedToken.sizeMS,\n paddingContentHorizontal: mergedToken.sizeMS,\n paddingContentVertical: mergedToken.sizeSM,\n paddingContentHorizontalSM: mergedToken.size,\n paddingContentVerticalSM: mergedToken.sizeXS,\n marginXXS: mergedToken.sizeXXS,\n marginXS: mergedToken.sizeXS,\n marginSM: mergedToken.sizeSM,\n margin: mergedToken.size,\n marginMD: mergedToken.sizeMD,\n marginLG: mergedToken.sizeLG,\n marginXL: mergedToken.sizeXL,\n marginXXL: mergedToken.sizeXXL,\n boxShadow: `\n 0 6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 9px 28px 8px rgba(0, 0, 0, 0.05)\n `,\n boxShadowSecondary: `\n 0 6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 9px 28px 8px rgba(0, 0, 0, 0.05)\n `,\n boxShadowTertiary: `\n 0 1px 2px 0 rgba(0, 0, 0, 0.03),\n 0 1px 6px -1px rgba(0, 0, 0, 0.02),\n 0 2px 4px 0 rgba(0, 0, 0, 0.02)\n `,\n screenXS,\n screenXSMin: screenXS,\n screenXSMax: screenSM - 1,\n screenSM,\n screenSMMin: screenSM,\n screenSMMax: screenMD - 1,\n screenMD,\n screenMDMin: screenMD,\n screenMDMax: screenLG - 1,\n screenLG,\n screenLGMin: screenLG,\n screenLGMax: screenXL - 1,\n screenXL,\n screenXLMin: screenXL,\n screenXLMax: screenXXL - 1,\n screenXXL,\n screenXXLMin: screenXXL,\n boxShadowPopoverArrow: '2px 2px 5px rgba(0, 0, 0, 0.05)',\n boxShadowCard: `\n 0 1px 2px -2px ${new TinyColor('rgba(0, 0, 0, 0.16)').toRgbString()},\n 0 3px 6px 0 ${new TinyColor('rgba(0, 0, 0, 0.12)').toRgbString()},\n 0 5px 12px 4px ${new TinyColor('rgba(0, 0, 0, 0.09)').toRgbString()}\n `,\n boxShadowDrawerRight: `\n -6px 0 16px 0 rgba(0, 0, 0, 0.08),\n -3px 0 6px -4px rgba(0, 0, 0, 0.12),\n -9px 0 28px 8px rgba(0, 0, 0, 0.05)\n `,\n boxShadowDrawerLeft: `\n 6px 0 16px 0 rgba(0, 0, 0, 0.08),\n 3px 0 6px -4px rgba(0, 0, 0, 0.12),\n 9px 0 28px 8px rgba(0, 0, 0, 0.05)\n `,\n boxShadowDrawerUp: `\n 0 6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 9px 28px 8px rgba(0, 0, 0, 0.05)\n `,\n boxShadowDrawerDown: `\n 0 -6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 -3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 -9px 28px 8px rgba(0, 0, 0, 0.05)\n `,\n boxShadowTabsOverflowLeft: 'inset 10px 0 8px -8px rgba(0, 0, 0, 0.08)',\n boxShadowTabsOverflowRight: 'inset -10px 0 8px -8px rgba(0, 0, 0, 0.08)',\n boxShadowTabsOverflowTop: 'inset 0 10px 8px -8px rgba(0, 0, 0, 0.08)',\n boxShadowTabsOverflowBottom: 'inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08)'\n }), overrideTokens);\n return aliasToken;\n}","/* eslint-disable no-redeclare */\nimport { useContext } from 'react';\nimport { useStyleRegister } from '@ant-design/cssinjs';\nimport { warning } from 'rc-util';\nimport { ConfigContext } from '../../config-provider/context';\nimport { genCommonStyle, genLinkStyle } from '../../style';\nimport useToken from '../useToken';\nimport statisticToken, { merge as mergeToken } from './statistic';\nimport useResetIconStyle from './useResetIconStyle';\nexport default function genComponentStyleHook(componentName, styleFn, getDefaultToken, options) {\n const cells = Array.isArray(componentName) ? componentName : [componentName, componentName];\n const [component] = cells;\n const concatComponent = cells.join('-');\n return prefixCls => {\n const [theme, token, hashId] = useToken();\n const {\n getPrefixCls,\n iconPrefixCls,\n csp\n } = useContext(ConfigContext);\n const rootPrefixCls = getPrefixCls();\n // Shared config\n const sharedConfig = {\n theme,\n token,\n hashId,\n nonce: () => csp === null || csp === void 0 ? void 0 : csp.nonce,\n clientOnly: options === null || options === void 0 ? void 0 : options.clientOnly,\n // antd is always at top of styles\n order: -999\n };\n // Generate style for all a tags in antd component.\n useStyleRegister(Object.assign(Object.assign({}, sharedConfig), {\n clientOnly: false,\n path: ['Shared', rootPrefixCls]\n }), () => [{\n // Link\n '&': genLinkStyle(token)\n }]);\n // Generate style for icons\n useResetIconStyle(iconPrefixCls);\n return [useStyleRegister(Object.assign(Object.assign({}, sharedConfig), {\n path: [concatComponent, prefixCls, iconPrefixCls]\n }), () => {\n const {\n token: proxyToken,\n flush\n } = statisticToken(token);\n const customComponentToken = Object.assign({}, token[component]);\n if (options === null || options === void 0 ? void 0 : options.deprecatedTokens) {\n const {\n deprecatedTokens\n } = options;\n deprecatedTokens.forEach(_ref => {\n let [oldTokenKey, newTokenKey] = _ref;\n var _a;\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(!(customComponentToken === null || customComponentToken === void 0 ? void 0 : customComponentToken[oldTokenKey]), `The token '${String(oldTokenKey)}' of ${component} had deprecated, use '${String(newTokenKey)}' instead.`) : void 0;\n }\n // Should wrap with `if` clause, or there will be `undefined` in object.\n if ((customComponentToken === null || customComponentToken === void 0 ? void 0 : customComponentToken[oldTokenKey]) || (customComponentToken === null || customComponentToken === void 0 ? void 0 : customComponentToken[newTokenKey])) {\n (_a = customComponentToken[newTokenKey]) !== null && _a !== void 0 ? _a : customComponentToken[newTokenKey] = customComponentToken === null || customComponentToken === void 0 ? void 0 : customComponentToken[oldTokenKey];\n }\n });\n }\n const defaultComponentToken = typeof getDefaultToken === 'function' ? getDefaultToken(mergeToken(proxyToken, customComponentToken !== null && customComponentToken !== void 0 ? customComponentToken : {})) : getDefaultToken;\n const mergedComponentToken = Object.assign(Object.assign({}, defaultComponentToken), customComponentToken);\n const componentCls = `.${prefixCls}`;\n const mergedToken = mergeToken(proxyToken, {\n componentCls,\n prefixCls,\n iconCls: `.${iconPrefixCls}`,\n antCls: `.${rootPrefixCls}`\n }, mergedComponentToken);\n const styleInterpolation = styleFn(mergedToken, {\n hashId,\n prefixCls,\n rootPrefixCls,\n iconPrefixCls,\n overrideComponentToken: customComponentToken\n });\n flush(component, mergedComponentToken);\n return [(options === null || options === void 0 ? void 0 : options.resetStyle) === false ? null : genCommonStyle(token, prefixCls), styleInterpolation];\n }), hashId];\n };\n}","import { PresetColors } from '../interface';\nexport default function genPresetColor(token, genCss) {\n return PresetColors.reduce((prev, colorKey) => {\n const lightColor = token[`${colorKey}1`];\n const lightBorderColor = token[`${colorKey}3`];\n const darkColor = token[`${colorKey}6`];\n const textColor = token[`${colorKey}7`];\n return Object.assign(Object.assign({}, prev), genCss(colorKey, {\n lightColor,\n lightBorderColor,\n darkColor,\n textColor\n }));\n }, {});\n}","const enableStatistic = process.env.NODE_ENV !== 'production' || typeof CSSINJS_STATISTIC !== 'undefined';\nlet recording = true;\n/**\n * This function will do as `Object.assign` in production. But will use Object.defineProperty:get to\n * pass all value access in development. To support statistic field usage with alias token.\n */\nexport function merge() {\n for (var _len = arguments.length, objs = new Array(_len), _key = 0; _key < _len; _key++) {\n objs[_key] = arguments[_key];\n }\n /* istanbul ignore next */\n if (!enableStatistic) {\n return Object.assign.apply(Object, [{}].concat(objs));\n }\n recording = false;\n const ret = {};\n objs.forEach(obj => {\n const keys = Object.keys(obj);\n keys.forEach(key => {\n Object.defineProperty(ret, key, {\n configurable: true,\n enumerable: true,\n get: () => obj[key]\n });\n });\n });\n recording = true;\n return ret;\n}\n/** @internal Internal Usage. Not use in your production. */\nexport const statistic = {};\n/** @internal Internal Usage. Not use in your production. */\n// eslint-disable-next-line camelcase\nexport const _statistic_build_ = {};\n/* istanbul ignore next */\nfunction noop() {}\n/** Statistic token usage case. Should use `merge` function if you do not want spread record. */\nexport default function statisticToken(token) {\n let tokenKeys;\n let proxy = token;\n let flush = noop;\n if (enableStatistic) {\n tokenKeys = new Set();\n proxy = new Proxy(token, {\n get(obj, prop) {\n if (recording) {\n tokenKeys.add(prop);\n }\n return obj[prop];\n }\n });\n flush = (componentName, componentToken) => {\n var _a;\n statistic[componentName] = {\n global: Array.from(tokenKeys),\n component: Object.assign(Object.assign({}, (_a = statistic[componentName]) === null || _a === void 0 ? void 0 : _a.component), componentToken)\n };\n };\n }\n return {\n token: proxy,\n keys: tokenKeys,\n flush\n };\n}","import { useStyleRegister } from '@ant-design/cssinjs';\nimport { resetIcon } from '../../style';\nimport useToken from '../useToken';\nconst useResetIconStyle = (iconPrefixCls, csp) => {\n const [theme, token] = useToken();\n // Generate style for icons\n return useStyleRegister({\n theme,\n token,\n hashId: '',\n path: ['ant-design-icons', iconPrefixCls],\n nonce: () => csp === null || csp === void 0 ? void 0 : csp.nonce\n }, () => [{\n [`.${iconPrefixCls}`]: Object.assign(Object.assign({}, resetIcon()), {\n [`.${iconPrefixCls} .${iconPrefixCls}-icon`]: {\n display: 'block'\n }\n })\n }]);\n};\nexport default useResetIconStyle;","const locale = {\n placeholder: 'Select time',\n rangePlaceholder: ['Start time', 'End time']\n};\nexport default locale;","import { resetComponent } from '../../style';\nimport { initZoomMotion } from '../../style/motion';\nimport getArrowStyle, { MAX_VERTICAL_CONTENT_RADIUS } from '../../style/placementArrow';\nimport { genComponentStyleHook, genPresetColor, mergeToken } from '../../theme/internal';\nconst genTooltipStyle = token => {\n const {\n componentCls,\n // ant-tooltip\n tooltipMaxWidth,\n tooltipColor,\n tooltipBg,\n tooltipBorderRadius,\n zIndexPopup,\n controlHeight,\n boxShadowSecondary,\n paddingSM,\n paddingXS,\n tooltipRadiusOuter\n } = token;\n return [{\n [componentCls]: Object.assign(Object.assign(Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'absolute',\n zIndex: zIndexPopup,\n display: 'block',\n width: 'max-content',\n maxWidth: tooltipMaxWidth,\n visibility: 'visible',\n transformOrigin: `var(--arrow-x, 50%) var(--arrow-y, 50%)`,\n '&-hidden': {\n display: 'none'\n },\n '--antd-arrow-background-color': tooltipBg,\n // Wrapper for the tooltip content\n [`${componentCls}-inner`]: {\n minWidth: controlHeight,\n minHeight: controlHeight,\n padding: `${paddingSM / 2}px ${paddingXS}px`,\n color: tooltipColor,\n textAlign: 'start',\n textDecoration: 'none',\n wordWrap: 'break-word',\n backgroundColor: tooltipBg,\n borderRadius: tooltipBorderRadius,\n boxShadow: boxShadowSecondary,\n boxSizing: 'border-box'\n },\n // Limit left and right placement radius\n [[`&-placement-left`, `&-placement-leftTop`, `&-placement-leftBottom`, `&-placement-right`, `&-placement-rightTop`, `&-placement-rightBottom`].join(',')]: {\n [`${componentCls}-inner`]: {\n borderRadius: Math.min(tooltipBorderRadius, MAX_VERTICAL_CONTENT_RADIUS)\n }\n },\n [`${componentCls}-content`]: {\n position: 'relative'\n }\n }), genPresetColor(token, (colorKey, _ref) => {\n let {\n darkColor\n } = _ref;\n return {\n [`&${componentCls}-${colorKey}`]: {\n [`${componentCls}-inner`]: {\n backgroundColor: darkColor\n },\n [`${componentCls}-arrow`]: {\n '--antd-arrow-background-color': darkColor\n }\n }\n };\n })), {\n // RTL\n '&-rtl': {\n direction: 'rtl'\n }\n })\n },\n // Arrow Style\n getArrowStyle(mergeToken(token, {\n borderRadiusOuter: tooltipRadiusOuter\n }), {\n colorBg: 'var(--antd-arrow-background-color)',\n contentRadius: tooltipBorderRadius,\n limitVerticalRadius: true\n }),\n // Pure Render\n {\n [`${componentCls}-pure`]: {\n position: 'relative',\n maxWidth: 'none',\n margin: token.sizePopupArrow\n }\n }];\n};\n// ============================== Export ==============================\nexport default ((prefixCls, injectStyle) => {\n const useOriginHook = genComponentStyleHook('Tooltip', token => {\n // Popover use Tooltip as internal component. We do not need to handle this.\n if (injectStyle === false) {\n return [];\n }\n const {\n borderRadius,\n colorTextLightSolid,\n colorBgDefault,\n borderRadiusOuter\n } = token;\n const TooltipToken = mergeToken(token, {\n // default variables\n tooltipMaxWidth: 250,\n tooltipColor: colorTextLightSolid,\n tooltipBorderRadius: borderRadius,\n tooltipBg: colorBgDefault,\n tooltipRadiusOuter: borderRadiusOuter > 4 ? 4 : borderRadiusOuter\n });\n return [genTooltipStyle(TooltipToken), initZoomMotion(token, 'zoom-big-fast')];\n }, _ref2 => {\n let {\n zIndexPopupBase,\n colorBgSpotlight\n } = _ref2;\n return {\n zIndexPopup: zIndexPopupBase + 70,\n colorBgDefault: colorBgSpotlight\n };\n }, {\n resetStyle: false\n });\n return useOriginHook(prefixCls);\n});","/* eslint-disable import/prefer-default-export */\nimport classNames from 'classnames';\nimport { isPresetColor } from '../_util/colors';\nexport function parseColor(prefixCls, color) {\n const isInternalColor = isPresetColor(color);\n const className = classNames({\n [`${prefixCls}-${color}`]: color && isInternalColor\n });\n const overlayStyle = {};\n const arrowStyle = {};\n if (color && !isInternalColor) {\n overlayStyle.background = color;\n // @ts-ignore\n arrowStyle['--antd-arrow-background-color'] = color;\n }\n return {\n className,\n overlayStyle,\n arrowStyle\n };\n}","import classNames from 'classnames';\nimport { Popup } from 'rc-tooltip';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style';\nimport { parseColor } from './util';\n/** @private Internal Component. Do not use in your production. */\nconst PurePanel = props => {\n const {\n prefixCls: customizePrefixCls,\n className,\n placement = 'top',\n title,\n color,\n overlayInnerStyle\n } = props;\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('tooltip', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls, true);\n // Color\n const colorInfo = parseColor(prefixCls, color);\n const arrowContentStyle = colorInfo.arrowStyle;\n const formattedOverlayInnerStyle = Object.assign(Object.assign({}, overlayInnerStyle), colorInfo.overlayStyle);\n const cls = classNames(hashId, prefixCls, `${prefixCls}-pure`, `${prefixCls}-placement-${placement}`, className, colorInfo.className);\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", {\n className: cls,\n style: arrowContentStyle\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-arrow`\n }), /*#__PURE__*/React.createElement(Popup, Object.assign({}, props, {\n className: hashId,\n prefixCls: prefixCls,\n overlayInnerStyle: formattedOverlayInnerStyle\n }), title)));\n};\nexport default PurePanel;","'use client';\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport RcTooltip from 'rc-tooltip';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport * as React from 'react';\nimport { getTransitionName } from '../_util/motion';\nimport getPlacements from '../_util/placements';\nimport { cloneElement, isFragment, isValidElement } from '../_util/reactNode';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport { NoCompactStyle } from '../space/Compact';\nimport theme from '../theme';\nimport PurePanel from './PurePanel';\nimport useStyle from './style';\nimport { parseColor } from './util';\nconst {\n useToken\n} = theme;\nconst splitObject = (obj, keys) => {\n const picked = {};\n const omitted = Object.assign({}, obj);\n keys.forEach(key => {\n if (obj && key in obj) {\n picked[key] = obj[key];\n delete omitted[key];\n }\n });\n return {\n picked,\n omitted\n };\n};\n// Fix Tooltip won't hide at disabled button\n// mouse events don't trigger at disabled button in Chrome\n// https://github.com/react-component/tooltip/issues/18\nfunction getDisabledCompatibleChildren(element, prefixCls) {\n const elementType = element.type;\n if ((elementType.__ANT_BUTTON === true || element.type === 'button') && element.props.disabled || elementType.__ANT_SWITCH === true && (element.props.disabled || element.props.loading) || elementType.__ANT_RADIO === true && element.props.disabled) {\n // Pick some layout related style properties up to span\n // Prevent layout bugs like https://github.com/ant-design/ant-design/issues/5254\n const {\n picked,\n omitted\n } = splitObject(element.props.style, ['position', 'left', 'right', 'top', 'bottom', 'float', 'display', 'zIndex']);\n const spanStyle = Object.assign(Object.assign({\n display: 'inline-block'\n }, picked), {\n cursor: 'not-allowed',\n width: element.props.block ? '100%' : undefined\n });\n const buttonStyle = Object.assign(Object.assign({}, omitted), {\n pointerEvents: 'none'\n });\n const child = cloneElement(element, {\n style: buttonStyle,\n className: null\n });\n return /*#__PURE__*/React.createElement(\"span\", {\n style: spanStyle,\n className: classNames(element.props.className, `${prefixCls}-disabled-compatible-wrapper`)\n }, child);\n }\n return element;\n}\nconst Tooltip = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _a, _b;\n const {\n prefixCls: customizePrefixCls,\n openClassName,\n getTooltipContainer,\n overlayClassName,\n color,\n overlayInnerStyle,\n children,\n afterOpenChange,\n afterVisibleChange,\n destroyTooltipOnHide,\n arrow = true,\n title,\n overlay,\n builtinPlacements,\n arrowPointAtCenter = false,\n autoAdjustOverflow = true\n } = props;\n const mergedShowArrow = !!arrow;\n const {\n token\n } = useToken();\n const {\n getPopupContainer: getContextPopupContainer,\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n // ============================== Ref ===============================\n const tooltipRef = React.useRef(null);\n const forceAlign = () => {\n var _a;\n (_a = tooltipRef.current) === null || _a === void 0 ? void 0 : _a.forceAlign();\n };\n React.useImperativeHandle(ref, () => ({\n forceAlign,\n forcePopupAlign: () => {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Tooltip', '`forcePopupAlign` is align to `forceAlign` instead.') : void 0;\n forceAlign();\n }\n }));\n // ============================== Warn ==============================\n if (process.env.NODE_ENV !== 'production') {\n [['visible', 'open'], ['defaultVisible', 'defaultOpen'], ['onVisibleChange', 'onOpenChange'], ['afterVisibleChange', 'afterOpenChange'], ['arrowPointAtCenter', 'arrow={{ pointAtCenter: true }}']].forEach(_ref => {\n let [deprecatedName, newName] = _ref;\n process.env.NODE_ENV !== \"production\" ? warning(!(deprecatedName in props), 'Tooltip', `\\`${deprecatedName}\\` is deprecated, please use \\`${newName}\\` instead.`) : void 0;\n });\n process.env.NODE_ENV !== \"production\" ? warning(!destroyTooltipOnHide || typeof destroyTooltipOnHide === 'boolean', 'Tooltip', '`destroyTooltipOnHide` no need config `keepParent` anymore. Please use `boolean` value directly.') : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!arrow || typeof arrow === 'boolean' || !('arrowPointAtCenter' in arrow), 'Tooltip', '`arrowPointAtCenter` in `arrow` is deprecated, please use `pointAtCenter` instead.') : void 0;\n }\n // ============================== Open ==============================\n const [open, setOpen] = useMergedState(false, {\n value: (_a = props.open) !== null && _a !== void 0 ? _a : props.visible,\n defaultValue: (_b = props.defaultOpen) !== null && _b !== void 0 ? _b : props.defaultVisible\n });\n const noTitle = !title && !overlay && title !== 0; // overlay for old version compatibility\n const onOpenChange = vis => {\n var _a, _b;\n setOpen(noTitle ? false : vis);\n if (!noTitle) {\n (_a = props.onOpenChange) === null || _a === void 0 ? void 0 : _a.call(props, vis);\n (_b = props.onVisibleChange) === null || _b === void 0 ? void 0 : _b.call(props, vis);\n }\n };\n const tooltipPlacements = React.useMemo(() => {\n var _a, _b;\n let mergedArrowPointAtCenter = arrowPointAtCenter;\n if (typeof arrow === 'object') {\n mergedArrowPointAtCenter = (_b = (_a = arrow.pointAtCenter) !== null && _a !== void 0 ? _a : arrow.arrowPointAtCenter) !== null && _b !== void 0 ? _b : arrowPointAtCenter;\n }\n return builtinPlacements || getPlacements({\n arrowPointAtCenter: mergedArrowPointAtCenter,\n autoAdjustOverflow,\n arrowWidth: mergedShowArrow ? token.sizePopupArrow : 0,\n borderRadius: token.borderRadius,\n offset: token.marginXXS,\n visibleFirst: true\n });\n }, [arrowPointAtCenter, arrow, builtinPlacements, token]);\n const memoOverlay = React.useMemo(() => {\n if (title === 0) {\n return title;\n }\n return overlay || title || '';\n }, [overlay, title]);\n const memoOverlayWrapper = /*#__PURE__*/React.createElement(NoCompactStyle, null, typeof memoOverlay === 'function' ? memoOverlay() : memoOverlay);\n const {\n getPopupContainer,\n placement = 'top',\n mouseEnterDelay = 0.1,\n mouseLeaveDelay = 0.1,\n overlayStyle,\n rootClassName\n } = props,\n otherProps = __rest(props, [\"getPopupContainer\", \"placement\", \"mouseEnterDelay\", \"mouseLeaveDelay\", \"overlayStyle\", \"rootClassName\"]);\n const prefixCls = getPrefixCls('tooltip', customizePrefixCls);\n const rootPrefixCls = getPrefixCls();\n const injectFromPopover = props['data-popover-inject'];\n let tempOpen = open;\n // Hide tooltip when there is no title\n if (!('open' in props) && !('visible' in props) && noTitle) {\n tempOpen = false;\n }\n // ============================= Render =============================\n const child = getDisabledCompatibleChildren(isValidElement(children) && !isFragment(children) ? children : /*#__PURE__*/React.createElement(\"span\", null, children), prefixCls);\n const childProps = child.props;\n const childCls = !childProps.className || typeof childProps.className === 'string' ? classNames(childProps.className, openClassName || `${prefixCls}-open`) : childProps.className;\n // Style\n const [wrapSSR, hashId] = useStyle(prefixCls, !injectFromPopover);\n // Color\n const colorInfo = parseColor(prefixCls, color);\n const arrowContentStyle = colorInfo.arrowStyle;\n const formattedOverlayInnerStyle = Object.assign(Object.assign({}, overlayInnerStyle), colorInfo.overlayStyle);\n const customOverlayClassName = classNames(overlayClassName, {\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, colorInfo.className, rootClassName, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(RcTooltip, Object.assign({}, otherProps, {\n showArrow: mergedShowArrow,\n placement: placement,\n mouseEnterDelay: mouseEnterDelay,\n mouseLeaveDelay: mouseLeaveDelay,\n prefixCls: prefixCls,\n overlayClassName: customOverlayClassName,\n overlayStyle: Object.assign(Object.assign({}, arrowContentStyle), overlayStyle),\n getTooltipContainer: getPopupContainer || getTooltipContainer || getContextPopupContainer,\n ref: tooltipRef,\n builtinPlacements: tooltipPlacements,\n overlay: memoOverlayWrapper,\n visible: tempOpen,\n onVisibleChange: onOpenChange,\n afterVisibleChange: afterOpenChange !== null && afterOpenChange !== void 0 ? afterOpenChange : afterVisibleChange,\n overlayInnerStyle: formattedOverlayInnerStyle,\n arrowContent: /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-arrow-content`\n }),\n motion: {\n motionName: getTransitionName(rootPrefixCls, 'zoom-big-fast', props.transitionName),\n motionDeadline: 1000\n },\n destroyTooltipOnHide: !!destroyTooltipOnHide\n }), tempOpen ? cloneElement(child, {\n className: childCls\n }) : child));\n});\nif (process.env.NODE_ENV !== 'production') {\n Tooltip.displayName = 'Tooltip';\n}\nTooltip._InternalPanelDoNotUseOrYouWillBeFired = PurePanel;\nexport default Tooltip;","function getError(option, xhr) {\n var msg = \"cannot \".concat(option.method, \" \").concat(option.action, \" \").concat(xhr.status, \"'\");\n var err = new Error(msg);\n err.status = xhr.status;\n err.method = option.method;\n err.url = option.action;\n return err;\n}\n\nfunction getBody(xhr) {\n var text = xhr.responseText || xhr.response;\n\n if (!text) {\n return text;\n }\n\n try {\n return JSON.parse(text);\n } catch (e) {\n return text;\n }\n}\n\nexport default function upload(option) {\n // eslint-disable-next-line no-undef\n var xhr = new XMLHttpRequest();\n\n if (option.onProgress && xhr.upload) {\n xhr.upload.onprogress = function progress(e) {\n if (e.total > 0) {\n e.percent = e.loaded / e.total * 100;\n }\n\n option.onProgress(e);\n };\n } // eslint-disable-next-line no-undef\n\n\n var formData = new FormData();\n\n if (option.data) {\n Object.keys(option.data).forEach(function (key) {\n var value = option.data[key]; // support key-value array data\n\n if (Array.isArray(value)) {\n value.forEach(function (item) {\n // { list: [ 11, 22 ] }\n // formData.append('list[]', 11);\n formData.append(\"\".concat(key, \"[]\"), item);\n });\n return;\n }\n\n formData.append(key, value);\n });\n } // eslint-disable-next-line no-undef\n\n\n if (option.file instanceof Blob) {\n formData.append(option.filename, option.file, option.file.name);\n } else {\n formData.append(option.filename, option.file);\n }\n\n xhr.onerror = function error(e) {\n option.onError(e);\n };\n\n xhr.onload = function onload() {\n // allow success when 2xx status\n // see https://github.com/react-component/upload/issues/34\n if (xhr.status < 200 || xhr.status >= 300) {\n return option.onError(getError(option, xhr), getBody(xhr));\n }\n\n return option.onSuccess(getBody(xhr), xhr);\n };\n\n xhr.open(option.method, option.action, true); // Has to be after `.open()`. See https://github.com/enyo/dropzone/issues/179\n\n if (option.withCredentials && 'withCredentials' in xhr) {\n xhr.withCredentials = true;\n }\n\n var headers = option.headers || {}; // when set headers['X-Requested-With'] = null , can close default XHR header\n // see https://github.com/react-component/upload/issues/33\n\n if (headers['X-Requested-With'] !== null) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n\n Object.keys(headers).forEach(function (h) {\n if (headers[h] !== null) {\n xhr.setRequestHeader(h, headers[h]);\n }\n });\n xhr.send(formData);\n return {\n abort: function abort() {\n xhr.abort();\n }\n };\n}","var now = +new Date();\nvar index = 0;\nexport default function uid() {\n // eslint-disable-next-line no-plusplus\n return \"rc-upload-\".concat(now, \"-\").concat(++index);\n}","import warning from \"rc-util/es/warning\";\nexport default (function (file, acceptedFiles) {\n if (file && acceptedFiles) {\n var acceptedFilesArray = Array.isArray(acceptedFiles) ? acceptedFiles : acceptedFiles.split(',');\n var fileName = file.name || '';\n var mimeType = file.type || '';\n var baseMimeType = mimeType.replace(/\\/.*$/, '');\n return acceptedFilesArray.some(function (type) {\n var validType = type.trim(); // This is something like */*,* allow all files\n\n if (/^\\*(\\/\\*)?$/.test(type)) {\n return true;\n } // like .jpg, .png\n\n\n if (validType.charAt(0) === '.') {\n var lowerFileName = fileName.toLowerCase();\n var lowerType = validType.toLowerCase();\n var affixList = [lowerType];\n\n if (lowerType === '.jpg' || lowerType === '.jpeg') {\n affixList = ['.jpg', '.jpeg'];\n }\n\n return affixList.some(function (affix) {\n return lowerFileName.endsWith(affix);\n });\n } // This is something like a image/* mime type\n\n\n if (/\\/\\*$/.test(validType)) {\n return baseMimeType === validType.replace(/\\/.*$/, '');\n } // Full match\n\n\n if (mimeType === validType) {\n return true;\n } // Invalidate type should skip\n\n\n if (/^\\w+$/.test(validType)) {\n warning(false, \"Upload takes an invalidate 'accept' type '\".concat(validType, \"'.Skip for check.\"));\n return true;\n }\n\n return false;\n });\n }\n\n return true;\n});","function loopFiles(item, callback) {\n var dirReader = item.createReader();\n var fileList = [];\n\n function sequence() {\n dirReader.readEntries(function (entries) {\n var entryList = Array.prototype.slice.apply(entries);\n fileList = fileList.concat(entryList); // Check if all the file has been viewed\n\n var isFinished = !entryList.length;\n\n if (isFinished) {\n callback(fileList);\n } else {\n sequence();\n }\n });\n }\n\n sequence();\n}\n\nvar traverseFileTree = function traverseFileTree(files, callback, isAccepted) {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n var _traverseFileTree = function _traverseFileTree(item, path) {\n // eslint-disable-next-line no-param-reassign\n item.path = path || '';\n\n if (item.isFile) {\n item.file(function (file) {\n if (isAccepted(file)) {\n // https://github.com/ant-design/ant-design/issues/16426\n if (item.fullPath && !file.webkitRelativePath) {\n Object.defineProperties(file, {\n webkitRelativePath: {\n writable: true\n }\n }); // eslint-disable-next-line no-param-reassign\n\n file.webkitRelativePath = item.fullPath.replace(/^\\//, '');\n Object.defineProperties(file, {\n webkitRelativePath: {\n writable: false\n }\n });\n }\n\n callback([file]);\n }\n });\n } else if (item.isDirectory) {\n loopFiles(item, function (entries) {\n entries.forEach(function (entryItem) {\n _traverseFileTree(entryItem, \"\".concat(path).concat(item.name, \"/\"));\n });\n });\n }\n };\n\n files.forEach(function (file) {\n _traverseFileTree(file.webkitGetAsEntry());\n });\n};\n\nexport default traverseFileTree;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _regeneratorRuntime from \"@babel/runtime/helpers/esm/regeneratorRuntime\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nvar _excluded = [\"component\", \"prefixCls\", \"className\", \"disabled\", \"id\", \"style\", \"multiple\", \"accept\", \"capture\", \"children\", \"directory\", \"openFileDialogOnClick\", \"onMouseEnter\", \"onMouseLeave\"];\nimport React, { Component } from 'react';\nimport classNames from 'classnames';\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport defaultRequest from './request';\nimport getUid from './uid';\nimport attrAccept from './attr-accept';\nimport traverseFileTree from './traverseFileTree';\n\nvar AjaxUploader = /*#__PURE__*/function (_Component) {\n _inherits(AjaxUploader, _Component);\n\n var _super = _createSuper(AjaxUploader);\n\n function AjaxUploader() {\n var _this;\n\n _classCallCheck(this, AjaxUploader);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n uid: getUid()\n };\n _this.reqs = {};\n _this.fileInput = void 0;\n _this._isMounted = void 0;\n\n _this.onChange = function (e) {\n var _this$props = _this.props,\n accept = _this$props.accept,\n directory = _this$props.directory;\n var files = e.target.files;\n\n var acceptedFiles = _toConsumableArray(files).filter(function (file) {\n return !directory || attrAccept(file, accept);\n });\n\n _this.uploadFiles(acceptedFiles);\n\n _this.reset();\n };\n\n _this.onClick = function (e) {\n var el = _this.fileInput;\n\n if (!el) {\n return;\n }\n\n var _this$props2 = _this.props,\n children = _this$props2.children,\n onClick = _this$props2.onClick;\n\n if (children && children.type === 'button') {\n var parent = el.parentNode;\n parent.focus();\n parent.querySelector('button').blur();\n }\n\n el.click();\n\n if (onClick) {\n onClick(e);\n }\n };\n\n _this.onKeyDown = function (e) {\n if (e.key === 'Enter') {\n _this.onClick(e);\n }\n };\n\n _this.onFileDrop = function (e) {\n var multiple = _this.props.multiple;\n e.preventDefault();\n\n if (e.type === 'dragover') {\n return;\n }\n\n if (_this.props.directory) {\n traverseFileTree(Array.prototype.slice.call(e.dataTransfer.items), _this.uploadFiles, function (_file) {\n return attrAccept(_file, _this.props.accept);\n });\n } else {\n var files = _toConsumableArray(e.dataTransfer.files).filter(function (file) {\n return attrAccept(file, _this.props.accept);\n });\n\n if (multiple === false) {\n files = files.slice(0, 1);\n }\n\n _this.uploadFiles(files);\n }\n };\n\n _this.uploadFiles = function (files) {\n var originFiles = _toConsumableArray(files);\n\n var postFiles = originFiles.map(function (file) {\n // eslint-disable-next-line no-param-reassign\n file.uid = getUid();\n return _this.processFile(file, originFiles);\n }); // Batch upload files\n\n Promise.all(postFiles).then(function (fileList) {\n var onBatchStart = _this.props.onBatchStart;\n onBatchStart === null || onBatchStart === void 0 ? void 0 : onBatchStart(fileList.map(function (_ref) {\n var origin = _ref.origin,\n parsedFile = _ref.parsedFile;\n return {\n file: origin,\n parsedFile: parsedFile\n };\n }));\n fileList.filter(function (file) {\n return file.parsedFile !== null;\n }).forEach(function (file) {\n _this.post(file);\n });\n });\n };\n\n _this.processFile = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(file, fileList) {\n var beforeUpload, transformedFile, action, mergedAction, data, mergedData, parsedData, parsedFile, mergedParsedFile;\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n beforeUpload = _this.props.beforeUpload;\n transformedFile = file;\n\n if (!beforeUpload) {\n _context.next = 14;\n break;\n }\n\n _context.prev = 3;\n _context.next = 6;\n return beforeUpload(file, fileList);\n\n case 6:\n transformedFile = _context.sent;\n _context.next = 12;\n break;\n\n case 9:\n _context.prev = 9;\n _context.t0 = _context[\"catch\"](3);\n // Rejection will also trade as false\n transformedFile = false;\n\n case 12:\n if (!(transformedFile === false)) {\n _context.next = 14;\n break;\n }\n\n return _context.abrupt(\"return\", {\n origin: file,\n parsedFile: null,\n action: null,\n data: null\n });\n\n case 14:\n // Get latest action\n action = _this.props.action;\n\n if (!(typeof action === 'function')) {\n _context.next = 21;\n break;\n }\n\n _context.next = 18;\n return action(file);\n\n case 18:\n mergedAction = _context.sent;\n _context.next = 22;\n break;\n\n case 21:\n mergedAction = action;\n\n case 22:\n // Get latest data\n data = _this.props.data;\n\n if (!(typeof data === 'function')) {\n _context.next = 29;\n break;\n }\n\n _context.next = 26;\n return data(file);\n\n case 26:\n mergedData = _context.sent;\n _context.next = 30;\n break;\n\n case 29:\n mergedData = data;\n\n case 30:\n parsedData = // string type is from legacy `transformFile`.\n // Not sure if this will work since no related test case works with it\n (_typeof(transformedFile) === 'object' || typeof transformedFile === 'string') && transformedFile ? transformedFile : file;\n\n if (parsedData instanceof File) {\n parsedFile = parsedData;\n } else {\n parsedFile = new File([parsedData], file.name, {\n type: file.type\n });\n }\n\n mergedParsedFile = parsedFile;\n mergedParsedFile.uid = file.uid;\n return _context.abrupt(\"return\", {\n origin: file,\n data: mergedData,\n parsedFile: mergedParsedFile,\n action: mergedAction\n });\n\n case 35:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[3, 9]]);\n }));\n\n return function (_x, _x2) {\n return _ref2.apply(this, arguments);\n };\n }();\n\n _this.saveFileInput = function (node) {\n _this.fileInput = node;\n };\n\n return _this;\n }\n\n _createClass(AjaxUploader, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this._isMounted = true;\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this._isMounted = false;\n this.abort();\n }\n }, {\n key: \"post\",\n value: function post(_ref3) {\n var _this2 = this;\n\n var data = _ref3.data,\n origin = _ref3.origin,\n action = _ref3.action,\n parsedFile = _ref3.parsedFile;\n\n if (!this._isMounted) {\n return;\n }\n\n var _this$props3 = this.props,\n onStart = _this$props3.onStart,\n customRequest = _this$props3.customRequest,\n name = _this$props3.name,\n headers = _this$props3.headers,\n withCredentials = _this$props3.withCredentials,\n method = _this$props3.method;\n var uid = origin.uid;\n var request = customRequest || defaultRequest;\n var requestOption = {\n action: action,\n filename: name,\n data: data,\n file: parsedFile,\n headers: headers,\n withCredentials: withCredentials,\n method: method || 'post',\n onProgress: function onProgress(e) {\n var onProgress = _this2.props.onProgress;\n onProgress === null || onProgress === void 0 ? void 0 : onProgress(e, parsedFile);\n },\n onSuccess: function onSuccess(ret, xhr) {\n var onSuccess = _this2.props.onSuccess;\n onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(ret, parsedFile, xhr);\n delete _this2.reqs[uid];\n },\n onError: function onError(err, ret) {\n var onError = _this2.props.onError;\n onError === null || onError === void 0 ? void 0 : onError(err, ret, parsedFile);\n delete _this2.reqs[uid];\n }\n };\n onStart(origin);\n this.reqs[uid] = request(requestOption);\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.setState({\n uid: getUid()\n });\n }\n }, {\n key: \"abort\",\n value: function abort(file) {\n var reqs = this.reqs;\n\n if (file) {\n var uid = file.uid ? file.uid : file;\n\n if (reqs[uid] && reqs[uid].abort) {\n reqs[uid].abort();\n }\n\n delete reqs[uid];\n } else {\n Object.keys(reqs).forEach(function (uid) {\n if (reqs[uid] && reqs[uid].abort) {\n reqs[uid].abort();\n }\n\n delete reqs[uid];\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames;\n\n var _this$props4 = this.props,\n Tag = _this$props4.component,\n prefixCls = _this$props4.prefixCls,\n className = _this$props4.className,\n disabled = _this$props4.disabled,\n id = _this$props4.id,\n style = _this$props4.style,\n multiple = _this$props4.multiple,\n accept = _this$props4.accept,\n capture = _this$props4.capture,\n children = _this$props4.children,\n directory = _this$props4.directory,\n openFileDialogOnClick = _this$props4.openFileDialogOnClick,\n onMouseEnter = _this$props4.onMouseEnter,\n onMouseLeave = _this$props4.onMouseLeave,\n otherProps = _objectWithoutProperties(_this$props4, _excluded);\n\n var cls = classNames((_classNames = {}, _defineProperty(_classNames, prefixCls, true), _defineProperty(_classNames, \"\".concat(prefixCls, \"-disabled\"), disabled), _defineProperty(_classNames, className, className), _classNames)); // because input don't have directory/webkitdirectory type declaration\n\n var dirProps = directory ? {\n directory: 'directory',\n webkitdirectory: 'webkitdirectory'\n } : {};\n var events = disabled ? {} : {\n onClick: openFileDialogOnClick ? this.onClick : function () {},\n onKeyDown: openFileDialogOnClick ? this.onKeyDown : function () {},\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onDrop: this.onFileDrop,\n onDragOver: this.onFileDrop,\n tabIndex: '0'\n };\n return /*#__PURE__*/React.createElement(Tag, _extends({}, events, {\n className: cls,\n role: \"button\",\n style: style\n }), /*#__PURE__*/React.createElement(\"input\", _extends({}, pickAttrs(otherProps, {\n aria: true,\n data: true\n }), {\n id: id,\n type: \"file\",\n ref: this.saveFileInput,\n onClick: function onClick(e) {\n return e.stopPropagation();\n } // https://github.com/ant-design/ant-design/issues/19948\n ,\n key: this.state.uid,\n style: {\n display: 'none'\n },\n accept: accept\n }, dirProps, {\n multiple: multiple,\n onChange: this.onChange\n }, capture != null ? {\n capture: capture\n } : {})), children);\n }\n }]);\n\n return AjaxUploader;\n}(Component);\n\nexport default AjaxUploader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\n\n/* eslint react/prop-types:0 */\nimport React, { Component } from 'react';\nimport AjaxUpload from './AjaxUploader';\n\nfunction empty() {}\n\nvar Upload = /*#__PURE__*/function (_Component) {\n _inherits(Upload, _Component);\n\n var _super = _createSuper(Upload);\n\n function Upload() {\n var _this;\n\n _classCallCheck(this, Upload);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.uploader = void 0;\n\n _this.saveUploader = function (node) {\n _this.uploader = node;\n };\n\n return _this;\n }\n\n _createClass(Upload, [{\n key: \"abort\",\n value: function abort(file) {\n this.uploader.abort(file);\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(AjaxUpload, _extends({}, this.props, {\n ref: this.saveUploader\n }));\n }\n }]);\n\n return Upload;\n}(Component);\n\nUpload.defaultProps = {\n component: 'span',\n prefixCls: 'rc-upload',\n data: {},\n headers: {},\n name: 'file',\n multipart: false,\n onStart: empty,\n onError: empty,\n onSuccess: empty,\n multiple: false,\n beforeUpload: null,\n customRequest: null,\n withCredentials: false,\n openFileDialogOnClick: true\n};\nexport default Upload;","import Upload from './Upload';\nexport default Upload;","// This icon file is generated automatically.\nvar FileTwoTone = { \"icon\": function render(primaryColor, secondaryColor) { return { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M534 352V136H232v752h560V394H576a42 42 0 01-42-42z\", \"fill\": secondaryColor } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0042 42h216v494z\", \"fill\": primaryColor } }] }; }, \"name\": \"file\", \"theme\": \"twotone\" };\nexport default FileTwoTone;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport FileTwoToneSvg from \"@ant-design/icons-svg/es/asn/FileTwoTone\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar FileTwoTone = function FileTwoTone(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: FileTwoToneSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n FileTwoTone.displayName = 'FileTwoTone';\n}\nexport default /*#__PURE__*/React.forwardRef(FileTwoTone);","// This icon file is generated automatically.\nvar PaperClipOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M779.3 196.6c-94.2-94.2-247.6-94.2-341.7 0l-261 260.8c-1.7 1.7-2.6 4-2.6 6.4s.9 4.7 2.6 6.4l36.9 36.9a9 9 0 0012.7 0l261-260.8c32.4-32.4 75.5-50.2 121.3-50.2s88.9 17.8 121.2 50.2c32.4 32.4 50.2 75.5 50.2 121.2 0 45.8-17.8 88.8-50.2 121.2l-266 265.9-43.1 43.1c-40.3 40.3-105.8 40.3-146.1 0-19.5-19.5-30.2-45.4-30.2-73s10.7-53.5 30.2-73l263.9-263.8c6.7-6.6 15.5-10.3 24.9-10.3h.1c9.4 0 18.1 3.7 24.7 10.3 6.7 6.7 10.3 15.5 10.3 24.9 0 9.3-3.7 18.1-10.3 24.7L372.4 653c-1.7 1.7-2.6 4-2.6 6.4s.9 4.7 2.6 6.4l36.9 36.9a9 9 0 0012.7 0l215.6-215.6c19.9-19.9 30.8-46.3 30.8-74.4s-11-54.6-30.8-74.4c-41.1-41.1-107.9-41-149 0L463 364 224.8 602.1A172.22 172.22 0 00174 724.8c0 46.3 18.1 89.8 50.8 122.5 33.9 33.8 78.3 50.7 122.7 50.7 44.4 0 88.8-16.9 122.6-50.7l309.2-309C824.8 492.7 850 432 850 367.5c.1-64.6-25.1-125.3-70.7-170.9z\" } }] }, \"name\": \"paper-clip\", \"theme\": \"outlined\" };\nexport default PaperClipOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport PaperClipOutlinedSvg from \"@ant-design/icons-svg/es/asn/PaperClipOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar PaperClipOutlined = function PaperClipOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: PaperClipOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n PaperClipOutlined.displayName = 'PaperClipOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(PaperClipOutlined);","// This icon file is generated automatically.\nvar PictureTwoTone = { \"icon\": function render(primaryColor, secondaryColor) { return { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136v-39.9l138.5-164.3 150.1 178L658.1 489 888 761.6V792zm0-129.8L664.2 396.8c-3.2-3.8-9-3.8-12.2 0L424.6 666.4l-144-170.7c-3.2-3.8-9-3.8-12.2 0L136 652.7V232h752v430.2z\", \"fill\": primaryColor } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M424.6 765.8l-150.1-178L136 752.1V792h752v-30.4L658.1 489z\", \"fill\": secondaryColor } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M136 652.7l132.4-157c3.2-3.8 9-3.8 12.2 0l144 170.7L652 396.8c3.2-3.8 9-3.8 12.2 0L888 662.2V232H136v420.7zM304 280a88 88 0 110 176 88 88 0 010-176z\", \"fill\": secondaryColor } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M276 368a28 28 0 1056 0 28 28 0 10-56 0z\", \"fill\": secondaryColor } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M304 456a88 88 0 100-176 88 88 0 000 176zm0-116c15.5 0 28 12.5 28 28s-12.5 28-28 28-28-12.5-28-28 12.5-28 28-28z\", \"fill\": primaryColor } }] }; }, \"name\": \"picture\", \"theme\": \"twotone\" };\nexport default PictureTwoTone;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport PictureTwoToneSvg from \"@ant-design/icons-svg/es/asn/PictureTwoTone\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar PictureTwoTone = function PictureTwoTone(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: PictureTwoToneSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n PictureTwoTone.displayName = 'PictureTwoTone';\n}\nexport default /*#__PURE__*/React.forwardRef(PictureTwoTone);","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nexport function file2Obj(file) {\n return Object.assign(Object.assign({}, file), {\n lastModified: file.lastModified,\n lastModifiedDate: file.lastModifiedDate,\n name: file.name,\n size: file.size,\n type: file.type,\n uid: file.uid,\n percent: 0,\n originFileObj: file\n });\n}\n/** Upload fileList. Replace file if exist or just push into it. */\nexport function updateFileList(file, fileList) {\n const nextFileList = _toConsumableArray(fileList);\n const fileIndex = nextFileList.findIndex(_ref => {\n let {\n uid\n } = _ref;\n return uid === file.uid;\n });\n if (fileIndex === -1) {\n nextFileList.push(file);\n } else {\n nextFileList[fileIndex] = file;\n }\n return nextFileList;\n}\nexport function getFileItem(file, fileList) {\n const matchKey = file.uid !== undefined ? 'uid' : 'name';\n return fileList.filter(item => item[matchKey] === file[matchKey])[0];\n}\nexport function removeFileItem(file, fileList) {\n const matchKey = file.uid !== undefined ? 'uid' : 'name';\n const removed = fileList.filter(item => item[matchKey] !== file[matchKey]);\n if (removed.length === fileList.length) {\n return null;\n }\n return removed;\n}\n// ==================== Default Image Preview ====================\nconst extname = function () {\n let url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n const temp = url.split('/');\n const filename = temp[temp.length - 1];\n const filenameWithoutSuffix = filename.split(/#|\\?/)[0];\n return (/\\.[^./\\\\]*$/.exec(filenameWithoutSuffix) || [''])[0];\n};\nconst isImageFileType = type => type.indexOf('image/') === 0;\nexport const isImageUrl = file => {\n if (file.type && !file.thumbUrl) {\n return isImageFileType(file.type);\n }\n const url = file.thumbUrl || file.url || '';\n const extension = extname(url);\n if (/^data:image\\//.test(url) || /(webp|svg|png|gif|jpg|jpeg|jfif|bmp|dpg|ico|heic|heif)$/i.test(extension)) {\n return true;\n }\n if (/^data:/.test(url)) {\n // other file types of base64\n return false;\n }\n if (extension) {\n // other file types which have extension\n return false;\n }\n return true;\n};\nconst MEASURE_SIZE = 200;\nexport function previewImage(file) {\n return new Promise(resolve => {\n if (!file.type || !isImageFileType(file.type)) {\n resolve('');\n return;\n }\n const canvas = document.createElement('canvas');\n canvas.width = MEASURE_SIZE;\n canvas.height = MEASURE_SIZE;\n canvas.style.cssText = `position: fixed; left: 0; top: 0; width: ${MEASURE_SIZE}px; height: ${MEASURE_SIZE}px; z-index: 9999; display: none;`;\n document.body.appendChild(canvas);\n const ctx = canvas.getContext('2d');\n const img = new Image();\n img.onload = () => {\n const {\n width,\n height\n } = img;\n let drawWidth = MEASURE_SIZE;\n let drawHeight = MEASURE_SIZE;\n let offsetX = 0;\n let offsetY = 0;\n if (width > height) {\n drawHeight = height * (MEASURE_SIZE / width);\n offsetY = -(drawHeight - drawWidth) / 2;\n } else {\n drawWidth = width * (MEASURE_SIZE / height);\n offsetX = -(drawWidth - drawHeight) / 2;\n }\n ctx.drawImage(img, offsetX, offsetY, drawWidth, drawHeight);\n const dataURL = canvas.toDataURL();\n document.body.removeChild(canvas);\n window.URL.revokeObjectURL(img.src);\n resolve(dataURL);\n };\n img.crossOrigin = 'anonymous';\n if (file.type.startsWith('image/svg+xml')) {\n const reader = new FileReader();\n reader.onload = () => {\n if (reader.result) img.src = reader.result;\n };\n reader.readAsDataURL(file);\n } else if (file.type.startsWith('image/gif')) {\n const reader = new FileReader();\n reader.onload = () => {\n if (reader.result) resolve(reader.result);\n };\n reader.readAsDataURL(file);\n } else {\n img.src = window.URL.createObjectURL(file);\n }\n });\n}","// This icon file is generated automatically.\nvar DownloadOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M505.7 661a8 8 0 0012.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z\" } }] }, \"name\": \"download\", \"theme\": \"outlined\" };\nexport default DownloadOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport DownloadOutlinedSvg from \"@ant-design/icons-svg/es/asn/DownloadOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar DownloadOutlined = function DownloadOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: DownloadOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n DownloadOutlined.displayName = 'DownloadOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(DownloadOutlined);","import DeleteOutlined from \"@ant-design/icons/es/icons/DeleteOutlined\";\nimport DownloadOutlined from \"@ant-design/icons/es/icons/DownloadOutlined\";\nimport EyeOutlined from \"@ant-design/icons/es/icons/EyeOutlined\";\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport * as React from 'react';\nimport { ConfigContext } from '../../config-provider';\nimport Progress from '../../progress';\nimport Tooltip from '../../tooltip';\nconst ListItem = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n let {\n prefixCls,\n className,\n style,\n locale,\n listType,\n file,\n items,\n progress: progressProps,\n iconRender,\n actionIconRender,\n itemRender,\n isImgUrl,\n showPreviewIcon,\n showRemoveIcon,\n showDownloadIcon,\n previewIcon: customPreviewIcon,\n removeIcon: customRemoveIcon,\n downloadIcon: customDownloadIcon,\n onPreview,\n onDownload,\n onClose\n } = _ref;\n var _a, _b;\n // Status: which will ignore `removed` status\n const {\n status\n } = file;\n const [mergedStatus, setMergedStatus] = React.useState(status);\n React.useEffect(() => {\n if (status !== 'removed') {\n setMergedStatus(status);\n }\n }, [status]);\n // Delay to show the progress bar\n const [showProgress, setShowProgress] = React.useState(false);\n React.useEffect(() => {\n const timer = setTimeout(() => {\n setShowProgress(true);\n }, 300);\n return () => {\n clearTimeout(timer);\n };\n }, []);\n const iconNode = iconRender(file);\n let icon = /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-icon`\n }, iconNode);\n if (listType === 'picture' || listType === 'picture-card' || listType === 'picture-circle') {\n if (mergedStatus === 'uploading' || !file.thumbUrl && !file.url) {\n const uploadingClassName = classNames(`${prefixCls}-list-item-thumbnail`, {\n [`${prefixCls}-list-item-file`]: mergedStatus !== 'uploading'\n });\n icon = /*#__PURE__*/React.createElement(\"div\", {\n className: uploadingClassName\n }, iconNode);\n } else {\n const thumbnail = (isImgUrl === null || isImgUrl === void 0 ? void 0 : isImgUrl(file)) ? /*#__PURE__*/React.createElement(\"img\", {\n src: file.thumbUrl || file.url,\n alt: file.name,\n className: `${prefixCls}-list-item-image`,\n crossOrigin: file.crossOrigin\n }) : iconNode;\n const aClassName = classNames(`${prefixCls}-list-item-thumbnail`, {\n [`${prefixCls}-list-item-file`]: isImgUrl && !isImgUrl(file)\n });\n icon = /*#__PURE__*/React.createElement(\"a\", {\n className: aClassName,\n onClick: e => onPreview(file, e),\n href: file.url || file.thumbUrl,\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }, thumbnail);\n }\n }\n const listItemClassName = classNames(`${prefixCls}-list-item`, `${prefixCls}-list-item-${mergedStatus}`);\n const linkProps = typeof file.linkProps === 'string' ? JSON.parse(file.linkProps) : file.linkProps;\n const removeIcon = showRemoveIcon ? actionIconRender((typeof customRemoveIcon === 'function' ? customRemoveIcon(file) : customRemoveIcon) || /*#__PURE__*/React.createElement(DeleteOutlined, null), () => onClose(file), prefixCls, locale.removeFile) : null;\n const downloadIcon = showDownloadIcon && mergedStatus === 'done' ? actionIconRender((typeof customDownloadIcon === 'function' ? customDownloadIcon(file) : customDownloadIcon) || /*#__PURE__*/React.createElement(DownloadOutlined, null), () => onDownload(file), prefixCls, locale.downloadFile) : null;\n const downloadOrDelete = listType !== 'picture-card' && listType !== 'picture-circle' && /*#__PURE__*/React.createElement(\"span\", {\n key: \"download-delete\",\n className: classNames(`${prefixCls}-list-item-actions`, {\n picture: listType === 'picture'\n })\n }, downloadIcon, removeIcon);\n const listItemNameClass = classNames(`${prefixCls}-list-item-name`);\n const fileName = file.url ? [/*#__PURE__*/React.createElement(\"a\", Object.assign({\n key: \"view\",\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n className: listItemNameClass,\n title: file.name\n }, linkProps, {\n href: file.url,\n onClick: e => onPreview(file, e)\n }), file.name), downloadOrDelete] : [/*#__PURE__*/React.createElement(\"span\", {\n key: \"view\",\n className: listItemNameClass,\n onClick: e => onPreview(file, e),\n title: file.name\n }, file.name), downloadOrDelete];\n const previewStyle = {\n pointerEvents: 'none',\n opacity: 0.5\n };\n const previewIcon = showPreviewIcon ? /*#__PURE__*/React.createElement(\"a\", {\n href: file.url || file.thumbUrl,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n style: file.url || file.thumbUrl ? undefined : previewStyle,\n onClick: e => onPreview(file, e),\n title: locale.previewFile\n }, typeof customPreviewIcon === 'function' ? customPreviewIcon(file) : customPreviewIcon || /*#__PURE__*/React.createElement(EyeOutlined, null)) : null;\n const pictureCardActions = (listType === 'picture-card' || listType === 'picture-circle') && mergedStatus !== 'uploading' && /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-list-item-actions`\n }, previewIcon, mergedStatus === 'done' && downloadIcon, removeIcon);\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const rootPrefixCls = getPrefixCls();\n const dom = /*#__PURE__*/React.createElement(\"div\", {\n className: listItemClassName\n }, icon, fileName, pictureCardActions, showProgress && /*#__PURE__*/React.createElement(CSSMotion, {\n motionName: `${rootPrefixCls}-fade`,\n visible: mergedStatus === 'uploading',\n motionDeadline: 2000\n }, _ref2 => {\n let {\n className: motionClassName\n } = _ref2;\n // show loading icon if upload progress listener is disabled\n const loadingProgress = 'percent' in file ? /*#__PURE__*/React.createElement(Progress, Object.assign({}, progressProps, {\n type: \"line\",\n percent: file.percent,\n \"aria-label\": file['aria-label'],\n \"aria-labelledby\": file['aria-labelledby']\n })) : null;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(`${prefixCls}-list-item-progress`, motionClassName)\n }, loadingProgress);\n }));\n const message = file.response && typeof file.response === 'string' ? file.response : ((_a = file.error) === null || _a === void 0 ? void 0 : _a.statusText) || ((_b = file.error) === null || _b === void 0 ? void 0 : _b.message) || locale.uploadError;\n const item = mergedStatus === 'error' ? /*#__PURE__*/React.createElement(Tooltip, {\n title: message,\n getPopupContainer: node => node.parentNode\n }, dom) : dom;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(`${prefixCls}-list-item-container`, className),\n style: style,\n ref: ref\n }, itemRender ? itemRender(item, file, items, {\n download: onDownload.bind(null, file),\n preview: onPreview.bind(null, file),\n remove: onClose.bind(null, file)\n }) : item);\n});\nexport default ListItem;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport FileTwoTone from \"@ant-design/icons/es/icons/FileTwoTone\";\nimport LoadingOutlined from \"@ant-design/icons/es/icons/LoadingOutlined\";\nimport PaperClipOutlined from \"@ant-design/icons/es/icons/PaperClipOutlined\";\nimport PictureTwoTone from \"@ant-design/icons/es/icons/PictureTwoTone\";\nimport classNames from 'classnames';\nimport CSSMotion, { CSSMotionList } from 'rc-motion';\nimport * as React from 'react';\nimport useForceUpdate from '../../_util/hooks/useForceUpdate';\nimport initCollapseMotion from '../../_util/motion';\nimport { cloneElement, isValidElement } from '../../_util/reactNode';\nimport Button from '../../button';\nimport { ConfigContext } from '../../config-provider';\nimport { isImageUrl, previewImage } from '../utils';\nimport ListItem from './ListItem';\nconst InternalUploadList = (props, ref) => {\n const {\n listType = 'text',\n previewFile = previewImage,\n onPreview,\n onDownload,\n onRemove,\n locale,\n iconRender,\n isImageUrl: isImgUrl = isImageUrl,\n prefixCls: customizePrefixCls,\n items = [],\n showPreviewIcon = true,\n showRemoveIcon = true,\n showDownloadIcon = false,\n removeIcon,\n previewIcon,\n downloadIcon,\n progress = {\n size: [-1, 2],\n showInfo: false\n },\n appendAction,\n appendActionVisible = true,\n itemRender,\n disabled\n } = props;\n const forceUpdate = useForceUpdate();\n const [motionAppear, setMotionAppear] = React.useState(false);\n // ============================= Effect =============================\n React.useEffect(() => {\n if (listType !== 'picture' && listType !== 'picture-card' && listType !== 'picture-circle') {\n return;\n }\n (items || []).forEach(file => {\n if (typeof document === 'undefined' || typeof window === 'undefined' || !window.FileReader || !window.File || !(file.originFileObj instanceof File || file.originFileObj instanceof Blob) || file.thumbUrl !== undefined) {\n return;\n }\n file.thumbUrl = '';\n if (previewFile) {\n previewFile(file.originFileObj).then(previewDataUrl => {\n // Need append '' to avoid dead loop\n file.thumbUrl = previewDataUrl || '';\n forceUpdate();\n });\n }\n });\n }, [listType, items, previewFile]);\n React.useEffect(() => {\n setMotionAppear(true);\n }, []);\n // ============================= Events =============================\n const onInternalPreview = (file, e) => {\n if (!onPreview) {\n return;\n }\n e === null || e === void 0 ? void 0 : e.preventDefault();\n return onPreview(file);\n };\n const onInternalDownload = file => {\n if (typeof onDownload === 'function') {\n onDownload(file);\n } else if (file.url) {\n window.open(file.url);\n }\n };\n const onInternalClose = file => {\n onRemove === null || onRemove === void 0 ? void 0 : onRemove(file);\n };\n const internalIconRender = file => {\n if (iconRender) {\n return iconRender(file, listType);\n }\n const isLoading = file.status === 'uploading';\n const fileIcon = isImgUrl && isImgUrl(file) ? /*#__PURE__*/React.createElement(PictureTwoTone, null) : /*#__PURE__*/React.createElement(FileTwoTone, null);\n let icon = isLoading ? /*#__PURE__*/React.createElement(LoadingOutlined, null) : /*#__PURE__*/React.createElement(PaperClipOutlined, null);\n if (listType === 'picture') {\n icon = isLoading ? /*#__PURE__*/React.createElement(LoadingOutlined, null) : fileIcon;\n } else if (listType === 'picture-card' || listType === 'picture-circle') {\n icon = isLoading ? locale.uploading : fileIcon;\n }\n return icon;\n };\n const actionIconRender = (customIcon, callback, prefixCls, title) => {\n const btnProps = {\n type: 'text',\n size: 'small',\n title,\n onClick: e => {\n callback();\n if (isValidElement(customIcon) && customIcon.props.onClick) {\n customIcon.props.onClick(e);\n }\n },\n className: `${prefixCls}-list-item-action`,\n disabled\n };\n if (isValidElement(customIcon)) {\n const btnIcon = cloneElement(customIcon, Object.assign(Object.assign({}, customIcon.props), {\n onClick: () => {}\n }));\n return /*#__PURE__*/React.createElement(Button, Object.assign({}, btnProps, {\n icon: btnIcon\n }));\n }\n return /*#__PURE__*/React.createElement(Button, Object.assign({}, btnProps), /*#__PURE__*/React.createElement(\"span\", null, customIcon));\n };\n // ============================== Ref ===============================\n // Test needs\n React.useImperativeHandle(ref, () => ({\n handlePreview: onInternalPreview,\n handleDownload: onInternalDownload\n }));\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n // ============================= Render =============================\n const prefixCls = getPrefixCls('upload', customizePrefixCls);\n const rootPrefixCls = getPrefixCls();\n const listClassNames = classNames(`${prefixCls}-list`, `${prefixCls}-list-${listType}`);\n // >>> Motion config\n const motionKeyList = _toConsumableArray(items.map(file => ({\n key: file.uid,\n file\n })));\n const animationDirection = listType === 'picture-card' || listType === 'picture-circle' ? 'animate-inline' : 'animate';\n // const transitionName = list.length === 0 ? '' : `${prefixCls}-${animationDirection}`;\n let motionConfig = {\n motionDeadline: 2000,\n motionName: `${prefixCls}-${animationDirection}`,\n keys: motionKeyList,\n motionAppear\n };\n const listItemMotion = React.useMemo(() => {\n const motion = Object.assign({}, initCollapseMotion(rootPrefixCls));\n delete motion.onAppearEnd;\n delete motion.onEnterEnd;\n delete motion.onLeaveEnd;\n return motion;\n }, [rootPrefixCls]);\n if (listType !== 'picture-card' && listType !== 'picture-circle') {\n motionConfig = Object.assign(Object.assign({}, listItemMotion), motionConfig);\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: listClassNames\n }, /*#__PURE__*/React.createElement(CSSMotionList, Object.assign({}, motionConfig, {\n component: false\n }), _ref => {\n let {\n key,\n file,\n className: motionClassName,\n style: motionStyle\n } = _ref;\n return /*#__PURE__*/React.createElement(ListItem, {\n key: key,\n locale: locale,\n prefixCls: prefixCls,\n className: motionClassName,\n style: motionStyle,\n file: file,\n items: items,\n progress: progress,\n listType: listType,\n isImgUrl: isImgUrl,\n showPreviewIcon: showPreviewIcon,\n showRemoveIcon: showRemoveIcon,\n showDownloadIcon: showDownloadIcon,\n removeIcon: removeIcon,\n previewIcon: previewIcon,\n downloadIcon: downloadIcon,\n iconRender: internalIconRender,\n actionIconRender: actionIconRender,\n itemRender: itemRender,\n onPreview: onInternalPreview,\n onDownload: onInternalDownload,\n onClose: onInternalClose\n });\n }), appendAction && /*#__PURE__*/React.createElement(CSSMotion, Object.assign({}, motionConfig, {\n visible: appendActionVisible,\n forceRender: true\n }), _ref2 => {\n let {\n className: motionClassName,\n style: motionStyle\n } = _ref2;\n return cloneElement(appendAction, oriProps => ({\n className: classNames(oriProps.className, motionClassName),\n style: Object.assign(Object.assign(Object.assign({}, motionStyle), {\n // prevent the element has hover css pseudo-class that may cause animation to end prematurely.\n pointerEvents: motionClassName ? 'none' : undefined\n }), oriProps.style)\n }));\n }));\n};\nconst UploadList = /*#__PURE__*/React.forwardRef(InternalUploadList);\nif (process.env.NODE_ENV !== 'production') {\n UploadList.displayName = 'UploadList';\n}\nexport default UploadList;","const genDraggerStyle = token => {\n const {\n componentCls,\n iconCls\n } = token;\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-drag`]: {\n position: 'relative',\n width: '100%',\n height: '100%',\n textAlign: 'center',\n background: token.colorFillAlter,\n border: `${token.lineWidth}px dashed ${token.colorBorder}`,\n borderRadius: token.borderRadiusLG,\n cursor: 'pointer',\n transition: `border-color ${token.motionDurationSlow}`,\n [componentCls]: {\n padding: `${token.padding}px 0`\n },\n [`${componentCls}-btn`]: {\n display: 'table',\n width: '100%',\n height: '100%',\n outline: 'none'\n },\n [`${componentCls}-drag-container`]: {\n display: 'table-cell',\n verticalAlign: 'middle'\n },\n [`&:not(${componentCls}-disabled):hover`]: {\n borderColor: token.colorPrimaryHover\n },\n [`p${componentCls}-drag-icon`]: {\n marginBottom: token.margin,\n [iconCls]: {\n color: token.colorPrimary,\n fontSize: token.uploadThumbnailSize\n }\n },\n [`p${componentCls}-text`]: {\n margin: `0 0 ${token.marginXXS}px`,\n color: token.colorTextHeading,\n fontSize: token.fontSizeLG\n },\n [`p${componentCls}-hint`]: {\n color: token.colorTextDescription,\n fontSize: token.fontSize\n },\n // ===================== Disabled =====================\n [`&${componentCls}-disabled`]: {\n cursor: 'not-allowed',\n [`p${componentCls}-drag-icon ${iconCls},\n p${componentCls}-text,\n p${componentCls}-hint\n `]: {\n color: token.colorTextDisabled\n }\n }\n }\n }\n };\n};\nexport default genDraggerStyle;","import { clearFix, textEllipsis } from '../../style';\nconst genListStyle = token => {\n const {\n componentCls,\n antCls,\n iconCls,\n fontSize,\n lineHeight\n } = token;\n const itemCls = `${componentCls}-list-item`;\n const actionsCls = `${itemCls}-actions`;\n const actionCls = `${itemCls}-action`;\n const listItemHeightSM = Math.round(fontSize * lineHeight);\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-list`]: Object.assign(Object.assign({}, clearFix()), {\n lineHeight: token.lineHeight,\n [itemCls]: {\n position: 'relative',\n height: token.lineHeight * fontSize,\n marginTop: token.marginXS,\n fontSize,\n display: 'flex',\n alignItems: 'center',\n transition: `background-color ${token.motionDurationSlow}`,\n '&:hover': {\n backgroundColor: token.controlItemBgHover\n },\n [`${itemCls}-name`]: Object.assign(Object.assign({}, textEllipsis), {\n padding: `0 ${token.paddingXS}px`,\n lineHeight,\n flex: 'auto',\n transition: `all ${token.motionDurationSlow}`\n }),\n [actionsCls]: {\n [actionCls]: {\n opacity: 0\n },\n [`${actionCls}${antCls}-btn-sm`]: {\n height: listItemHeightSM,\n border: 0,\n lineHeight: 1,\n // FIXME: should not override small button\n '> span': {\n transform: 'scale(1)'\n }\n },\n [`\n ${actionCls}:focus,\n &.picture ${actionCls}\n `]: {\n opacity: 1\n },\n [iconCls]: {\n color: token.actionsColor,\n transition: `all ${token.motionDurationSlow}`\n },\n [`&:hover ${iconCls}`]: {\n color: token.colorText\n }\n },\n [`${componentCls}-icon ${iconCls}`]: {\n color: token.colorTextDescription,\n fontSize\n },\n [`${itemCls}-progress`]: {\n position: 'absolute',\n bottom: -token.uploadProgressOffset,\n width: '100%',\n paddingInlineStart: fontSize + token.paddingXS,\n fontSize,\n lineHeight: 0,\n pointerEvents: 'none',\n '> div': {\n margin: 0\n }\n }\n },\n [`${itemCls}:hover ${actionCls}`]: {\n opacity: 1,\n color: token.colorText\n },\n [`${itemCls}-error`]: {\n color: token.colorError,\n [`${itemCls}-name, ${componentCls}-icon ${iconCls}`]: {\n color: token.colorError\n },\n [actionsCls]: {\n [`${iconCls}, ${iconCls}:hover`]: {\n color: token.colorError\n },\n [actionCls]: {\n opacity: 1\n }\n }\n },\n [`${componentCls}-list-item-container`]: {\n transition: `opacity ${token.motionDurationSlow}, height ${token.motionDurationSlow}`,\n // For smooth removing animation\n '&::before': {\n display: 'table',\n width: 0,\n height: 0,\n content: '\"\"'\n }\n }\n })\n }\n };\n};\nexport default genListStyle;","import { Keyframes } from '@ant-design/cssinjs';\nimport { initFadeMotion } from '../../style/motion';\nconst uploadAnimateInlineIn = new Keyframes('uploadAnimateInlineIn', {\n from: {\n width: 0,\n height: 0,\n margin: 0,\n padding: 0,\n opacity: 0\n }\n});\nconst uploadAnimateInlineOut = new Keyframes('uploadAnimateInlineOut', {\n to: {\n width: 0,\n height: 0,\n margin: 0,\n padding: 0,\n opacity: 0\n }\n});\n// =========================== Motion ===========================\nconst genMotionStyle = token => {\n const {\n componentCls\n } = token;\n const inlineCls = `${componentCls}-animate-inline`;\n return [{\n [`${componentCls}-wrapper`]: {\n [`${inlineCls}-appear, ${inlineCls}-enter, ${inlineCls}-leave`]: {\n animationDuration: token.motionDurationSlow,\n animationTimingFunction: token.motionEaseInOutCirc,\n animationFillMode: 'forwards'\n },\n [`${inlineCls}-appear, ${inlineCls}-enter`]: {\n animationName: uploadAnimateInlineIn\n },\n [`${inlineCls}-leave`]: {\n animationName: uploadAnimateInlineOut\n }\n }\n }, {\n [`${componentCls}-wrapper`]: initFadeMotion(token)\n }, uploadAnimateInlineIn, uploadAnimateInlineOut];\n};\nexport default genMotionStyle;","import { blue } from '@ant-design/colors';\nimport { TinyColor } from '@ctrl/tinycolor';\nimport { clearFix, textEllipsis } from '../../style';\nconst genPictureStyle = token => {\n const {\n componentCls,\n iconCls,\n uploadThumbnailSize,\n uploadProgressOffset\n } = token;\n const listCls = `${componentCls}-list`;\n const itemCls = `${listCls}-item`;\n return {\n [`${componentCls}-wrapper`]: {\n // ${listCls} 增加优先级\n [`\n ${listCls}${listCls}-picture,\n ${listCls}${listCls}-picture-card,\n ${listCls}${listCls}-picture-circle\n `]: {\n [itemCls]: {\n position: 'relative',\n height: uploadThumbnailSize + token.lineWidth * 2 + token.paddingXS * 2,\n padding: token.paddingXS,\n border: `${token.lineWidth}px ${token.lineType} ${token.colorBorder}`,\n borderRadius: token.borderRadiusLG,\n '&:hover': {\n background: 'transparent'\n },\n [`${itemCls}-thumbnail`]: Object.assign(Object.assign({}, textEllipsis), {\n width: uploadThumbnailSize,\n height: uploadThumbnailSize,\n lineHeight: `${uploadThumbnailSize + token.paddingSM}px`,\n textAlign: 'center',\n flex: 'none',\n [iconCls]: {\n fontSize: token.fontSizeHeading2,\n color: token.colorPrimary\n },\n img: {\n display: 'block',\n width: '100%',\n height: '100%',\n overflow: 'hidden'\n }\n }),\n [`${itemCls}-progress`]: {\n bottom: uploadProgressOffset,\n width: `calc(100% - ${token.paddingSM * 2}px)`,\n marginTop: 0,\n paddingInlineStart: uploadThumbnailSize + token.paddingXS\n }\n },\n [`${itemCls}-error`]: {\n borderColor: token.colorError,\n // Adjust the color of the error icon : https://github.com/ant-design/ant-design/pull/24160\n [`${itemCls}-thumbnail ${iconCls}`]: {\n [`svg path[fill='${blue[0]}']`]: {\n fill: token.colorErrorBg\n },\n [`svg path[fill='${blue.primary}']`]: {\n fill: token.colorError\n }\n }\n },\n [`${itemCls}-uploading`]: {\n borderStyle: 'dashed',\n [`${itemCls}-name`]: {\n marginBottom: uploadProgressOffset\n }\n }\n },\n [`${listCls}${listCls}-picture-circle ${itemCls}`]: {\n [`&, &::before, ${itemCls}-thumbnail`]: {\n borderRadius: '50%'\n }\n }\n }\n };\n};\nconst genPictureCardStyle = token => {\n const {\n componentCls,\n iconCls,\n fontSizeLG,\n colorTextLightSolid\n } = token;\n const listCls = `${componentCls}-list`;\n const itemCls = `${listCls}-item`;\n const uploadPictureCardSize = token.uploadPicCardSize;\n return {\n [`\n ${componentCls}-wrapper${componentCls}-picture-card-wrapper,\n ${componentCls}-wrapper${componentCls}-picture-circle-wrapper\n `]: Object.assign(Object.assign({}, clearFix()), {\n display: 'inline-block',\n width: '100%',\n [`${componentCls}${componentCls}-select`]: {\n width: uploadPictureCardSize,\n height: uploadPictureCardSize,\n marginInlineEnd: token.marginXS,\n marginBottom: token.marginXS,\n textAlign: 'center',\n verticalAlign: 'top',\n backgroundColor: token.colorFillAlter,\n border: `${token.lineWidth}px dashed ${token.colorBorder}`,\n borderRadius: token.borderRadiusLG,\n cursor: 'pointer',\n transition: `border-color ${token.motionDurationSlow}`,\n [`> ${componentCls}`]: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: '100%',\n textAlign: 'center'\n },\n [`&:not(${componentCls}-disabled):hover`]: {\n borderColor: token.colorPrimary\n }\n },\n // list\n [`${listCls}${listCls}-picture-card, ${listCls}${listCls}-picture-circle`]: {\n [`${listCls}-item-container`]: {\n display: 'inline-block',\n width: uploadPictureCardSize,\n height: uploadPictureCardSize,\n marginBlock: `0 ${token.marginXS}px`,\n marginInline: `0 ${token.marginXS}px`,\n verticalAlign: 'top'\n },\n '&::after': {\n display: 'none'\n },\n [itemCls]: {\n height: '100%',\n margin: 0,\n '&::before': {\n position: 'absolute',\n zIndex: 1,\n width: `calc(100% - ${token.paddingXS * 2}px)`,\n height: `calc(100% - ${token.paddingXS * 2}px)`,\n backgroundColor: token.colorBgMask,\n opacity: 0,\n transition: `all ${token.motionDurationSlow}`,\n content: '\" \"'\n }\n },\n [`${itemCls}:hover`]: {\n [`&::before, ${itemCls}-actions`]: {\n opacity: 1\n }\n },\n [`${itemCls}-actions`]: {\n position: 'absolute',\n insetInlineStart: 0,\n zIndex: 10,\n width: '100%',\n whiteSpace: 'nowrap',\n textAlign: 'center',\n opacity: 0,\n transition: `all ${token.motionDurationSlow}`,\n [`${iconCls}-eye, ${iconCls}-download, ${iconCls}-delete`]: {\n zIndex: 10,\n width: fontSizeLG,\n margin: `0 ${token.marginXXS}px`,\n fontSize: fontSizeLG,\n cursor: 'pointer',\n transition: `all ${token.motionDurationSlow}`,\n svg: {\n verticalAlign: 'baseline'\n }\n }\n },\n [`${itemCls}-actions, ${itemCls}-actions:hover`]: {\n [`${iconCls}-eye, ${iconCls}-download, ${iconCls}-delete`]: {\n color: new TinyColor(colorTextLightSolid).setAlpha(0.65).toRgbString(),\n '&:hover': {\n color: colorTextLightSolid\n }\n }\n },\n [`${itemCls}-thumbnail, ${itemCls}-thumbnail img`]: {\n position: 'static',\n display: 'block',\n width: '100%',\n height: '100%',\n objectFit: 'contain'\n },\n [`${itemCls}-name`]: {\n display: 'none',\n textAlign: 'center'\n },\n [`${itemCls}-file + ${itemCls}-name`]: {\n position: 'absolute',\n bottom: token.margin,\n display: 'block',\n width: `calc(100% - ${token.paddingXS * 2}px)`\n },\n [`${itemCls}-uploading`]: {\n [`&${itemCls}`]: {\n backgroundColor: token.colorFillAlter\n },\n [`&::before, ${iconCls}-eye, ${iconCls}-download, ${iconCls}-delete`]: {\n display: 'none'\n }\n },\n [`${itemCls}-progress`]: {\n bottom: token.marginXL,\n width: `calc(100% - ${token.paddingXS * 2}px)`,\n paddingInlineStart: 0\n }\n }\n }),\n [`${componentCls}-wrapper${componentCls}-picture-circle-wrapper`]: {\n [`${componentCls}${componentCls}-select`]: {\n borderRadius: '50%'\n }\n }\n };\n};\nexport { genPictureStyle, genPictureCardStyle };","// =========================== Motion ===========================\nconst genRtlStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-rtl`]: {\n direction: 'rtl'\n }\n };\n};\nexport default genRtlStyle;","import { resetComponent } from '../../style';\nimport { genCollapseMotion } from '../../style/motion';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport genDraggerStyle from './dragger';\nimport genListStyle from './list';\nimport genMotionStyle from './motion';\nimport { genPictureCardStyle, genPictureStyle } from './picture';\nimport genRtlStyle from './rtl';\nconst genBaseStyle = token => {\n const {\n componentCls,\n colorTextDisabled\n } = token;\n return {\n [`${componentCls}-wrapper`]: Object.assign(Object.assign({}, resetComponent(token)), {\n [componentCls]: {\n outline: 0,\n \"input[type='file']\": {\n cursor: 'pointer'\n }\n },\n [`${componentCls}-select`]: {\n display: 'inline-block'\n },\n [`${componentCls}-disabled`]: {\n color: colorTextDisabled,\n cursor: 'not-allowed'\n }\n })\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Upload', token => {\n const {\n fontSizeHeading3,\n fontSize,\n lineHeight,\n lineWidth,\n controlHeightLG\n } = token;\n const listItemHeightSM = Math.round(fontSize * lineHeight);\n const uploadToken = mergeToken(token, {\n uploadThumbnailSize: fontSizeHeading3 * 2,\n uploadProgressOffset: listItemHeightSM / 2 + lineWidth,\n uploadPicCardSize: controlHeightLG * 2.55\n });\n return [genBaseStyle(uploadToken), genDraggerStyle(uploadToken), genPictureStyle(uploadToken), genPictureCardStyle(uploadToken), genListStyle(uploadToken), genMotionStyle(uploadToken), genRtlStyle(uploadToken), genCollapseMotion(uploadToken)];\n}, token => ({\n actionsColor: token.colorTextDescription\n}));","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nvar __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport classNames from 'classnames';\nimport RcUpload from 'rc-upload';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport * as React from 'react';\nimport { flushSync } from 'react-dom';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport { useLocale } from '../locale';\nimport defaultLocale from '../locale/en_US';\nimport UploadList from './UploadList';\nimport useStyle from './style';\nimport { file2Obj, getFileItem, removeFileItem, updateFileList } from './utils';\nexport const LIST_IGNORE = `__LIST_IGNORE_${Date.now()}__`;\nconst InternalUpload = (props, ref) => {\n const {\n fileList,\n defaultFileList,\n onRemove,\n showUploadList = true,\n listType = 'text',\n onPreview,\n onDownload,\n onChange,\n onDrop,\n previewFile,\n disabled: customDisabled,\n locale: propLocale,\n iconRender,\n isImageUrl,\n progress,\n prefixCls: customizePrefixCls,\n className,\n type = 'select',\n children,\n style,\n itemRender,\n maxCount,\n data = {},\n multiple = false,\n action = '',\n accept = '',\n supportServerRender = true\n } = props;\n // ===================== Disabled =====================\n const disabled = React.useContext(DisabledContext);\n const mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;\n const [mergedFileList, setMergedFileList] = useMergedState(defaultFileList || [], {\n value: fileList,\n postState: list => list !== null && list !== void 0 ? list : []\n });\n const [dragState, setDragState] = React.useState('drop');\n const upload = React.useRef(null);\n process.env.NODE_ENV !== \"production\" ? warning('fileList' in props || !('value' in props), 'Upload', '`value` is not a valid prop, do you mean `fileList`?') : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!('transformFile' in props), 'Upload', '`transformFile` is deprecated. Please use `beforeUpload` directly.') : void 0;\n // Control mode will auto fill file uid if not provided\n React.useMemo(() => {\n const timestamp = Date.now();\n (fileList || []).forEach((file, index) => {\n if (!file.uid && !Object.isFrozen(file)) {\n file.uid = `__AUTO__${timestamp}_${index}__`;\n }\n });\n }, [fileList]);\n const onInternalChange = (file, changedFileList, event) => {\n let cloneList = _toConsumableArray(changedFileList);\n let exceedMaxCount = false;\n // Cut to match count\n if (maxCount === 1) {\n cloneList = cloneList.slice(-1);\n } else if (maxCount) {\n exceedMaxCount = cloneList.length > maxCount;\n cloneList = cloneList.slice(0, maxCount);\n }\n // Prevent React18 auto batch since input[upload] trigger process at same time\n // which makes fileList closure problem\n flushSync(() => {\n setMergedFileList(cloneList);\n });\n const changeInfo = {\n file: file,\n fileList: cloneList\n };\n if (event) {\n changeInfo.event = event;\n }\n if (!exceedMaxCount ||\n // We should ignore event if current file is exceed `maxCount`\n cloneList.some(f => f.uid === file.uid)) {\n flushSync(() => {\n onChange === null || onChange === void 0 ? void 0 : onChange(changeInfo);\n });\n }\n };\n const mergedBeforeUpload = (file, fileListArgs) => __awaiter(void 0, void 0, void 0, function* () {\n const {\n beforeUpload,\n transformFile\n } = props;\n let parsedFile = file;\n if (beforeUpload) {\n const result = yield beforeUpload(file, fileListArgs);\n if (result === false) {\n return false;\n }\n // Hack for LIST_IGNORE, we add additional info to remove from the list\n delete file[LIST_IGNORE];\n if (result === LIST_IGNORE) {\n Object.defineProperty(file, LIST_IGNORE, {\n value: true,\n configurable: true\n });\n return false;\n }\n if (typeof result === 'object' && result) {\n parsedFile = result;\n }\n }\n if (transformFile) {\n parsedFile = yield transformFile(parsedFile);\n }\n return parsedFile;\n });\n const onBatchStart = batchFileInfoList => {\n // Skip file which marked as `LIST_IGNORE`, these file will not add to file list\n const filteredFileInfoList = batchFileInfoList.filter(info => !info.file[LIST_IGNORE]);\n // Nothing to do since no file need upload\n if (!filteredFileInfoList.length) {\n return;\n }\n const objectFileList = filteredFileInfoList.map(info => file2Obj(info.file));\n // Concat new files with prev files\n let newFileList = _toConsumableArray(mergedFileList);\n objectFileList.forEach(fileObj => {\n // Replace file if exist\n newFileList = updateFileList(fileObj, newFileList);\n });\n objectFileList.forEach((fileObj, index) => {\n // Repeat trigger `onChange` event for compatible\n let triggerFileObj = fileObj;\n if (!filteredFileInfoList[index].parsedFile) {\n // `beforeUpload` return false\n const {\n originFileObj\n } = fileObj;\n let clone;\n try {\n clone = new File([originFileObj], originFileObj.name, {\n type: originFileObj.type\n });\n } catch (e) {\n clone = new Blob([originFileObj], {\n type: originFileObj.type\n });\n clone.name = originFileObj.name;\n clone.lastModifiedDate = new Date();\n clone.lastModified = new Date().getTime();\n }\n clone.uid = fileObj.uid;\n triggerFileObj = clone;\n } else {\n // Inject `uploading` status\n fileObj.status = 'uploading';\n }\n onInternalChange(triggerFileObj, newFileList);\n });\n };\n const onSuccess = (response, file, xhr) => {\n try {\n if (typeof response === 'string') {\n response = JSON.parse(response);\n }\n } catch (e) {\n /* do nothing */\n }\n // removed\n if (!getFileItem(file, mergedFileList)) {\n return;\n }\n const targetItem = file2Obj(file);\n targetItem.status = 'done';\n targetItem.percent = 100;\n targetItem.response = response;\n targetItem.xhr = xhr;\n const nextFileList = updateFileList(targetItem, mergedFileList);\n onInternalChange(targetItem, nextFileList);\n };\n const onProgress = (e, file) => {\n // removed\n if (!getFileItem(file, mergedFileList)) {\n return;\n }\n const targetItem = file2Obj(file);\n targetItem.status = 'uploading';\n targetItem.percent = e.percent;\n const nextFileList = updateFileList(targetItem, mergedFileList);\n onInternalChange(targetItem, nextFileList, e);\n };\n const onError = (error, response, file) => {\n // removed\n if (!getFileItem(file, mergedFileList)) {\n return;\n }\n const targetItem = file2Obj(file);\n targetItem.error = error;\n targetItem.response = response;\n targetItem.status = 'error';\n const nextFileList = updateFileList(targetItem, mergedFileList);\n onInternalChange(targetItem, nextFileList);\n };\n const handleRemove = file => {\n let currentFile;\n Promise.resolve(typeof onRemove === 'function' ? onRemove(file) : onRemove).then(ret => {\n var _a;\n // Prevent removing file\n if (ret === false) {\n return;\n }\n const removedFileList = removeFileItem(file, mergedFileList);\n if (removedFileList) {\n currentFile = Object.assign(Object.assign({}, file), {\n status: 'removed'\n });\n mergedFileList === null || mergedFileList === void 0 ? void 0 : mergedFileList.forEach(item => {\n const matchKey = currentFile.uid !== undefined ? 'uid' : 'name';\n if (item[matchKey] === currentFile[matchKey] && !Object.isFrozen(item)) {\n item.status = 'removed';\n }\n });\n (_a = upload.current) === null || _a === void 0 ? void 0 : _a.abort(currentFile);\n onInternalChange(currentFile, removedFileList);\n }\n });\n };\n const onFileDrop = e => {\n setDragState(e.type);\n if (e.type === 'drop') {\n onDrop === null || onDrop === void 0 ? void 0 : onDrop(e);\n }\n };\n // Test needs\n React.useImperativeHandle(ref, () => ({\n onBatchStart,\n onSuccess,\n onProgress,\n onError,\n fileList: mergedFileList,\n upload: upload.current\n }));\n const {\n getPrefixCls,\n direction,\n upload: ctxUpload\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('upload', customizePrefixCls);\n const rcUploadProps = Object.assign(Object.assign({\n onBatchStart,\n onError,\n onProgress,\n onSuccess\n }, props), {\n data,\n multiple,\n action,\n accept,\n supportServerRender,\n prefixCls,\n disabled: mergedDisabled,\n beforeUpload: mergedBeforeUpload,\n onChange: undefined\n });\n delete rcUploadProps.className;\n delete rcUploadProps.style;\n // Remove id to avoid open by label when trigger is hidden\n // !children: https://github.com/ant-design/ant-design/issues/14298\n // disabled: https://github.com/ant-design/ant-design/issues/16478\n // https://github.com/ant-design/ant-design/issues/24197\n if (!children || mergedDisabled) {\n delete rcUploadProps.id;\n }\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const [contextLocale] = useLocale('Upload', defaultLocale.Upload);\n const {\n showRemoveIcon,\n showPreviewIcon,\n showDownloadIcon,\n removeIcon,\n previewIcon,\n downloadIcon\n } = typeof showUploadList === 'boolean' ? {} : showUploadList;\n const renderUploadList = (button, buttonVisible) => {\n if (!showUploadList) {\n return button;\n }\n return /*#__PURE__*/React.createElement(UploadList, {\n prefixCls: prefixCls,\n listType: listType,\n items: mergedFileList,\n previewFile: previewFile,\n onPreview: onPreview,\n onDownload: onDownload,\n onRemove: handleRemove,\n showRemoveIcon: !mergedDisabled && showRemoveIcon,\n showPreviewIcon: showPreviewIcon,\n showDownloadIcon: showDownloadIcon,\n removeIcon: removeIcon,\n previewIcon: previewIcon,\n downloadIcon: downloadIcon,\n iconRender: iconRender,\n locale: Object.assign(Object.assign({}, contextLocale), propLocale),\n isImageUrl: isImageUrl,\n progress: progress,\n appendAction: button,\n appendActionVisible: buttonVisible,\n itemRender: itemRender,\n disabled: mergedDisabled\n });\n };\n const wrapperCls = classNames(`${prefixCls}-wrapper`, className, hashId, ctxUpload === null || ctxUpload === void 0 ? void 0 : ctxUpload.className, {\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-picture-card-wrapper`]: listType === 'picture-card',\n [`${prefixCls}-picture-circle-wrapper`]: listType === 'picture-circle'\n });\n const mergedStyle = Object.assign(Object.assign({}, ctxUpload === null || ctxUpload === void 0 ? void 0 : ctxUpload.style), style);\n if (type === 'drag') {\n const dragCls = classNames(hashId, prefixCls, `${prefixCls}-drag`, {\n [`${prefixCls}-drag-uploading`]: mergedFileList.some(file => file.status === 'uploading'),\n [`${prefixCls}-drag-hover`]: dragState === 'dragover',\n [`${prefixCls}-disabled`]: mergedDisabled,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n });\n return wrapSSR( /*#__PURE__*/React.createElement(\"span\", {\n className: wrapperCls\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: dragCls,\n style: mergedStyle,\n onDrop: onFileDrop,\n onDragOver: onFileDrop,\n onDragLeave: onFileDrop\n }, /*#__PURE__*/React.createElement(RcUpload, Object.assign({}, rcUploadProps, {\n ref: upload,\n className: `${prefixCls}-btn`\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-drag-container`\n }, children))), renderUploadList()));\n }\n const uploadButtonCls = classNames(prefixCls, `${prefixCls}-select`, {\n [`${prefixCls}-disabled`]: mergedDisabled\n });\n const renderUploadButton = uploadButtonStyle => /*#__PURE__*/React.createElement(\"div\", {\n className: uploadButtonCls,\n style: uploadButtonStyle\n }, /*#__PURE__*/React.createElement(RcUpload, Object.assign({}, rcUploadProps, {\n ref: upload\n })));\n const uploadButton = renderUploadButton(children ? undefined : {\n display: 'none'\n });\n if (listType === 'picture-card' || listType === 'picture-circle') {\n return wrapSSR( /*#__PURE__*/React.createElement(\"span\", {\n className: wrapperCls\n }, renderUploadList(uploadButton, !!children)));\n }\n return wrapSSR( /*#__PURE__*/React.createElement(\"span\", {\n className: wrapperCls\n }, uploadButton, renderUploadList()));\n};\nconst Upload = /*#__PURE__*/React.forwardRef(InternalUpload);\nif (process.env.NODE_ENV !== 'production') {\n Upload.displayName = 'Upload';\n}\nexport default Upload;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport Upload from './Upload';\nconst Dragger = /*#__PURE__*/React.forwardRef((_a, ref) => {\n var {\n style,\n height\n } = _a,\n restProps = __rest(_a, [\"style\", \"height\"]);\n return /*#__PURE__*/React.createElement(Upload, Object.assign({\n ref: ref\n }, restProps, {\n type: \"drag\",\n style: Object.assign(Object.assign({}, style), {\n height\n })\n }));\n});\nif (process.env.NODE_ENV !== 'production') {\n Dragger.displayName = 'Dragger';\n}\nexport default Dragger;","'use client';\n\nimport Dragger from './Dragger';\nimport InternalUpload, { LIST_IGNORE } from './Upload';\nconst Upload = InternalUpload;\nUpload.Dragger = Dragger;\nUpload.LIST_IGNORE = LIST_IGNORE;\nexport default Upload;","export default '5.8.5';","/* eslint import/no-unresolved: 0 */\n// @ts-ignore\nimport version from './version';\nexport default version;","function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\n/* eslint no-console:0 */\nvar formatRegExp = /%[sdj%]/g;\nvar warning = function warning() {}; // don't print warning message when in production env or node runtime\n\nif (typeof process !== 'undefined' && process.env && process.env.NODE_ENV !== 'production' && typeof window !== 'undefined' && typeof document !== 'undefined') {\n warning = function warning(type, errors) {\n if (typeof console !== 'undefined' && console.warn && typeof ASYNC_VALIDATOR_NO_WARNING === 'undefined') {\n if (errors.every(function (e) {\n return typeof e === 'string';\n })) {\n console.warn(type, errors);\n }\n }\n };\n}\n\nfunction convertFieldsError(errors) {\n if (!errors || !errors.length) return null;\n var fields = {};\n errors.forEach(function (error) {\n var field = error.field;\n fields[field] = fields[field] || [];\n fields[field].push(error);\n });\n return fields;\n}\nfunction format(template) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var i = 0;\n var len = args.length;\n\n if (typeof template === 'function') {\n return template.apply(null, args);\n }\n\n if (typeof template === 'string') {\n var str = template.replace(formatRegExp, function (x) {\n if (x === '%%') {\n return '%';\n }\n\n if (i >= len) {\n return x;\n }\n\n switch (x) {\n case '%s':\n return String(args[i++]);\n\n case '%d':\n return Number(args[i++]);\n\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n\n break;\n\n default:\n return x;\n }\n });\n return str;\n }\n\n return template;\n}\n\nfunction isNativeStringType(type) {\n return type === 'string' || type === 'url' || type === 'hex' || type === 'email' || type === 'date' || type === 'pattern';\n}\n\nfunction isEmptyValue(value, type) {\n if (value === undefined || value === null) {\n return true;\n }\n\n if (type === 'array' && Array.isArray(value) && !value.length) {\n return true;\n }\n\n if (isNativeStringType(type) && typeof value === 'string' && !value) {\n return true;\n }\n\n return false;\n}\n\nfunction asyncParallelArray(arr, func, callback) {\n var results = [];\n var total = 0;\n var arrLength = arr.length;\n\n function count(errors) {\n results.push.apply(results, errors || []);\n total++;\n\n if (total === arrLength) {\n callback(results);\n }\n }\n\n arr.forEach(function (a) {\n func(a, count);\n });\n}\n\nfunction asyncSerialArray(arr, func, callback) {\n var index = 0;\n var arrLength = arr.length;\n\n function next(errors) {\n if (errors && errors.length) {\n callback(errors);\n return;\n }\n\n var original = index;\n index = index + 1;\n\n if (original < arrLength) {\n func(arr[original], next);\n } else {\n callback([]);\n }\n }\n\n next([]);\n}\n\nfunction flattenObjArr(objArr) {\n var ret = [];\n Object.keys(objArr).forEach(function (k) {\n ret.push.apply(ret, objArr[k] || []);\n });\n return ret;\n}\n\nvar AsyncValidationError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(AsyncValidationError, _Error);\n\n function AsyncValidationError(errors, fields) {\n var _this;\n\n _this = _Error.call(this, 'Async Validation Error') || this;\n _this.errors = errors;\n _this.fields = fields;\n return _this;\n }\n\n return AsyncValidationError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\nfunction asyncMap(objArr, option, func, callback, source) {\n if (option.first) {\n var _pending = new Promise(function (resolve, reject) {\n var next = function next(errors) {\n callback(errors);\n return errors.length ? reject(new AsyncValidationError(errors, convertFieldsError(errors))) : resolve(source);\n };\n\n var flattenArr = flattenObjArr(objArr);\n asyncSerialArray(flattenArr, func, next);\n });\n\n _pending[\"catch\"](function (e) {\n return e;\n });\n\n return _pending;\n }\n\n var firstFields = option.firstFields === true ? Object.keys(objArr) : option.firstFields || [];\n var objArrKeys = Object.keys(objArr);\n var objArrLength = objArrKeys.length;\n var total = 0;\n var results = [];\n var pending = new Promise(function (resolve, reject) {\n var next = function next(errors) {\n results.push.apply(results, errors);\n total++;\n\n if (total === objArrLength) {\n callback(results);\n return results.length ? reject(new AsyncValidationError(results, convertFieldsError(results))) : resolve(source);\n }\n };\n\n if (!objArrKeys.length) {\n callback(results);\n resolve(source);\n }\n\n objArrKeys.forEach(function (key) {\n var arr = objArr[key];\n\n if (firstFields.indexOf(key) !== -1) {\n asyncSerialArray(arr, func, next);\n } else {\n asyncParallelArray(arr, func, next);\n }\n });\n });\n pending[\"catch\"](function (e) {\n return e;\n });\n return pending;\n}\n\nfunction isErrorObj(obj) {\n return !!(obj && obj.message !== undefined);\n}\n\nfunction getValue(value, path) {\n var v = value;\n\n for (var i = 0; i < path.length; i++) {\n if (v == undefined) {\n return v;\n }\n\n v = v[path[i]];\n }\n\n return v;\n}\n\nfunction complementError(rule, source) {\n return function (oe) {\n var fieldValue;\n\n if (rule.fullFields) {\n fieldValue = getValue(source, rule.fullFields);\n } else {\n fieldValue = source[oe.field || rule.fullField];\n }\n\n if (isErrorObj(oe)) {\n oe.field = oe.field || rule.fullField;\n oe.fieldValue = fieldValue;\n return oe;\n }\n\n return {\n message: typeof oe === 'function' ? oe() : oe,\n fieldValue: fieldValue,\n field: oe.field || rule.fullField\n };\n };\n}\nfunction deepMerge(target, source) {\n if (source) {\n for (var s in source) {\n if (source.hasOwnProperty(s)) {\n var value = source[s];\n\n if (typeof value === 'object' && typeof target[s] === 'object') {\n target[s] = _extends({}, target[s], value);\n } else {\n target[s] = value;\n }\n }\n }\n }\n\n return target;\n}\n\nvar required$1 = function required(rule, value, source, errors, options, type) {\n if (rule.required && (!source.hasOwnProperty(rule.field) || isEmptyValue(value, type || rule.type))) {\n errors.push(format(options.messages.required, rule.fullField));\n }\n};\n\n/**\n * Rule for validating whitespace.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nvar whitespace = function whitespace(rule, value, source, errors, options) {\n if (/^\\s+$/.test(value) || value === '') {\n errors.push(format(options.messages.whitespace, rule.fullField));\n }\n};\n\n// https://github.com/kevva/url-regex/blob/master/index.js\nvar urlReg;\nvar getUrlRegex = (function () {\n if (urlReg) {\n return urlReg;\n }\n\n var word = '[a-fA-F\\\\d:]';\n\n var b = function b(options) {\n return options && options.includeBoundaries ? \"(?:(?<=\\\\s|^)(?=\" + word + \")|(?<=\" + word + \")(?=\\\\s|$))\" : '';\n };\n\n var v4 = '(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}';\n var v6seg = '[a-fA-F\\\\d]{1,4}';\n var v6 = (\"\\n(?:\\n(?:\" + v6seg + \":){7}(?:\" + v6seg + \"|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\\n(?:\" + v6seg + \":){6}(?:\" + v4 + \"|:\" + v6seg + \"|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\\n(?:\" + v6seg + \":){5}(?::\" + v4 + \"|(?::\" + v6seg + \"){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\\n(?:\" + v6seg + \":){4}(?:(?::\" + v6seg + \"){0,1}:\" + v4 + \"|(?::\" + v6seg + \"){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\\n(?:\" + v6seg + \":){3}(?:(?::\" + v6seg + \"){0,2}:\" + v4 + \"|(?::\" + v6seg + \"){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\\n(?:\" + v6seg + \":){2}(?:(?::\" + v6seg + \"){0,3}:\" + v4 + \"|(?::\" + v6seg + \"){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\\n(?:\" + v6seg + \":){1}(?:(?::\" + v6seg + \"){0,4}:\" + v4 + \"|(?::\" + v6seg + \"){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\\n(?::(?:(?::\" + v6seg + \"){0,5}:\" + v4 + \"|(?::\" + v6seg + \"){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\\n\").replace(/\\s*\\/\\/.*$/gm, '').replace(/\\n/g, '').trim(); // Pre-compile only the exact regexes because adding a global flag make regexes stateful\n\n var v46Exact = new RegExp(\"(?:^\" + v4 + \"$)|(?:^\" + v6 + \"$)\");\n var v4exact = new RegExp(\"^\" + v4 + \"$\");\n var v6exact = new RegExp(\"^\" + v6 + \"$\");\n\n var ip = function ip(options) {\n return options && options.exact ? v46Exact : new RegExp(\"(?:\" + b(options) + v4 + b(options) + \")|(?:\" + b(options) + v6 + b(options) + \")\", 'g');\n };\n\n ip.v4 = function (options) {\n return options && options.exact ? v4exact : new RegExp(\"\" + b(options) + v4 + b(options), 'g');\n };\n\n ip.v6 = function (options) {\n return options && options.exact ? v6exact : new RegExp(\"\" + b(options) + v6 + b(options), 'g');\n };\n\n var protocol = \"(?:(?:[a-z]+:)?//)\";\n var auth = '(?:\\\\S+(?::\\\\S*)?@)?';\n var ipv4 = ip.v4().source;\n var ipv6 = ip.v6().source;\n var host = \"(?:(?:[a-z\\\\u00a1-\\\\uffff0-9][-_]*)*[a-z\\\\u00a1-\\\\uffff0-9]+)\";\n var domain = \"(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*\";\n var tld = \"(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,}))\";\n var port = '(?::\\\\d{2,5})?';\n var path = '(?:[/?#][^\\\\s\"]*)?';\n var regex = \"(?:\" + protocol + \"|www\\\\.)\" + auth + \"(?:localhost|\" + ipv4 + \"|\" + ipv6 + \"|\" + host + domain + tld + \")\" + port + path;\n urlReg = new RegExp(\"(?:^\" + regex + \"$)\", 'i');\n return urlReg;\n});\n\n/* eslint max-len:0 */\n\nvar pattern$2 = {\n // http://emailregex.com/\n email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+\\.)+[a-zA-Z\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]{2,}))$/,\n // url: new RegExp(\n // '^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\\\S+(?::\\\\S*)?@)?(?:(?:(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}(?:\\\\.(?:[0-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))|(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,})))|localhost)(?::\\\\d{2,5})?(?:(/|\\\\?|#)[^\\\\s]*)?$',\n // 'i',\n // ),\n hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i\n};\nvar types = {\n integer: function integer(value) {\n return types.number(value) && parseInt(value, 10) === value;\n },\n \"float\": function float(value) {\n return types.number(value) && !types.integer(value);\n },\n array: function array(value) {\n return Array.isArray(value);\n },\n regexp: function regexp(value) {\n if (value instanceof RegExp) {\n return true;\n }\n\n try {\n return !!new RegExp(value);\n } catch (e) {\n return false;\n }\n },\n date: function date(value) {\n return typeof value.getTime === 'function' && typeof value.getMonth === 'function' && typeof value.getYear === 'function' && !isNaN(value.getTime());\n },\n number: function number(value) {\n if (isNaN(value)) {\n return false;\n }\n\n return typeof value === 'number';\n },\n object: function object(value) {\n return typeof value === 'object' && !types.array(value);\n },\n method: function method(value) {\n return typeof value === 'function';\n },\n email: function email(value) {\n return typeof value === 'string' && value.length <= 320 && !!value.match(pattern$2.email);\n },\n url: function url(value) {\n return typeof value === 'string' && value.length <= 2048 && !!value.match(getUrlRegex());\n },\n hex: function hex(value) {\n return typeof value === 'string' && !!value.match(pattern$2.hex);\n }\n};\n\nvar type$1 = function type(rule, value, source, errors, options) {\n if (rule.required && value === undefined) {\n required$1(rule, value, source, errors, options);\n return;\n }\n\n var custom = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex'];\n var ruleType = rule.type;\n\n if (custom.indexOf(ruleType) > -1) {\n if (!types[ruleType](value)) {\n errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n } // straight typeof check\n\n } else if (ruleType && typeof value !== rule.type) {\n errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n }\n};\n\nvar range = function range(rule, value, source, errors, options) {\n var len = typeof rule.len === 'number';\n var min = typeof rule.min === 'number';\n var max = typeof rule.max === 'number'; // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)\n\n var spRegexp = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n var val = value;\n var key = null;\n var num = typeof value === 'number';\n var str = typeof value === 'string';\n var arr = Array.isArray(value);\n\n if (num) {\n key = 'number';\n } else if (str) {\n key = 'string';\n } else if (arr) {\n key = 'array';\n } // if the value is not of a supported type for range validation\n // the validation rule rule should use the\n // type property to also test for a particular type\n\n\n if (!key) {\n return false;\n }\n\n if (arr) {\n val = value.length;\n }\n\n if (str) {\n // 处理码点大于U+010000的文字length属性不准确的bug,如\"𠮷𠮷𠮷\".lenght !== 3\n val = value.replace(spRegexp, '_').length;\n }\n\n if (len) {\n if (val !== rule.len) {\n errors.push(format(options.messages[key].len, rule.fullField, rule.len));\n }\n } else if (min && !max && val < rule.min) {\n errors.push(format(options.messages[key].min, rule.fullField, rule.min));\n } else if (max && !min && val > rule.max) {\n errors.push(format(options.messages[key].max, rule.fullField, rule.max));\n } else if (min && max && (val < rule.min || val > rule.max)) {\n errors.push(format(options.messages[key].range, rule.fullField, rule.min, rule.max));\n }\n};\n\nvar ENUM$1 = 'enum';\n\nvar enumerable$1 = function enumerable(rule, value, source, errors, options) {\n rule[ENUM$1] = Array.isArray(rule[ENUM$1]) ? rule[ENUM$1] : [];\n\n if (rule[ENUM$1].indexOf(value) === -1) {\n errors.push(format(options.messages[ENUM$1], rule.fullField, rule[ENUM$1].join(', ')));\n }\n};\n\nvar pattern$1 = function pattern(rule, value, source, errors, options) {\n if (rule.pattern) {\n if (rule.pattern instanceof RegExp) {\n // if a RegExp instance is passed, reset `lastIndex` in case its `global`\n // flag is accidentally set to `true`, which in a validation scenario\n // is not necessary and the result might be misleading\n rule.pattern.lastIndex = 0;\n\n if (!rule.pattern.test(value)) {\n errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n } else if (typeof rule.pattern === 'string') {\n var _pattern = new RegExp(rule.pattern);\n\n if (!_pattern.test(value)) {\n errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n }\n }\n};\n\nvar rules = {\n required: required$1,\n whitespace: whitespace,\n type: type$1,\n range: range,\n \"enum\": enumerable$1,\n pattern: pattern$1\n};\n\nvar string = function string(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, 'string');\n\n if (!isEmptyValue(value, 'string')) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n rules.pattern(rule, value, source, errors, options);\n\n if (rule.whitespace === true) {\n rules.whitespace(rule, value, source, errors, options);\n }\n }\n }\n\n callback(errors);\n};\n\nvar method = function method(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar number = function number(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (value === '') {\n value = undefined;\n }\n\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar _boolean = function _boolean(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar regexp = function regexp(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar integer = function integer(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar floatFn = function floatFn(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar array = function array(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if ((value === undefined || value === null) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, 'array');\n\n if (value !== undefined && value !== null) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar object = function object(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar ENUM = 'enum';\n\nvar enumerable = function enumerable(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules[ENUM](rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar pattern = function pattern(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value, 'string')) {\n rules.pattern(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar date = function date(rule, value, callback, source, options) {\n // console.log('integer rule called %j', rule);\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field); // console.log('validate on %s value', value);\n\n if (validate) {\n if (isEmptyValue(value, 'date') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value, 'date')) {\n var dateObject;\n\n if (value instanceof Date) {\n dateObject = value;\n } else {\n dateObject = new Date(value);\n }\n\n rules.type(rule, dateObject, source, errors, options);\n\n if (dateObject) {\n rules.range(rule, dateObject.getTime(), source, errors, options);\n }\n }\n }\n\n callback(errors);\n};\n\nvar required = function required(rule, value, callback, source, options) {\n var errors = [];\n var type = Array.isArray(value) ? 'array' : typeof value;\n rules.required(rule, value, source, errors, options, type);\n callback(errors);\n};\n\nvar type = function type(rule, value, callback, source, options) {\n var ruleType = rule.type;\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, ruleType) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, ruleType);\n\n if (!isEmptyValue(value, ruleType)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar any = function any(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n }\n\n callback(errors);\n};\n\nvar validators = {\n string: string,\n method: method,\n number: number,\n \"boolean\": _boolean,\n regexp: regexp,\n integer: integer,\n \"float\": floatFn,\n array: array,\n object: object,\n \"enum\": enumerable,\n pattern: pattern,\n date: date,\n url: type,\n hex: type,\n email: type,\n required: required,\n any: any\n};\n\nfunction newMessages() {\n return {\n \"default\": 'Validation error on field %s',\n required: '%s is required',\n \"enum\": '%s must be one of %s',\n whitespace: '%s cannot be empty',\n date: {\n format: '%s date %s is invalid for format %s',\n parse: '%s date could not be parsed, %s is invalid ',\n invalid: '%s date %s is invalid'\n },\n types: {\n string: '%s is not a %s',\n method: '%s is not a %s (function)',\n array: '%s is not an %s',\n object: '%s is not an %s',\n number: '%s is not a %s',\n date: '%s is not a %s',\n \"boolean\": '%s is not a %s',\n integer: '%s is not an %s',\n \"float\": '%s is not a %s',\n regexp: '%s is not a valid %s',\n email: '%s is not a valid %s',\n url: '%s is not a valid %s',\n hex: '%s is not a valid %s'\n },\n string: {\n len: '%s must be exactly %s characters',\n min: '%s must be at least %s characters',\n max: '%s cannot be longer than %s characters',\n range: '%s must be between %s and %s characters'\n },\n number: {\n len: '%s must equal %s',\n min: '%s cannot be less than %s',\n max: '%s cannot be greater than %s',\n range: '%s must be between %s and %s'\n },\n array: {\n len: '%s must be exactly %s in length',\n min: '%s cannot be less than %s in length',\n max: '%s cannot be greater than %s in length',\n range: '%s must be between %s and %s in length'\n },\n pattern: {\n mismatch: '%s value %s does not match pattern %s'\n },\n clone: function clone() {\n var cloned = JSON.parse(JSON.stringify(this));\n cloned.clone = this.clone;\n return cloned;\n }\n };\n}\nvar messages = newMessages();\n\n/**\n * Encapsulates a validation schema.\n *\n * @param descriptor An object declaring validation rules\n * for this schema.\n */\n\nvar Schema = /*#__PURE__*/function () {\n // ========================= Static =========================\n // ======================== Instance ========================\n function Schema(descriptor) {\n this.rules = null;\n this._messages = messages;\n this.define(descriptor);\n }\n\n var _proto = Schema.prototype;\n\n _proto.define = function define(rules) {\n var _this = this;\n\n if (!rules) {\n throw new Error('Cannot configure a schema with no rules');\n }\n\n if (typeof rules !== 'object' || Array.isArray(rules)) {\n throw new Error('Rules must be an object');\n }\n\n this.rules = {};\n Object.keys(rules).forEach(function (name) {\n var item = rules[name];\n _this.rules[name] = Array.isArray(item) ? item : [item];\n });\n };\n\n _proto.messages = function messages(_messages) {\n if (_messages) {\n this._messages = deepMerge(newMessages(), _messages);\n }\n\n return this._messages;\n };\n\n _proto.validate = function validate(source_, o, oc) {\n var _this2 = this;\n\n if (o === void 0) {\n o = {};\n }\n\n if (oc === void 0) {\n oc = function oc() {};\n }\n\n var source = source_;\n var options = o;\n var callback = oc;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (!this.rules || Object.keys(this.rules).length === 0) {\n if (callback) {\n callback(null, source);\n }\n\n return Promise.resolve(source);\n }\n\n function complete(results) {\n var errors = [];\n var fields = {};\n\n function add(e) {\n if (Array.isArray(e)) {\n var _errors;\n\n errors = (_errors = errors).concat.apply(_errors, e);\n } else {\n errors.push(e);\n }\n }\n\n for (var i = 0; i < results.length; i++) {\n add(results[i]);\n }\n\n if (!errors.length) {\n callback(null, source);\n } else {\n fields = convertFieldsError(errors);\n callback(errors, fields);\n }\n }\n\n if (options.messages) {\n var messages$1 = this.messages();\n\n if (messages$1 === messages) {\n messages$1 = newMessages();\n }\n\n deepMerge(messages$1, options.messages);\n options.messages = messages$1;\n } else {\n options.messages = this.messages();\n }\n\n var series = {};\n var keys = options.keys || Object.keys(this.rules);\n keys.forEach(function (z) {\n var arr = _this2.rules[z];\n var value = source[z];\n arr.forEach(function (r) {\n var rule = r;\n\n if (typeof rule.transform === 'function') {\n if (source === source_) {\n source = _extends({}, source);\n }\n\n value = source[z] = rule.transform(value);\n }\n\n if (typeof rule === 'function') {\n rule = {\n validator: rule\n };\n } else {\n rule = _extends({}, rule);\n } // Fill validator. Skip if nothing need to validate\n\n\n rule.validator = _this2.getValidationMethod(rule);\n\n if (!rule.validator) {\n return;\n }\n\n rule.field = z;\n rule.fullField = rule.fullField || z;\n rule.type = _this2.getType(rule);\n series[z] = series[z] || [];\n series[z].push({\n rule: rule,\n value: value,\n source: source,\n field: z\n });\n });\n });\n var errorFields = {};\n return asyncMap(series, options, function (data, doIt) {\n var rule = data.rule;\n var deep = (rule.type === 'object' || rule.type === 'array') && (typeof rule.fields === 'object' || typeof rule.defaultField === 'object');\n deep = deep && (rule.required || !rule.required && data.value);\n rule.field = data.field;\n\n function addFullField(key, schema) {\n return _extends({}, schema, {\n fullField: rule.fullField + \".\" + key,\n fullFields: rule.fullFields ? [].concat(rule.fullFields, [key]) : [key]\n });\n }\n\n function cb(e) {\n if (e === void 0) {\n e = [];\n }\n\n var errorList = Array.isArray(e) ? e : [e];\n\n if (!options.suppressWarning && errorList.length) {\n Schema.warning('async-validator:', errorList);\n }\n\n if (errorList.length && rule.message !== undefined) {\n errorList = [].concat(rule.message);\n } // Fill error info\n\n\n var filledErrors = errorList.map(complementError(rule, source));\n\n if (options.first && filledErrors.length) {\n errorFields[rule.field] = 1;\n return doIt(filledErrors);\n }\n\n if (!deep) {\n doIt(filledErrors);\n } else {\n // if rule is required but the target object\n // does not exist fail at the rule level and don't\n // go deeper\n if (rule.required && !data.value) {\n if (rule.message !== undefined) {\n filledErrors = [].concat(rule.message).map(complementError(rule, source));\n } else if (options.error) {\n filledErrors = [options.error(rule, format(options.messages.required, rule.field))];\n }\n\n return doIt(filledErrors);\n }\n\n var fieldsSchema = {};\n\n if (rule.defaultField) {\n Object.keys(data.value).map(function (key) {\n fieldsSchema[key] = rule.defaultField;\n });\n }\n\n fieldsSchema = _extends({}, fieldsSchema, data.rule.fields);\n var paredFieldsSchema = {};\n Object.keys(fieldsSchema).forEach(function (field) {\n var fieldSchema = fieldsSchema[field];\n var fieldSchemaList = Array.isArray(fieldSchema) ? fieldSchema : [fieldSchema];\n paredFieldsSchema[field] = fieldSchemaList.map(addFullField.bind(null, field));\n });\n var schema = new Schema(paredFieldsSchema);\n schema.messages(options.messages);\n\n if (data.rule.options) {\n data.rule.options.messages = options.messages;\n data.rule.options.error = options.error;\n }\n\n schema.validate(data.value, data.rule.options || options, function (errs) {\n var finalErrors = [];\n\n if (filledErrors && filledErrors.length) {\n finalErrors.push.apply(finalErrors, filledErrors);\n }\n\n if (errs && errs.length) {\n finalErrors.push.apply(finalErrors, errs);\n }\n\n doIt(finalErrors.length ? finalErrors : null);\n });\n }\n }\n\n var res;\n\n if (rule.asyncValidator) {\n res = rule.asyncValidator(rule, data.value, cb, data.source, options);\n } else if (rule.validator) {\n try {\n res = rule.validator(rule, data.value, cb, data.source, options);\n } catch (error) {\n console.error == null ? void 0 : console.error(error); // rethrow to report error\n\n if (!options.suppressValidatorError) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n\n cb(error.message);\n }\n\n if (res === true) {\n cb();\n } else if (res === false) {\n cb(typeof rule.message === 'function' ? rule.message(rule.fullField || rule.field) : rule.message || (rule.fullField || rule.field) + \" fails\");\n } else if (res instanceof Array) {\n cb(res);\n } else if (res instanceof Error) {\n cb(res.message);\n }\n }\n\n if (res && res.then) {\n res.then(function () {\n return cb();\n }, function (e) {\n return cb(e);\n });\n }\n }, function (results) {\n complete(results);\n }, source);\n };\n\n _proto.getType = function getType(rule) {\n if (rule.type === undefined && rule.pattern instanceof RegExp) {\n rule.type = 'pattern';\n }\n\n if (typeof rule.validator !== 'function' && rule.type && !validators.hasOwnProperty(rule.type)) {\n throw new Error(format('Unknown rule type %s', rule.type));\n }\n\n return rule.type || 'string';\n };\n\n _proto.getValidationMethod = function getValidationMethod(rule) {\n if (typeof rule.validator === 'function') {\n return rule.validator;\n }\n\n var keys = Object.keys(rule);\n var messageIndex = keys.indexOf('message');\n\n if (messageIndex !== -1) {\n keys.splice(messageIndex, 1);\n }\n\n if (keys.length === 1 && keys[0] === 'required') {\n return validators.required;\n }\n\n return validators[this.getType(rule)] || undefined;\n };\n\n return Schema;\n}();\n\nSchema.register = function register(type, validator) {\n if (typeof validator !== 'function') {\n throw new Error('Cannot register a validator by type, validator is not a function');\n }\n\n validators[type] = validator;\n};\n\nSchema.warning = warning;\nSchema.messages = messages;\nSchema.validators = validators;\n\nexport { Schema as default };\n//# sourceMappingURL=index.js.map\n","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar transitionalDefaults = require('../defaults/transitional');\nvar AxiosError = require('../core/AxiosError');\nvar CanceledError = require('../cancel/CanceledError');\nvar parseProtocol = require('../helpers/parseProtocol');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new CanceledError() : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n var protocol = parseProtocol(fullPath);\n\n if (protocol && [ 'http', 'https', 'file' ].indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = require('./cancel/CanceledError');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\naxios.toFormData = require('./helpers/toFormData');\n\n// Expose AxiosError class\naxios.AxiosError = require('../lib/core/AxiosError');\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\nvar CanceledError = require('./CanceledError');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nvar AxiosError = require('../core/AxiosError');\nvar utils = require('../utils');\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction CanceledError(message) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nmodule.exports = CanceledError;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar buildFullPath = require('./buildFullPath');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n var fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url: url,\n data: data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED'\n// eslint-disable-next-line func-names\n].forEach(function(code) {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = function(error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nmodule.exports = AxiosError;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar CanceledError = require('../cancel/CanceledError');\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar AxiosError = require('./AxiosError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar AxiosError = require('../core/AxiosError');\nvar transitionalDefaults = require('./transitional');\nvar toFormData = require('../helpers/toFormData');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('../adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('../adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n var isObjectPayload = utils.isObject(data);\n var contentType = headers && headers['Content-Type'];\n\n var isFileList;\n\n if ((isFileList = utils.isFileList(data)) || (isObjectPayload && contentType === 'multipart/form-data')) {\n var _FormData = this.env && this.env.FormData;\n return toFormData(isFileList ? {'files[]': data} : data, _FormData && new _FormData());\n } else if (isObjectPayload || contentType === 'application/json') {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: require('./env/FormData')\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","module.exports = {\n \"version\": \"0.27.2\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","// eslint-disable-next-line strict\nmodule.exports = null;\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nmodule.exports = function parseProtocol(url) {\n var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Convert a data object to FormData\n * @param {Object} obj\n * @param {?Object} [formData]\n * @returns {Object}\n **/\n\nfunction toFormData(obj, formData) {\n // eslint-disable-next-line no-param-reassign\n formData = formData || new FormData();\n\n var stack = [];\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n function build(data, parentKey) {\n if (utils.isPlainObject(data) || utils.isArray(data)) {\n if (stack.indexOf(data) !== -1) {\n throw Error('Circular reference detected in ' + parentKey);\n }\n\n stack.push(data);\n\n utils.forEach(data, function each(value, key) {\n if (utils.isUndefined(value)) return;\n var fullKey = parentKey ? parentKey + '.' + key : key;\n var arr;\n\n if (value && !parentKey && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (utils.endsWith(key, '[]') && (arr = utils.toArray(value))) {\n // eslint-disable-next-line func-names\n arr.forEach(function(el) {\n !utils.isUndefined(el) && formData.append(fullKey, convertValue(el));\n });\n return;\n }\n }\n\n build(value, fullKey);\n });\n\n stack.pop();\n } else {\n formData.append(parentKey, convertValue(data));\n }\n }\n\n build(obj);\n\n return formData;\n}\n\nmodule.exports = toFormData;\n","'use strict';\n\nvar VERSION = require('../env/data').version;\nvar AxiosError = require('../core/AxiosError');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n// eslint-disable-next-line func-names\nvar kindOf = (function(cache) {\n // eslint-disable-next-line func-names\n return function(thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n})(Object.create(null));\n\nfunction kindOfTest(type) {\n type = type.toLowerCase();\n return function isKindOf(thing) {\n return kindOf(thing) === type;\n };\n}\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nvar isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nvar isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} thing The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(thing) {\n var pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nvar isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n */\n\nfunction inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function} [filter]\n * @returns {Object}\n */\n\nfunction toFlatObject(sourceObj, destObj, filter) {\n var props;\n var i;\n var prop;\n var merged = {};\n\n destObj = destObj || {};\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if (!merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = Object.getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/*\n * determines whether a string ends with the characters of a specified string\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n * @returns {boolean}\n */\nfunction endsWith(str, searchString, position) {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n var lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object\n * @param {*} [thing]\n * @returns {Array}\n */\nfunction toArray(thing) {\n if (!thing) return null;\n var i = thing.length;\n if (isUndefined(i)) return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n// eslint-disable-next-line func-names\nvar isTypedArray = (function(TypedArray) {\n // eslint-disable-next-line func-names\n return function(thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array));\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM,\n inherits: inherits,\n toFlatObject: toFlatObject,\n kindOf: kindOf,\n kindOfTest: kindOfTest,\n endsWith: endsWith,\n toArray: toArray,\n isTypedArray: isTypedArray,\n isFileList: isFileList\n};\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","var isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","var has = require('../internals/map-helpers').has;\n\n// Perform ? RequireInternalSlot(M, [[MapData]])\nmodule.exports = function (it) {\n has(it);\n return it;\n};\n","var isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","var has = require('../internals/set-helpers').has;\n\n// Perform ? RequireInternalSlot(M, [[SetData]])\nmodule.exports = function (it) {\n has(it);\n return it;\n};\n","var has = require('../internals/weak-map-helpers').has;\n\n// Perform ? RequireInternalSlot(M, [[WeakMapData]])\nmodule.exports = function (it) {\n has(it);\n return it;\n};\n","var has = require('../internals/weak-set-helpers').has;\n\n// Perform ? RequireInternalSlot(M, [[WeakSetData]])\nmodule.exports = function (it) {\n has(it);\n return it;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar bind = require('../internals/function-bind-context');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar getMethod = require('../internals/get-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ASYNC_DISPOSE = wellKnownSymbol('asyncDispose');\nvar DISPOSE = wellKnownSymbol('dispose');\n\nvar push = uncurryThis([].push);\n\nvar getDisposeMethod = function (V, hint) {\n if (hint == 'async-dispose') {\n return getMethod(V, ASYNC_DISPOSE) || getMethod(V, DISPOSE);\n } return getMethod(V, DISPOSE);\n};\n\n// `CreateDisposableResource` abstract operation\n// https://tc39.es/proposal-explicit-resource-management/#sec-createdisposableresource\nvar createDisposableResource = function (V, hint, method) {\n return bind(method || getDisposeMethod(V, hint), V);\n};\n\n// `AddDisposableResource` abstract operation\n// https://tc39.es/proposal-explicit-resource-management/#sec-adddisposableresource-disposable-v-hint-disposemethod\nmodule.exports = function (disposable, V, hint, method) {\n var resource;\n if (!method) {\n if (isNullOrUndefined(V)) return;\n resource = createDisposableResource(V, hint);\n } else if (isNullOrUndefined(V)) {\n resource = createDisposableResource(undefined, hint, method);\n } else {\n resource = createDisposableResource(anObject(V), hint, method);\n }\n\n push(disposable.stack, resource);\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw $TypeError('Incorrect invocation');\n};\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","var uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar classof = require('../internals/classof-raw');\n\nvar $TypeError = TypeError;\n\n// Includes\n// - Perform ? RequireInternalSlot(O, [[ArrayBufferData]]).\n// - If IsSharedArrayBuffer(O) is true, throw a TypeError exception.\nmodule.exports = uncurryThisAccessor(ArrayBuffer.prototype, 'byteLength', 'get') || function (O) {\n if (classof(O) != 'ArrayBuffer') throw $TypeError('ArrayBuffer expected');\n return O.byteLength;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar arrayBufferByteLength = require('../internals/array-buffer-byte-length');\n\nvar slice = uncurryThis(ArrayBuffer.prototype.slice);\n\nmodule.exports = function (O) {\n if (arrayBufferByteLength(O) !== 0) return false;\n try {\n slice(O, 0, 0);\n return false;\n } catch (error) {\n return true;\n }\n};\n","// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar toIndex = require('../internals/to-index');\nvar isDetached = require('../internals/array-buffer-is-detached');\nvar arrayBufferByteLength = require('../internals/array-buffer-byte-length');\nvar PROPER_TRANSFER = require('../internals/structured-clone-proper-transfer');\n\nvar TypeError = global.TypeError;\nvar structuredClone = global.structuredClone;\nvar ArrayBuffer = global.ArrayBuffer;\nvar DataView = global.DataView;\nvar min = Math.min;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataViewPrototype = DataView.prototype;\nvar slice = uncurryThis(ArrayBufferPrototype.slice);\nvar isResizable = uncurryThisAccessor(ArrayBufferPrototype, 'resizable', 'get');\nvar maxByteLength = uncurryThisAccessor(ArrayBufferPrototype, 'maxByteLength', 'get');\nvar getInt8 = uncurryThis(DataViewPrototype.getInt8);\nvar setInt8 = uncurryThis(DataViewPrototype.setInt8);\n\nmodule.exports = PROPER_TRANSFER && function (arrayBuffer, newLength, preserveResizability) {\n var byteLength = arrayBufferByteLength(arrayBuffer);\n var newByteLength = newLength === undefined ? byteLength : min(toIndex(newLength), byteLength);\n var fixedLength = !isResizable || !isResizable(arrayBuffer);\n if (isDetached(arrayBuffer)) throw TypeError('ArrayBuffer is detached');\n var newBuffer = structuredClone(arrayBuffer, { transfer: [arrayBuffer] });\n if (byteLength == newByteLength && (preserveResizability || fixedLength)) return newBuffer;\n if (!preserveResizability || fixedLength) return slice(newBuffer, 0, newByteLength);\n var newNewBuffer = new ArrayBuffer(newByteLength, maxByteLength && { maxByteLength: maxByteLength(newBuffer) });\n var a = new DataView(newBuffer);\n var b = new DataView(newNewBuffer);\n for (var i = 0; i < newByteLength; i++) setInt8(b, i, getInt8(a, i));\n return newNewBuffer;\n};\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = global.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor';\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar getTypedArrayConstructor = function (it) {\n var proto = getPrototypeOf(it);\n if (!isObject(proto)) return;\n var state = getInternalState(proto);\n return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n // old WebKit bug - some methods are non-configurable\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) { /* empty */ }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n defineBuiltIn(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n defineBuiltIn(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = true;\n defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, {\n configurable: true,\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n getTypedArrayConstructor: getTypedArrayConstructor,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\nvar isConstructor = require('../internals/is-constructor');\nvar getAsyncIterator = require('../internals/get-async-iterator');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar getMethod = require('../internals/get-method');\nvar getVirtual = require('../internals/entry-virtual');\nvar getBuiltIn = require('../internals/get-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar AsyncFromSyncIterator = require('../internals/async-from-sync-iterator');\nvar toArray = require('../internals/async-iterator-iteration').toArray;\n\nvar ASYNC_ITERATOR = wellKnownSymbol('asyncIterator');\nvar arrayIterator = uncurryThis(getVirtual('Array').values);\nvar arrayIteratorNext = uncurryThis(arrayIterator([]).next);\n\nvar safeArrayIterator = function () {\n return new SafeArrayIterator(this);\n};\n\nvar SafeArrayIterator = function (O) {\n this.iterator = arrayIterator(O);\n};\n\nSafeArrayIterator.prototype.next = function () {\n return arrayIteratorNext(this.iterator);\n};\n\n// `Array.fromAsync` method implementation\n// https://github.com/tc39/proposal-array-from-async\nmodule.exports = function fromAsync(asyncItems /* , mapfn = undefined, thisArg = undefined */) {\n var C = this;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var thisArg = argumentsLength > 2 ? arguments[2] : undefined;\n return new (getBuiltIn('Promise'))(function (resolve) {\n var O = toObject(asyncItems);\n if (mapfn !== undefined) mapfn = bind(mapfn, thisArg);\n var usingAsyncIterator = getMethod(O, ASYNC_ITERATOR);\n var usingSyncIterator = usingAsyncIterator ? undefined : getIteratorMethod(O) || safeArrayIterator;\n var A = isConstructor(C) ? new C() : [];\n var iterator = usingAsyncIterator\n ? getAsyncIterator(O, usingAsyncIterator)\n : new AsyncFromSyncIterator(getIteratorDirect(getIterator(O, usingSyncIterator)));\n resolve(toArray(iterator, mapfn, A));\n });\n};\n","var lengthOfArrayLike = require('../internals/length-of-array-like');\n\nmodule.exports = function (Constructor, list) {\n var index = 0;\n var length = lengthOfArrayLike(list);\n var result = new Constructor(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar MapHelpers = require('../internals/map-helpers');\n\nvar Map = MapHelpers.Map;\nvar mapGet = MapHelpers.get;\nvar mapHas = MapHelpers.has;\nvar mapSet = MapHelpers.set;\nvar push = uncurryThis([].push);\n\n// `Array.prototype.groupToMap` method\n// https://github.com/tc39/proposal-array-grouping\nmodule.exports = function groupToMap(callbackfn /* , thisArg */) {\n var O = toObject(this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var map = new Map();\n var length = lengthOfArrayLike(self);\n var index = 0;\n var key, value;\n for (;length > index; index++) {\n value = self[index];\n key = boundFunction(value, index, O);\n if (mapHas(map, key)) push(mapGet(map, key), value);\n else mapSet(map, key, [value]);\n } return map;\n};\n","var bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar objectCreate = require('../internals/object-create');\nvar arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\n\nvar $Array = Array;\nvar push = uncurryThis([].push);\n\nmodule.exports = function ($this, callbackfn, that, specificConstructor) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that);\n var target = objectCreate(null);\n var length = lengthOfArrayLike(self);\n var index = 0;\n var Constructor, key, value;\n for (;length > index; index++) {\n value = self[index];\n key = toPropertyKey(boundFunction(value, index, O));\n // in some IE10 builds, `hasOwnProperty` returns incorrect result on integer keys\n // but since it's a `null` prototype object, we can safely use `in`\n if (key in target) push(target[key], value);\n else target[key] = [value];\n }\n // TODO: Remove this block from `core-js@4`\n if (specificConstructor) {\n Constructor = specificConstructor(O);\n if (Constructor !== $Array) {\n for (key in target) target[key] = arrayFromConstructorAndList(Constructor, target[key]);\n }\n } return target;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ findLast, findLastIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_FIND_LAST_INDEX = TYPE == 1;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that);\n var index = lengthOfArrayLike(self);\n var value, result;\n while (index-- > 0) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (result) switch (TYPE) {\n case 0: return value; // findLast\n case 1: return index; // findLastIndex\n }\n }\n return IS_FIND_LAST_INDEX ? -1 : undefined;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.findLast` method\n // https://github.com/tc39/proposal-array-find-from-last\n findLast: createMethod(0),\n // `Array.prototype.findLastIndex` method\n // https://github.com/tc39/proposal-array-find-from-last\n findLastIndex: createMethod(1)\n};\n","var bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_REJECT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that);\n var length = lengthOfArrayLike(self);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call -- required for testing\n method.call(null, argument || function () { return 1; }, 1);\n });\n};\n","var aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nvar $TypeError = TypeError;\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aCallable(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(O);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw $TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","var toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar $Array = Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = $Array(max(fin - k, 0));\n for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","var isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","var lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toReversed\n// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toReversed\nmodule.exports = function (O, C) {\n var len = lengthOfArrayLike(O);\n var A = new C(len);\n var k = 0;\n for (; k < len; k++) A[k] = O[len - k - 1];\n return A;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toObject = require('../internals/to-object');\nvar MapHelpers = require('../internals/map-helpers');\nvar iterate = require('../internals/map-iterate');\n\nvar Map = MapHelpers.Map;\nvar mapHas = MapHelpers.has;\nvar mapSet = MapHelpers.set;\nvar push = uncurryThis([].push);\n\n// `Array.prototype.uniqueBy` method\n// https://github.com/tc39/proposal-array-unique\nmodule.exports = function uniqueBy(resolver) {\n var that = toObject(this);\n var length = lengthOfArrayLike(that);\n var result = [];\n var map = new Map();\n var resolverFunction = !isNullOrUndefined(resolver) ? aCallable(resolver) : function (value) {\n return value;\n };\n var index, item, key;\n for (index = 0; index < length; index++) {\n item = that[index];\n key = resolverFunction(item);\n if (!mapHas(map, key)) mapSet(map, key, item);\n }\n iterate(map, function (value) {\n push(result, value);\n });\n return result;\n};\n","var lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar $RangeError = RangeError;\n\n// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.with\n// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.with\nmodule.exports = function (O, C, index, value) {\n var len = lengthOfArrayLike(O);\n var relativeIndex = toIntegerOrInfinity(index);\n var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex;\n if (actualIndex >= len || actualIndex < 0) throw $RangeError('Incorrect index');\n var A = new C(len);\n var k = 0;\n for (; k < len; k++) A[k] = k === actualIndex ? value : O[k];\n return A;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar create = require('../internals/object-create');\nvar getMethod = require('../internals/get-method');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar InternalStateModule = require('../internals/internal-state');\nvar getBuiltIn = require('../internals/get-built-in');\nvar AsyncIteratorPrototype = require('../internals/async-iterator-prototype');\nvar createIterResultObject = require('../internals/create-iter-result-object');\n\nvar Promise = getBuiltIn('Promise');\n\nvar ASYNC_FROM_SYNC_ITERATOR = 'AsyncFromSyncIterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ASYNC_FROM_SYNC_ITERATOR);\n\nvar asyncFromSyncIteratorContinuation = function (result, resolve, reject) {\n var done = result.done;\n Promise.resolve(result.value).then(function (value) {\n resolve(createIterResultObject(value, done));\n }, reject);\n};\n\nvar AsyncFromSyncIterator = function AsyncIterator(iteratorRecord) {\n iteratorRecord.type = ASYNC_FROM_SYNC_ITERATOR;\n setInternalState(this, iteratorRecord);\n};\n\nAsyncFromSyncIterator.prototype = defineBuiltIns(create(AsyncIteratorPrototype), {\n next: function next() {\n var state = getInternalState(this);\n return new Promise(function (resolve, reject) {\n var result = anObject(call(state.next, state.iterator));\n asyncFromSyncIteratorContinuation(result, resolve, reject);\n });\n },\n 'return': function () {\n var iterator = getInternalState(this).iterator;\n return new Promise(function (resolve, reject) {\n var $return = getMethod(iterator, 'return');\n if ($return === undefined) return resolve(createIterResultObject(undefined, true));\n var result = anObject(call($return, iterator));\n asyncFromSyncIteratorContinuation(result, resolve, reject);\n });\n }\n});\n\nmodule.exports = AsyncFromSyncIterator;\n","var call = require('../internals/function-call');\nvar getBuiltIn = require('../internals/get-built-in');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, method, argument, reject) {\n try {\n var returnMethod = getMethod(iterator, 'return');\n if (returnMethod) {\n return getBuiltIn('Promise').resolve(call(returnMethod, iterator)).then(function () {\n method(argument);\n }, function (error) {\n reject(error);\n });\n }\n } catch (error2) {\n return reject(error2);\n } method(argument);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar perform = require('../internals/perform');\nvar anObject = require('../internals/an-object');\nvar create = require('../internals/object-create');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar InternalStateModule = require('../internals/internal-state');\nvar getBuiltIn = require('../internals/get-built-in');\nvar getMethod = require('../internals/get-method');\nvar AsyncIteratorPrototype = require('../internals/async-iterator-prototype');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar Promise = getBuiltIn('Promise');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ASYNC_ITERATOR_HELPER = 'AsyncIteratorHelper';\nvar WRAP_FOR_VALID_ASYNC_ITERATOR = 'WrapForValidAsyncIterator';\nvar setInternalState = InternalStateModule.set;\n\nvar createAsyncIteratorProxyPrototype = function (IS_ITERATOR) {\n var IS_GENERATOR = !IS_ITERATOR;\n var getInternalState = InternalStateModule.getterFor(IS_ITERATOR ? WRAP_FOR_VALID_ASYNC_ITERATOR : ASYNC_ITERATOR_HELPER);\n\n var getStateOrEarlyExit = function (that) {\n var stateCompletion = perform(function () {\n return getInternalState(that);\n });\n\n var stateError = stateCompletion.error;\n var state = stateCompletion.value;\n\n if (stateError || (IS_GENERATOR && state.done)) {\n return { exit: true, value: stateError ? Promise.reject(state) : Promise.resolve(createIterResultObject(undefined, true)) };\n } return { exit: false, value: state };\n };\n\n return defineBuiltIns(create(AsyncIteratorPrototype), {\n next: function next() {\n var stateCompletion = getStateOrEarlyExit(this);\n var state = stateCompletion.value;\n if (stateCompletion.exit) return state;\n var handlerCompletion = perform(function () {\n return anObject(state.nextHandler(Promise));\n });\n var handlerError = handlerCompletion.error;\n var value = handlerCompletion.value;\n if (handlerError) state.done = true;\n return handlerError ? Promise.reject(value) : Promise.resolve(value);\n },\n 'return': function () {\n var stateCompletion = getStateOrEarlyExit(this);\n var state = stateCompletion.value;\n if (stateCompletion.exit) return state;\n state.done = true;\n var iterator = state.iterator;\n var returnMethod, result;\n var completion = perform(function () {\n if (state.inner) try {\n iteratorClose(state.inner.iterator, 'normal');\n } catch (error) {\n return iteratorClose(iterator, 'throw', error);\n }\n return getMethod(iterator, 'return');\n });\n returnMethod = result = completion.value;\n if (completion.error) return Promise.reject(result);\n if (returnMethod === undefined) return Promise.resolve(createIterResultObject(undefined, true));\n completion = perform(function () {\n return call(returnMethod, iterator);\n });\n result = completion.value;\n if (completion.error) return Promise.reject(result);\n return IS_ITERATOR ? Promise.resolve(result) : Promise.resolve(result).then(function (resolved) {\n anObject(resolved);\n return createIterResultObject(undefined, true);\n });\n }\n });\n};\n\nvar WrapForValidAsyncIteratorPrototype = createAsyncIteratorProxyPrototype(true);\nvar AsyncIteratorHelperPrototype = createAsyncIteratorProxyPrototype(false);\n\ncreateNonEnumerableProperty(AsyncIteratorHelperPrototype, TO_STRING_TAG, 'Async Iterator Helper');\n\nmodule.exports = function (nextHandler, IS_ITERATOR) {\n var AsyncIteratorProxy = function AsyncIterator(record, state) {\n if (state) {\n state.iterator = record.iterator;\n state.next = record.next;\n } else state = record;\n state.type = IS_ITERATOR ? WRAP_FOR_VALID_ASYNC_ITERATOR : ASYNC_ITERATOR_HELPER;\n state.nextHandler = nextHandler;\n state.counter = 0;\n state.done = false;\n setInternalState(this, state);\n };\n\n AsyncIteratorProxy.prototype = IS_ITERATOR ? WrapForValidAsyncIteratorPrototype : AsyncIteratorHelperPrototype;\n\n return AsyncIteratorProxy;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar map = require('../internals/async-iterator-map');\n\nvar callback = function (value, counter) {\n return [counter, value];\n};\n\n// `AsyncIterator.prototype.indexed` method\n// https://github.com/tc39/proposal-iterator-helpers\nmodule.exports = function indexed() {\n return call(map, this, callback);\n};\n","'use strict';\n// https://github.com/tc39/proposal-iterator-helpers\n// https://github.com/tc39/proposal-array-from-async\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar getBuiltIn = require('../internals/get-built-in');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar closeAsyncIteration = require('../internals/async-iterator-close');\n\nvar createMethod = function (TYPE) {\n var IS_TO_ARRAY = TYPE == 0;\n var IS_FOR_EACH = TYPE == 1;\n var IS_EVERY = TYPE == 2;\n var IS_SOME = TYPE == 3;\n return function (object, fn, target) {\n var record = getIteratorDirect(object);\n var Promise = getBuiltIn('Promise');\n var iterator = record.iterator;\n var next = record.next;\n var counter = 0;\n var MAPPING = fn !== undefined;\n if (MAPPING || !IS_TO_ARRAY) aCallable(fn);\n\n return new Promise(function (resolve, reject) {\n var ifAbruptCloseAsyncIterator = function (error) {\n closeAsyncIteration(iterator, reject, error, reject);\n };\n\n var loop = function () {\n try {\n if (MAPPING) try {\n doesNotExceedSafeInteger(counter);\n } catch (error5) { ifAbruptCloseAsyncIterator(error5); }\n Promise.resolve(anObject(call(next, iterator))).then(function (step) {\n try {\n if (anObject(step).done) {\n if (IS_TO_ARRAY) {\n target.length = counter;\n resolve(target);\n } else resolve(IS_SOME ? false : IS_EVERY || undefined);\n } else {\n var value = step.value;\n try {\n if (MAPPING) {\n var result = fn(value, counter);\n\n var handler = function ($result) {\n if (IS_FOR_EACH) {\n loop();\n } else if (IS_EVERY) {\n $result ? loop() : closeAsyncIteration(iterator, resolve, false, reject);\n } else if (IS_TO_ARRAY) {\n try {\n target[counter++] = $result;\n loop();\n } catch (error4) { ifAbruptCloseAsyncIterator(error4); }\n } else {\n $result ? closeAsyncIteration(iterator, resolve, IS_SOME || value, reject) : loop();\n }\n };\n\n if (isObject(result)) Promise.resolve(result).then(handler, ifAbruptCloseAsyncIterator);\n else handler(result);\n } else {\n target[counter++] = value;\n loop();\n }\n } catch (error3) { ifAbruptCloseAsyncIterator(error3); }\n }\n } catch (error2) { reject(error2); }\n }, reject);\n } catch (error) { reject(error); }\n };\n\n loop();\n });\n };\n};\n\nmodule.exports = {\n toArray: createMethod(0),\n forEach: createMethod(1),\n every: createMethod(2),\n some: createMethod(3),\n find: createMethod(4)\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar closeAsyncIteration = require('../internals/async-iterator-close');\n\nvar AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {\n var state = this;\n var iterator = state.iterator;\n var mapper = state.mapper;\n\n return new Promise(function (resolve, reject) {\n var doneAndReject = function (error) {\n state.done = true;\n reject(error);\n };\n\n var ifAbruptCloseAsyncIterator = function (error) {\n closeAsyncIteration(iterator, doneAndReject, error, doneAndReject);\n };\n\n Promise.resolve(anObject(call(state.next, iterator))).then(function (step) {\n try {\n if (anObject(step).done) {\n state.done = true;\n resolve(createIterResultObject(undefined, true));\n } else {\n var value = step.value;\n try {\n var result = mapper(value, state.counter++);\n\n var handler = function (mapped) {\n resolve(createIterResultObject(mapped, false));\n };\n\n if (isObject(result)) Promise.resolve(result).then(handler, ifAbruptCloseAsyncIterator);\n else handler(result);\n } catch (error2) { ifAbruptCloseAsyncIterator(error2); }\n }\n } catch (error) { doneAndReject(error); }\n }, doneAndReject);\n });\n});\n\n// `AsyncIterator.prototype.map` method\n// https://github.com/tc39/proposal-iterator-helpers\nmodule.exports = function map(mapper) {\n return new AsyncIteratorProxy(getIteratorDirect(this), {\n mapper: aCallable(mapper)\n });\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared-store');\nvar isCallable = require('../internals/is-callable');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar USE_FUNCTION_CONSTRUCTOR = 'USE_FUNCTION_CONSTRUCTOR';\nvar ASYNC_ITERATOR = wellKnownSymbol('asyncIterator');\nvar AsyncIterator = global.AsyncIterator;\nvar PassedAsyncIteratorPrototype = shared.AsyncIteratorPrototype;\nvar AsyncIteratorPrototype, prototype;\n\nif (PassedAsyncIteratorPrototype) {\n AsyncIteratorPrototype = PassedAsyncIteratorPrototype;\n} else if (isCallable(AsyncIterator)) {\n AsyncIteratorPrototype = AsyncIterator.prototype;\n} else if (shared[USE_FUNCTION_CONSTRUCTOR] || global[USE_FUNCTION_CONSTRUCTOR]) {\n try {\n // eslint-disable-next-line no-new-func -- we have no alternatives without usage of modern syntax\n prototype = getPrototypeOf(getPrototypeOf(getPrototypeOf(Function('return async function*(){}()')())));\n if (getPrototypeOf(prototype) === Object.prototype) AsyncIteratorPrototype = prototype;\n } catch (error) { /* empty */ }\n}\n\nif (!AsyncIteratorPrototype) AsyncIteratorPrototype = {};\nelse if (IS_PURE) AsyncIteratorPrototype = create(AsyncIteratorPrototype);\n\nif (!isCallable(AsyncIteratorPrototype[ASYNC_ITERATOR])) {\n defineBuiltIn(AsyncIteratorPrototype, ASYNC_ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = AsyncIteratorPrototype;\n","var call = require('../internals/function-call');\nvar createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');\n\nmodule.exports = createAsyncIteratorProxy(function () {\n return call(this.next, this.iterator);\n}, true);\n","var anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\n// https://tc39.github.io/proposal-setmap-offrom/\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar iterate = require('../internals/iterate');\n\nvar push = [].push;\n\nmodule.exports = function from(source /* , mapFn, thisArg */) {\n var length = arguments.length;\n var mapFn = length > 1 ? arguments[1] : undefined;\n var mapping, array, n, boundFunction;\n aConstructor(this);\n mapping = mapFn !== undefined;\n if (mapping) aCallable(mapFn);\n if (isNullOrUndefined(source)) return new this();\n array = [];\n if (mapping) {\n n = 0;\n boundFunction = bind(mapFn, length > 2 ? arguments[2] : undefined);\n iterate(source, function (nextItem) {\n call(push, array, boundFunction(nextItem, n++));\n });\n } else {\n iterate(source, push, { that: array });\n }\n return new this(array);\n};\n","'use strict';\nvar arraySlice = require('../internals/array-slice');\n\n// https://tc39.github.io/proposal-setmap-offrom/\nmodule.exports = function of() {\n return new this(arraySlice(arguments));\n};\n","'use strict';\nvar create = require('../internals/object-create');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n defineBuiltIns(Prototype, {\n // `{ Map, Set }.prototype.clear()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.clear\n // https://tc39.es/ecma262/#sec-set.prototype.clear\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // `{ Map, Set }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.delete\n // https://tc39.es/ecma262/#sec-set.prototype.delete\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.foreach\n // https://tc39.es/ecma262/#sec-set.prototype.foreach\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // `{ Map, Set}.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.has\n // https://tc39.es/ecma262/#sec-set.prototype.has\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n defineBuiltIns(Prototype, IS_MAP ? {\n // `Map.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-map.prototype.get\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // `Map.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-map.prototype.set\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // `Set.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-set.prototype.add\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineBuiltInAccessor(Prototype, 'size', {\n configurable: true,\n get: function () {\n return getInternalState(this).size;\n }\n });\n return Constructor;\n },\n setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.entries\n // https://tc39.es/ecma262/#sec-map.prototype.keys\n // https://tc39.es/ecma262/#sec-map.prototype.values\n // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n // https://tc39.es/ecma262/#sec-set.prototype.entries\n // https://tc39.es/ecma262/#sec-set.prototype.keys\n // https://tc39.es/ecma262/#sec-set.prototype.values\n // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return createIterResultObject(undefined, true);\n }\n // return step by kind\n if (kind == 'keys') return createIterResultObject(entry.key, false);\n if (kind == 'values') return createIterResultObject(entry.value, false);\n return createIterResultObject([entry.key, entry.value], false);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // `{ Map, Set }.prototype[@@species]` accessors\n // https://tc39.es/ecma262/#sec-get-map-@@species\n // https://tc39.es/ecma262/#sec-get-set-@@species\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar getWeakData = require('../internals/internal-metadata').getWeakData;\nvar anInstance = require('../internals/an-instance');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar iterate = require('../internals/iterate');\nvar ArrayIterationModule = require('../internals/array-iteration');\nvar hasOwn = require('../internals/has-own-property');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar splice = uncurryThis([].splice);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (state) {\n return state.frozen || (state.frozen = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\n\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\n\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.entries.push([key, value]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index) splice(this.entries, index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n id: id++,\n frozen: undefined\n });\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true) uncaughtFrozenStore(state).set(key, value);\n else data[state.id] = value;\n return that;\n };\n\n defineBuiltIns(Prototype, {\n // `{ WeakMap, WeakSet }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-weakmap.prototype.delete\n // https://tc39.es/ecma262/#sec-weakset.prototype.delete\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state)['delete'](key);\n return data && hasOwn(data, state.id) && delete data[state.id];\n },\n // `{ WeakMap, WeakSet }.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-weakmap.prototype.has\n // https://tc39.es/ecma262/#sec-weakset.prototype.has\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).has(key);\n return data && hasOwn(data, state.id);\n }\n });\n\n defineBuiltIns(Prototype, IS_MAP ? {\n // `WeakMap.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-weakmap.prototype.get\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n // `WeakMap.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-weakmap.prototype.set\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n // `WeakSet.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-weakset.prototype.add\n add: function add(value) {\n return define(this, value, true);\n }\n });\n\n return Constructor;\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n defineBuiltIn(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, constructor: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.map');\nrequire('../modules/es.weak-map');\nvar getBuiltIn = require('../internals/get-built-in');\nvar create = require('../internals/object-create');\nvar isObject = require('../internals/is-object');\n\nvar $Object = Object;\nvar $TypeError = TypeError;\nvar Map = getBuiltIn('Map');\nvar WeakMap = getBuiltIn('WeakMap');\n\nvar Node = function () {\n // keys\n this.object = null;\n this.symbol = null;\n // child nodes\n this.primitives = null;\n this.objectsByIndex = create(null);\n};\n\nNode.prototype.get = function (key, initializer) {\n return this[key] || (this[key] = initializer());\n};\n\nNode.prototype.next = function (i, it, IS_OBJECT) {\n var store = IS_OBJECT\n ? this.objectsByIndex[i] || (this.objectsByIndex[i] = new WeakMap())\n : this.primitives || (this.primitives = new Map());\n var entry = store.get(it);\n if (!entry) store.set(it, entry = new Node());\n return entry;\n};\n\nvar root = new Node();\n\nmodule.exports = function () {\n var active = root;\n var length = arguments.length;\n var i, it;\n // for prevent leaking, start from objects\n for (i = 0; i < length; i++) {\n if (isObject(it = arguments[i])) active = active.next(i, it, true);\n }\n if (this === $Object && active === root) throw $TypeError('Composite keys must contain a non-primitive component');\n for (i = 0; i < length; i++) {\n if (!isObject(it = arguments[i])) active = active.next(i, it, false);\n } return active;\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","var isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","var defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","module.exports = {\n IndexSizeError: { s: 'INDEX_SIZE_ERR', c: 1, m: 1 },\n DOMStringSizeError: { s: 'DOMSTRING_SIZE_ERR', c: 2, m: 0 },\n HierarchyRequestError: { s: 'HIERARCHY_REQUEST_ERR', c: 3, m: 1 },\n WrongDocumentError: { s: 'WRONG_DOCUMENT_ERR', c: 4, m: 1 },\n InvalidCharacterError: { s: 'INVALID_CHARACTER_ERR', c: 5, m: 1 },\n NoDataAllowedError: { s: 'NO_DATA_ALLOWED_ERR', c: 6, m: 0 },\n NoModificationAllowedError: { s: 'NO_MODIFICATION_ALLOWED_ERR', c: 7, m: 1 },\n NotFoundError: { s: 'NOT_FOUND_ERR', c: 8, m: 1 },\n NotSupportedError: { s: 'NOT_SUPPORTED_ERR', c: 9, m: 1 },\n InUseAttributeError: { s: 'INUSE_ATTRIBUTE_ERR', c: 10, m: 1 },\n InvalidStateError: { s: 'INVALID_STATE_ERR', c: 11, m: 1 },\n SyntaxError: { s: 'SYNTAX_ERR', c: 12, m: 1 },\n InvalidModificationError: { s: 'INVALID_MODIFICATION_ERR', c: 13, m: 1 },\n NamespaceError: { s: 'NAMESPACE_ERR', c: 14, m: 1 },\n InvalidAccessError: { s: 'INVALID_ACCESS_ERR', c: 15, m: 1 },\n ValidationError: { s: 'VALIDATION_ERR', c: 16, m: 0 },\n TypeMismatchError: { s: 'TYPE_MISMATCH_ERR', c: 17, m: 1 },\n SecurityError: { s: 'SECURITY_ERR', c: 18, m: 1 },\n NetworkError: { s: 'NETWORK_ERR', c: 19, m: 1 },\n AbortError: { s: 'ABORT_ERR', c: 20, m: 1 },\n URLMismatchError: { s: 'URL_MISMATCH_ERR', c: 21, m: 1 },\n QuotaExceededError: { s: 'QUOTA_EXCEEDED_ERR', c: 22, m: 1 },\n TimeoutError: { s: 'TIMEOUT_ERR', c: 23, m: 1 },\n InvalidNodeTypeError: { s: 'INVALID_NODE_TYPE_ERR', c: 24, m: 1 },\n DataCloneError: { s: 'DATA_CLONE_ERR', c: 25, m: 1 }\n};\n","var IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = !IS_DENO && !IS_NODE\n && typeof window == 'object'\n && typeof document == 'object';\n","/* global Bun -- Deno case */\nmodule.exports = typeof Bun == 'function' && Bun && typeof Bun.version == 'string';\n","/* global Deno -- Deno case */\nmodule.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';\n","var userAgent = require('../internals/engine-user-agent');\n\n// eslint-disable-next-line redos/no-vulnerable -- safe\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","var classof = require('../internals/classof-raw');\n\nmodule.exports = typeof process != 'undefined' && classof(process) == 'process';\n","module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","var global = require('../internals/global');\n\nmodule.exports = function (CONSTRUCTOR) {\n return global[CONSTRUCTOR].prototype;\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar $Error = Error;\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String($Error(arg).stack); })('zxcasd');\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {\n while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n } return stack;\n};\n","var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar clearErrorStack = require('../internals/error-stack-clear');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\n\n// non-standard V8\nvar captureStackTrace = Error.captureStackTrace;\n\nmodule.exports = function (error, C, stack, dropEntries) {\n if (ERROR_STACK_INSTALLABLE) {\n if (captureStackTrace) captureStackTrace(error, C);\n else createNonEnumerableProperty(error, 'stack', clearErrorStack(stack, dropEntries));\n }\n};\n","var fails = require('../internals/fails');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = !fails(function () {\n var error = Error('a');\n if (!('stack' in error)) return true;\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));\n return error.stack !== 7;\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function demethodize() {\n return uncurryThis(aCallable(this));\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","var classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar getMethod = require('../internals/get-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar AsyncFromSyncIterator = require('../internals/async-from-sync-iterator');\n\nvar ASYNC_ITERATOR = wellKnownSymbol('asyncIterator');\n\nmodule.exports = function from(obj) {\n var object = anObject(obj);\n var alreadyAsync = true;\n var method = getMethod(object, ASYNC_ITERATOR);\n var iterator;\n if (!isCallable(method)) {\n method = getIteratorMethod(object);\n alreadyAsync = false;\n }\n if (isCallable(method)) {\n iterator = call(method, object);\n } else {\n iterator = object;\n alreadyAsync = true;\n }\n anObject(iterator);\n return getIteratorDirect(alreadyAsync ? iterator : new AsyncFromSyncIterator(getIteratorDirect(iterator)));\n};\n","var call = require('../internals/function-call');\nvar AsyncFromSyncIterator = require('../internals/async-from-sync-iterator');\nvar anObject = require('../internals/an-object');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar getMethod = require('../internals/get-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ASYNC_ITERATOR = wellKnownSymbol('asyncIterator');\n\nmodule.exports = function (it, usingIterator) {\n var method = arguments.length < 2 ? getMethod(it, ASYNC_ITERATOR) : usingIterator;\n return method ? anObject(call(method, it)) : new AsyncFromSyncIterator(getIteratorDirect(getIterator(it)));\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\n\nmodule.exports = function (obj) {\n return {\n iterator: obj,\n next: aCallable(anObject(obj).next)\n };\n};\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (obj) {\n var object = anObject(obj);\n var method = getIteratorMethod(object);\n return getIteratorDirect(anObject(isCallable(method) ? call(method, object) : object));\n};\n","var classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","var call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw $TypeError(tryToString(argument) + ' is not iterable');\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar toString = require('../internals/to-string');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (replacer) {\n if (isCallable(replacer)) return replacer;\n if (!isArray(replacer)) return;\n var rawLength = replacer.length;\n var keys = [];\n for (var i = 0; i < rawLength; i++) {\n var element = replacer[i];\n if (typeof element == 'string') push(keys, element);\n else if (typeof element == 'number' || classof(element) == 'Number' || classof(element) == 'String') push(keys, toString(element));\n }\n var keysLength = keys.length;\n var root = true;\n return function (key, value) {\n if (root) {\n root = false;\n return value;\n }\n if (isArray(this)) return value;\n for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value;\n };\n};\n","var aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","var aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar call = require('../internals/function-call');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar $TypeError = TypeError;\nvar max = Math.max;\n\nvar SetRecord = function (set, size, has, keys) {\n this.set = set;\n this.size = size;\n this.has = has;\n this.keys = keys;\n};\n\nSetRecord.prototype = {\n getIterator: function () {\n return anObject(call(this.keys, this.set));\n },\n includes: function (it) {\n return call(this.has, this.set, it);\n }\n};\n\n// `GetSetRecord` abstract operation\n// https://tc39.es/proposal-set-methods/#sec-getsetrecord\nmodule.exports = function (obj) {\n anObject(obj);\n var numSize = +obj.size;\n // NOTE: If size is undefined, then numSize will be NaN\n // eslint-disable-next-line no-self-compare -- NaN check\n if (numSize != numSize) throw $TypeError('Invalid size');\n return new SetRecord(\n obj,\n max(toIntegerOrInfinity(numSize), 0),\n aCallable(obj.has),\n aCallable(obj.keys)\n );\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","module.exports = function (a, b) {\n try {\n // eslint-disable-next-line no-console -- safe\n arguments.length == 1 ? console.error(a) : console.error(a, b);\n } catch (error) { /* empty */ }\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\n// `InstallErrorCause` abstract operation\n// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause\nmodule.exports = function (O, options) {\n if (isObject(options) && 'cause' in options) {\n createNonEnumerableProperty(O, 'cause', options.cause);\n }\n};\n","var $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + id++, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar enable = function () {\n meta.enable = function () { /* empty */ };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n test[METADATA] = 1;\n\n // prevent exposing of metadata key\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n } return result;\n };\n\n $({ target: 'Object', stat: true, forced: true }, {\n getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n });\n }\n};\n\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","var classof = require('../internals/classof');\n\nmodule.exports = function (it) {\n var klass = classof(it);\n return klass == 'BigInt64Array' || klass == 'BigUint64Array';\n};\n","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var classof = require('../internals/classof');\nvar hasOwn = require('../internals/has-own-property');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar $Object = Object;\n\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) return false;\n var O = $Object(it);\n return O[ITERATOR] !== undefined\n || '@@iterator' in O\n || hasOwn(Iterators, classof(O));\n};\n","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","var isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var isObject = require('../internals/is-object');\nvar getInternalState = require('../internals/internal-state').get;\n\nmodule.exports = function isRawJSON(O) {\n if (!isObject(O)) return false;\n var state = getInternalState(O);\n return !!state && state.type === 'RawJSON';\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var call = require('../internals/function-call');\n\nmodule.exports = function (iterator, fn, $next) {\n var next = $next || iterator.next;\n var step, result;\n while (!(step = call(next, iterator)).done) {\n result = fn(step.value);\n if (result !== undefined) return result;\n }\n};\n","var bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","var call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar create = require('../internals/object-create');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar InternalStateModule = require('../internals/internal-state');\nvar getMethod = require('../internals/get-method');\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ITERATOR_HELPER = 'IteratorHelper';\nvar WRAP_FOR_VALID_ITERATOR = 'WrapForValidIterator';\nvar setInternalState = InternalStateModule.set;\n\nvar createIteratorProxyPrototype = function (IS_ITERATOR) {\n var getInternalState = InternalStateModule.getterFor(IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER);\n\n return defineBuiltIns(create(IteratorPrototype), {\n next: function next() {\n var state = getInternalState(this);\n // for simplification:\n // for `%WrapForValidIteratorPrototype%.next` our `nextHandler` returns `IterResultObject`\n // for `%IteratorHelperPrototype%.next` - just a value\n if (IS_ITERATOR) return state.nextHandler();\n try {\n var result = state.done ? undefined : state.nextHandler();\n return createIterResultObject(result, state.done);\n } catch (error) {\n state.done = true;\n throw error;\n }\n },\n 'return': function () {\n var state = getInternalState(this);\n var iterator = state.iterator;\n state.done = true;\n if (IS_ITERATOR) {\n var returnMethod = getMethod(iterator, 'return');\n return returnMethod ? call(returnMethod, iterator) : createIterResultObject(undefined, true);\n }\n if (state.inner) try {\n iteratorClose(state.inner.iterator, 'normal');\n } catch (error) {\n return iteratorClose(iterator, 'throw', error);\n }\n iteratorClose(iterator, 'normal');\n return createIterResultObject(undefined, true);\n }\n });\n};\n\nvar WrapForValidIteratorPrototype = createIteratorProxyPrototype(true);\nvar IteratorHelperPrototype = createIteratorProxyPrototype(false);\n\ncreateNonEnumerableProperty(IteratorHelperPrototype, TO_STRING_TAG, 'Iterator Helper');\n\nmodule.exports = function (nextHandler, IS_ITERATOR) {\n var IteratorProxy = function Iterator(record, state) {\n if (state) {\n state.iterator = record.iterator;\n state.next = record.next;\n } else state = record;\n state.type = IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER;\n state.nextHandler = nextHandler;\n state.counter = 0;\n state.done = false;\n setInternalState(this, state);\n };\n\n IteratorProxy.prototype = IS_ITERATOR ? WrapForValidIteratorPrototype : IteratorHelperPrototype;\n\n return IteratorProxy;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar map = require('../internals/iterator-map');\n\nvar callback = function (value, counter) {\n return [counter, value];\n};\n\n// `Iterator.prototype.indexed` method\n// https://github.com/tc39/proposal-iterator-helpers\nmodule.exports = function indexed() {\n return call(map, this, callback);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar createIteratorProxy = require('../internals/iterator-create-proxy');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar IteratorProxy = createIteratorProxy(function () {\n var iterator = this.iterator;\n var result = anObject(call(this.next, iterator));\n var done = this.done = !!result.done;\n if (!done) return callWithSafeIterationClosing(iterator, this.mapper, [result.value, this.counter++], true);\n});\n\n// `Iterator.prototype.map` method\n// https://github.com/tc39/proposal-iterator-helpers\nmodule.exports = function map(mapper) {\n return new IteratorProxy(getIteratorDirect(this), {\n mapper: aCallable(mapper)\n });\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","module.exports = {};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","var uncurryThis = require('../internals/function-uncurry-this');\n\n// eslint-disable-next-line es/no-map -- safe\nvar MapPrototype = Map.prototype;\n\nmodule.exports = {\n // eslint-disable-next-line es/no-map -- safe\n Map: Map,\n set: uncurryThis(MapPrototype.set),\n get: uncurryThis(MapPrototype.get),\n has: uncurryThis(MapPrototype.has),\n remove: uncurryThis(MapPrototype['delete']),\n proto: MapPrototype\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar iterateSimple = require('../internals/iterate-simple');\nvar MapHelpers = require('../internals/map-helpers');\n\nvar Map = MapHelpers.Map;\nvar MapPrototype = MapHelpers.proto;\nvar forEach = uncurryThis(MapPrototype.forEach);\nvar entries = uncurryThis(MapPrototype.entries);\nvar next = entries(new Map()).next;\n\nmodule.exports = function (map, fn, interruptible) {\n return interruptible ? iterateSimple(entries(map), function (entry) {\n return fn(entry[1], entry[0]);\n }, next) : forEach(map, fn);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar anObject = require('../internals/an-object');\n\nvar $TypeError = TypeError;\n\n// `Map.prototype.upsert` method\n// https://github.com/tc39/proposal-upsert\nmodule.exports = function upsert(key, updateFn /* , insertFn */) {\n var map = anObject(this);\n var get = aCallable(map.get);\n var has = aCallable(map.has);\n var set = aCallable(map.set);\n var insertFn = arguments.length > 2 ? arguments[2] : undefined;\n var value;\n if (!isCallable(updateFn) && !isCallable(insertFn)) {\n throw $TypeError('At least one callback required');\n }\n if (call(has, map, key)) {\n value = call(get, map, key);\n if (isCallable(updateFn)) {\n value = updateFn(value);\n call(set, map, key, value);\n }\n } else if (isCallable(insertFn)) {\n value = insertFn();\n call(set, map, key, value);\n } return value;\n};\n","var sign = require('../internals/math-sign');\n\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\n// `Math.fround` method implementation\n// https://tc39.es/ecma262/#sec-math.fround\n// eslint-disable-next-line es/no-math-fround -- safe\nmodule.exports = Math.fround || function fround(x) {\n var n = +x;\n var $abs = abs(n);\n var $sign = sign(n);\n var a, result;\n if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n // eslint-disable-next-line no-self-compare -- NaN check\n if (result > MAX32 || result != result) return $sign * Infinity;\n return $sign * result;\n};\n","// `Math.scale` method implementation\n// https://rwaldron.github.io/proposal-math-extensions/\nmodule.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) {\n var nx = +x;\n var nInLow = +inLow;\n var nInHigh = +inHigh;\n var nOutLow = +outLow;\n var nOutHigh = +outHigh;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (nx != nx || nInLow != nInLow || nInHigh != nInHigh || nOutLow != nOutLow || nOutHigh != nOutHigh) return NaN;\n if (nx === Infinity || nx === -Infinity) return nx;\n return (nx - nInLow) * (nOutHigh - nOutLow) / (nInHigh - nInLow) + nOutLow;\n};\n","// `Math.sign` method implementation\n// https://tc39.es/ecma262/#sec-math.sign\n// eslint-disable-next-line es/no-math-sign -- safe\nmodule.exports = Math.sign || function sign(x) {\n var n = +x;\n // eslint-disable-next-line no-self-compare -- NaN check\n return n == 0 || n != n ? n : n < 0 ? -1 : 1;\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","/* eslint-disable es/no-json -- safe */\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n var unsafeInt = '9007199254740993';\n var raw = JSON.rawJSON(unsafeInt);\n return !JSON.isRawJSON(raw) || JSON.stringify(raw) !== unsafeInt;\n});\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw $TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","var $RangeError = RangeError;\n\nmodule.exports = function (it) {\n // eslint-disable-next-line no-self-compare -- NaN check\n if (it === it) return it;\n throw $RangeError('NaN is not allowed');\n};\n","var global = require('../internals/global');\n\nvar globalIsFinite = global.isFinite;\n\n// `Number.isFinite` method\n// https://tc39.es/ecma262/#sec-number.isfinite\n// eslint-disable-next-line es/no-number-isfinite -- safe\nmodule.exports = Number.isFinite || function isFinite(it) {\n return typeof it == 'number' && globalIsFinite(it);\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar trim = require('../internals/string-trim').trim;\nvar whitespaces = require('../internals/whitespaces');\n\nvar $parseInt = global.parseInt;\nvar Symbol = global.Symbol;\nvar ITERATOR = Symbol && Symbol.iterator;\nvar hex = /^[+-]?0x/i;\nvar exec = uncurryThis(hex.exec);\nvar FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22\n // MS Edge 18- broken with boxed symbols\n || (ITERATOR && !fails(function () { $parseInt(Object(ITERATOR)); }));\n\n// `parseInt` method\n// https://tc39.es/ecma262/#sec-parseint-string-radix\nmodule.exports = FORCED ? function parseInt(string, radix) {\n var S = trim(toString(string));\n return $parseInt(S, (radix >>> 0) || (exec(hex, S) ? 16 : 10));\n} : $parseInt;\n","'use strict';\nvar InternalStateModule = require('../internals/internal-state');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar defineProperties = require('../internals/object-define-properties').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar INCORRECT_RANGE = 'Incorrect Iterator.range arguments';\nvar NUMERIC_RANGE_ITERATOR = 'NumericRangeIterator';\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(NUMERIC_RANGE_ITERATOR);\n\nvar $RangeError = RangeError;\nvar $TypeError = TypeError;\n\nvar $RangeIterator = createIteratorConstructor(function NumericRangeIterator(start, end, option, type, zero, one) {\n // TODO: Drop the first `typeof` check after removing lagacy methods in `core-js@4`\n if (typeof start != type || (end !== Infinity && end !== -Infinity && typeof end != type)) {\n throw $TypeError(INCORRECT_RANGE);\n }\n if (start === Infinity || start === -Infinity) {\n throw $RangeError(INCORRECT_RANGE);\n }\n var ifIncrease = end > start;\n var inclusiveEnd = false;\n var step;\n if (option === undefined) {\n step = undefined;\n } else if (isObject(option)) {\n step = option.step;\n inclusiveEnd = !!option.inclusive;\n } else if (typeof option == type) {\n step = option;\n } else {\n throw $TypeError(INCORRECT_RANGE);\n }\n if (isNullOrUndefined(step)) {\n step = ifIncrease ? one : -one;\n }\n if (typeof step != type) {\n throw $TypeError(INCORRECT_RANGE);\n }\n if (step === Infinity || step === -Infinity || (step === zero && start !== end)) {\n throw $RangeError(INCORRECT_RANGE);\n }\n // eslint-disable-next-line no-self-compare -- NaN check\n var hitsEnd = start != start || end != end || step != step || (end > start) !== (step > zero);\n setInternalState(this, {\n type: NUMERIC_RANGE_ITERATOR,\n start: start,\n end: end,\n step: step,\n inclusiveEnd: inclusiveEnd,\n hitsEnd: hitsEnd,\n currentCount: zero,\n zero: zero\n });\n if (!DESCRIPTORS) {\n this.start = start;\n this.end = end;\n this.step = step;\n this.inclusive = inclusiveEnd;\n }\n}, NUMERIC_RANGE_ITERATOR, function next() {\n var state = getInternalState(this);\n if (state.hitsEnd) return createIterResultObject(undefined, true);\n var start = state.start;\n var end = state.end;\n var step = state.step;\n var currentYieldingValue = start + (step * state.currentCount++);\n if (currentYieldingValue === end) state.hitsEnd = true;\n var inclusiveEnd = state.inclusiveEnd;\n var endCondition;\n if (end > start) {\n endCondition = inclusiveEnd ? currentYieldingValue > end : currentYieldingValue >= end;\n } else {\n endCondition = inclusiveEnd ? end > currentYieldingValue : end >= currentYieldingValue;\n }\n if (endCondition) {\n state.hitsEnd = true;\n return createIterResultObject(undefined, true);\n } return createIterResultObject(currentYieldingValue, false);\n});\n\nvar getter = function (fn) {\n return { get: fn, set: function () { /* empty */ }, configurable: true, enumerable: false };\n};\n\nif (DESCRIPTORS) {\n defineProperties($RangeIterator.prototype, {\n start: getter(function () {\n return getInternalState(this).start;\n }),\n end: getter(function () {\n return getInternalState(this).end;\n }),\n inclusive: getter(function () {\n return getInternalState(this).inclusiveEnd;\n }),\n step: getter(function () {\n return getInternalState(this).step;\n })\n });\n}\n\nmodule.exports = $RangeIterator;\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) == 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","var fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar InternalStateModule = require('../internals/internal-state');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar hasOwn = require('../internals/has-own-property');\nvar objectKeys = require('../internals/object-keys');\nvar toObject = require('../internals/to-object');\n\nvar OBJECT_ITERATOR = 'Object Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(OBJECT_ITERATOR);\n\nmodule.exports = createIteratorConstructor(function ObjectIterator(source, mode) {\n var object = toObject(source);\n setInternalState(this, {\n type: OBJECT_ITERATOR,\n mode: mode,\n object: object,\n keys: objectKeys(object),\n index: 0\n });\n}, 'Object', function next() {\n var state = getInternalState(this);\n var keys = state.keys;\n while (true) {\n if (keys === null || state.index >= keys.length) {\n state.object = state.keys = null;\n return createIterResultObject(undefined, true);\n }\n var key = keys[state.index++];\n var object = state.object;\n if (!hasOwn(object, key)) continue;\n switch (state.mode) {\n case 'keys': return createIterResultObject(key, false);\n case 'values': return createIterResultObject(object[key], false);\n } /* entries */ return createIterResultObject([key, object[key]], false);\n }\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $$OBSERVABLE = wellKnownSymbol('observable');\nvar NativeObservable = global.Observable;\nvar NativeObservablePrototype = NativeObservable && NativeObservable.prototype;\n\nmodule.exports = !isCallable(NativeObservable)\n || !isCallable(NativeObservable.from)\n || !isCallable(NativeObservable.of)\n || !isCallable(NativeObservablePrototype.subscribe)\n || !isCallable(NativeObservablePrototype[$$OBSERVABLE]);\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\n\nvar $SyntaxError = SyntaxError;\nvar $parseInt = parseInt;\nvar fromCharCode = String.fromCharCode;\nvar at = uncurryThis(''.charAt);\nvar slice = uncurryThis(''.slice);\nvar exec = uncurryThis(/./.exec);\n\nvar codePoints = {\n '\\\\\"': '\"',\n '\\\\\\\\': '\\\\',\n '\\\\/': '/',\n '\\\\b': '\\b',\n '\\\\f': '\\f',\n '\\\\n': '\\n',\n '\\\\r': '\\r',\n '\\\\t': '\\t'\n};\n\nvar IS_4_HEX_DIGITS = /^[\\da-f]{4}$/i;\n// eslint-disable-next-line regexp/no-control-character -- safe\nvar IS_C0_CONTROL_CODE = /^[\\u0000-\\u001F]$/;\n\nmodule.exports = function (source, i) {\n var unterminated = true;\n var value = '';\n while (i < source.length) {\n var chr = at(source, i);\n if (chr == '\\\\') {\n var twoChars = slice(source, i, i + 2);\n if (hasOwn(codePoints, twoChars)) {\n value += codePoints[twoChars];\n i += 2;\n } else if (twoChars == '\\\\u') {\n i += 2;\n var fourHexDigits = slice(source, i, i + 4);\n if (!exec(IS_4_HEX_DIGITS, fourHexDigits)) throw $SyntaxError('Bad Unicode escape at: ' + i);\n value += fromCharCode($parseInt(fourHexDigits, 16));\n i += 4;\n } else throw $SyntaxError('Unknown escape sequence: \"' + twoChars + '\"');\n } else if (chr == '\"') {\n unterminated = false;\n i++;\n break;\n } else {\n if (exec(IS_C0_CONTROL_CODE, chr)) throw $SyntaxError('Bad control character in string literal at: ' + i);\n value += chr;\n i++;\n }\n }\n if (unterminated) throw $SyntaxError('Unterminated string at: ' + i);\n return { value: value, end: i };\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","var global = require('../internals/global');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n } return !GLOBAL_CORE_JS_PROMISE && (IS_BROWSER || IS_DENO) && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","var defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (Target, Source, key) {\n key in Target || defineProperty(Target, key, {\n configurable: true,\n get: function () { return Source[key]; },\n set: function (it) { Source[key] = it; }\n });\n};\n","// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.map');\nrequire('../modules/es.weak-map');\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar shared = require('../internals/shared');\n\nvar Map = getBuiltIn('Map');\nvar WeakMap = getBuiltIn('WeakMap');\nvar push = uncurryThis([].push);\n\nvar metadata = shared('metadata');\nvar store = metadata.store || (metadata.store = new WeakMap());\n\nvar getOrCreateMetadataMap = function (target, targetKey, create) {\n var targetMetadata = store.get(target);\n if (!targetMetadata) {\n if (!create) return;\n store.set(target, targetMetadata = new Map());\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if (!keyMetadata) {\n if (!create) return;\n targetMetadata.set(targetKey, keyMetadata = new Map());\n } return keyMetadata;\n};\n\nvar ordinaryHasOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\n\nvar ordinaryGetOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\n\nvar ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\n\nvar ordinaryOwnMetadataKeys = function (target, targetKey) {\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false);\n var keys = [];\n if (metadataMap) metadataMap.forEach(function (_, key) { push(keys, key); });\n return keys;\n};\n\nvar toMetadataKey = function (it) {\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\n\nmodule.exports = {\n store: store,\n getMap: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n toKey: toMetadataKey\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices) result += 'd';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.unicodeSets) result += 'v';\n if (that.sticky) result += 'y';\n return result;\n};\n","var call = require('../internals/function-call');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar regExpFlags = require('../internals/regexp-flags');\n\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (R) {\n var flags = R.flags;\n return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R)\n ? call(regExpFlags, R) : flags;\n};\n","var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// `SameValueZero` abstract operation\n// https://tc39.es/ecma262/#sec-samevaluezero\nmodule.exports = function (x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y || x != x && y != y;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar isCallable = require('../internals/is-callable');\nvar ENGINE_IS_BUN = require('../internals/engine-is-bun');\nvar USER_AGENT = require('../internals/engine-user-agent');\nvar arraySlice = require('../internals/array-slice');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\n\nvar Function = global.Function;\n// dirty IE9- and Bun 0.3.0- checks\nvar WRAP = /MSIE .\\./.test(USER_AGENT) || ENGINE_IS_BUN && (function () {\n var version = global.Bun.version.split('.');\n return version.length < 3 || version[0] == 0 && (version[1] < 3 || version[1] == 3 && version[2] == 0);\n})();\n\n// IE9- / Bun 0.3.0- setTimeout / setInterval / setImmediate additional parameters fix\n// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers\n// https://github.com/oven-sh/bun/issues/1633\nmodule.exports = function (scheduler, hasTimeArg) {\n var firstParamIndex = hasTimeArg ? 2 : 1;\n return WRAP ? function (handler, timeout /* , ...arguments */) {\n var boundArgs = validateArgumentsLength(arguments.length, 1) > firstParamIndex;\n var fn = isCallable(handler) ? handler : Function(handler);\n var params = boundArgs ? arraySlice(arguments, firstParamIndex) : [];\n var callback = boundArgs ? function () {\n apply(fn, this, params);\n } : fn;\n return hasTimeArg ? scheduler(callback, timeout) : scheduler(callback);\n } : scheduler;\n};\n","var SetHelpers = require('../internals/set-helpers');\nvar iterate = require('../internals/set-iterate');\n\nvar Set = SetHelpers.Set;\nvar add = SetHelpers.add;\n\nmodule.exports = function (set) {\n var result = new Set();\n iterate(set, function (it) {\n add(result, it);\n });\n return result;\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar SetHelpers = require('../internals/set-helpers');\nvar clone = require('../internals/set-clone');\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSet = require('../internals/set-iterate');\nvar iterateSimple = require('../internals/iterate-simple');\n\nvar has = SetHelpers.has;\nvar remove = SetHelpers.remove;\n\n// `Set.prototype.difference` method\n// https://github.com/tc39/proposal-set-methods\nmodule.exports = function difference(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n var result = clone(O);\n if (size(O) <= otherRec.size) iterateSet(O, function (e) {\n if (otherRec.includes(e)) remove(result, e);\n });\n else iterateSimple(otherRec.getIterator(), function (e) {\n if (has(O, e)) remove(result, e);\n });\n return result;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\n// eslint-disable-next-line es/no-set -- safe\nvar SetPrototype = Set.prototype;\n\nmodule.exports = {\n // eslint-disable-next-line es/no-set -- safe\n Set: Set,\n add: uncurryThis(SetPrototype.add),\n has: uncurryThis(SetPrototype.has),\n remove: uncurryThis(SetPrototype['delete']),\n proto: SetPrototype,\n $has: SetPrototype.has,\n $keys: SetPrototype.keys\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar SetHelpers = require('../internals/set-helpers');\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSet = require('../internals/set-iterate');\nvar iterateSimple = require('../internals/iterate-simple');\n\nvar Set = SetHelpers.Set;\nvar add = SetHelpers.add;\nvar has = SetHelpers.has;\nvar nativeHas = SetHelpers.$has;\nvar nativeKeys = SetHelpers.$keys;\n\nvar isNativeSetRecord = function (record) {\n return record.has === nativeHas && record.keys === nativeKeys;\n};\n\n// `Set.prototype.intersection` method\n// https://github.com/tc39/proposal-set-methods\nmodule.exports = function intersection(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n var result = new Set();\n\n // observable side effects\n if (!isNativeSetRecord(otherRec) && size(O) > otherRec.size) {\n iterateSimple(otherRec.getIterator(), function (e) {\n if (has(O, e)) add(result, e);\n });\n\n if (size(result) < 2) return result;\n\n var disordered = result;\n result = new Set();\n iterateSet(O, function (e) {\n if (has(disordered, e)) add(result, e);\n });\n } else {\n iterateSet(O, function (e) {\n if (otherRec.includes(e)) add(result, e);\n });\n }\n\n return result;\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar has = require('../internals/set-helpers').has;\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSet = require('../internals/set-iterate');\nvar iterateSimple = require('../internals/iterate-simple');\nvar iteratorClose = require('../internals/iterator-close');\n\n// `Set.prototype.isDisjointFrom` method\n// https://tc39.github.io/proposal-set-methods/#Set.prototype.isDisjointFrom\nmodule.exports = function isDisjointFrom(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n if (size(O) <= otherRec.size) return iterateSet(O, function (e) {\n if (otherRec.includes(e)) return false;\n }, true) !== false;\n var iterator = otherRec.getIterator();\n return iterateSimple(iterator, function (e) {\n if (has(O, e)) return iteratorClose(iterator, 'normal', false);\n }) !== false;\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar size = require('../internals/set-size');\nvar iterate = require('../internals/set-iterate');\nvar getSetRecord = require('../internals/get-set-record');\n\n// `Set.prototype.isSubsetOf` method\n// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSubsetOf\nmodule.exports = function isSubsetOf(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n if (size(O) > otherRec.size) return false;\n return iterate(O, function (e) {\n if (!otherRec.includes(e)) return false;\n }, true) !== false;\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar has = require('../internals/set-helpers').has;\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSimple = require('../internals/iterate-simple');\nvar iteratorClose = require('../internals/iterator-close');\n\n// `Set.prototype.isSupersetOf` method\n// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf\nmodule.exports = function isSupersetOf(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n if (size(O) < otherRec.size) return false;\n var iterator = otherRec.getIterator();\n return iterateSimple(iterator, function (e) {\n if (!has(O, e)) return iteratorClose(iterator, 'normal', false);\n }) !== false;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar iterateSimple = require('../internals/iterate-simple');\nvar SetHelpers = require('../internals/set-helpers');\n\nvar Set = SetHelpers.Set;\nvar SetPrototype = SetHelpers.proto;\nvar forEach = uncurryThis(SetPrototype.forEach);\nvar keys = uncurryThis(SetPrototype.keys);\nvar next = keys(new Set()).next;\n\nmodule.exports = function (set, fn, interruptible) {\n return interruptible ? iterateSimple(keys(set), fn, next) : forEach(set, fn);\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nvar createEmptySetLike = function () {\n return {\n size: 0,\n has: function () {\n return false;\n },\n keys: function () {\n return {\n next: function () {\n return { done: true };\n }\n };\n }\n };\n};\n\nmodule.exports = function (name) {\n try {\n var Set = getBuiltIn('Set');\n new Set()[name](createEmptySetLike());\n return true;\n } catch (error) {\n return false;\n }\n};\n","var uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar SetHelpers = require('../internals/set-helpers');\n\nmodule.exports = uncurryThisAccessor(SetHelpers.proto, 'size', 'get') || function (set) {\n return set.size;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineBuiltInAccessor(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar SetHelpers = require('../internals/set-helpers');\nvar clone = require('../internals/set-clone');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSimple = require('../internals/iterate-simple');\n\nvar add = SetHelpers.add;\nvar has = SetHelpers.has;\nvar remove = SetHelpers.remove;\n\n// `Set.prototype.symmetricDifference` method\n// https://github.com/tc39/proposal-set-methods\nmodule.exports = function symmetricDifference(other) {\n var O = aSet(this);\n var keysIter = getSetRecord(other).getIterator();\n var result = clone(O);\n iterateSimple(keysIter, function (e) {\n if (has(O, e)) remove(result, e);\n else add(result, e);\n });\n return result;\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar add = require('../internals/set-helpers').add;\nvar clone = require('../internals/set-clone');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSimple = require('../internals/iterate-simple');\n\n// `Set.prototype.union` method\n// https://github.com/tc39/proposal-set-methods\nmodule.exports = function union(other) {\n var O = aSet(this);\n var keysIter = getSetRecord(other).getIterator();\n var result = clone(O);\n iterateSimple(keysIter, function (it) {\n add(result, it);\n });\n return result;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.28.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.28.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toString = require('../internals/to-string');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nvar $TypeError = TypeError;\nvar push = uncurryThis([].push);\nvar join = uncurryThis([].join);\n\n// `String.cooked` method\n// https://tc39.es/proposal-string-cooked/\nmodule.exports = function cooked(template /* , ...substitutions */) {\n var cookedTemplate = toIndexedObject(template);\n var literalSegments = lengthOfArrayLike(cookedTemplate);\n if (!literalSegments) return '';\n var argumentsLength = arguments.length;\n var elements = [];\n var i = 0;\n while (true) {\n var nextVal = cookedTemplate[i++];\n if (nextVal === undefined) throw $TypeError('Incorrect template');\n push(elements, toString(nextVal));\n if (i === literalSegments) return join(elements, '');\n if (i < argumentsLength) push(elements, toString(arguments[i]));\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","// adapted from https://github.com/jridgewell/string-dedent\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar fromCharCode = String.fromCharCode;\nvar fromCodePoint = getBuiltIn('String', 'fromCodePoint');\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n\nvar ZERO_CODE = 48;\nvar NINE_CODE = 57;\nvar LOWER_A_CODE = 97;\nvar LOWER_F_CODE = 102;\nvar UPPER_A_CODE = 65;\nvar UPPER_F_CODE = 70;\n\nvar isDigit = function (str, index) {\n var c = charCodeAt(str, index);\n return c >= ZERO_CODE && c <= NINE_CODE;\n};\n\nvar parseHex = function (str, index, end) {\n if (end >= str.length) return -1;\n var n = 0;\n for (; index < end; index++) {\n var c = hexToInt(charCodeAt(str, index));\n if (c === -1) return -1;\n n = n * 16 + c;\n }\n return n;\n};\n\nvar hexToInt = function (c) {\n if (c >= ZERO_CODE && c <= NINE_CODE) return c - ZERO_CODE;\n if (c >= LOWER_A_CODE && c <= LOWER_F_CODE) return c - LOWER_A_CODE + 10;\n if (c >= UPPER_A_CODE && c <= UPPER_F_CODE) return c - UPPER_A_CODE + 10;\n return -1;\n};\n\nmodule.exports = function (raw) {\n var out = '';\n var start = 0;\n // We need to find every backslash escape sequence, and cook the escape into a real char.\n var i = 0;\n var n;\n while ((i = stringIndexOf(raw, '\\\\', i)) > -1) {\n out += stringSlice(raw, start, i);\n // If the backslash is the last char of the string, then it was an invalid sequence.\n // This can't actually happen in a tagged template literal, but could happen if you manually\n // invoked the tag with an array.\n if (++i === raw.length) return;\n var next = charAt(raw, i++);\n switch (next) {\n // Escaped control codes need to be individually processed.\n case 'b':\n out += '\\b';\n break;\n case 't':\n out += '\\t';\n break;\n case 'n':\n out += '\\n';\n break;\n case 'v':\n out += '\\v';\n break;\n case 'f':\n out += '\\f';\n break;\n case 'r':\n out += '\\r';\n break;\n // Escaped line terminators just skip the char.\n case '\\r':\n // Treat `\\r\\n` as a single terminator.\n if (i < raw.length && charAt(raw, i) === '\\n') ++i;\n // break omitted\n case '\\n':\n case '\\u2028':\n case '\\u2029':\n break;\n // `\\0` is a null control char, but `\\0` followed by another digit is an illegal octal escape.\n case '0':\n if (isDigit(raw, i)) return;\n out += '\\0';\n break;\n // Hex escapes must contain 2 hex chars.\n case 'x':\n n = parseHex(raw, i, i + 2);\n if (n === -1) return;\n i += 2;\n out += fromCharCode(n);\n break;\n // Unicode escapes contain either 4 chars, or an unlimited number between `{` and `}`.\n // The hex value must not overflow 0x10FFFF.\n case 'u':\n if (i < raw.length && charAt(raw, i) === '{') {\n var end = stringIndexOf(raw, '}', ++i);\n if (end === -1) return;\n n = parseHex(raw, i, end);\n i = end + 1;\n } else {\n n = parseHex(raw, i, i + 4);\n i += 4;\n }\n if (n === -1 || n > 0x10FFFF) return;\n out += fromCodePoint(n);\n break;\n default:\n if (isDigit(next, 0)) return;\n out += next;\n }\n start = i;\n }\n return out + stringSlice(raw, start);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\nvar ltrim = RegExp('^[' + whitespaces + ']+');\nvar rtrim = RegExp('(^|[^' + whitespaces + '])[' + whitespaces + ']+$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, rtrim, '$1');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar V8 = require('../internals/engine-v8-version');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar structuredClone = global.structuredClone;\n\nmodule.exports = !!structuredClone && !fails(function () {\n // prevent V8 ArrayBufferDetaching protector cell invalidation and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if ((IS_DENO && V8 > 92) || (IS_NODE && V8 > 94) || (IS_BROWSER && V8 > 97)) return false;\n var buffer = new ArrayBuffer(8);\n var clone = structuredClone(buffer, { transfer: [buffer] });\n return buffer.byteLength != 0 || clone.byteLength != 8;\n});\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\nfails(function () {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n $location = global.location;\n});\n\nvar run = function (id) {\n if (hasOwn(queue, id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar eventListener = function (event) {\n run(event.data);\n};\n\nvar globalPostMessageDefer = function (id) {\n // old engines have not location.origin\n global.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = eventListener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n isCallable(global.postMessage) &&\n !global.importScripts &&\n $location && $location.protocol !== 'file:' &&\n !fails(globalPostMessageDefer)\n ) {\n defer = globalPostMessageDefer;\n global.addEventListener('message', eventListener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var toPrimitive = require('../internals/to-primitive');\n\nvar $TypeError = TypeError;\n\n// `ToBigInt` abstract operation\n// https://tc39.es/ecma262/#sec-tobigint\nmodule.exports = function (argument) {\n var prim = toPrimitive(argument, 'number');\n if (typeof prim == 'number') throw $TypeError(\"Can't convert number to bigint\");\n // eslint-disable-next-line es/no-bigint -- safe\n return BigInt(prim);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\n\nvar $RangeError = RangeError;\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toIntegerOrInfinity(it);\n var length = toLength(number);\n if (number !== length) throw $RangeError('Wrong length or index');\n return length;\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var toPositiveInteger = require('../internals/to-positive-integer');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw $RangeError('Wrong offset');\n return offset;\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it) {\n var result = toIntegerOrInfinity(it);\n if (result < 0) throw $RangeError(\"The argument can't be less than 0\");\n return result;\n};\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isIterable = require('../internals/is-iterable');\nvar isObject = require('../internals/is-object');\n\nvar Set = getBuiltIn('Set');\n\nvar isSetLike = function (it) {\n return isObject(it)\n && typeof it.size == 'number'\n && isCallable(it.has)\n && isCallable(it.keys);\n};\n\n// fallback old -> new set methods proposal arguments\nmodule.exports = function (it) {\n if (isSetLike(it)) return it;\n if (isIterable(it)) return new Set(it);\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nmodule.exports = function (instance, list) {\n return arrayFromConstructorAndList(typedArraySpeciesConstructor(instance), list);\n};\n","var ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\n\n// a part of `TypedArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#typedarray-species-create\nmodule.exports = function (originalArray) {\n return aTypedArrayConstructor(speciesConstructor(originalArray, getTypedArrayConstructor(originalArray)));\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw $TypeError('Not enough arguments');\n return passed;\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","var uncurryThis = require('../internals/function-uncurry-this');\n\n// eslint-disable-next-line es/no-weak-map -- safe\nvar WeakMapPrototype = WeakMap.prototype;\n\nmodule.exports = {\n // eslint-disable-next-line es/no-weak-map -- safe\n WeakMap: WeakMap,\n set: uncurryThis(WeakMapPrototype.set),\n get: uncurryThis(WeakMapPrototype.get),\n has: uncurryThis(WeakMapPrototype.has),\n remove: uncurryThis(WeakMapPrototype['delete'])\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\n// eslint-disable-next-line es/no-weak-set -- safe\nvar WeakSetPrototype = WeakSet.prototype;\n\nmodule.exports = {\n // eslint-disable-next-line es/no-weak-set -- safe\n WeakSet: WeakSet,\n add: uncurryThis(WeakSetPrototype.add),\n has: uncurryThis(WeakSetPrototype.has),\n remove: uncurryThis(WeakSetPrototype['delete'])\n};\n","var path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar proxyAccessor = require('../internals/proxy-accessor');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar installErrorCause = require('../internals/install-error-cause');\nvar installErrorStack = require('../internals/error-stack-install');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nmodule.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) {\n var STACK_TRACE_LIMIT = 'stackTraceLimit';\n var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1;\n var path = FULL_NAME.split('.');\n var ERROR_NAME = path[path.length - 1];\n var OriginalError = getBuiltIn.apply(null, path);\n\n if (!OriginalError) return;\n\n var OriginalErrorPrototype = OriginalError.prototype;\n\n // V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006\n if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) delete OriginalErrorPrototype.cause;\n\n if (!FORCED) return OriginalError;\n\n var BaseError = getBuiltIn('Error');\n\n var WrappedError = wrapper(function (a, b) {\n var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined);\n var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError();\n if (message !== undefined) createNonEnumerableProperty(result, 'message', message);\n installErrorStack(result, WrappedError, result.stack, 2);\n if (this && isPrototypeOf(OriginalErrorPrototype, this)) inheritIfRequired(result, this, WrappedError);\n if (arguments.length > OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]);\n return result;\n });\n\n WrappedError.prototype = OriginalErrorPrototype;\n\n if (ERROR_NAME !== 'Error') {\n if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError);\n else copyConstructorProperties(WrappedError, BaseError, { name: true });\n } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) {\n proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT);\n proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace');\n }\n\n copyConstructorProperties(WrappedError, OriginalError);\n\n if (!IS_PURE) try {\n // Safari 13- bug: WebAssembly errors does not have a proper `.name`\n if (OriginalErrorPrototype.name !== ERROR_NAME) {\n createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME);\n }\n OriginalErrorPrototype.constructor = WrappedError;\n } catch (error) { /* empty */ }\n\n return WrappedError;\n};\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar fails = require('../internals/fails');\nvar wrapErrorConstructorWithCause = require('../internals/wrap-error-constructor-with-cause');\n\nvar AGGREGATE_ERROR = 'AggregateError';\nvar $AggregateError = getBuiltIn(AGGREGATE_ERROR);\n\nvar FORCED = !fails(function () {\n return $AggregateError([1]).errors[0] !== 1;\n}) && fails(function () {\n return $AggregateError([1], AGGREGATE_ERROR, { cause: 7 }).cause !== 7;\n});\n\n// https://github.com/tc39/proposal-error-cause\n$({ global: true, constructor: true, arity: 2, forced: FORCED }, {\n AggregateError: wrapErrorConstructorWithCause(AGGREGATE_ERROR, function (init) {\n // eslint-disable-next-line no-unused-vars -- required for functions `.length`\n return function AggregateError(errors, message) { return apply(init, this, arguments); };\n }, FORCED, true)\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar create = require('../internals/object-create');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar installErrorCause = require('../internals/install-error-cause');\nvar installErrorStack = require('../internals/error-stack-install');\nvar iterate = require('../internals/iterate');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Error = Error;\nvar push = [].push;\n\nvar $AggregateError = function AggregateError(errors, message /* , options */) {\n var isInstance = isPrototypeOf(AggregateErrorPrototype, this);\n var that;\n if (setPrototypeOf) {\n that = setPrototypeOf($Error(), isInstance ? getPrototypeOf(this) : AggregateErrorPrototype);\n } else {\n that = isInstance ? this : create(AggregateErrorPrototype);\n createNonEnumerableProperty(that, TO_STRING_TAG, 'Error');\n }\n if (message !== undefined) createNonEnumerableProperty(that, 'message', normalizeStringArgument(message));\n installErrorStack(that, $AggregateError, that.stack, 1);\n if (arguments.length > 2) installErrorCause(that, arguments[2]);\n var errorsArray = [];\n iterate(errors, push, { that: errorsArray });\n createNonEnumerableProperty(that, 'errors', errorsArray);\n return that;\n};\n\nif (setPrototypeOf) setPrototypeOf($AggregateError, $Error);\nelse copyConstructorProperties($AggregateError, $Error, { name: true });\n\nvar AggregateErrorPrototype = $AggregateError.prototype = create($Error.prototype, {\n constructor: createPropertyDescriptor(1, $AggregateError),\n message: createPropertyDescriptor(1, ''),\n name: createPropertyDescriptor(1, 'AggregateError')\n});\n\n// `AggregateError` constructor\n// https://tc39.es/ecma262/#sec-aggregate-error-constructor\n$({ global: true, constructor: true, arity: 2 }, {\n AggregateError: $AggregateError\n});\n","// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/es.aggregate-error.constructor');\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.at` method\n// https://github.com/tc39/proposal-relative-indexing-method\n$({ target: 'Array', proto: true }, {\n at: function at(index) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var relativeIndex = toIntegerOrInfinity(index);\n var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;\n return (k < 0 || k >= len) ? undefined : O[k];\n }\n});\n\naddToUnscopables('at');\n","'use strict';\nvar $ = require('../internals/export');\nvar $findLastIndex = require('../internals/array-iteration-from-last').findLastIndex;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.findLastIndex` method\n// https://github.com/tc39/proposal-array-find-from-last\n$({ target: 'Array', proto: true }, {\n findLastIndex: function findLastIndex(callbackfn /* , that = undefined */) {\n return $findLastIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\naddToUnscopables('findLastIndex');\n","'use strict';\nvar $ = require('../internals/export');\nvar $findLast = require('../internals/array-iteration-from-last').findLast;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.findLast` method\n// https://github.com/tc39/proposal-array-find-from-last\n$({ target: 'Array', proto: true }, {\n findLast: function findLast(callbackfn /* , that = undefined */) {\n return $findLast(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\naddToUnscopables('findLast');\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar fails = require('../internals/fails');\n\nvar INCORRECT_TO_LENGTH = fails(function () {\n return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;\n});\n\n// V8 and Safari <= 15.4, FF < 23 throws InternalError\n// https://bugs.chromium.org/p/v8/issues/detail?id=12681\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).push();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\n\nvar FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();\n\n// `Array.prototype.push` method\n// https://tc39.es/ecma262/#sec-array.prototype.push\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n push: function push(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n doesNotExceedSafeInteger(len + argCount);\n for (var i = 0; i < argCount; i++) {\n O[len] = arguments[i];\n len++;\n }\n setArrayLength(O, len);\n return len;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduceRight = require('../internals/array-reduce').right;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\nvar FORCED = CHROME_BUG || !arrayMethodIsStrict('reduceRight');\n\n// `Array.prototype.reduceRight` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduceright\n$({ target: 'Array', proto: true, forced: FORCED }, {\n reduceRight: function reduceRight(callbackfn /* , initialValue */) {\n return $reduceRight(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\nvar FORCED = CHROME_BUG || !arrayMethodIsStrict('reduce');\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: FORCED }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar arrayToReversed = require('../internals/array-to-reversed');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar $Array = Array;\n\n// `Array.prototype.toReversed` method\n// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toReversed\n$({ target: 'Array', proto: true }, {\n toReversed: function toReversed() {\n return arrayToReversed(toIndexedObject(this), $Array);\n }\n});\n\naddToUnscopables('toReversed');\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\nvar getVirtual = require('../internals/entry-virtual');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar $Array = Array;\nvar sort = uncurryThis(getVirtual('Array').sort);\n\n// `Array.prototype.toSorted` method\n// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toSorted\n$({ target: 'Array', proto: true }, {\n toSorted: function toSorted(compareFn) {\n if (compareFn !== undefined) aCallable(compareFn);\n var O = toIndexedObject(this);\n var A = arrayFromConstructorAndList($Array, O);\n return sort(A, compareFn);\n }\n});\n\naddToUnscopables('toSorted');\n","'use strict';\nvar $ = require('../internals/export');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar $Array = Array;\nvar max = Math.max;\nvar min = Math.min;\n\n// `Array.prototype.toSpliced` method\n// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toSpliced\n$({ target: 'Array', proto: true }, {\n toSpliced: function toSpliced(start, deleteCount /* , ...items */) {\n var O = toIndexedObject(this);\n var len = lengthOfArrayLike(O);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var k = 0;\n var insertCount, actualDeleteCount, newLen, A;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart);\n }\n newLen = doesNotExceedSafeInteger(len + insertCount - actualDeleteCount);\n A = $Array(newLen);\n\n for (; k < actualStart; k++) A[k] = O[k];\n for (; k < actualStart + insertCount; k++) A[k] = arguments[k - actualStart + 2];\n for (; k < newLen; k++) A[k] = O[k + actualDeleteCount - insertCount];\n\n return A;\n }\n});\n\naddToUnscopables('toSpliced');\n","'use strict';\nvar $ = require('../internals/export');\nvar arrayWith = require('../internals/array-with');\nvar toIndexedObject = require('../internals/to-indexed-object');\n\nvar $Array = Array;\n\n// `Array.prototype.with` method\n// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.with\n$({ target: 'Array', proto: true }, {\n 'with': function (index, value) {\n return arrayWith(toIndexedObject(this), $Array, index, value);\n }\n});\n","/* eslint-disable no-unused-vars -- required for functions `.length` */\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar wrapErrorConstructorWithCause = require('../internals/wrap-error-constructor-with-cause');\n\nvar WEB_ASSEMBLY = 'WebAssembly';\nvar WebAssembly = global[WEB_ASSEMBLY];\n\nvar FORCED = Error('e', { cause: 7 }).cause !== 7;\n\nvar exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED);\n $({ global: true, constructor: true, arity: 1, forced: FORCED }, O);\n};\n\nvar exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n if (WebAssembly && WebAssembly[ERROR_NAME]) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED);\n $({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O);\n }\n};\n\n// https://tc39.es/ecma262/#sec-nativeerror\n// https://github.com/tc39/proposal-error-cause\nexportGlobalErrorCauseWrapper('Error', function (init) {\n return function Error(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('EvalError', function (init) {\n return function EvalError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('RangeError', function (init) {\n return function RangeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('ReferenceError', function (init) {\n return function ReferenceError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('SyntaxError', function (init) {\n return function SyntaxError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('TypeError', function (init) {\n return function TypeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('URIError', function (init) {\n return function URIError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('CompileError', function (init) {\n return function CompileError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('LinkError', function (init) {\n return function LinkError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) {\n return function RuntimeError(message) { return apply(init, this, arguments); };\n});\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\ncollection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/es.map.constructor');\n","var $ = require('../internals/export');\nvar hasOwn = require('../internals/has-own-property');\n\n// `Object.hasOwn` method\n// https://github.com/tc39/proposal-accessible-object-hasownproperty\n$({ target: 'Object', stat: true }, {\n hasOwn: hasOwn\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar getBuiltIn = require('../internals/get-built-in');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\nvar PROMISE_ANY_ERROR = 'No one promise resolved';\n\n// `Promise.any` method\n// https://tc39.es/ecma262/#sec-promise.any\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n any: function any(iterable) {\n var C = this;\n var AggregateError = getBuiltIn('AggregateError');\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aCallable(C.resolve);\n var errors = [];\n var counter = 0;\n var remaining = 1;\n var alreadyResolved = false;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyRejected = false;\n remaining++;\n call(promiseResolve, C, promise).then(function (value) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyResolved = true;\n resolve(value);\n }, function (error) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyRejected = true;\n errors[index] = error;\n --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR));\n });\n });\n --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR));\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n$({ global: true }, { Reflect: {} });\n\n// Reflect[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-reflect-@@tostringtag\nsetToStringTag(global.Reflect, 'Reflect', true);\n","var global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar regExpFlags = require('../internals/regexp-flags');\nvar fails = require('../internals/fails');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 'd') -> /./d and it causes SyntaxError\nvar RegExp = global.RegExp;\nvar RegExpPrototype = RegExp.prototype;\n\nvar FORCED = DESCRIPTORS && fails(function () {\n var INDICES_SUPPORT = true;\n try {\n RegExp('.', 'd');\n } catch (error) {\n INDICES_SUPPORT = false;\n }\n\n var O = {};\n // modern V8 bug\n var calls = '';\n var expected = INDICES_SUPPORT ? 'dgimsy' : 'gimsy';\n\n var addGetter = function (key, chr) {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(O, key, { get: function () {\n calls += chr;\n return true;\n } });\n };\n\n var pairs = {\n dotAll: 's',\n global: 'g',\n ignoreCase: 'i',\n multiline: 'm',\n sticky: 'y'\n };\n\n if (INDICES_SUPPORT) pairs.hasIndices = 'd';\n\n for (var key in pairs) addGetter(key, pairs[key]);\n\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n var result = Object.getOwnPropertyDescriptor(RegExpPrototype, 'flags').get.call(O);\n\n return result !== expected || calls !== expected;\n});\n\n// `RegExp.prototype.flags` getter\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nif (FORCED) defineBuiltInAccessor(RegExpPrototype, 'flags', {\n configurable: true,\n get: regExpFlags\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\n\nvar charAt = uncurryThis(''.charAt);\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es/no-array-string-prototype-at -- safe\n return '𠮷'.at(-2) !== '\\uD842';\n});\n\n// `String.prototype.at` method\n// https://github.com/tc39/proposal-relative-indexing-method\n$({ target: 'String', proto: true, forced: FORCED }, {\n at: function at(index) {\n var S = toString(requireObjectCoercible(this));\n var len = S.length;\n var relativeIndex = toIntegerOrInfinity(index);\n var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;\n return (k < 0 || k >= len) ? undefined : charAt(S, k);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar $TypeError = TypeError;\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar max = Math.max;\n\nvar stringIndexOf = function (string, searchValue, fromIndex) {\n if (fromIndex > string.length) return -1;\n if (searchValue === '') return fromIndex;\n return indexOf(string, searchValue, fromIndex);\n};\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;\n var position = 0;\n var endOfLastMatch = 0;\n var result = '';\n if (!isNullOrUndefined(searchValue)) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = toString(requireObjectCoercible(getRegExpFlags(searchValue)));\n if (!~indexOf(flags, 'g')) throw $TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = getMethod(searchValue, REPLACE);\n if (replacer) {\n return call(replacer, searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return replace(toString(O), searchValue, replaceValue);\n }\n }\n string = toString(O);\n searchString = toString(searchValue);\n functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n searchLength = searchString.length;\n advanceBy = max(1, searchLength);\n position = stringIndexOf(string, searchString, 0);\n while (position !== -1) {\n replacement = functionalReplace\n ? toString(replaceValue(searchString, position, string))\n : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n result += stringSlice(string, endOfLastMatch, position) + replacement;\n endOfLastMatch = position + searchLength;\n position = stringIndexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.at` method\n// https://github.com/tc39/proposal-relative-indexing-method\nexportTypedArrayMethod('at', function at(index) {\n var O = aTypedArray(this);\n var len = lengthOfArrayLike(O);\n var relativeIndex = toIntegerOrInfinity(index);\n var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;\n return (k < 0 || k >= len) ? undefined : O[k];\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findLastIndex = require('../internals/array-iteration-from-last').findLastIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findLastIndex` method\n// https://github.com/tc39/proposal-array-find-from-last\nexportTypedArrayMethod('findLastIndex', function findLastIndex(predicate /* , thisArg */) {\n return $findLastIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findLast = require('../internals/array-iteration-from-last').findLast;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findLast` method\n// https://github.com/tc39/proposal-array-find-from-last\nexportTypedArrayMethod('findLast', function findLast(predicate /* , thisArg */) {\n return $findLast(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toOffset = require('../internals/to-offset');\nvar toIndexedObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar RangeError = global.RangeError;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar $set = Int8ArrayPrototype && Int8ArrayPrototype.set;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS = !fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n var array = new Uint8ClampedArray(2);\n call($set, array, { length: 1, 0: 3 }, 1);\n return array[1] !== 3;\n});\n\n// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other\nvar TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {\n var array = new Int8Array(2);\n array.set(1);\n array.set('2', 1);\n return array[0] !== 0 || array[1] !== 2;\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var src = toIndexedObject(arrayLike);\n if (WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);\n var length = this.length;\n var len = lengthOfArrayLike(src);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, !WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);\n","'use strict';\nvar arrayToReversed = require('../internals/array-to-reversed');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\n\n// `%TypedArray%.prototype.toReversed` method\n// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toReversed\nexportTypedArrayMethod('toReversed', function toReversed() {\n return arrayToReversed(aTypedArray(this), getTypedArrayConstructor(this));\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar sort = uncurryThis(ArrayBufferViewCore.TypedArrayPrototype.sort);\n\n// `%TypedArray%.prototype.toSorted` method\n// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toSorted\nexportTypedArrayMethod('toSorted', function toSorted(compareFn) {\n if (compareFn !== undefined) aCallable(compareFn);\n var O = aTypedArray(this);\n var A = arrayFromConstructorAndList(getTypedArrayConstructor(O), O);\n return sort(A, compareFn);\n});\n","'use strict';\nvar arrayWith = require('../internals/array-with');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar isBigIntArray = require('../internals/is-big-int-array');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toBigInt = require('../internals/to-big-int');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar PROPER_ORDER = !!function () {\n try {\n // eslint-disable-next-line no-throw-literal, es/no-typed-arrays, es/no-array-prototype-with -- required for testing\n new Int8Array(1)['with'](2, { valueOf: function () { throw 8; } });\n } catch (error) {\n // some early implementations, like WebKit, does not follow the final semantic\n // https://github.com/tc39/proposal-change-array-by-copy/pull/86\n return error === 8;\n }\n}();\n\n// `%TypedArray%.prototype.with` method\n// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.with\nexportTypedArrayMethod('with', { 'with': function (index, value) {\n var O = aTypedArray(this);\n var relativeIndex = toIntegerOrInfinity(index);\n var actualValue = isBigIntArray(O) ? toBigInt(value) : +value;\n return arrayWith(O, getTypedArrayConstructor(O), relativeIndex, actualValue);\n} }['with'], !PROPER_ORDER);\n","'use strict';\nvar FREEZING = require('../internals/freezing');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\nvar isObject = require('../internals/is-object');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar fails = require('../internals/fails');\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\n\nvar $Object = Object;\n// eslint-disable-next-line es/no-array-isarray -- safe\nvar isArray = Array.isArray;\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar isExtensible = $Object.isExtensible;\n// eslint-disable-next-line es/no-object-isfrozen -- safe\nvar isFrozen = $Object.isFrozen;\n// eslint-disable-next-line es/no-object-issealed -- safe\nvar isSealed = $Object.isSealed;\n// eslint-disable-next-line es/no-object-freeze -- safe\nvar freeze = $Object.freeze;\n// eslint-disable-next-line es/no-object-seal -- safe\nvar seal = $Object.seal;\n\nvar FROZEN = {};\nvar SEALED = {};\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar InternalWeakMap;\n\nvar wrapper = function (init) {\n return function WeakMap() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n};\n\n// `WeakMap` constructor\n// https://tc39.es/ecma262/#sec-weakmap-constructor\nvar $WeakMap = collection('WeakMap', wrapper, collectionWeak);\nvar WeakMapPrototype = $WeakMap.prototype;\nvar nativeSet = uncurryThis(WeakMapPrototype.set);\n\n// Chakra Edge bug: adding frozen arrays to WeakMap unfreeze them\nvar hasMSEdgeFreezingBug = function () {\n return FREEZING && fails(function () {\n var frozenArray = freeze([]);\n nativeSet(new $WeakMap(), frozenArray, 1);\n return !isFrozen(frozenArray);\n });\n};\n\n// IE11 WeakMap frozen keys fix\n// We can't use feature detection because it crash some old IE builds\n// https://github.com/zloirock/core-js/issues/485\nif (NATIVE_WEAK_MAP) if (IS_IE11) {\n InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);\n InternalMetadataModule.enable();\n var nativeDelete = uncurryThis(WeakMapPrototype['delete']);\n var nativeHas = uncurryThis(WeakMapPrototype.has);\n var nativeGet = uncurryThis(WeakMapPrototype.get);\n defineBuiltIns(WeakMapPrototype, {\n 'delete': function (key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceInternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeDelete(this, key) || state.frozen['delete'](key);\n } return nativeDelete(this, key);\n },\n has: function has(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceInternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeHas(this, key) || state.frozen.has(key);\n } return nativeHas(this, key);\n },\n get: function get(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceInternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeHas(this, key) ? nativeGet(this, key) : state.frozen.get(key);\n } return nativeGet(this, key);\n },\n set: function set(key, value) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceInternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n nativeHas(this, key) ? nativeSet(this, key, value) : state.frozen.set(key, value);\n } else nativeSet(this, key, value);\n return this;\n }\n });\n// Chakra Edge frozen keys fix\n} else if (hasMSEdgeFreezingBug()) {\n defineBuiltIns(WeakMapPrototype, {\n set: function set(key, value) {\n var arrayIntegrityLevel;\n if (isArray(key)) {\n if (isFrozen(key)) arrayIntegrityLevel = FROZEN;\n else if (isSealed(key)) arrayIntegrityLevel = SEALED;\n }\n nativeSet(this, key, value);\n if (arrayIntegrityLevel == FROZEN) freeze(key);\n if (arrayIntegrityLevel == SEALED) seal(key);\n return this;\n }\n });\n}\n","// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/es.weak-map.constructor');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isDetached = require('../internals/array-buffer-is-detached');\n\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\n\nif (DESCRIPTORS && !('detached' in ArrayBufferPrototype)) {\n defineBuiltInAccessor(ArrayBufferPrototype, 'detached', {\n configurable: true,\n get: function detached() {\n return isDetached(this);\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $transfer = require('../internals/array-buffer-transfer');\n\n// `ArrayBuffer.prototype.transferToFixedLength` method\n// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfertofixedlength\nif ($transfer) $({ target: 'ArrayBuffer', proto: true }, {\n transferToFixedLength: function transferToFixedLength() {\n return $transfer(this, arguments.length ? arguments[0] : undefined, false);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $transfer = require('../internals/array-buffer-transfer');\n\n// `ArrayBuffer.prototype.transfer` method\n// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfer\nif ($transfer) $({ target: 'ArrayBuffer', proto: true }, {\n transfer: function transfer() {\n return $transfer(this, arguments.length ? arguments[0] : undefined, true);\n }\n});\n","'use strict';\n// TODO: remove from `core-js@4`\nvar $ = require('../internals/export');\nvar $filterReject = require('../internals/array-iteration').filterReject;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.filterOut` method\n// https://github.com/tc39/proposal-array-filtering\n$({ target: 'Array', proto: true, forced: true }, {\n filterOut: function filterOut(callbackfn /* , thisArg */) {\n return $filterReject(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\naddToUnscopables('filterOut');\n","'use strict';\nvar $ = require('../internals/export');\nvar $filterReject = require('../internals/array-iteration').filterReject;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.filterReject` method\n// https://github.com/tc39/proposal-array-filtering\n$({ target: 'Array', proto: true, forced: true }, {\n filterReject: function filterReject(callbackfn /* , thisArg */) {\n return $filterReject(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\naddToUnscopables('filterReject');\n","var $ = require('../internals/export');\nvar fromAsync = require('../internals/array-from-async');\n\n// `Array.fromAsync` method\n// https://github.com/tc39/proposal-array-from-async\n$({ target: 'Array', stat: true }, {\n fromAsync: fromAsync\n});\n","// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar $groupToMap = require('../internals/array-group-to-map');\nvar IS_PURE = require('../internals/is-pure');\n\n// `Array.prototype.groupByToMap` method\n// https://github.com/tc39/proposal-array-grouping\n// https://bugs.webkit.org/show_bug.cgi?id=236541\n$({ target: 'Array', proto: true, name: 'groupToMap', forced: IS_PURE || !arrayMethodIsStrict('groupByToMap') }, {\n groupByToMap: $groupToMap\n});\n\naddToUnscopables('groupByToMap');\n","'use strict';\n// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar $group = require('../internals/array-group');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.groupBy` method\n// https://github.com/tc39/proposal-array-grouping\n// https://bugs.webkit.org/show_bug.cgi?id=236541\n$({ target: 'Array', proto: true, forced: !arrayMethodIsStrict('groupBy') }, {\n groupBy: function groupBy(callbackfn /* , thisArg */) {\n var thisArg = arguments.length > 1 ? arguments[1] : undefined;\n return $group(this, callbackfn, thisArg);\n }\n});\n\naddToUnscopables('groupBy');\n","var $ = require('../internals/export');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar $groupToMap = require('../internals/array-group-to-map');\nvar IS_PURE = require('../internals/is-pure');\n\n// `Array.prototype.groupToMap` method\n// https://github.com/tc39/proposal-array-grouping\n$({ target: 'Array', proto: true, forced: IS_PURE }, {\n groupToMap: $groupToMap\n});\n\naddToUnscopables('groupToMap');\n","'use strict';\nvar $ = require('../internals/export');\nvar $group = require('../internals/array-group');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.group` method\n// https://github.com/tc39/proposal-array-grouping\n$({ target: 'Array', proto: true }, {\n group: function group(callbackfn /* , thisArg */) {\n var thisArg = arguments.length > 1 ? arguments[1] : undefined;\n return $group(this, callbackfn, thisArg);\n }\n});\n\naddToUnscopables('group');\n","var $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\n\n// eslint-disable-next-line es/no-object-isfrozen -- safe\nvar isFrozen = Object.isFrozen;\n\nvar isFrozenStringArray = function (array, allowUndefined) {\n if (!isFrozen || !isArray(array) || !isFrozen(array)) return false;\n var index = 0;\n var length = array.length;\n var element;\n while (index < length) {\n element = array[index++];\n if (!(typeof element == 'string' || (allowUndefined && element === undefined))) {\n return false;\n }\n } return length !== 0;\n};\n\n// `Array.isTemplateObject` method\n// https://github.com/tc39/proposal-array-is-template-object\n$({ target: 'Array', stat: true, sham: true, forced: true }, {\n isTemplateObject: function isTemplateObject(value) {\n if (!isFrozenStringArray(value, true)) return false;\n var raw = value.raw;\n return raw.length === value.length && isFrozenStringArray(raw, false);\n }\n});\n","'use strict';\n// TODO: Remove from `core-js@4`\nvar DESCRIPTORS = require('../internals/descriptors');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\n// `Array.prototype.lastIndex` getter\n// https://github.com/keithamus/proposal-array-last\nif (DESCRIPTORS) {\n defineBuiltInAccessor(Array.prototype, 'lastIndex', {\n configurable: true,\n get: function lastIndex() {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n return len == 0 ? 0 : len - 1;\n }\n });\n\n addToUnscopables('lastIndex');\n}\n","'use strict';\n// TODO: Remove from `core-js@4`\nvar DESCRIPTORS = require('../internals/descriptors');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\n// `Array.prototype.lastIndex` accessor\n// https://github.com/keithamus/proposal-array-last\nif (DESCRIPTORS) {\n defineBuiltInAccessor(Array.prototype, 'lastItem', {\n configurable: true,\n get: function lastItem() {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n return len == 0 ? undefined : O[len - 1];\n },\n set: function lastItem(value) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n return O[len == 0 ? 0 : len - 1] = value;\n }\n });\n\n addToUnscopables('lastItem');\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar uniqueBy = require('../internals/array-unique-by');\n\n// `Array.prototype.uniqueBy` method\n// https://github.com/tc39/proposal-array-unique\n$({ target: 'Array', proto: true, forced: true }, {\n uniqueBy: uniqueBy\n});\n\naddToUnscopables('uniqueBy');\n","'use strict';\n// https://github.com/tc39/proposal-async-explicit-resource-management\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar getBuiltIn = require('../internals/get-built-in');\nvar aCallable = require('../internals/a-callable');\nvar anInstance = require('../internals/an-instance');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar InternalStateModule = require('../internals/internal-state');\nvar addDisposableResource = require('../internals/add-disposable-resource');\n\nvar Promise = getBuiltIn('Promise');\nvar SuppressedError = getBuiltIn('SuppressedError');\nvar $ReferenceError = ReferenceError;\n\nvar ASYNC_DISPOSE = wellKnownSymbol('asyncDispose');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nvar ASYNC_DISPOSABLE_STACK = 'AsyncDisposableStack';\nvar setInternalState = InternalStateModule.set;\nvar getAsyncDisposableStackInternalState = InternalStateModule.getterFor(ASYNC_DISPOSABLE_STACK);\n\nvar HINT = 'async-dispose';\nvar DISPOSED = 'disposed';\nvar PENDING = 'pending';\n\nvar ALREADY_DISPOSED = ASYNC_DISPOSABLE_STACK + ' already disposed';\n\nvar $AsyncDisposableStack = function AsyncDisposableStack() {\n setInternalState(anInstance(this, AsyncDisposableStackPrototype), {\n type: ASYNC_DISPOSABLE_STACK,\n state: PENDING,\n stack: []\n });\n\n if (!DESCRIPTORS) this.disposed = false;\n};\n\nvar AsyncDisposableStackPrototype = $AsyncDisposableStack.prototype;\n\ndefineBuiltIns(AsyncDisposableStackPrototype, {\n disposeAsync: function disposeAsync() {\n var asyncDisposableStack = this;\n return new Promise(function (resolve, reject) {\n var internalState = getAsyncDisposableStackInternalState(asyncDisposableStack);\n if (internalState.state == DISPOSED) return resolve(undefined);\n internalState.state = DISPOSED;\n if (!DESCRIPTORS) asyncDisposableStack.disposed = true;\n var stack = internalState.stack;\n var i = stack.length;\n var thrown = false;\n var suppressed;\n\n var handleError = function (result) {\n if (thrown) {\n suppressed = new SuppressedError(result, suppressed);\n } else {\n thrown = true;\n suppressed = result;\n }\n\n loop();\n };\n\n var loop = function () {\n if (i) {\n var disposeMethod = stack[--i];\n stack[i] = null;\n try {\n Promise.resolve(disposeMethod()).then(loop, handleError);\n } catch (error) {\n handleError(error);\n }\n } else {\n internalState.stack = null;\n thrown ? reject(suppressed) : resolve(undefined);\n }\n };\n\n loop();\n });\n },\n use: function use(value) {\n var internalState = getAsyncDisposableStackInternalState(this);\n if (internalState.state == DISPOSED) throw $ReferenceError(ALREADY_DISPOSED);\n addDisposableResource(internalState, value, HINT);\n return value;\n },\n adopt: function adopt(value, onDispose) {\n var internalState = getAsyncDisposableStackInternalState(this);\n if (internalState.state == DISPOSED) throw $ReferenceError(ALREADY_DISPOSED);\n aCallable(onDispose);\n addDisposableResource(internalState, undefined, HINT, function () {\n onDispose(value);\n });\n return value;\n },\n defer: function defer(onDispose) {\n var internalState = getAsyncDisposableStackInternalState(this);\n if (internalState.state == DISPOSED) throw $ReferenceError(ALREADY_DISPOSED);\n aCallable(onDispose);\n addDisposableResource(internalState, undefined, HINT, onDispose);\n },\n move: function move() {\n var internalState = getAsyncDisposableStackInternalState(this);\n if (internalState.state == DISPOSED) throw $ReferenceError(ALREADY_DISPOSED);\n var newAsyncDisposableStack = new $AsyncDisposableStack();\n getAsyncDisposableStackInternalState(newAsyncDisposableStack).stack = internalState.stack;\n internalState.stack = [];\n return newAsyncDisposableStack;\n }\n});\n\nif (DESCRIPTORS) defineBuiltInAccessor(AsyncDisposableStackPrototype, 'disposed', {\n configurable: true,\n get: function disposed() {\n return getAsyncDisposableStackInternalState(this).state == DISPOSED;\n }\n});\n\ndefineBuiltIn(AsyncDisposableStackPrototype, ASYNC_DISPOSE, AsyncDisposableStackPrototype.disposeAsync, { name: 'disposeAsync' });\ndefineBuiltIn(AsyncDisposableStackPrototype, TO_STRING_TAG, ASYNC_DISPOSABLE_STACK, { nonWritable: true });\n\n$({ global: true, constructor: true, forced: true }, {\n AsyncDisposableStack: $AsyncDisposableStack\n});\n","// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar indexed = require('../internals/async-iterator-indexed');\n\n// `AsyncIterator.prototype.asIndexedPairs` method\n// https://github.com/tc39/proposal-iterator-helpers\n$({ target: 'AsyncIterator', name: 'indexed', proto: true, real: true, forced: true }, {\n asIndexedPairs: indexed\n});\n","'use strict';\n// https://github.com/tc39/proposal-async-explicit-resource-management\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar getBuiltIn = require('../internals/get-built-in');\nvar getMethod = require('../internals/get-method');\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar AsyncIteratorPrototype = require('../internals/async-iterator-prototype');\n\nvar ASYNC_DISPOSE = wellKnownSymbol('asyncDispose');\nvar Promise = getBuiltIn('Promise');\n\nif (!hasOwn(AsyncIteratorPrototype, ASYNC_DISPOSE)) {\n defineBuiltIn(AsyncIteratorPrototype, ASYNC_DISPOSE, function () {\n var O = this;\n return new Promise(function (resolve, reject) {\n var $return = getMethod(O, 'return');\n if ($return) {\n Promise.resolve(call($return, O)).then(function () {\n resolve(undefined);\n }, reject);\n } else resolve(undefined);\n });\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar anInstance = require('../internals/an-instance');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar AsyncIteratorPrototype = require('../internals/async-iterator-prototype');\nvar IS_PURE = require('../internals/is-pure');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nvar AsyncIteratorConstructor = function AsyncIterator() {\n anInstance(this, AsyncIteratorPrototype);\n};\n\nAsyncIteratorConstructor.prototype = AsyncIteratorPrototype;\n\nif (!hasOwn(AsyncIteratorPrototype, TO_STRING_TAG)) {\n createNonEnumerableProperty(AsyncIteratorPrototype, TO_STRING_TAG, 'AsyncIterator');\n}\n\nif (IS_PURE || !hasOwn(AsyncIteratorPrototype, 'constructor') || AsyncIteratorPrototype.constructor === Object) {\n createNonEnumerableProperty(AsyncIteratorPrototype, 'constructor', AsyncIteratorConstructor);\n}\n\n// `AsyncIterator` constructor\n// https://github.com/tc39/proposal-async-iterator-helpers\n$({ global: true, constructor: true, forced: IS_PURE }, {\n AsyncIterator: AsyncIteratorConstructor\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar notANaN = require('../internals/not-a-nan');\nvar toPositiveInteger = require('../internals/to-positive-integer');\nvar createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');\nvar createIterResultObject = require('../internals/create-iter-result-object');\n\nvar AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {\n var state = this;\n\n return new Promise(function (resolve, reject) {\n var doneAndReject = function (error) {\n state.done = true;\n reject(error);\n };\n\n var loop = function () {\n try {\n Promise.resolve(anObject(call(state.next, state.iterator))).then(function (step) {\n try {\n if (anObject(step).done) {\n state.done = true;\n resolve(createIterResultObject(undefined, true));\n } else if (state.remaining) {\n state.remaining--;\n loop();\n } else resolve(createIterResultObject(step.value, false));\n } catch (err) { doneAndReject(err); }\n }, doneAndReject);\n } catch (error) { doneAndReject(error); }\n };\n\n loop();\n });\n});\n\n// `AsyncIterator.prototype.drop` method\n// https://github.com/tc39/proposal-async-iterator-helpers\n$({ target: 'AsyncIterator', proto: true, real: true }, {\n drop: function drop(limit) {\n return new AsyncIteratorProxy(getIteratorDirect(this), {\n remaining: toPositiveInteger(notANaN(+limit))\n });\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $every = require('../internals/async-iterator-iteration').every;\n\n// `AsyncIterator.prototype.every` method\n// https://github.com/tc39/proposal-async-iterator-helpers\n$({ target: 'AsyncIterator', proto: true, real: true }, {\n every: function every(predicate) {\n return $every(this, predicate);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar closeAsyncIteration = require('../internals/async-iterator-close');\n\nvar AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {\n var state = this;\n var iterator = state.iterator;\n var predicate = state.predicate;\n\n return new Promise(function (resolve, reject) {\n var doneAndReject = function (error) {\n state.done = true;\n reject(error);\n };\n\n var ifAbruptCloseAsyncIterator = function (error) {\n closeAsyncIteration(iterator, doneAndReject, error, doneAndReject);\n };\n\n var loop = function () {\n try {\n Promise.resolve(anObject(call(state.next, iterator))).then(function (step) {\n try {\n if (anObject(step).done) {\n state.done = true;\n resolve(createIterResultObject(undefined, true));\n } else {\n var value = step.value;\n try {\n var result = predicate(value, state.counter++);\n\n var handler = function (selected) {\n selected ? resolve(createIterResultObject(value, false)) : loop();\n };\n\n if (isObject(result)) Promise.resolve(result).then(handler, ifAbruptCloseAsyncIterator);\n else handler(result);\n } catch (error3) { ifAbruptCloseAsyncIterator(error3); }\n }\n } catch (error2) { doneAndReject(error2); }\n }, doneAndReject);\n } catch (error) { doneAndReject(error); }\n };\n\n loop();\n });\n});\n\n// `AsyncIterator.prototype.filter` method\n// https://github.com/tc39/proposal-async-iterator-helpers\n$({ target: 'AsyncIterator', proto: true, real: true }, {\n filter: function filter(predicate) {\n return new AsyncIteratorProxy(getIteratorDirect(this), {\n predicate: aCallable(predicate)\n });\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/async-iterator-iteration').find;\n\n// `AsyncIterator.prototype.find` method\n// https://github.com/tc39/proposal-async-iterator-helpers\n$({ target: 'AsyncIterator', proto: true, real: true }, {\n find: function find(predicate) {\n return $find(this, predicate);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar getAsyncIteratorFlattenable = require('../internals/get-async-iterator-flattenable');\nvar closeAsyncIteration = require('../internals/async-iterator-close');\n\nvar AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {\n var state = this;\n var iterator = state.iterator;\n var mapper = state.mapper;\n\n return new Promise(function (resolve, reject) {\n var doneAndReject = function (error) {\n state.done = true;\n reject(error);\n };\n\n var ifAbruptCloseAsyncIterator = function (error) {\n closeAsyncIteration(iterator, doneAndReject, error, doneAndReject);\n };\n\n var outerLoop = function () {\n try {\n Promise.resolve(anObject(call(state.next, iterator))).then(function (step) {\n try {\n if (anObject(step).done) {\n state.done = true;\n resolve(createIterResultObject(undefined, true));\n } else {\n var value = step.value;\n try {\n var result = mapper(value, state.counter++);\n\n var handler = function (mapped) {\n try {\n state.inner = getAsyncIteratorFlattenable(mapped);\n innerLoop();\n } catch (error4) { ifAbruptCloseAsyncIterator(error4); }\n };\n\n if (isObject(result)) Promise.resolve(result).then(handler, ifAbruptCloseAsyncIterator);\n else handler(result);\n } catch (error3) { ifAbruptCloseAsyncIterator(error3); }\n }\n } catch (error2) { doneAndReject(error2); }\n }, doneAndReject);\n } catch (error) { doneAndReject(error); }\n };\n\n var innerLoop = function () {\n var inner = state.inner;\n if (inner) {\n try {\n Promise.resolve(anObject(call(inner.next, inner.iterator))).then(function (result) {\n try {\n if (anObject(result).done) {\n state.inner = null;\n outerLoop();\n } else resolve(createIterResultObject(result.value, false));\n } catch (error1) { ifAbruptCloseAsyncIterator(error1); }\n }, ifAbruptCloseAsyncIterator);\n } catch (error) { ifAbruptCloseAsyncIterator(error); }\n } else outerLoop();\n };\n\n innerLoop();\n });\n});\n\n// `AsyncIterator.prototype.flaMap` method\n// https://github.com/tc39/proposal-async-iterator-helpers\n$({ target: 'AsyncIterator', proto: true, real: true }, {\n flatMap: function flatMap(mapper) {\n return new AsyncIteratorProxy(getIteratorDirect(this), {\n mapper: aCallable(mapper),\n inner: null\n });\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $forEach = require('../internals/async-iterator-iteration').forEach;\n\n// `AsyncIterator.prototype.forEach` method\n// https://github.com/tc39/proposal-async-iterator-helpers\n$({ target: 'AsyncIterator', proto: true, real: true }, {\n forEach: function forEach(fn) {\n return $forEach(this, fn);\n }\n});\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getAsyncIteratorFlattenable = require('../internals/get-async-iterator-flattenable');\nvar AsyncIteratorPrototype = require('../internals/async-iterator-prototype');\nvar WrapAsyncIterator = require('../internals/async-iterator-wrap');\n\n// `AsyncIterator.from` method\n// https://github.com/tc39/proposal-async-iterator-helpers\n$({ target: 'AsyncIterator', stat: true }, {\n from: function from(O) {\n var iteratorRecord = getAsyncIteratorFlattenable(typeof O == 'string' ? toObject(O) : O);\n return isPrototypeOf(AsyncIteratorPrototype, iteratorRecord.iterator)\n ? iteratorRecord.iterator\n : new WrapAsyncIterator(iteratorRecord);\n }\n});\n","// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar indexed = require('../internals/async-iterator-indexed');\n\n// `AsyncIterator.prototype.indexed` method\n// https://github.com/tc39/proposal-iterator-helpers\n$({ target: 'AsyncIterator', proto: true, real: true, forced: true }, {\n indexed: indexed\n});\n","var $ = require('../internals/export');\nvar map = require('../internals/async-iterator-map');\n\n// `AsyncIterator.prototype.map` method\n// https://github.com/tc39/proposal-async-iterator-helpers\n$({ target: 'AsyncIterator', proto: true, real: true }, {\n map: map\n});\n\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar getBuiltIn = require('../internals/get-built-in');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar closeAsyncIteration = require('../internals/async-iterator-close');\n\nvar Promise = getBuiltIn('Promise');\nvar $TypeError = TypeError;\n\n// `AsyncIterator.prototype.reduce` method\n// https://github.com/tc39/proposal-async-iterator-helpers\n$({ target: 'AsyncIterator', proto: true, real: true }, {\n reduce: function reduce(reducer /* , initialValue */) {\n var record = getIteratorDirect(this);\n var iterator = record.iterator;\n var next = record.next;\n var noInitial = arguments.length < 2;\n var accumulator = noInitial ? undefined : arguments[1];\n var counter = 0;\n aCallable(reducer);\n\n return new Promise(function (resolve, reject) {\n var ifAbruptCloseAsyncIterator = function (error) {\n closeAsyncIteration(iterator, reject, error, reject);\n };\n\n var loop = function () {\n try {\n Promise.resolve(anObject(call(next, iterator))).then(function (step) {\n try {\n if (anObject(step).done) {\n noInitial ? reject($TypeError('Reduce of empty iterator with no initial value')) : resolve(accumulator);\n } else {\n var value = step.value;\n if (noInitial) {\n noInitial = false;\n accumulator = value;\n loop();\n } else try {\n var result = reducer(accumulator, value, counter);\n\n var handler = function ($result) {\n accumulator = $result;\n loop();\n };\n\n if (isObject(result)) Promise.resolve(result).then(handler, ifAbruptCloseAsyncIterator);\n else handler(result);\n } catch (error3) { ifAbruptCloseAsyncIterator(error3); }\n }\n counter++;\n } catch (error2) { reject(error2); }\n }, reject);\n } catch (error) { reject(error); }\n };\n\n loop();\n });\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $some = require('../internals/async-iterator-iteration').some;\n\n// `AsyncIterator.prototype.some` method\n// https://github.com/tc39/proposal-async-iterator-helpers\n$({ target: 'AsyncIterator', proto: true, real: true }, {\n some: function some(predicate) {\n return $some(this, predicate);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar notANaN = require('../internals/not-a-nan');\nvar toPositiveInteger = require('../internals/to-positive-integer');\nvar createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');\nvar createIterResultObject = require('../internals/create-iter-result-object');\n\nvar AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {\n var state = this;\n var iterator = state.iterator;\n var returnMethod;\n\n if (!state.remaining--) {\n var resultDone = createIterResultObject(undefined, true);\n state.done = true;\n returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return Promise.resolve(call(returnMethod, iterator, undefined)).then(function () {\n return resultDone;\n });\n }\n return resultDone;\n } return Promise.resolve(call(state.next, iterator)).then(function (step) {\n if (anObject(step).done) {\n state.done = true;\n return createIterResultObject(undefined, true);\n } return createIterResultObject(step.value, false);\n }).then(null, function (error) {\n state.done = true;\n throw error;\n });\n});\n\n// `AsyncIterator.prototype.take` method\n// https://github.com/tc39/proposal-async-iterator-helpers\n$({ target: 'AsyncIterator', proto: true, real: true }, {\n take: function take(limit) {\n return new AsyncIteratorProxy(getIteratorDirect(this), {\n remaining: toPositiveInteger(notANaN(+limit))\n });\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $toArray = require('../internals/async-iterator-iteration').toArray;\n\n// `AsyncIterator.prototype.toArray` method\n// https://github.com/tc39/proposal-async-iterator-helpers\n$({ target: 'AsyncIterator', proto: true, real: true }, {\n toArray: function toArray() {\n return $toArray(this, undefined, []);\n }\n});\n","'use strict';\n/* eslint-disable es/no-bigint -- safe */\nvar $ = require('../internals/export');\nvar NumericRangeIterator = require('../internals/numeric-range-iterator');\n\n// `BigInt.range` method\n// https://github.com/tc39/proposal-Number.range\n// TODO: Remove from `core-js@4`\nif (typeof BigInt == 'function') {\n $({ target: 'BigInt', stat: true, forced: true }, {\n range: function range(start, end, option) {\n return new NumericRangeIterator(start, end, option, 'bigint', BigInt(0), BigInt(1));\n }\n });\n}\n","var $ = require('../internals/export');\nvar apply = require('../internals/function-apply');\nvar getCompositeKeyNode = require('../internals/composite-key');\nvar getBuiltIn = require('../internals/get-built-in');\nvar create = require('../internals/object-create');\n\nvar $Object = Object;\n\nvar initializer = function () {\n var freeze = getBuiltIn('Object', 'freeze');\n return freeze ? freeze(create(null)) : create(null);\n};\n\n// https://github.com/tc39/proposal-richer-keys/tree/master/compositeKey\n$({ global: true, forced: true }, {\n compositeKey: function compositeKey() {\n return apply(getCompositeKeyNode, $Object, arguments).get('object', initializer);\n }\n});\n","var $ = require('../internals/export');\nvar getCompositeKeyNode = require('../internals/composite-key');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\n\n// https://github.com/tc39/proposal-richer-keys/tree/master/compositeKey\n$({ global: true, forced: true }, {\n compositeSymbol: function compositeSymbol() {\n if (arguments.length == 1 && typeof arguments[0] == 'string') return getBuiltIn('Symbol')['for'](arguments[0]);\n return apply(getCompositeKeyNode, null, arguments).get('symbol', getBuiltIn('Symbol'));\n }\n});\n","'use strict';\n// https://github.com/tc39/proposal-explicit-resource-management\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar getBuiltIn = require('../internals/get-built-in');\nvar aCallable = require('../internals/a-callable');\nvar anInstance = require('../internals/an-instance');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar InternalStateModule = require('../internals/internal-state');\nvar addDisposableResource = require('../internals/add-disposable-resource');\n\nvar SuppressedError = getBuiltIn('SuppressedError');\nvar $ReferenceError = ReferenceError;\n\nvar DISPOSE = wellKnownSymbol('dispose');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nvar DISPOSABLE_STACK = 'DisposableStack';\nvar setInternalState = InternalStateModule.set;\nvar getDisposableStackInternalState = InternalStateModule.getterFor(DISPOSABLE_STACK);\n\nvar HINT = 'sync-dispose';\nvar DISPOSED = 'disposed';\nvar PENDING = 'pending';\n\nvar ALREADY_DISPOSED = DISPOSABLE_STACK + ' already disposed';\n\nvar $DisposableStack = function DisposableStack() {\n setInternalState(anInstance(this, DisposableStackPrototype), {\n type: DISPOSABLE_STACK,\n state: PENDING,\n stack: []\n });\n\n if (!DESCRIPTORS) this.disposed = false;\n};\n\nvar DisposableStackPrototype = $DisposableStack.prototype;\n\ndefineBuiltIns(DisposableStackPrototype, {\n dispose: function dispose() {\n var internalState = getDisposableStackInternalState(this);\n if (internalState.state == DISPOSED) return;\n internalState.state = DISPOSED;\n if (!DESCRIPTORS) this.disposed = true;\n var stack = internalState.stack;\n var i = stack.length;\n var thrown = false;\n var suppressed;\n while (i) {\n var disposeMethod = stack[--i];\n stack[i] = null;\n try {\n disposeMethod();\n } catch (errorResult) {\n if (thrown) {\n suppressed = new SuppressedError(errorResult, suppressed);\n } else {\n thrown = true;\n suppressed = errorResult;\n }\n }\n }\n internalState.stack = null;\n if (thrown) throw suppressed;\n },\n use: function use(value) {\n var internalState = getDisposableStackInternalState(this);\n if (internalState.state == DISPOSED) throw $ReferenceError(ALREADY_DISPOSED);\n addDisposableResource(internalState, value, HINT);\n return value;\n },\n adopt: function adopt(value, onDispose) {\n var internalState = getDisposableStackInternalState(this);\n if (internalState.state == DISPOSED) throw $ReferenceError(ALREADY_DISPOSED);\n aCallable(onDispose);\n addDisposableResource(internalState, undefined, HINT, function () {\n onDispose(value);\n });\n return value;\n },\n defer: function defer(onDispose) {\n var internalState = getDisposableStackInternalState(this);\n if (internalState.state == DISPOSED) throw $ReferenceError(ALREADY_DISPOSED);\n aCallable(onDispose);\n addDisposableResource(internalState, undefined, HINT, onDispose);\n },\n move: function move() {\n var internalState = getDisposableStackInternalState(this);\n if (internalState.state == DISPOSED) throw $ReferenceError(ALREADY_DISPOSED);\n var newDisposableStack = new $DisposableStack();\n getDisposableStackInternalState(newDisposableStack).stack = internalState.stack;\n internalState.stack = [];\n return newDisposableStack;\n }\n});\n\nif (DESCRIPTORS) defineBuiltInAccessor(DisposableStackPrototype, 'disposed', {\n configurable: true,\n get: function disposed() {\n return getDisposableStackInternalState(this).state == DISPOSED;\n }\n});\n\ndefineBuiltIn(DisposableStackPrototype, DISPOSE, DisposableStackPrototype.dispose, { name: 'dispose' });\ndefineBuiltIn(DisposableStackPrototype, TO_STRING_TAG, DISPOSABLE_STACK, { nonWritable: true });\n\n$({ global: true, constructor: true }, {\n DisposableStack: $DisposableStack\n});\n","var $ = require('../internals/export');\nvar demethodize = require('../internals/function-demethodize');\n\n// `Function.prototype.demethodize` method\n// https://github.com/js-choi/proposal-function-demethodize\n$({ target: 'Function', proto: true, forced: true }, {\n demethodize: demethodize\n});\n","var $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar $isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar classRegExp = /^\\s*class\\b/;\nvar exec = uncurryThis(classRegExp.exec);\n\nvar isClassConstructor = function (argument) {\n try {\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n if (!DESCRIPTORS || !exec(classRegExp, inspectSource(argument))) return false;\n } catch (error) { /* empty */ }\n var prototype = getOwnPropertyDescriptor(argument, 'prototype');\n return !!prototype && hasOwn(prototype, 'writable') && !prototype.writable;\n};\n\n// `Function.isCallable` method\n// https://github.com/caitp/TC39-Proposals/blob/trunk/tc39-reflect-isconstructor-iscallable.md\n$({ target: 'Function', stat: true, sham: true, forced: true }, {\n isCallable: function isCallable(argument) {\n return $isCallable(argument) && !isClassConstructor(argument);\n }\n});\n","var $ = require('../internals/export');\nvar isConstructor = require('../internals/is-constructor');\n\n// `Function.isConstructor` method\n// https://github.com/caitp/TC39-Proposals/blob/trunk/tc39-reflect-isconstructor-iscallable.md\n$({ target: 'Function', stat: true, forced: true }, {\n isConstructor: isConstructor\n});\n","var $ = require('../internals/export');\nvar demethodize = require('../internals/function-demethodize');\n\n// `Function.prototype.unThis` method\n// https://github.com/js-choi/proposal-function-demethodize\n// TODO: Remove from `core-js@4`\n$({ target: 'Function', proto: true, forced: true, name: 'demethodize' }, {\n unThis: demethodize\n});\n","// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar indexed = require('../internals/iterator-indexed');\n\n// `Iterator.prototype.asIndexedPairs` method\n// https://github.com/tc39/proposal-iterator-helpers\n$({ target: 'Iterator', name: 'indexed', proto: true, real: true, forced: true }, {\n asIndexedPairs: indexed\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar IS_PURE = require('../internals/is-pure');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nvar NativeIterator = global.Iterator;\n\n// FF56- have non-standard global helper `Iterator`\nvar FORCED = IS_PURE\n || !isCallable(NativeIterator)\n || NativeIterator.prototype !== IteratorPrototype\n // FF44- non-standard `Iterator` passes previous tests\n || !fails(function () { NativeIterator({}); });\n\nvar IteratorConstructor = function Iterator() {\n anInstance(this, IteratorPrototype);\n};\n\nif (!hasOwn(IteratorPrototype, TO_STRING_TAG)) {\n createNonEnumerableProperty(IteratorPrototype, TO_STRING_TAG, 'Iterator');\n}\n\nif (FORCED || !hasOwn(IteratorPrototype, 'constructor') || IteratorPrototype.constructor === Object) {\n createNonEnumerableProperty(IteratorPrototype, 'constructor', IteratorConstructor);\n}\n\nIteratorConstructor.prototype = IteratorPrototype;\n\n// `Iterator` constructor\n// https://github.com/tc39/proposal-iterator-helpers\n$({ global: true, constructor: true, forced: FORCED }, {\n Iterator: IteratorConstructor\n});\n","'use strict';\n// https://github.com/tc39/proposal-explicit-resource-management\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar getMethod = require('../internals/get-method');\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\n\nvar DISPOSE = wellKnownSymbol('dispose');\n\nif (!hasOwn(IteratorPrototype, DISPOSE)) {\n defineBuiltIn(IteratorPrototype, DISPOSE, function () {\n var $return = getMethod(this, 'return');\n if ($return) call($return, this);\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar notANaN = require('../internals/not-a-nan');\nvar toPositiveInteger = require('../internals/to-positive-integer');\nvar createIteratorProxy = require('../internals/iterator-create-proxy');\n\nvar IteratorProxy = createIteratorProxy(function () {\n var iterator = this.iterator;\n var next = this.next;\n var result, done;\n while (this.remaining) {\n this.remaining--;\n result = anObject(call(next, iterator));\n done = this.done = !!result.done;\n if (done) return;\n }\n result = anObject(call(next, iterator));\n done = this.done = !!result.done;\n if (!done) return result.value;\n});\n\n// `Iterator.prototype.drop` method\n// https://github.com/tc39/proposal-iterator-helpers\n$({ target: 'Iterator', proto: true, real: true }, {\n drop: function drop(limit) {\n return new IteratorProxy(getIteratorDirect(this), {\n remaining: toPositiveInteger(notANaN(+limit))\n });\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar aCallable = require('../internals/a-callable');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\n\n// `Iterator.prototype.every` method\n// https://github.com/tc39/proposal-iterator-helpers\n$({ target: 'Iterator', proto: true, real: true }, {\n every: function every(predicate) {\n var record = getIteratorDirect(this);\n var counter = 0;\n aCallable(predicate);\n return !iterate(record, function (value, stop) {\n if (!predicate(value, counter++)) return stop();\n }, { IS_RECORD: true, INTERRUPTED: true }).stopped;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar createIteratorProxy = require('../internals/iterator-create-proxy');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar IteratorProxy = createIteratorProxy(function () {\n var iterator = this.iterator;\n var predicate = this.predicate;\n var next = this.next;\n var result, done, value;\n while (true) {\n result = anObject(call(next, iterator));\n done = this.done = !!result.done;\n if (done) return;\n value = result.value;\n if (callWithSafeIterationClosing(iterator, predicate, [value, this.counter++], true)) return value;\n }\n});\n\n// `Iterator.prototype.filter` method\n// https://github.com/tc39/proposal-iterator-helpers\n$({ target: 'Iterator', proto: true, real: true }, {\n filter: function filter(predicate) {\n return new IteratorProxy(getIteratorDirect(this), {\n predicate: aCallable(predicate)\n });\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar aCallable = require('../internals/a-callable');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\n\n// `Iterator.prototype.find` method\n// https://github.com/tc39/proposal-iterator-helpers\n$({ target: 'Iterator', proto: true, real: true }, {\n find: function find(predicate) {\n var record = getIteratorDirect(this);\n var counter = 0;\n aCallable(predicate);\n return iterate(record, function (value, stop) {\n if (predicate(value, counter++)) return stop(value);\n }, { IS_RECORD: true, INTERRUPTED: true }).result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar getIteratorFlattenable = require('../internals/get-iterator-flattenable');\nvar createIteratorProxy = require('../internals/iterator-create-proxy');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar IteratorProxy = createIteratorProxy(function () {\n var iterator = this.iterator;\n var mapper = this.mapper;\n var result, inner;\n\n while (true) {\n if (inner = this.inner) try {\n result = anObject(call(inner.next, inner.iterator));\n if (!result.done) return result.value;\n this.inner = null;\n } catch (error) { iteratorClose(iterator, 'throw', error); }\n\n result = anObject(call(this.next, iterator));\n\n if (this.done = !!result.done) return;\n\n try {\n this.inner = getIteratorFlattenable(mapper(result.value, this.counter++));\n } catch (error) { iteratorClose(iterator, 'throw', error); }\n }\n});\n\n// `Iterator.prototype.flatMap` method\n// https://github.com/tc39/proposal-iterator-helpers\n$({ target: 'Iterator', proto: true, real: true }, {\n flatMap: function flatMap(mapper) {\n return new IteratorProxy(getIteratorDirect(this), {\n mapper: aCallable(mapper),\n inner: null\n });\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar aCallable = require('../internals/a-callable');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\n\n// `Iterator.prototype.forEach` method\n// https://github.com/tc39/proposal-iterator-helpers\n$({ target: 'Iterator', proto: true, real: true }, {\n forEach: function forEach(fn) {\n var record = getIteratorDirect(this);\n var counter = 0;\n aCallable(fn);\n iterate(record, function (value) {\n fn(value, counter++);\n }, { IS_RECORD: true });\n }\n});\n","var $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar createIteratorProxy = require('../internals/iterator-create-proxy');\nvar getIteratorFlattenable = require('../internals/get-iterator-flattenable');\n\nvar IteratorProxy = createIteratorProxy(function () {\n return call(this.next, this.iterator);\n}, true);\n\n// `Iterator.from` method\n// https://github.com/tc39/proposal-iterator-helpers\n$({ target: 'Iterator', stat: true }, {\n from: function from(O) {\n var iteratorRecord = getIteratorFlattenable(typeof O == 'string' ? toObject(O) : O);\n return isPrototypeOf(IteratorPrototype, iteratorRecord.iterator)\n ? iteratorRecord.iterator\n : new IteratorProxy(iteratorRecord);\n }\n});\n","// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar indexed = require('../internals/iterator-indexed');\n\n// `Iterator.prototype.indexed` method\n// https://github.com/tc39/proposal-iterator-helpers\n$({ target: 'Iterator', proto: true, real: true, forced: true }, {\n indexed: indexed\n});\n","var $ = require('../internals/export');\nvar map = require('../internals/iterator-map');\n\n// `Iterator.prototype.map` method\n// https://github.com/tc39/proposal-iterator-helpers\n$({ target: 'Iterator', proto: true, real: true }, {\n map: map\n});\n","'use strict';\n/* eslint-disable es/no-bigint -- safe */\nvar $ = require('../internals/export');\nvar NumericRangeIterator = require('../internals/numeric-range-iterator');\n\nvar $TypeError = TypeError;\n\n// `Iterator.range` method\n// https://github.com/tc39/proposal-Number.range\n$({ target: 'Iterator', stat: true, forced: true }, {\n range: function range(start, end, option) {\n if (typeof start == 'number') return new NumericRangeIterator(start, end, option, 'number', 0, 1);\n if (typeof start == 'bigint') return new NumericRangeIterator(start, end, option, 'bigint', BigInt(0), BigInt(1));\n throw $TypeError('Incorrect Iterator.range arguments');\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar aCallable = require('../internals/a-callable');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\n\nvar $TypeError = TypeError;\n\n// `Iterator.prototype.reduce` method\n// https://github.com/tc39/proposal-iterator-helpers\n$({ target: 'Iterator', proto: true, real: true }, {\n reduce: function reduce(reducer /* , initialValue */) {\n var record = getIteratorDirect(this);\n aCallable(reducer);\n var noInitial = arguments.length < 2;\n var accumulator = noInitial ? undefined : arguments[1];\n var counter = 0;\n iterate(record, function (value) {\n if (noInitial) {\n noInitial = false;\n accumulator = value;\n } else {\n accumulator = reducer(accumulator, value, counter);\n }\n counter++;\n }, { IS_RECORD: true });\n if (noInitial) throw $TypeError('Reduce of empty iterator with no initial value');\n return accumulator;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar aCallable = require('../internals/a-callable');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\n\n// `Iterator.prototype.some` method\n// https://github.com/tc39/proposal-iterator-helpers\n$({ target: 'Iterator', proto: true, real: true }, {\n some: function some(predicate) {\n var record = getIteratorDirect(this);\n var counter = 0;\n aCallable(predicate);\n return iterate(record, function (value, stop) {\n if (predicate(value, counter++)) return stop();\n }, { IS_RECORD: true, INTERRUPTED: true }).stopped;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar notANaN = require('../internals/not-a-nan');\nvar toPositiveInteger = require('../internals/to-positive-integer');\nvar createIteratorProxy = require('../internals/iterator-create-proxy');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar IteratorProxy = createIteratorProxy(function () {\n var iterator = this.iterator;\n if (!this.remaining--) {\n this.done = true;\n return iteratorClose(iterator, 'normal', undefined);\n }\n var result = anObject(call(this.next, iterator));\n var done = this.done = !!result.done;\n if (!done) return result.value;\n});\n\n// `Iterator.prototype.take` method\n// https://github.com/tc39/proposal-iterator-helpers\n$({ target: 'Iterator', proto: true, real: true }, {\n take: function take(limit) {\n return new IteratorProxy(getIteratorDirect(this), {\n remaining: toPositiveInteger(notANaN(+limit))\n });\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\n\nvar push = [].push;\n\n// `Iterator.prototype.toArray` method\n// https://github.com/tc39/proposal-iterator-helpers\n$({ target: 'Iterator', proto: true, real: true }, {\n toArray: function toArray() {\n var result = [];\n iterate(getIteratorDirect(this), push, { that: result, IS_RECORD: true });\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar AsyncFromSyncIterator = require('../internals/async-from-sync-iterator');\nvar WrapAsyncIterator = require('../internals/async-iterator-wrap');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\n\n// `Iterator.prototype.toAsync` method\n// https://github.com/tc39/proposal-async-iterator-helpers\n$({ target: 'Iterator', proto: true, real: true }, {\n toAsync: function toAsync() {\n return new WrapAsyncIterator(getIteratorDirect(new AsyncFromSyncIterator(getIteratorDirect(this))));\n }\n});\n","var $ = require('../internals/export');\nvar NATIVE_RAW_JSON = require('../internals/native-raw-json');\nvar isRawJSON = require('../internals/is-raw-json');\n\n// `JSON.parse` method\n// https://tc39.es/proposal-json-parse-with-source/#sec-json.israwjson\n// https://github.com/tc39/proposal-json-parse-with-source\n$({ target: 'JSON', stat: true, forced: !NATIVE_RAW_JSON }, {\n isRawJSON: isRawJSON\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/to-string');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar fails = require('../internals/fails');\nvar parseJSONString = require('../internals/parse-json-string');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nvar JSON = global.JSON;\nvar Number = global.Number;\nvar SyntaxError = global.SyntaxError;\nvar nativeParse = JSON && JSON.parse;\nvar enumerableOwnProperties = getBuiltIn('Object', 'keys');\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar at = uncurryThis(''.charAt);\nvar slice = uncurryThis(''.slice);\nvar exec = uncurryThis(/./.exec);\nvar push = uncurryThis([].push);\n\nvar IS_DIGIT = /^\\d$/;\nvar IS_NON_ZERO_DIGIT = /^[1-9]$/;\nvar IS_NUMBER_START = /^(-|\\d)$/;\nvar IS_WHITESPACE = /^[\\t\\n\\r ]$/;\n\nvar PRIMITIVE = 0;\nvar OBJECT = 1;\n\nvar $parse = function (source, reviver) {\n source = toString(source);\n var context = new Context(source, 0, '');\n var root = context.parse();\n var value = root.value;\n var endIndex = context.skip(IS_WHITESPACE, root.end);\n if (endIndex < source.length) {\n throw SyntaxError('Unexpected extra character: \"' + at(source, endIndex) + '\" after the parsed data at: ' + endIndex);\n }\n return isCallable(reviver) ? internalize({ '': value }, '', reviver, root) : value;\n};\n\nvar internalize = function (holder, name, reviver, node) {\n var val = holder[name];\n var unmodified = node && val === node.value;\n var context = unmodified && typeof node.source == 'string' ? { source: node.source } : {};\n var elementRecordsLen, keys, len, i, P;\n if (isObject(val)) {\n var nodeIsArray = isArray(val);\n var nodes = unmodified ? node.nodes : nodeIsArray ? [] : {};\n if (nodeIsArray) {\n elementRecordsLen = nodes.length;\n len = lengthOfArrayLike(val);\n for (i = 0; i < len; i++) {\n internalizeProperty(val, i, internalize(val, '' + i, reviver, i < elementRecordsLen ? nodes[i] : undefined));\n }\n } else {\n keys = enumerableOwnProperties(val);\n len = lengthOfArrayLike(keys);\n for (i = 0; i < len; i++) {\n P = keys[i];\n internalizeProperty(val, P, internalize(val, P, reviver, hasOwn(nodes, P) ? nodes[P] : undefined));\n }\n }\n }\n return call(reviver, holder, name, val, context);\n};\n\nvar internalizeProperty = function (object, key, value) {\n if (DESCRIPTORS) {\n var descriptor = getOwnPropertyDescriptor(object, key);\n if (descriptor && !descriptor.configurable) return;\n }\n if (value === undefined) delete object[key];\n else createProperty(object, key, value);\n};\n\nvar Node = function (value, end, source, nodes) {\n this.value = value;\n this.end = end;\n this.source = source;\n this.nodes = nodes;\n};\n\nvar Context = function (source, index) {\n this.source = source;\n this.index = index;\n};\n\n// https://www.json.org/json-en.html\nContext.prototype = {\n fork: function (nextIndex) {\n return new Context(this.source, nextIndex);\n },\n parse: function () {\n var source = this.source;\n var i = this.skip(IS_WHITESPACE, this.index);\n var fork = this.fork(i);\n var chr = at(source, i);\n var result;\n if (exec(IS_NUMBER_START, chr)) result = fork.number();\n else switch (chr) {\n case '{':\n result = fork.object();\n break;\n case '[':\n result = fork.array();\n break;\n case '\"':\n result = fork.string();\n break;\n case 't':\n result = fork.keyword(true);\n break;\n case 'f':\n result = fork.keyword(false);\n break;\n case 'n':\n result = fork.keyword(null);\n break;\n default:\n throw SyntaxError('Unexpected character: \"' + chr + '\" at: ' + i);\n }\n return result;\n },\n node: function (type, value, start, end, nodes) {\n return new Node(value, end, type ? null : slice(this.source, start, end), nodes);\n },\n object: function () {\n var source = this.source;\n var i = this.index + 1;\n var expectKeypair = false;\n var object = {};\n var nodes = {};\n while (i < source.length) {\n i = this.until(['\"', '}'], i);\n if (at(source, i) == '}' && !expectKeypair) {\n i++;\n break;\n }\n // Parsing the key\n var result = this.fork(i).string();\n var key = result.value;\n i = result.end;\n i = this.until([':'], i) + 1;\n // Parsing value\n i = this.skip(IS_WHITESPACE, i);\n result = this.fork(i).parse();\n createProperty(nodes, key, result);\n createProperty(object, key, result.value);\n i = this.until([',', '}'], result.end);\n var chr = at(source, i);\n if (chr == ',') {\n expectKeypair = true;\n i++;\n } else if (chr == '}') {\n i++;\n break;\n }\n }\n return this.node(OBJECT, object, this.index, i, nodes);\n },\n array: function () {\n var source = this.source;\n var i = this.index + 1;\n var expectElement = false;\n var array = [];\n var nodes = [];\n while (i < source.length) {\n i = this.skip(IS_WHITESPACE, i);\n if (at(source, i) == ']' && !expectElement) {\n i++;\n break;\n }\n var result = this.fork(i).parse();\n push(nodes, result);\n push(array, result.value);\n i = this.until([',', ']'], result.end);\n if (at(source, i) == ',') {\n expectElement = true;\n i++;\n } else if (at(source, i) == ']') {\n i++;\n break;\n }\n }\n return this.node(OBJECT, array, this.index, i, nodes);\n },\n string: function () {\n var index = this.index;\n var parsed = parseJSONString(this.source, this.index + 1);\n return this.node(PRIMITIVE, parsed.value, index, parsed.end);\n },\n number: function () {\n var source = this.source;\n var startIndex = this.index;\n var i = startIndex;\n if (at(source, i) == '-') i++;\n if (at(source, i) == '0') i++;\n else if (exec(IS_NON_ZERO_DIGIT, at(source, i))) i = this.skip(IS_DIGIT, ++i);\n else throw SyntaxError('Failed to parse number at: ' + i);\n if (at(source, i) == '.') i = this.skip(IS_DIGIT, ++i);\n if (at(source, i) == 'e' || at(source, i) == 'E') {\n i++;\n if (at(source, i) == '+' || at(source, i) == '-') i++;\n var exponentStartIndex = i;\n i = this.skip(IS_DIGIT, i);\n if (exponentStartIndex == i) throw SyntaxError(\"Failed to parse number's exponent value at: \" + i);\n }\n return this.node(PRIMITIVE, Number(slice(source, startIndex, i)), startIndex, i);\n },\n keyword: function (value) {\n var keyword = '' + value;\n var index = this.index;\n var endIndex = index + keyword.length;\n if (slice(this.source, index, endIndex) != keyword) throw SyntaxError('Failed to parse value at: ' + index);\n return this.node(PRIMITIVE, value, index, endIndex);\n },\n skip: function (regex, i) {\n var source = this.source;\n for (; i < source.length; i++) if (!exec(regex, at(source, i))) break;\n return i;\n },\n until: function (array, i) {\n i = this.skip(IS_WHITESPACE, i);\n var chr = at(this.source, i);\n for (var j = 0; j < array.length; j++) if (array[j] == chr) return i;\n throw SyntaxError('Unexpected character: \"' + chr + '\" at: ' + i);\n }\n};\n\nvar NO_SOURCE_SUPPORT = fails(function () {\n var unsafeInt = '9007199254740993';\n var source;\n nativeParse(unsafeInt, function (key, value, context) {\n source = context.source;\n });\n return source !== unsafeInt;\n});\n\nvar PROPER_BASE_PARSE = NATIVE_SYMBOL && !fails(function () {\n // Safari 9 bug\n return 1 / nativeParse('-0 \\t') !== -Infinity;\n});\n\n// `JSON.parse` method\n// https://tc39.es/ecma262/#sec-json.parse\n// https://github.com/tc39/proposal-json-parse-with-source\n$({ target: 'JSON', stat: true, forced: NO_SOURCE_SUPPORT }, {\n parse: function parse(text, reviver) {\n return PROPER_BASE_PARSE && !isCallable(reviver) ? nativeParse(text) : $parse(text, reviver);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar FREEZING = require('../internals/freezing');\nvar NATIVE_RAW_JSON = require('../internals/native-raw-json');\nvar getBuiltIn = require('../internals/get-built-in');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar isRawJSON = require('../internals/is-raw-json');\nvar toString = require('../internals/to-string');\nvar createProperty = require('../internals/create-property');\nvar parseJSONString = require('../internals/parse-json-string');\nvar getReplacerFunction = require('../internals/get-json-replacer-function');\nvar uid = require('../internals/uid');\nvar setInternalState = require('../internals/internal-state').set;\n\nvar $String = String;\nvar $SyntaxError = SyntaxError;\nvar parse = getBuiltIn('JSON', 'parse');\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar create = getBuiltIn('Object', 'create');\nvar freeze = getBuiltIn('Object', 'freeze');\nvar at = uncurryThis(''.charAt);\nvar slice = uncurryThis(''.slice);\nvar exec = uncurryThis(/./.exec);\nvar push = uncurryThis([].push);\n\nvar MARK = uid();\nvar MARK_LENGTH = MARK.length;\nvar ERROR_MESSAGE = 'Unacceptable as raw JSON';\nvar IS_WHITESPACE = /^[\\t\\n\\r ]$/;\n\n// `JSON.parse` method\n// https://tc39.es/proposal-json-parse-with-source/#sec-json.israwjson\n// https://github.com/tc39/proposal-json-parse-with-source\n$({ target: 'JSON', stat: true, forced: !NATIVE_RAW_JSON }, {\n rawJSON: function rawJSON(text) {\n var jsonString = toString(text);\n if (jsonString == '' || exec(IS_WHITESPACE, at(jsonString, 0)) || exec(IS_WHITESPACE, at(jsonString, jsonString.length - 1))) {\n throw $SyntaxError(ERROR_MESSAGE);\n }\n var parsed = parse(jsonString);\n if (typeof parsed == 'object' && parsed !== null) throw $SyntaxError(ERROR_MESSAGE);\n var obj = create(null);\n setInternalState(obj, { type: 'RawJSON' });\n createProperty(obj, 'rawJSON', jsonString);\n return FREEZING ? freeze(obj) : obj;\n }\n});\n\n// `JSON.stringify` method\n// https://tc39.es/ecma262/#sec-json.stringify\n// https://github.com/tc39/proposal-json-parse-with-source\nif ($stringify) $({ target: 'JSON', stat: true, arity: 3, forced: !NATIVE_RAW_JSON }, {\n stringify: function stringify(text, replacer, space) {\n var replacerFunction = getReplacerFunction(replacer);\n var rawStrings = [];\n\n var json = $stringify(text, function (key, value) {\n // some old implementations (like WebKit) could pass numbers as keys\n var v = isCallable(replacerFunction) ? call(replacerFunction, this, $String(key), value) : value;\n return isRawJSON(v) ? MARK + (push(rawStrings, v.rawJSON) - 1) : v;\n }, space);\n\n if (typeof json != 'string') return json;\n\n var result = '';\n var length = json.length;\n\n for (var i = 0; i < length; i++) {\n var chr = at(json, i);\n if (chr == '\"') {\n var end = parseJSONString(json, ++i).end - 1;\n var string = slice(json, i, end);\n result += slice(string, 0, MARK_LENGTH) == MARK\n ? rawStrings[slice(string, MARK_LENGTH)]\n : '\"' + string + '\"';\n i = end;\n } else result += chr;\n }\n\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aMap = require('../internals/a-map');\nvar remove = require('../internals/map-helpers').remove;\n\n// `Map.prototype.deleteAll` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: true }, {\n deleteAll: function deleteAll(/* ...elements */) {\n var collection = aMap(this);\n var allDeleted = true;\n var wasDeleted;\n for (var k = 0, len = arguments.length; k < len; k++) {\n wasDeleted = remove(collection, arguments[k]);\n allDeleted = allDeleted && wasDeleted;\n } return !!allDeleted;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aMap = require('../internals/a-map');\nvar MapHelpers = require('../internals/map-helpers');\n\nvar get = MapHelpers.get;\nvar has = MapHelpers.has;\nvar set = MapHelpers.set;\n\n// `Map.prototype.emplace` method\n// https://github.com/tc39/proposal-upsert\n$({ target: 'Map', proto: true, real: true, forced: true }, {\n emplace: function emplace(key, handler) {\n var map = aMap(this);\n var value, inserted;\n if (has(map, key)) {\n value = get(map, key);\n if ('update' in handler) {\n value = handler.update(value, key, map);\n set(map, key, value);\n } return value;\n }\n inserted = handler.insert(key, map);\n set(map, key, inserted);\n return inserted;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar bind = require('../internals/function-bind-context');\nvar aMap = require('../internals/a-map');\nvar iterate = require('../internals/map-iterate');\n\n// `Map.prototype.every` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: true }, {\n every: function every(callbackfn /* , thisArg */) {\n var map = aMap(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return iterate(map, function (value, key) {\n if (!boundFunction(value, key, map)) return false;\n }, true) !== false;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar bind = require('../internals/function-bind-context');\nvar aMap = require('../internals/a-map');\nvar MapHelpers = require('../internals/map-helpers');\nvar iterate = require('../internals/map-iterate');\n\nvar Map = MapHelpers.Map;\nvar set = MapHelpers.set;\n\n// `Map.prototype.filter` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: true }, {\n filter: function filter(callbackfn /* , thisArg */) {\n var map = aMap(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var newMap = new Map();\n iterate(map, function (value, key) {\n if (boundFunction(value, key, map)) set(newMap, key, value);\n });\n return newMap;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar bind = require('../internals/function-bind-context');\nvar aMap = require('../internals/a-map');\nvar iterate = require('../internals/map-iterate');\n\n// `Map.prototype.findKey` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: true }, {\n findKey: function findKey(callbackfn /* , thisArg */) {\n var map = aMap(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var result = iterate(map, function (value, key) {\n if (boundFunction(value, key, map)) return { key: key };\n }, true);\n return result && result.key;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar bind = require('../internals/function-bind-context');\nvar aMap = require('../internals/a-map');\nvar iterate = require('../internals/map-iterate');\n\n// `Map.prototype.find` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: true }, {\n find: function find(callbackfn /* , thisArg */) {\n var map = aMap(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var result = iterate(map, function (value, key) {\n if (boundFunction(value, key, map)) return { value: value };\n }, true);\n return result && result.value;\n }\n});\n","var $ = require('../internals/export');\nvar from = require('../internals/collection-from');\n\n// `Map.from` method\n// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from\n$({ target: 'Map', stat: true, forced: true }, {\n from: from\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar aCallable = require('../internals/a-callable');\nvar iterate = require('../internals/iterate');\nvar Map = require('../internals/map-helpers').Map;\n\nvar push = uncurryThis([].push);\n\n// `Map.groupBy` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', stat: true, forced: true }, {\n groupBy: function groupBy(iterable, keyDerivative) {\n var C = isCallable(this) ? this : Map;\n var newMap = new C();\n aCallable(keyDerivative);\n var has = aCallable(newMap.has);\n var get = aCallable(newMap.get);\n var set = aCallable(newMap.set);\n iterate(iterable, function (element) {\n var derivedKey = keyDerivative(element);\n if (!call(has, newMap, derivedKey)) call(set, newMap, derivedKey, [element]);\n else push(call(get, newMap, derivedKey), element);\n });\n return newMap;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar sameValueZero = require('../internals/same-value-zero');\nvar aMap = require('../internals/a-map');\nvar iterate = require('../internals/map-iterate');\n\n// `Map.prototype.includes` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: true }, {\n includes: function includes(searchElement) {\n return iterate(aMap(this), function (value) {\n if (sameValueZero(value, searchElement)) return true;\n }, true) === true;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar iterate = require('../internals/iterate');\nvar isCallable = require('../internals/is-callable');\nvar aCallable = require('../internals/a-callable');\nvar Map = require('../internals/map-helpers').Map;\n\n// `Map.keyBy` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', stat: true, forced: true }, {\n keyBy: function keyBy(iterable, keyDerivative) {\n var C = isCallable(this) ? this : Map;\n var newMap = new C();\n aCallable(keyDerivative);\n var setter = aCallable(newMap.set);\n iterate(iterable, function (element) {\n call(setter, newMap, keyDerivative(element), element);\n });\n return newMap;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aMap = require('../internals/a-map');\nvar iterate = require('../internals/map-iterate');\n\n// `Map.prototype.keyOf` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: true }, {\n keyOf: function keyOf(searchElement) {\n var result = iterate(aMap(this), function (value, key) {\n if (value === searchElement) return { key: key };\n }, true);\n return result && result.key;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar bind = require('../internals/function-bind-context');\nvar aMap = require('../internals/a-map');\nvar MapHelpers = require('../internals/map-helpers');\nvar iterate = require('../internals/map-iterate');\n\nvar Map = MapHelpers.Map;\nvar set = MapHelpers.set;\n\n// `Map.prototype.mapKeys` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: true }, {\n mapKeys: function mapKeys(callbackfn /* , thisArg */) {\n var map = aMap(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var newMap = new Map();\n iterate(map, function (value, key) {\n set(newMap, boundFunction(value, key, map), value);\n });\n return newMap;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar bind = require('../internals/function-bind-context');\nvar aMap = require('../internals/a-map');\nvar MapHelpers = require('../internals/map-helpers');\nvar iterate = require('../internals/map-iterate');\n\nvar Map = MapHelpers.Map;\nvar set = MapHelpers.set;\n\n// `Map.prototype.mapValues` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: true }, {\n mapValues: function mapValues(callbackfn /* , thisArg */) {\n var map = aMap(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var newMap = new Map();\n iterate(map, function (value, key) {\n set(newMap, key, boundFunction(value, key, map));\n });\n return newMap;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aMap = require('../internals/a-map');\nvar iterate = require('../internals/iterate');\nvar set = require('../internals/map-helpers').set;\n\n// `Map.prototype.merge` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, arity: 1, forced: true }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n merge: function merge(iterable /* ...iterables */) {\n var map = aMap(this);\n var argumentsLength = arguments.length;\n var i = 0;\n while (i < argumentsLength) {\n iterate(arguments[i++], function (key, value) {\n set(map, key, value);\n }, { AS_ENTRIES: true });\n }\n return map;\n }\n});\n","var $ = require('../internals/export');\nvar of = require('../internals/collection-of');\n\n// `Map.of` method\n// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of\n$({ target: 'Map', stat: true, forced: true }, {\n of: of\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aCallable = require('../internals/a-callable');\nvar aMap = require('../internals/a-map');\nvar iterate = require('../internals/map-iterate');\n\nvar $TypeError = TypeError;\n\n// `Map.prototype.reduce` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: true }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n var map = aMap(this);\n var noInitial = arguments.length < 2;\n var accumulator = noInitial ? undefined : arguments[1];\n aCallable(callbackfn);\n iterate(map, function (value, key) {\n if (noInitial) {\n noInitial = false;\n accumulator = value;\n } else {\n accumulator = callbackfn(accumulator, value, key, map);\n }\n });\n if (noInitial) throw $TypeError('Reduce of empty map with no initial value');\n return accumulator;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar bind = require('../internals/function-bind-context');\nvar aMap = require('../internals/a-map');\nvar iterate = require('../internals/map-iterate');\n\n// `Map.prototype.some` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: true }, {\n some: function some(callbackfn /* , thisArg */) {\n var map = aMap(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return iterate(map, function (value, key) {\n if (boundFunction(value, key, map)) return true;\n }, true) === true;\n }\n});\n","'use strict';\n// TODO: remove from `core-js@4`\nvar $ = require('../internals/export');\nvar upsert = require('../internals/map-upsert');\n\n// `Map.prototype.updateOrInsert` method (replaced by `Map.prototype.emplace`)\n// https://github.com/thumbsupep/proposal-upsert\n$({ target: 'Map', proto: true, real: true, name: 'upsert', forced: true }, {\n updateOrInsert: upsert\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aCallable = require('../internals/a-callable');\nvar aMap = require('../internals/a-map');\nvar MapHelpers = require('../internals/map-helpers');\n\nvar $TypeError = TypeError;\nvar get = MapHelpers.get;\nvar has = MapHelpers.has;\nvar set = MapHelpers.set;\n\n// `Map.prototype.update` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: true }, {\n update: function update(key, callback /* , thunk */) {\n var map = aMap(this);\n var length = arguments.length;\n aCallable(callback);\n var isPresentInMap = has(map, key);\n if (!isPresentInMap && length < 3) {\n throw $TypeError('Updating absent value');\n }\n var value = isPresentInMap ? get(map, key) : aCallable(length > 2 ? arguments[2] : undefined)(key, map);\n set(map, key, callback(value, key, map));\n return map;\n }\n});\n","'use strict';\n// TODO: remove from `core-js@4`\nvar $ = require('../internals/export');\nvar upsert = require('../internals/map-upsert');\n\n// `Map.prototype.upsert` method (replaced by `Map.prototype.emplace`)\n// https://github.com/thumbsupep/proposal-upsert\n$({ target: 'Map', proto: true, real: true, forced: true }, {\n upsert: upsert\n});\n","var $ = require('../internals/export');\n\nvar min = Math.min;\nvar max = Math.max;\n\n// `Math.clamp` method\n// https://rwaldron.github.io/proposal-math-extensions/\n$({ target: 'Math', stat: true, forced: true }, {\n clamp: function clamp(x, lower, upper) {\n return min(upper, max(lower, x));\n }\n});\n","var $ = require('../internals/export');\n\n// `Math.DEG_PER_RAD` constant\n// https://rwaldron.github.io/proposal-math-extensions/\n$({ target: 'Math', stat: true, nonConfigurable: true, nonWritable: true }, {\n DEG_PER_RAD: Math.PI / 180\n});\n","var $ = require('../internals/export');\n\nvar RAD_PER_DEG = 180 / Math.PI;\n\n// `Math.degrees` method\n// https://rwaldron.github.io/proposal-math-extensions/\n$({ target: 'Math', stat: true, forced: true }, {\n degrees: function degrees(radians) {\n return radians * RAD_PER_DEG;\n }\n});\n","var $ = require('../internals/export');\n\nvar scale = require('../internals/math-scale');\nvar fround = require('../internals/math-fround');\n\n// `Math.fscale` method\n// https://rwaldron.github.io/proposal-math-extensions/\n$({ target: 'Math', stat: true, forced: true }, {\n fscale: function fscale(x, inLow, inHigh, outLow, outHigh) {\n return fround(scale(x, inLow, inHigh, outLow, outHigh));\n }\n});\n","var $ = require('../internals/export');\n\n// `Math.iaddh` method\n// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\n// TODO: Remove from `core-js@4`\n$({ target: 'Math', stat: true, forced: true }, {\n iaddh: function iaddh(x0, x1, y0, y1) {\n var $x0 = x0 >>> 0;\n var $x1 = x1 >>> 0;\n var $y0 = y0 >>> 0;\n return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0;\n }\n});\n","var $ = require('../internals/export');\n\n// `Math.imulh` method\n// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\n// TODO: Remove from `core-js@4`\n$({ target: 'Math', stat: true, forced: true }, {\n imulh: function imulh(u, v) {\n var UINT16 = 0xFFFF;\n var $u = +u;\n var $v = +v;\n var u0 = $u & UINT16;\n var v0 = $v & UINT16;\n var u1 = $u >> 16;\n var v1 = $v >> 16;\n var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16);\n }\n});\n","var $ = require('../internals/export');\n\n// `Math.isubh` method\n// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\n// TODO: Remove from `core-js@4`\n$({ target: 'Math', stat: true, forced: true }, {\n isubh: function isubh(x0, x1, y0, y1) {\n var $x0 = x0 >>> 0;\n var $x1 = x1 >>> 0;\n var $y0 = y0 >>> 0;\n return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0;\n }\n});\n","var $ = require('../internals/export');\n\n// `Math.RAD_PER_DEG` constant\n// https://rwaldron.github.io/proposal-math-extensions/\n$({ target: 'Math', stat: true, nonConfigurable: true, nonWritable: true }, {\n RAD_PER_DEG: 180 / Math.PI\n});\n","var $ = require('../internals/export');\n\nvar DEG_PER_RAD = Math.PI / 180;\n\n// `Math.radians` method\n// https://rwaldron.github.io/proposal-math-extensions/\n$({ target: 'Math', stat: true, forced: true }, {\n radians: function radians(degrees) {\n return degrees * DEG_PER_RAD;\n }\n});\n","var $ = require('../internals/export');\nvar scale = require('../internals/math-scale');\n\n// `Math.scale` method\n// https://rwaldron.github.io/proposal-math-extensions/\n$({ target: 'Math', stat: true, forced: true }, {\n scale: scale\n});\n","var $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\nvar numberIsFinite = require('../internals/number-is-finite');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar SEEDED_RANDOM = 'Seeded Random';\nvar SEEDED_RANDOM_GENERATOR = SEEDED_RANDOM + ' Generator';\nvar SEED_TYPE_ERROR = 'Math.seededPRNG() argument should have a \"seed\" field with a finite value.';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SEEDED_RANDOM_GENERATOR);\nvar $TypeError = TypeError;\n\nvar $SeededRandomGenerator = createIteratorConstructor(function SeededRandomGenerator(seed) {\n setInternalState(this, {\n type: SEEDED_RANDOM_GENERATOR,\n seed: seed % 2147483647\n });\n}, SEEDED_RANDOM, function next() {\n var state = getInternalState(this);\n var seed = state.seed = (state.seed * 1103515245 + 12345) % 2147483647;\n return createIterResultObject((seed & 1073741823) / 1073741823, false);\n});\n\n// `Math.seededPRNG` method\n// https://github.com/tc39/proposal-seeded-random\n// based on https://github.com/tc39/proposal-seeded-random/blob/78b8258835b57fc2100d076151ab506bc3202ae6/demo.html\n$({ target: 'Math', stat: true, forced: true }, {\n seededPRNG: function seededPRNG(it) {\n var seed = anObject(it).seed;\n if (!numberIsFinite(seed)) throw $TypeError(SEED_TYPE_ERROR);\n return new $SeededRandomGenerator(seed);\n }\n});\n","var $ = require('../internals/export');\n\n// `Math.signbit` method\n// https://github.com/tc39/proposal-Math.signbit\n$({ target: 'Math', stat: true, forced: true }, {\n signbit: function signbit(x) {\n var n = +x;\n // eslint-disable-next-line no-self-compare -- NaN check\n return n == n && n == 0 ? 1 / n == -Infinity : n < 0;\n }\n});\n","var $ = require('../internals/export');\n\n// `Math.umulh` method\n// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\n// TODO: Remove from `core-js@4`\n$({ target: 'Math', stat: true, forced: true }, {\n umulh: function umulh(u, v) {\n var UINT16 = 0xFFFF;\n var $u = +u;\n var $v = +v;\n var u0 = $u & UINT16;\n var v0 = $v & UINT16;\n var u1 = $u >>> 16;\n var v1 = $v >>> 16;\n var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar parseInt = require('../internals/number-parse-int');\n\nvar INVALID_NUMBER_REPRESENTATION = 'Invalid number representation';\nvar INVALID_RADIX = 'Invalid radix';\nvar $RangeError = RangeError;\nvar $SyntaxError = SyntaxError;\nvar $TypeError = TypeError;\nvar valid = /^[\\da-z]+$/;\nvar charAt = uncurryThis(''.charAt);\nvar exec = uncurryThis(valid.exec);\nvar numberToString = uncurryThis(1.0.toString);\nvar stringSlice = uncurryThis(''.slice);\n\n// `Number.fromString` method\n// https://github.com/tc39/proposal-number-fromstring\n$({ target: 'Number', stat: true, forced: true }, {\n fromString: function fromString(string, radix) {\n var sign = 1;\n var R, mathNum;\n if (typeof string != 'string') throw $TypeError(INVALID_NUMBER_REPRESENTATION);\n if (!string.length) throw $SyntaxError(INVALID_NUMBER_REPRESENTATION);\n if (charAt(string, 0) == '-') {\n sign = -1;\n string = stringSlice(string, 1);\n if (!string.length) throw $SyntaxError(INVALID_NUMBER_REPRESENTATION);\n }\n R = radix === undefined ? 10 : toIntegerOrInfinity(radix);\n if (R < 2 || R > 36) throw $RangeError(INVALID_RADIX);\n if (!exec(valid, string) || numberToString(mathNum = parseInt(string, R), R) !== string) {\n throw $SyntaxError(INVALID_NUMBER_REPRESENTATION);\n }\n return sign * mathNum;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar NumericRangeIterator = require('../internals/numeric-range-iterator');\n\n// `Number.range` method\n// https://github.com/tc39/proposal-Number.range\n// TODO: Remove from `core-js@4`\n$({ target: 'Number', stat: true, forced: true }, {\n range: function range(start, end, option) {\n return new NumericRangeIterator(start, end, option, 'number', 0, 1);\n }\n});\n","'use strict';\n// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar ObjectIterator = require('../internals/object-iterator');\n\n// `Object.iterateEntries` method\n// https://github.com/tc39/proposal-object-iteration\n$({ target: 'Object', stat: true, forced: true }, {\n iterateEntries: function iterateEntries(object) {\n return new ObjectIterator(object, 'entries');\n }\n});\n","'use strict';\n// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar ObjectIterator = require('../internals/object-iterator');\n\n// `Object.iterateKeys` method\n// https://github.com/tc39/proposal-object-iteration\n$({ target: 'Object', stat: true, forced: true }, {\n iterateKeys: function iterateKeys(object) {\n return new ObjectIterator(object, 'keys');\n }\n});\n","'use strict';\n// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar ObjectIterator = require('../internals/object-iterator');\n\n// `Object.iterateValues` method\n// https://github.com/tc39/proposal-object-iteration\n$({ target: 'Object', stat: true, forced: true }, {\n iterateValues: function iterateValues(object) {\n return new ObjectIterator(object, 'values');\n }\n});\n","'use strict';\n// https://github.com/tc39/proposal-observable\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar getMethod = require('../internals/get-method');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar InternalStateModule = require('../internals/internal-state');\nvar OBSERVABLE_FORCED = require('../internals/observable-forced');\n\nvar $$OBSERVABLE = wellKnownSymbol('observable');\nvar OBSERVABLE = 'Observable';\nvar SUBSCRIPTION = 'Subscription';\nvar SUBSCRIPTION_OBSERVER = 'SubscriptionObserver';\nvar getterFor = InternalStateModule.getterFor;\nvar setInternalState = InternalStateModule.set;\nvar getObservableInternalState = getterFor(OBSERVABLE);\nvar getSubscriptionInternalState = getterFor(SUBSCRIPTION);\nvar getSubscriptionObserverInternalState = getterFor(SUBSCRIPTION_OBSERVER);\n\nvar SubscriptionState = function (observer) {\n this.observer = anObject(observer);\n this.cleanup = undefined;\n this.subscriptionObserver = undefined;\n};\n\nSubscriptionState.prototype = {\n type: SUBSCRIPTION,\n clean: function () {\n var cleanup = this.cleanup;\n if (cleanup) {\n this.cleanup = undefined;\n try {\n cleanup();\n } catch (error) {\n hostReportErrors(error);\n }\n }\n },\n close: function () {\n if (!DESCRIPTORS) {\n var subscription = this.facade;\n var subscriptionObserver = this.subscriptionObserver;\n subscription.closed = true;\n if (subscriptionObserver) subscriptionObserver.closed = true;\n } this.observer = undefined;\n },\n isClosed: function () {\n return this.observer === undefined;\n }\n};\n\nvar Subscription = function (observer, subscriber) {\n var subscriptionState = setInternalState(this, new SubscriptionState(observer));\n var start;\n if (!DESCRIPTORS) this.closed = false;\n try {\n if (start = getMethod(observer, 'start')) call(start, observer, this);\n } catch (error) {\n hostReportErrors(error);\n }\n if (subscriptionState.isClosed()) return;\n var subscriptionObserver = subscriptionState.subscriptionObserver = new SubscriptionObserver(subscriptionState);\n try {\n var cleanup = subscriber(subscriptionObserver);\n var subscription = cleanup;\n if (!isNullOrUndefined(cleanup)) subscriptionState.cleanup = isCallable(cleanup.unsubscribe)\n ? function () { subscription.unsubscribe(); }\n : aCallable(cleanup);\n } catch (error) {\n subscriptionObserver.error(error);\n return;\n } if (subscriptionState.isClosed()) subscriptionState.clean();\n};\n\nSubscription.prototype = defineBuiltIns({}, {\n unsubscribe: function unsubscribe() {\n var subscriptionState = getSubscriptionInternalState(this);\n if (!subscriptionState.isClosed()) {\n subscriptionState.close();\n subscriptionState.clean();\n }\n }\n});\n\nif (DESCRIPTORS) defineBuiltInAccessor(Subscription.prototype, 'closed', {\n configurable: true,\n get: function closed() {\n return getSubscriptionInternalState(this).isClosed();\n }\n});\n\nvar SubscriptionObserver = function (subscriptionState) {\n setInternalState(this, {\n type: SUBSCRIPTION_OBSERVER,\n subscriptionState: subscriptionState\n });\n if (!DESCRIPTORS) this.closed = false;\n};\n\nSubscriptionObserver.prototype = defineBuiltIns({}, {\n next: function next(value) {\n var subscriptionState = getSubscriptionObserverInternalState(this).subscriptionState;\n if (!subscriptionState.isClosed()) {\n var observer = subscriptionState.observer;\n try {\n var nextMethod = getMethod(observer, 'next');\n if (nextMethod) call(nextMethod, observer, value);\n } catch (error) {\n hostReportErrors(error);\n }\n }\n },\n error: function error(value) {\n var subscriptionState = getSubscriptionObserverInternalState(this).subscriptionState;\n if (!subscriptionState.isClosed()) {\n var observer = subscriptionState.observer;\n subscriptionState.close();\n try {\n var errorMethod = getMethod(observer, 'error');\n if (errorMethod) call(errorMethod, observer, value);\n else hostReportErrors(value);\n } catch (err) {\n hostReportErrors(err);\n } subscriptionState.clean();\n }\n },\n complete: function complete() {\n var subscriptionState = getSubscriptionObserverInternalState(this).subscriptionState;\n if (!subscriptionState.isClosed()) {\n var observer = subscriptionState.observer;\n subscriptionState.close();\n try {\n var completeMethod = getMethod(observer, 'complete');\n if (completeMethod) call(completeMethod, observer);\n } catch (error) {\n hostReportErrors(error);\n } subscriptionState.clean();\n }\n }\n});\n\nif (DESCRIPTORS) defineBuiltInAccessor(SubscriptionObserver.prototype, 'closed', {\n configurable: true,\n get: function closed() {\n return getSubscriptionObserverInternalState(this).subscriptionState.isClosed();\n }\n});\n\nvar $Observable = function Observable(subscriber) {\n anInstance(this, ObservablePrototype);\n setInternalState(this, {\n type: OBSERVABLE,\n subscriber: aCallable(subscriber)\n });\n};\n\nvar ObservablePrototype = $Observable.prototype;\n\ndefineBuiltIns(ObservablePrototype, {\n subscribe: function subscribe(observer) {\n var length = arguments.length;\n return new Subscription(isCallable(observer) ? {\n next: observer,\n error: length > 1 ? arguments[1] : undefined,\n complete: length > 2 ? arguments[2] : undefined\n } : isObject(observer) ? observer : {}, getObservableInternalState(this).subscriber);\n }\n});\n\ndefineBuiltIn(ObservablePrototype, $$OBSERVABLE, function () { return this; });\n\n$({ global: true, constructor: true, forced: OBSERVABLE_FORCED }, {\n Observable: $Observable\n});\n\nsetSpecies(OBSERVABLE);\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar isConstructor = require('../internals/is-constructor');\nvar getIterator = require('../internals/get-iterator');\nvar getMethod = require('../internals/get-method');\nvar iterate = require('../internals/iterate');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar OBSERVABLE_FORCED = require('../internals/observable-forced');\n\nvar $$OBSERVABLE = wellKnownSymbol('observable');\n\n// `Observable.from` method\n// https://github.com/tc39/proposal-observable\n$({ target: 'Observable', stat: true, forced: OBSERVABLE_FORCED }, {\n from: function from(x) {\n var C = isConstructor(this) ? this : getBuiltIn('Observable');\n var observableMethod = getMethod(anObject(x), $$OBSERVABLE);\n if (observableMethod) {\n var observable = anObject(call(observableMethod, x));\n return observable.constructor === C ? observable : new C(function (observer) {\n return observable.subscribe(observer);\n });\n }\n var iterator = getIterator(x);\n return new C(function (observer) {\n iterate(iterator, function (it, stop) {\n observer.next(it);\n if (observer.closed) return stop();\n }, { IS_ITERATOR: true, INTERRUPTED: true });\n observer.complete();\n });\n }\n});\n","// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/esnext.observable.constructor');\nrequire('../modules/esnext.observable.from');\nrequire('../modules/esnext.observable.of');\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isConstructor = require('../internals/is-constructor');\nvar OBSERVABLE_FORCED = require('../internals/observable-forced');\n\nvar Array = getBuiltIn('Array');\n\n// `Observable.of` method\n// https://github.com/tc39/proposal-observable\n$({ target: 'Observable', stat: true, forced: OBSERVABLE_FORCED }, {\n of: function of() {\n var C = isConstructor(this) ? this : getBuiltIn('Observable');\n var length = arguments.length;\n var items = Array(length);\n var index = 0;\n while (index < length) items[index] = arguments[index++];\n return new C(function (observer) {\n for (var i = 0; i < length; i++) {\n observer.next(items[i]);\n if (observer.closed) return;\n } observer.complete();\n });\n }\n});\n","'use strict';\n// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\n\n// `Promise.try` method\n// https://github.com/tc39/proposal-promise-try\n$({ target: 'Promise', stat: true, forced: true }, {\n 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapabilityModule.f(this);\n var result = perform(callbackfn);\n (result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value);\n return promiseCapability.promise;\n }\n});\n","// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar ReflectMetadataModule = require('../internals/reflect-metadata');\nvar anObject = require('../internals/an-object');\n\nvar toMetadataKey = ReflectMetadataModule.toKey;\nvar ordinaryDefineOwnMetadata = ReflectMetadataModule.set;\n\n// `Reflect.defineMetadata` method\n// https://github.com/rbuckton/reflect-metadata\n$({ target: 'Reflect', stat: true }, {\n defineMetadata: function defineMetadata(metadataKey, metadataValue, target /* , targetKey */) {\n var targetKey = arguments.length < 4 ? undefined : toMetadataKey(arguments[3]);\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), targetKey);\n }\n});\n","var $ = require('../internals/export');\nvar ReflectMetadataModule = require('../internals/reflect-metadata');\nvar anObject = require('../internals/an-object');\n\nvar toMetadataKey = ReflectMetadataModule.toKey;\nvar getOrCreateMetadataMap = ReflectMetadataModule.getMap;\nvar store = ReflectMetadataModule.store;\n\n// `Reflect.deleteMetadata` method\n// https://github.com/rbuckton/reflect-metadata\n$({ target: 'Reflect', stat: true }, {\n deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {\n var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);\n var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;\n if (metadataMap.size) return true;\n var targetMetadata = store.get(target);\n targetMetadata['delete'](targetKey);\n return !!targetMetadata.size || store['delete'](target);\n }\n});\n","// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar ReflectMetadataModule = require('../internals/reflect-metadata');\nvar anObject = require('../internals/an-object');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar $arrayUniqueBy = require('../internals/array-unique-by');\n\nvar arrayUniqueBy = uncurryThis($arrayUniqueBy);\nvar concat = uncurryThis([].concat);\nvar ordinaryOwnMetadataKeys = ReflectMetadataModule.keys;\nvar toMetadataKey = ReflectMetadataModule.toKey;\n\nvar ordinaryMetadataKeys = function (O, P) {\n var oKeys = ordinaryOwnMetadataKeys(O, P);\n var parent = getPrototypeOf(O);\n if (parent === null) return oKeys;\n var pKeys = ordinaryMetadataKeys(parent, P);\n return pKeys.length ? oKeys.length ? arrayUniqueBy(concat(oKeys, pKeys)) : pKeys : oKeys;\n};\n\n// `Reflect.getMetadataKeys` method\n// https://github.com/rbuckton/reflect-metadata\n$({ target: 'Reflect', stat: true }, {\n getMetadataKeys: function getMetadataKeys(target /* , targetKey */) {\n var targetKey = arguments.length < 2 ? undefined : toMetadataKey(arguments[1]);\n return ordinaryMetadataKeys(anObject(target), targetKey);\n }\n});\n","// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar ReflectMetadataModule = require('../internals/reflect-metadata');\nvar anObject = require('../internals/an-object');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\n\nvar ordinaryHasOwnMetadata = ReflectMetadataModule.has;\nvar ordinaryGetOwnMetadata = ReflectMetadataModule.get;\nvar toMetadataKey = ReflectMetadataModule.toKey;\n\nvar ordinaryGetMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\n// `Reflect.getMetadata` method\n// https://github.com/rbuckton/reflect-metadata\n$({ target: 'Reflect', stat: true }, {\n getMetadata: function getMetadata(metadataKey, target /* , targetKey */) {\n var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);\n return ordinaryGetMetadata(metadataKey, anObject(target), targetKey);\n }\n});\n","// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar ReflectMetadataModule = require('../internals/reflect-metadata');\nvar anObject = require('../internals/an-object');\n\nvar ordinaryOwnMetadataKeys = ReflectMetadataModule.keys;\nvar toMetadataKey = ReflectMetadataModule.toKey;\n\n// `Reflect.getOwnMetadataKeys` method\n// https://github.com/rbuckton/reflect-metadata\n$({ target: 'Reflect', stat: true }, {\n getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {\n var targetKey = arguments.length < 2 ? undefined : toMetadataKey(arguments[1]);\n return ordinaryOwnMetadataKeys(anObject(target), targetKey);\n }\n});\n","// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar ReflectMetadataModule = require('../internals/reflect-metadata');\nvar anObject = require('../internals/an-object');\n\nvar ordinaryGetOwnMetadata = ReflectMetadataModule.get;\nvar toMetadataKey = ReflectMetadataModule.toKey;\n\n// `Reflect.getOwnMetadata` method\n// https://github.com/rbuckton/reflect-metadata\n$({ target: 'Reflect', stat: true }, {\n getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) {\n var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);\n return ordinaryGetOwnMetadata(metadataKey, anObject(target), targetKey);\n }\n});\n","// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar ReflectMetadataModule = require('../internals/reflect-metadata');\nvar anObject = require('../internals/an-object');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\n\nvar ordinaryHasOwnMetadata = ReflectMetadataModule.has;\nvar toMetadataKey = ReflectMetadataModule.toKey;\n\nvar ordinaryHasMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return true;\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\n// `Reflect.hasMetadata` method\n// https://github.com/rbuckton/reflect-metadata\n$({ target: 'Reflect', stat: true }, {\n hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) {\n var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);\n return ordinaryHasMetadata(metadataKey, anObject(target), targetKey);\n }\n});\n","// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar ReflectMetadataModule = require('../internals/reflect-metadata');\nvar anObject = require('../internals/an-object');\n\nvar ordinaryHasOwnMetadata = ReflectMetadataModule.has;\nvar toMetadataKey = ReflectMetadataModule.toKey;\n\n// `Reflect.hasOwnMetadata` method\n// https://github.com/rbuckton/reflect-metadata\n$({ target: 'Reflect', stat: true }, {\n hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) {\n var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);\n return ordinaryHasOwnMetadata(metadataKey, anObject(target), targetKey);\n }\n});\n","var $ = require('../internals/export');\nvar ReflectMetadataModule = require('../internals/reflect-metadata');\nvar anObject = require('../internals/an-object');\n\nvar toMetadataKey = ReflectMetadataModule.toKey;\nvar ordinaryDefineOwnMetadata = ReflectMetadataModule.set;\n\n// `Reflect.metadata` method\n// https://github.com/rbuckton/reflect-metadata\n$({ target: 'Reflect', stat: true }, {\n metadata: function metadata(metadataKey, metadataValue) {\n return function decorator(target, key) {\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetadataKey(key));\n };\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aSet = require('../internals/a-set');\nvar add = require('../internals/set-helpers').add;\n\n// `Set.prototype.addAll` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n addAll: function addAll(/* ...elements */) {\n var set = aSet(this);\n for (var k = 0, len = arguments.length; k < len; k++) {\n add(set, arguments[k]);\n } return set;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aSet = require('../internals/a-set');\nvar remove = require('../internals/set-helpers').remove;\n\n// `Set.prototype.deleteAll` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n deleteAll: function deleteAll(/* ...elements */) {\n var collection = aSet(this);\n var allDeleted = true;\n var wasDeleted;\n for (var k = 0, len = arguments.length; k < len; k++) {\n wasDeleted = remove(collection, arguments[k]);\n allDeleted = allDeleted && wasDeleted;\n } return !!allDeleted;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar toSetLike = require('../internals/to-set-like');\nvar $difference = require('../internals/set-difference');\n\n// `Set.prototype.difference` method\n// https://github.com/tc39/proposal-set-methods\n// TODO: Obsolete version, remove from `core-js@4`\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n difference: function difference(other) {\n return call($difference, this, toSetLike(other));\n }\n});\n","var $ = require('../internals/export');\nvar difference = require('../internals/set-difference');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.difference` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('difference') }, {\n difference: difference\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar bind = require('../internals/function-bind-context');\nvar aSet = require('../internals/a-set');\nvar iterate = require('../internals/set-iterate');\n\n// `Set.prototype.every` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n every: function every(callbackfn /* , thisArg */) {\n var set = aSet(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return iterate(set, function (value) {\n if (!boundFunction(value, value, set)) return false;\n }, true) !== false;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar bind = require('../internals/function-bind-context');\nvar aSet = require('../internals/a-set');\nvar SetHelpers = require('../internals/set-helpers');\nvar iterate = require('../internals/set-iterate');\n\nvar Set = SetHelpers.Set;\nvar add = SetHelpers.add;\n\n// `Set.prototype.filter` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n filter: function filter(callbackfn /* , thisArg */) {\n var set = aSet(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var newSet = new Set();\n iterate(set, function (value) {\n if (boundFunction(value, value, set)) add(newSet, value);\n });\n return newSet;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar bind = require('../internals/function-bind-context');\nvar aSet = require('../internals/a-set');\nvar iterate = require('../internals/set-iterate');\n\n// `Set.prototype.find` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n find: function find(callbackfn /* , thisArg */) {\n var set = aSet(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var result = iterate(set, function (value) {\n if (boundFunction(value, value, set)) return { value: value };\n }, true);\n return result && result.value;\n }\n});\n","var $ = require('../internals/export');\nvar from = require('../internals/collection-from');\n\n// `Set.from` method\n// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from\n$({ target: 'Set', stat: true, forced: true }, {\n from: from\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar toSetLike = require('../internals/to-set-like');\nvar $intersection = require('../internals/set-intersection');\n\n// `Set.prototype.intersection` method\n// https://github.com/tc39/proposal-set-methods\n// TODO: Obsolete version, remove from `core-js@4`\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n intersection: function intersection(other) {\n return call($intersection, this, toSetLike(other));\n }\n});\n","var $ = require('../internals/export');\nvar intersection = require('../internals/set-intersection');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.intersection` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('intersection') }, {\n intersection: intersection\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar toSetLike = require('../internals/to-set-like');\nvar $isDisjointFrom = require('../internals/set-is-disjoint-from');\n\n// `Set.prototype.isDisjointFrom` method\n// https://github.com/tc39/proposal-set-methods\n// TODO: Obsolete version, remove from `core-js@4`\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n isDisjointFrom: function isDisjointFrom(other) {\n return call($isDisjointFrom, this, toSetLike(other));\n }\n});\n","var $ = require('../internals/export');\nvar isDisjointFrom = require('../internals/set-is-disjoint-from');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.isDisjointFrom` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isDisjointFrom') }, {\n isDisjointFrom: isDisjointFrom\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar toSetLike = require('../internals/to-set-like');\nvar $isSubsetOf = require('../internals/set-is-subset-of');\n\n// `Set.prototype.isSubsetOf` method\n// https://github.com/tc39/proposal-set-methods\n// TODO: Obsolete version, remove from `core-js@4`\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n isSubsetOf: function isSubsetOf(other) {\n return call($isSubsetOf, this, toSetLike(other));\n }\n});\n","var $ = require('../internals/export');\nvar isSubsetOf = require('../internals/set-is-subset-of');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.isSubsetOf` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSubsetOf') }, {\n isSubsetOf: isSubsetOf\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar toSetLike = require('../internals/to-set-like');\nvar $isSupersetOf = require('../internals/set-is-superset-of');\n\n// `Set.prototype.isSupersetOf` method\n// https://github.com/tc39/proposal-set-methods\n// TODO: Obsolete version, remove from `core-js@4`\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n isSupersetOf: function isSupersetOf(other) {\n return call($isSupersetOf, this, toSetLike(other));\n }\n});\n","var $ = require('../internals/export');\nvar isSupersetOf = require('../internals/set-is-superset-of');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.isSupersetOf` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSupersetOf') }, {\n isSupersetOf: isSupersetOf\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aSet = require('../internals/a-set');\nvar iterate = require('../internals/set-iterate');\nvar toString = require('../internals/to-string');\n\nvar arrayJoin = uncurryThis([].join);\nvar push = uncurryThis([].push);\n\n// `Set.prototype.join` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n join: function join(separator) {\n var set = aSet(this);\n var sep = separator === undefined ? ',' : toString(separator);\n var array = [];\n iterate(set, function (value) {\n push(array, value);\n });\n return arrayJoin(array, sep);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar bind = require('../internals/function-bind-context');\nvar aSet = require('../internals/a-set');\nvar SetHelpers = require('../internals/set-helpers');\nvar iterate = require('../internals/set-iterate');\n\nvar Set = SetHelpers.Set;\nvar add = SetHelpers.add;\n\n// `Set.prototype.map` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n map: function map(callbackfn /* , thisArg */) {\n var set = aSet(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var newSet = new Set();\n iterate(set, function (value) {\n add(newSet, boundFunction(value, value, set));\n });\n return newSet;\n }\n});\n","var $ = require('../internals/export');\nvar of = require('../internals/collection-of');\n\n// `Set.of` method\n// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of\n$({ target: 'Set', stat: true, forced: true }, {\n of: of\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aCallable = require('../internals/a-callable');\nvar aSet = require('../internals/a-set');\nvar iterate = require('../internals/set-iterate');\n\nvar $TypeError = TypeError;\n\n// `Set.prototype.reduce` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n var set = aSet(this);\n var noInitial = arguments.length < 2;\n var accumulator = noInitial ? undefined : arguments[1];\n aCallable(callbackfn);\n iterate(set, function (value) {\n if (noInitial) {\n noInitial = false;\n accumulator = value;\n } else {\n accumulator = callbackfn(accumulator, value, value, set);\n }\n });\n if (noInitial) throw $TypeError('Reduce of empty set with no initial value');\n return accumulator;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar bind = require('../internals/function-bind-context');\nvar aSet = require('../internals/a-set');\nvar iterate = require('../internals/set-iterate');\n\n// `Set.prototype.some` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n some: function some(callbackfn /* , thisArg */) {\n var set = aSet(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return iterate(set, function (value) {\n if (boundFunction(value, value, set)) return true;\n }, true) === true;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar toSetLike = require('../internals/to-set-like');\nvar $symmetricDifference = require('../internals/set-symmetric-difference');\n\n// `Set.prototype.symmetricDifference` method\n// https://github.com/tc39/proposal-set-methods\n// TODO: Obsolete version, remove from `core-js@4`\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n symmetricDifference: function symmetricDifference(other) {\n return call($symmetricDifference, this, toSetLike(other));\n }\n});\n","var $ = require('../internals/export');\nvar symmetricDifference = require('../internals/set-symmetric-difference');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.symmetricDifference` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('symmetricDifference') }, {\n symmetricDifference: symmetricDifference\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar toSetLike = require('../internals/to-set-like');\nvar $union = require('../internals/set-union');\n\n// `Set.prototype.union` method\n// https://github.com/tc39/proposal-set-methods\n// TODO: Obsolete version, remove from `core-js@4`\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n union: function union(other) {\n return call($union, this, toSetLike(other));\n }\n});\n","var $ = require('../internals/export');\nvar union = require('../internals/set-union');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.union` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('union') }, {\n union: union\n});\n","'use strict';\n// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar charAt = require('../internals/string-multibyte').charAt;\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\n\n// `String.prototype.at` method\n// https://github.com/mathiasbynens/String.prototype.at\n$({ target: 'String', proto: true, forced: true }, {\n at: function at(index) {\n var S = toString(requireObjectCoercible(this));\n var len = S.length;\n var relativeIndex = toIntegerOrInfinity(index);\n var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;\n return (k < 0 || k >= len) ? undefined : charAt(S, k);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar StringMultibyteModule = require('../internals/string-multibyte');\n\nvar codeAt = StringMultibyteModule.codeAt;\nvar charAt = StringMultibyteModule.charAt;\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// TODO: unify with String#@@iterator\nvar $StringIterator = createIteratorConstructor(function StringIterator(string) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: string,\n index: 0\n });\n}, 'String', function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return createIterResultObject(undefined, true);\n point = charAt(string, index);\n state.index += point.length;\n return createIterResultObject({ codePoint: codeAt(point, 0), position: index }, false);\n});\n\n// `String.prototype.codePoints` method\n// https://github.com/tc39/proposal-string-prototype-codepoints\n$({ target: 'String', proto: true, forced: true }, {\n codePoints: function codePoints() {\n return new $StringIterator(toString(requireObjectCoercible(this)));\n }\n});\n","var $ = require('../internals/export');\nvar cooked = require('../internals/string-cooked');\n\n// `String.cooked` method\n// https://github.com/tc39/proposal-string-cooked\n$({ target: 'String', stat: true, forced: true }, {\n cooked: cooked\n});\n","'use strict';\nvar FREEZING = require('../internals/freezing');\nvar $ = require('../internals/export');\nvar shared = require('../internals/shared');\nvar getBuiltIn = require('../internals/get-built-in');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar apply = require('../internals/function-apply');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar isCallable = require('../internals/is-callable');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar defineProperty = require('../internals/object-define-property').f;\nvar createArrayFromList = require('../internals/array-slice-simple');\nvar cooked = require('../internals/string-cooked');\nvar parse = require('../internals/string-parse');\nvar whitespaces = require('../internals/whitespaces');\n\nvar WeakMap = getBuiltIn('WeakMap');\nvar globalDedentRegistry = shared('GlobalDedentRegistry', new WeakMap());\n\n/* eslint-disable no-self-assign -- prototype methods protection */\nglobalDedentRegistry.has = globalDedentRegistry.has;\nglobalDedentRegistry.get = globalDedentRegistry.get;\nglobalDedentRegistry.set = globalDedentRegistry.set;\n/* eslint-enable no-self-assign -- prototype methods protection */\n\nvar $Array = Array;\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-freeze -- safe\nvar freeze = Object.freeze || Object;\n// eslint-disable-next-line es/no-object-isfrozen -- safe\nvar isFrozen = Object.isFrozen;\nvar min = Math.min;\nvar charAt = uncurryThis(''.charAt);\nvar stringSlice = uncurryThis(''.slice);\nvar split = uncurryThis(''.split);\nvar exec = uncurryThis(/./.exec);\n\nvar NEW_LINE = /([\\n\\u2028\\u2029]|\\r\\n?)/g;\nvar LEADING_WHITESPACE = RegExp('^[' + whitespaces + ']*');\nvar NON_WHITESPACE = RegExp('[^' + whitespaces + ']');\nvar INVALID_TAG = 'Invalid tag';\nvar INVALID_OPENING_LINE = 'Invalid opening line';\nvar INVALID_CLOSING_LINE = 'Invalid closing line';\n\nvar dedentTemplateStringsArray = function (template) {\n var rawInput = template.raw;\n // https://github.com/tc39/proposal-string-dedent/issues/75\n if (FREEZING && !isFrozen(rawInput)) throw $TypeError('Raw template should be frozen');\n if (globalDedentRegistry.has(rawInput)) return globalDedentRegistry.get(rawInput);\n var raw = dedentStringsArray(rawInput);\n var cookedArr = cookStrings(raw);\n defineProperty(cookedArr, 'raw', {\n value: freeze(raw)\n });\n freeze(cookedArr);\n globalDedentRegistry.set(rawInput, cookedArr);\n return cookedArr;\n};\n\nvar dedentStringsArray = function (template) {\n var t = toObject(template);\n var length = lengthOfArrayLike(t);\n var blocks = $Array(length);\n var dedented = $Array(length);\n var i = 0;\n var lines, common;\n\n if (!length) throw $TypeError(INVALID_TAG);\n\n for (; i < length; i++) {\n var element = t[i];\n if (typeof element == 'string') blocks[i] = split(element, NEW_LINE);\n else throw $TypeError(INVALID_TAG);\n }\n\n for (i = 0; i < length; i++) {\n var lastSplit = i + 1 === length;\n lines = blocks[i];\n if (i === 0) {\n if (lines.length === 1 || lines[0].length > 0) {\n throw $TypeError(INVALID_OPENING_LINE);\n }\n lines[1] = '';\n }\n if (lastSplit) {\n if (lines.length === 1 || exec(NON_WHITESPACE, lines[lines.length - 1])) {\n throw $TypeError(INVALID_CLOSING_LINE);\n }\n lines[lines.length - 2] = '';\n lines[lines.length - 1] = '';\n }\n for (var j = 2; j < lines.length; j += 2) {\n var text = lines[j];\n var lineContainsTemplateExpression = j + 1 === lines.length && !lastSplit;\n var leading = exec(LEADING_WHITESPACE, text)[0];\n if (!lineContainsTemplateExpression && leading.length === text.length) {\n lines[j] = '';\n continue;\n }\n common = commonLeadingIndentation(leading, common);\n }\n }\n\n var count = common ? common.length : 0;\n\n for (i = 0; i < length; i++) {\n lines = blocks[i];\n for (var quasi = lines[0], k = 1; k < lines.length; k += 2) {\n quasi += lines[k] + stringSlice(lines[k + 1], count);\n }\n dedented[i] = quasi;\n }\n\n return dedented;\n};\n\nvar commonLeadingIndentation = function (a, b) {\n if (b === undefined || a === b) return a;\n var i = 0;\n for (var len = min(a.length, b.length); i < len; i++) {\n if (charAt(a, i) !== charAt(b, i)) break;\n }\n return stringSlice(a, 0, i);\n};\n\nvar cookStrings = function (raw) {\n for (var i = 0, length = raw.length, result = $Array(length); i < length; i++) {\n result[i] = parse(raw[i]);\n } return result;\n};\n\nvar makeDedentTag = function (tag) {\n return makeBuiltIn(function (template /* , ...substitutions */) {\n var args = createArrayFromList(arguments);\n args[0] = dedentTemplateStringsArray(anObject(template));\n return apply(tag, this, args);\n }, '');\n};\n\nvar cookedDedentTag = makeDedentTag(cooked);\n\n// `String.dedent` method\n// https://github.com/tc39/proposal-string-dedent\n$({ target: 'String', stat: true, forced: true }, {\n dedent: function dedent(templateOrFn /* , ...substitutions */) {\n anObject(templateOrFn);\n if (isCallable(templateOrFn)) return makeDedentTag(templateOrFn);\n return apply(cookedDedentTag, this, arguments);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\n\nvar charCodeAt = uncurryThis(''.charCodeAt);\n\n// `String.prototype.isWellFormed` method\n// https://github.com/tc39/proposal-is-usv-string\n$({ target: 'String', proto: true }, {\n isWellFormed: function isWellFormed() {\n var S = toString(requireObjectCoercible(this));\n var length = S.length;\n for (var i = 0; i < length; i++) {\n var charCode = charCodeAt(S, i);\n // single UTF-16 code unit\n if ((charCode & 0xF800) != 0xD800) continue;\n // unpaired surrogate\n if (charCode >= 0xDC00 || ++i >= length || (charCodeAt(S, i) & 0xFC00) != 0xDC00) return false;\n } return true;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\n\nvar $Array = Array;\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar join = uncurryThis([].join);\nvar $toWellFormed = ''.toWellFormed;\nvar REPLACEMENT_CHARACTER = '\\uFFFD';\n\n// Safari bug\nvar TO_STRING_CONVERSION_BUG = $toWellFormed && fails(function () {\n return call($toWellFormed, 1) !== '1';\n});\n\n// `String.prototype.toWellFormed` method\n// https://github.com/tc39/proposal-is-usv-string\n$({ target: 'String', proto: true, forced: TO_STRING_CONVERSION_BUG }, {\n toWellFormed: function toWellFormed() {\n var S = toString(requireObjectCoercible(this));\n if (TO_STRING_CONVERSION_BUG) return call($toWellFormed, S);\n var length = S.length;\n var result = $Array(length);\n for (var i = 0; i < length; i++) {\n var charCode = charCodeAt(S, i);\n // single UTF-16 code unit\n if ((charCode & 0xF800) != 0xD800) result[i] = charAt(S, i);\n // unpaired surrogate\n else if (charCode >= 0xDC00 || i + 1 >= length || (charCodeAt(S, i + 1) & 0xFC00) != 0xDC00) result[i] = REPLACEMENT_CHARACTER;\n // surrogate pair\n else {\n result[i] = charAt(S, i);\n result[++i] = charAt(S, i);\n }\n } return join(result, '');\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar create = require('../internals/object-create');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar installErrorStack = require('../internals/error-stack-install');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Error = Error;\n\nvar $SuppressedError = function SuppressedError(error, suppressed, message) {\n var isInstance = isPrototypeOf(SuppressedErrorPrototype, this);\n var that;\n if (setPrototypeOf) {\n that = setPrototypeOf($Error(), isInstance ? getPrototypeOf(this) : SuppressedErrorPrototype);\n } else {\n that = isInstance ? this : create(SuppressedErrorPrototype);\n createNonEnumerableProperty(that, TO_STRING_TAG, 'Error');\n }\n if (message !== undefined) createNonEnumerableProperty(that, 'message', normalizeStringArgument(message));\n installErrorStack(that, $SuppressedError, that.stack, 1);\n createNonEnumerableProperty(that, 'error', error);\n createNonEnumerableProperty(that, 'suppressed', suppressed);\n return that;\n};\n\nif (setPrototypeOf) setPrototypeOf($SuppressedError, $Error);\nelse copyConstructorProperties($SuppressedError, $Error, { name: true });\n\nvar SuppressedErrorPrototype = $SuppressedError.prototype = create($Error.prototype, {\n constructor: createPropertyDescriptor(1, $SuppressedError),\n message: createPropertyDescriptor(1, ''),\n name: createPropertyDescriptor(1, 'SuppressedError')\n});\n\n// `SuppressedError` constructor\n// https://github.com/tc39/proposal-explicit-resource-management\n$({ global: true, constructor: true, arity: 3 }, {\n SuppressedError: $SuppressedError\n});\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.asyncDispose` well-known symbol\n// https://github.com/tc39/proposal-async-explicit-resource-management\ndefineWellKnownSymbol('asyncDispose');\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.dispose` well-known symbol\n// https://github.com/tc39/proposal-explicit-resource-management\ndefineWellKnownSymbol('dispose');\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Symbol = getBuiltIn('Symbol');\nvar keyFor = Symbol.keyFor;\nvar thisSymbolValue = uncurryThis(Symbol.prototype.valueOf);\n\n// `Symbol.isRegistered` method\n// https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregistered\n$({ target: 'Symbol', stat: true }, {\n isRegistered: function isRegistered(value) {\n try {\n return keyFor(thisSymbolValue(value)) !== undefined;\n } catch (error) {\n return false;\n }\n }\n});\n","var $ = require('../internals/export');\nvar shared = require('../internals/shared');\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isSymbol = require('../internals/is-symbol');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar Symbol = getBuiltIn('Symbol');\nvar $isWellKnown = Symbol.isWellKnown;\nvar getOwnPropertyNames = getBuiltIn('Object', 'getOwnPropertyNames');\nvar thisSymbolValue = uncurryThis(Symbol.prototype.valueOf);\nvar WellKnownSymbolsStore = shared('wks');\n\nfor (var i = 0, symbolKeys = getOwnPropertyNames(Symbol), symbolKeysLength = symbolKeys.length; i < symbolKeysLength; i++) {\n // some old engines throws on access to some keys like `arguments` or `caller`\n try {\n var symbolKey = symbolKeys[i];\n if (isSymbol(Symbol[symbolKey])) wellKnownSymbol(symbolKey);\n } catch (error) { /* empty */ }\n}\n\n// `Symbol.isWellKnown` method\n// https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknown\n// We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected\n$({ target: 'Symbol', stat: true, forced: true }, {\n isWellKnown: function isWellKnown(value) {\n if ($isWellKnown && $isWellKnown(value)) return true;\n try {\n var symbol = thisSymbolValue(value);\n for (var j = 0, keys = getOwnPropertyNames(WellKnownSymbolsStore), keysLength = keys.length; j < keysLength; j++) {\n if (WellKnownSymbolsStore[keys[j]] == symbol) return true;\n }\n } catch (error) { /* empty */ }\n return false;\n }\n});\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.matcher` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('matcher');\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.metadataKey` well-known symbol\n// https://github.com/tc39/proposal-decorator-metadata\ndefineWellKnownSymbol('metadataKey');\n","// TODO: Remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.metadata` well-known symbol\n// https://github.com/tc39/proposal-decorators\ndefineWellKnownSymbol('metadata');\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.observable` well-known symbol\n// https://github.com/tc39/proposal-observable\ndefineWellKnownSymbol('observable');\n","// TODO: remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.patternMatch` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('patternMatch');\n","// TODO: remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\ndefineWellKnownSymbol('replaceAll');\n","'use strict';\n// TODO: Remove from `core-js@4`\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $filterReject = require('../internals/array-iteration').filterReject;\nvar fromSpeciesAndList = require('../internals/typed-array-from-species-and-list');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.filterOut` method\n// https://github.com/tc39/proposal-array-filtering\nexportTypedArrayMethod('filterOut', function filterOut(callbackfn /* , thisArg */) {\n var list = $filterReject(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return fromSpeciesAndList(this, list);\n}, true);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $filterReject = require('../internals/array-iteration').filterReject;\nvar fromSpeciesAndList = require('../internals/typed-array-from-species-and-list');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.filterReject` method\n// https://github.com/tc39/proposal-array-filtering\nexportTypedArrayMethod('filterReject', function filterReject(callbackfn /* , thisArg */) {\n var list = $filterReject(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return fromSpeciesAndList(this, list);\n}, true);\n","'use strict';\n// TODO: Remove from `core-js@4`\nvar getBuiltIn = require('../internals/get-built-in');\nvar aConstructor = require('../internals/a-constructor');\nvar arrayFromAsync = require('../internals/array-from-async');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\n\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayStaticMethod = ArrayBufferViewCore.exportTypedArrayStaticMethod;\n\n// `%TypedArray%.fromAsync` method\n// https://github.com/tc39/proposal-array-from-async\nexportTypedArrayStaticMethod('fromAsync', function fromAsync(asyncItems /* , mapfn = undefined, thisArg = undefined */) {\n var C = this;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var thisArg = argumentsLength > 2 ? arguments[2] : undefined;\n return new (getBuiltIn('Promise'))(function (resolve) {\n aConstructor(C);\n resolve(arrayFromAsync(asyncItems, mapfn, thisArg));\n }).then(function (list) {\n return arrayFromConstructorAndList(aTypedArrayConstructor(C), list);\n });\n}, true);\n","'use strict';\n// TODO: Remove from `core-js@4`\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $group = require('../internals/array-group');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.groupBy` method\n// https://github.com/tc39/proposal-array-grouping\nexportTypedArrayMethod('groupBy', function groupBy(callbackfn /* , thisArg */) {\n var thisArg = arguments.length > 1 ? arguments[1] : undefined;\n return $group(aTypedArray(this), callbackfn, thisArg, typedArraySpeciesConstructor);\n}, true);\n","'use strict';\n// TODO: Remove from `core-js@4`\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isBigIntArray = require('../internals/is-big-int-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toBigInt = require('../internals/to-big-int');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar max = Math.max;\nvar min = Math.min;\n\n// some early implementations, like WebKit, does not follow the final semantic\nvar PROPER_ORDER = !fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n var array = new Int8Array([1]);\n\n var spliced = array.toSpliced(1, 0, {\n valueOf: function () {\n array[0] = 2;\n return 3;\n }\n });\n\n return spliced[0] !== 2 || spliced[1] !== 3;\n});\n\n// `%TypedArray%.prototype.toSpliced` method\n// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toSpliced\nexportTypedArrayMethod('toSpliced', function toSpliced(start, deleteCount /* , ...items */) {\n var O = aTypedArray(this);\n var C = getTypedArrayConstructor(O);\n var len = lengthOfArrayLike(O);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var k = 0;\n var insertCount, actualDeleteCount, thisIsBigIntArray, convertedItems, value, newLen, A;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart);\n insertCount = argumentsLength - 2;\n if (insertCount) {\n convertedItems = new C(insertCount);\n thisIsBigIntArray = isBigIntArray(convertedItems);\n for (var i = 2; i < argumentsLength; i++) {\n value = arguments[i];\n // FF30- typed arrays doesn't properly convert objects to typed array values\n convertedItems[i - 2] = thisIsBigIntArray ? toBigInt(value) : +value;\n }\n }\n }\n newLen = len + insertCount - actualDeleteCount;\n A = new C(newLen);\n\n for (; k < actualStart; k++) A[k] = O[k];\n for (; k < actualStart + insertCount; k++) A[k] = convertedItems[k - actualStart];\n for (; k < newLen; k++) A[k] = O[k + actualDeleteCount - insertCount];\n\n return A;\n}, !PROPER_ORDER);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\nvar $arrayUniqueBy = require('../internals/array-unique-by');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar arrayUniqueBy = uncurryThis($arrayUniqueBy);\n\n// `%TypedArray%.prototype.uniqueBy` method\n// https://github.com/tc39/proposal-array-unique\nexportTypedArrayMethod('uniqueBy', function uniqueBy(resolver) {\n aTypedArray(this);\n return arrayFromConstructorAndList(getTypedArrayConstructor(this), arrayUniqueBy(this, resolver));\n}, true);\n","'use strict';\nvar $ = require('../internals/export');\nvar aWeakMap = require('../internals/a-weak-map');\nvar remove = require('../internals/weak-map-helpers').remove;\n\n// `WeakMap.prototype.deleteAll` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'WeakMap', proto: true, real: true, forced: true }, {\n deleteAll: function deleteAll(/* ...elements */) {\n var collection = aWeakMap(this);\n var allDeleted = true;\n var wasDeleted;\n for (var k = 0, len = arguments.length; k < len; k++) {\n wasDeleted = remove(collection, arguments[k]);\n allDeleted = allDeleted && wasDeleted;\n } return !!allDeleted;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aWeakMap = require('../internals/a-weak-map');\nvar WeakMapHelpers = require('../internals/weak-map-helpers');\n\nvar get = WeakMapHelpers.get;\nvar has = WeakMapHelpers.has;\nvar set = WeakMapHelpers.set;\n\n// `WeakMap.prototype.emplace` method\n// https://github.com/tc39/proposal-upsert\n$({ target: 'WeakMap', proto: true, real: true, forced: true }, {\n emplace: function emplace(key, handler) {\n var map = aWeakMap(this);\n var value, inserted;\n if (has(map, key)) {\n value = get(map, key);\n if ('update' in handler) {\n value = handler.update(value, key, map);\n set(map, key, value);\n } return value;\n }\n inserted = handler.insert(key, map);\n set(map, key, inserted);\n return inserted;\n }\n});\n","var $ = require('../internals/export');\nvar from = require('../internals/collection-from');\n\n// `WeakMap.from` method\n// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from\n$({ target: 'WeakMap', stat: true, forced: true }, {\n from: from\n});\n","var $ = require('../internals/export');\nvar of = require('../internals/collection-of');\n\n// `WeakMap.of` method\n// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of\n$({ target: 'WeakMap', stat: true, forced: true }, {\n of: of\n});\n","'use strict';\n// TODO: remove from `core-js@4`\nvar $ = require('../internals/export');\nvar upsert = require('../internals/map-upsert');\n\n// `WeakMap.prototype.upsert` method (replaced by `WeakMap.prototype.emplace`)\n// https://github.com/tc39/proposal-upsert\n$({ target: 'WeakMap', proto: true, real: true, forced: true }, {\n upsert: upsert\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aWeakSet = require('../internals/a-weak-set');\nvar add = require('../internals/weak-set-helpers').add;\n\n// `WeakSet.prototype.addAll` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'WeakSet', proto: true, real: true, forced: true }, {\n addAll: function addAll(/* ...elements */) {\n var set = aWeakSet(this);\n for (var k = 0, len = arguments.length; k < len; k++) {\n add(set, arguments[k]);\n } return set;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aWeakSet = require('../internals/a-weak-set');\nvar remove = require('../internals/weak-set-helpers').remove;\n\n// `WeakSet.prototype.deleteAll` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'WeakSet', proto: true, real: true, forced: true }, {\n deleteAll: function deleteAll(/* ...elements */) {\n var collection = aWeakSet(this);\n var allDeleted = true;\n var wasDeleted;\n for (var k = 0, len = arguments.length; k < len; k++) {\n wasDeleted = remove(collection, arguments[k]);\n allDeleted = allDeleted && wasDeleted;\n } return !!allDeleted;\n }\n});\n","var $ = require('../internals/export');\nvar from = require('../internals/collection-from');\n\n// `WeakSet.from` method\n// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from\n$({ target: 'WeakSet', stat: true, forced: true }, {\n from: from\n});\n","var $ = require('../internals/export');\nvar of = require('../internals/collection-of');\n\n// `WeakSet.of` method\n// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of\n$({ target: 'WeakSet', stat: true, forced: true }, {\n of: of\n});\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar clearImmediate = require('../internals/task').clear;\n\n// `clearImmediate` method\n// http://w3c.github.io/setImmediate/#si-clearImmediate\n$({ global: true, bind: true, enumerable: true, forced: global.clearImmediate !== clearImmediate }, {\n clearImmediate: clearImmediate\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar anInstance = require('../internals/an-instance');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar DOMExceptionConstants = require('../internals/dom-exception-constants');\nvar clearErrorStack = require('../internals/error-stack-clear');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nvar DOM_EXCEPTION = 'DOMException';\nvar Error = getBuiltIn('Error');\nvar NativeDOMException = getBuiltIn(DOM_EXCEPTION);\n\nvar $DOMException = function DOMException() {\n anInstance(this, DOMExceptionPrototype);\n var argumentsLength = arguments.length;\n var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]);\n var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error');\n var that = new NativeDOMException(message, name);\n var error = Error(message);\n error.name = DOM_EXCEPTION;\n defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1)));\n inheritIfRequired(that, this, $DOMException);\n return that;\n};\n\nvar DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype;\n\nvar ERROR_HAS_STACK = 'stack' in Error(DOM_EXCEPTION);\nvar DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2);\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(global, DOM_EXCEPTION);\n\n// Bun ~ 0.1.1 DOMException have incorrect descriptor and we can't redefine it\n// https://github.com/Jarred-Sumner/bun/issues/399\nvar BUGGY_DESCRIPTOR = !!descriptor && !(descriptor.writable && descriptor.configurable);\n\nvar FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !BUGGY_DESCRIPTOR && !DOM_EXCEPTION_HAS_STACK;\n\n// `DOMException` constructor patch for `.stack` where it's required\n// https://webidl.spec.whatwg.org/#es-DOMException-specialness\n$({ global: true, constructor: true, forced: IS_PURE || FORCED_CONSTRUCTOR }, { // TODO: fix export logic\n DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException\n});\n\nvar PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION);\nvar PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype;\n\nif (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) {\n if (!IS_PURE) {\n defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException));\n }\n\n for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) {\n var constant = DOMExceptionConstants[key];\n var constantName = constant.s;\n if (!hasOwn(PolyfilledDOMException, constantName)) {\n defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c));\n }\n }\n}\n","// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/web.clear-immediate');\nrequire('../modules/web.set-immediate');\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar INCORRECT_VALUE = global.self !== global;\n\n// `self` getter\n// https://html.spec.whatwg.org/multipage/window-object.html#dom-self\ntry {\n if (DESCRIPTORS) {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n var descriptor = Object.getOwnPropertyDescriptor(global, 'self');\n // some engines have `self`, but with incorrect descriptor\n // https://github.com/denoland/deno/issues/15765\n if (INCORRECT_VALUE || !descriptor || !descriptor.get || !descriptor.enumerable) {\n defineBuiltInAccessor(global, 'self', {\n get: function self() {\n return global;\n },\n set: function self(value) {\n if (this !== global) throw $TypeError('Illegal invocation');\n defineProperty(global, 'self', {\n value: value,\n writable: true,\n configurable: true,\n enumerable: true\n });\n },\n configurable: true,\n enumerable: true\n });\n }\n } else $({ global: true, simple: true, forced: INCORRECT_VALUE }, {\n self: global\n });\n} catch (error) { /* empty */ }\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar setTask = require('../internals/task').set;\nvar schedulersFix = require('../internals/schedulers-fix');\n\n// https://github.com/oven-sh/bun/issues/1633\nvar setImmediate = global.setImmediate ? schedulersFix(setTask, false) : setTask;\n\n// `setImmediate` method\n// http://w3c.github.io/setImmediate/#si-setImmediate\n$({ global: true, bind: true, enumerable: true, forced: global.setImmediate !== setImmediate }, {\n setImmediate: setImmediate\n});\n","var IS_PURE = require('../internals/is-pure');\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltin = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar uid = require('../internals/uid');\nvar isCallable = require('../internals/is-callable');\nvar isConstructor = require('../internals/is-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar iterate = require('../internals/iterate');\nvar anObject = require('../internals/an-object');\nvar classof = require('../internals/classof');\nvar hasOwn = require('../internals/has-own-property');\nvar createProperty = require('../internals/create-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar MapHelpers = require('../internals/map-helpers');\nvar SetHelpers = require('../internals/set-helpers');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\nvar PROPER_TRANSFER = require('../internals/structured-clone-proper-transfer');\n\nvar Object = global.Object;\nvar Array = global.Array;\nvar Date = global.Date;\nvar Error = global.Error;\nvar EvalError = global.EvalError;\nvar RangeError = global.RangeError;\nvar ReferenceError = global.ReferenceError;\nvar SyntaxError = global.SyntaxError;\nvar TypeError = global.TypeError;\nvar URIError = global.URIError;\nvar PerformanceMark = global.PerformanceMark;\nvar WebAssembly = global.WebAssembly;\nvar CompileError = WebAssembly && WebAssembly.CompileError || Error;\nvar LinkError = WebAssembly && WebAssembly.LinkError || Error;\nvar RuntimeError = WebAssembly && WebAssembly.RuntimeError || Error;\nvar DOMException = getBuiltin('DOMException');\nvar Map = MapHelpers.Map;\nvar mapHas = MapHelpers.has;\nvar mapGet = MapHelpers.get;\nvar mapSet = MapHelpers.set;\nvar Set = SetHelpers.Set;\nvar setAdd = SetHelpers.add;\nvar objectKeys = getBuiltin('Object', 'keys');\nvar push = uncurryThis([].push);\nvar thisBooleanValue = uncurryThis(true.valueOf);\nvar thisNumberValue = uncurryThis(1.0.valueOf);\nvar thisStringValue = uncurryThis(''.valueOf);\nvar thisTimeValue = uncurryThis(Date.prototype.getTime);\nvar PERFORMANCE_MARK = uid('structuredClone');\nvar DATA_CLONE_ERROR = 'DataCloneError';\nvar TRANSFERRING = 'Transferring';\n\nvar checkBasicSemantic = function (structuredCloneImplementation) {\n return !fails(function () {\n var set1 = new global.Set([7]);\n var set2 = structuredCloneImplementation(set1);\n var number = structuredCloneImplementation(Object(7));\n return set2 == set1 || !set2.has(7) || typeof number != 'object' || number != 7;\n }) && structuredCloneImplementation;\n};\n\nvar checkErrorsCloning = function (structuredCloneImplementation, $Error) {\n return !fails(function () {\n var error = new $Error();\n var test = structuredCloneImplementation({ a: error, b: error });\n return !(test && test.a === test.b && test.a instanceof $Error && test.a.stack === error.stack);\n });\n};\n\n// https://github.com/whatwg/html/pull/5749\nvar checkNewErrorsCloningSemantic = function (structuredCloneImplementation) {\n return !fails(function () {\n var test = structuredCloneImplementation(new global.AggregateError([1], PERFORMANCE_MARK, { cause: 3 }));\n return test.name != 'AggregateError' || test.errors[0] != 1 || test.message != PERFORMANCE_MARK || test.cause != 3;\n });\n};\n\n// FF94+, Safari 15.4+, Chrome 98+, NodeJS 17.0+, Deno 1.13+\n// FF<103 and Safari implementations can't clone errors\n// https://bugzilla.mozilla.org/show_bug.cgi?id=1556604\n// FF103 can clone errors, but `.stack` of clone is an empty string\n// https://bugzilla.mozilla.org/show_bug.cgi?id=1778762\n// FF104+ fixed it on usual errors, but not on DOMExceptions\n// https://bugzilla.mozilla.org/show_bug.cgi?id=1777321\n// Chrome <102 returns `null` if cloned object contains multiple references to one error\n// https://bugs.chromium.org/p/v8/issues/detail?id=12542\n// NodeJS implementation can't clone DOMExceptions\n// https://github.com/nodejs/node/issues/41038\n// only FF103+ supports new (html/5749) error cloning semantic\nvar nativeStructuredClone = global.structuredClone;\n\nvar FORCED_REPLACEMENT = IS_PURE\n || !checkErrorsCloning(nativeStructuredClone, Error)\n || !checkErrorsCloning(nativeStructuredClone, DOMException)\n || !checkNewErrorsCloningSemantic(nativeStructuredClone);\n\n// Chrome 82+, Safari 14.1+, Deno 1.11+\n// Chrome 78-81 implementation swaps `.name` and `.message` of cloned `DOMException`\n// Chrome returns `null` if cloned object contains multiple references to one error\n// Safari 14.1 implementation doesn't clone some `RegExp` flags, so requires a workaround\n// Safari implementation can't clone errors\n// Deno 1.2-1.10 implementations too naive\n// NodeJS 16.0+ does not have `PerformanceMark` constructor\n// NodeJS <17.2 structured cloning implementation from `performance.mark` is too naive\n// and can't clone, for example, `RegExp` or some boxed primitives\n// https://github.com/nodejs/node/issues/40840\n// no one of those implementations supports new (html/5749) error cloning semantic\nvar structuredCloneFromMark = !nativeStructuredClone && checkBasicSemantic(function (value) {\n return new PerformanceMark(PERFORMANCE_MARK, { detail: value }).detail;\n});\n\nvar nativeRestrictedStructuredClone = checkBasicSemantic(nativeStructuredClone) || structuredCloneFromMark;\n\nvar throwUncloneable = function (type) {\n throw new DOMException('Uncloneable type: ' + type, DATA_CLONE_ERROR);\n};\n\nvar throwUnpolyfillable = function (type, action) {\n throw new DOMException((action || 'Cloning') + ' of ' + type + ' cannot be properly polyfilled in this engine', DATA_CLONE_ERROR);\n};\n\nvar createDataTransfer = function () {\n var dataTransfer;\n try {\n dataTransfer = new global.DataTransfer();\n } catch (error) {\n try {\n dataTransfer = new global.ClipboardEvent('').clipboardData;\n } catch (error2) { /* empty */ }\n }\n return dataTransfer && dataTransfer.items && dataTransfer.files ? dataTransfer : null;\n};\n\nvar structuredCloneInternal = function (value, map) {\n if (isSymbol(value)) throwUncloneable('Symbol');\n if (!isObject(value)) return value;\n // effectively preserves circular references\n if (map) {\n if (mapHas(map, value)) return mapGet(map, value);\n } else map = new Map();\n\n var type = classof(value);\n var deep = false;\n var C, name, cloned, dataTransfer, i, length, keys, key, source, target;\n\n switch (type) {\n case 'Array':\n cloned = Array(lengthOfArrayLike(value));\n deep = true;\n break;\n case 'Object':\n cloned = {};\n deep = true;\n break;\n case 'Map':\n cloned = new Map();\n deep = true;\n break;\n case 'Set':\n cloned = new Set();\n deep = true;\n break;\n case 'RegExp':\n // in this block because of a Safari 14.1 bug\n // old FF does not clone regexes passed to the constructor, so get the source and flags directly\n cloned = new RegExp(value.source, getRegExpFlags(value));\n break;\n case 'Error':\n name = value.name;\n switch (name) {\n case 'AggregateError':\n cloned = getBuiltin('AggregateError')([]);\n break;\n case 'EvalError':\n cloned = EvalError();\n break;\n case 'RangeError':\n cloned = RangeError();\n break;\n case 'ReferenceError':\n cloned = ReferenceError();\n break;\n case 'SyntaxError':\n cloned = SyntaxError();\n break;\n case 'TypeError':\n cloned = TypeError();\n break;\n case 'URIError':\n cloned = URIError();\n break;\n case 'CompileError':\n cloned = CompileError();\n break;\n case 'LinkError':\n cloned = LinkError();\n break;\n case 'RuntimeError':\n cloned = RuntimeError();\n break;\n default:\n cloned = Error();\n }\n deep = true;\n break;\n case 'DOMException':\n cloned = new DOMException(value.message, value.name);\n deep = true;\n break;\n case 'DataView':\n case 'Int8Array':\n case 'Uint8Array':\n case 'Uint8ClampedArray':\n case 'Int16Array':\n case 'Uint16Array':\n case 'Int32Array':\n case 'Uint32Array':\n case 'Float32Array':\n case 'Float64Array':\n case 'BigInt64Array':\n case 'BigUint64Array':\n C = global[type];\n // in some old engines like Safari 9, typeof C is 'object'\n // on Uint8ClampedArray or some other constructors\n if (!isObject(C)) throwUnpolyfillable(type);\n cloned = new C(\n // this is safe, since arraybuffer cannot have circular references\n structuredCloneInternal(value.buffer, map),\n value.byteOffset,\n type === 'DataView' ? value.byteLength : value.length\n );\n break;\n case 'DOMQuad':\n try {\n cloned = new DOMQuad(\n structuredCloneInternal(value.p1, map),\n structuredCloneInternal(value.p2, map),\n structuredCloneInternal(value.p3, map),\n structuredCloneInternal(value.p4, map)\n );\n } catch (error) {\n if (nativeRestrictedStructuredClone) {\n cloned = nativeRestrictedStructuredClone(value);\n } else throwUnpolyfillable(type);\n }\n break;\n case 'FileList':\n dataTransfer = createDataTransfer();\n if (dataTransfer) {\n for (i = 0, length = lengthOfArrayLike(value); i < length; i++) {\n dataTransfer.items.add(structuredCloneInternal(value[i], map));\n }\n cloned = dataTransfer.files;\n } else if (nativeRestrictedStructuredClone) {\n cloned = nativeRestrictedStructuredClone(value);\n } else throwUnpolyfillable(type);\n break;\n case 'ImageData':\n // Safari 9 ImageData is a constructor, but typeof ImageData is 'object'\n try {\n cloned = new ImageData(\n structuredCloneInternal(value.data, map),\n value.width,\n value.height,\n { colorSpace: value.colorSpace }\n );\n } catch (error) {\n if (nativeRestrictedStructuredClone) {\n cloned = nativeRestrictedStructuredClone(value);\n } else throwUnpolyfillable(type);\n } break;\n default:\n if (nativeRestrictedStructuredClone) {\n cloned = nativeRestrictedStructuredClone(value);\n } else switch (type) {\n case 'BigInt':\n // can be a 3rd party polyfill\n cloned = Object(value.valueOf());\n break;\n case 'Boolean':\n cloned = Object(thisBooleanValue(value));\n break;\n case 'Number':\n cloned = Object(thisNumberValue(value));\n break;\n case 'String':\n cloned = Object(thisStringValue(value));\n break;\n case 'Date':\n cloned = new Date(thisTimeValue(value));\n break;\n case 'ArrayBuffer':\n C = global.DataView;\n // `ArrayBuffer#slice` is not available in IE10\n // `ArrayBuffer#slice` and `DataView` are not available in old FF\n if (!C && typeof value.slice != 'function') throwUnpolyfillable(type);\n // detached buffers throws in `DataView` and `.slice`\n try {\n if (typeof value.slice == 'function') {\n cloned = value.slice(0);\n } else {\n length = value.byteLength;\n cloned = new ArrayBuffer(length);\n source = new C(value);\n target = new C(cloned);\n for (i = 0; i < length; i++) {\n target.setUint8(i, source.getUint8(i));\n }\n }\n } catch (error) {\n throw new DOMException('ArrayBuffer is detached', DATA_CLONE_ERROR);\n } break;\n case 'SharedArrayBuffer':\n // SharedArrayBuffer should use shared memory, we can't polyfill it, so return the original\n cloned = value;\n break;\n case 'Blob':\n try {\n cloned = value.slice(0, value.size, value.type);\n } catch (error) {\n throwUnpolyfillable(type);\n } break;\n case 'DOMPoint':\n case 'DOMPointReadOnly':\n C = global[type];\n try {\n cloned = C.fromPoint\n ? C.fromPoint(value)\n : new C(value.x, value.y, value.z, value.w);\n } catch (error) {\n throwUnpolyfillable(type);\n } break;\n case 'DOMRect':\n case 'DOMRectReadOnly':\n C = global[type];\n try {\n cloned = C.fromRect\n ? C.fromRect(value)\n : new C(value.x, value.y, value.width, value.height);\n } catch (error) {\n throwUnpolyfillable(type);\n } break;\n case 'DOMMatrix':\n case 'DOMMatrixReadOnly':\n C = global[type];\n try {\n cloned = C.fromMatrix\n ? C.fromMatrix(value)\n : new C(value);\n } catch (error) {\n throwUnpolyfillable(type);\n } break;\n case 'AudioData':\n case 'VideoFrame':\n if (!isCallable(value.clone)) throwUnpolyfillable(type);\n try {\n cloned = value.clone();\n } catch (error) {\n throwUncloneable(type);\n } break;\n case 'File':\n try {\n cloned = new File([value], value.name, value);\n } catch (error) {\n throwUnpolyfillable(type);\n } break;\n case 'CropTarget':\n case 'CryptoKey':\n case 'FileSystemDirectoryHandle':\n case 'FileSystemFileHandle':\n case 'FileSystemHandle':\n case 'GPUCompilationInfo':\n case 'GPUCompilationMessage':\n case 'ImageBitmap':\n case 'RTCCertificate':\n case 'WebAssembly.Module':\n throwUnpolyfillable(type);\n // break omitted\n default:\n throwUncloneable(type);\n }\n }\n\n mapSet(map, value, cloned);\n\n if (deep) switch (type) {\n case 'Array':\n case 'Object':\n keys = objectKeys(value);\n for (i = 0, length = lengthOfArrayLike(keys); i < length; i++) {\n key = keys[i];\n createProperty(cloned, key, structuredCloneInternal(value[key], map));\n } break;\n case 'Map':\n value.forEach(function (v, k) {\n mapSet(cloned, structuredCloneInternal(k, map), structuredCloneInternal(v, map));\n });\n break;\n case 'Set':\n value.forEach(function (v) {\n setAdd(cloned, structuredCloneInternal(v, map));\n });\n break;\n case 'Error':\n createNonEnumerableProperty(cloned, 'message', structuredCloneInternal(value.message, map));\n if (hasOwn(value, 'cause')) {\n createNonEnumerableProperty(cloned, 'cause', structuredCloneInternal(value.cause, map));\n }\n if (name == 'AggregateError') {\n cloned.errors = structuredCloneInternal(value.errors, map);\n } // break omitted\n case 'DOMException':\n if (ERROR_STACK_INSTALLABLE) {\n createNonEnumerableProperty(cloned, 'stack', structuredCloneInternal(value.stack, map));\n }\n }\n\n return cloned;\n};\n\nvar tryToTransfer = function (rawTransfer, map) {\n if (!isObject(rawTransfer)) throw TypeError('Transfer option cannot be converted to a sequence');\n\n var transfer = [];\n\n iterate(rawTransfer, function (value) {\n push(transfer, anObject(value));\n });\n\n var i = 0;\n var length = lengthOfArrayLike(transfer);\n var value, type, C, transferredArray, transferred, canvas, context;\n\n if (PROPER_TRANSFER) {\n transferredArray = nativeStructuredClone(transfer, { transfer: transfer });\n while (i < length) mapSet(map, transfer[i], transferredArray[i++]);\n } else while (i < length) {\n value = transfer[i++];\n if (mapHas(map, value)) throw new DOMException('Duplicate transferable', DATA_CLONE_ERROR);\n\n type = classof(value);\n\n switch (type) {\n case 'ImageBitmap':\n C = global.OffscreenCanvas;\n if (!isConstructor(C)) throwUnpolyfillable(type, TRANSFERRING);\n try {\n canvas = new C(value.width, value.height);\n context = canvas.getContext('bitmaprenderer');\n context.transferFromImageBitmap(value);\n transferred = canvas.transferToImageBitmap();\n } catch (error) { /* empty */ }\n break;\n case 'AudioData':\n case 'VideoFrame':\n if (!isCallable(value.clone) || !isCallable(value.close)) throwUnpolyfillable(type, TRANSFERRING);\n try {\n transferred = value.clone();\n value.close();\n } catch (error) { /* empty */ }\n break;\n case 'ArrayBuffer':\n if (!isCallable(value.transfer)) throwUnpolyfillable(type, TRANSFERRING);\n transferred = value.transfer();\n break;\n case 'MediaSourceHandle':\n case 'MessagePort':\n case 'OffscreenCanvas':\n case 'ReadableStream':\n case 'TransformStream':\n case 'WritableStream':\n throwUnpolyfillable(type, TRANSFERRING);\n }\n\n if (transferred === undefined) throw new DOMException('This object cannot be transferred: ' + type, DATA_CLONE_ERROR);\n mapSet(map, value, transferred);\n }\n};\n\n// `structuredClone` method\n// https://html.spec.whatwg.org/multipage/structured-data.html#dom-structuredclone\n$({ global: true, enumerable: true, sham: !PROPER_TRANSFER, forced: FORCED_REPLACEMENT }, {\n structuredClone: function structuredClone(value /* , { transfer } */) {\n var options = validateArgumentsLength(arguments.length, 1) > 1 && !isNullOrUndefined(arguments[1]) ? anObject(arguments[1]) : undefined;\n var transfer = options ? options.transfer : undefined;\n var map;\n\n if (transfer !== undefined) {\n map = new Map();\n tryToTransfer(transfer, map);\n }\n\n return structuredCloneInternal(value, map);\n }\n});\n","\"use strict\";\n\nvar isValue = require(\"type/value/is\")\n , isPlainFunction = require(\"type/plain-function/is\")\n , assign = require(\"es5-ext/object/assign\")\n , normalizeOpts = require(\"es5-ext/object/normalize-options\")\n , contains = require(\"es5-ext/string/#/contains\");\n\nvar d = (module.exports = function (dscr, value/*, options*/) {\n\tvar c, e, w, options, desc;\n\tif (arguments.length < 2 || typeof dscr !== \"string\") {\n\t\toptions = value;\n\t\tvalue = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[2];\n\t}\n\tif (isValue(dscr)) {\n\t\tc = contains.call(dscr, \"c\");\n\t\te = contains.call(dscr, \"e\");\n\t\tw = contains.call(dscr, \"w\");\n\t} else {\n\t\tc = w = true;\n\t\te = false;\n\t}\n\n\tdesc = { value: value, configurable: c, enumerable: e, writable: w };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n});\n\nd.gs = function (dscr, get, set/*, options*/) {\n\tvar c, e, options, desc;\n\tif (typeof dscr !== \"string\") {\n\t\toptions = set;\n\t\tset = get;\n\t\tget = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[3];\n\t}\n\tif (!isValue(get)) {\n\t\tget = undefined;\n\t} else if (!isPlainFunction(get)) {\n\t\toptions = get;\n\t\tget = set = undefined;\n\t} else if (!isValue(set)) {\n\t\tset = undefined;\n\t} else if (!isPlainFunction(set)) {\n\t\toptions = set;\n\t\tset = undefined;\n\t}\n\tif (isValue(dscr)) {\n\t\tc = contains.call(dscr, \"c\");\n\t\te = contains.call(dscr, \"e\");\n\t} else {\n\t\tc = true;\n\t\te = false;\n\t}\n\n\tdesc = { get: get, set: set, configurable: c, enumerable: e };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n};\n","'use strict';\nvar token = '%[a-f0-9]{2}';\nvar singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nvar multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch (err) {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tvar left = components.slice(0, split);\n\tvar right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch (err) {\n\t\tvar tokens = input.match(singleMatcher) || [];\n\n\t\tfor (var i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tvar replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD'\n\t};\n\n\tvar match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch (err) {\n\t\t\tvar result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tvar entries = Object.keys(replaceMap);\n\n\tfor (var i = 0; i < entries.length; i++) {\n\t\t// Replace all decoded components\n\t\tvar key = entries[i];\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nmodule.exports = function (encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\tencodedURI = encodedURI.replace(/\\+/g, ' ');\n\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch (err) {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n};\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.enquireScreen = enquireScreen;\nexports.unenquireScreen = unenquireScreen;\nvar enquireJs = void 0;\nif (typeof window !== 'undefined') {\n var matchMediaPolyfill = function matchMediaPolyfill(mediaQuery) {\n return {\n media: mediaQuery,\n matches: false,\n addListener: function addListener() {},\n removeListener: function removeListener() {}\n };\n };\n window.matchMedia = window.matchMedia || matchMediaPolyfill;\n enquireJs = require('enquire.js');\n}\n\nvar mobileQuery = 'only screen and (max-width: 767.99px)';\n\nfunction enquireScreen(cb) {\n var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : mobileQuery;\n\n if (!enquireJs) {\n return;\n }\n\n var handler = {\n match: function match() {\n cb && cb(true);\n },\n unmatch: function unmatch() {\n cb && cb();\n }\n };\n enquireJs.register(query, handler);\n return handler;\n}\n\nfunction unenquireScreen(handler) {\n var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : mobileQuery;\n\n if (!enquireJs) {\n return;\n }\n enquireJs.unregister(query, handler);\n}\n\nexports.default = enquireJs;\n","var QueryHandler = require('./QueryHandler');\nvar each = require('./Util').each;\n\n/**\n * Represents a single media query, manages it's state and registered handlers for this query\n *\n * @constructor\n * @param {string} query the media query string\n * @param {boolean} [isUnconditional=false] whether the media query should run regardless of whether the conditions are met. Primarily for helping older browsers deal with mobile-first design\n */\nfunction MediaQuery(query, isUnconditional) {\n this.query = query;\n this.isUnconditional = isUnconditional;\n this.handlers = [];\n this.mql = window.matchMedia(query);\n\n var self = this;\n this.listener = function(mql) {\n // Chrome passes an MediaQueryListEvent object, while other browsers pass MediaQueryList directly\n self.mql = mql.currentTarget || mql;\n self.assess();\n };\n this.mql.addListener(this.listener);\n}\n\nMediaQuery.prototype = {\n\n constuctor : MediaQuery,\n\n /**\n * add a handler for this query, triggering if already active\n *\n * @param {object} handler\n * @param {function} handler.match callback for when query is activated\n * @param {function} [handler.unmatch] callback for when query is deactivated\n * @param {function} [handler.setup] callback for immediate execution when a query handler is registered\n * @param {boolean} [handler.deferSetup=false] should the setup callback be deferred until the first time the handler is matched?\n */\n addHandler : function(handler) {\n var qh = new QueryHandler(handler);\n this.handlers.push(qh);\n\n this.matches() && qh.on();\n },\n\n /**\n * removes the given handler from the collection, and calls it's destroy methods\n *\n * @param {object || function} handler the handler to remove\n */\n removeHandler : function(handler) {\n var handlers = this.handlers;\n each(handlers, function(h, i) {\n if(h.equals(handler)) {\n h.destroy();\n return !handlers.splice(i,1); //remove from array and exit each early\n }\n });\n },\n\n /**\n * Determine whether the media query should be considered a match\n *\n * @return {Boolean} true if media query can be considered a match, false otherwise\n */\n matches : function() {\n return this.mql.matches || this.isUnconditional;\n },\n\n /**\n * Clears all handlers and unbinds events\n */\n clear : function() {\n each(this.handlers, function(handler) {\n handler.destroy();\n });\n this.mql.removeListener(this.listener);\n this.handlers.length = 0; //clear array\n },\n\n /*\n * Assesses the query, turning on all handlers if it matches, turning them off if it doesn't match\n */\n assess : function() {\n var action = this.matches() ? 'on' : 'off';\n\n each(this.handlers, function(handler) {\n handler[action]();\n });\n }\n};\n\nmodule.exports = MediaQuery;\n","var MediaQuery = require('./MediaQuery');\nvar Util = require('./Util');\nvar each = Util.each;\nvar isFunction = Util.isFunction;\nvar isArray = Util.isArray;\n\n/**\n * Allows for registration of query handlers.\n * Manages the query handler's state and is responsible for wiring up browser events\n *\n * @constructor\n */\nfunction MediaQueryDispatch () {\n if(!window.matchMedia) {\n throw new Error('matchMedia not present, legacy browsers require a polyfill');\n }\n\n this.queries = {};\n this.browserIsIncapable = !window.matchMedia('only all').matches;\n}\n\nMediaQueryDispatch.prototype = {\n\n constructor : MediaQueryDispatch,\n\n /**\n * Registers a handler for the given media query\n *\n * @param {string} q the media query\n * @param {object || Array || Function} options either a single query handler object, a function, or an array of query handlers\n * @param {function} options.match fired when query matched\n * @param {function} [options.unmatch] fired when a query is no longer matched\n * @param {function} [options.setup] fired when handler first triggered\n * @param {boolean} [options.deferSetup=false] whether setup should be run immediately or deferred until query is first matched\n * @param {boolean} [shouldDegrade=false] whether this particular media query should always run on incapable browsers\n */\n register : function(q, options, shouldDegrade) {\n var queries = this.queries,\n isUnconditional = shouldDegrade && this.browserIsIncapable;\n\n if(!queries[q]) {\n queries[q] = new MediaQuery(q, isUnconditional);\n }\n\n //normalise to object in an array\n if(isFunction(options)) {\n options = { match : options };\n }\n if(!isArray(options)) {\n options = [options];\n }\n each(options, function(handler) {\n if (isFunction(handler)) {\n handler = { match : handler };\n }\n queries[q].addHandler(handler);\n });\n\n return this;\n },\n\n /**\n * unregisters a query and all it's handlers, or a specific handler for a query\n *\n * @param {string} q the media query to target\n * @param {object || function} [handler] specific handler to unregister\n */\n unregister : function(q, handler) {\n var query = this.queries[q];\n\n if(query) {\n if(handler) {\n query.removeHandler(handler);\n }\n else {\n query.clear();\n delete this.queries[q];\n }\n }\n\n return this;\n }\n};\n\nmodule.exports = MediaQueryDispatch;\n","/**\n * Delegate to handle a media query being matched and unmatched.\n *\n * @param {object} options\n * @param {function} options.match callback for when the media query is matched\n * @param {function} [options.unmatch] callback for when the media query is unmatched\n * @param {function} [options.setup] one-time callback triggered the first time a query is matched\n * @param {boolean} [options.deferSetup=false] should the setup callback be run immediately, rather than first time query is matched?\n * @constructor\n */\nfunction QueryHandler(options) {\n this.options = options;\n !options.deferSetup && this.setup();\n}\n\nQueryHandler.prototype = {\n\n constructor : QueryHandler,\n\n /**\n * coordinates setup of the handler\n *\n * @function\n */\n setup : function() {\n if(this.options.setup) {\n this.options.setup();\n }\n this.initialised = true;\n },\n\n /**\n * coordinates setup and triggering of the handler\n *\n * @function\n */\n on : function() {\n !this.initialised && this.setup();\n this.options.match && this.options.match();\n },\n\n /**\n * coordinates the unmatch event for the handler\n *\n * @function\n */\n off : function() {\n this.options.unmatch && this.options.unmatch();\n },\n\n /**\n * called when a handler is to be destroyed.\n * delegates to the destroy or unmatch callbacks, depending on availability.\n *\n * @function\n */\n destroy : function() {\n this.options.destroy ? this.options.destroy() : this.off();\n },\n\n /**\n * determines equality by reference.\n * if object is supplied compare options, if function, compare match callback\n *\n * @function\n * @param {object || function} [target] the target for comparison\n */\n equals : function(target) {\n return this.options === target || this.options.match === target;\n }\n\n};\n\nmodule.exports = QueryHandler;\n","/**\n * Helper function for iterating over a collection\n *\n * @param collection\n * @param fn\n */\nfunction each(collection, fn) {\n var i = 0,\n length = collection.length,\n cont;\n\n for(i; i < length; i++) {\n cont = fn(collection[i], i);\n if(cont === false) {\n break; //allow early exit\n }\n }\n}\n\n/**\n * Helper function for determining whether target object is an array\n *\n * @param target the object under test\n * @return {Boolean} true if array, false otherwise\n */\nfunction isArray(target) {\n return Object.prototype.toString.apply(target) === '[object Array]';\n}\n\n/**\n * Helper function for determining whether target object is a function\n *\n * @param target the object under test\n * @return {Boolean} true if function, false otherwise\n */\nfunction isFunction(target) {\n return typeof target === 'function';\n}\n\nmodule.exports = {\n isFunction : isFunction,\n isArray : isArray,\n each : each\n};\n","var MediaQueryDispatch = require('./MediaQueryDispatch');\nmodule.exports = new MediaQueryDispatch();\n","\"use strict\";\n\n// eslint-disable-next-line no-empty-function\nmodule.exports = function () {};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.assign : require(\"./shim\");\n","\"use strict\";\n\nmodule.exports = function () {\n\tvar assign = Object.assign, obj;\n\tif (typeof assign !== \"function\") return false;\n\tobj = { foo: \"raz\" };\n\tassign(obj, { bar: \"dwa\" }, { trzy: \"trzy\" });\n\treturn obj.foo + obj.bar + obj.trzy === \"razdwatrzy\";\n};\n","\"use strict\";\n\nvar keys = require(\"../keys\")\n , value = require(\"../valid-value\")\n , max = Math.max;\n\nmodule.exports = function (dest, src /*, …srcn*/) {\n\tvar error, i, length = max(arguments.length, 2), assign;\n\tdest = Object(value(dest));\n\tassign = function (key) {\n\t\ttry {\n\t\t\tdest[key] = src[key];\n\t\t} catch (e) {\n\t\t\tif (!error) error = e;\n\t\t}\n\t};\n\tfor (i = 1; i < length; ++i) {\n\t\tsrc = arguments[i];\n\t\tkeys(src).forEach(assign);\n\t}\n\tif (error !== undefined) throw error;\n\treturn dest;\n};\n","\"use strict\";\n\nvar _undefined = require(\"../function/noop\")(); // Support ES3 engines\n\nmodule.exports = function (val) { return val !== _undefined && val !== null; };\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.keys : require(\"./shim\");\n","\"use strict\";\n\nmodule.exports = function () {\n\ttry {\n\t\tObject.keys(\"primitive\");\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n","\"use strict\";\n\nvar isValue = require(\"../is-value\");\n\nvar keys = Object.keys;\n\nmodule.exports = function (object) { return keys(isValue(object) ? Object(object) : object); };\n","\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nvar forEach = Array.prototype.forEach, create = Object.create;\n\nvar process = function (src, obj) {\n\tvar key;\n\tfor (key in src) obj[key] = src[key];\n};\n\n// eslint-disable-next-line no-unused-vars\nmodule.exports = function (opts1 /*, …options*/) {\n\tvar result = create(null);\n\tforEach.call(arguments, function (options) {\n\t\tif (!isValue(options)) return;\n\t\tprocess(Object(options), result);\n\t});\n\treturn result;\n};\n","\"use strict\";\n\nmodule.exports = function (fn) {\n\tif (typeof fn !== \"function\") throw new TypeError(fn + \" is not a function\");\n\treturn fn;\n};\n","\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) throw new TypeError(\"Cannot use null or undefined\");\n\treturn value;\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? String.prototype.contains : require(\"./shim\");\n","\"use strict\";\n\nvar str = \"razdwatrzy\";\n\nmodule.exports = function () {\n\tif (typeof str.contains !== \"function\") return false;\n\treturn str.contains(\"dwa\") === true && str.contains(\"foo\") === false;\n};\n","\"use strict\";\n\nvar indexOf = String.prototype.indexOf;\n\nmodule.exports = function (searchString /*, position*/) {\n\treturn indexOf.call(this, searchString, arguments[1]) > -1;\n};\n","'use strict';\n\nvar d = require('d')\n , callable = require('es5-ext/object/valid-callable')\n\n , apply = Function.prototype.apply, call = Function.prototype.call\n , create = Object.create, defineProperty = Object.defineProperty\n , defineProperties = Object.defineProperties\n , hasOwnProperty = Object.prototype.hasOwnProperty\n , descriptor = { configurable: true, enumerable: false, writable: true }\n\n , on, once, off, emit, methods, descriptors, base;\n\non = function (type, listener) {\n\tvar data;\n\n\tcallable(listener);\n\n\tif (!hasOwnProperty.call(this, '__ee__')) {\n\t\tdata = descriptor.value = create(null);\n\t\tdefineProperty(this, '__ee__', descriptor);\n\t\tdescriptor.value = null;\n\t} else {\n\t\tdata = this.__ee__;\n\t}\n\tif (!data[type]) data[type] = listener;\n\telse if (typeof data[type] === 'object') data[type].push(listener);\n\telse data[type] = [data[type], listener];\n\n\treturn this;\n};\n\nonce = function (type, listener) {\n\tvar once, self;\n\n\tcallable(listener);\n\tself = this;\n\ton.call(this, type, once = function () {\n\t\toff.call(self, type, once);\n\t\tapply.call(listener, this, arguments);\n\t});\n\n\tonce.__eeOnceListener__ = listener;\n\treturn this;\n};\n\noff = function (type, listener) {\n\tvar data, listeners, candidate, i;\n\n\tcallable(listener);\n\n\tif (!hasOwnProperty.call(this, '__ee__')) return this;\n\tdata = this.__ee__;\n\tif (!data[type]) return this;\n\tlisteners = data[type];\n\n\tif (typeof listeners === 'object') {\n\t\tfor (i = 0; (candidate = listeners[i]); ++i) {\n\t\t\tif ((candidate === listener) ||\n\t\t\t\t\t(candidate.__eeOnceListener__ === listener)) {\n\t\t\t\tif (listeners.length === 2) data[type] = listeners[i ? 0 : 1];\n\t\t\t\telse listeners.splice(i, 1);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif ((listeners === listener) ||\n\t\t\t\t(listeners.__eeOnceListener__ === listener)) {\n\t\t\tdelete data[type];\n\t\t}\n\t}\n\n\treturn this;\n};\n\nemit = function (type) {\n\tvar i, l, listener, listeners, args;\n\n\tif (!hasOwnProperty.call(this, '__ee__')) return;\n\tlisteners = this.__ee__[type];\n\tif (!listeners) return;\n\n\tif (typeof listeners === 'object') {\n\t\tl = arguments.length;\n\t\targs = new Array(l - 1);\n\t\tfor (i = 1; i < l; ++i) args[i - 1] = arguments[i];\n\n\t\tlisteners = listeners.slice();\n\t\tfor (i = 0; (listener = listeners[i]); ++i) {\n\t\t\tapply.call(listener, this, args);\n\t\t}\n\t} else {\n\t\tswitch (arguments.length) {\n\t\tcase 1:\n\t\t\tcall.call(listeners, this);\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tcall.call(listeners, this, arguments[1]);\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\tcall.call(listeners, this, arguments[1], arguments[2]);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tl = arguments.length;\n\t\t\targs = new Array(l - 1);\n\t\t\tfor (i = 1; i < l; ++i) {\n\t\t\t\targs[i - 1] = arguments[i];\n\t\t\t}\n\t\t\tapply.call(listeners, this, args);\n\t\t}\n\t}\n};\n\nmethods = {\n\ton: on,\n\tonce: once,\n\toff: off,\n\temit: emit\n};\n\ndescriptors = {\n\ton: d(on),\n\tonce: d(once),\n\toff: d(off),\n\temit: d(emit)\n};\n\nbase = defineProperties({}, descriptors);\n\nmodule.exports = exports = function (o) {\n\treturn (o == null) ? create(base) : defineProperties(Object(o), descriptors);\n};\nexports.methods = methods;\n","'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n","'use strict';\nmodule.exports = function (obj, predicate) {\n\tvar ret = {};\n\tvar keys = Object.keys(obj);\n\tvar isArr = Array.isArray(predicate);\n\n\tfor (var i = 0; i < keys.length; i++) {\n\t\tvar key = keys[i];\n\t\tvar val = obj[key];\n\n\t\tif (isArr ? predicate.indexOf(key) !== -1 : predicate(key, val, obj)) {\n\t\t\tret[key] = val;\n\t\t}\n\t}\n\n\treturn ret;\n};\n","import _extends from '@babel/runtime/helpers/esm/extends';\n\n/**\r\n * Actions represent the type of change to a location value.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#action\r\n */\nvar Action;\n\n(function (Action) {\n /**\r\n * A POP indicates a change to an arbitrary index in the history stack, such\r\n * as a back or forward navigation. It does not describe the direction of the\r\n * navigation, only that the current index changed.\r\n *\r\n * Note: This is the default action for newly created history objects.\r\n */\n Action[\"Pop\"] = \"POP\";\n /**\r\n * A PUSH indicates a new entry being added to the history stack, such as when\r\n * a link is clicked and a new page loads. When this happens, all subsequent\r\n * entries in the stack are lost.\r\n */\n\n Action[\"Push\"] = \"PUSH\";\n /**\r\n * A REPLACE indicates the entry at the current index in the history stack\r\n * being replaced by a new one.\r\n */\n\n Action[\"Replace\"] = \"REPLACE\";\n})(Action || (Action = {}));\n\nvar readOnly = process.env.NODE_ENV !== \"production\" ? function (obj) {\n return Object.freeze(obj);\n} : function (obj) {\n return obj;\n};\n\nfunction warning(cond, message) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== 'undefined') console.warn(message);\n\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message); // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nvar BeforeUnloadEventType = 'beforeunload';\nvar HashChangeEventType = 'hashchange';\nvar PopStateEventType = 'popstate';\n/**\r\n * Browser history stores the location in regular URLs. This is the standard for\r\n * most web apps, but it requires some configuration on the server to ensure you\r\n * serve the same app at multiple URLs.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\r\n */\n\nfunction createBrowserHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$window = _options.window,\n window = _options$window === void 0 ? document.defaultView : _options$window;\n var globalHistory = window.history;\n\n function getIndexAndLocation() {\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var state = globalHistory.state || {};\n return [state.idx, readOnly({\n pathname: pathname,\n search: search,\n hash: hash,\n state: state.usr || null,\n key: state.key || 'default'\n })];\n }\n\n var blockedPopTx = null;\n\n function handlePop() {\n if (blockedPopTx) {\n blockers.call(blockedPopTx);\n blockedPopTx = null;\n } else {\n var nextAction = Action.Pop;\n\n var _getIndexAndLocation = getIndexAndLocation(),\n nextIndex = _getIndexAndLocation[0],\n nextLocation = _getIndexAndLocation[1];\n\n if (blockers.length) {\n if (nextIndex != null) {\n var delta = index - nextIndex;\n\n if (delta) {\n // Revert the POP\n blockedPopTx = {\n action: nextAction,\n location: nextLocation,\n retry: function retry() {\n go(delta * -1);\n }\n };\n go(delta);\n }\n } else {\n // Trying to POP to a location with no index. We did not create\n // this location, so we can't effectively block the navigation.\n process.env.NODE_ENV !== \"production\" ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n // detail and link to it here so people can understand better what\n // is going on and how to avoid it.\n \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n }\n } else {\n applyTx(nextAction);\n }\n }\n }\n\n window.addEventListener(PopStateEventType, handlePop);\n var action = Action.Pop;\n\n var _getIndexAndLocation2 = getIndexAndLocation(),\n index = _getIndexAndLocation2[0],\n location = _getIndexAndLocation2[1];\n\n var listeners = createEvents();\n var blockers = createEvents();\n\n if (index == null) {\n index = 0;\n globalHistory.replaceState(_extends({}, globalHistory.state, {\n idx: index\n }), '');\n }\n\n function createHref(to) {\n return typeof to === 'string' ? to : createPath(to);\n } // state defaults to `null` because `window.history.state` does\n\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends({\n pathname: location.pathname,\n hash: '',\n search: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function getHistoryStateAndUrl(nextLocation, index) {\n return [{\n usr: nextLocation.state,\n key: nextLocation.key,\n idx: index\n }, createHref(nextLocation)];\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction) {\n action = nextAction;\n\n var _getIndexAndLocation3 = getIndexAndLocation();\n\n index = _getIndexAndLocation3[0];\n location = _getIndexAndLocation3[1];\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr = getHistoryStateAndUrl(nextLocation, index + 1),\n historyState = _getHistoryStateAndUr[0],\n url = _getHistoryStateAndUr[1]; // TODO: Support forced reloading\n // try...catch because iOS limits us to 100 pushState calls :/\n\n\n try {\n globalHistory.pushState(historyState, '', url);\n } catch (error) {\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n applyTx(nextAction);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr2 = getHistoryStateAndUrl(nextLocation, index),\n historyState = _getHistoryStateAndUr2[0],\n url = _getHistoryStateAndUr2[1]; // TODO: Support forced reloading\n\n\n globalHistory.replaceState(historyState, '', url);\n applyTx(nextAction);\n }\n }\n\n function go(delta) {\n globalHistory.go(delta);\n }\n\n var history = {\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n var unblock = blockers.push(blocker);\n\n if (blockers.length === 1) {\n window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n\n return function () {\n unblock(); // Remove the beforeunload listener so the document may\n // still be salvageable in the pagehide event.\n // See https://html.spec.whatwg.org/#unloading-documents\n\n if (!blockers.length) {\n window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n };\n }\n };\n return history;\n}\n/**\r\n * Hash history stores the location in window.location.hash. This makes it ideal\r\n * for situations where you don't want to send the location to the server for\r\n * some reason, either because you do cannot configure it or the URL space is\r\n * reserved for something else.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\r\n */\n\nfunction createHashHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options2 = options,\n _options2$window = _options2.window,\n window = _options2$window === void 0 ? document.defaultView : _options2$window;\n var globalHistory = window.history;\n\n function getIndexAndLocation() {\n var _parsePath = parsePath(window.location.hash.substr(1)),\n _parsePath$pathname = _parsePath.pathname,\n pathname = _parsePath$pathname === void 0 ? '/' : _parsePath$pathname,\n _parsePath$search = _parsePath.search,\n search = _parsePath$search === void 0 ? '' : _parsePath$search,\n _parsePath$hash = _parsePath.hash,\n hash = _parsePath$hash === void 0 ? '' : _parsePath$hash;\n\n var state = globalHistory.state || {};\n return [state.idx, readOnly({\n pathname: pathname,\n search: search,\n hash: hash,\n state: state.usr || null,\n key: state.key || 'default'\n })];\n }\n\n var blockedPopTx = null;\n\n function handlePop() {\n if (blockedPopTx) {\n blockers.call(blockedPopTx);\n blockedPopTx = null;\n } else {\n var nextAction = Action.Pop;\n\n var _getIndexAndLocation4 = getIndexAndLocation(),\n nextIndex = _getIndexAndLocation4[0],\n nextLocation = _getIndexAndLocation4[1];\n\n if (blockers.length) {\n if (nextIndex != null) {\n var delta = index - nextIndex;\n\n if (delta) {\n // Revert the POP\n blockedPopTx = {\n action: nextAction,\n location: nextLocation,\n retry: function retry() {\n go(delta * -1);\n }\n };\n go(delta);\n }\n } else {\n // Trying to POP to a location with no index. We did not create\n // this location, so we can't effectively block the navigation.\n process.env.NODE_ENV !== \"production\" ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n // detail and link to it here so people can understand better\n // what is going on and how to avoid it.\n \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n }\n } else {\n applyTx(nextAction);\n }\n }\n }\n\n window.addEventListener(PopStateEventType, handlePop); // popstate does not fire on hashchange in IE 11 and old (trident) Edge\n // https://developer.mozilla.org/de/docs/Web/API/Window/popstate_event\n\n window.addEventListener(HashChangeEventType, function () {\n var _getIndexAndLocation5 = getIndexAndLocation(),\n nextLocation = _getIndexAndLocation5[1]; // Ignore extraneous hashchange events.\n\n\n if (createPath(nextLocation) !== createPath(location)) {\n handlePop();\n }\n });\n var action = Action.Pop;\n\n var _getIndexAndLocation6 = getIndexAndLocation(),\n index = _getIndexAndLocation6[0],\n location = _getIndexAndLocation6[1];\n\n var listeners = createEvents();\n var blockers = createEvents();\n\n if (index == null) {\n index = 0;\n globalHistory.replaceState(_extends({}, globalHistory.state, {\n idx: index\n }), '');\n }\n\n function getBaseHref() {\n var base = document.querySelector('base');\n var href = '';\n\n if (base && base.getAttribute('href')) {\n var url = window.location.href;\n var hashIndex = url.indexOf('#');\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n\n return href;\n }\n\n function createHref(to) {\n return getBaseHref() + '#' + (typeof to === 'string' ? to : createPath(to));\n }\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends({\n pathname: location.pathname,\n hash: '',\n search: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function getHistoryStateAndUrl(nextLocation, index) {\n return [{\n usr: nextLocation.state,\n key: nextLocation.key,\n idx: index\n }, createHref(nextLocation)];\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction) {\n action = nextAction;\n\n var _getIndexAndLocation7 = getIndexAndLocation();\n\n index = _getIndexAndLocation7[0];\n location = _getIndexAndLocation7[1];\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr3 = getHistoryStateAndUrl(nextLocation, index + 1),\n historyState = _getHistoryStateAndUr3[0],\n url = _getHistoryStateAndUr3[1]; // TODO: Support forced reloading\n // try...catch because iOS limits us to 100 pushState calls :/\n\n\n try {\n globalHistory.pushState(historyState, '', url);\n } catch (error) {\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n applyTx(nextAction);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr4 = getHistoryStateAndUrl(nextLocation, index),\n historyState = _getHistoryStateAndUr4[0],\n url = _getHistoryStateAndUr4[1]; // TODO: Support forced reloading\n\n\n globalHistory.replaceState(historyState, '', url);\n applyTx(nextAction);\n }\n }\n\n function go(delta) {\n globalHistory.go(delta);\n }\n\n var history = {\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n var unblock = blockers.push(blocker);\n\n if (blockers.length === 1) {\n window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n\n return function () {\n unblock(); // Remove the beforeunload listener so the document may\n // still be salvageable in the pagehide event.\n // See https://html.spec.whatwg.org/#unloading-documents\n\n if (!blockers.length) {\n window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n };\n }\n };\n return history;\n}\n/**\r\n * Memory history stores the current location in memory. It is designed for use\r\n * in stateful non-browser environments like tests and React Native.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#creatememoryhistory\r\n */\n\nfunction createMemoryHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options3 = options,\n _options3$initialEntr = _options3.initialEntries,\n initialEntries = _options3$initialEntr === void 0 ? ['/'] : _options3$initialEntr,\n initialIndex = _options3.initialIndex;\n var entries = initialEntries.map(function (entry) {\n var location = readOnly(_extends({\n pathname: '/',\n search: '',\n hash: '',\n state: null,\n key: createKey()\n }, typeof entry === 'string' ? parsePath(entry) : entry));\n process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in createMemoryHistory({ initialEntries }) (invalid entry: \" + JSON.stringify(entry) + \")\") : void 0;\n return location;\n });\n var index = clamp(initialIndex == null ? entries.length - 1 : initialIndex, 0, entries.length - 1);\n var action = Action.Pop;\n var location = entries[index];\n var listeners = createEvents();\n var blockers = createEvents();\n\n function createHref(to) {\n return typeof to === 'string' ? to : createPath(to);\n }\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends({\n pathname: location.pathname,\n search: '',\n hash: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction, nextLocation) {\n action = nextAction;\n location = nextLocation;\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n applyTx(nextAction, nextLocation);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n entries[index] = nextLocation;\n applyTx(nextAction, nextLocation);\n }\n }\n\n function go(delta) {\n var nextIndex = clamp(index + delta, 0, entries.length - 1);\n var nextAction = Action.Pop;\n var nextLocation = entries[nextIndex];\n\n function retry() {\n go(delta);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n index = nextIndex;\n applyTx(nextAction, nextLocation);\n }\n }\n\n var history = {\n get index() {\n return index;\n },\n\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n return blockers.push(blocker);\n }\n };\n return history;\n} ////////////////////////////////////////////////////////////////////////////////\n// UTILS\n////////////////////////////////////////////////////////////////////////////////\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n\nfunction promptBeforeUnload(event) {\n // Cancel the event.\n event.preventDefault(); // Chrome (and legacy IE) requires returnValue to be set.\n\n event.returnValue = '';\n}\n\nfunction createEvents() {\n var handlers = [];\n return {\n get length() {\n return handlers.length;\n },\n\n push: function push(fn) {\n handlers.push(fn);\n return function () {\n handlers = handlers.filter(function (handler) {\n return handler !== fn;\n });\n };\n },\n call: function call(arg) {\n handlers.forEach(function (fn) {\n return fn && fn(arg);\n });\n }\n };\n}\n\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n/**\r\n * Creates a string URL path from the given pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createpath\r\n */\n\n\nfunction createPath(_ref) {\n var _ref$pathname = _ref.pathname,\n pathname = _ref$pathname === void 0 ? '/' : _ref$pathname,\n _ref$search = _ref.search,\n search = _ref$search === void 0 ? '' : _ref$search,\n _ref$hash = _ref.hash,\n hash = _ref$hash === void 0 ? '' : _ref$hash;\n if (search && search !== '?') pathname += search.charAt(0) === '?' ? search : '?' + search;\n if (hash && hash !== '#') pathname += hash.charAt(0) === '#' ? hash : '#' + hash;\n return pathname;\n}\n/**\r\n * Parses a string URL path into its separate pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#parsepath\r\n */\n\nfunction parsePath(path) {\n var parsedPath = {};\n\n if (path) {\n var hashIndex = path.indexOf('#');\n\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n\n var searchIndex = path.indexOf('?');\n\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n\n if (path) {\n parsedPath.pathname = path;\n }\n }\n\n return parsedPath;\n}\n\nexport { Action, createBrowserHistory, createHashHistory, createMemoryHistory, createPath, parsePath };\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","// =========\n// = humps =\n// =========\n// Underscore-to-camelCase converter (and vice versa)\n// for strings and object keys\n\n// humps is copyright © 2012+ Dom Christie\n// Released under the MIT license.\n\n\n;(function(global) {\n\n var _processKeys = function(convert, obj, options) {\n if(!_isObject(obj) || _isDate(obj) || _isRegExp(obj) || _isBoolean(obj) || _isFunction(obj)) {\n return obj;\n }\n\n var output,\n i = 0,\n l = 0;\n\n if(_isArray(obj)) {\n output = [];\n for(l=obj.length; i */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match words composed of alphanumeric characters. */\nvar reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe23',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20f0',\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\",\n rsAstral = '[' + rsAstralRange + ']',\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboMarksRange + rsComboSymbolsRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar rsLowerMisc = '(?:' + rsLower + '|' + rsMisc + ')',\n rsUpperMisc = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptLowerContr = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptUpperContr = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match apostrophes. */\nvar reApos = RegExp(rsApos, 'g');\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/** Used to match complex or compound words. */\nvar reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptLowerContr + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsUpperMisc + '+' + rsOptUpperContr + '(?=' + [rsBreak, rsUpper + rsLowerMisc, '$'].join('|') + ')',\n rsUpper + '?' + rsLowerMisc + '+' + rsOptLowerContr,\n rsUpper + '+' + rsOptUpperContr,\n rsDigits,\n rsEmoji\n].join('|'), 'g');\n\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboMarksRange + rsComboSymbolsRange + rsVarRange + ']');\n\n/** Used to detect strings that need a more robust regexp to match words. */\nvar reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 'ss'\n};\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array ? array.length : 0;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\n/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n return string.split('');\n}\n\n/**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction asciiWords(string) {\n return string.match(reAsciiWord) || [];\n}\n\n/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n}\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = basePropertyOf(deburredLetters);\n\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\nfunction hasUnicode(string) {\n return reHasUnicode.test(string);\n}\n\n/**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\nfunction hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n}\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n}\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n return string.match(reUnicode) || [];\n}\n\n/**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n}\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n}\n\n/**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\nfunction createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n}\n\n/**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\nfunction createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\nvar camelCase = createCompounder(function(result, word, index) {\n word = word.toLowerCase();\n return result + (index ? capitalize(word) : word);\n});\n\n/**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\nfunction capitalize(string) {\n return upperFirst(toString(string).toLowerCase());\n}\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\n/**\n * Converts the first character of `string` to upper case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.upperFirst('fred');\n * // => 'Fred'\n *\n * _.upperFirst('FRED');\n * // => 'FRED'\n */\nvar upperFirst = createCaseFirst('toUpperCase');\n\n/**\n * Splits `string` into an array of its words.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {RegExp|string} [pattern] The pattern to match words.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the words of `string`.\n * @example\n *\n * _.words('fred, barney, & pebbles');\n * // => ['fred', 'barney', 'pebbles']\n *\n * _.words('fred, barney, & pebbles', /[^, ]+/g);\n * // => ['fred', 'barney', '&', 'pebbles']\n */\nfunction words(string, pattern, guard) {\n string = toString(string);\n pattern = guard ? undefined : pattern;\n\n if (pattern === undefined) {\n return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n }\n return string.match(pattern) || [];\n}\n\nmodule.exports = camelCase;\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = throttle;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseIsEqual = require('./_baseIsEqual');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","/**\n * @license\n * Lodash \n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n;(function() {\n\n /** Used as a safe reference for `undefined` in pre-ES5 environments. */\n var undefined;\n\n /** Used as the semantic version number. */\n var VERSION = '4.17.21';\n\n /** Used as the size to enable large array optimizations. */\n var LARGE_ARRAY_SIZE = 200;\n\n /** Error message constants. */\n var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.',\n FUNC_ERROR_TEXT = 'Expected a function',\n INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`';\n\n /** Used to stand-in for `undefined` hash values. */\n var HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n /** Used as the maximum memoize cache size. */\n var MAX_MEMOIZE_SIZE = 500;\n\n /** Used as the internal argument placeholder. */\n var PLACEHOLDER = '__lodash_placeholder__';\n\n /** Used to compose bitmasks for cloning. */\n var CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n /** Used to compose bitmasks for value comparisons. */\n var COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n /** Used to compose bitmasks for function metadata. */\n var WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256,\n WRAP_FLIP_FLAG = 512;\n\n /** Used as default options for `_.truncate`. */\n var DEFAULT_TRUNC_LENGTH = 30,\n DEFAULT_TRUNC_OMISSION = '...';\n\n /** Used to detect hot functions by number of calls within a span of milliseconds. */\n var HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n /** Used to indicate the type of lazy iteratees. */\n var LAZY_FILTER_FLAG = 1,\n LAZY_MAP_FLAG = 2,\n LAZY_WHILE_FLAG = 3;\n\n /** Used as references for various `Number` constants. */\n var INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991,\n MAX_INTEGER = 1.7976931348623157e+308,\n NAN = 0 / 0;\n\n /** Used as references for the maximum length and index of an array. */\n var MAX_ARRAY_LENGTH = 4294967295,\n MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1,\n HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;\n\n /** Used to associate wrap methods with their bit flags. */\n var wrapFlags = [\n ['ary', WRAP_ARY_FLAG],\n ['bind', WRAP_BIND_FLAG],\n ['bindKey', WRAP_BIND_KEY_FLAG],\n ['curry', WRAP_CURRY_FLAG],\n ['curryRight', WRAP_CURRY_RIGHT_FLAG],\n ['flip', WRAP_FLIP_FLAG],\n ['partial', WRAP_PARTIAL_FLAG],\n ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],\n ['rearg', WRAP_REARG_FLAG]\n ];\n\n /** `Object#toString` result references. */\n var argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n domExcTag = '[object DOMException]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]',\n weakSetTag = '[object WeakSet]';\n\n var arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n /** Used to match empty string literals in compiled template source. */\n var reEmptyStringLeading = /\\b__p \\+= '';/g,\n reEmptyStringMiddle = /\\b(__p \\+=) '' \\+/g,\n reEmptyStringTrailing = /(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g;\n\n /** Used to match HTML entities and HTML characters. */\n var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g,\n reUnescapedHtml = /[&<>\"']/g,\n reHasEscapedHtml = RegExp(reEscapedHtml.source),\n reHasUnescapedHtml = RegExp(reUnescapedHtml.source);\n\n /** Used to match template delimiters. */\n var reEscape = /<%-([\\s\\S]+?)%>/g,\n reEvaluate = /<%([\\s\\S]+?)%>/g,\n reInterpolate = /<%=([\\s\\S]+?)%>/g;\n\n /** Used to match property names within property paths. */\n var reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n /**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\n var reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g,\n reHasRegExpChar = RegExp(reRegExpChar.source);\n\n /** Used to match leading whitespace. */\n var reTrimStart = /^\\s+/;\n\n /** Used to match a single whitespace character. */\n var reWhitespace = /\\s/;\n\n /** Used to match wrap detail comments. */\n var reWrapComment = /\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,\n reWrapDetails = /\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,\n reSplitDetails = /,? & /;\n\n /** Used to match words composed of alphanumeric characters. */\n var reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n /**\n * Used to validate the `validate` option in `_.template` variable.\n *\n * Forbids characters which could potentially change the meaning of the function argument definition:\n * - \"(),\" (modification of function parameters)\n * - \"=\" (default value)\n * - \"[]{}\" (destructuring of function parameters)\n * - \"/\" (beginning of a comment)\n * - whitespace\n */\n var reForbiddenIdentifierChars = /[()=,{}\\[\\]\\/\\s]/;\n\n /** Used to match backslashes in property paths. */\n var reEscapeChar = /\\\\(\\\\)?/g;\n\n /**\n * Used to match\n * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components).\n */\n var reEsTemplate = /\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g;\n\n /** Used to match `RegExp` flags from their coerced string values. */\n var reFlags = /\\w*$/;\n\n /** Used to detect bad signed hexadecimal string values. */\n var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n /** Used to detect binary string values. */\n var reIsBinary = /^0b[01]+$/i;\n\n /** Used to detect host constructors (Safari). */\n var reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n /** Used to detect octal string values. */\n var reIsOctal = /^0o[0-7]+$/i;\n\n /** Used to detect unsigned integer values. */\n var reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n /** Used to match Latin Unicode letters (excluding mathematical operators). */\n var reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n /** Used to ensure capturing order of template delimiters. */\n var reNoMatch = /($^)/;\n\n /** Used to match unescaped characters in compiled string literals. */\n var reUnescapedString = /['\\n\\r\\u2028\\u2029\\\\]/g;\n\n /** Used to compose unicode character classes. */\n var rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n /** Used to compose unicode capture groups. */\n var rsApos = \"['\\u2019]\",\n rsAstral = '[' + rsAstralRange + ']',\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n /** Used to compose unicode regexes. */\n var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n /** Used to match apostrophes. */\n var reApos = RegExp(rsApos, 'g');\n\n /**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\n var reComboMark = RegExp(rsCombo, 'g');\n\n /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\n var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n /** Used to match complex or compound words. */\n var reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n ].join('|'), 'g');\n\n /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\n var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n /** Used to detect strings that need a more robust regexp to match words. */\n var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n /** Used to assign default `context` object properties. */\n var contextProps = [\n 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array',\n 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object',\n 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array',\n 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap',\n '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout'\n ];\n\n /** Used to make template sourceURLs easier to identify. */\n var templateCounter = -1;\n\n /** Used to identify `toStringTag` values of typed arrays. */\n var typedArrayTags = {};\n typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n typedArrayTags[uint32Tag] = true;\n typedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\n typedArrayTags[errorTag] = typedArrayTags[funcTag] =\n typedArrayTags[mapTag] = typedArrayTags[numberTag] =\n typedArrayTags[objectTag] = typedArrayTags[regexpTag] =\n typedArrayTags[setTag] = typedArrayTags[stringTag] =\n typedArrayTags[weakMapTag] = false;\n\n /** Used to identify `toStringTag` values supported by `_.clone`. */\n var cloneableTags = {};\n cloneableTags[argsTag] = cloneableTags[arrayTag] =\n cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\n cloneableTags[boolTag] = cloneableTags[dateTag] =\n cloneableTags[float32Tag] = cloneableTags[float64Tag] =\n cloneableTags[int8Tag] = cloneableTags[int16Tag] =\n cloneableTags[int32Tag] = cloneableTags[mapTag] =\n cloneableTags[numberTag] = cloneableTags[objectTag] =\n cloneableTags[regexpTag] = cloneableTags[setTag] =\n cloneableTags[stringTag] = cloneableTags[symbolTag] =\n cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n cloneableTags[errorTag] = cloneableTags[funcTag] =\n cloneableTags[weakMapTag] = false;\n\n /** Used to map Latin Unicode letters to basic Latin letters. */\n var deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n };\n\n /** Used to map characters to HTML entities. */\n var htmlEscapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n };\n\n /** Used to map HTML entities to characters. */\n var htmlUnescapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\"\n };\n\n /** Used to escape characters for inclusion in compiled string literals. */\n var stringEscapes = {\n '\\\\': '\\\\',\n \"'\": \"'\",\n '\\n': 'n',\n '\\r': 'r',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n };\n\n /** Built-in method references without a dependency on `root`. */\n var freeParseFloat = parseFloat,\n freeParseInt = parseInt;\n\n /** Detect free variable `global` from Node.js. */\n var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n /** Detect free variable `self`. */\n var freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n /** Used as a reference to the global object. */\n var root = freeGlobal || freeSelf || Function('return this')();\n\n /** Detect free variable `exports`. */\n var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n /** Detect free variable `module`. */\n var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n /** Detect the popular CommonJS extension `module.exports`. */\n var moduleExports = freeModule && freeModule.exports === freeExports;\n\n /** Detect free variable `process` from Node.js. */\n var freeProcess = moduleExports && freeGlobal.process;\n\n /** Used to access faster Node.js helpers. */\n var nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n }());\n\n /* Node.js helper references. */\n var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer,\n nodeIsDate = nodeUtil && nodeUtil.isDate,\n nodeIsMap = nodeUtil && nodeUtil.isMap,\n nodeIsRegExp = nodeUtil && nodeUtil.isRegExp,\n nodeIsSet = nodeUtil && nodeUtil.isSet,\n nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\n function apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n }\n\n /**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\n function arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\n function arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n }\n\n /**\n * A specialized version of `_.forEachRight` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\n function arrayEachRight(array, iteratee) {\n var length = array == null ? 0 : array.length;\n\n while (length--) {\n if (iteratee(array[length], length, array) === false) {\n break;\n }\n }\n return array;\n }\n\n /**\n * A specialized version of `_.every` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n */\n function arrayEvery(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (!predicate(array[index], index, array)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\n function arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\n function arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n }\n\n /**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\n function arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\n function arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n }\n\n /**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\n function arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n }\n\n /**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\n function arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.reduceRight` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the last element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\n function arrayReduceRight(array, iteratee, accumulator, initAccum) {\n var length = array == null ? 0 : array.length;\n if (initAccum && length) {\n accumulator = array[--length];\n }\n while (length--) {\n accumulator = iteratee(accumulator, array[length], length, array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\n function arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Gets the size of an ASCII `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\n var asciiSize = baseProperty('length');\n\n /**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function asciiToArray(string) {\n return string.split('');\n }\n\n /**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n function asciiWords(string) {\n return string.match(reAsciiWord) || [];\n }\n\n /**\n * The base implementation of methods like `_.findKey` and `_.findLastKey`,\n * without support for iteratee shorthands, which iterates over `collection`\n * using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the found element or its key, else `undefined`.\n */\n function baseFindKey(collection, predicate, eachFunc) {\n var result;\n eachFunc(collection, function(value, key, collection) {\n if (predicate(value, key, collection)) {\n result = key;\n return false;\n }\n });\n return result;\n }\n\n /**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n }\n\n /**\n * This function is like `baseIndexOf` except that it accepts a comparator.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseIndexOfWith(array, value, fromIndex, comparator) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (comparator(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\n function baseIsNaN(value) {\n return value !== value;\n }\n\n /**\n * The base implementation of `_.mean` and `_.meanBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the mean.\n */\n function baseMean(array, iteratee) {\n var length = array == null ? 0 : array.length;\n return length ? (baseSum(array, iteratee) / length) : NAN;\n }\n\n /**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\n function baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n }\n\n /**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\n function basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n }\n\n /**\n * The base implementation of `_.reduce` and `_.reduceRight`, without support\n * for iteratee shorthands, which iterates over `collection` using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} accumulator The initial value.\n * @param {boolean} initAccum Specify using the first or last element of\n * `collection` as the initial value.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the accumulated value.\n */\n function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {\n eachFunc(collection, function(value, index, collection) {\n accumulator = initAccum\n ? (initAccum = false, value)\n : iteratee(accumulator, value, index, collection);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\n function baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n }\n\n /**\n * The base implementation of `_.sum` and `_.sumBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the sum.\n */\n function baseSum(array, iteratee) {\n var result,\n index = -1,\n length = array.length;\n\n while (++index < length) {\n var current = iteratee(array[index]);\n if (current !== undefined) {\n result = result === undefined ? current : (result + current);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\n function baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n }\n\n /**\n * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array\n * of key-value pairs for `object` corresponding to the property names of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the key-value pairs.\n */\n function baseToPairs(object, props) {\n return arrayMap(props, function(key) {\n return [key, object[key]];\n });\n }\n\n /**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\n function baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n }\n\n /**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\n function baseUnary(func) {\n return function(value) {\n return func(value);\n };\n }\n\n /**\n * The base implementation of `_.values` and `_.valuesIn` which creates an\n * array of `object` property values corresponding to the property names\n * of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the array of property values.\n */\n function baseValues(object, props) {\n return arrayMap(props, function(key) {\n return object[key];\n });\n }\n\n /**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function cacheHas(cache, key) {\n return cache.has(key);\n }\n\n /**\n * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the first unmatched string symbol.\n */\n function charsStartIndex(strSymbols, chrSymbols) {\n var index = -1,\n length = strSymbols.length;\n\n while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n }\n\n /**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the last unmatched string symbol.\n */\n function charsEndIndex(strSymbols, chrSymbols) {\n var index = strSymbols.length;\n\n while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n }\n\n /**\n * Gets the number of `placeholder` occurrences in `array`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} placeholder The placeholder to search for.\n * @returns {number} Returns the placeholder count.\n */\n function countHolders(array, placeholder) {\n var length = array.length,\n result = 0;\n\n while (length--) {\n if (array[length] === placeholder) {\n ++result;\n }\n }\n return result;\n }\n\n /**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\n var deburrLetter = basePropertyOf(deburredLetters);\n\n /**\n * Used by `_.escape` to convert characters to HTML entities.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\n var escapeHtmlChar = basePropertyOf(htmlEscapes);\n\n /**\n * Used by `_.template` to escape characters for inclusion in compiled string literals.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\n function escapeStringChar(chr) {\n return '\\\\' + stringEscapes[chr];\n }\n\n /**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\n function getValue(object, key) {\n return object == null ? undefined : object[key];\n }\n\n /**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\n function hasUnicode(string) {\n return reHasUnicode.test(string);\n }\n\n /**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\n function hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n }\n\n /**\n * Converts `iterator` to an array.\n *\n * @private\n * @param {Object} iterator The iterator to convert.\n * @returns {Array} Returns the converted array.\n */\n function iteratorToArray(iterator) {\n var data,\n result = [];\n\n while (!(data = iterator.next()).done) {\n result.push(data.value);\n }\n return result;\n }\n\n /**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\n function mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n }\n\n /**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\n function overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n }\n\n /**\n * Replaces all `placeholder` elements in `array` with an internal placeholder\n * and returns an array of their indexes.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {*} placeholder The placeholder to replace.\n * @returns {Array} Returns the new array of placeholder indexes.\n */\n function replaceHolders(array, placeholder) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value === placeholder || value === PLACEHOLDER) {\n array[index] = PLACEHOLDER;\n result[resIndex++] = index;\n }\n }\n return result;\n }\n\n /**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\n function setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n }\n\n /**\n * Converts `set` to its value-value pairs.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the value-value pairs.\n */\n function setToPairs(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = [value, value];\n });\n return result;\n }\n\n /**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * A specialized version of `_.lastIndexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function strictLastIndexOf(array, value, fromIndex) {\n var index = fromIndex + 1;\n while (index--) {\n if (array[index] === value) {\n return index;\n }\n }\n return index;\n }\n\n /**\n * Gets the number of symbols in `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the string size.\n */\n function stringSize(string) {\n return hasUnicode(string)\n ? unicodeSize(string)\n : asciiSize(string);\n }\n\n /**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n }\n\n /**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\n function trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n }\n\n /**\n * Used by `_.unescape` to convert HTML entities to characters.\n *\n * @private\n * @param {string} chr The matched character to unescape.\n * @returns {string} Returns the unescaped character.\n */\n var unescapeHtmlChar = basePropertyOf(htmlUnescapes);\n\n /**\n * Gets the size of a Unicode `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\n function unicodeSize(string) {\n var result = reUnicode.lastIndex = 0;\n while (reUnicode.test(string)) {\n ++result;\n }\n return result;\n }\n\n /**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function unicodeToArray(string) {\n return string.match(reUnicode) || [];\n }\n\n /**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n function unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n }\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Create a new pristine `lodash` function using the `context` object.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Util\n * @param {Object} [context=root] The context object.\n * @returns {Function} Returns a new `lodash` function.\n * @example\n *\n * _.mixin({ 'foo': _.constant('foo') });\n *\n * var lodash = _.runInContext();\n * lodash.mixin({ 'bar': lodash.constant('bar') });\n *\n * _.isFunction(_.foo);\n * // => true\n * _.isFunction(_.bar);\n * // => false\n *\n * lodash.isFunction(lodash.foo);\n * // => false\n * lodash.isFunction(lodash.bar);\n * // => true\n *\n * // Create a suped-up `defer` in Node.js.\n * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer;\n */\n var runInContext = (function runInContext(context) {\n context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps));\n\n /** Built-in constructor references. */\n var Array = context.Array,\n Date = context.Date,\n Error = context.Error,\n Function = context.Function,\n Math = context.Math,\n Object = context.Object,\n RegExp = context.RegExp,\n String = context.String,\n TypeError = context.TypeError;\n\n /** Used for built-in method references. */\n var arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n /** Used to detect overreaching core-js shims. */\n var coreJsData = context['__core-js_shared__'];\n\n /** Used to resolve the decompiled source of functions. */\n var funcToString = funcProto.toString;\n\n /** Used to check objects for own properties. */\n var hasOwnProperty = objectProto.hasOwnProperty;\n\n /** Used to generate unique IDs. */\n var idCounter = 0;\n\n /** Used to detect methods masquerading as native. */\n var maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n }());\n\n /**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n var nativeObjectToString = objectProto.toString;\n\n /** Used to infer the `Object` constructor. */\n var objectCtorString = funcToString.call(Object);\n\n /** Used to restore the original `_` reference in `_.noConflict`. */\n var oldDash = root._;\n\n /** Used to detect if a method is native. */\n var reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n );\n\n /** Built-in value references. */\n var Buffer = moduleExports ? context.Buffer : undefined,\n Symbol = context.Symbol,\n Uint8Array = context.Uint8Array,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined,\n symIterator = Symbol ? Symbol.iterator : undefined,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n var defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n }());\n\n /** Mocked built-ins. */\n var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout,\n ctxNow = Date && Date.now !== root.Date.now && Date.now,\n ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout;\n\n /* Built-in method references for those with the same name as other `lodash` methods. */\n var nativeCeil = Math.ceil,\n nativeFloor = Math.floor,\n nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeIsFinite = context.isFinite,\n nativeJoin = arrayProto.join,\n nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max,\n nativeMin = Math.min,\n nativeNow = Date.now,\n nativeParseInt = context.parseInt,\n nativeRandom = Math.random,\n nativeReverse = arrayProto.reverse;\n\n /* Built-in method references that are verified to be native. */\n var DataView = getNative(context, 'DataView'),\n Map = getNative(context, 'Map'),\n Promise = getNative(context, 'Promise'),\n Set = getNative(context, 'Set'),\n WeakMap = getNative(context, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n /** Used to store function metadata. */\n var metaMap = WeakMap && new WeakMap;\n\n /** Used to lookup unminified function names. */\n var realNames = {};\n\n /** Used to detect maps, sets, and weakmaps. */\n var dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n /** Used to convert symbols to primitives and strings. */\n var symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a `lodash` object which wraps `value` to enable implicit method\n * chain sequences. Methods that operate on and return arrays, collections,\n * and functions can be chained together. Methods that retrieve a single value\n * or may return a primitive value will automatically end the chain sequence\n * and return the unwrapped value. Otherwise, the value must be unwrapped\n * with `_#value`.\n *\n * Explicit chain sequences, which must be unwrapped with `_#value`, may be\n * enabled using `_.chain`.\n *\n * The execution of chained methods is lazy, that is, it's deferred until\n * `_#value` is implicitly or explicitly called.\n *\n * Lazy evaluation allows several methods to support shortcut fusion.\n * Shortcut fusion is an optimization to merge iteratee calls; this avoids\n * the creation of intermediate arrays and can greatly reduce the number of\n * iteratee executions. Sections of a chain sequence qualify for shortcut\n * fusion if the section is applied to an array and iteratees accept only\n * one argument. The heuristic for whether a section qualifies for shortcut\n * fusion is subject to change.\n *\n * Chaining is supported in custom builds as long as the `_#value` method is\n * directly or indirectly included in the build.\n *\n * In addition to lodash methods, wrappers have `Array` and `String` methods.\n *\n * The wrapper `Array` methods are:\n * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`\n *\n * The wrapper `String` methods are:\n * `replace` and `split`\n *\n * The wrapper methods that support shortcut fusion are:\n * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,\n * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,\n * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`\n *\n * The chainable wrapper methods are:\n * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,\n * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,\n * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,\n * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,\n * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,\n * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,\n * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,\n * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,\n * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,\n * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,\n * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,\n * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,\n * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,\n * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,\n * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,\n * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,\n * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,\n * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,\n * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,\n * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,\n * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,\n * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,\n * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,\n * `zipObject`, `zipObjectDeep`, and `zipWith`\n *\n * The wrapper methods that are **not** chainable by default are:\n * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,\n * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,\n * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,\n * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,\n * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,\n * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,\n * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,\n * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,\n * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,\n * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,\n * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,\n * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,\n * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,\n * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,\n * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,\n * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,\n * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,\n * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,\n * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,\n * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,\n * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,\n * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,\n * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,\n * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,\n * `upperFirst`, `value`, and `words`\n *\n * @name _\n * @constructor\n * @category Seq\n * @param {*} value The value to wrap in a `lodash` instance.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2, 3]);\n *\n * // Returns an unwrapped value.\n * wrapped.reduce(_.add);\n * // => 6\n *\n * // Returns a wrapped value.\n * var squares = wrapped.map(square);\n *\n * _.isArray(squares);\n * // => false\n *\n * _.isArray(squares.value());\n * // => true\n */\n function lodash(value) {\n if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {\n if (value instanceof LodashWrapper) {\n return value;\n }\n if (hasOwnProperty.call(value, '__wrapped__')) {\n return wrapperClone(value);\n }\n }\n return new LodashWrapper(value);\n }\n\n /**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\n var baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n }());\n\n /**\n * The function whose prototype chain sequence wrappers inherit from.\n *\n * @private\n */\n function baseLodash() {\n // No operation performed.\n }\n\n /**\n * The base constructor for creating `lodash` wrapper objects.\n *\n * @private\n * @param {*} value The value to wrap.\n * @param {boolean} [chainAll] Enable explicit method chain sequences.\n */\n function LodashWrapper(value, chainAll) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__chain__ = !!chainAll;\n this.__index__ = 0;\n this.__values__ = undefined;\n }\n\n /**\n * By default, the template delimiters used by lodash are like those in\n * embedded Ruby (ERB) as well as ES2015 template strings. Change the\n * following template settings to use alternative delimiters.\n *\n * @static\n * @memberOf _\n * @type {Object}\n */\n lodash.templateSettings = {\n\n /**\n * Used to detect `data` property values to be HTML-escaped.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'escape': reEscape,\n\n /**\n * Used to detect code to be evaluated.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'evaluate': reEvaluate,\n\n /**\n * Used to detect `data` property values to inject.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'interpolate': reInterpolate,\n\n /**\n * Used to reference the data object in the template text.\n *\n * @memberOf _.templateSettings\n * @type {string}\n */\n 'variable': '',\n\n /**\n * Used to import variables into the compiled template.\n *\n * @memberOf _.templateSettings\n * @type {Object}\n */\n 'imports': {\n\n /**\n * A reference to the `lodash` function.\n *\n * @memberOf _.templateSettings.imports\n * @type {Function}\n */\n '_': lodash\n }\n };\n\n // Ensure wrappers are instances of `baseLodash`.\n lodash.prototype = baseLodash.prototype;\n lodash.prototype.constructor = lodash;\n\n LodashWrapper.prototype = baseCreate(baseLodash.prototype);\n LodashWrapper.prototype.constructor = LodashWrapper;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.\n *\n * @private\n * @constructor\n * @param {*} value The value to wrap.\n */\n function LazyWrapper(value) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__dir__ = 1;\n this.__filtered__ = false;\n this.__iteratees__ = [];\n this.__takeCount__ = MAX_ARRAY_LENGTH;\n this.__views__ = [];\n }\n\n /**\n * Creates a clone of the lazy wrapper object.\n *\n * @private\n * @name clone\n * @memberOf LazyWrapper\n * @returns {Object} Returns the cloned `LazyWrapper` object.\n */\n function lazyClone() {\n var result = new LazyWrapper(this.__wrapped__);\n result.__actions__ = copyArray(this.__actions__);\n result.__dir__ = this.__dir__;\n result.__filtered__ = this.__filtered__;\n result.__iteratees__ = copyArray(this.__iteratees__);\n result.__takeCount__ = this.__takeCount__;\n result.__views__ = copyArray(this.__views__);\n return result;\n }\n\n /**\n * Reverses the direction of lazy iteration.\n *\n * @private\n * @name reverse\n * @memberOf LazyWrapper\n * @returns {Object} Returns the new reversed `LazyWrapper` object.\n */\n function lazyReverse() {\n if (this.__filtered__) {\n var result = new LazyWrapper(this);\n result.__dir__ = -1;\n result.__filtered__ = true;\n } else {\n result = this.clone();\n result.__dir__ *= -1;\n }\n return result;\n }\n\n /**\n * Extracts the unwrapped value from its lazy wrapper.\n *\n * @private\n * @name value\n * @memberOf LazyWrapper\n * @returns {*} Returns the unwrapped value.\n */\n function lazyValue() {\n var array = this.__wrapped__.value(),\n dir = this.__dir__,\n isArr = isArray(array),\n isRight = dir < 0,\n arrLength = isArr ? array.length : 0,\n view = getView(0, arrLength, this.__views__),\n start = view.start,\n end = view.end,\n length = end - start,\n index = isRight ? end : (start - 1),\n iteratees = this.__iteratees__,\n iterLength = iteratees.length,\n resIndex = 0,\n takeCount = nativeMin(length, this.__takeCount__);\n\n if (!isArr || (!isRight && arrLength == length && takeCount == length)) {\n return baseWrapperValue(array, this.__actions__);\n }\n var result = [];\n\n outer:\n while (length-- && resIndex < takeCount) {\n index += dir;\n\n var iterIndex = -1,\n value = array[index];\n\n while (++iterIndex < iterLength) {\n var data = iteratees[iterIndex],\n iteratee = data.iteratee,\n type = data.type,\n computed = iteratee(value);\n\n if (type == LAZY_MAP_FLAG) {\n value = computed;\n } else if (!computed) {\n if (type == LAZY_FILTER_FLAG) {\n continue outer;\n } else {\n break outer;\n }\n }\n }\n result[resIndex++] = value;\n }\n return result;\n }\n\n // Ensure `LazyWrapper` is an instance of `baseLodash`.\n LazyWrapper.prototype = baseCreate(baseLodash.prototype);\n LazyWrapper.prototype.constructor = LazyWrapper;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\n function hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n }\n\n /**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n }\n\n /**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n }\n\n /**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\n function hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n }\n\n // Add methods to `Hash`.\n Hash.prototype.clear = hashClear;\n Hash.prototype['delete'] = hashDelete;\n Hash.prototype.get = hashGet;\n Hash.prototype.has = hashHas;\n Hash.prototype.set = hashSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\n function listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n }\n\n /**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n }\n\n /**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n }\n\n /**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\n function listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n }\n\n // Add methods to `ListCache`.\n ListCache.prototype.clear = listCacheClear;\n ListCache.prototype['delete'] = listCacheDelete;\n ListCache.prototype.get = listCacheGet;\n ListCache.prototype.has = listCacheHas;\n ListCache.prototype.set = listCacheSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\n function mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n }\n\n /**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n }\n\n /**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function mapCacheGet(key) {\n return getMapData(this, key).get(key);\n }\n\n /**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function mapCacheHas(key) {\n return getMapData(this, key).has(key);\n }\n\n /**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\n function mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n }\n\n // Add methods to `MapCache`.\n MapCache.prototype.clear = mapCacheClear;\n MapCache.prototype['delete'] = mapCacheDelete;\n MapCache.prototype.get = mapCacheGet;\n MapCache.prototype.has = mapCacheHas;\n MapCache.prototype.set = mapCacheSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\n function SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n }\n\n /**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\n function setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n }\n\n /**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\n function setCacheHas(value) {\n return this.__data__.has(value);\n }\n\n // Add methods to `SetCache`.\n SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\n SetCache.prototype.has = setCacheHas;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n }\n\n /**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\n function stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n }\n\n /**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function stackGet(key) {\n return this.__data__.get(key);\n }\n\n /**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function stackHas(key) {\n return this.__data__.has(key);\n }\n\n /**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\n function stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n }\n\n // Add methods to `Stack`.\n Stack.prototype.clear = stackClear;\n Stack.prototype['delete'] = stackDelete;\n Stack.prototype.get = stackGet;\n Stack.prototype.has = stackHas;\n Stack.prototype.set = stackSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\n function arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `_.sample` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @returns {*} Returns the random element.\n */\n function arraySample(array) {\n var length = array.length;\n return length ? array[baseRandom(0, length - 1)] : undefined;\n }\n\n /**\n * A specialized version of `_.sampleSize` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\n function arraySampleSize(array, n) {\n return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length));\n }\n\n /**\n * A specialized version of `_.shuffle` for arrays.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\n function arrayShuffle(array) {\n return shuffleSelf(copyArray(array));\n }\n\n /**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n }\n\n /**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n }\n\n /**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n }\n\n /**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\n function baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\n function baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n }\n\n /**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\n function baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n }\n\n /**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n }\n\n /**\n * The base implementation of `_.at` without support for individual paths.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {string[]} paths The property paths to pick.\n * @returns {Array} Returns the picked elements.\n */\n function baseAt(object, paths) {\n var index = -1,\n length = paths.length,\n result = Array(length),\n skip = object == null;\n\n while (++index < length) {\n result[index] = skip ? undefined : get(object, paths[index]);\n }\n return result;\n }\n\n /**\n * The base implementation of `_.clamp` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n */\n function baseClamp(number, lower, upper) {\n if (number === number) {\n if (upper !== undefined) {\n number = number <= upper ? number : upper;\n }\n if (lower !== undefined) {\n number = number >= lower ? number : lower;\n }\n }\n return number;\n }\n\n /**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\n function baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n }\n\n /**\n * The base implementation of `_.conforms` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property predicates to conform to.\n * @returns {Function} Returns the new spec function.\n */\n function baseConforms(source) {\n var props = keys(source);\n return function(object) {\n return baseConformsTo(object, source, props);\n };\n }\n\n /**\n * The base implementation of `_.conformsTo` which accepts `props` to check.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n */\n function baseConformsTo(object, source, props) {\n var length = props.length;\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (length--) {\n var key = props[length],\n predicate = source[key],\n value = object[key];\n\n if ((value === undefined && !(key in object)) || !predicate(value)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * The base implementation of `_.delay` and `_.defer` which accepts `args`\n * to provide to `func`.\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {Array} args The arguments to provide to `func`.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\n function baseDelay(func, wait, args) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return setTimeout(function() { func.apply(undefined, args); }, wait);\n }\n\n /**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\n function baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee == null ? value : iteratee(value);\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\n var baseEach = createBaseEach(baseForOwn);\n\n /**\n * The base implementation of `_.forEachRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\n var baseEachRight = createBaseEach(baseForOwnRight, true);\n\n /**\n * The base implementation of `_.every` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`\n */\n function baseEvery(collection, predicate) {\n var result = true;\n baseEach(collection, function(value, index, collection) {\n result = !!predicate(value, index, collection);\n return result;\n });\n return result;\n }\n\n /**\n * The base implementation of methods like `_.max` and `_.min` which accepts a\n * `comparator` to determine the extremum value.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The iteratee invoked per iteration.\n * @param {Function} comparator The comparator used to compare values.\n * @returns {*} Returns the extremum value.\n */\n function baseExtremum(array, iteratee, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n var value = array[index],\n current = iteratee(value);\n\n if (current != null && (computed === undefined\n ? (current === current && !isSymbol(current))\n : comparator(current, computed)\n )) {\n var computed = current,\n result = value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.fill` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n */\n function baseFill(array, value, start, end) {\n var length = array.length;\n\n start = toInteger(start);\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = (end === undefined || end > length) ? length : toInteger(end);\n if (end < 0) {\n end += length;\n }\n end = start > end ? 0 : toLength(end);\n while (start < end) {\n array[start++] = value;\n }\n return array;\n }\n\n /**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\n function baseFilter(collection, predicate) {\n var result = [];\n baseEach(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n }\n\n /**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\n function baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\n var baseFor = createBaseFor();\n\n /**\n * This function is like `baseFor` except that it iterates over properties\n * in the opposite order.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\n var baseForRight = createBaseFor(true);\n\n /**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\n function baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n }\n\n /**\n * The base implementation of `_.forOwnRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\n function baseForOwnRight(object, iteratee) {\n return object && baseForRight(object, iteratee, keys);\n }\n\n /**\n * The base implementation of `_.functions` which creates an array of\n * `object` function property names filtered from `props`.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Array} props The property names to filter.\n * @returns {Array} Returns the function names.\n */\n function baseFunctions(object, props) {\n return arrayFilter(props, function(key) {\n return isFunction(object[key]);\n });\n }\n\n /**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\n function baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n }\n\n /**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n }\n\n /**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n function baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n }\n\n /**\n * The base implementation of `_.gt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n */\n function baseGt(value, other) {\n return value > other;\n }\n\n /**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\n function baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n }\n\n /**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\n function baseHasIn(object, key) {\n return object != null && key in Object(object);\n }\n\n /**\n * The base implementation of `_.inRange` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to check.\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n */\n function baseInRange(number, start, end) {\n return number >= nativeMin(start, end) && number < nativeMax(start, end);\n }\n\n /**\n * The base implementation of methods like `_.intersection`, without support\n * for iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of shared values.\n */\n function baseIntersection(arrays, iteratee, comparator) {\n var includes = comparator ? arrayIncludesWith : arrayIncludes,\n length = arrays[0].length,\n othLength = arrays.length,\n othIndex = othLength,\n caches = Array(othLength),\n maxLength = Infinity,\n result = [];\n\n while (othIndex--) {\n var array = arrays[othIndex];\n if (othIndex && iteratee) {\n array = arrayMap(array, baseUnary(iteratee));\n }\n maxLength = nativeMin(array.length, maxLength);\n caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n ? new SetCache(othIndex && array)\n : undefined;\n }\n array = arrays[0];\n\n var index = -1,\n seen = caches[0];\n\n outer:\n while (++index < length && result.length < maxLength) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (!(seen\n ? cacheHas(seen, computed)\n : includes(result, computed, comparator)\n )) {\n othIndex = othLength;\n while (--othIndex) {\n var cache = caches[othIndex];\n if (!(cache\n ? cacheHas(cache, computed)\n : includes(arrays[othIndex], computed, comparator))\n ) {\n continue outer;\n }\n }\n if (seen) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.invert` and `_.invertBy` which inverts\n * `object` with values transformed by `iteratee` and set by `setter`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform values.\n * @param {Object} accumulator The initial inverted object.\n * @returns {Function} Returns `accumulator`.\n */\n function baseInverter(object, setter, iteratee, accumulator) {\n baseForOwn(object, function(value, key, object) {\n setter(accumulator, iteratee(value), key, object);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.invoke` without support for individual\n * method arguments.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {Array} args The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n */\n function baseInvoke(object, path, args) {\n path = castPath(path, object);\n object = parent(object, path);\n var func = object == null ? object : object[toKey(last(path))];\n return func == null ? undefined : apply(func, object, args);\n }\n\n /**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\n function baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n }\n\n /**\n * The base implementation of `_.isArrayBuffer` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n */\n function baseIsArrayBuffer(value) {\n return isObjectLike(value) && baseGetTag(value) == arrayBufferTag;\n }\n\n /**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\n function baseIsDate(value) {\n return isObjectLike(value) && baseGetTag(value) == dateTag;\n }\n\n /**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\n function baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n }\n\n /**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n }\n\n /**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\n function baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n }\n\n /**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\n function baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n }\n\n /**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\n function baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n }\n\n /**\n * The base implementation of `_.isRegExp` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n */\n function baseIsRegExp(value) {\n return isObjectLike(value) && baseGetTag(value) == regexpTag;\n }\n\n /**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\n function baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n }\n\n /**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\n function baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n }\n\n /**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\n function baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n }\n\n /**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.lt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n */\n function baseLt(value, other) {\n return value < other;\n }\n\n /**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\n function baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n }\n\n /**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\n function baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n }\n\n /**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\n function baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n }\n\n /**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\n function baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n }\n\n /**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\n function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n }\n\n /**\n * The base implementation of `_.nth` which doesn't coerce arguments.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {number} n The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n */\n function baseNth(array, n) {\n var length = array.length;\n if (!length) {\n return;\n }\n n += n < 0 ? length : 0;\n return isIndex(n, length) ? array[n] : undefined;\n }\n\n /**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\n function baseOrderBy(collection, iteratees, orders) {\n if (iteratees.length) {\n iteratees = arrayMap(iteratees, function(iteratee) {\n if (isArray(iteratee)) {\n return function(value) {\n return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n }\n }\n return iteratee;\n });\n } else {\n iteratees = [identity];\n }\n\n var index = -1;\n iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n }\n\n /**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @returns {Object} Returns the new object.\n */\n function basePick(object, paths) {\n return basePickBy(object, paths, function(value, path) {\n return hasIn(object, path);\n });\n }\n\n /**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\n function basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\n function basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n }\n\n /**\n * The base implementation of `_.pullAllBy` without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n */\n function basePullAll(array, values, iteratee, comparator) {\n var indexOf = comparator ? baseIndexOfWith : baseIndexOf,\n index = -1,\n length = values.length,\n seen = array;\n\n if (array === values) {\n values = copyArray(values);\n }\n if (iteratee) {\n seen = arrayMap(array, baseUnary(iteratee));\n }\n while (++index < length) {\n var fromIndex = 0,\n value = values[index],\n computed = iteratee ? iteratee(value) : value;\n\n while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {\n if (seen !== array) {\n splice.call(seen, fromIndex, 1);\n }\n splice.call(array, fromIndex, 1);\n }\n }\n return array;\n }\n\n /**\n * The base implementation of `_.pullAt` without support for individual\n * indexes or capturing the removed elements.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {number[]} indexes The indexes of elements to remove.\n * @returns {Array} Returns `array`.\n */\n function basePullAt(array, indexes) {\n var length = array ? indexes.length : 0,\n lastIndex = length - 1;\n\n while (length--) {\n var index = indexes[length];\n if (length == lastIndex || index !== previous) {\n var previous = index;\n if (isIndex(index)) {\n splice.call(array, index, 1);\n } else {\n baseUnset(array, index);\n }\n }\n }\n return array;\n }\n\n /**\n * The base implementation of `_.random` without support for returning\n * floating-point numbers.\n *\n * @private\n * @param {number} lower The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the random number.\n */\n function baseRandom(lower, upper) {\n return lower + nativeFloor(nativeRandom() * (upper - lower + 1));\n }\n\n /**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\n function baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n }\n\n /**\n * The base implementation of `_.repeat` which doesn't coerce arguments.\n *\n * @private\n * @param {string} string The string to repeat.\n * @param {number} n The number of times to repeat the string.\n * @returns {string} Returns the repeated string.\n */\n function baseRepeat(string, n) {\n var result = '';\n if (!string || n < 1 || n > MAX_SAFE_INTEGER) {\n return result;\n }\n // Leverage the exponentiation by squaring algorithm for a faster repeat.\n // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.\n do {\n if (n % 2) {\n result += string;\n }\n n = nativeFloor(n / 2);\n if (n) {\n string += string;\n }\n } while (n);\n\n return result;\n }\n\n /**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\n function baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n }\n\n /**\n * The base implementation of `_.sample`.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n */\n function baseSample(collection) {\n return arraySample(values(collection));\n }\n\n /**\n * The base implementation of `_.sampleSize` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\n function baseSampleSize(collection, n) {\n var array = values(collection);\n return shuffleSelf(array, baseClamp(n, 0, array.length));\n }\n\n /**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\n function baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n }\n\n /**\n * The base implementation of `setData` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\n var baseSetData = !metaMap ? identity : function(func, data) {\n metaMap.set(func, data);\n return func;\n };\n\n /**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\n var baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n };\n\n /**\n * The base implementation of `_.shuffle`.\n *\n * @private\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\n function baseShuffle(collection) {\n return shuffleSelf(values(collection));\n }\n\n /**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\n function baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n }\n\n /**\n * The base implementation of `_.some` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\n function baseSome(collection, predicate) {\n var result;\n\n baseEach(collection, function(value, index, collection) {\n result = predicate(value, index, collection);\n return !result;\n });\n return !!result;\n }\n\n /**\n * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which\n * performs a binary search of `array` to determine the index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\n function baseSortedIndex(array, value, retHighest) {\n var low = 0,\n high = array == null ? low : array.length;\n\n if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {\n while (low < high) {\n var mid = (low + high) >>> 1,\n computed = array[mid];\n\n if (computed !== null && !isSymbol(computed) &&\n (retHighest ? (computed <= value) : (computed < value))) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return high;\n }\n return baseSortedIndexBy(array, value, identity, retHighest);\n }\n\n /**\n * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy`\n * which invokes `iteratee` for `value` and each element of `array` to compute\n * their sort ranking. The iteratee is invoked with one argument; (value).\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} iteratee The iteratee invoked per element.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\n function baseSortedIndexBy(array, value, iteratee, retHighest) {\n var low = 0,\n high = array == null ? 0 : array.length;\n if (high === 0) {\n return 0;\n }\n\n value = iteratee(value);\n var valIsNaN = value !== value,\n valIsNull = value === null,\n valIsSymbol = isSymbol(value),\n valIsUndefined = value === undefined;\n\n while (low < high) {\n var mid = nativeFloor((low + high) / 2),\n computed = iteratee(array[mid]),\n othIsDefined = computed !== undefined,\n othIsNull = computed === null,\n othIsReflexive = computed === computed,\n othIsSymbol = isSymbol(computed);\n\n if (valIsNaN) {\n var setLow = retHighest || othIsReflexive;\n } else if (valIsUndefined) {\n setLow = othIsReflexive && (retHighest || othIsDefined);\n } else if (valIsNull) {\n setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);\n } else if (valIsSymbol) {\n setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);\n } else if (othIsNull || othIsSymbol) {\n setLow = false;\n } else {\n setLow = retHighest ? (computed <= value) : (computed < value);\n }\n if (setLow) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return nativeMin(high, MAX_ARRAY_INDEX);\n }\n\n /**\n * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\n function baseSortedUniq(array, iteratee) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (!index || !eq(computed, seen)) {\n var seen = computed;\n result[resIndex++] = value === 0 ? 0 : value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.toNumber` which doesn't ensure correct\n * conversions of binary, hexadecimal, or octal string values.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n */\n function baseToNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n return +value;\n }\n\n /**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\n function baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n }\n\n /**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\n function baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.unset`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The property path to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n */\n function baseUnset(object, path) {\n path = castPath(path, object);\n object = parent(object, path);\n return object == null || delete object[toKey(last(path))];\n }\n\n /**\n * The base implementation of `_.update`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to update.\n * @param {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\n function baseUpdate(object, path, updater, customizer) {\n return baseSet(object, path, updater(baseGet(object, path)), customizer);\n }\n\n /**\n * The base implementation of methods like `_.dropWhile` and `_.takeWhile`\n * without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {Function} predicate The function invoked per iteration.\n * @param {boolean} [isDrop] Specify dropping elements instead of taking them.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the slice of `array`.\n */\n function baseWhile(array, predicate, isDrop, fromRight) {\n var length = array.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length) &&\n predicate(array[index], index, array)) {}\n\n return isDrop\n ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length))\n : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index));\n }\n\n /**\n * The base implementation of `wrapperValue` which returns the result of\n * performing a sequence of actions on the unwrapped `value`, where each\n * successive action is supplied the return value of the previous.\n *\n * @private\n * @param {*} value The unwrapped value.\n * @param {Array} actions Actions to perform to resolve the unwrapped value.\n * @returns {*} Returns the resolved value.\n */\n function baseWrapperValue(value, actions) {\n var result = value;\n if (result instanceof LazyWrapper) {\n result = result.value();\n }\n return arrayReduce(actions, function(result, action) {\n return action.func.apply(action.thisArg, arrayPush([result], action.args));\n }, result);\n }\n\n /**\n * The base implementation of methods like `_.xor`, without support for\n * iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of values.\n */\n function baseXor(arrays, iteratee, comparator) {\n var length = arrays.length;\n if (length < 2) {\n return length ? baseUniq(arrays[0]) : [];\n }\n var index = -1,\n result = Array(length);\n\n while (++index < length) {\n var array = arrays[index],\n othIndex = -1;\n\n while (++othIndex < length) {\n if (othIndex != index) {\n result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator);\n }\n }\n }\n return baseUniq(baseFlatten(result, 1), iteratee, comparator);\n }\n\n /**\n * This base implementation of `_.zipObject` which assigns values using `assignFunc`.\n *\n * @private\n * @param {Array} props The property identifiers.\n * @param {Array} values The property values.\n * @param {Function} assignFunc The function to assign values.\n * @returns {Object} Returns the new object.\n */\n function baseZipObject(props, values, assignFunc) {\n var index = -1,\n length = props.length,\n valsLength = values.length,\n result = {};\n\n while (++index < length) {\n var value = index < valsLength ? values[index] : undefined;\n assignFunc(result, props[index], value);\n }\n return result;\n }\n\n /**\n * Casts `value` to an empty array if it's not an array like object.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array|Object} Returns the cast array-like object.\n */\n function castArrayLikeObject(value) {\n return isArrayLikeObject(value) ? value : [];\n }\n\n /**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\n function castFunction(value) {\n return typeof value == 'function' ? value : identity;\n }\n\n /**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\n function castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n }\n\n /**\n * A `baseRest` alias which can be replaced with `identity` by module\n * replacement plugins.\n *\n * @private\n * @type {Function}\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\n var castRest = baseRest;\n\n /**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\n function castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n }\n\n /**\n * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout).\n *\n * @private\n * @param {number|Object} id The timer id or timeout object of the timer to clear.\n */\n var clearTimeout = ctxClearTimeout || function(id) {\n return root.clearTimeout(id);\n };\n\n /**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\n function cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n }\n\n /**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\n function cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n }\n\n /**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\n function cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n }\n\n /**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\n function cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n }\n\n /**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\n function cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n }\n\n /**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\n function cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n }\n\n /**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\n function compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n }\n\n /**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\n function compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n }\n\n /**\n * Creates an array that is the composition of partially applied arguments,\n * placeholders, and provided arguments into a single array of arguments.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to prepend to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\n function composeArgs(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersLength = holders.length,\n leftIndex = -1,\n leftLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(leftLength + rangeLength),\n isUncurried = !isCurried;\n\n while (++leftIndex < leftLength) {\n result[leftIndex] = partials[leftIndex];\n }\n while (++argsIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[holders[argsIndex]] = args[argsIndex];\n }\n }\n while (rangeLength--) {\n result[leftIndex++] = args[argsIndex++];\n }\n return result;\n }\n\n /**\n * This function is like `composeArgs` except that the arguments composition\n * is tailored for `_.partialRight`.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to append to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\n function composeArgsRight(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersIndex = -1,\n holdersLength = holders.length,\n rightIndex = -1,\n rightLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(rangeLength + rightLength),\n isUncurried = !isCurried;\n\n while (++argsIndex < rangeLength) {\n result[argsIndex] = args[argsIndex];\n }\n var offset = argsIndex;\n while (++rightIndex < rightLength) {\n result[offset + rightIndex] = partials[rightIndex];\n }\n while (++holdersIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[offset + holders[holdersIndex]] = args[argsIndex++];\n }\n }\n return result;\n }\n\n /**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\n function copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n }\n\n /**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\n function copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n }\n\n /**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\n function copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n }\n\n /**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\n function copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n }\n\n /**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\n function createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, getIteratee(iteratee, 2), accumulator);\n };\n }\n\n /**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\n function createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n }\n\n /**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\n function createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n }\n\n /**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\n function createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with the optional `this`\n * binding of `thisArg`.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createBind(func, bitmask, thisArg) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return fn.apply(isBind ? thisArg : this, arguments);\n }\n return wrapper;\n }\n\n /**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\n function createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n }\n\n /**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\n function createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n }\n\n /**\n * Creates a function that produces an instance of `Ctor` regardless of\n * whether it was invoked as part of a `new` expression or by `call` or `apply`.\n *\n * @private\n * @param {Function} Ctor The constructor to wrap.\n * @returns {Function} Returns the new wrapped function.\n */\n function createCtor(Ctor) {\n return function() {\n // Use a `switch` statement to work with class constructors. See\n // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist\n // for more details.\n var args = arguments;\n switch (args.length) {\n case 0: return new Ctor;\n case 1: return new Ctor(args[0]);\n case 2: return new Ctor(args[0], args[1]);\n case 3: return new Ctor(args[0], args[1], args[2]);\n case 4: return new Ctor(args[0], args[1], args[2], args[3]);\n case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);\n case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);\n case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);\n }\n var thisBinding = baseCreate(Ctor.prototype),\n result = Ctor.apply(thisBinding, args);\n\n // Mimic the constructor's `return` behavior.\n // See https://es5.github.io/#x13.2.2 for more details.\n return isObject(result) ? result : thisBinding;\n };\n }\n\n /**\n * Creates a function that wraps `func` to enable currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {number} arity The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createCurry(func, bitmask, arity) {\n var Ctor = createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length,\n placeholder = getHolder(wrapper);\n\n while (index--) {\n args[index] = arguments[index];\n }\n var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)\n ? []\n : replaceHolders(args, placeholder);\n\n length -= holders.length;\n if (length < arity) {\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, undefined,\n args, holders, undefined, undefined, arity - length);\n }\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return apply(fn, this, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\n function createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = getIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n }\n\n /**\n * Creates a `_.flow` or `_.flowRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new flow function.\n */\n function createFlow(fromRight) {\n return flatRest(function(funcs) {\n var length = funcs.length,\n index = length,\n prereq = LodashWrapper.prototype.thru;\n\n if (fromRight) {\n funcs.reverse();\n }\n while (index--) {\n var func = funcs[index];\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (prereq && !wrapper && getFuncName(func) == 'wrapper') {\n var wrapper = new LodashWrapper([], true);\n }\n }\n index = wrapper ? index : length;\n while (++index < length) {\n func = funcs[index];\n\n var funcName = getFuncName(func),\n data = funcName == 'wrapper' ? getData(func) : undefined;\n\n if (data && isLaziable(data[0]) &&\n data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) &&\n !data[4].length && data[9] == 1\n ) {\n wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);\n } else {\n wrapper = (func.length == 1 && isLaziable(func))\n ? wrapper[funcName]()\n : wrapper.thru(func);\n }\n }\n return function() {\n var args = arguments,\n value = args[0];\n\n if (wrapper && args.length == 1 && isArray(value)) {\n return wrapper.plant(value).value();\n }\n var index = 0,\n result = length ? funcs[index].apply(this, args) : value;\n\n while (++index < length) {\n result = funcs[index].call(this, result);\n }\n return result;\n };\n });\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with optional `this`\n * binding of `thisArg`, partial application, and currying.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [partialsRight] The arguments to append to those provided\n * to the new function.\n * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {\n var isAry = bitmask & WRAP_ARY_FLAG,\n isBind = bitmask & WRAP_BIND_FLAG,\n isBindKey = bitmask & WRAP_BIND_KEY_FLAG,\n isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),\n isFlip = bitmask & WRAP_FLIP_FLAG,\n Ctor = isBindKey ? undefined : createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length;\n\n while (index--) {\n args[index] = arguments[index];\n }\n if (isCurried) {\n var placeholder = getHolder(wrapper),\n holdersCount = countHolders(args, placeholder);\n }\n if (partials) {\n args = composeArgs(args, partials, holders, isCurried);\n }\n if (partialsRight) {\n args = composeArgsRight(args, partialsRight, holdersRight, isCurried);\n }\n length -= holdersCount;\n if (isCurried && length < arity) {\n var newHolders = replaceHolders(args, placeholder);\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, thisArg,\n args, newHolders, argPos, ary, arity - length\n );\n }\n var thisBinding = isBind ? thisArg : this,\n fn = isBindKey ? thisBinding[func] : func;\n\n length = args.length;\n if (argPos) {\n args = reorder(args, argPos);\n } else if (isFlip && length > 1) {\n args.reverse();\n }\n if (isAry && ary < length) {\n args.length = ary;\n }\n if (this && this !== root && this instanceof wrapper) {\n fn = Ctor || createCtor(fn);\n }\n return fn.apply(thisBinding, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a function like `_.invertBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} toIteratee The function to resolve iteratees.\n * @returns {Function} Returns the new inverter function.\n */\n function createInverter(setter, toIteratee) {\n return function(object, iteratee) {\n return baseInverter(object, setter, toIteratee(iteratee), {});\n };\n }\n\n /**\n * Creates a function that performs a mathematical operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @param {number} [defaultValue] The value used for `undefined` arguments.\n * @returns {Function} Returns the new mathematical operation function.\n */\n function createMathOperation(operator, defaultValue) {\n return function(value, other) {\n var result;\n if (value === undefined && other === undefined) {\n return defaultValue;\n }\n if (value !== undefined) {\n result = value;\n }\n if (other !== undefined) {\n if (result === undefined) {\n return other;\n }\n if (typeof value == 'string' || typeof other == 'string') {\n value = baseToString(value);\n other = baseToString(other);\n } else {\n value = baseToNumber(value);\n other = baseToNumber(other);\n }\n result = operator(value, other);\n }\n return result;\n };\n }\n\n /**\n * Creates a function like `_.over`.\n *\n * @private\n * @param {Function} arrayFunc The function to iterate over iteratees.\n * @returns {Function} Returns the new over function.\n */\n function createOver(arrayFunc) {\n return flatRest(function(iteratees) {\n iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\n return baseRest(function(args) {\n var thisArg = this;\n return arrayFunc(iteratees, function(iteratee) {\n return apply(iteratee, thisArg, args);\n });\n });\n });\n }\n\n /**\n * Creates the padding for `string` based on `length`. The `chars` string\n * is truncated if the number of characters exceeds `length`.\n *\n * @private\n * @param {number} length The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padding for `string`.\n */\n function createPadding(length, chars) {\n chars = chars === undefined ? ' ' : baseToString(chars);\n\n var charsLength = chars.length;\n if (charsLength < 2) {\n return charsLength ? baseRepeat(chars, length) : chars;\n }\n var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));\n return hasUnicode(chars)\n ? castSlice(stringToArray(result), 0, length).join('')\n : result.slice(0, length);\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with the `this` binding\n * of `thisArg` and `partials` prepended to the arguments it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} partials The arguments to prepend to those provided to\n * the new function.\n * @returns {Function} Returns the new wrapped function.\n */\n function createPartial(func, bitmask, thisArg, partials) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var argsIndex = -1,\n argsLength = arguments.length,\n leftIndex = -1,\n leftLength = partials.length,\n args = Array(leftLength + argsLength),\n fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n\n while (++leftIndex < leftLength) {\n args[leftIndex] = partials[leftIndex];\n }\n while (argsLength--) {\n args[leftIndex++] = arguments[++argsIndex];\n }\n return apply(fn, isBind ? thisArg : this, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\n function createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n return baseRange(start, end, step, fromRight);\n };\n }\n\n /**\n * Creates a function that performs a relational operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @returns {Function} Returns the new relational operation function.\n */\n function createRelationalOperation(operator) {\n return function(value, other) {\n if (!(typeof value == 'string' && typeof other == 'string')) {\n value = toNumber(value);\n other = toNumber(other);\n }\n return operator(value, other);\n };\n }\n\n /**\n * Creates a function that wraps `func` to continue currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {Function} wrapFunc The function to create the `func` wrapper.\n * @param {*} placeholder The placeholder value.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {\n var isCurry = bitmask & WRAP_CURRY_FLAG,\n newHolders = isCurry ? holders : undefined,\n newHoldersRight = isCurry ? undefined : holders,\n newPartials = isCurry ? partials : undefined,\n newPartialsRight = isCurry ? undefined : partials;\n\n bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);\n bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);\n\n if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {\n bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);\n }\n var newData = [\n func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,\n newHoldersRight, argPos, ary, arity\n ];\n\n var result = wrapFunc.apply(undefined, newData);\n if (isLaziable(func)) {\n setData(result, newData);\n }\n result.placeholder = placeholder;\n return setWrapToString(result, func, bitmask);\n }\n\n /**\n * Creates a function like `_.round`.\n *\n * @private\n * @param {string} methodName The name of the `Math` method to use when rounding.\n * @returns {Function} Returns the new round function.\n */\n function createRound(methodName) {\n var func = Math[methodName];\n return function(number, precision) {\n number = toNumber(number);\n precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);\n if (precision && nativeIsFinite(number)) {\n // Shift with exponential notation to avoid floating-point issues.\n // See [MDN](https://mdn.io/round#Examples) for more details.\n var pair = (toString(number) + 'e').split('e'),\n value = func(pair[0] + 'e' + (+pair[1] + precision));\n\n pair = (toString(value) + 'e').split('e');\n return +(pair[0] + 'e' + (+pair[1] - precision));\n }\n return func(number);\n };\n }\n\n /**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\n var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n };\n\n /**\n * Creates a `_.toPairs` or `_.toPairsIn` function.\n *\n * @private\n * @param {Function} keysFunc The function to get the keys of a given object.\n * @returns {Function} Returns the new pairs function.\n */\n function createToPairs(keysFunc) {\n return function(object) {\n var tag = getTag(object);\n if (tag == mapTag) {\n return mapToArray(object);\n }\n if (tag == setTag) {\n return setToPairs(object);\n }\n return baseToPairs(object, keysFunc(object));\n };\n }\n\n /**\n * Creates a function that either curries or invokes `func` with optional\n * `this` binding and partially applied arguments.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags.\n * 1 - `_.bind`\n * 2 - `_.bindKey`\n * 4 - `_.curry` or `_.curryRight` of a bound function\n * 8 - `_.curry`\n * 16 - `_.curryRight`\n * 32 - `_.partial`\n * 64 - `_.partialRight`\n * 128 - `_.rearg`\n * 256 - `_.ary`\n * 512 - `_.flip`\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to be partially applied.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {\n var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;\n if (!isBindKey && typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var length = partials ? partials.length : 0;\n if (!length) {\n bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);\n partials = holders = undefined;\n }\n ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);\n arity = arity === undefined ? arity : toInteger(arity);\n length -= holders ? holders.length : 0;\n\n if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {\n var partialsRight = partials,\n holdersRight = holders;\n\n partials = holders = undefined;\n }\n var data = isBindKey ? undefined : getData(func);\n\n var newData = [\n func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,\n argPos, ary, arity\n ];\n\n if (data) {\n mergeData(newData, data);\n }\n func = newData[0];\n bitmask = newData[1];\n thisArg = newData[2];\n partials = newData[3];\n holders = newData[4];\n arity = newData[9] = newData[9] === undefined\n ? (isBindKey ? 0 : func.length)\n : nativeMax(newData[9] - length, 0);\n\n if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {\n bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);\n }\n if (!bitmask || bitmask == WRAP_BIND_FLAG) {\n var result = createBind(func, bitmask, thisArg);\n } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {\n result = createCurry(func, bitmask, arity);\n } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {\n result = createPartial(func, bitmask, thisArg, partials);\n } else {\n result = createHybrid.apply(undefined, newData);\n }\n var setter = data ? baseSetData : setData;\n return setWrapToString(setter(result, newData), func, bitmask);\n }\n\n /**\n * Used by `_.defaults` to customize its `_.assignIn` use to assign properties\n * of source objects to the destination object for all destination properties\n * that resolve to `undefined`.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to assign.\n * @param {Object} object The parent object of `objValue`.\n * @returns {*} Returns the value to assign.\n */\n function customDefaultsAssignIn(objValue, srcValue, key, object) {\n if (objValue === undefined ||\n (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n return srcValue;\n }\n return objValue;\n }\n\n /**\n * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source\n * objects into destination objects that are passed thru.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to merge.\n * @param {Object} object The parent object of `objValue`.\n * @param {Object} source The parent object of `srcValue`.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n * @returns {*} Returns the value to assign.\n */\n function customDefaultsMerge(objValue, srcValue, key, object, source, stack) {\n if (isObject(objValue) && isObject(srcValue)) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, objValue);\n baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack);\n stack['delete'](srcValue);\n }\n return objValue;\n }\n\n /**\n * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n * objects.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {string} key The key of the property to inspect.\n * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n */\n function customOmitClone(value) {\n return isPlainObject(value) ? undefined : value;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\n function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n }\n\n /**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\n function flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n }\n\n /**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n }\n\n /**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n }\n\n /**\n * Gets metadata for `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {*} Returns the metadata for `func`.\n */\n var getData = !metaMap ? noop : function(func) {\n return metaMap.get(func);\n };\n\n /**\n * Gets the name of `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {string} Returns the function name.\n */\n function getFuncName(func) {\n var result = (func.name + ''),\n array = realNames[result],\n length = hasOwnProperty.call(realNames, result) ? array.length : 0;\n\n while (length--) {\n var data = array[length],\n otherFunc = data.func;\n if (otherFunc == null || otherFunc == func) {\n return data.name;\n }\n }\n return result;\n }\n\n /**\n * Gets the argument placeholder value for `func`.\n *\n * @private\n * @param {Function} func The function to inspect.\n * @returns {*} Returns the placeholder value.\n */\n function getHolder(func) {\n var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func;\n return object.placeholder;\n }\n\n /**\n * Gets the appropriate \"iteratee\" function. If `_.iteratee` is customized,\n * this function returns the custom method, otherwise it returns `baseIteratee`.\n * If arguments are provided, the chosen function is invoked with them and\n * its result is returned.\n *\n * @private\n * @param {*} [value] The value to convert to an iteratee.\n * @param {number} [arity] The arity of the created iteratee.\n * @returns {Function} Returns the chosen function or its result.\n */\n function getIteratee() {\n var result = lodash.iteratee || iteratee;\n result = result === iteratee ? baseIteratee : result;\n return arguments.length ? result(arguments[0], arguments[1]) : result;\n }\n\n /**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\n function getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n }\n\n /**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\n function getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n }\n\n /**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\n function getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n }\n\n /**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\n function getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n }\n\n /**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\n var getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n };\n\n /**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\n var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n };\n\n /**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n var getTag = baseGetTag;\n\n // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\n if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n }\n\n /**\n * Gets the view, applying any `transforms` to the `start` and `end` positions.\n *\n * @private\n * @param {number} start The start of the view.\n * @param {number} end The end of the view.\n * @param {Array} transforms The transformations to apply to the view.\n * @returns {Object} Returns an object containing the `start` and `end`\n * positions of the view.\n */\n function getView(start, end, transforms) {\n var index = -1,\n length = transforms.length;\n\n while (++index < length) {\n var data = transforms[index],\n size = data.size;\n\n switch (data.type) {\n case 'drop': start += size; break;\n case 'dropRight': end -= size; break;\n case 'take': end = nativeMin(end, start + size); break;\n case 'takeRight': start = nativeMax(start, end - size); break;\n }\n }\n return { 'start': start, 'end': end };\n }\n\n /**\n * Extracts wrapper details from the `source` body comment.\n *\n * @private\n * @param {string} source The source to inspect.\n * @returns {Array} Returns the wrapper details.\n */\n function getWrapDetails(source) {\n var match = source.match(reWrapDetails);\n return match ? match[1].split(reSplitDetails) : [];\n }\n\n /**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\n function hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n }\n\n /**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\n function initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n }\n\n /**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\n function initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n }\n\n /**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\n function initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n }\n\n /**\n * Inserts wrapper `details` in a comment at the top of the `source` body.\n *\n * @private\n * @param {string} source The source to modify.\n * @returns {Array} details The details to insert.\n * @returns {string} Returns the modified source.\n */\n function insertWrapDetails(source, details) {\n var length = details.length;\n if (!length) {\n return source;\n }\n var lastIndex = length - 1;\n details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];\n details = details.join(length > 2 ? ', ' : ' ');\n return source.replace(reWrapComment, '{\\n/* [wrapped with ' + details + '] */\\n');\n }\n\n /**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\n function isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n }\n\n /**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\n function isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n }\n\n /**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\n function isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n }\n\n /**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\n function isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n }\n\n /**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\n function isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n }\n\n /**\n * Checks if `func` has a lazy counterpart.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` has a lazy counterpart,\n * else `false`.\n */\n function isLaziable(func) {\n var funcName = getFuncName(func),\n other = lodash[funcName];\n\n if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {\n return false;\n }\n if (func === other) {\n return true;\n }\n var data = getData(other);\n return !!data && func === data[0];\n }\n\n /**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\n function isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n }\n\n /**\n * Checks if `func` is capable of being masked.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `func` is maskable, else `false`.\n */\n var isMaskable = coreJsData ? isFunction : stubFalse;\n\n /**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\n function isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n }\n\n /**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\n function isStrictComparable(value) {\n return value === value && !isObject(value);\n }\n\n /**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\n function matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n }\n\n /**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\n function memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n }\n\n /**\n * Merges the function metadata of `source` into `data`.\n *\n * Merging metadata reduces the number of wrappers used to invoke a function.\n * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`\n * may be applied regardless of execution order. Methods like `_.ary` and\n * `_.rearg` modify function arguments, making the order in which they are\n * executed important, preventing the merging of metadata. However, we make\n * an exception for a safe combined case where curried functions have `_.ary`\n * and or `_.rearg` applied.\n *\n * @private\n * @param {Array} data The destination metadata.\n * @param {Array} source The source metadata.\n * @returns {Array} Returns `data`.\n */\n function mergeData(data, source) {\n var bitmask = data[1],\n srcBitmask = source[1],\n newBitmask = bitmask | srcBitmask,\n isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);\n\n var isCombo =\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||\n ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));\n\n // Exit early if metadata can't be merged.\n if (!(isCommon || isCombo)) {\n return data;\n }\n // Use source `thisArg` if available.\n if (srcBitmask & WRAP_BIND_FLAG) {\n data[2] = source[2];\n // Set when currying a bound function.\n newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;\n }\n // Compose partial arguments.\n var value = source[3];\n if (value) {\n var partials = data[3];\n data[3] = partials ? composeArgs(partials, value, source[4]) : value;\n data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];\n }\n // Compose partial right arguments.\n value = source[5];\n if (value) {\n partials = data[5];\n data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;\n data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];\n }\n // Use source `argPos` if available.\n value = source[7];\n if (value) {\n data[7] = value;\n }\n // Use source `ary` if it's smaller.\n if (srcBitmask & WRAP_ARY_FLAG) {\n data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);\n }\n // Use source `arity` if one is not provided.\n if (data[9] == null) {\n data[9] = source[9];\n }\n // Use source `func` and merge bitmasks.\n data[0] = source[0];\n data[1] = newBitmask;\n\n return data;\n }\n\n /**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\n function objectToString(value) {\n return nativeObjectToString.call(value);\n }\n\n /**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\n function overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n }\n\n /**\n * Gets the parent value at `path` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} path The path to get the parent value of.\n * @returns {*} Returns the parent value.\n */\n function parent(object, path) {\n return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n }\n\n /**\n * Reorder `array` according to the specified indexes where the element at\n * the first index is assigned as the first element, the element at\n * the second index is assigned as the second element, and so on.\n *\n * @private\n * @param {Array} array The array to reorder.\n * @param {Array} indexes The arranged array indexes.\n * @returns {Array} Returns `array`.\n */\n function reorder(array, indexes) {\n var arrLength = array.length,\n length = nativeMin(indexes.length, arrLength),\n oldArray = copyArray(array);\n\n while (length--) {\n var index = indexes[length];\n array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;\n }\n return array;\n }\n\n /**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\n function safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n }\n\n /**\n * Sets metadata for `func`.\n *\n * **Note:** If this function becomes hot, i.e. is invoked a lot in a short\n * period of time, it will trip its breaker and transition to an identity\n * function to avoid garbage collection pauses in V8. See\n * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)\n * for more details.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\n var setData = shortOut(baseSetData);\n\n /**\n * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout).\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\n var setTimeout = ctxSetTimeout || function(func, wait) {\n return root.setTimeout(func, wait);\n };\n\n /**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\n var setToString = shortOut(baseSetToString);\n\n /**\n * Sets the `toString` method of `wrapper` to mimic the source of `reference`\n * with wrapper details in a comment at the top of the source body.\n *\n * @private\n * @param {Function} wrapper The function to modify.\n * @param {Function} reference The reference function.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Function} Returns `wrapper`.\n */\n function setWrapToString(wrapper, reference, bitmask) {\n var source = (reference + '');\n return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));\n }\n\n /**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\n function shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n }\n\n /**\n * A specialized version of `_.shuffle` which mutates and sets the size of `array`.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @param {number} [size=array.length] The size of `array`.\n * @returns {Array} Returns `array`.\n */\n function shuffleSelf(array, size) {\n var index = -1,\n length = array.length,\n lastIndex = length - 1;\n\n size = size === undefined ? length : size;\n while (++index < size) {\n var rand = baseRandom(index, lastIndex),\n value = array[rand];\n\n array[rand] = array[index];\n array[index] = value;\n }\n array.length = size;\n return array;\n }\n\n /**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\n var stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n });\n\n /**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\n function toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n }\n\n /**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\n function toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n }\n\n /**\n * Updates wrapper `details` based on `bitmask` flags.\n *\n * @private\n * @returns {Array} details The details to modify.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Array} Returns `details`.\n */\n function updateWrapDetails(details, bitmask) {\n arrayEach(wrapFlags, function(pair) {\n var value = '_.' + pair[0];\n if ((bitmask & pair[1]) && !arrayIncludes(details, value)) {\n details.push(value);\n }\n });\n return details.sort();\n }\n\n /**\n * Creates a clone of `wrapper`.\n *\n * @private\n * @param {Object} wrapper The wrapper to clone.\n * @returns {Object} Returns the cloned wrapper.\n */\n function wrapperClone(wrapper) {\n if (wrapper instanceof LazyWrapper) {\n return wrapper.clone();\n }\n var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);\n result.__actions__ = copyArray(wrapper.__actions__);\n result.__index__ = wrapper.__index__;\n result.__values__ = wrapper.__values__;\n return result;\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an array of elements split into groups the length of `size`.\n * If `array` can't be split evenly, the final chunk will be the remaining\n * elements.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to process.\n * @param {number} [size=1] The length of each chunk\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the new array of chunks.\n * @example\n *\n * _.chunk(['a', 'b', 'c', 'd'], 2);\n * // => [['a', 'b'], ['c', 'd']]\n *\n * _.chunk(['a', 'b', 'c', 'd'], 3);\n * // => [['a', 'b', 'c'], ['d']]\n */\n function chunk(array, size, guard) {\n if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) {\n size = 1;\n } else {\n size = nativeMax(toInteger(size), 0);\n }\n var length = array == null ? 0 : array.length;\n if (!length || size < 1) {\n return [];\n }\n var index = 0,\n resIndex = 0,\n result = Array(nativeCeil(length / size));\n\n while (index < length) {\n result[resIndex++] = baseSlice(array, index, (index += size));\n }\n return result;\n }\n\n /**\n * Creates an array with all falsey values removed. The values `false`, `null`,\n * `0`, `\"\"`, `undefined`, and `NaN` are falsey.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to compact.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.compact([0, 1, false, 2, '', 3]);\n * // => [1, 2, 3]\n */\n function compact(array) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value) {\n result[resIndex++] = value;\n }\n }\n return result;\n }\n\n /**\n * Creates a new array concatenating `array` with any additional arrays\n * and/or values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to concatenate.\n * @param {...*} [values] The values to concatenate.\n * @returns {Array} Returns the new concatenated array.\n * @example\n *\n * var array = [1];\n * var other = _.concat(array, 2, [3], [[4]]);\n *\n * console.log(other);\n * // => [1, 2, 3, [4]]\n *\n * console.log(array);\n * // => [1]\n */\n function concat() {\n var length = arguments.length;\n if (!length) {\n return [];\n }\n var args = Array(length - 1),\n array = arguments[0],\n index = length;\n\n while (index--) {\n args[index - 1] = arguments[index];\n }\n return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1));\n }\n\n /**\n * Creates an array of `array` values not included in the other given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * **Note:** Unlike `_.pullAll`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.without, _.xor\n * @example\n *\n * _.difference([2, 1], [2, 3]);\n * // => [1]\n */\n var difference = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true))\n : [];\n });\n\n /**\n * This method is like `_.difference` except that it accepts `iteratee` which\n * is invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * **Note:** Unlike `_.pullAllBy`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\n var differenceBy = baseRest(function(array, values) {\n var iteratee = last(values);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2))\n : [];\n });\n\n /**\n * This method is like `_.difference` except that it accepts `comparator`\n * which is invoked to compare elements of `array` to `values`. The order and\n * references of result values are determined by the first array. The comparator\n * is invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.pullAllWith`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n *\n * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }]\n */\n var differenceWith = baseRest(function(array, values) {\n var comparator = last(values);\n if (isArrayLikeObject(comparator)) {\n comparator = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator)\n : [];\n });\n\n /**\n * Creates a slice of `array` with `n` elements dropped from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.drop([1, 2, 3]);\n * // => [2, 3]\n *\n * _.drop([1, 2, 3], 2);\n * // => [3]\n *\n * _.drop([1, 2, 3], 5);\n * // => []\n *\n * _.drop([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\n function drop(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, n < 0 ? 0 : n, length);\n }\n\n /**\n * Creates a slice of `array` with `n` elements dropped from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.dropRight([1, 2, 3]);\n * // => [1, 2]\n *\n * _.dropRight([1, 2, 3], 2);\n * // => [1]\n *\n * _.dropRight([1, 2, 3], 5);\n * // => []\n *\n * _.dropRight([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\n function dropRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, 0, n < 0 ? 0 : n);\n }\n\n /**\n * Creates a slice of `array` excluding elements dropped from the end.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.dropRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropRightWhile(users, ['active', false]);\n * // => objects for ['barney']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropRightWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\n function dropRightWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), true, true)\n : [];\n }\n\n /**\n * Creates a slice of `array` excluding elements dropped from the beginning.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.dropWhile(users, function(o) { return !o.active; });\n * // => objects for ['pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropWhile(users, ['active', false]);\n * // => objects for ['pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\n function dropWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), true)\n : [];\n }\n\n /**\n * Fills elements of `array` with `value` from `start` up to, but not\n * including, `end`.\n *\n * **Note:** This method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Array\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.fill(array, 'a');\n * console.log(array);\n * // => ['a', 'a', 'a']\n *\n * _.fill(Array(3), 2);\n * // => [2, 2, 2]\n *\n * _.fill([4, 6, 8, 10], '*', 1, 3);\n * // => [4, '*', '*', 10]\n */\n function fill(array, value, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (start && typeof start != 'number' && isIterateeCall(array, value, start)) {\n start = 0;\n end = length;\n }\n return baseFill(array, value, start, end);\n }\n\n /**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\n function findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, getIteratee(predicate, 3), index);\n }\n\n /**\n * This method is like `_.findIndex` except that it iterates over elements\n * of `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; });\n * // => 2\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastIndex(users, { 'user': 'barney', 'active': true });\n * // => 0\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastIndex(users, ['active', false]);\n * // => 2\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastIndex(users, 'active');\n * // => 0\n */\n function findLastIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length - 1;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = fromIndex < 0\n ? nativeMax(length + index, 0)\n : nativeMin(index, length - 1);\n }\n return baseFindIndex(array, getIteratee(predicate, 3), index, true);\n }\n\n /**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\n function flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n }\n\n /**\n * Recursively flattens `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flattenDeep([1, [2, [3, [4]], 5]]);\n * // => [1, 2, 3, 4, 5]\n */\n function flattenDeep(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, INFINITY) : [];\n }\n\n /**\n * Recursively flatten `array` up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * var array = [1, [2, [3, [4]], 5]];\n *\n * _.flattenDepth(array, 1);\n * // => [1, 2, [3, [4]], 5]\n *\n * _.flattenDepth(array, 2);\n * // => [1, 2, 3, [4], 5]\n */\n function flattenDepth(array, depth) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(array, depth);\n }\n\n /**\n * The inverse of `_.toPairs`; this method returns an object composed\n * from key-value `pairs`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} pairs The key-value pairs.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.fromPairs([['a', 1], ['b', 2]]);\n * // => { 'a': 1, 'b': 2 }\n */\n function fromPairs(pairs) {\n var index = -1,\n length = pairs == null ? 0 : pairs.length,\n result = {};\n\n while (++index < length) {\n var pair = pairs[index];\n result[pair[0]] = pair[1];\n }\n return result;\n }\n\n /**\n * Gets the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias first\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the first element of `array`.\n * @example\n *\n * _.head([1, 2, 3]);\n * // => 1\n *\n * _.head([]);\n * // => undefined\n */\n function head(array) {\n return (array && array.length) ? array[0] : undefined;\n }\n\n /**\n * Gets the index at which the first occurrence of `value` is found in `array`\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. If `fromIndex` is negative, it's used as the\n * offset from the end of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.indexOf([1, 2, 1, 2], 2);\n * // => 1\n *\n * // Search from the `fromIndex`.\n * _.indexOf([1, 2, 1, 2], 2, 2);\n * // => 3\n */\n function indexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseIndexOf(array, value, index);\n }\n\n /**\n * Gets all but the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.initial([1, 2, 3]);\n * // => [1, 2]\n */\n function initial(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseSlice(array, 0, -1) : [];\n }\n\n /**\n * Creates an array of unique values that are included in all given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersection([2, 1], [2, 3]);\n * // => [2]\n */\n var intersection = baseRest(function(arrays) {\n var mapped = arrayMap(arrays, castArrayLikeObject);\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped)\n : [];\n });\n\n /**\n * This method is like `_.intersection` except that it accepts `iteratee`\n * which is invoked for each element of each `arrays` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [2.1]\n *\n * // The `_.property` iteratee shorthand.\n * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }]\n */\n var intersectionBy = baseRest(function(arrays) {\n var iteratee = last(arrays),\n mapped = arrayMap(arrays, castArrayLikeObject);\n\n if (iteratee === last(mapped)) {\n iteratee = undefined;\n } else {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped, getIteratee(iteratee, 2))\n : [];\n });\n\n /**\n * This method is like `_.intersection` except that it accepts `comparator`\n * which is invoked to compare elements of `arrays`. The order and references\n * of result values are determined by the first array. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.intersectionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }]\n */\n var intersectionWith = baseRest(function(arrays) {\n var comparator = last(arrays),\n mapped = arrayMap(arrays, castArrayLikeObject);\n\n comparator = typeof comparator == 'function' ? comparator : undefined;\n if (comparator) {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped, undefined, comparator)\n : [];\n });\n\n /**\n * Converts all elements in `array` into a string separated by `separator`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to convert.\n * @param {string} [separator=','] The element separator.\n * @returns {string} Returns the joined string.\n * @example\n *\n * _.join(['a', 'b', 'c'], '~');\n * // => 'a~b~c'\n */\n function join(array, separator) {\n return array == null ? '' : nativeJoin.call(array, separator);\n }\n\n /**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\n function last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n }\n\n /**\n * This method is like `_.indexOf` except that it iterates over elements of\n * `array` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.lastIndexOf([1, 2, 1, 2], 2);\n * // => 3\n *\n * // Search from the `fromIndex`.\n * _.lastIndexOf([1, 2, 1, 2], 2, 2);\n * // => 1\n */\n function lastIndexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);\n }\n return value === value\n ? strictLastIndexOf(array, value, index)\n : baseFindIndex(array, baseIsNaN, index, true);\n }\n\n /**\n * Gets the element at index `n` of `array`. If `n` is negative, the nth\n * element from the end is returned.\n *\n * @static\n * @memberOf _\n * @since 4.11.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=0] The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n *\n * _.nth(array, 1);\n * // => 'b'\n *\n * _.nth(array, -2);\n * // => 'c';\n */\n function nth(array, n) {\n return (array && array.length) ? baseNth(array, toInteger(n)) : undefined;\n }\n\n /**\n * Removes all given values from `array` using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove`\n * to remove elements from an array by predicate.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...*} [values] The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pull(array, 'a', 'c');\n * console.log(array);\n * // => ['b', 'b']\n */\n var pull = baseRest(pullAll);\n\n /**\n * This method is like `_.pull` except that it accepts an array of values to remove.\n *\n * **Note:** Unlike `_.difference`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pullAll(array, ['a', 'c']);\n * console.log(array);\n * // => ['b', 'b']\n */\n function pullAll(array, values) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values)\n : array;\n }\n\n /**\n * This method is like `_.pullAll` except that it accepts `iteratee` which is\n * invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The iteratee is invoked with one argument: (value).\n *\n * **Note:** Unlike `_.differenceBy`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }];\n *\n * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x');\n * console.log(array);\n * // => [{ 'x': 2 }]\n */\n function pullAllBy(array, values, iteratee) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values, getIteratee(iteratee, 2))\n : array;\n }\n\n /**\n * This method is like `_.pullAll` except that it accepts `comparator` which\n * is invoked to compare elements of `array` to `values`. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.differenceWith`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }];\n *\n * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual);\n * console.log(array);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }]\n */\n function pullAllWith(array, values, comparator) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values, undefined, comparator)\n : array;\n }\n\n /**\n * Removes elements from `array` corresponding to `indexes` and returns an\n * array of removed elements.\n *\n * **Note:** Unlike `_.at`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...(number|number[])} [indexes] The indexes of elements to remove.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n * var pulled = _.pullAt(array, [1, 3]);\n *\n * console.log(array);\n * // => ['a', 'c']\n *\n * console.log(pulled);\n * // => ['b', 'd']\n */\n var pullAt = flatRest(function(array, indexes) {\n var length = array == null ? 0 : array.length,\n result = baseAt(array, indexes);\n\n basePullAt(array, arrayMap(indexes, function(index) {\n return isIndex(index, length) ? +index : index;\n }).sort(compareAscending));\n\n return result;\n });\n\n /**\n * Removes all elements from `array` that `predicate` returns truthy for\n * and returns an array of the removed elements. The predicate is invoked\n * with three arguments: (value, index, array).\n *\n * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull`\n * to pull elements from an array by value.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = [1, 2, 3, 4];\n * var evens = _.remove(array, function(n) {\n * return n % 2 == 0;\n * });\n *\n * console.log(array);\n * // => [1, 3]\n *\n * console.log(evens);\n * // => [2, 4]\n */\n function remove(array, predicate) {\n var result = [];\n if (!(array && array.length)) {\n return result;\n }\n var index = -1,\n indexes = [],\n length = array.length;\n\n predicate = getIteratee(predicate, 3);\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result.push(value);\n indexes.push(index);\n }\n }\n basePullAt(array, indexes);\n return result;\n }\n\n /**\n * Reverses `array` so that the first element becomes the last, the second\n * element becomes the second to last, and so on.\n *\n * **Note:** This method mutates `array` and is based on\n * [`Array#reverse`](https://mdn.io/Array/reverse).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.reverse(array);\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\n function reverse(array) {\n return array == null ? array : nativeReverse.call(array);\n }\n\n /**\n * Creates a slice of `array` from `start` up to, but not including, `end`.\n *\n * **Note:** This method is used instead of\n * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\n * returned.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\n function slice(array, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {\n start = 0;\n end = length;\n }\n else {\n start = start == null ? 0 : toInteger(start);\n end = end === undefined ? length : toInteger(end);\n }\n return baseSlice(array, start, end);\n }\n\n /**\n * Uses a binary search to determine the lowest index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedIndex([30, 50], 40);\n * // => 1\n */\n function sortedIndex(array, value) {\n return baseSortedIndex(array, value);\n }\n\n /**\n * This method is like `_.sortedIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedIndexBy(objects, { 'x': 4 }, 'x');\n * // => 0\n */\n function sortedIndexBy(array, value, iteratee) {\n return baseSortedIndexBy(array, value, getIteratee(iteratee, 2));\n }\n\n /**\n * This method is like `_.indexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedIndexOf([4, 5, 5, 5, 6], 5);\n * // => 1\n */\n function sortedIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = baseSortedIndex(array, value);\n if (index < length && eq(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * This method is like `_.sortedIndex` except that it returns the highest\n * index at which `value` should be inserted into `array` in order to\n * maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedLastIndex([4, 5, 5, 5, 6], 5);\n * // => 4\n */\n function sortedLastIndex(array, value) {\n return baseSortedIndex(array, value, true);\n }\n\n /**\n * This method is like `_.sortedLastIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 1\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x');\n * // => 1\n */\n function sortedLastIndexBy(array, value, iteratee) {\n return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true);\n }\n\n /**\n * This method is like `_.lastIndexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5);\n * // => 3\n */\n function sortedLastIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = baseSortedIndex(array, value, true) - 1;\n if (eq(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * This method is like `_.uniq` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniq([1, 1, 2]);\n * // => [1, 2]\n */\n function sortedUniq(array) {\n return (array && array.length)\n ? baseSortedUniq(array)\n : [];\n }\n\n /**\n * This method is like `_.uniqBy` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor);\n * // => [1.1, 2.3]\n */\n function sortedUniqBy(array, iteratee) {\n return (array && array.length)\n ? baseSortedUniq(array, getIteratee(iteratee, 2))\n : [];\n }\n\n /**\n * Gets all but the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.tail([1, 2, 3]);\n * // => [2, 3]\n */\n function tail(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseSlice(array, 1, length) : [];\n }\n\n /**\n * Creates a slice of `array` with `n` elements taken from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.take([1, 2, 3]);\n * // => [1]\n *\n * _.take([1, 2, 3], 2);\n * // => [1, 2]\n *\n * _.take([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.take([1, 2, 3], 0);\n * // => []\n */\n function take(array, n, guard) {\n if (!(array && array.length)) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, 0, n < 0 ? 0 : n);\n }\n\n /**\n * Creates a slice of `array` with `n` elements taken from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.takeRight([1, 2, 3]);\n * // => [3]\n *\n * _.takeRight([1, 2, 3], 2);\n * // => [2, 3]\n *\n * _.takeRight([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.takeRight([1, 2, 3], 0);\n * // => []\n */\n function takeRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, n < 0 ? 0 : n, length);\n }\n\n /**\n * Creates a slice of `array` with elements taken from the end. Elements are\n * taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.takeRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeRightWhile(users, ['active', false]);\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeRightWhile(users, 'active');\n * // => []\n */\n function takeRightWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), false, true)\n : [];\n }\n\n /**\n * Creates a slice of `array` with elements taken from the beginning. Elements\n * are taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.takeWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeWhile(users, ['active', false]);\n * // => objects for ['barney', 'fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeWhile(users, 'active');\n * // => []\n */\n function takeWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3))\n : [];\n }\n\n /**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\n var union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n });\n\n /**\n * This method is like `_.union` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which uniqueness is computed. Result values are chosen from the first\n * array in which the value occurs. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.unionBy([2.1], [1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\n var unionBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2));\n });\n\n /**\n * This method is like `_.union` except that it accepts `comparator` which\n * is invoked to compare elements of `arrays`. Result values are chosen from\n * the first array in which the value occurs. The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.unionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n */\n var unionWith = baseRest(function(arrays) {\n var comparator = last(arrays);\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator);\n });\n\n /**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each element\n * is kept. The order of result values is determined by the order they occur\n * in the array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\n function uniq(array) {\n return (array && array.length) ? baseUniq(array) : [];\n }\n\n /**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\n function uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : [];\n }\n\n /**\n * This method is like `_.uniq` except that it accepts `comparator` which\n * is invoked to compare elements of `array`. The order of result values is\n * determined by the order they occur in the array.The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.uniqWith(objects, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]\n */\n function uniqWith(array, comparator) {\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return (array && array.length) ? baseUniq(array, undefined, comparator) : [];\n }\n\n /**\n * This method is like `_.zip` except that it accepts an array of grouped\n * elements and creates an array regrouping the elements to their pre-zip\n * configuration.\n *\n * @static\n * @memberOf _\n * @since 1.2.0\n * @category Array\n * @param {Array} array The array of grouped elements to process.\n * @returns {Array} Returns the new array of regrouped elements.\n * @example\n *\n * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n *\n * _.unzip(zipped);\n * // => [['a', 'b'], [1, 2], [true, false]]\n */\n function unzip(array) {\n if (!(array && array.length)) {\n return [];\n }\n var length = 0;\n array = arrayFilter(array, function(group) {\n if (isArrayLikeObject(group)) {\n length = nativeMax(group.length, length);\n return true;\n }\n });\n return baseTimes(length, function(index) {\n return arrayMap(array, baseProperty(index));\n });\n }\n\n /**\n * This method is like `_.unzip` except that it accepts `iteratee` to specify\n * how regrouped values should be combined. The iteratee is invoked with the\n * elements of each group: (...group).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Array\n * @param {Array} array The array of grouped elements to process.\n * @param {Function} [iteratee=_.identity] The function to combine\n * regrouped values.\n * @returns {Array} Returns the new array of regrouped elements.\n * @example\n *\n * var zipped = _.zip([1, 2], [10, 20], [100, 200]);\n * // => [[1, 10, 100], [2, 20, 200]]\n *\n * _.unzipWith(zipped, _.add);\n * // => [3, 30, 300]\n */\n function unzipWith(array, iteratee) {\n if (!(array && array.length)) {\n return [];\n }\n var result = unzip(array);\n if (iteratee == null) {\n return result;\n }\n return arrayMap(result, function(group) {\n return apply(iteratee, undefined, group);\n });\n }\n\n /**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.pull`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.xor\n * @example\n *\n * _.without([2, 1, 2, 3], 1, 2);\n * // => [3]\n */\n var without = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, values)\n : [];\n });\n\n /**\n * Creates an array of unique values that is the\n * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)\n * of the given arrays. The order of result values is determined by the order\n * they occur in the arrays.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.without\n * @example\n *\n * _.xor([2, 1], [2, 3]);\n * // => [1, 3]\n */\n var xor = baseRest(function(arrays) {\n return baseXor(arrayFilter(arrays, isArrayLikeObject));\n });\n\n /**\n * This method is like `_.xor` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which by which they're compared. The order of result values is determined\n * by the order they occur in the arrays. The iteratee is invoked with one\n * argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2, 3.4]\n *\n * // The `_.property` iteratee shorthand.\n * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\n var xorBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2));\n });\n\n /**\n * This method is like `_.xor` except that it accepts `comparator` which is\n * invoked to compare elements of `arrays`. The order of result values is\n * determined by the order they occur in the arrays. The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.xorWith(objects, others, _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n */\n var xorWith = baseRest(function(arrays) {\n var comparator = last(arrays);\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator);\n });\n\n /**\n * Creates an array of grouped elements, the first of which contains the\n * first elements of the given arrays, the second of which contains the\n * second elements of the given arrays, and so on.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n */\n var zip = baseRest(unzip);\n\n /**\n * This method is like `_.fromPairs` except that it accepts two arrays,\n * one of property identifiers and one of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 0.4.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObject(['a', 'b'], [1, 2]);\n * // => { 'a': 1, 'b': 2 }\n */\n function zipObject(props, values) {\n return baseZipObject(props || [], values || [], assignValue);\n }\n\n /**\n * This method is like `_.zipObject` except that it supports property paths.\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]);\n * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } }\n */\n function zipObjectDeep(props, values) {\n return baseZipObject(props || [], values || [], baseSet);\n }\n\n /**\n * This method is like `_.zip` except that it accepts `iteratee` to specify\n * how grouped values should be combined. The iteratee is invoked with the\n * elements of each group: (...group).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @param {Function} [iteratee=_.identity] The function to combine\n * grouped values.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) {\n * return a + b + c;\n * });\n * // => [111, 222]\n */\n var zipWith = baseRest(function(arrays) {\n var length = arrays.length,\n iteratee = length > 1 ? arrays[length - 1] : undefined;\n\n iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined;\n return unzipWith(arrays, iteratee);\n });\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a `lodash` wrapper instance that wraps `value` with explicit method\n * chain sequences enabled. The result of such sequences must be unwrapped\n * with `_#value`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Seq\n * @param {*} value The value to wrap.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'pebbles', 'age': 1 }\n * ];\n *\n * var youngest = _\n * .chain(users)\n * .sortBy('age')\n * .map(function(o) {\n * return o.user + ' is ' + o.age;\n * })\n * .head()\n * .value();\n * // => 'pebbles is 1'\n */\n function chain(value) {\n var result = lodash(value);\n result.__chain__ = true;\n return result;\n }\n\n /**\n * This method invokes `interceptor` and returns `value`. The interceptor\n * is invoked with one argument; (value). The purpose of this method is to\n * \"tap into\" a method chain sequence in order to modify intermediate results.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns `value`.\n * @example\n *\n * _([1, 2, 3])\n * .tap(function(array) {\n * // Mutate input array.\n * array.pop();\n * })\n * .reverse()\n * .value();\n * // => [2, 1]\n */\n function tap(value, interceptor) {\n interceptor(value);\n return value;\n }\n\n /**\n * This method is like `_.tap` except that it returns the result of `interceptor`.\n * The purpose of this method is to \"pass thru\" values replacing intermediate\n * results in a method chain sequence.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns the result of `interceptor`.\n * @example\n *\n * _(' abc ')\n * .chain()\n * .trim()\n * .thru(function(value) {\n * return [value];\n * })\n * .value();\n * // => ['abc']\n */\n function thru(value, interceptor) {\n return interceptor(value);\n }\n\n /**\n * This method is the wrapper version of `_.at`.\n *\n * @name at\n * @memberOf _\n * @since 1.0.0\n * @category Seq\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _(object).at(['a[0].b.c', 'a[1]']).value();\n * // => [3, 4]\n */\n var wrapperAt = flatRest(function(paths) {\n var length = paths.length,\n start = length ? paths[0] : 0,\n value = this.__wrapped__,\n interceptor = function(object) { return baseAt(object, paths); };\n\n if (length > 1 || this.__actions__.length ||\n !(value instanceof LazyWrapper) || !isIndex(start)) {\n return this.thru(interceptor);\n }\n value = value.slice(start, +start + (length ? 1 : 0));\n value.__actions__.push({\n 'func': thru,\n 'args': [interceptor],\n 'thisArg': undefined\n });\n return new LodashWrapper(value, this.__chain__).thru(function(array) {\n if (length && !array.length) {\n array.push(undefined);\n }\n return array;\n });\n });\n\n /**\n * Creates a `lodash` wrapper instance with explicit method chain sequences enabled.\n *\n * @name chain\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 }\n * ];\n *\n * // A sequence without explicit chaining.\n * _(users).head();\n * // => { 'user': 'barney', 'age': 36 }\n *\n * // A sequence with explicit chaining.\n * _(users)\n * .chain()\n * .head()\n * .pick('user')\n * .value();\n * // => { 'user': 'barney' }\n */\n function wrapperChain() {\n return chain(this);\n }\n\n /**\n * Executes the chain sequence and returns the wrapped result.\n *\n * @name commit\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2];\n * var wrapped = _(array).push(3);\n *\n * console.log(array);\n * // => [1, 2]\n *\n * wrapped = wrapped.commit();\n * console.log(array);\n * // => [1, 2, 3]\n *\n * wrapped.last();\n * // => 3\n *\n * console.log(array);\n * // => [1, 2, 3]\n */\n function wrapperCommit() {\n return new LodashWrapper(this.value(), this.__chain__);\n }\n\n /**\n * Gets the next value on a wrapped object following the\n * [iterator protocol](https://mdn.io/iteration_protocols#iterator).\n *\n * @name next\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the next iterator value.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 1 }\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 2 }\n *\n * wrapped.next();\n * // => { 'done': true, 'value': undefined }\n */\n function wrapperNext() {\n if (this.__values__ === undefined) {\n this.__values__ = toArray(this.value());\n }\n var done = this.__index__ >= this.__values__.length,\n value = done ? undefined : this.__values__[this.__index__++];\n\n return { 'done': done, 'value': value };\n }\n\n /**\n * Enables the wrapper to be iterable.\n *\n * @name Symbol.iterator\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the wrapper object.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped[Symbol.iterator]() === wrapped;\n * // => true\n *\n * Array.from(wrapped);\n * // => [1, 2]\n */\n function wrapperToIterator() {\n return this;\n }\n\n /**\n * Creates a clone of the chain sequence planting `value` as the wrapped value.\n *\n * @name plant\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @param {*} value The value to plant.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2]).map(square);\n * var other = wrapped.plant([3, 4]);\n *\n * other.value();\n * // => [9, 16]\n *\n * wrapped.value();\n * // => [1, 4]\n */\n function wrapperPlant(value) {\n var result,\n parent = this;\n\n while (parent instanceof baseLodash) {\n var clone = wrapperClone(parent);\n clone.__index__ = 0;\n clone.__values__ = undefined;\n if (result) {\n previous.__wrapped__ = clone;\n } else {\n result = clone;\n }\n var previous = clone;\n parent = parent.__wrapped__;\n }\n previous.__wrapped__ = value;\n return result;\n }\n\n /**\n * This method is the wrapper version of `_.reverse`.\n *\n * **Note:** This method mutates the wrapped array.\n *\n * @name reverse\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _(array).reverse().value()\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\n function wrapperReverse() {\n var value = this.__wrapped__;\n if (value instanceof LazyWrapper) {\n var wrapped = value;\n if (this.__actions__.length) {\n wrapped = new LazyWrapper(this);\n }\n wrapped = wrapped.reverse();\n wrapped.__actions__.push({\n 'func': thru,\n 'args': [reverse],\n 'thisArg': undefined\n });\n return new LodashWrapper(wrapped, this.__chain__);\n }\n return this.thru(reverse);\n }\n\n /**\n * Executes the chain sequence to resolve the unwrapped value.\n *\n * @name value\n * @memberOf _\n * @since 0.1.0\n * @alias toJSON, valueOf\n * @category Seq\n * @returns {*} Returns the resolved unwrapped value.\n * @example\n *\n * _([1, 2, 3]).value();\n * // => [1, 2, 3]\n */\n function wrapperValue() {\n return baseWrapperValue(this.__wrapped__, this.__actions__);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the number of times the key was returned by `iteratee`. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.countBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': 1, '6': 2 }\n *\n * // The `_.property` iteratee shorthand.\n * _.countBy(['one', 'two', 'three'], 'length');\n * // => { '3': 2, '5': 1 }\n */\n var countBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n ++result[key];\n } else {\n baseAssignValue(result, key, 1);\n }\n });\n\n /**\n * Checks if `predicate` returns truthy for **all** elements of `collection`.\n * Iteration is stopped once `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * **Note:** This method returns `true` for\n * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\n * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\n * elements of empty collections.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n * @example\n *\n * _.every([true, 1, null, 'yes'], Boolean);\n * // => false\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.every(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.every(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.every(users, 'active');\n * // => false\n */\n function every(collection, predicate, guard) {\n var func = isArray(collection) ? arrayEvery : baseEvery;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Iterates over elements of `collection`, returning an array of all elements\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * **Note:** Unlike `_.remove`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.reject\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * _.filter(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, { 'age': 36, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.filter(users, 'active');\n * // => objects for ['barney']\n *\n * // Combining several predicates using `_.overEvery` or `_.overSome`.\n * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]]));\n * // => objects for ['fred', 'barney']\n */\n function filter(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\n var find = createFind(findIndex);\n\n /**\n * This method is like `_.find` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=collection.length-1] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * _.findLast([1, 2, 3, 4], function(n) {\n * return n % 2 == 1;\n * });\n * // => 3\n */\n var findLast = createFind(findLastIndex);\n\n /**\n * Creates a flattened array of values by running each element in `collection`\n * thru `iteratee` and flattening the mapped results. The iteratee is invoked\n * with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [n, n];\n * }\n *\n * _.flatMap([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\n function flatMap(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), 1);\n }\n\n /**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDeep([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\n function flatMapDeep(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), INFINITY);\n }\n\n /**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDepth([1, 2], duplicate, 2);\n * // => [[1, 1], [2, 2]]\n */\n function flatMapDepth(collection, iteratee, depth) {\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(map(collection, iteratee), depth);\n }\n\n /**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\n function forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.forEach` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @alias eachRight\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEach\n * @example\n *\n * _.forEachRight([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `2` then `1`.\n */\n function forEachRight(collection, iteratee) {\n var func = isArray(collection) ? arrayEachRight : baseEachRight;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\n var groupBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n baseAssignValue(result, key, [value]);\n }\n });\n\n /**\n * Checks if `value` is in `collection`. If `collection` is a string, it's\n * checked for a substring of `value`, otherwise\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * is used for equality comparisons. If `fromIndex` is negative, it's used as\n * the offset from the end of `collection`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {boolean} Returns `true` if `value` is found, else `false`.\n * @example\n *\n * _.includes([1, 2, 3], 1);\n * // => true\n *\n * _.includes([1, 2, 3], 1, 2);\n * // => false\n *\n * _.includes({ 'a': 1, 'b': 2 }, 1);\n * // => true\n *\n * _.includes('abcd', 'bc');\n * // => true\n */\n function includes(collection, value, fromIndex, guard) {\n collection = isArrayLike(collection) ? collection : values(collection);\n fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0;\n\n var length = collection.length;\n if (fromIndex < 0) {\n fromIndex = nativeMax(length + fromIndex, 0);\n }\n return isString(collection)\n ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)\n : (!!length && baseIndexOf(collection, value, fromIndex) > -1);\n }\n\n /**\n * Invokes the method at `path` of each element in `collection`, returning\n * an array of the results of each invoked method. Any additional arguments\n * are provided to each invoked method. If `path` is a function, it's invoked\n * for, and `this` bound to, each element in `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array|Function|string} path The path of the method to invoke or\n * the function invoked per iteration.\n * @param {...*} [args] The arguments to invoke each method with.\n * @returns {Array} Returns the array of results.\n * @example\n *\n * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort');\n * // => [[1, 5, 7], [1, 2, 3]]\n *\n * _.invokeMap([123, 456], String.prototype.split, '');\n * // => [['1', '2', '3'], ['4', '5', '6']]\n */\n var invokeMap = baseRest(function(collection, path, args) {\n var index = -1,\n isFunc = typeof path == 'function',\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value) {\n result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args);\n });\n return result;\n });\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the last element responsible for generating the key. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * var array = [\n * { 'dir': 'left', 'code': 97 },\n * { 'dir': 'right', 'code': 100 }\n * ];\n *\n * _.keyBy(array, function(o) {\n * return String.fromCharCode(o.code);\n * });\n * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }\n *\n * _.keyBy(array, 'dir');\n * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }\n */\n var keyBy = createAggregator(function(result, value, key) {\n baseAssignValue(result, key, value);\n });\n\n /**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\n function map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.sortBy` except that it allows specifying the sort\n * orders of the iteratees to sort by. If `orders` is unspecified, all values\n * are sorted in ascending order. Otherwise, specify an order of \"desc\" for\n * descending or \"asc\" for ascending sort order of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @param {string[]} [orders] The sort orders of `iteratees`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 34 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'barney', 'age': 36 }\n * ];\n *\n * // Sort by `user` in ascending order and by `age` in descending order.\n * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n */\n function orderBy(collection, iteratees, orders, guard) {\n if (collection == null) {\n return [];\n }\n if (!isArray(iteratees)) {\n iteratees = iteratees == null ? [] : [iteratees];\n }\n orders = guard ? undefined : orders;\n if (!isArray(orders)) {\n orders = orders == null ? [] : [orders];\n }\n return baseOrderBy(collection, iteratees, orders);\n }\n\n /**\n * Creates an array of elements split into two groups, the first of which\n * contains elements `predicate` returns truthy for, the second of which\n * contains elements `predicate` returns falsey for. The predicate is\n * invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the array of grouped elements.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true },\n * { 'user': 'pebbles', 'age': 1, 'active': false }\n * ];\n *\n * _.partition(users, function(o) { return o.active; });\n * // => objects for [['fred'], ['barney', 'pebbles']]\n *\n * // The `_.matches` iteratee shorthand.\n * _.partition(users, { 'age': 1, 'active': false });\n * // => objects for [['pebbles'], ['barney', 'fred']]\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.partition(users, ['active', false]);\n * // => objects for [['barney', 'pebbles'], ['fred']]\n *\n * // The `_.property` iteratee shorthand.\n * _.partition(users, 'active');\n * // => objects for [['fred'], ['barney', 'pebbles']]\n */\n var partition = createAggregator(function(result, value, key) {\n result[key ? 0 : 1].push(value);\n }, function() { return [[], []]; });\n\n /**\n * Reduces `collection` to a value which is the accumulated result of running\n * each element in `collection` thru `iteratee`, where each successive\n * invocation is supplied the return value of the previous. If `accumulator`\n * is not given, the first element of `collection` is used as the initial\n * value. The iteratee is invoked with four arguments:\n * (accumulator, value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.reduce`, `_.reduceRight`, and `_.transform`.\n *\n * The guarded methods are:\n * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,\n * and `sortBy`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduceRight\n * @example\n *\n * _.reduce([1, 2], function(sum, n) {\n * return sum + n;\n * }, 0);\n * // => 3\n *\n * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * return result;\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)\n */\n function reduce(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduce : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach);\n }\n\n /**\n * This method is like `_.reduce` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduce\n * @example\n *\n * var array = [[0, 1], [2, 3], [4, 5]];\n *\n * _.reduceRight(array, function(flattened, other) {\n * return flattened.concat(other);\n * }, []);\n * // => [4, 5, 2, 3, 0, 1]\n */\n function reduceRight(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduceRight : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight);\n }\n\n /**\n * The opposite of `_.filter`; this method returns the elements of `collection`\n * that `predicate` does **not** return truthy for.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.filter\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true }\n * ];\n *\n * _.reject(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.reject(users, { 'age': 40, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.reject(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.reject(users, 'active');\n * // => objects for ['barney']\n */\n function reject(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, negate(getIteratee(predicate, 3)));\n }\n\n /**\n * Gets a random element from `collection`.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n * @example\n *\n * _.sample([1, 2, 3, 4]);\n * // => 2\n */\n function sample(collection) {\n var func = isArray(collection) ? arraySample : baseSample;\n return func(collection);\n }\n\n /**\n * Gets `n` random elements at unique keys from `collection` up to the\n * size of `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @param {number} [n=1] The number of elements to sample.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the random elements.\n * @example\n *\n * _.sampleSize([1, 2, 3], 2);\n * // => [3, 1]\n *\n * _.sampleSize([1, 2, 3], 4);\n * // => [2, 3, 1]\n */\n function sampleSize(collection, n, guard) {\n if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n var func = isArray(collection) ? arraySampleSize : baseSampleSize;\n return func(collection, n);\n }\n\n /**\n * Creates an array of shuffled values, using a version of the\n * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n * @example\n *\n * _.shuffle([1, 2, 3, 4]);\n * // => [4, 1, 3, 2]\n */\n function shuffle(collection) {\n var func = isArray(collection) ? arrayShuffle : baseShuffle;\n return func(collection);\n }\n\n /**\n * Gets the size of `collection` by returning its length for array-like\n * values or the number of own enumerable string keyed properties for objects.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @returns {number} Returns the collection size.\n * @example\n *\n * _.size([1, 2, 3]);\n * // => 3\n *\n * _.size({ 'a': 1, 'b': 2 });\n * // => 2\n *\n * _.size('pebbles');\n * // => 7\n */\n function size(collection) {\n if (collection == null) {\n return 0;\n }\n if (isArrayLike(collection)) {\n return isString(collection) ? stringSize(collection) : collection.length;\n }\n var tag = getTag(collection);\n if (tag == mapTag || tag == setTag) {\n return collection.size;\n }\n return baseKeys(collection).length;\n }\n\n /**\n * Checks if `predicate` returns truthy for **any** element of `collection`.\n * Iteration is stopped once `predicate` returns truthy. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n * @example\n *\n * _.some([null, 0, 'yes', false], Boolean);\n * // => true\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.some(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.some(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.some(users, 'active');\n * // => true\n */\n function some(collection, predicate, guard) {\n var func = isArray(collection) ? arraySome : baseSome;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\n var sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n });\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\n var now = ctxNow || function() {\n return root.Date.now();\n };\n\n /*------------------------------------------------------------------------*/\n\n /**\n * The opposite of `_.before`; this method creates a function that invokes\n * `func` once it's called `n` or more times.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {number} n The number of calls before `func` is invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var saves = ['profile', 'settings'];\n *\n * var done = _.after(saves.length, function() {\n * console.log('done saving!');\n * });\n *\n * _.forEach(saves, function(type) {\n * asyncSave({ 'type': type, 'complete': done });\n * });\n * // => Logs 'done saving!' after the two async saves have completed.\n */\n function after(n, func) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n < 1) {\n return func.apply(this, arguments);\n }\n };\n }\n\n /**\n * Creates a function that invokes `func`, with up to `n` arguments,\n * ignoring any additional arguments.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @param {number} [n=func.length] The arity cap.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.ary(parseInt, 1));\n * // => [6, 8, 10]\n */\n function ary(func, n, guard) {\n n = guard ? undefined : n;\n n = (func && n == null) ? func.length : n;\n return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);\n }\n\n /**\n * Creates a function that invokes `func`, with the `this` binding and arguments\n * of the created function, while it's called less than `n` times. Subsequent\n * calls to the created function return the result of the last `func` invocation.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {number} n The number of calls at which `func` is no longer invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * jQuery(element).on('click', _.before(5, addContactToList));\n * // => Allows adding up to 4 contacts to the list.\n */\n function before(n, func) {\n var result;\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n > 0) {\n result = func.apply(this, arguments);\n }\n if (n <= 1) {\n func = undefined;\n }\n return result;\n };\n }\n\n /**\n * Creates a function that invokes `func` with the `this` binding of `thisArg`\n * and `partials` prepended to the arguments it receives.\n *\n * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for partially applied arguments.\n *\n * **Note:** Unlike native `Function#bind`, this method doesn't set the \"length\"\n * property of bound functions.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * function greet(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n *\n * var object = { 'user': 'fred' };\n *\n * var bound = _.bind(greet, object, 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bind(greet, object, _, '!');\n * bound('hi');\n * // => 'hi fred!'\n */\n var bind = baseRest(function(func, thisArg, partials) {\n var bitmask = WRAP_BIND_FLAG;\n if (partials.length) {\n var holders = replaceHolders(partials, getHolder(bind));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return createWrap(func, bitmask, thisArg, partials, holders);\n });\n\n /**\n * Creates a function that invokes the method at `object[key]` with `partials`\n * prepended to the arguments it receives.\n *\n * This method differs from `_.bind` by allowing bound functions to reference\n * methods that may be redefined or don't yet exist. See\n * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)\n * for more details.\n *\n * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Function\n * @param {Object} object The object to invoke the method on.\n * @param {string} key The key of the method.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * var object = {\n * 'user': 'fred',\n * 'greet': function(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n * };\n *\n * var bound = _.bindKey(object, 'greet', 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * object.greet = function(greeting, punctuation) {\n * return greeting + 'ya ' + this.user + punctuation;\n * };\n *\n * bound('!');\n * // => 'hiya fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bindKey(object, 'greet', _, '!');\n * bound('hi');\n * // => 'hiya fred!'\n */\n var bindKey = baseRest(function(object, key, partials) {\n var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG;\n if (partials.length) {\n var holders = replaceHolders(partials, getHolder(bindKey));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return createWrap(key, bitmask, object, partials, holders);\n });\n\n /**\n * Creates a function that accepts arguments of `func` and either invokes\n * `func` returning its result, if at least `arity` number of arguments have\n * been provided, or returns a function that accepts the remaining `func`\n * arguments, and so on. The arity of `func` may be specified if `func.length`\n * is not sufficient.\n *\n * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curry(abc);\n *\n * curried(1)(2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(1)(_, 3)(2);\n * // => [1, 2, 3]\n */\n function curry(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curry.placeholder;\n return result;\n }\n\n /**\n * This method is like `_.curry` except that arguments are applied to `func`\n * in the manner of `_.partialRight` instead of `_.partial`.\n *\n * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curryRight(abc);\n *\n * curried(3)(2)(1);\n * // => [1, 2, 3]\n *\n * curried(2, 3)(1);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(3)(1, _)(2);\n * // => [1, 2, 3]\n */\n function curryRight(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curryRight.placeholder;\n return result;\n }\n\n /**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\n function debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n }\n\n /**\n * Defers invoking the `func` until the current call stack has cleared. Any\n * additional arguments are provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to defer.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.defer(function(text) {\n * console.log(text);\n * }, 'deferred');\n * // => Logs 'deferred' after one millisecond.\n */\n var defer = baseRest(function(func, args) {\n return baseDelay(func, 1, args);\n });\n\n /**\n * Invokes `func` after `wait` milliseconds. Any additional arguments are\n * provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.delay(function(text) {\n * console.log(text);\n * }, 1000, 'later');\n * // => Logs 'later' after one second.\n */\n var delay = baseRest(function(func, wait, args) {\n return baseDelay(func, toNumber(wait) || 0, args);\n });\n\n /**\n * Creates a function that invokes `func` with arguments reversed.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to flip arguments for.\n * @returns {Function} Returns the new flipped function.\n * @example\n *\n * var flipped = _.flip(function() {\n * return _.toArray(arguments);\n * });\n *\n * flipped('a', 'b', 'c', 'd');\n * // => ['d', 'c', 'b', 'a']\n */\n function flip(func) {\n return createWrap(func, WRAP_FLIP_FLAG);\n }\n\n /**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\n function memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n }\n\n // Expose `MapCache`.\n memoize.Cache = MapCache;\n\n /**\n * Creates a function that negates the result of the predicate `func`. The\n * `func` predicate is invoked with the `this` binding and arguments of the\n * created function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} predicate The predicate to negate.\n * @returns {Function} Returns the new negated function.\n * @example\n *\n * function isEven(n) {\n * return n % 2 == 0;\n * }\n *\n * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n * // => [1, 3, 5]\n */\n function negate(predicate) {\n if (typeof predicate != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return function() {\n var args = arguments;\n switch (args.length) {\n case 0: return !predicate.call(this);\n case 1: return !predicate.call(this, args[0]);\n case 2: return !predicate.call(this, args[0], args[1]);\n case 3: return !predicate.call(this, args[0], args[1], args[2]);\n }\n return !predicate.apply(this, args);\n };\n }\n\n /**\n * Creates a function that is restricted to invoking `func` once. Repeat calls\n * to the function return the value of the first invocation. The `func` is\n * invoked with the `this` binding and arguments of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var initialize = _.once(createApplication);\n * initialize();\n * initialize();\n * // => `createApplication` is invoked once\n */\n function once(func) {\n return before(2, func);\n }\n\n /**\n * Creates a function that invokes `func` with its arguments transformed.\n *\n * @static\n * @since 4.0.0\n * @memberOf _\n * @category Function\n * @param {Function} func The function to wrap.\n * @param {...(Function|Function[])} [transforms=[_.identity]]\n * The argument transforms.\n * @returns {Function} Returns the new function.\n * @example\n *\n * function doubled(n) {\n * return n * 2;\n * }\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var func = _.overArgs(function(x, y) {\n * return [x, y];\n * }, [square, doubled]);\n *\n * func(9, 3);\n * // => [81, 6]\n *\n * func(10, 5);\n * // => [100, 10]\n */\n var overArgs = castRest(function(func, transforms) {\n transforms = (transforms.length == 1 && isArray(transforms[0]))\n ? arrayMap(transforms[0], baseUnary(getIteratee()))\n : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee()));\n\n var funcsLength = transforms.length;\n return baseRest(function(args) {\n var index = -1,\n length = nativeMin(args.length, funcsLength);\n\n while (++index < length) {\n args[index] = transforms[index].call(this, args[index]);\n }\n return apply(func, this, args);\n });\n });\n\n /**\n * Creates a function that invokes `func` with `partials` prepended to the\n * arguments it receives. This method is like `_.bind` except it does **not**\n * alter the `this` binding.\n *\n * The `_.partial.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 0.2.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var sayHelloTo = _.partial(greet, 'hello');\n * sayHelloTo('fred');\n * // => 'hello fred'\n *\n * // Partially applied with placeholders.\n * var greetFred = _.partial(greet, _, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n */\n var partial = baseRest(function(func, partials) {\n var holders = replaceHolders(partials, getHolder(partial));\n return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders);\n });\n\n /**\n * This method is like `_.partial` except that partially applied arguments\n * are appended to the arguments it receives.\n *\n * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var greetFred = _.partialRight(greet, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n *\n * // Partially applied with placeholders.\n * var sayHelloTo = _.partialRight(greet, 'hello', _);\n * sayHelloTo('fred');\n * // => 'hello fred'\n */\n var partialRight = baseRest(function(func, partials) {\n var holders = replaceHolders(partials, getHolder(partialRight));\n return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders);\n });\n\n /**\n * Creates a function that invokes `func` with arguments arranged according\n * to the specified `indexes` where the argument value at the first index is\n * provided as the first argument, the argument value at the second index is\n * provided as the second argument, and so on.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to rearrange arguments for.\n * @param {...(number|number[])} indexes The arranged argument indexes.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var rearged = _.rearg(function(a, b, c) {\n * return [a, b, c];\n * }, [2, 0, 1]);\n *\n * rearged('b', 'c', 'a')\n * // => ['a', 'b', 'c']\n */\n var rearg = flatRest(function(func, indexes) {\n return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);\n });\n\n /**\n * Creates a function that invokes `func` with the `this` binding of the\n * created function and arguments from `start` and beyond provided as\n * an array.\n *\n * **Note:** This method is based on the\n * [rest parameter](https://mdn.io/rest_parameters).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.rest(function(what, names) {\n * return what + ' ' + _.initial(names).join(', ') +\n * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n * });\n *\n * say('hello', 'fred', 'barney', 'pebbles');\n * // => 'hello fred, barney, & pebbles'\n */\n function rest(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start === undefined ? start : toInteger(start);\n return baseRest(func, start);\n }\n\n /**\n * Creates a function that invokes `func` with the `this` binding of the\n * create function and an array of arguments much like\n * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply).\n *\n * **Note:** This method is based on the\n * [spread operator](https://mdn.io/spread_operator).\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Function\n * @param {Function} func The function to spread arguments over.\n * @param {number} [start=0] The start position of the spread.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.spread(function(who, what) {\n * return who + ' says ' + what;\n * });\n *\n * say(['fred', 'hello']);\n * // => 'fred says hello'\n *\n * var numbers = Promise.all([\n * Promise.resolve(40),\n * Promise.resolve(36)\n * ]);\n *\n * numbers.then(_.spread(function(x, y) {\n * return x + y;\n * }));\n * // => a Promise of 76\n */\n function spread(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start == null ? 0 : nativeMax(toInteger(start), 0);\n return baseRest(function(args) {\n var array = args[start],\n otherArgs = castSlice(args, 0, start);\n\n if (array) {\n arrayPush(otherArgs, array);\n }\n return apply(func, this, otherArgs);\n });\n }\n\n /**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\n function throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n }\n\n /**\n * Creates a function that accepts up to one argument, ignoring any\n * additional arguments.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.unary(parseInt));\n * // => [6, 8, 10]\n */\n function unary(func) {\n return ary(func, 1);\n }\n\n /**\n * Creates a function that provides `value` to `wrapper` as its first\n * argument. Any additional arguments provided to the function are appended\n * to those provided to the `wrapper`. The wrapper is invoked with the `this`\n * binding of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {*} value The value to wrap.\n * @param {Function} [wrapper=identity] The wrapper function.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var p = _.wrap(_.escape, function(func, text) {\n * return '

' + func(text) + '

';\n * });\n *\n * p('fred, barney, & pebbles');\n * // => '

fred, barney, & pebbles

'\n */\n function wrap(value, wrapper) {\n return partial(castFunction(wrapper), value);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Casts `value` as an array if it's not one.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Lang\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast array.\n * @example\n *\n * _.castArray(1);\n * // => [1]\n *\n * _.castArray({ 'a': 1 });\n * // => [{ 'a': 1 }]\n *\n * _.castArray('abc');\n * // => ['abc']\n *\n * _.castArray(null);\n * // => [null]\n *\n * _.castArray(undefined);\n * // => [undefined]\n *\n * _.castArray();\n * // => []\n *\n * var array = [1, 2, 3];\n * console.log(_.castArray(array) === array);\n * // => true\n */\n function castArray() {\n if (!arguments.length) {\n return [];\n }\n var value = arguments[0];\n return isArray(value) ? value : [value];\n }\n\n /**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\n function clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n }\n\n /**\n * This method is like `_.clone` except that it accepts `customizer` which\n * is invoked to produce the cloned value. If `customizer` returns `undefined`,\n * cloning is handled by the method instead. The `customizer` is invoked with\n * up to four arguments; (value [, index|key, object, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeepWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * }\n *\n * var el = _.cloneWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 0\n */\n function cloneWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_SYMBOLS_FLAG, customizer);\n }\n\n /**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\n function cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n }\n\n /**\n * This method is like `_.cloneWith` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the deep cloned value.\n * @see _.cloneWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(true);\n * }\n * }\n *\n * var el = _.cloneDeepWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 20\n */\n function cloneDeepWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);\n }\n\n /**\n * Checks if `object` conforms to `source` by invoking the predicate\n * properties of `source` with the corresponding property values of `object`.\n *\n * **Note:** This method is equivalent to `_.conforms` when `source` is\n * partially applied.\n *\n * @static\n * @memberOf _\n * @since 4.14.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 1; } });\n * // => true\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 2; } });\n * // => false\n */\n function conformsTo(object, source) {\n return source == null || baseConformsTo(object, source, keys(source));\n }\n\n /**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\n function eq(value, other) {\n return value === other || (value !== value && other !== other);\n }\n\n /**\n * Checks if `value` is greater than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n * @see _.lt\n * @example\n *\n * _.gt(3, 1);\n * // => true\n *\n * _.gt(3, 3);\n * // => false\n *\n * _.gt(1, 3);\n * // => false\n */\n var gt = createRelationalOperation(baseGt);\n\n /**\n * Checks if `value` is greater than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than or equal to\n * `other`, else `false`.\n * @see _.lte\n * @example\n *\n * _.gte(3, 1);\n * // => true\n *\n * _.gte(3, 3);\n * // => true\n *\n * _.gte(1, 3);\n * // => false\n */\n var gte = createRelationalOperation(function(value, other) {\n return value >= other;\n });\n\n /**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\n var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n };\n\n /**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\n var isArray = Array.isArray;\n\n /**\n * Checks if `value` is classified as an `ArrayBuffer` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n * @example\n *\n * _.isArrayBuffer(new ArrayBuffer(2));\n * // => true\n *\n * _.isArrayBuffer(new Array(2));\n * // => false\n */\n var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer;\n\n /**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\n function isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n }\n\n /**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\n function isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n }\n\n /**\n * Checks if `value` is classified as a boolean primitive or object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\n function isBoolean(value) {\n return value === true || value === false ||\n (isObjectLike(value) && baseGetTag(value) == boolTag);\n }\n\n /**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\n var isBuffer = nativeIsBuffer || stubFalse;\n\n /**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\n var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\n /**\n * Checks if `value` is likely a DOM element.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`.\n * @example\n *\n * _.isElement(document.body);\n * // => true\n *\n * _.isElement('');\n * // => false\n */\n function isElement(value) {\n return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value);\n }\n\n /**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\n function isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\n function isEqual(value, other) {\n return baseIsEqual(value, other);\n }\n\n /**\n * This method is like `_.isEqual` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with up to\n * six arguments: (objValue, othValue [, index|key, object, other, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, othValue) {\n * if (isGreeting(objValue) && isGreeting(othValue)) {\n * return true;\n * }\n * }\n *\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqualWith(array, other, customizer);\n * // => true\n */\n function isEqualWith(value, other, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result;\n }\n\n /**\n * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,\n * `SyntaxError`, `TypeError`, or `URIError` object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an error object, else `false`.\n * @example\n *\n * _.isError(new Error);\n * // => true\n *\n * _.isError(Error);\n * // => false\n */\n function isError(value) {\n if (!isObjectLike(value)) {\n return false;\n }\n var tag = baseGetTag(value);\n return tag == errorTag || tag == domExcTag ||\n (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));\n }\n\n /**\n * Checks if `value` is a finite primitive number.\n *\n * **Note:** This method is based on\n * [`Number.isFinite`](https://mdn.io/Number/isFinite).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a finite number, else `false`.\n * @example\n *\n * _.isFinite(3);\n * // => true\n *\n * _.isFinite(Number.MIN_VALUE);\n * // => true\n *\n * _.isFinite(Infinity);\n * // => false\n *\n * _.isFinite('3');\n * // => false\n */\n function isFinite(value) {\n return typeof value == 'number' && nativeIsFinite(value);\n }\n\n /**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\n function isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n }\n\n /**\n * Checks if `value` is an integer.\n *\n * **Note:** This method is based on\n * [`Number.isInteger`](https://mdn.io/Number/isInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an integer, else `false`.\n * @example\n *\n * _.isInteger(3);\n * // => true\n *\n * _.isInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isInteger(Infinity);\n * // => false\n *\n * _.isInteger('3');\n * // => false\n */\n function isInteger(value) {\n return typeof value == 'number' && value == toInteger(value);\n }\n\n /**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\n function isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n }\n\n /**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\n function isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n }\n\n /**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\n function isObjectLike(value) {\n return value != null && typeof value == 'object';\n }\n\n /**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\n var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\n /**\n * Performs a partial deep comparison between `object` and `source` to\n * determine if `object` contains equivalent property values.\n *\n * **Note:** This method is equivalent to `_.matches` when `source` is\n * partially applied.\n *\n * Partial comparisons will match empty array and empty object `source`\n * values against any array or object value, respectively. See `_.isEqual`\n * for a list of supported value comparisons.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.isMatch(object, { 'b': 2 });\n * // => true\n *\n * _.isMatch(object, { 'b': 1 });\n * // => false\n */\n function isMatch(object, source) {\n return object === source || baseIsMatch(object, source, getMatchData(source));\n }\n\n /**\n * This method is like `_.isMatch` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with five\n * arguments: (objValue, srcValue, index|key, object, source).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, srcValue) {\n * if (isGreeting(objValue) && isGreeting(srcValue)) {\n * return true;\n * }\n * }\n *\n * var object = { 'greeting': 'hello' };\n * var source = { 'greeting': 'hi' };\n *\n * _.isMatchWith(object, source, customizer);\n * // => true\n */\n function isMatchWith(object, source, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseIsMatch(object, source, getMatchData(source), customizer);\n }\n\n /**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\n function isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n }\n\n /**\n * Checks if `value` is a pristine native function.\n *\n * **Note:** This method can't reliably detect native functions in the presence\n * of the core-js package because core-js circumvents this kind of detection.\n * Despite multiple requests, the core-js maintainer has made it clear: any\n * attempt to fix the detection will be obstructed. As a result, we're left\n * with little choice but to throw an error. Unfortunately, this also affects\n * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill),\n * which rely on core-js.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\n function isNative(value) {\n if (isMaskable(value)) {\n throw new Error(CORE_ERROR_TEXT);\n }\n return baseIsNative(value);\n }\n\n /**\n * Checks if `value` is `null`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `null`, else `false`.\n * @example\n *\n * _.isNull(null);\n * // => true\n *\n * _.isNull(void 0);\n * // => false\n */\n function isNull(value) {\n return value === null;\n }\n\n /**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\n function isNil(value) {\n return value == null;\n }\n\n /**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\n function isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n }\n\n /**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\n function isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n }\n\n /**\n * Checks if `value` is classified as a `RegExp` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n * @example\n *\n * _.isRegExp(/abc/);\n * // => true\n *\n * _.isRegExp('/abc/');\n * // => false\n */\n var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;\n\n /**\n * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754\n * double precision number which isn't the result of a rounded unsafe integer.\n *\n * **Note:** This method is based on\n * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`.\n * @example\n *\n * _.isSafeInteger(3);\n * // => true\n *\n * _.isSafeInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isSafeInteger(Infinity);\n * // => false\n *\n * _.isSafeInteger('3');\n * // => false\n */\n function isSafeInteger(value) {\n return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER;\n }\n\n /**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\n var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\n /**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\n function isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n }\n\n /**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\n function isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n }\n\n /**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\n var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n /**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\n function isUndefined(value) {\n return value === undefined;\n }\n\n /**\n * Checks if `value` is classified as a `WeakMap` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak map, else `false`.\n * @example\n *\n * _.isWeakMap(new WeakMap);\n * // => true\n *\n * _.isWeakMap(new Map);\n * // => false\n */\n function isWeakMap(value) {\n return isObjectLike(value) && getTag(value) == weakMapTag;\n }\n\n /**\n * Checks if `value` is classified as a `WeakSet` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak set, else `false`.\n * @example\n *\n * _.isWeakSet(new WeakSet);\n * // => true\n *\n * _.isWeakSet(new Set);\n * // => false\n */\n function isWeakSet(value) {\n return isObjectLike(value) && baseGetTag(value) == weakSetTag;\n }\n\n /**\n * Checks if `value` is less than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n * @see _.gt\n * @example\n *\n * _.lt(1, 3);\n * // => true\n *\n * _.lt(3, 3);\n * // => false\n *\n * _.lt(3, 1);\n * // => false\n */\n var lt = createRelationalOperation(baseLt);\n\n /**\n * Checks if `value` is less than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than or equal to\n * `other`, else `false`.\n * @see _.gte\n * @example\n *\n * _.lte(1, 3);\n * // => true\n *\n * _.lte(3, 3);\n * // => true\n *\n * _.lte(3, 1);\n * // => false\n */\n var lte = createRelationalOperation(function(value, other) {\n return value <= other;\n });\n\n /**\n * Converts `value` to an array.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Array} Returns the converted array.\n * @example\n *\n * _.toArray({ 'a': 1, 'b': 2 });\n * // => [1, 2]\n *\n * _.toArray('abc');\n * // => ['a', 'b', 'c']\n *\n * _.toArray(1);\n * // => []\n *\n * _.toArray(null);\n * // => []\n */\n function toArray(value) {\n if (!value) {\n return [];\n }\n if (isArrayLike(value)) {\n return isString(value) ? stringToArray(value) : copyArray(value);\n }\n if (symIterator && value[symIterator]) {\n return iteratorToArray(value[symIterator]());\n }\n var tag = getTag(value),\n func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values);\n\n return func(value);\n }\n\n /**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\n function toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n }\n\n /**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\n function toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n }\n\n /**\n * Converts `value` to an integer suitable for use as the length of an\n * array-like object.\n *\n * **Note:** This method is based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toLength(3.2);\n * // => 3\n *\n * _.toLength(Number.MIN_VALUE);\n * // => 0\n *\n * _.toLength(Infinity);\n * // => 4294967295\n *\n * _.toLength('3.2');\n * // => 3\n */\n function toLength(value) {\n return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0;\n }\n\n /**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\n function toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n }\n\n /**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\n function toPlainObject(value) {\n return copyObject(value, keysIn(value));\n }\n\n /**\n * Converts `value` to a safe integer. A safe integer can be compared and\n * represented correctly.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toSafeInteger(3.2);\n * // => 3\n *\n * _.toSafeInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toSafeInteger(Infinity);\n * // => 9007199254740991\n *\n * _.toSafeInteger('3.2');\n * // => 3\n */\n function toSafeInteger(value) {\n return value\n ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER)\n : (value === 0 ? value : 0);\n }\n\n /**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\n function toString(value) {\n return value == null ? '' : baseToString(value);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\n var assign = createAssigner(function(object, source) {\n if (isPrototype(source) || isArrayLike(source)) {\n copyObject(source, keys(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n });\n\n /**\n * This method is like `_.assign` except that it iterates over own and\n * inherited source properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extend\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assign\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assignIn({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }\n */\n var assignIn = createAssigner(function(object, source) {\n copyObject(source, keysIn(source), object);\n });\n\n /**\n * This method is like `_.assignIn` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extendWith\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignInWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var assignInWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keysIn(source), object, customizer);\n });\n\n /**\n * This method is like `_.assign` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignInWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var assignWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keys(source), object, customizer);\n });\n\n /**\n * Creates an array of values corresponding to `paths` of `object`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Array} Returns the picked values.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _.at(object, ['a[0].b.c', 'a[1]']);\n * // => [3, 4]\n */\n var at = flatRest(baseAt);\n\n /**\n * Creates an object that inherits from the `prototype` object. If a\n * `properties` object is given, its own enumerable string keyed properties\n * are assigned to the created object.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Object\n * @param {Object} prototype The object to inherit from.\n * @param {Object} [properties] The properties to assign to the object.\n * @returns {Object} Returns the new object.\n * @example\n *\n * function Shape() {\n * this.x = 0;\n * this.y = 0;\n * }\n *\n * function Circle() {\n * Shape.call(this);\n * }\n *\n * Circle.prototype = _.create(Shape.prototype, {\n * 'constructor': Circle\n * });\n *\n * var circle = new Circle;\n * circle instanceof Circle;\n * // => true\n *\n * circle instanceof Shape;\n * // => true\n */\n function create(prototype, properties) {\n var result = baseCreate(prototype);\n return properties == null ? result : baseAssign(result, properties);\n }\n\n /**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaultsDeep\n * @example\n *\n * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var defaults = baseRest(function(object, sources) {\n object = Object(object);\n\n var index = -1;\n var length = sources.length;\n var guard = length > 2 ? sources[2] : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n length = 1;\n }\n\n while (++index < length) {\n var source = sources[index];\n var props = keysIn(source);\n var propsIndex = -1;\n var propsLength = props.length;\n\n while (++propsIndex < propsLength) {\n var key = props[propsIndex];\n var value = object[key];\n\n if (value === undefined ||\n (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n object[key] = source[key];\n }\n }\n }\n\n return object;\n });\n\n /**\n * This method is like `_.defaults` except that it recursively assigns\n * default properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaults\n * @example\n *\n * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });\n * // => { 'a': { 'b': 2, 'c': 3 } }\n */\n var defaultsDeep = baseRest(function(args) {\n args.push(undefined, customDefaultsMerge);\n return apply(mergeWith, undefined, args);\n });\n\n /**\n * This method is like `_.find` except that it returns the key of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findKey(users, function(o) { return o.age < 40; });\n * // => 'barney' (iteration order is not guaranteed)\n *\n * // The `_.matches` iteratee shorthand.\n * _.findKey(users, { 'age': 1, 'active': true });\n * // => 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findKey(users, 'active');\n * // => 'barney'\n */\n function findKey(object, predicate) {\n return baseFindKey(object, getIteratee(predicate, 3), baseForOwn);\n }\n\n /**\n * This method is like `_.findKey` except that it iterates over elements of\n * a collection in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findLastKey(users, function(o) { return o.age < 40; });\n * // => returns 'pebbles' assuming `_.findKey` returns 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastKey(users, { 'age': 36, 'active': true });\n * // => 'barney'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastKey(users, 'active');\n * // => 'pebbles'\n */\n function findLastKey(object, predicate) {\n return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight);\n }\n\n /**\n * Iterates over own and inherited enumerable string keyed properties of an\n * object and invokes `iteratee` for each property. The iteratee is invoked\n * with three arguments: (value, key, object). Iteratee functions may exit\n * iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forInRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forIn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed).\n */\n function forIn(object, iteratee) {\n return object == null\n ? object\n : baseFor(object, getIteratee(iteratee, 3), keysIn);\n }\n\n /**\n * This method is like `_.forIn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forInRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'.\n */\n function forInRight(object, iteratee) {\n return object == null\n ? object\n : baseForRight(object, getIteratee(iteratee, 3), keysIn);\n }\n\n /**\n * Iterates over own enumerable string keyed properties of an object and\n * invokes `iteratee` for each property. The iteratee is invoked with three\n * arguments: (value, key, object). Iteratee functions may exit iteration\n * early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwnRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\n function forOwn(object, iteratee) {\n return object && baseForOwn(object, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.forOwn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwnRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'.\n */\n function forOwnRight(object, iteratee) {\n return object && baseForOwnRight(object, getIteratee(iteratee, 3));\n }\n\n /**\n * Creates an array of function property names from own enumerable properties\n * of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functionsIn\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functions(new Foo);\n * // => ['a', 'b']\n */\n function functions(object) {\n return object == null ? [] : baseFunctions(object, keys(object));\n }\n\n /**\n * Creates an array of function property names from own and inherited\n * enumerable properties of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functions\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functionsIn(new Foo);\n * // => ['a', 'b', 'c']\n */\n function functionsIn(object) {\n return object == null ? [] : baseFunctions(object, keysIn(object));\n }\n\n /**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\n function get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n }\n\n /**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\n function has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n }\n\n /**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\n function hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n }\n\n /**\n * Creates an object composed of the inverted keys and values of `object`.\n * If `object` contains duplicate values, subsequent values overwrite\n * property assignments of previous values.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Object\n * @param {Object} object The object to invert.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invert(object);\n * // => { '1': 'c', '2': 'b' }\n */\n var invert = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n result[value] = key;\n }, constant(identity));\n\n /**\n * This method is like `_.invert` except that the inverted object is generated\n * from the results of running each element of `object` thru `iteratee`. The\n * corresponding inverted value of each inverted key is an array of keys\n * responsible for generating the inverted value. The iteratee is invoked\n * with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Object\n * @param {Object} object The object to invert.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invertBy(object);\n * // => { '1': ['a', 'c'], '2': ['b'] }\n *\n * _.invertBy(object, function(value) {\n * return 'group' + value;\n * });\n * // => { 'group1': ['a', 'c'], 'group2': ['b'] }\n */\n var invertBy = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n if (hasOwnProperty.call(result, value)) {\n result[value].push(key);\n } else {\n result[value] = [key];\n }\n }, getIteratee);\n\n /**\n * Invokes the method at `path` of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {...*} [args] The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] };\n *\n * _.invoke(object, 'a[0].b.c.slice', 1, 3);\n * // => [2, 3]\n */\n var invoke = baseRest(baseInvoke);\n\n /**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\n function keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n }\n\n /**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\n function keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n }\n\n /**\n * The opposite of `_.mapValues`; this method creates an object with the\n * same values as `object` and keys generated by running each own enumerable\n * string keyed property of `object` thru `iteratee`. The iteratee is invoked\n * with three arguments: (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapValues\n * @example\n *\n * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {\n * return key + value;\n * });\n * // => { 'a1': 1, 'b2': 2 }\n */\n function mapKeys(object, iteratee) {\n var result = {};\n iteratee = getIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, iteratee(value, key, object), value);\n });\n return result;\n }\n\n /**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\n function mapValues(object, iteratee) {\n var result = {};\n iteratee = getIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, key, iteratee(value, key, object));\n });\n return result;\n }\n\n /**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\n var merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n });\n\n /**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\n var mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n });\n\n /**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable property paths of `object` that are not omitted.\n *\n * **Note:** This method is considerably slower than `_.pick`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\n var omit = flatRest(function(object, paths) {\n var result = {};\n if (object == null) {\n return result;\n }\n var isDeep = false;\n paths = arrayMap(paths, function(path) {\n path = castPath(path, object);\n isDeep || (isDeep = path.length > 1);\n return path;\n });\n copyObject(object, getAllKeysIn(object), result);\n if (isDeep) {\n result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n }\n var length = paths.length;\n while (length--) {\n baseUnset(result, paths[length]);\n }\n return result;\n });\n\n /**\n * The opposite of `_.pickBy`; this method creates an object composed of\n * the own and inherited enumerable string keyed properties of `object` that\n * `predicate` doesn't return truthy for. The predicate is invoked with two\n * arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omitBy(object, _.isNumber);\n * // => { 'b': '2' }\n */\n function omitBy(object, predicate) {\n return pickBy(object, negate(getIteratee(predicate)));\n }\n\n /**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\n var pick = flatRest(function(object, paths) {\n return object == null ? {} : basePick(object, paths);\n });\n\n /**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\n function pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = getIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n }\n\n /**\n * This method is like `_.get` except that if the resolved value is a\n * function it's invoked with the `this` binding of its parent object and\n * its result is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to resolve.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] };\n *\n * _.result(object, 'a[0].b.c1');\n * // => 3\n *\n * _.result(object, 'a[0].b.c2');\n * // => 4\n *\n * _.result(object, 'a[0].b.c3', 'default');\n * // => 'default'\n *\n * _.result(object, 'a[0].b.c3', _.constant('default'));\n * // => 'default'\n */\n function result(object, path, defaultValue) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length;\n\n // Ensure the loop is entered when path is empty.\n if (!length) {\n length = 1;\n object = undefined;\n }\n while (++index < length) {\n var value = object == null ? undefined : object[toKey(path[index])];\n if (value === undefined) {\n index = length;\n value = defaultValue;\n }\n object = isFunction(value) ? value.call(object) : value;\n }\n return object;\n }\n\n /**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\n function set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n }\n\n /**\n * This method is like `_.set` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.setWith(object, '[0][1]', 'a', Object);\n * // => { '0': { '1': 'a' } }\n */\n function setWith(object, path, value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : baseSet(object, path, value, customizer);\n }\n\n /**\n * Creates an array of own enumerable string keyed-value pairs for `object`\n * which can be consumed by `_.fromPairs`. If `object` is a map or set, its\n * entries are returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias entries\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the key-value pairs.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.toPairs(new Foo);\n * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed)\n */\n var toPairs = createToPairs(keys);\n\n /**\n * Creates an array of own and inherited enumerable string keyed-value pairs\n * for `object` which can be consumed by `_.fromPairs`. If `object` is a map\n * or set, its entries are returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias entriesIn\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the key-value pairs.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.toPairsIn(new Foo);\n * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed)\n */\n var toPairsIn = createToPairs(keysIn);\n\n /**\n * An alternative to `_.reduce`; this method transforms `object` to a new\n * `accumulator` object which is the result of running each of its own\n * enumerable string keyed properties thru `iteratee`, with each invocation\n * potentially mutating the `accumulator` object. If `accumulator` is not\n * provided, a new object with the same `[[Prototype]]` will be used. The\n * iteratee is invoked with four arguments: (accumulator, value, key, object).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The custom accumulator value.\n * @returns {*} Returns the accumulated value.\n * @example\n *\n * _.transform([2, 3, 4], function(result, n) {\n * result.push(n *= n);\n * return n % 2 == 0;\n * }, []);\n * // => [4, 9]\n *\n * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] }\n */\n function transform(object, iteratee, accumulator) {\n var isArr = isArray(object),\n isArrLike = isArr || isBuffer(object) || isTypedArray(object);\n\n iteratee = getIteratee(iteratee, 4);\n if (accumulator == null) {\n var Ctor = object && object.constructor;\n if (isArrLike) {\n accumulator = isArr ? new Ctor : [];\n }\n else if (isObject(object)) {\n accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {};\n }\n else {\n accumulator = {};\n }\n }\n (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) {\n return iteratee(accumulator, value, index, object);\n });\n return accumulator;\n }\n\n /**\n * Removes the property at `path` of `object`.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 7 } }] };\n * _.unset(object, 'a[0].b.c');\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n *\n * _.unset(object, ['a', '0', 'b', 'c']);\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n */\n function unset(object, path) {\n return object == null ? true : baseUnset(object, path);\n }\n\n /**\n * This method is like `_.set` except that accepts `updater` to produce the\n * value to set. Use `_.updateWith` to customize `path` creation. The `updater`\n * is invoked with one argument: (value).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {Function} updater The function to produce the updated value.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.update(object, 'a[0].b.c', function(n) { return n * n; });\n * console.log(object.a[0].b.c);\n * // => 9\n *\n * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; });\n * console.log(object.x[0].y.z);\n * // => 0\n */\n function update(object, path, updater) {\n return object == null ? object : baseUpdate(object, path, castFunction(updater));\n }\n\n /**\n * This method is like `_.update` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.updateWith(object, '[0][1]', _.constant('a'), Object);\n * // => { '0': { '1': 'a' } }\n */\n function updateWith(object, path, updater, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer);\n }\n\n /**\n * Creates an array of the own enumerable string keyed property values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.values(new Foo);\n * // => [1, 2] (iteration order is not guaranteed)\n *\n * _.values('hi');\n * // => ['h', 'i']\n */\n function values(object) {\n return object == null ? [] : baseValues(object, keys(object));\n }\n\n /**\n * Creates an array of the own and inherited enumerable string keyed property\n * values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.valuesIn(new Foo);\n * // => [1, 2, 3] (iteration order is not guaranteed)\n */\n function valuesIn(object) {\n return object == null ? [] : baseValues(object, keysIn(object));\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Clamps `number` within the inclusive `lower` and `upper` bounds.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Number\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n * @example\n *\n * _.clamp(-10, -5, 5);\n * // => -5\n *\n * _.clamp(10, -5, 5);\n * // => 5\n */\n function clamp(number, lower, upper) {\n if (upper === undefined) {\n upper = lower;\n lower = undefined;\n }\n if (upper !== undefined) {\n upper = toNumber(upper);\n upper = upper === upper ? upper : 0;\n }\n if (lower !== undefined) {\n lower = toNumber(lower);\n lower = lower === lower ? lower : 0;\n }\n return baseClamp(toNumber(number), lower, upper);\n }\n\n /**\n * Checks if `n` is between `start` and up to, but not including, `end`. If\n * `end` is not specified, it's set to `start` with `start` then set to `0`.\n * If `start` is greater than `end` the params are swapped to support\n * negative ranges.\n *\n * @static\n * @memberOf _\n * @since 3.3.0\n * @category Number\n * @param {number} number The number to check.\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n * @see _.range, _.rangeRight\n * @example\n *\n * _.inRange(3, 2, 4);\n * // => true\n *\n * _.inRange(4, 8);\n * // => true\n *\n * _.inRange(4, 2);\n * // => false\n *\n * _.inRange(2, 2);\n * // => false\n *\n * _.inRange(1.2, 2);\n * // => true\n *\n * _.inRange(5.2, 4);\n * // => false\n *\n * _.inRange(-3, -2, -6);\n * // => true\n */\n function inRange(number, start, end) {\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n number = toNumber(number);\n return baseInRange(number, start, end);\n }\n\n /**\n * Produces a random number between the inclusive `lower` and `upper` bounds.\n * If only one argument is provided a number between `0` and the given number\n * is returned. If `floating` is `true`, or either `lower` or `upper` are\n * floats, a floating-point number is returned instead of an integer.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Number\n * @param {number} [lower=0] The lower bound.\n * @param {number} [upper=1] The upper bound.\n * @param {boolean} [floating] Specify returning a floating-point number.\n * @returns {number} Returns the random number.\n * @example\n *\n * _.random(0, 5);\n * // => an integer between 0 and 5\n *\n * _.random(5);\n * // => also an integer between 0 and 5\n *\n * _.random(5, true);\n * // => a floating-point number between 0 and 5\n *\n * _.random(1.2, 5.2);\n * // => a floating-point number between 1.2 and 5.2\n */\n function random(lower, upper, floating) {\n if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) {\n upper = floating = undefined;\n }\n if (floating === undefined) {\n if (typeof upper == 'boolean') {\n floating = upper;\n upper = undefined;\n }\n else if (typeof lower == 'boolean') {\n floating = lower;\n lower = undefined;\n }\n }\n if (lower === undefined && upper === undefined) {\n lower = 0;\n upper = 1;\n }\n else {\n lower = toFinite(lower);\n if (upper === undefined) {\n upper = lower;\n lower = 0;\n } else {\n upper = toFinite(upper);\n }\n }\n if (lower > upper) {\n var temp = lower;\n lower = upper;\n upper = temp;\n }\n if (floating || lower % 1 || upper % 1) {\n var rand = nativeRandom();\n return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper);\n }\n return baseRandom(lower, upper);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\n var camelCase = createCompounder(function(result, word, index) {\n word = word.toLowerCase();\n return result + (index ? capitalize(word) : word);\n });\n\n /**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\n function capitalize(string) {\n return upperFirst(toString(string).toLowerCase());\n }\n\n /**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\n function deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n }\n\n /**\n * Checks if `string` ends with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=string.length] The position to search up to.\n * @returns {boolean} Returns `true` if `string` ends with `target`,\n * else `false`.\n * @example\n *\n * _.endsWith('abc', 'c');\n * // => true\n *\n * _.endsWith('abc', 'b');\n * // => false\n *\n * _.endsWith('abc', 'b', 2);\n * // => true\n */\n function endsWith(string, target, position) {\n string = toString(string);\n target = baseToString(target);\n\n var length = string.length;\n position = position === undefined\n ? length\n : baseClamp(toInteger(position), 0, length);\n\n var end = position;\n position -= target.length;\n return position >= 0 && string.slice(position, end) == target;\n }\n\n /**\n * Converts the characters \"&\", \"<\", \">\", '\"', and \"'\" in `string` to their\n * corresponding HTML entities.\n *\n * **Note:** No other characters are escaped. To escape additional\n * characters use a third-party library like [_he_](https://mths.be/he).\n *\n * Though the \">\" character is escaped for symmetry, characters like\n * \">\" and \"/\" don't need escaping in HTML and have no special meaning\n * unless they're part of a tag or unquoted attribute value. See\n * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)\n * (under \"semi-related fun fact\") for more details.\n *\n * When working with HTML you should always\n * [quote attribute values](http://wonko.com/post/html-escaping) to reduce\n * XSS vectors.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escape('fred, barney, & pebbles');\n * // => 'fred, barney, & pebbles'\n */\n function escape(string) {\n string = toString(string);\n return (string && reHasUnescapedHtml.test(string))\n ? string.replace(reUnescapedHtml, escapeHtmlChar)\n : string;\n }\n\n /**\n * Escapes the `RegExp` special characters \"^\", \"$\", \"\\\", \".\", \"*\", \"+\",\n * \"?\", \"(\", \")\", \"[\", \"]\", \"{\", \"}\", and \"|\" in `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escapeRegExp('[lodash](https://lodash.com/)');\n * // => '\\[lodash\\]\\(https://lodash\\.com/\\)'\n */\n function escapeRegExp(string) {\n string = toString(string);\n return (string && reHasRegExpChar.test(string))\n ? string.replace(reRegExpChar, '\\\\$&')\n : string;\n }\n\n /**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\n var kebabCase = createCompounder(function(result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n });\n\n /**\n * Converts `string`, as space separated words, to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the lower cased string.\n * @example\n *\n * _.lowerCase('--Foo-Bar--');\n * // => 'foo bar'\n *\n * _.lowerCase('fooBar');\n * // => 'foo bar'\n *\n * _.lowerCase('__FOO_BAR__');\n * // => 'foo bar'\n */\n var lowerCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + word.toLowerCase();\n });\n\n /**\n * Converts the first character of `string` to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.lowerFirst('Fred');\n * // => 'fred'\n *\n * _.lowerFirst('FRED');\n * // => 'fRED'\n */\n var lowerFirst = createCaseFirst('toLowerCase');\n\n /**\n * Pads `string` on the left and right sides if it's shorter than `length`.\n * Padding characters are truncated if they can't be evenly divided by `length`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.pad('abc', 8);\n * // => ' abc '\n *\n * _.pad('abc', 8, '_-');\n * // => '_-abc_-_'\n *\n * _.pad('abc', 3);\n * // => 'abc'\n */\n function pad(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n if (!length || strLength >= length) {\n return string;\n }\n var mid = (length - strLength) / 2;\n return (\n createPadding(nativeFloor(mid), chars) +\n string +\n createPadding(nativeCeil(mid), chars)\n );\n }\n\n /**\n * Pads `string` on the right side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padEnd('abc', 6);\n * // => 'abc '\n *\n * _.padEnd('abc', 6, '_-');\n * // => 'abc_-_'\n *\n * _.padEnd('abc', 3);\n * // => 'abc'\n */\n function padEnd(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (string + createPadding(length - strLength, chars))\n : string;\n }\n\n /**\n * Pads `string` on the left side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padStart('abc', 6);\n * // => ' abc'\n *\n * _.padStart('abc', 6, '_-');\n * // => '_-_abc'\n *\n * _.padStart('abc', 3);\n * // => 'abc'\n */\n function padStart(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (createPadding(length - strLength, chars) + string)\n : string;\n }\n\n /**\n * Converts `string` to an integer of the specified radix. If `radix` is\n * `undefined` or `0`, a `radix` of `10` is used unless `value` is a\n * hexadecimal, in which case a `radix` of `16` is used.\n *\n * **Note:** This method aligns with the\n * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category String\n * @param {string} string The string to convert.\n * @param {number} [radix=10] The radix to interpret `value` by.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.parseInt('08');\n * // => 8\n *\n * _.map(['6', '08', '10'], _.parseInt);\n * // => [6, 8, 10]\n */\n function parseInt(string, radix, guard) {\n if (guard || radix == null) {\n radix = 0;\n } else if (radix) {\n radix = +radix;\n }\n return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0);\n }\n\n /**\n * Repeats the given string `n` times.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to repeat.\n * @param {number} [n=1] The number of times to repeat the string.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the repeated string.\n * @example\n *\n * _.repeat('*', 3);\n * // => '***'\n *\n * _.repeat('abc', 2);\n * // => 'abcabc'\n *\n * _.repeat('abc', 0);\n * // => ''\n */\n function repeat(string, n, guard) {\n if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n return baseRepeat(toString(string), n);\n }\n\n /**\n * Replaces matches for `pattern` in `string` with `replacement`.\n *\n * **Note:** This method is based on\n * [`String#replace`](https://mdn.io/String/replace).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to modify.\n * @param {RegExp|string} pattern The pattern to replace.\n * @param {Function|string} replacement The match replacement.\n * @returns {string} Returns the modified string.\n * @example\n *\n * _.replace('Hi Fred', 'Fred', 'Barney');\n * // => 'Hi Barney'\n */\n function replace() {\n var args = arguments,\n string = toString(args[0]);\n\n return args.length < 3 ? string : string.replace(args[1], args[2]);\n }\n\n /**\n * Converts `string` to\n * [snake case](https://en.wikipedia.org/wiki/Snake_case).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the snake cased string.\n * @example\n *\n * _.snakeCase('Foo Bar');\n * // => 'foo_bar'\n *\n * _.snakeCase('fooBar');\n * // => 'foo_bar'\n *\n * _.snakeCase('--FOO-BAR--');\n * // => 'foo_bar'\n */\n var snakeCase = createCompounder(function(result, word, index) {\n return result + (index ? '_' : '') + word.toLowerCase();\n });\n\n /**\n * Splits `string` by `separator`.\n *\n * **Note:** This method is based on\n * [`String#split`](https://mdn.io/String/split).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to split.\n * @param {RegExp|string} separator The separator pattern to split by.\n * @param {number} [limit] The length to truncate results to.\n * @returns {Array} Returns the string segments.\n * @example\n *\n * _.split('a-b-c', '-', 2);\n * // => ['a', 'b']\n */\n function split(string, separator, limit) {\n if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) {\n separator = limit = undefined;\n }\n limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0;\n if (!limit) {\n return [];\n }\n string = toString(string);\n if (string && (\n typeof separator == 'string' ||\n (separator != null && !isRegExp(separator))\n )) {\n separator = baseToString(separator);\n if (!separator && hasUnicode(string)) {\n return castSlice(stringToArray(string), 0, limit);\n }\n }\n return string.split(separator, limit);\n }\n\n /**\n * Converts `string` to\n * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).\n *\n * @static\n * @memberOf _\n * @since 3.1.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the start cased string.\n * @example\n *\n * _.startCase('--foo-bar--');\n * // => 'Foo Bar'\n *\n * _.startCase('fooBar');\n * // => 'Foo Bar'\n *\n * _.startCase('__FOO_BAR__');\n * // => 'FOO BAR'\n */\n var startCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + upperFirst(word);\n });\n\n /**\n * Checks if `string` starts with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=0] The position to search from.\n * @returns {boolean} Returns `true` if `string` starts with `target`,\n * else `false`.\n * @example\n *\n * _.startsWith('abc', 'a');\n * // => true\n *\n * _.startsWith('abc', 'b');\n * // => false\n *\n * _.startsWith('abc', 'b', 1);\n * // => true\n */\n function startsWith(string, target, position) {\n string = toString(string);\n position = position == null\n ? 0\n : baseClamp(toInteger(position), 0, string.length);\n\n target = baseToString(target);\n return string.slice(position, position + target.length) == target;\n }\n\n /**\n * Creates a compiled template function that can interpolate data properties\n * in \"interpolate\" delimiters, HTML-escape interpolated data properties in\n * \"escape\" delimiters, and execute JavaScript in \"evaluate\" delimiters. Data\n * properties may be accessed as free variables in the template. If a setting\n * object is given, it takes precedence over `_.templateSettings` values.\n *\n * **Note:** In the development build `_.template` utilizes\n * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)\n * for easier debugging.\n *\n * For more information on precompiling templates see\n * [lodash's custom builds documentation](https://lodash.com/custom-builds).\n *\n * For more information on Chrome extension sandboxes see\n * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The template string.\n * @param {Object} [options={}] The options object.\n * @param {RegExp} [options.escape=_.templateSettings.escape]\n * The HTML \"escape\" delimiter.\n * @param {RegExp} [options.evaluate=_.templateSettings.evaluate]\n * The \"evaluate\" delimiter.\n * @param {Object} [options.imports=_.templateSettings.imports]\n * An object to import into the template as free variables.\n * @param {RegExp} [options.interpolate=_.templateSettings.interpolate]\n * The \"interpolate\" delimiter.\n * @param {string} [options.sourceURL='lodash.templateSources[n]']\n * The sourceURL of the compiled template.\n * @param {string} [options.variable='obj']\n * The data object variable name.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the compiled template function.\n * @example\n *\n * // Use the \"interpolate\" delimiter to create a compiled template.\n * var compiled = _.template('hello <%= user %>!');\n * compiled({ 'user': 'fred' });\n * // => 'hello fred!'\n *\n * // Use the HTML \"escape\" delimiter to escape data property values.\n * var compiled = _.template('<%- value %>');\n * compiled({ 'value': ' + \ No newline at end of file From 61e58af0259c10738316a690fe776121f639db64 Mon Sep 17 00:00:00 2001 From: fredzhu Date: Tue, 6 Feb 2024 15:37:43 +0800 Subject: [PATCH 3/3] update(version): upgrade version number to 0.9.5 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 8d1b3e9..3e3bfab 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup -version = "0.9.4" +version = "0.9.5" description = "A tool for CV dataset labeling, visualizing and analysing" with open("README.md", "r", encoding="utf8") as fp: