@netless/window-manager 0.4.7 → 0.4.8-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AppManager.d.ts +8 -8
- package/dist/BoxManager.d.ts +1 -2
- package/dist/Helper.d.ts +2 -0
- package/dist/RedoUndo.d.ts +18 -0
- package/dist/View/MainView.d.ts +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.es.js +5 -5
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +5 -5
- package/dist/index.umd.js.map +1 -1
- package/package.json +2 -2
- package/src/AppManager.ts +46 -71
- package/src/AppProxy.ts +7 -3
- package/src/BoxManager.ts +4 -12
- package/src/Cursor/Cursor.ts +2 -1
- package/src/Helper.ts +6 -0
- package/src/RedoUndo.ts +87 -0
- package/src/View/MainView.ts +11 -0
- package/src/index.ts +4 -1
package/dist/index.es.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../src/constants.ts","../src/Utils/AppCreateQueue.ts","../src/Register/storage.ts","../src/Register/loader.ts","../src/Register/index.ts","../src/Utils/Common.ts","../src/AppListener.ts","../src/Utils/error.ts","../src/Utils/Reactive.ts","../src/App/Storage/utils.ts","../src/App/Storage/StorageEvent.ts","../src/App/Storage/index.ts","../src/AppContext.ts","../src/AttributesDelegate.ts","../src/Utils/log.ts","../src/AppProxy.ts","../src/View/ViewManager.ts","../src/View/MainView.ts","../src/AppManager.ts","../src/ContainerResizeObserver.ts","../node_modules/object-assign/index.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/@netless/telebox-insider/dist/telebox-insider.es.js","../src/BoxManager.ts","../node_modules/svelte/internal/index.mjs","../src/Cursor/Cursor.svelte","../src/Cursor/icons.ts","../src/image/pencil-cursor.png","../src/image/selector-cursor.png","../src/image/eraser-cursor.png","../src/image/shape-cursor.svg","../src/image/text-cursor.svg","../src/image/laser-pointer-cursor.svg","../src/Cursor/Cursor.ts","../src/Cursor/index.ts","../src/Utils/RoomHacker.ts","../node_modules/@netless/app-docs-viewer/dist/main.es.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/@netless/app-media-player/dist/main.es.js","../src/BuiltinApps.ts","../src/index.ts","../src/ReconnectRefresher.ts","../src/Helper.ts"],"sourcesContent":["export enum Events {\n AppMove = \"AppMove\",\n AppFocus = \"AppFocus\",\n AppResize = \"AppResize\",\n AppBoxStateChange = \"AppBoxStateChange\",\n GetAttributes = \"GetAttributes\",\n UpdateWindowManagerWrapper = \"UpdateWindowManagerWrapper\",\n InitReplay = \"InitReplay\",\n WindowCreated = \"WindowCreated\",\n SetMainViewScenePath = \"SetMainViewScenePath\",\n SetMainViewSceneIndex = \"SetMainViewSceneIndex\",\n SwitchViewsToFreedom = \"SwitchViewsToFreedom\",\n MoveCamera = \"MoveCamera\",\n MoveCameraToContain = \"MoveCameraToContain\",\n CursorMove = \"CursorMove\",\n}\n\nexport const MagixEventName = \"__WindowManger\";\n\nexport enum AppAttributes {\n Size = \"size\",\n Position = \"position\",\n SceneIndex = \"SceneIndex\",\n ZIndex = \"zIndex\",\n}\n\nexport enum AppEvents {\n setBoxSize = \"setBoxSize\",\n setBoxMinSize = \"setBoxMinSize\",\n destroy = \"destroy\",\n}\n\nexport enum AppStatus {\n StartCreate = \"StartCreate\",\n}\n\nexport enum CursorState {\n Leave = \"leave\",\n Normal = \"normal\",\n}\n\nexport const REQUIRE_VERSION = \"2.16.1\";\n\nexport const MIN_WIDTH = 340 / 720;\nexport const MIN_HEIGHT = 340 / 720;\n\nexport const SET_SCENEPATH_DELAY = 100; // 设置 scenePath 的延迟事件\n\nexport const DEFAULT_CONTAINER_RATIO = 9 / 16;\n\nexport const ROOT_DIR = \"/\";\n","import type { AppProxy } from \"../AppProxy\";\n\nexport type Invoker = () => Promise<AppProxy | undefined>;\n\nexport class AppCreateQueue {\n private list: Invoker[] = [];\n private currentInvoker: Invoker | undefined;\n private timer: number | undefined;\n\n private initInterval() {\n return setInterval(() => {\n this.invoke();\n }, 50);\n }\n\n public push(item: Invoker) {\n this.list.push(item);\n this.invoke();\n if (this.timer === undefined && this.list.length > 0) {\n this.timer = this.initInterval();\n }\n }\n\n public invoke() {\n if (this.list.length === 0) {\n return;\n }\n if (this.currentInvoker !== undefined) {\n return;\n }\n\n const item = this.list.shift();\n if (item) {\n this.currentInvoker = item;\n item()\n .then(() => {\n this.currentInvoker = undefined;\n if (this.list.length === 0) {\n clearInterval(this.timer);\n }\n })\n .catch(error => {\n console.error(`[WindowManager]: create app error: ${error.message}`);\n clearInterval(this.timer);\n });\n }\n }\n\n public destroy() {\n if (this.timer) {\n clearInterval(this.timer);\n }\n }\n}\n","const DatabaseName = \"__WindowManagerAppCache\";\n\nlet db: IDBDatabase;\nlet store: IDBObjectStore;\n\nexport type Item = {\n kind: string;\n sourceCode: string;\n}\n\nexport const initDb = async () => {\n db = await createDb();\n}\n\nexport const setItem = (key: string, val: any) => {\n if (!db) return;\n return addRecord(db, { kind: key, sourceCode: val })\n};\n\nexport const getItem = async (key: string): Promise<Item | null> => {\n if (!db) return null;\n return await query(db, key);\n};\n\nexport const removeItem = (key: string) => {\n if (!db) return;\n return deleteRecord(db, key);\n};\n\nfunction createDb(): Promise<IDBDatabase> {\n return new Promise((resolve, reject) => {\n const request = indexedDB.open(DatabaseName, 2);\n request.onerror = (e) => {\n reject(e);\n }\n\n request.onupgradeneeded = (event: any) => {\n const db = event.target.result as IDBDatabase;\n if (!db.objectStoreNames.contains(\"apps\")) {\n store = db.createObjectStore(\"apps\", { keyPath: \"kind\" });\n store.createIndex(\"kind\", \"kind\", { unique: true });\n }\n }\n\n request.onsuccess = () => {\n const db = request.result;\n resolve(db);\n }\n })\n}\n\nfunction query<T>(db: IDBDatabase, val: string): Promise<T | null> {\n return new Promise((resolve, reject) => {\n const index = db.transaction([\"apps\"]).objectStore(\"apps\").index(\"kind\");\n const request = index.get(val);\n request.onerror = (e) => reject(e);\n request.onsuccess = () => {\n if (request.result) {\n resolve(request.result);\n } else {\n resolve(null);\n }\n }\n })\n}\n\nfunction addRecord(db: IDBDatabase, payload: any): Promise<void> {\n return new Promise((resolve, reject) => {\n const request = db.transaction([\"apps\"], \"readwrite\").objectStore(\"apps\").add(payload);\n request.onsuccess = () => resolve();\n request.onerror = () => reject();\n })\n}\n\nfunction deleteRecord(db: IDBDatabase, key: string): Promise<void> {\n return new Promise((resolve, reject) => {\n const request = db.transaction([\"apps\"], \"readwrite\").objectStore(\"apps\").delete(key);\n request.onsuccess = () => resolve();\n request.onerror = () => reject();\n })\n}\n","import { callbacks } from \"../index\";\nimport { getItem, setItem } from \"./storage\";\nimport type { NetlessApp } from \"../typings\";\n\nconst Prefix = \"NetlessApp\";\n\nconst TIMEOUT = 10000; // 下载 script 10 秒超时\n\nexport const getScript = async (url: string): Promise<string> => {\n const item = await getItem(url);\n if (item) {\n return item.sourceCode;\n } else {\n const result = await fetchWithTimeout(url, { timeout: TIMEOUT });\n const text = await result.text();\n await setItem(url, text);\n return text;\n }\n};\n\nexport const executeScript = (text: string, appName: string): NetlessApp => {\n let result = Function(text + `\\n;return ${appName}`)();\n if (typeof result === \"undefined\") {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n result = window[appName];\n }\n return result;\n};\n\nexport const loadApp = async (\n url: string,\n key: string,\n name?: string\n): Promise<NetlessApp | undefined> => {\n const appName = name || Prefix + key;\n callbacks.emit(\"loadApp\", { kind: key, status: \"start\" });\n try {\n const text = await getScript(url);\n if (!text || text.length === 0) {\n callbacks.emit(\"loadApp\", { kind: key, status: \"failed\", reason: \"script is empty.\" });\n return;\n }\n try {\n const result = executeScript(text, appName);\n callbacks.emit(\"loadApp\", { kind: key, status: \"success\" });\n return result;\n } catch (error: any) {\n if (error.message.includes(\"Can only have one anonymous define call per script file\")) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const define = window.define;\n if (\"function\" == typeof define && define.amd) {\n delete define.amd;\n }\n const result = executeScript(text, appName);\n callbacks.emit(\"loadApp\", { kind: key, status: \"success\" });\n return result;\n }\n callbacks.emit(\"loadApp\", { kind: key, status: \"failed\", reason: error.message });\n }\n } catch (error: any) {\n callbacks.emit(\"loadApp\", { kind: key, status: \"failed\", reason: error.message });\n }\n};\n\nasync function fetchWithTimeout(resource: string, options: RequestInit & { timeout: number }) {\n const { timeout = 10000 } = options;\n\n const controller = new AbortController();\n const id = setTimeout(() => controller.abort(), timeout);\n\n const response = await fetch(resource, {\n ...options,\n signal: controller.signal,\n headers: {\n \"content-type\": \"text/plain\",\n },\n });\n clearTimeout(id);\n\n return response;\n}\n","import Emittery from \"emittery\";\nimport { loadApp } from \"./loader\";\nimport type { NetlessApp, RegisterEvents, RegisterParams } from \"../typings\";\n\nexport type LoadAppEvent = {\n kind: string;\n status: \"start\" | \"success\" | \"failed\";\n reason?: string;\n};\n\nclass AppRegister {\n public kindEmitters: Map<string, Emittery<RegisterEvents>> = new Map();\n public registered: Map<string, RegisterParams> = new Map();\n public appClassesCache: Map<string, Promise<NetlessApp>> = new Map();\n public appClasses: Map<string, () => Promise<NetlessApp>> = new Map();\n\n public async register(params: RegisterParams): Promise<void> {\n this.registered.set(params.kind, params);\n\n const srcOrAppOrFunction = params.src;\n let downloadApp: () => Promise<NetlessApp>;\n\n if (typeof srcOrAppOrFunction === \"string\") {\n downloadApp = async () => {\n let appClass = (await loadApp(srcOrAppOrFunction, params.kind)) as any;\n if (appClass) {\n if (appClass.__esModule) {\n appClass = appClass.default;\n }\n return appClass;\n } else {\n throw new Error(\n `[WindowManager]: load remote script failed, ${srcOrAppOrFunction}`\n );\n }\n };\n } else if (typeof srcOrAppOrFunction === \"function\") {\n downloadApp = srcOrAppOrFunction;\n } else {\n downloadApp = async () => srcOrAppOrFunction;\n }\n\n this.appClasses.set(params.kind, async () => {\n let app = this.appClassesCache.get(params.kind);\n if (!app) {\n app = downloadApp();\n this.appClassesCache.set(params.kind, app);\n }\n return app;\n });\n\n if (params.addHooks) {\n const emitter = this.createKindEmitter(params.kind);\n if (emitter) {\n params.addHooks(emitter);\n }\n }\n }\n\n public async notifyApp<T extends keyof RegisterEvents>(\n kind: string,\n event: T,\n payload: RegisterEvents[T]\n ) {\n const emitter = this.kindEmitters.get(kind);\n await emitter?.emit(event, payload);\n }\n\n private createKindEmitter(kind: string) {\n if (!this.kindEmitters.has(kind)) {\n const emitter = new Emittery<RegisterEvents>();\n this.kindEmitters.set(kind, emitter);\n }\n return this.kindEmitters.get(kind);\n }\n}\n\nexport const appRegister = new AppRegister();\n","import { appRegister } from \"../Register\";\nimport { debounce } from \"lodash\";\nimport { emitter } from \"../index\";\nimport { ScenePathType } from \"white-web-sdk\";\nimport { v4 } from \"uuid\";\nimport type { PublicEvent } from \"../index\";\nimport type { Displayer, ViewVisionMode, Room, View } from \"white-web-sdk\";\nimport type Emittery from \"emittery\";\nimport { ROOT_DIR } from \"../constants\";\n\nexport const genAppId = async (kind: string) => {\n const impl = await appRegister.appClasses.get(kind)?.();\n if (impl && impl.config?.singleton) {\n return kind;\n }\n return `${kind}-${v4().replace(\"-\", \"\").slice(0, 8)}`;\n};\n\nexport const setViewFocusScenePath = (view: View, focusScenePath: string) => {\n if (view.focusScenePath !== focusScenePath) {\n view.focusScenePath = focusScenePath;\n return view;\n }\n};\n\nexport const setViewSceneIndex = (view: View, index: number) => {\n if (view.focusSceneIndex !== index) {\n view.focusSceneIndex = index;\n return view;\n }\n};\n\nexport const setScenePath = (room: Room | undefined, scenePath: string) => {\n if (room && room.isWritable) {\n if (room.state.sceneState.scenePath !== scenePath) {\n room.setScenePath(scenePath);\n }\n }\n};\n\nexport const getScenePath = (\n room: Room | undefined,\n dir: string | undefined,\n index: number\n): string | undefined => {\n if (room && dir) {\n const scenes = entireScenes(room);\n const scene = scenes[dir]?.[index];\n if (scene) {\n return `${dir}/${scene.name}`;\n }\n }\n};\n\nexport const removeScenes = (room: Room | undefined, scenePath: string) => {\n if (room) {\n const type = room.scenePathType(scenePath);\n if (type !== ScenePathType.None) {\n room.removeScenes(scenePath);\n }\n }\n};\n\nexport const setViewMode = (view: View, mode: ViewVisionMode) => {\n if (!(view as any).didRelease && view.mode !== mode) {\n view.mode = mode;\n }\n};\n\nexport const emitError = (error: Error) => {\n if (emitter.listenerCount(\"error\") > 0) {\n emitter.emit(\"error\", error);\n } else {\n console.log(\"[WindowManager]:\", error);\n }\n};\n\nexport const addEmitterOnceListener = (event: any, listener: any) => {\n emitter.once(event).then(listener);\n};\n\nexport const notifyMainViewModeChange = debounce(\n (callbacks: Emittery<PublicEvent>, mode: ViewVisionMode) => {\n callbacks.emit(\"mainViewModeChange\", mode);\n },\n 200\n);\n\nexport const makeValidScenePath = (displayer: Displayer, scenePath: string, index = 0) => {\n const scenes = entireScenes(displayer)[scenePath];\n if (!scenes) return;\n const scene = scenes[index];\n if (!scene) return;\n const firstSceneName = scene.name;\n if (scenePath === ROOT_DIR) {\n return `/${firstSceneName}`;\n } else {\n return `${scenePath}/${firstSceneName}`;\n }\n};\n\nexport const entireScenes = (displayer: Displayer) => {\n return displayer.entireScenes();\n};\n\n\nexport const isValidScenePath = (scenePath: string) => {\n return scenePath.startsWith(\"/\");\n};\n\nexport const parseSceneDir = (scenePath: string) => {\n const sceneList = scenePath.split(\"/\");\n sceneList.pop();\n let sceneDir = sceneList.join(\"/\");\n // \"/page1\" 的 dir 为 \"/\"\n if (sceneDir === \"\") {\n sceneDir = \"/\";\n }\n return sceneDir;\n};\n\nexport const ensureValidScenePath = (scenePath: string) => {\n if (scenePath.endsWith(\"/\")) {\n return scenePath.slice(0, -1);\n } else {\n return scenePath;\n }\n};\n\nexport const getVersionNumber = (version: string) => {\n const versionString = version\n .split(\".\")\n .map(s => s.padStart(2, \"0\"))\n .join(\"\");\n return parseInt(versionString);\n};\n\nexport const wait = (time: number) => new Promise(resolve => setTimeout(resolve, time));\n","import { callbacks, emitter } from \"./index\";\nimport { Events, MagixEventName } from \"./constants\";\nimport { isEqual, omit } from \"lodash\";\nimport { setViewFocusScenePath } from \"./Utils/Common\";\nimport type { AnimationMode, Camera, Event } from \"white-web-sdk\";\nimport type { AppManager } from \"./AppManager\";\nimport type { TeleBoxState } from \"@netless/telebox-insider\";\nexport class AppListeners {\n private displayer = this.manager.displayer;\n\n constructor(private manager: AppManager) {}\n\n private get boxManager() {\n return this.manager.boxManager;\n }\n\n public addListeners() {\n this.displayer.addMagixEventListener(MagixEventName, this.mainMagixEventListener);\n }\n\n public removeListeners() {\n this.displayer.removeMagixEventListener(MagixEventName, this.mainMagixEventListener);\n }\n\n private mainMagixEventListener = (event: Event) => {\n if (event.authorId !== this.displayer.observerId) {\n const data = event.payload;\n switch (data.eventName) {\n case Events.AppMove: {\n this.appMoveHandler(data.payload);\n break;\n }\n case Events.AppResize: {\n this.appResizeHandler(data.payload);\n break;\n }\n case Events.AppBoxStateChange: {\n this.boxStateChangeHandler(data.payload);\n break;\n }\n case Events.SetMainViewScenePath: {\n this.setMainViewScenePathHandler(data.payload);\n break;\n }\n case Events.MoveCamera: {\n this.moveCameraHandler(data.payload);\n break;\n }\n case Events.MoveCameraToContain: {\n this.moveCameraToContainHandler(data.payload);\n break;\n }\n case Events.CursorMove: {\n this.cursorMoveHandler(data.payload);\n break;\n }\n default:\n break;\n }\n }\n };\n\n private appMoveHandler = (payload: any) => {\n this.boxManager?.moveBox(payload);\n };\n\n private appResizeHandler = (payload: any) => {\n this.boxManager?.resizeBox(Object.assign(payload, { skipUpdate: true }));\n this.manager.room?.refreshViewSize();\n };\n\n private boxStateChangeHandler = (state: TeleBoxState) => {\n callbacks.emit(\"boxStateChange\", state);\n };\n\n private setMainViewScenePathHandler = ({ nextScenePath }: { nextScenePath: string }) => {\n setViewFocusScenePath(this.manager.mainView, nextScenePath);\n callbacks.emit(\"mainViewScenePathChange\", nextScenePath);\n };\n\n private moveCameraHandler = (\n payload: Camera & { animationMode?: AnimationMode | undefined }\n ) => {\n if (isEqual(omit(payload, [\"animationMode\"]), { ...this.manager.mainView.camera })) return;\n this.manager.mainView.moveCamera(payload);\n };\n\n private moveCameraToContainHandler = (payload: any) => {\n this.manager.mainView.moveCameraToContain(payload);\n };\n\n private cursorMoveHandler = (payload: any) => {\n emitter.emit(\"cursorMove\", payload);\n };\n}\n","\nexport class AppCreateError extends Error {\n override message = \"[WindowManager]: app duplicate exists and cannot be created again\";\n}\n\nexport class AppNotRegisterError extends Error {\n constructor(kind: string) {\n super(`[WindowManager]: app ${kind} need register or provide src`);\n }\n}\n\nexport class AppManagerNotInitError extends Error {\n override message = \"[WindowManager]: AppManager must be initialized\";\n}\n\nexport class WhiteWebSDKInvalidError extends Error {\n constructor(version: string) {\n super(`[WindowManager]: white-web-sdk version must large than ${version}`);\n }\n}\n\nexport class ParamsInvalidError extends Error {\n override message = \"[WindowManager]: kind must be a valid string\";\n}\n\nexport class BoxNotCreatedError extends Error {\n override message = \"[WindowManager]: box need created\";\n}\n\nexport class InvalidScenePath extends Error {\n override message = `[WindowManager]: ScenePath should start with \"/\"`;\n}\n\nexport class BoxManagerNotFoundError extends Error {\n override message = \"[WindowManager]: boxManager not found\";\n}\n","import { listenUpdated, unlistenUpdated, reaction, UpdateEventKind } from \"white-web-sdk\";\nimport type { AkkoObjectUpdatedProperty , AkkoObjectUpdatedListener } from \"white-web-sdk\";\nimport { isObject } from \"lodash\";\n\n// 兼容 13 和 14 版本 SDK\nexport const onObjectByEvent = (event: UpdateEventKind) => {\n return (object: any, func: () => void) => {\n if (object === undefined) return;\n if (listenUpdated) {\n const listener = (events: readonly AkkoObjectUpdatedProperty<any>[]) => {\n const kinds = events.map(e => e.kind);\n if (kinds.includes(event)) {\n func();\n }\n }\n listenUpdated(object, listener);\n func();\n return () => unlistenUpdated(object, listener);\n } else {\n return reaction(\n () => object,\n () => {\n func();\n }, {\n fireImmediately: true,\n }\n )\n }\n }\n}\n\nexport const safeListenPropsUpdated = <T>(\n getProps: () => T,\n callback: AkkoObjectUpdatedListener<T>,\n onDestroyed?: (props: unknown) => void\n ) => {\n let disposeListenUpdated: (() => void) | null = null;\n const disposeReaction = reaction(\n getProps,\n () => {\n if (disposeListenUpdated) {\n disposeListenUpdated();\n disposeListenUpdated = null;\n }\n const props = getProps();\n if (isObject(props)) {\n disposeListenUpdated = () => unlistenUpdated(props, callback);\n listenUpdated(props, callback);\n } else {\n onDestroyed?.(props);\n }\n },\n { fireImmediately: true }\n );\n\n return () => {\n disposeListenUpdated?.();\n disposeReaction();\n };\n}\n\nexport const onObjectRemoved = onObjectByEvent(UpdateEventKind.Removed);\nexport const onObjectInserted = onObjectByEvent(UpdateEventKind.Inserted);\n","import { has } from \"lodash\";\nimport { genUID } from \"side-effect-manager\";\nimport type { AutoRefValue, ExtractRawValue, RefValue } from \"./typings\";\n\nexport const plainObjectKeys = Object.keys as <T>(o: T) => Array<Extract<keyof T, string>>;\n\nexport function isRef<TValue = unknown>(e: unknown): e is RefValue<TValue> {\n return Boolean(has(e, '__isRef'));\n}\n\nexport function makeRef<TValue>(v: TValue): RefValue<TValue> {\n return { k: genUID(), v, __isRef: true };\n}\n\nexport function makeAutoRef<TValue>(v: TValue): AutoRefValue<TValue> {\n return isRef<ExtractRawValue<TValue>>(v) ? v : makeRef(v as ExtractRawValue<TValue>);\n}\n","export type StorageEventListener<T> = (event: T) => void;\n\nexport class StorageEvent<TMessage> {\n listeners = new Set<StorageEventListener<TMessage>>();\n\n get length(): number {\n return this.listeners.size;\n }\n\n dispatch(message: TMessage): void {\n this.listeners.forEach(callback => callback(message));\n }\n\n addListener(listener: StorageEventListener<TMessage>): void {\n this.listeners.add(listener);\n }\n\n removeListener(listener: StorageEventListener<TMessage>): void {\n this.listeners.delete(listener);\n }\n}\n","import type { AkkoObjectUpdatedProperty } from \"white-web-sdk\";\nimport { get, has, mapValues, isObject, size, noop } from \"lodash\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport type { AppContext } from \"../../AppContext\";\nimport { safeListenPropsUpdated } from \"../../Utils/Reactive\";\nimport { isRef, makeRef, plainObjectKeys } from \"./utils\";\nimport type { Diff, MaybeRefValue, RefValue, StorageStateChangedEvent, StorageStateChangedListener, StorageStateChangedListenerDisposer } from \"./typings\";\nimport { StorageEvent } from \"./StorageEvent\";\n\nexport * from './typings';\n\nexport const STORAGE_NS = \"_WM-STORAGE_\";\n\nexport class Storage<TState extends Record<string, any> = any> implements Storage<TState> {\n readonly id: string | null;\n\n private readonly _context: AppContext;\n private readonly _sideEffect = new SideEffectManager();\n private _state: TState;\n private _destroyed = false;\n\n private _refMap = new WeakMap<any, RefValue>();\n\n /**\n * `setState` alters local state immediately before sending to server. This will cache the old value for onStateChanged diffing.\n */\n private _lastValue = new Map<string | number | symbol, TState[Extract<keyof TState, string>]>();\n\n constructor(context: AppContext, id?: string, defaultState?: TState) {\n if (defaultState && !isObject(defaultState)) {\n throw new Error(`Default state for Storage ${id} is not an object.`);\n }\n\n this._context = context;\n this.id = id || null;\n\n this._state = {} as TState;\n const rawState = this._getRawState(this._state);\n\n if (this.id !== null && this._context.getIsWritable()) {\n if (rawState === this._state || !isObject(rawState)) {\n if (!get(this._context.getAttributes(), [STORAGE_NS])) {\n this._context.updateAttributes([STORAGE_NS], {});\n }\n this._context.updateAttributes([STORAGE_NS, this.id], this._state);\n }\n if (defaultState) {\n this.setState(defaultState);\n }\n }\n\n // strip mobx\n plainObjectKeys(rawState).forEach(key => {\n if (this.id === null && key === STORAGE_NS) {\n return;\n }\n try {\n const rawValue = isObject(rawState[key]) ? JSON.parse(JSON.stringify(rawState[key])) : rawState[key];\n if (isRef<TState[Extract<keyof TState, string>]>(rawValue)) {\n this._state[key] = rawValue.v;\n if (isObject(rawValue.v)) {\n this._refMap.set(rawValue.v, rawValue);\n }\n } else {\n this._state[key] = rawValue;\n }\n } catch (e) {\n console.error(e);\n }\n });\n\n this._sideEffect.addDisposer(\n safeListenPropsUpdated(\n () => this.id === null ? context.getAttributes() : get(context.getAttributes(), [STORAGE_NS, this.id]),\n this._updateProperties.bind(this),\n this.destroy.bind(this)\n )\n );\n }\n\n get state(): Readonly<TState> {\n if (this._destroyed) {\n console.warn(`Accessing state on destroyed Storage \"${this.id}\"`)\n }\n return this._state;\n }\n\n readonly onStateChanged = new StorageEvent<StorageStateChangedEvent<TState>>();\n \n addStateChangedListener(handler: StorageStateChangedListener<TState>): StorageStateChangedListenerDisposer {\n this.onStateChanged.addListener(handler);\n return () => this.onStateChanged.removeListener(handler);\n }\n\n ensureState(state: Partial<TState>): void {\n return this.setState(\n plainObjectKeys(state).reduce((payload, key) => {\n if (!has(this._state, key)) {\n payload[key] = state[key];\n }\n return payload;\n }, {} as Partial<TState>)\n );\n }\n\n setState(state: Partial<TState>): void {\n if (this._destroyed) {\n console.error(new Error(`Cannot call setState on destroyed Storage \"${this.id}\".`));\n return;\n }\n\n if (!this._context.getIsWritable()) {\n console.error(new Error(`Cannot setState on Storage \"${this.id}\" without writable access`), state);\n return;\n }\n\n const keys = plainObjectKeys(state);\n if (keys.length > 0) {\n keys.forEach(key => {\n const value = state[key];\n if (value === this._state[key]) {\n return;\n }\n\n if (value === void 0) {\n this._lastValue.set(key, this._state[key]);\n delete this._state[key];\n this._setRawState(key, value);\n } else {\n this._lastValue.set(key, this._state[key]);\n this._state[key] = value as TState[Extract<keyof TState, string>];\n\n let payload: MaybeRefValue<typeof value> = value;\n if (isObject(value)) {\n let refValue = this._refMap.get(value);\n if (!refValue) {\n refValue = makeRef(value);\n this._refMap.set(value, refValue);\n }\n payload = refValue;\n }\n\n this._setRawState(key, payload)\n }\n });\n }\n }\n\n /**\n * Empty storage data.\n */\n emptyStorage(): void {\n if (size(this._state) <= 0) {\n return;\n }\n\n if (this._destroyed) {\n console.error(new Error(`Cannot empty destroyed Storage \"${this.id}\".`));\n return;\n }\n\n if (!this._context.getIsWritable()) {\n console.error(new Error(`Cannot empty Storage \"${this.id}\" without writable access.`));\n return;\n }\n\n this.setState(mapValues(this._state, noop as () => undefined));\n }\n\n /**\n * Delete storage index with all of its data and destroy the Storage instance.\n */\n deleteStorage(): void {\n if (this.id === null) {\n throw new Error(`Cannot delete main Storage`);\n }\n\n if (!this._context.getIsWritable()) {\n console.error(new Error(`Cannot delete Storage \"${this.id}\" without writable access.`));\n return;\n }\n\n this.destroy();\n\n this._context.updateAttributes([STORAGE_NS, this.id], void 0);\n }\n\n get destroyed(): boolean {\n return this._destroyed;\n }\n\n /**\n * Destroy the Storage instance. The data will be kept.\n */\n destroy() {\n this._destroyed = true;\n this._sideEffect.flushAll();\n }\n\n private _getRawState(): TState | undefined\n private _getRawState(defaultValue: TState): TState\n private _getRawState(defaultValue?: TState): TState | undefined {\n if (this.id === null) {\n return this._context.getAttributes() ?? defaultValue;\n } else {\n return get(this._context.getAttributes(), [STORAGE_NS, this.id], defaultValue);\n }\n }\n\n private _setRawState(key: string, value: any): void {\n if (this.id === null) {\n if (key === STORAGE_NS) {\n throw new Error(`Cannot set attribute internal filed \"${STORAGE_NS}\"`)\n }\n return this._context.updateAttributes([key], value);\n } else {\n return this._context.updateAttributes([STORAGE_NS, this.id, key], value);\n }\n }\n\n private _updateProperties(actions: ReadonlyArray<AkkoObjectUpdatedProperty<TState, string>>): void {\n if (this._destroyed) {\n console.error(new Error(`Cannot call _updateProperties on destroyed Storage \"${this.id}\".`));\n return;\n }\n\n if (actions.length > 0) {\n const diffs: Diff<TState> = {};\n\n for (let i = 0; i < actions.length; i++) {\n try {\n const action = actions[i]\n const key = action.key as Extract<keyof TState, string>;\n\n if (this.id === null && key === STORAGE_NS) {\n continue\n }\n\n const value = isObject(action.value) ? JSON.parse(JSON.stringify(action.value)) : action.value;\n let oldValue: TState[Extract<keyof TState, string>] | undefined;\n if (this._lastValue.has(key)) {\n oldValue = this._lastValue.get(key);\n this._lastValue.delete(key);\n }\n\n switch (action.kind) {\n case 2: {\n // Removed\n if (has(this._state, key)) {\n oldValue = this._state[key];\n delete this._state[key];\n }\n diffs[key] = { oldValue };\n break;\n }\n default: {\n let newValue = value;\n\n if (isRef<TState[Extract<keyof TState, string>]>(value)) {\n const { k, v } = value;\n const curValue = this._state[key];\n if (isObject(curValue) && this._refMap.get(curValue)?.k === k) {\n newValue = curValue;\n } else {\n newValue = v;\n if (isObject(v)) {\n this._refMap.set(v, value);\n }\n }\n }\n\n if (newValue !== this._state[key]) {\n oldValue = this._state[key];\n this._state[key] = newValue;\n }\n\n diffs[key] = { newValue, oldValue };\n break;\n }\n }\n } catch (e) {\n console.error(e)\n }\n }\n\n this.onStateChanged.dispatch(diffs);\n }\n }\n}\n","import {\n autorun,\n listenDisposed,\n listenUpdated,\n reaction,\n unlistenDisposed,\n unlistenUpdated,\n toJS\n} from 'white-web-sdk';\nimport { BoxNotCreatedError } from './Utils/error';\nimport type { Room, SceneDefinition, View, EventListener as WhiteEventListener } from \"white-web-sdk\";\nimport type { ReadonlyTeleBox } from \"@netless/telebox-insider\";\nimport type Emittery from \"emittery\";\nimport type { BoxManager } from \"./BoxManager\";\nimport type { AppEmitterEvent } from \"./index\";\nimport type { AppManager } from \"./AppManager\";\nimport type { AppProxy } from \"./AppProxy\";\nimport { Storage } from './App/Storage';\nimport type { MagixEventAddListener, MagixEventDispatcher, MagixEventRemoveListener } from './App/MagixEvent';\n\nexport class AppContext<TAttributes = any, TMagixEventPayloads = any, TAppOptions = any> {\n public readonly emitter: Emittery<AppEmitterEvent<TAttributes>>;\n public readonly mobxUtils = {\n autorun,\n reaction,\n toJS\n };\n public readonly objectUtils = {\n listenUpdated,\n unlistenUpdated,\n listenDisposed,\n unlistenDisposed\n };\n\n private store = this.manager.store;\n public readonly isAddApp: boolean;\n public readonly isReplay = this.manager.isReplay;\n\n constructor(\n private manager: AppManager,\n private boxManager: BoxManager,\n public appId: string,\n private appProxy: AppProxy,\n private appOptions?: TAppOptions | (() => TAppOptions),\n ) {\n this.emitter = appProxy.appEmitter;\n this.isAddApp = appProxy.isAddApp;\n }\n\n public getDisplayer = () => {\n return this.manager.displayer;\n }\n\n /** @deprecated Use context.storage.state instead. */\n public getAttributes = (): TAttributes | undefined => {\n return this.appProxy.attributes;\n }\n\n public getScenes = (): SceneDefinition[] | undefined => {\n const appAttr = this.store.getAppAttributes(this.appId);\n if (appAttr?.isDynamicPPT) {\n return this.appProxy.scenes;\n } else {\n return appAttr?.options[\"scenes\"];\n }\n }\n\n public getView = (): View | undefined => {\n return this.appProxy.view;\n }\n\n public getInitScenePath = () => {\n return this.manager.getAppInitPath(this.appId);\n }\n\n /** Get App writable status. */\n public getIsWritable = (): boolean => {\n return this.manager.canOperate;\n }\n\n /** Get the App Window UI box. */\n public getBox = (): ReadonlyTeleBox => {\n const box = this.boxManager.getBox(this.appId);\n if (box) {\n return box;\n } else {\n throw new BoxNotCreatedError();\n }\n }\n\n public getRoom = (): Room | undefined => {\n return this.manager.room;\n }\n\n /** @deprecated Use context.storage.setState instead. */\n public setAttributes = (attributes: TAttributes) => {\n this.manager.safeSetAttributes({ [this.appId]: attributes });\n }\n\n /** @deprecated Use context.storage.setState instead. */\n public updateAttributes = (keys: string[], value: any) => {\n if (this.manager.attributes[this.appId]) {\n this.manager.safeUpdateAttributes([this.appId, ...keys], value);\n }\n }\n\n public setScenePath = async (scenePath: string): Promise<void> => {\n if (!this.appProxy.box) return;\n this.appProxy.setFullPath(scenePath);\n // 兼容 15 版本 SDK 的切页\n this.getRoom()?.setScenePath(scenePath);\n }\n\n public mountView = (dom: HTMLDivElement): void => {\n const view = this.getView();\n if (view) {\n view.divElement = dom;\n setTimeout(() => {\n // 渲染需要时间,延迟 refresh\n this.getRoom()?.refreshViewSize();\n }, 1000);\n }\n }\n\n /** Get the local App options. */\n public getAppOptions = (): TAppOptions | undefined => {\n return typeof this.appOptions === 'function' ? (this.appOptions as () => TAppOptions)() : this.appOptions\n }\n\n private _storage?: Storage<TAttributes>\n\n /** Main Storage for attributes. */\n public get storage(): Storage<TAttributes> {\n if (!this._storage) {\n this._storage = new Storage(this);\n }\n return this._storage;\n }\n\n /**\n * Create separated storages for flexible state management.\n * @param storeId Namespace for the storage. Storages of the same namespace share the same data.\n * @param defaultState Default state for initial storage creation.\n * @returns \n */\n public createStorage = <TState>(storeId: string, defaultState?: TState): Storage<TState> => {\n const storage = new Storage(this, storeId, defaultState);\n this.emitter.on(\"destroy\", () => {\n storage.destroy();\n });\n return storage;\n }\n\n /** Dispatch events to other clients (and self). */\n public dispatchMagixEvent: MagixEventDispatcher<TMagixEventPayloads> = (...args) => {\n // can't dispatch events on replay mode\n return this.manager.room?.dispatchMagixEvent(...args);\n }\n\n /** Listen to events from others clients (and self messages). */\n public addMagixEventListener: MagixEventAddListener<TMagixEventPayloads> = (event, handler, options) => {\n this.manager.displayer.addMagixEventListener(event, handler as WhiteEventListener, options);\n return () => this.manager.displayer.removeMagixEventListener(event, handler as WhiteEventListener);\n }\n\n /** Remove a Magix event listener. */\n public removeMagixEventListener = this.manager.displayer.removeMagixEventListener.bind(this.manager.displayer) as MagixEventRemoveListener<TMagixEventPayloads>\n}\n","import { AppAttributes } from \"./constants\";\nimport { get, pick } from \"lodash\";\nimport { setViewFocusScenePath } from \"./Utils/Common\";\nimport type { AddAppParams, AppSyncAttributes } from \"./index\";\nimport type { Camera, Size, View } from \"white-web-sdk\";\nimport type { Cursor } from \"./Cursor/Cursor\";\n\nexport enum Fields {\n Apps = \"apps\",\n Focus = \"focus\",\n State = \"state\",\n BoxState = \"boxState\",\n MainViewCamera = \"mainViewCamera\",\n MainViewSize = \"mainViewSize\",\n Broadcaster = \"broadcaster\",\n Cursors = \"cursors\",\n Position = \"position\",\n CursorState = \"cursorState\",\n FullPath = \"fullPath\",\n}\n\nexport type Apps = {\n [key: string]: AppSyncAttributes;\n};\n\nexport type Position = {\n x: number;\n y: number;\n type: PositionType;\n id?: string;\n};\n\nexport type PositionType = \"main\" | \"app\";\n\nexport type StoreContext = {\n getAttributes: () => any;\n safeUpdateAttributes: (keys: string[], value: any) => void;\n safeSetAttributes: (attributes: any) => void;\n}\nexport class AttributesDelegate {\n\n constructor(private context: StoreContext) {}\n\n public setContext(context: StoreContext) {\n this.context = context;\n }\n\n public get attributes() {\n return this.context.getAttributes();\n }\n\n public apps(): Apps {\n return get(this.attributes, [Fields.Apps]);\n }\n\n public get focus(): string | undefined {\n return get(this.attributes, [Fields.Focus]);\n }\n\n public getAppAttributes(id: string): AppSyncAttributes {\n return get(this.apps(), [id]);\n }\n\n public getAppState(id: string) {\n return get(this.apps(), [id, Fields.State]);\n }\n\n public getMaximized() {\n return get(this.attributes, [\"maximized\"]);\n }\n\n public getMinimized() {\n return get(this.attributes, [\"minimized\"]);\n }\n\n public setupAppAttributes(params: AddAppParams, id: string, isDynamicPPT: boolean) {\n const attributes = this.attributes;\n if (!attributes.apps) {\n this.context.safeSetAttributes({ apps: {} });\n }\n const attrNames = [\"scenePath\", \"title\"];\n if (!isDynamicPPT) {\n attrNames.push(\"scenes\");\n }\n const options = pick(params.options, attrNames);\n const attrs: AppSyncAttributes = { kind: params.kind, options, isDynamicPPT };\n if (typeof params.src === \"string\") {\n attrs.src = params.src;\n }\n attrs.createdAt = Date.now();\n this.context.safeUpdateAttributes([Fields.Apps, id], attrs);\n this.context.safeUpdateAttributes([Fields.Apps, id, Fields.State], {\n [AppAttributes.Size]: {},\n [AppAttributes.Position]: {},\n [AppAttributes.SceneIndex]: 0,\n });\n }\n\n public updateAppState(appId: string, stateName: AppAttributes, state: any) {\n if (get(this.attributes, [Fields.Apps, appId, Fields.State])) {\n this.context.safeUpdateAttributes([Fields.Apps, appId, Fields.State, stateName], state);\n }\n }\n\n public cleanAppAttributes(id: string) {\n this.context.safeUpdateAttributes([Fields.Apps, id], undefined);\n this.context.safeSetAttributes({ [id]: undefined });\n const focus = this.attributes[Fields.Focus];\n if (focus === id) {\n this.cleanFocus();\n }\n }\n\n public cleanFocus() {\n this.context.safeSetAttributes({ [Fields.Focus]: undefined });\n }\n\n public getAppSceneIndex(id: string) {\n return this.getAppState(id)?.[AppAttributes.SceneIndex];\n }\n\n public getAppScenePath(id: string) {\n return this.getAppAttributes(id)?.options?.scenePath;\n }\n\n public getMainViewScenePath(): string | undefined {\n return this.attributes[\"_mainScenePath\"];\n }\n\n public getMainViewSceneIndex() {\n return this.attributes[\"_mainSceneIndex\"];\n }\n\n public getBoxState() {\n return this.attributes[Fields.BoxState];\n }\n\n public setMainViewScenePath(scenePath: string) {\n this.context.safeSetAttributes({ _mainScenePath: scenePath });\n }\n\n public setMainViewSceneIndex(index: number) {\n this.context.safeSetAttributes({ _mainSceneIndex: index });\n }\n\n public getMainViewCamera(): MainViewCamera {\n return get(this.attributes, [Fields.MainViewCamera]);\n }\n\n public getMainViewSize(): MainViewSize {\n return get(this.attributes, [Fields.MainViewSize]);\n }\n\n public setMainViewCamera(camera: (Camera & { id: string }) | undefined) {\n this.context.safeSetAttributes({ [Fields.MainViewCamera]: { ...camera } });\n }\n\n public setMainViewSize(size: (Size & { id: string }) | undefined) {\n this.context.safeSetAttributes({ [Fields.MainViewSize]: { ...size } });\n }\n\n public setAppFocus = (appId: string, focus: boolean) => {\n if (focus) {\n this.context.safeSetAttributes({ [Fields.Focus]: appId });\n } else {\n this.context.safeSetAttributes({ [Fields.Focus]: undefined });\n }\n }\n\n public updateCursor(uid: string, position: Position) {\n if (!get(this.attributes, [Fields.Cursors])) {\n this.context.safeUpdateAttributes([Fields.Cursors], {});\n }\n if (!get(this.attributes, [Fields.Cursors, uid])) {\n this.context.safeUpdateAttributes([Fields.Cursors, uid], {});\n }\n this.context.safeUpdateAttributes([Fields.Cursors, uid, Fields.Position], position);\n }\n\n public updateCursorState(uid: string, cursorState: string | undefined) {\n if (!get(this.attributes, [Fields.Cursors, uid])) {\n this.context.safeUpdateAttributes([Fields.Cursors, uid], {});\n }\n this.context.safeUpdateAttributes([Fields.Cursors, uid, Fields.CursorState], cursorState);\n }\n\n public getCursorState(uid: string) {\n return get(this.attributes, [Fields.Cursors, uid, Fields.CursorState]);\n }\n\n public cleanCursor(uid: string) {\n this.context.safeUpdateAttributes([Fields.Cursors, uid], undefined);\n }\n\n // TODO 状态中保存一个 SceneName 优化性能\n public setMainViewFocusPath(mainView: View) {\n const scenePath = this.getMainViewScenePath();\n if (scenePath) {\n setViewFocusScenePath(mainView, scenePath);\n }\n }\n}\n\nexport type MainViewSize = {\n id: string;\n width: number;\n height: number;\n};\n\nexport type MainViewCamera = {\n id: string;\n centerX: number;\n centerY: number;\n scale: number;\n};\n\nexport type Cursors = {\n [key: string]: Cursor;\n};\n\n\nexport const store = new AttributesDelegate({\n getAttributes: () => {\n throw new Error(\"getAttributes not implemented\")\n },\n safeSetAttributes: () => {\n throw new Error(\"safeSetAttributes not implemented\")\n },\n safeUpdateAttributes: () => {\n throw new Error(\"safeUpdateAttributes not implemented\")\n },\n});\n","import { WindowManager } from \"../index\";\n\nexport const log = (...args: any[]): void => {\n if (WindowManager.debug) {\n console.log(`[WindowManager]:`, ...args);\n }\n};\n","import Emittery from \"emittery\";\nimport { AppAttributes, AppEvents, Events } from \"./constants\";\nimport { AppContext } from \"./AppContext\";\nimport { appRegister } from \"./Register\";\nimport { autorun } from \"white-web-sdk\";\nimport { BoxManagerNotFoundError } from \"./Utils/error\";\nimport { debounce, get } from \"lodash\";\nimport { emitter } from \"./index\";\nimport { Fields } from \"./AttributesDelegate\";\nimport { entireScenes, getScenePath, removeScenes, setScenePath, setViewFocusScenePath } from \"./Utils/Common\";\nimport { log } from \"./Utils/log\";\nimport type {\n AppEmitterEvent,\n AppInitState,\n BaseInsertParams,\n setAppOptions,\n AppListenerKeys,\n} from \"./index\";\nimport type { SceneState, View, SceneDefinition } from \"white-web-sdk\";\nimport type { AppManager } from \"./AppManager\";\nimport type { NetlessApp } from \"./typings\";\nimport type { ReadonlyTeleBox } from \"@netless/telebox-insider\";\n\nexport class AppProxy {\n public kind: string;\n public id: string;\n public scenePath?: string;\n public appEmitter: Emittery<AppEmitterEvent>;\n public scenes?: SceneDefinition[];\n\n private appListener: any;\n private boxManager = this.manager.boxManager;\n private appProxies = this.manager.appProxies;\n private viewManager = this.manager.viewManager;\n private store = this.manager.store;\n\n public isAddApp: boolean;\n private status: \"normal\" | \"destroyed\" = \"normal\";\n private stateKey: string;\n private appResult?: NetlessApp<any>;\n private appContext?: AppContext<any, any>;\n\n constructor(\n private params: BaseInsertParams,\n private manager: AppManager,\n appId: string,\n isAddApp: boolean\n ) {\n this.kind = params.kind;\n this.id = appId;\n this.stateKey = `${this.id}_state`;\n this.appProxies.set(this.id, this);\n this.appEmitter = new Emittery();\n this.appListener = this.makeAppEventListener(this.id);\n this.isAddApp = isAddApp;\n\n this.initScenes();\n\n if (this.params.options?.scenePath) {\n // 只有传入了 scenePath 的 App 才会创建 View\n this.createView();\n }\n }\n\n private initScenes() {\n const options = this.params.options;\n if (options) {\n this.scenePath = options.scenePath;\n if (this.appAttributes?.isDynamicPPT && this.scenePath) {\n this.scenes = entireScenes(this.manager.displayer)[this.scenePath];\n } else {\n this.scenes = options.scenes;\n }\n }\n }\n\n public get view(): View | undefined {\n return this.manager.viewManager.getView(this.id);\n }\n\n public get isWritable(): boolean {\n return this.manager.canOperate && !this.box?.readonly;\n }\n\n public get attributes() {\n return this.manager.attributes[this.id];\n }\n\n public get appAttributes() {\n return this.store.getAppAttributes(this.id);\n }\n\n public getFullScenePath(): string | undefined {\n if (this.scenePath) {\n return get(this.appAttributes, [Fields.FullPath], this.getFullScenePathFromScenes());\n }\n }\n\n private getFullScenePathFromScenes() {\n const sceneIndex = get(this.appAttributes, [\"state\", \"SceneIndex\"], 0);\n const fullPath = getScenePath(this.manager.room, this.scenePath, sceneIndex);\n if (fullPath) {\n this.setFullPath(fullPath);\n }\n return fullPath;\n }\n\n public setFullPath(path: string) {\n this.manager.safeUpdateAttributes([\"apps\", this.id, Fields.FullPath], path);\n }\n\n public async baseInsertApp(skipUpdate = false): Promise<{ appId: string; app: NetlessApp }> {\n const params = this.params;\n if (!params.kind) {\n throw new Error(\"[WindowManager]: kind require\");\n }\n const appImpl = await appRegister.appClasses.get(params.kind)?.();\n const appParams = appRegister.registered.get(params.kind);\n if (appImpl) {\n await this.setupApp(\n this.id,\n skipUpdate,\n appImpl,\n params.options,\n appParams?.appOptions\n );\n } else {\n throw new Error(`[WindowManager]: app load failed ${params.kind} ${params.src}`);\n }\n this.boxManager?.updateManagerRect();\n return {\n appId: this.id,\n app: appImpl,\n };\n }\n\n public get box(): ReadonlyTeleBox | undefined {\n return this.boxManager?.getBox(this.id);\n }\n\n private async setupApp(\n appId: string,\n skipUpdate: boolean,\n app: NetlessApp,\n options?: setAppOptions,\n appOptions?: any\n ) {\n log(\"setupApp\", appId, app, options);\n if (!this.boxManager) {\n throw new BoxManagerNotFoundError();\n }\n const context = new AppContext(this.manager, this.boxManager, appId, this, appOptions);\n this.appContext = context;\n try {\n emitter.once(`${appId}${Events.WindowCreated}` as any).then(async () => {\n let boxInitState: AppInitState | undefined;\n if (!skipUpdate) {\n boxInitState = this.getAppInitState(appId);\n this.boxManager?.updateBoxState(boxInitState);\n }\n this.appEmitter.onAny(this.appListener);\n this.appAttributesUpdateListener(appId);\n this.setViewFocusScenePath();\n setTimeout(async () => {\n // 延迟执行 setup, 防止初始化的属性没有更新成功\n const result = await app.setup(context);\n this.appResult = result;\n appRegister.notifyApp(this.kind, \"created\", { appId, result });\n this.afterSetupApp(boxInitState);\n this.fixMobileSize();\n }, 50);\n });\n this.boxManager?.createBox({\n appId: appId,\n app,\n options,\n canOperate: this.manager.canOperate,\n smartPosition: this.isAddApp,\n });\n if (this.isAddApp && this.box) {\n this.store.updateAppState(appId, AppAttributes.ZIndex, this.box.zIndex);\n this.boxManager.focusBox({ appId }, false);\n }\n } catch (error: any) {\n console.error(error);\n throw new Error(`[WindowManager]: app setup error: ${error.message}`);\n }\n }\n\n // 兼容移动端创建时会出现 PPT 不适配的问题\n private fixMobileSize() {\n const box = this.boxManager?.getBox(this.id);\n if (box) {\n this.boxManager?.resizeBox({\n appId: this.id,\n width: box.intrinsicWidth + 0.001,\n height: box.intrinsicHeight + 0.001,\n skipUpdate: true,\n });\n }\n }\n\n private afterSetupApp(boxInitState: AppInitState | undefined): void {\n if (boxInitState) {\n if (!boxInitState?.x || !boxInitState.y) {\n this.boxManager?.setBoxInitState(this.id);\n }\n }\n }\n\n public onSeek(time: number) {\n this.appEmitter.emit(\"seek\", time);\n const boxInitState = this.getAppInitState(this.id);\n this.boxManager?.updateBoxState(boxInitState);\n }\n\n public async onReconnected() {\n this.appEmitter.emit(\"reconnected\", undefined);\n const currentAppState = this.getAppInitState(this.id);\n await this.destroy(true, false, true);\n const params = this.params;\n const appProxy = new AppProxy(params, this.manager, this.id, this.isAddApp);\n await appProxy.baseInsertApp(true);\n this.boxManager?.updateBoxState(currentAppState);\n }\n\n public getAppInitState = (id: string) => {\n const attrs = this.store.getAppState(id);\n if (!attrs) return;\n const position = attrs?.[AppAttributes.Position];\n const focus = this.store.focus;\n const size = attrs?.[AppAttributes.Size];\n const sceneIndex = attrs?.[AppAttributes.SceneIndex];\n const maximized = this.attributes?.[\"maximized\"];\n const minimized = this.attributes?.[\"minimized\"];\n const zIndex = attrs?.zIndex;\n let payload = { maximized, minimized, zIndex } as AppInitState;\n if (position) {\n payload = { ...payload, id: id, x: position.x, y: position.y };\n }\n if (focus === id) {\n payload = { ...payload, focus: true };\n }\n if (size) {\n payload = { ...payload, width: size.width, height: size.height };\n }\n if (sceneIndex) {\n payload = { ...payload, sceneIndex };\n }\n return payload;\n };\n\n public emitAppSceneStateChange(sceneState: SceneState) {\n this.appEmitter.emit(\"sceneStateChange\", sceneState);\n }\n\n public emitAppIsWritableChange() {\n this.appEmitter.emit(\"writableChange\", this.isWritable);\n }\n\n private makeAppEventListener(appId: string) {\n return (eventName: AppListenerKeys, data: any) => {\n if (!this.manager.canOperate) return;\n switch (eventName) {\n case \"setBoxSize\": {\n this.boxManager?.resizeBox({\n appId,\n width: data.width,\n height: data.height,\n skipUpdate: false,\n });\n break;\n }\n case \"setBoxMinSize\": {\n this.boxManager?.setBoxMinSize({\n appId,\n minWidth: data.minwidth,\n minHeight: data.minheight,\n });\n break;\n }\n case \"setBoxTitle\": {\n this.boxManager?.setBoxTitle({ appId, title: data.title });\n break;\n }\n case AppEvents.destroy: {\n if (this.status === \"destroyed\") return;\n this.destroy(true, false, true, data?.error);\n if (data?.error) {\n console.error(data?.error);\n }\n break;\n }\n case \"focus\": {\n this.boxManager?.focusBox({ appId: this.id });\n emitter.emit(\"focus\", { appId: this.id });\n break;\n }\n default: {\n break;\n }\n }\n };\n }\n\n private appAttributesUpdateListener = (appId: string) => {\n this.manager.refresher?.add(appId, () => {\n return autorun(() => {\n const attrs = this.manager.attributes[appId];\n if (attrs) {\n this.appEmitter.emit(\"attributesUpdate\", attrs);\n }\n });\n });\n this.manager.refresher?.add(this.stateKey, () => {\n return autorun(() => {\n const appState = this.appAttributes?.state;\n if (appState?.zIndex > 0 && appState.zIndex !== this.box?.zIndex) {\n this.boxManager?.setZIndex(appId, appState.zIndex);\n }\n });\n });\n this.manager.refresher?.add(`${appId}-fullPath`, () => {\n return autorun(() => {\n const fullPath = this.appAttributes?.fullPath;\n this.setFocusScenePathHandler(fullPath);\n });\n });\n };\n\n private setFocusScenePathHandler = debounce((fullPath: string | undefined) => {\n if (this.view && fullPath && fullPath !== this.view?.focusScenePath) {\n setViewFocusScenePath(this.view, fullPath);\n }\n }, 50);\n\n public setScenePath(): void {\n if (!this.manager.canOperate) return;\n const fullScenePath = this.getFullScenePath();\n if (this.manager.room && fullScenePath && this.view) {\n setScenePath(this.manager.room, fullScenePath);\n }\n }\n\n public setViewFocusScenePath() {\n const fullPath = this.getFullScenePath();\n if (fullPath && this.view) {\n setViewFocusScenePath(this.view, fullPath);\n }\n }\n\n private async createView(): Promise<View> {\n const view = await this.viewManager.createView(this.id);\n this.setViewFocusScenePath();\n return view;\n }\n\n public async destroy(\n needCloseBox: boolean,\n cleanAttrs: boolean,\n skipUpdate: boolean,\n error?: Error\n ) {\n if (this.status === \"destroyed\") return;\n this.status = \"destroyed\";\n await appRegister.notifyApp(this.kind, \"destroy\", { appId: this.id });\n await this.appEmitter.emit(\"destroy\", { error });\n this.appEmitter.clearListeners();\n emitter.emit(`destroy-${this.id}` as any, { error });\n if (needCloseBox) {\n this.boxManager?.closeBox(this.id, skipUpdate);\n }\n if (cleanAttrs) {\n this.store.cleanAppAttributes(this.id);\n if (this.scenePath) {\n removeScenes(this.manager.room, this.scenePath);\n }\n }\n this.appProxies.delete(this.id);\n\n this.viewManager.destroyView(this.id);\n this.manager.appStatus.delete(this.id);\n this.manager.refresher?.remove(this.id);\n this.manager.refresher?.remove(this.stateKey);\n this.manager.refresher?.remove(`${this.id}-fullPath`);\n }\n\n public close(): Promise<void> {\n return this.destroy(true, true, false);\n }\n}\n","import type { View, Displayer } from \"white-web-sdk\";\n\nexport class ViewManager {\n public views: Map<string, View> = new Map();\n\n constructor(private displayer: Displayer) {}\n\n public createView(id: string): View {\n const view = createView(this.displayer);\n this.views.set(id, view);\n return view;\n }\n\n public getView(id: string): View | undefined {\n return this.views.get(id);\n }\n\n public destroyView(id: string): void {\n const view = this.views.get(id);\n if (view) {\n try {\n view.release();\n } catch {\n // ignore\n }\n this.views.delete(id);\n }\n }\n\n public setViewScenePath(id: string, scenePath: string): void {\n const view = this.views.get(id);\n if (view) {\n view.focusScenePath = scenePath;\n }\n }\n\n public destroy() {\n this.views.forEach(view => {\n try {\n view.release();\n } catch {\n // ignore\n }\n });\n this.views.clear();\n }\n}\n\nexport const createView = (displayer: Displayer): View => {\n const view = displayer.views.createView();\n setDefaultCameraBound(view);\n return view;\n};\n\nexport const setDefaultCameraBound = (view: View) => {\n view.setCameraBound({\n maxContentMode: () => 10,\n minContentMode: () => 0.1,\n });\n};\n","import { AnimationMode, reaction } from \"white-web-sdk\";\nimport { callbacks, emitter } from \"../index\";\nimport { createView } from \"./ViewManager\";\nimport { debounce, isEmpty, isEqual } from \"lodash\";\nimport { Fields } from \"../AttributesDelegate\";\nimport { setViewFocusScenePath } from \"../Utils/Common\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport type { Camera, Size, View } from \"white-web-sdk\";\nimport type { AppManager } from \"../AppManager\";\n\nexport class MainViewProxy {\n private scale?: number;\n private started = false;\n private mainViewIsAddListener = false;\n private mainView: View;\n private store = this.manager.store;\n\n private sideEffectManager = new SideEffectManager();\n\n constructor(private manager: AppManager) {\n this.mainView = this.createMainView();\n this.moveCameraSizeByAttributes();\n emitter.once(\"mainViewMounted\").then(() => {\n this.addMainViewListener();\n setTimeout(() => {\n this.start();\n if (!this.mainViewCamera || !this.mainViewSize) {\n this.setCameraAndSize();\n }\n }, 200); // 等待 mainView 挂载完毕再进行监听,否则会触发不必要的 onSizeUpdated\n });\n const playgroundSizeChangeListener = () => {\n this.sizeChangeHandler(this.mainViewSize);\n };\n this.sideEffectManager.add(() => {\n emitter.on(\"playgroundSizeChange\", playgroundSizeChangeListener);\n return () => emitter.off(\"playgroundSizeChange\", playgroundSizeChangeListener);\n });\n }\n\n private get mainViewCamera() {\n return this.store.getMainViewCamera();\n }\n\n private get mainViewSize() {\n return this.store.getMainViewSize();\n }\n\n private moveCameraSizeByAttributes() {\n this.moveCameraToContian(this.mainViewSize);\n this.moveCamera(this.mainViewCamera);\n }\n\n public start() {\n if (this.started) return;\n this.sizeChangeHandler(this.mainViewSize);\n this.addCameraListener();\n this.manager.refresher?.add(Fields.MainViewCamera, this.cameraReaction);\n this.started = true;\n }\n\n public setCameraAndSize(): void {\n this.store.setMainViewCamera({ ...this.mainView.camera, id: this.manager.uid });\n this.store.setMainViewSize({ ...this.mainView.size, id: this.manager.uid });\n }\n\n private cameraReaction = () => {\n return reaction(\n () => this.mainViewCamera,\n camera => {\n if (camera && camera.id !== this.manager.uid) {\n this.moveCameraToContian(this.mainViewSize);\n this.moveCamera(camera);\n }\n },\n {\n fireImmediately: true,\n }\n );\n };\n\n private sizeChangeHandler = debounce((size: Size) => {\n if (size) {\n this.moveCameraToContian(size);\n this.moveCamera(this.mainViewCamera);\n }\n }, 30);\n\n public get view(): View {\n return this.mainView;\n }\n\n public get cameraState() {\n return { ...this.view.camera, ...this.view.size };\n }\n\n public createMainView(): View {\n const mainView = createView(this.manager.displayer);\n const mainViewScenePath = this.store.getMainViewScenePath();\n if (mainViewScenePath) {\n setViewFocusScenePath(mainView, mainViewScenePath);\n }\n return mainView;\n }\n\n public onReconnect(): void {\n const mainViewScenePath = this.store.getMainViewScenePath();\n if (mainViewScenePath) {\n setViewFocusScenePath(this.view, mainViewScenePath);\n }\n }\n\n private onCameraUpdatedByDevice = (camera: Camera) => {\n this.store.setMainViewCamera({ ...camera, id: this.manager.uid });\n if (!isEqual(this.mainViewSize, { ...this.mainView.size, id: this.manager.uid })) {\n this.setMainViewSize(this.view.size);\n }\n };\n\n public addMainViewListener(): void {\n if (this.mainViewIsAddListener) return;\n if (this.view.divElement) {\n this.view.divElement.addEventListener(\"click\", this.mainViewClickListener);\n this.view.divElement.addEventListener(\"touchend\", this.mainViewClickListener);\n this.mainViewIsAddListener = true;\n }\n }\n\n public removeMainViewListener(): void {\n if (this.view.divElement) {\n this.view.divElement.removeEventListener(\"click\", this.mainViewClickListener);\n this.view.divElement.removeEventListener(\"touchend\", this.mainViewClickListener);\n }\n }\n\n private mainViewClickListener = () => {\n this.mainViewClickHandler();\n };\n\n public async mainViewClickHandler(): Promise<void> {\n if (!this.manager.canOperate) return;\n this.store.cleanFocus();\n this.manager.boxManager?.blurAllBox();\n }\n\n public setMainViewSize = debounce(size => {\n this.store.setMainViewSize({ ...size, id: this.manager.uid });\n }, 50);\n\n private addCameraListener() {\n this.view.callbacks.on(\"onCameraUpdatedByDevice\", this.onCameraUpdatedByDevice);\n this.view.callbacks.on(\"onCameraUpdated\", this.onCameraOrSizeUpdated);\n this.view.callbacks.on(\"onSizeUpdated\", this.onCameraOrSizeUpdated);\n }\n\n private removeCameraListener() {\n this.view.callbacks.off(\"onCameraUpdatedByDevice\", this.onCameraUpdatedByDevice);\n this.view.callbacks.off(\"onCameraUpdated\", this.onCameraOrSizeUpdated);\n this.view.callbacks.off(\"onSizeUpdated\", this.onCameraOrSizeUpdated);\n }\n\n private onCameraOrSizeUpdated = () => {\n callbacks.emit(\"cameraStateChange\", this.cameraState);\n };\n\n public moveCameraToContian(size: Size): void {\n if (!isEmpty(size)) {\n this.view.moveCameraToContain({\n width: size.width,\n height: size.height,\n originX: -size.width / 2,\n originY: -size.height / 2,\n animationMode: AnimationMode.Immediately,\n });\n this.scale = this.view.camera.scale;\n }\n }\n\n public moveCamera(camera: Camera): void {\n if (!isEmpty(camera)) {\n if (isEqual(camera, this.view.camera)) return;\n const { centerX, centerY, scale } = camera;\n const needScale = scale * (this.scale || 1);\n this.view.moveCamera({\n centerX: centerX,\n centerY: centerY,\n scale: needScale,\n animationMode: AnimationMode.Immediately,\n });\n }\n }\n\n public stop() {\n this.removeMainViewListener();\n this.removeCameraListener();\n this.manager.refresher?.remove(Fields.MainViewCamera);\n this.manager.refresher?.remove(Fields.MainViewSize);\n this.started = false;\n }\n\n public destroy() {\n this.stop();\n this.sideEffectManager.flushAll();\n }\n}\n","import { AppAttributes, AppStatus, Events, MagixEventName, ROOT_DIR } from \"./constants\";\nimport { AppCreateQueue } from \"./Utils/AppCreateQueue\";\nimport { AppListeners } from \"./AppListener\";\nimport { AppProxy } from \"./AppProxy\";\nimport { appRegister } from \"./Register\";\nimport { autorun, isPlayer, isRoom, ScenePathType } from \"white-web-sdk\";\nimport { callbacks, emitter, reconnectRefresher, WindowManager } from \"./index\";\nimport { get, isInteger, orderBy } from \"lodash\";\nimport { log } from \"./Utils/log\";\nimport { MainViewProxy } from \"./View/MainView\";\nimport { onObjectRemoved, safeListenPropsUpdated } from \"./Utils/Reactive\";\nimport { store } from \"./AttributesDelegate\";\nimport { ViewManager } from \"./View/ViewManager\";\nimport {\n entireScenes,\n genAppId,\n makeValidScenePath,\n parseSceneDir,\n setScenePath,\n setViewFocusScenePath,\n} from \"./Utils/Common\";\nimport type { ReconnectRefresher } from \"./ReconnectRefresher\";\nimport type { BoxManager } from \"./BoxManager\";\nimport type { Displayer, DisplayerState, Room, ScenesCallbacksNode, View } from \"white-web-sdk\";\nimport type { AddAppParams, BaseInsertParams, TeleBoxRect, EmitterEvent } from \"./index\";\n\nexport class AppManager {\n public displayer: Displayer;\n public viewManager: ViewManager;\n public appProxies: Map<string, AppProxy> = new Map();\n public appStatus: Map<string, AppStatus> = new Map();\n public store = store;\n public mainViewProxy: MainViewProxy;\n public refresher?: ReconnectRefresher;\n public isReplay = this.windowManger.isReplay;\n public mainViewScenesLength = 0;\n\n private appListeners: AppListeners;\n public boxManager?: BoxManager;\n\n private _prevSceneIndex: number | undefined;\n private _prevFocused: string | undefined;\n private callbacksNode: ScenesCallbacksNode | null = null;\n private appCreateQueue = new AppCreateQueue();\n\n constructor(public windowManger: WindowManager) {\n this.displayer = windowManger.displayer;\n this.store.setContext({\n getAttributes: () => this.attributes,\n safeSetAttributes: attributes => this.safeSetAttributes(attributes),\n safeUpdateAttributes: (keys, val) => this.safeUpdateAttributes(keys, val),\n });\n this.mainViewProxy = new MainViewProxy(this);\n this.viewManager = new ViewManager(this.displayer);\n this.appListeners = new AppListeners(this);\n this.displayer.callbacks.on(this.eventName, this.displayerStateListener);\n this.appListeners.addListeners();\n\n this.refresher = reconnectRefresher;\n this.refresher.setRoom(this.room);\n this.refresher.setContext({ emitter });\n\n emitter.once(\"onCreated\").then(() => this.onCreated());\n emitter.on(\"onReconnected\", () => this.onReconnected());\n if (isPlayer(this.displayer)) {\n emitter.on(\"seek\", time => {\n this.appProxies.forEach(appProxy => {\n appProxy.onSeek(time);\n });\n this.attributesUpdateCallback(this.attributes.apps);\n this.onAppDelete(this.attributes.apps);\n });\n }\n emitter.on(\"removeScenes\", scenePath => {\n if (scenePath === ROOT_DIR) {\n this.setMainViewScenePath(ROOT_DIR);\n this.createRootDirScenesCallback();\n return;\n }\n const mainViewScenePath = this.store.getMainViewScenePath();\n if (this.room && mainViewScenePath) {\n if (mainViewScenePath === scenePath) {\n this.setMainViewScenePath(ROOT_DIR);\n }\n }\n });\n this.createRootDirScenesCallback();\n }\n\n private createRootDirScenesCallback = () => {\n let isRecreate = false;\n if (this.callbacksNode) {\n this.callbacksNode.dispose();\n isRecreate = true;\n }\n this.callbacksNode = this.displayer.createScenesCallback(ROOT_DIR, {\n onAddScene: scenesCallback => {\n this.mainViewScenesLength = scenesCallback.scenes.length;\n callbacks.emit(\"mainViewScenesLengthChange\", this.mainViewScenesLength);\n },\n onRemoveScene: scenesCallback => {\n this.mainViewScenesLength = scenesCallback.scenes.length;\n callbacks.emit(\"mainViewScenesLengthChange\", this.mainViewScenesLength);\n },\n });\n if (this.callbacksNode) {\n this.mainViewScenesLength = this.callbacksNode.scenes.length;\n if (isRecreate) {\n callbacks.emit(\"mainViewScenesLengthChange\", this.callbacksNode.scenes.length);\n }\n }\n }\n\n private get eventName() {\n return isRoom(this.displayer) ? \"onRoomStateChanged\" : \"onPlayerStateChanged\";\n }\n\n public get attributes() {\n return this.windowManger.attributes;\n }\n\n public get canOperate() {\n return this.windowManger.canOperate;\n }\n\n public get room() {\n return isRoom(this.displayer) ? (this.displayer as Room) : undefined;\n }\n\n public get mainView() {\n return this.mainViewProxy.view;\n }\n\n public get focusApp() {\n if (this.store.focus) {\n return this.appProxies.get(this.store.focus);\n }\n }\n\n public get uid() {\n return this.room?.uid || \"\";\n }\n\n public getMainViewSceneDir() {\n const scenePath = this.store.getMainViewScenePath();\n if (scenePath) {\n return parseSceneDir(scenePath);\n } else {\n throw new Error(\"[WindowManager]: mainViewSceneDir not found\");\n }\n }\n\n private async onCreated() {\n await this.attributesUpdateCallback(this.attributes.apps);\n this.boxManager?.updateManagerRect();\n emitter.onAny(this.boxEventListener);\n this.refresher?.add(\"apps\", () => {\n return safeListenPropsUpdated(\n () => this.attributes.apps,\n () => {\n this.attributesUpdateCallback(this.attributes.apps);\n }\n );\n });\n this.refresher?.add(\"appsClose\", () => {\n return onObjectRemoved(this.attributes.apps, () => {\n this.onAppDelete(this.attributes.apps);\n });\n });\n this.refresher?.add(\"maximized\", () => {\n return autorun(() => {\n const maximized = this.attributes.maximized;\n this.boxManager?.setMaximized(Boolean(maximized));\n });\n });\n this.refresher?.add(\"minimized\", () => {\n return autorun(() => {\n const minimized = this.attributes.minimized;\n if (this.boxManager?.minimized !== minimized) {\n if (minimized === true) {\n this.boxManager?.blurAllBox();\n }\n setTimeout(() => {\n this.boxManager?.setMinimized(Boolean(minimized));\n }, 0);\n }\n });\n });\n this.refresher?.add(\"mainViewIndex\", () => {\n return autorun(() => {\n const mainSceneIndex = get(this.attributes, \"_mainSceneIndex\");\n if (mainSceneIndex !== undefined && this._prevSceneIndex !== mainSceneIndex) {\n callbacks.emit(\"mainViewSceneIndexChange\", mainSceneIndex);\n this._prevSceneIndex = mainSceneIndex;\n }\n });\n });\n this.refresher?.add(\"focusedChange\", () => {\n return autorun(() => {\n const focused = get(this.attributes, \"focus\");\n if (this._prevFocused !== focused) {\n callbacks.emit(\"focusedChange\", focused);\n this.disposePrevFocusViewRedoUndoListeners(this._prevFocused);\n setTimeout(() => {\n this.addRedoUndoListeners(focused);\n }, 0);\n this._prevFocused = focused;\n if (focused !== undefined) {\n this.boxManager?.focusBox({ appId: focused });\n // 确保 focus 修改的时候, appProxy 已经创建\n setTimeout(() => {\n const appProxy = this.appProxies.get(focused);\n if (appProxy) {\n appRegister.notifyApp(appProxy.kind, \"focus\", { appId: focused });\n }\n }, 0);\n }\n }\n });\n });\n if (!this.attributes.apps || Object.keys(this.attributes.apps).length === 0) {\n const mainScenePath = this.store.getMainViewScenePath();\n if (!mainScenePath) return;\n const sceneState = this.displayer.state.sceneState;\n if (sceneState.scenePath !== mainScenePath) {\n setScenePath(this.room, mainScenePath);\n }\n }\n this.displayerWritableListener(!this.room?.isWritable);\n this.displayer.callbacks.on(\"onEnableWriteNowChanged\", this.displayerWritableListener);\n this._prevFocused = this.attributes.focus;\n this.addRedoUndoListeners(this.attributes.focus);\n }\n\n private disposePrevFocusViewRedoUndoListeners = (prevFocused: string | undefined) => {\n if (prevFocused === undefined) {\n this.mainView.callbacks.off(\"onCanRedoStepsUpdate\", this.onCanRedoStepsUpdate);\n this.mainView.callbacks.off(\"onCanUndoStepsUpdate\", this.onCanRedoStepsUpdate);\n } else {\n const appProxy = this.appProxies.get(prevFocused);\n if (appProxy) {\n appProxy.view?.callbacks.off(\"onCanRedoStepsUpdate\", this.onCanRedoStepsUpdate);\n appProxy.view?.callbacks.off(\"onCanUndoStepsUpdate\", this.onCanUndoStepsUpdate);\n }\n }\n };\n\n private addRedoUndoListeners = (focused: string | undefined) => {\n if (focused === undefined) {\n this.addViewCallbacks(\n this.mainView,\n this.onCanRedoStepsUpdate,\n this.onCanUndoStepsUpdate\n );\n } else {\n const focusApp = this.appProxies.get(focused);\n if (focusApp && focusApp.view) {\n this.addViewCallbacks(\n focusApp.view,\n this.onCanRedoStepsUpdate,\n this.onCanUndoStepsUpdate\n );\n }\n }\n };\n\n private addViewCallbacks = (\n view: View,\n redoListener: (steps: number) => void,\n undoListener: (steps: number) => void\n ) => {\n redoListener(view.canRedoSteps);\n undoListener(view.canUndoSteps);\n view.callbacks.on(\"onCanRedoStepsUpdate\", redoListener);\n view.callbacks.on(\"onCanUndoStepsUpdate\", undoListener);\n };\n\n private onCanRedoStepsUpdate = (steps: number) => {\n callbacks.emit(\"canRedoStepsChange\", steps);\n };\n\n private onCanUndoStepsUpdate = (steps: number) => {\n callbacks.emit(\"canUndoStepsChange\", steps);\n };\n\n /**\n * 插件更新 attributes 时的回调\n *\n * @param {*} attributes\n * @memberof WindowManager\n */\n public async attributesUpdateCallback(apps: any) {\n if (apps && WindowManager.container) {\n const appIds = Object.keys(apps);\n const appsWithCreatedAt = appIds.map(appId => {\n return {\n id: appId,\n createdAt: apps[appId].createdAt,\n };\n });\n for (const { id } of orderBy(appsWithCreatedAt, \"createdAt\", \"asc\")) {\n if (!this.appProxies.has(id) && !this.appStatus.has(id)) {\n const app = apps[id];\n\n this.appStatus.set(id, AppStatus.StartCreate);\n try {\n const appAttributes = this.attributes[id];\n if (!appAttributes) {\n throw new Error(\"appAttributes is undefined\");\n }\n this.appCreateQueue.push(() => {\n return this.baseInsertApp(\n {\n kind: app.kind,\n options: app.options,\n isDynamicPPT: app.isDynamicPPT,\n },\n id,\n false\n );\n });\n this.focusByAttributes(apps);\n } catch (error) {\n console.warn(`[WindowManager]: Insert App Error`, error);\n }\n }\n }\n }\n }\n\n public refresh() {\n this.attributesUpdateCallback(this.attributes.apps);\n }\n\n public setBoxManager(boxManager: BoxManager) {\n this.boxManager = boxManager;\n }\n\n public resetMaximized() {\n this.boxManager?.setMaximized(Boolean(this.store.getMaximized()));\n }\n\n public resetMinimized() {\n this.boxManager?.setMinimized(Boolean(this.store.getMinimized()));\n }\n\n private onAppDelete = (apps: any) => {\n const ids = Object.keys(apps);\n this.appProxies.forEach((appProxy, id) => {\n if (!ids.includes(id)) {\n appProxy.destroy(true, false, true);\n }\n });\n };\n\n public bindMainView(divElement: HTMLDivElement, disableCameraTransform: boolean) {\n const mainView = this.mainViewProxy.view;\n mainView.disableCameraTransform = disableCameraTransform;\n mainView.divElement = divElement;\n if (!mainView.focusScenePath) {\n this.setMainViewFocusPath();\n }\n emitter.emit(\"mainViewMounted\");\n }\n\n public setMainViewFocusPath(scenePath?: string) {\n const focusScenePath = scenePath || this.store.getMainViewScenePath();\n if (focusScenePath) {\n const view = setViewFocusScenePath(this.mainView, focusScenePath);\n return view?.focusScenePath === focusScenePath;\n }\n }\n\n public async addApp(params: AddAppParams, isDynamicPPT: boolean): Promise<string | undefined> {\n log(\"addApp\", params);\n const { appId, needFocus } = await this.beforeAddApp(params, isDynamicPPT);\n const appProxy = await this.baseInsertApp(params, appId, true, needFocus);\n this.afterAddApp(appProxy);\n return appProxy?.id;\n }\n\n private async beforeAddApp(params: AddAppParams, isDynamicPPT: boolean) {\n const appId = await genAppId(params.kind);\n this.appStatus.set(appId, AppStatus.StartCreate);\n const attrs = params.attributes ?? {};\n this.safeUpdateAttributes([appId], attrs);\n this.store.setupAppAttributes(params, appId, isDynamicPPT);\n const needFocus = !this.boxManager?.minimized;\n if (needFocus) {\n this.store.setAppFocus(appId, true);\n }\n return { appId, needFocus };\n }\n\n private afterAddApp(appProxy: AppProxy | undefined) {\n if (appProxy && appProxy.box) {\n const box = appProxy.box;\n emitter.emit(\"move\", {\n appId: appProxy.id,\n x: box?.intrinsicX,\n y: box?.intrinsicY,\n });\n this.store.updateAppState(appProxy.id, AppAttributes.ZIndex, box.zIndex);\n }\n if (this.boxManager?.minimized) {\n this.boxManager?.setMinimized(false, false);\n }\n }\n\n public async closeApp(appId: string) {\n const appProxy = this.appProxies.get(appId);\n if (appProxy) {\n appProxy.destroy(true, true, false);\n }\n }\n\n private async baseInsertApp(\n params: BaseInsertParams,\n appId: string,\n isAddApp: boolean,\n focus?: boolean\n ) {\n if (this.appProxies.has(appId)) {\n console.warn(\"[WindowManager]: app duplicate exists and cannot be created again\");\n return;\n }\n const appProxy = new AppProxy(params, this, appId, isAddApp);\n if (appProxy) {\n await appProxy.baseInsertApp(focus);\n this.appStatus.delete(appId);\n return appProxy;\n } else {\n this.appStatus.delete(appId);\n throw new Error(\"[WindowManger]: initialize AppProxy failed\");\n }\n }\n\n private displayerStateListener = (state: Partial<DisplayerState>) => {\n const sceneState = state.sceneState;\n if (sceneState) {\n const scenePath = sceneState.scenePath;\n this.appProxies.forEach(appProxy => {\n if (appProxy.scenePath && scenePath.startsWith(appProxy.scenePath)) {\n appProxy.emitAppSceneStateChange(sceneState);\n appProxy.setFullPath(scenePath);\n }\n });\n }\n this.appProxies.forEach(appProxy => {\n appProxy.appEmitter.emit(\"roomStateChange\", state);\n });\n emitter.emit(\"observerIdChange\", this.displayer.observerId);\n };\n\n public displayerWritableListener = (isReadonly: boolean) => {\n const isWritable = !isReadonly;\n const isManualWritable =\n this.windowManger.readonly === undefined || this.windowManger.readonly === false;\n if (this.windowManger.readonly === undefined) {\n this.boxManager?.setReadonly(isReadonly);\n } else {\n this.boxManager?.setReadonly(!(isWritable && isManualWritable));\n }\n this.appProxies.forEach(appProxy => {\n appProxy.emitAppIsWritableChange();\n });\n if (isWritable === true) {\n this.mainView.disableCameraTransform = false;\n if (this.room && this.room.disableSerialization === true) {\n this.room.disableSerialization = false;\n }\n } else {\n this.mainView.disableCameraTransform = true;\n }\n };\n\n public safeSetAttributes(attributes: any) {\n this.windowManger.safeSetAttributes(attributes);\n }\n\n public safeUpdateAttributes(keys: string[], value: any) {\n this.windowManger.safeUpdateAttributes(keys, value);\n }\n\n public async setMainViewScenePath(scenePath: string) {\n if (this.room) {\n const scenePathType = this.displayer.scenePathType(scenePath);\n const sceneDir = parseSceneDir(scenePath);\n if (sceneDir !== ROOT_DIR) {\n throw new Error(`[WindowManager]: main view scenePath must in root dir \"/\"`);\n }\n if (scenePathType === ScenePathType.None) {\n throw new Error(`[WindowManager]: ${scenePath} not valid scene`);\n } else if (scenePathType === ScenePathType.Page) {\n await this._setMainViewScenePath(scenePath);\n } else if (scenePathType === ScenePathType.Dir) {\n const validScenePath = makeValidScenePath(this.displayer, scenePath);\n if (validScenePath) {\n await this._setMainViewScenePath(validScenePath);\n }\n }\n }\n }\n\n private async _setMainViewScenePath(scenePath: string) {\n const success = this.setMainViewFocusPath(scenePath);\n if (success) {\n this.safeSetAttributes({ _mainScenePath: scenePath });\n this.store.setMainViewFocusPath(this.mainView);\n this.updateSceneIndex();\n this.dispatchSetMainViewScenePath(scenePath);\n }\n }\n\n private updateSceneIndex = () => {\n const scenePath = this.store.getMainViewScenePath() as string;\n const sceneDir = parseSceneDir(scenePath);\n const scenes = entireScenes(this.displayer)[sceneDir];\n if (scenes.length) {\n // \"/ppt3/1\" -> \"1\"\n const pageName = scenePath.replace(sceneDir, \"\").replace(\"/\", \"\");\n const index = scenes.findIndex(scene => scene.name === pageName);\n if (isInteger(index) && index >= 0) {\n this.safeSetAttributes({ _mainSceneIndex: index });\n }\n }\n };\n\n public async setMainViewSceneIndex(index: number) {\n if (this.room) {\n if (this.store.getMainViewSceneIndex() === index) return;\n const mainViewScenePath = this.store.getMainViewScenePath() as string;\n if (mainViewScenePath) {\n const sceneDir = parseSceneDir(mainViewScenePath);\n const scenePath = makeValidScenePath(this.displayer, sceneDir, index);\n if (scenePath) {\n const success = this.setMainViewFocusPath(scenePath);\n if (success) {\n this.store.setMainViewScenePath(scenePath);\n this.safeSetAttributes({ _mainSceneIndex: index });\n this.dispatchSetMainViewScenePath(scenePath);\n }\n } else {\n throw new Error(`[WindowManager]: ${sceneDir}: ${index} not valid index`);\n }\n }\n }\n }\n\n private dispatchSetMainViewScenePath(scenePath: string): void {\n this.dispatchInternalEvent(Events.SetMainViewScenePath, { nextScenePath: scenePath });\n // 兼容 15 的 SDK, 需要 room 的当前 ScenePath\n setScenePath(this.room, scenePath);\n }\n\n public getAppInitPath(appId: string): string | undefined {\n const attrs = this.store.getAppAttributes(appId);\n if (attrs) {\n return attrs?.options?.scenePath;\n }\n }\n\n public safeDispatchMagixEvent(event: string, payload: any) {\n if (this.canOperate) {\n (this.displayer as Room).dispatchMagixEvent(event, payload);\n }\n }\n\n private boxEventListener = (eventName: keyof EmitterEvent, payload: any) => {\n switch (eventName) {\n case \"move\": {\n this.dispatchInternalEvent(Events.AppMove, payload);\n this.store.updateAppState(payload.appId, AppAttributes.Position, {\n x: payload.x,\n y: payload.y,\n });\n break;\n }\n case \"focus\": {\n this.windowManger.safeSetAttributes({ focus: payload.appId });\n break;\n }\n case \"resize\": {\n if (payload.width && payload.height) {\n this.dispatchInternalEvent(Events.AppResize, payload);\n this.store.updateAppState(payload.appId, AppAttributes.Size, {\n width: payload.width,\n height: payload.height,\n });\n }\n break;\n }\n case \"close\": {\n const appProxy = this.appProxies.get(payload.appId);\n if (appProxy) {\n appProxy.destroy(false, true, payload.error);\n }\n break;\n }\n case \"boxStateChange\": {\n this.dispatchInternalEvent(Events.AppBoxStateChange, payload);\n break;\n }\n default:\n break;\n }\n };\n\n public focusByAttributes(apps: any) {\n if (apps && Object.keys(apps).length === this.boxManager?.boxSize) {\n const focusAppId = this.store.focus;\n if (focusAppId) {\n this.boxManager.focusBox({ appId: focusAppId });\n }\n }\n }\n\n public async onReconnected() {\n const appProxies = Array.from(this.appProxies.values());\n const reconnected = appProxies.map(appProxy => {\n return appProxy.onReconnected();\n });\n this.mainViewProxy.onReconnect();\n await Promise.all(reconnected);\n }\n\n public notifyContainerRectUpdate(rect: TeleBoxRect) {\n this.appProxies.forEach(appProxy => {\n appProxy.appEmitter.emit(\"containerRectUpdate\", rect);\n });\n }\n\n public dispatchInternalEvent(event: Events, payload: any) {\n this.safeDispatchMagixEvent(MagixEventName, {\n eventName: event,\n payload: payload,\n });\n }\n\n public findMemberByUid = (uid: string) => {\n const roomMembers = this.room?.state.roomMembers;\n return roomMembers?.find(member => member.payload?.uid === uid);\n };\n\n public destroy() {\n this.displayer.callbacks.off(this.eventName, this.displayerStateListener);\n this.displayer.callbacks.off(\"onEnableWriteNowChanged\", this.displayerWritableListener);\n this.appListeners.removeListeners();\n emitter.offAny(this.boxEventListener);\n emitter.clearListeners();\n if (this.appProxies.size) {\n this.appProxies.forEach(appProxy => {\n appProxy.destroy(true, false, true);\n });\n }\n this.viewManager.destroy();\n this.boxManager?.destroy();\n this.refresher?.destroy();\n this.mainViewProxy.destroy();\n callbacks.clearListeners();\n this.callbacksNode?.dispose();\n this.appCreateQueue.destroy();\n this.disposePrevFocusViewRedoUndoListeners(this._prevFocused);\n this._prevFocused = undefined;\n this._prevSceneIndex = undefined;\n }\n}\n","import { ResizeObserver as ResizeObserverPolyfill } from \"@juggle/resize-observer\";\nimport { WindowManager } from \"./index\";\nimport type { EmitterType } from \"./index\";\n\nconst ResizeObserver = window.ResizeObserver || ResizeObserverPolyfill;\n\nexport class ContainerResizeObserver {\n private containerResizeObserver?: ResizeObserver;\n\n constructor(private emitter: EmitterType) {}\n\n public static create(\n container: HTMLElement,\n sizer: HTMLElement,\n wrapper: HTMLDivElement,\n emitter: EmitterType\n ) {\n const containerResizeObserver = new ContainerResizeObserver(emitter);\n containerResizeObserver.observePlaygroundSize(container, sizer, wrapper);\n return containerResizeObserver;\n }\n\n public observePlaygroundSize(\n container: HTMLElement,\n sizer: HTMLElement,\n wrapper: HTMLDivElement\n ) {\n this.updateSizer(container.getBoundingClientRect(), sizer, wrapper);\n\n this.containerResizeObserver = new ResizeObserver(entries => {\n const containerRect = entries[0]?.contentRect;\n if (containerRect) {\n this.updateSizer(containerRect, sizer, wrapper);\n this.emitter.emit(\"playgroundSizeChange\", containerRect);\n }\n });\n\n this.containerResizeObserver.observe(container);\n }\n\n private updateSizer(\n { width, height }: DOMRectReadOnly,\n sizer: HTMLElement,\n wrapper: HTMLDivElement\n ) {\n if (width && height) {\n if (height / width > WindowManager.containerSizeRatio) {\n height = width * WindowManager.containerSizeRatio;\n sizer.classList.toggle(\"netless-window-manager-sizer-horizontal\", true);\n } else {\n width = height / WindowManager.containerSizeRatio;\n sizer.classList.toggle(\"netless-window-manager-sizer-horizontal\", false);\n }\n wrapper.style.width = `${width}px`;\n wrapper.style.height = `${height}px`;\n }\n }\n\n public disconnect() {\n this.containerResizeObserver?.disconnect();\n }\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/** @license React v16.14.0\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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';var l=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113,z=n?Symbol.for(\"react.memo\"):60115,A=n?Symbol.for(\"react.lazy\"):\n60116,B=\"function\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}\nvar D={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},E={};function F(a,b,c){this.props=a;this.context=b;this.refs=E;this.updater=c||D}F.prototype.isReactComponent={};F.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(C(85));this.updater.enqueueSetState(this,a,b,\"setState\")};F.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};\nfunction G(){}G.prototype=F.prototype;function H(a,b,c){this.props=a;this.context=b;this.refs=E;this.updater=c||D}var I=H.prototype=new G;I.constructor=H;l(I,F.prototype);I.isPureReactComponent=!0;var J={current:null},K=Object.prototype.hasOwnProperty,L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,c){var e,d={},g=null,k=null;if(null!=b)for(e in void 0!==b.ref&&(k=b.ref),void 0!==b.key&&(g=\"\"+b.key),b)K.call(b,e)&&!L.hasOwnProperty(e)&&(d[e]=b[e]);var f=arguments.length-2;if(1===f)d.children=c;else if(1<f){for(var h=Array(f),m=0;m<f;m++)h[m]=arguments[m+2];d.children=h}if(a&&a.defaultProps)for(e in f=a.defaultProps,f)void 0===d[e]&&(d[e]=f[e]);return{$$typeof:p,type:a,key:g,ref:k,props:d,_owner:J.current}}\nfunction N(a,b){return{$$typeof:p,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===p}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+(\"\"+a).replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g,Q=[];function R(a,b,c,e){if(Q.length){var d=Q.pop();d.result=a;d.keyPrefix=b;d.func=c;d.context=e;d.count=0;return d}return{result:a,keyPrefix:b,func:c,context:e,count:0}}\nfunction S(a){a.result=null;a.keyPrefix=null;a.func=null;a.context=null;a.count=0;10>Q.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;k<a.length;k++){d=a[k];var f=b+U(d,k);g+=T(d,f,c,e)}else if(null===a||\"object\"!==typeof a?f=null:(f=B&&a[B]||a[\"@@iterator\"],f=\"function\"===typeof f?f:null),\"function\"===typeof f)for(a=f.call(a),k=\n0;!(d=a.next()).done;)d=d.value,f=b+U(d,k++),g+=T(d,f,c,e);else if(\"object\"===d)throw c=\"\"+a,Error(C(31,\"[object Object]\"===c?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":c,\"\"));return g}function V(a,b,c){return null==a?0:T(a,\"\",b,c)}function U(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(a.key):b.toString(36)}function W(a,b){a.func.call(a.context,b,a.count++)}\nfunction aa(a,b,c){var e=a.result,d=a.keyPrefix;a=a.func.call(a.context,b,a.count++);Array.isArray(a)?X(a,e,c,function(a){return a}):null!=a&&(O(a)&&(a=N(a,d+(!a.key||b&&b.key===a.key?\"\":(\"\"+a.key).replace(P,\"$&/\")+\"/\")+c)),e.push(a))}function X(a,b,c,e,d){var g=\"\";null!=c&&(g=(\"\"+c).replace(P,\"$&/\")+\"/\");b=R(b,g,e,d);V(a,aa,b);S(b)}var Y={current:null};function Z(){var a=Y.current;if(null===a)throw Error(C(321));return a}\nvar ba={ReactCurrentDispatcher:Y,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:J,IsSomeRendererActing:{current:!1},assign:l};exports.Children={map:function(a,b,c){if(null==a)return a;var e=[];X(a,e,null,b,c);return e},forEach:function(a,b,c){if(null==a)return a;b=R(null,null,b,c);V(a,W,b);S(b)},count:function(a){return V(a,function(){return null},null)},toArray:function(a){var b=[];X(a,b,null,function(a){return a});return b},only:function(a){if(!O(a))throw Error(C(143));return a}};\nexports.Component=F;exports.Fragment=r;exports.Profiler=u;exports.PureComponent=H;exports.StrictMode=t;exports.Suspense=y;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=ba;\nexports.cloneElement=function(a,b,c){if(null===a||void 0===a)throw Error(C(267,a));var e=l({},a.props),d=a.key,g=a.ref,k=a._owner;if(null!=b){void 0!==b.ref&&(g=b.ref,k=J.current);void 0!==b.key&&(d=\"\"+b.key);if(a.type&&a.type.defaultProps)var f=a.type.defaultProps;for(h in b)K.call(b,h)&&!L.hasOwnProperty(h)&&(e[h]=void 0===b[h]&&void 0!==f?f[h]:b[h])}var h=arguments.length-2;if(1===h)e.children=c;else if(1<h){f=Array(h);for(var m=0;m<h;m++)f[m]=arguments[m+2];e.children=f}return{$$typeof:p,type:a.type,\nkey:d,ref:g,props:e,_owner:k}};exports.createContext=function(a,b){void 0===b&&(b=null);a={$$typeof:w,_calculateChangedBits:b,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null};a.Provider={$$typeof:v,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};exports.forwardRef=function(a){return{$$typeof:x,render:a}};exports.isValidElement=O;\nexports.lazy=function(a){return{$$typeof:A,_ctor:a,_status:-1,_result:null}};exports.memo=function(a,b){return{$$typeof:z,type:a,compare:void 0===b?null:b}};exports.useCallback=function(a,b){return Z().useCallback(a,b)};exports.useContext=function(a,b){return Z().useContext(a,b)};exports.useDebugValue=function(){};exports.useEffect=function(a,b){return Z().useEffect(a,b)};exports.useImperativeHandle=function(a,b,c){return Z().useImperativeHandle(a,b,c)};\nexports.useLayoutEffect=function(a,b){return Z().useLayoutEffect(a,b)};exports.useMemo=function(a,b){return Z().useMemo(a,b)};exports.useReducer=function(a,b,c){return Z().useReducer(a,b,c)};exports.useRef=function(a){return Z().useRef(a)};exports.useState=function(a){return Z().useState(a)};exports.version=\"16.14.0\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","var e=Object.defineProperty,t=Object.defineProperties,i=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,o=(t,i,s)=>i in t?e(t,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[i]=s,a=(e,t)=>{for(var i in t||(t={}))r.call(t,i)&&o(e,i,t[i]);if(s)for(var i of s(t))n.call(t,i)&&o(e,i,t[i]);return e},l=(e,s)=>t(e,i(s));import h,{useRef as c,useEffect as d,useState as u}from\"react\";var m={exports:{}};!function(e){var t=Object.prototype.hasOwnProperty,i=\"~\";function s(){}function r(e,t,i){this.fn=e,this.context=t,this.once=i||!1}function n(e,t,s,n,o){if(\"function\"!=typeof s)throw new TypeError(\"The listener must be a function\");var a=new r(s,n||e,o),l=i?i+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],a]:e._events[l].push(a):(e._events[l]=a,e._eventsCount++),e}function o(e,t){0==--e._eventsCount?e._events=new s:delete e._events[t]}function a(){this._events=new s,this._eventsCount=0}Object.create&&(s.prototype=Object.create(null),(new s).__proto__||(i=!1)),a.prototype.eventNames=function(){var e,s,r=[];if(0===this._eventsCount)return r;for(s in e=this._events)t.call(e,s)&&r.push(i?s.slice(1):s);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(e)):r},a.prototype.listeners=function(e){var t=i?i+e:e,s=this._events[t];if(!s)return[];if(s.fn)return[s.fn];for(var r=0,n=s.length,o=new Array(n);r<n;r++)o[r]=s[r].fn;return o},a.prototype.listenerCount=function(e){var t=i?i+e:e,s=this._events[t];return s?s.fn?1:s.length:0},a.prototype.emit=function(e,t,s,r,n,o){var a=i?i+e:e;if(!this._events[a])return!1;var l,h,c=this._events[a],d=arguments.length;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),d){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,s),!0;case 4:return c.fn.call(c.context,t,s,r),!0;case 5:return c.fn.call(c.context,t,s,r,n),!0;case 6:return c.fn.call(c.context,t,s,r,n,o),!0}for(h=1,l=new Array(d-1);h<d;h++)l[h-1]=arguments[h];c.fn.apply(c.context,l)}else{var u,m=c.length;for(h=0;h<m;h++)switch(c[h].once&&this.removeListener(e,c[h].fn,void 0,!0),d){case 1:c[h].fn.call(c[h].context);break;case 2:c[h].fn.call(c[h].context,t);break;case 3:c[h].fn.call(c[h].context,t,s);break;case 4:c[h].fn.call(c[h].context,t,s,r);break;default:if(!l)for(u=1,l=new Array(d-1);u<d;u++)l[u-1]=arguments[u];c[h].fn.apply(c[h].context,l)}}return!0},a.prototype.on=function(e,t,i){return n(this,e,t,i,!1)},a.prototype.once=function(e,t,i){return n(this,e,t,i,!0)},a.prototype.removeListener=function(e,t,s,r){var n=i?i+e:e;if(!this._events[n])return this;if(!t)return o(this,n),this;var a=this._events[n];if(a.fn)a.fn!==t||r&&!a.once||s&&a.context!==s||o(this,n);else{for(var l=0,h=[],c=a.length;l<c;l++)(a[l].fn!==t||r&&!a[l].once||s&&a[l].context!==s)&&h.push(a[l]);h.length?this._events[n]=1===h.length?h[0]:h:o(this,n)}return this},a.prototype.removeAllListeners=function(e){var t;return e?(t=i?i+e:e,this._events[t]&&o(this,t)):(this._events=new s,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=i,a.EventEmitter=a,e.exports=a}(m);var f=m.exports,v=function(){return(v=Object.assign||function(e){for(var t,i=1,s=arguments.length;i<s;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)};\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */function p(e,t){var i={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(i[s]=e[s]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(e);r<s.length;r++)t.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(e,s[r])&&(i[s[r]]=e[s[r]])}return i}var g=0,b=\"undefined\"!=typeof window&&void 0!==window.requestAnimationFrame?function(e){return window.requestAnimationFrame(e)}:function(e){var t=Date.now(),i=Math.max(0,16.7-(t-g));g=t+i,setTimeout((function(){return e(g)}),i)},x=1/60*1e3,y=!0,w=!1,$=!1,C={delta:0,timestamp:0},z=[\"read\",\"update\",\"preRender\",\"render\",\"postRender\"],B=function(e){return w=e},_=z.reduce((function(e,t){var i,s,r,n,o,a,l,h,c;return e[t]=(i=B,s=[],r=[],n=0,o=!1,a=0,l=new WeakSet,h=new WeakSet,c={cancel:function(e){var t=r.indexOf(e);l.add(e),-1!==t&&r.splice(t,1)},process:function(e){var t,d;if(o=!0,s=(t=[r,s])[0],(r=t[1]).length=0,n=s.length)for(a=0;a<n;a++)(d=s[a])(e),!0!==h.has(d)||l.has(d)||(c.schedule(d),i(!0));o=!1},schedule:function(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var a=i&&o,c=a?s:r;l.delete(e),t&&h.add(e),-1===c.indexOf(e)&&(c.push(e),a&&(n=s.length))}}),e}),{}),M=z.reduce((function(e,t){var i=_[t];return e[t]=function(e,t,s){return void 0===t&&(t=!1),void 0===s&&(s=!1),w||S(),i.schedule(e,t,s),e},e}),{}),E=function(e){return _[e].process(C)},k=function(e){w=!1,C.delta=y?x:Math.max(Math.min(e-C.timestamp,40),1),y||(x=C.delta),C.timestamp=e,$=!0,z.forEach(E),$=!1,w&&(y=!1,b(k))},S=function(){w=!0,y=!0,$||b(k)},R=function(){return(R=Object.assign||function(e){for(var t,i=1,s=arguments.length;i<s;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},N=function(e,t){return function(i){return Math.max(Math.min(i,t),e)}},T=function(e){return e%1?Number(e.toFixed(5)):e},L=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\\((-?[\\d\\.]+%?[,\\s]+){2,3}\\s*\\/*\\s*[\\d\\.]+%?\\))$/i,I={test:function(e){return\"number\"==typeof e},parse:parseFloat,transform:function(e){return e}},O=R(R({},I),{transform:N(0,1)}),D=R(R({},I),{default:1}),A=function(e){return{test:function(t){return\"string\"==typeof t&&t.endsWith(e)&&1===t.split(\" \").length},parse:parseFloat,transform:function(t){return\"\"+t+e}}},V=A(\"deg\"),H=A(\"%\"),W=A(\"px\"),j=R(R({},H),{parse:function(e){return H.parse(e)/100},transform:function(e){return H.transform(100*e)}}),P=N(0,255),Y=function(e){return void 0!==e.red},X=function(e){return void 0!==e.hue};var F=function(e){return function(t){if(\"string\"!=typeof t)return t;for(var i={},s=function(e){return e.substring(e.indexOf(\"(\")+1,e.lastIndexOf(\")\"))}(t).replace(/(,|\\/)/g,\" \").split(/ \\s*/),r=0;r<4;r++)i[e[r]]=void 0!==s[r]?parseFloat(s[r]):1;return i}},Z=R(R({},I),{transform:function(e){return Math.round(P(e))}});function q(e,t){return e.startsWith(t)&&L.test(e)}var G,U={test:function(e){return\"string\"==typeof e?q(e,\"rgb\"):Y(e)},parse:F([\"red\",\"green\",\"blue\",\"alpha\"]),transform:function(e){var t=e.red,i=e.green,s=e.blue,r=e.alpha,n=void 0===r?1:r;return function(e){var t=e.red,i=e.green,s=e.blue,r=e.alpha;return\"rgba(\"+t+\", \"+i+\", \"+s+\", \"+(void 0===r?1:r)+\")\"}({red:Z.transform(t),green:Z.transform(i),blue:Z.transform(s),alpha:T(O.transform(n))})}},J={test:function(e){return\"string\"==typeof e?q(e,\"hsl\"):X(e)},parse:F([\"hue\",\"saturation\",\"lightness\",\"alpha\"]),transform:function(e){var t=e.hue,i=e.saturation,s=e.lightness,r=e.alpha,n=void 0===r?1:r;return function(e){var t=e.hue,i=e.saturation,s=e.lightness,r=e.alpha;return\"hsla(\"+t+\", \"+i+\", \"+s+\", \"+(void 0===r?1:r)+\")\"}({hue:Math.round(t),saturation:H.transform(T(i)),lightness:H.transform(T(s)),alpha:T(O.transform(n))})}},Q=R(R({},U),{test:function(e){return\"string\"==typeof e&&q(e,\"#\")},parse:function(e){var t=\"\",i=\"\",s=\"\";return e.length>4?(t=e.substr(1,2),i=e.substr(3,2),s=e.substr(5,2)):(t=e.substr(1,1),i=e.substr(2,1),s=e.substr(3,1),t+=t,i+=i,s+=s),{red:parseInt(t,16),green:parseInt(i,16),blue:parseInt(s,16),alpha:1}}}),K={test:function(e){return\"string\"==typeof e&&L.test(e)||Y(e)||X(e)},parse:function(e){return U.test(e)?U.parse(e):J.test(e)?J.parse(e):Q.test(e)?Q.parse(e):e},transform:function(e){return Y(e)?U.transform(e):X(e)?J.transform(e):e}},ee=function(e){var t=e.onRead,i=e.onRender,s=e.uncachedValues,r=void 0===s?new Set:s,n=e.useCache,o=void 0===n||n;return function(e){void 0===e&&(e={});var s=p(e,[]),n={},a=[],l=!1;function h(e,t){e.startsWith(\"--\")&&(s.hasCSSVariable=!0);var i=n[e];n[e]=t,n[e]!==i&&(-1===a.indexOf(e)&&a.push(e),l||(l=!0,M.render(c.render)))}var c={get:function(e,i){return void 0===i&&(i=!1),!i&&o&&!r.has(e)&&void 0!==n[e]?n[e]:t(e,s)},set:function(e,t){if(\"string\"==typeof e)h(e,t);else for(var i in e)h(i,e[i]);return this},render:function(e){return void 0===e&&(e=!1),(l||!0===e)&&(i(n,s,a),l=!1,a.length=0),this}};return c}},te=/([a-z])([A-Z])/g,ie=function(e){return e.replace(te,\"$1-$2\").toLowerCase()},se=new Map,re=new Map,ne=[\"Webkit\",\"Moz\",\"O\",\"ms\",\"\"],oe=ne.length,ae=\"undefined\"!=typeof document,le=function(e,t){return re.set(e,ie(t))},he=function(e,t){void 0===t&&(t=!1);var i=t?re:se;return i.has(e)||(ae?function(e){G=G||document.createElement(\"div\");for(var t=0;t<oe;t++){var i=ne[t],s=\"\"===i,r=s?e:i+e.charAt(0).toUpperCase()+e.slice(1);if(r in G.style||s){if(s&&\"clipPath\"===e&&re.has(e))return;se.set(e,r),le(e,(s?\"\":\"-\")+ie(r))}}}(e):function(e){le(e,e)}(e)),i.get(e)||e},ce=[\"\",\"X\",\"Y\",\"Z\"],de=[\"translate\",\"scale\",\"rotate\",\"skew\",\"transformPerspective\"].reduce((function(e,t){return ce.reduce((function(e,i){return e.push(t+i),e}),e)}),[\"x\",\"y\",\"z\"]),ue=de.reduce((function(e,t){return e[t]=!0,e}),{});function me(e){return!0===ue[e]}function fe(e,t){return de.indexOf(e)-de.indexOf(t)}var ve=new Set([\"originX\",\"originY\",\"originZ\"]);function pe(e){return ve.has(e)}var ge=v(v({},I),{transform:Math.round}),be={color:K,backgroundColor:K,outlineColor:K,fill:K,stroke:K,borderColor:K,borderTopColor:K,borderRightColor:K,borderBottomColor:K,borderLeftColor:K,borderWidth:W,borderTopWidth:W,borderRightWidth:W,borderBottomWidth:W,borderLeftWidth:W,borderRadius:W,radius:W,borderTopLeftRadius:W,borderTopRightRadius:W,borderBottomRightRadius:W,borderBottomLeftRadius:W,width:W,maxWidth:W,height:W,maxHeight:W,size:W,top:W,right:W,bottom:W,left:W,padding:W,paddingTop:W,paddingRight:W,paddingBottom:W,paddingLeft:W,margin:W,marginTop:W,marginRight:W,marginBottom:W,marginLeft:W,rotate:V,rotateX:V,rotateY:V,rotateZ:V,scale:D,scaleX:D,scaleY:D,scaleZ:D,skew:V,skewX:V,skewY:V,distance:W,translateX:W,translateY:W,translateZ:W,x:W,y:W,z:W,perspective:W,opacity:O,originX:j,originY:j,originZ:W,zIndex:ge,fillOpacity:O,strokeOpacity:O,numOctaves:ge},xe=function(e){return be[e]},ye=function(e,t){return t&&\"number\"==typeof e?t.transform(e):e},we=new Set([\"scrollLeft\",\"scrollTop\"]),$e=new Set([\"scrollLeft\",\"scrollTop\",\"transform\"]),Ce={x:\"translateX\",y:\"translateY\",z:\"translateZ\"};function ze(e){return\"function\"==typeof e}function Be(e,t,i,s,r,n,o,a){void 0===t&&(t=!0),void 0===i&&(i={}),void 0===s&&(s={}),void 0===r&&(r={}),void 0===n&&(n=[]),void 0===o&&(o=!1),void 0===a&&(a=!0);var l=!0,h=!1,c=!1;for(var d in e){var u=e[d],m=xe(d),f=ye(u,m);me(d)?(h=!0,s[d]=f,n.push(d),l&&(m.default&&u!==m.default||!m.default&&0!==u)&&(l=!1)):pe(d)?(r[d]=f,c=!0):$e.has(d)&&ze(f)||(i[he(d,o)]=f)}return(h||\"function\"==typeof e.transform)&&(i.transform=function(e,t,i,s,r,n){void 0===n&&(n=!0);var o=\"\",a=!1;i.sort(fe);for(var l=i.length,h=0;h<l;h++){var c=i[h];o+=(Ce[c]||c)+\"(\"+t[c]+\") \",a=\"z\"===c||a}return!a&&r?o+=\"translateZ(0)\":o=o.trim(),ze(e.transform)?o=e.transform(t,s?\"\":o):n&&s&&(o=\"none\"),o}(e,s,n,l,t,a)),c&&(i.transformOrigin=(r.originX||\"50%\")+\" \"+(r.originY||\"50%\")+\" \"+(r.originZ||0)),i}function _e(e){var t=void 0===e?{}:e,i=t.enableHardwareAcceleration,s=void 0===i||i,r=t.isDashCase,n=void 0===r||r,o=t.allowTransformNone,a=void 0===o||o,l={},h={},c={},d=[];return function(e){return d.length=0,Be(e,s,l,h,c,d,n,a),l}}var Me=ee({onRead:function(e,t){var i=t.element,s=t.preparseOutput,r=xe(e);if(me(e))return r&&r.default||0;if(we.has(e))return i[e];var n=window.getComputedStyle(i,null).getPropertyValue(he(e,!0))||0;return s&&r&&r.test(n)&&r.parse?r.parse(n):n},onRender:function(e,t,i){var s=t.element,r=t.buildStyles,n=t.hasCSSVariable;if(Object.assign(s.style,r(e)),n)for(var o=i.length,a=0;a<o;a++){var l=i[a];l.startsWith(\"--\")&&s.style.setProperty(l,e[l])}-1!==i.indexOf(\"scrollLeft\")&&(s.scrollLeft=e.scrollLeft),-1!==i.indexOf(\"scrollTop\")&&(s.scrollTop=e.scrollTop)},uncachedValues:we});var Ee=new Set([\"baseFrequency\",\"diffuseConstant\",\"kernelMatrix\",\"kernelUnitLength\",\"keySplines\",\"keyTimes\",\"limitingConeAngle\",\"markerHeight\",\"markerWidth\",\"numOctaves\",\"targetX\",\"targetY\",\"surfaceScale\",\"specularConstant\",\"specularExponent\",\"stdDeviation\",\"tableValues\"]),ke=function(e,t){return W.transform(e*t)},Se={x:0,y:0,width:0,height:0};function Re(e,t,i){return\"string\"==typeof e?e:W.transform(t+i*e)}var Ne={enableHardwareAcceleration:!1,isDashCase:!1};function Te(e,t,i,s,r,n){void 0===t&&(t=Se),void 0===s&&(s=_e(Ne)),void 0===r&&(r={style:{}}),void 0===n&&(n=!0);var o=e.attrX,a=e.attrY,l=e.originX,h=e.originY,c=e.pathLength,d=e.pathSpacing,u=void 0===d?1:d,m=e.pathOffset,f=void 0===m?0:m,v=s(p(e,[\"attrX\",\"attrY\",\"originX\",\"originY\",\"pathLength\",\"pathSpacing\",\"pathOffset\"]));for(var g in v){if(\"transform\"===g)r.style.transform=v[g];else r[n&&!Ee.has(g)?ie(g):g]=v[g]}return(void 0!==l||void 0!==h||v.transform)&&(r.style.transformOrigin=function(e,t,i){return Re(t,e.x,e.width)+\" \"+Re(i,e.y,e.height)}(t,void 0!==l?l:.5,void 0!==h?h:.5)),void 0!==o&&(r.x=o),void 0!==a&&(r.y=a),void 0!==i&&void 0!==c&&(r[n?\"stroke-dashoffset\":\"strokeDashoffset\"]=ke(-f,i),r[n?\"stroke-dasharray\":\"strokeDasharray\"]=ke(c,i)+\" \"+ke(u,i)),r}function Le(e,t,i){void 0===i&&(i=!0);var s={style:{}},r=_e(Ne);return function(n){return Te(n,e,t,r,s,i)}}var Ie=ee({onRead:function(e,t){var i=t.element;if(me(e=Ee.has(e)?e:ie(e))){var s=xe(e);return s&&s.default||0}return i.getAttribute(e)},onRender:function(e,t){var i=t.element,s=(0,t.buildAttrs)(e);for(var r in s)\"style\"===r?Object.assign(i.style,s.style):i.setAttribute(r,s[r])}}),Oe=ee({useCache:!1,onRead:function(e){return\"scrollTop\"===e?window.pageYOffset:window.pageXOffset},onRender:function(e){var t=e.scrollTop,i=void 0===t?0:t,s=e.scrollLeft,r=void 0===s?0:s;return window.scrollTo(r,i)}}),De=new WeakMap,Ae=function(e,t){var i,s,r,n;return e===window?i=Oe(e):!function(e){return e instanceof HTMLElement||\"function\"==typeof e.click}(e)?function(e){return e instanceof SVGElement||\"ownerSVGElement\"in e}(e)&&(r=function(e){try{return function(e){return\"function\"==typeof e.getBBox?e.getBBox():e.getBoundingClientRect()}(e)}catch(t){return{x:0,y:0,width:0,height:0}}}(s=e),n=function(e){return\"path\"===e.tagName}(s)&&s.getTotalLength?s.getTotalLength():void 0,i=Ie({element:s,buildAttrs:Le(r,n)})):i=function(e,t){void 0===t&&(t={});var i=t.enableHardwareAcceleration,s=t.allowTransformNone,r=p(t,[\"enableHardwareAcceleration\",\"allowTransformNone\"]);return Me(v({element:e,buildStyles:_e({enableHardwareAcceleration:i,allowTransformNone:s}),preparseOutput:!0},r))}(e,t),De.set(e,i),i};function Ve(e,t){return function(e,t){return De.has(e)?De.get(e):Ae(e,t)}(\"string\"==typeof e?document.querySelector(e):e,t)}var He=function(e,t,i,s){var r=i?i.call(s,e,t):void 0;if(void 0!==r)return!!r;if(e===t)return!0;if(\"object\"!=typeof e||!e||\"object\"!=typeof t||!t)return!1;var n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(var a=Object.prototype.hasOwnProperty.bind(t),l=0;l<n.length;l++){var h=n[l];if(!a(h))return!1;var c=e[h],d=t[h];if(!1===(r=i?i.call(s,c,d,h):void 0)||void 0===r&&c!==d)return!1}return!0};const We=\"!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\",je=We.length,Pe=Array(20),Ye=()=>{for(let e=0;e<20;e++)Pe[e]=We.charAt(Math.random()*je);return Pe.join(\"\")};class Xe{constructor(){this.disposers=new Map}add(e,t=Ye()){return this.flush(t),this.disposers.set(t,e()),t}addDisposer(e,t=Ye()){return this.flush(t),this.disposers.set(t,e),t}addEventListener(e,t,i,s,r=Ye()){return this.add((()=>(e.addEventListener(t,i,s),()=>e.removeEventListener(t,i,s))),r),r}setTimeout(e,t,i=Ye()){return this.add((()=>{const s=window.setTimeout((()=>{this.remove(i),e()}),t);return()=>window.clearTimeout(s)}),i)}setInterval(e,t,i=Ye()){return this.add((()=>{const i=window.setInterval(e,t);return()=>window.clearInterval(i)}),i)}remove(e){const t=this.disposers.get(e);return this.disposers.delete(e),t}flush(e){const t=this.remove(e);if(t)try{t()}catch(i){console.error(i)}}flushAll(){this.disposers.forEach((e=>{try{e()}catch(t){console.error(t)}})),this.disposers.clear()}}var Fe=Object.defineProperty,Ze=(\"undefined\"!=typeof require&&require,(e,t,i)=>{return n=i,(r=\"symbol\"!=typeof t?t+\"\":t)in(s=e)?Fe(s,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):s[r]=n,i;var s,r,n});class qe{constructor(e,t){Ze(this,\"_value\"),Ze(this,\"_beforeDestroys\"),Ze(this,\"_subscribers\"),this._value=e,t&&(this.compare=t)}get value(){return this._value}setValue(e,t){if(!this.compare(e,this._value)){const i=this._value;this._value=e,this._subscribers&&this._subscribers.forEach((s=>s(e,i,t)))}}reaction(e){return this._subscribers||(this._subscribers=new Set),this._subscribers.add(e),()=>{this._subscribers&&this._subscribers.delete(e)}}subscribe(e,t){const i=this.reaction(e);return e(this._value,void 0,t),i}derive(e,t,i){const s=new qe(e(this.value,void 0,i),t),r=this.reaction(((t,i,r)=>{s.setValue(e(t,i,r))}));return s.addBeforeDestroy(r),s}destroy(){this._beforeDestroys&&(this._beforeDestroys.forEach((e=>e())),this._beforeDestroys.clear()),this._subscribers&&this._subscribers.clear()}addBeforeDestroy(e){return this._beforeDestroys||(this._beforeDestroys=new Set),this._beforeDestroys.add(e),()=>{this._beforeDestroys&&this._beforeDestroys.delete(e)}}compare(e,t){return e===t}}function Ge(e,t){Object.keys(t).forEach((i=>{!function(e,t,i){var s;Object.defineProperties(e,{[t]:{get:()=>i.value},[`_${t}$`]:{value:i},[`set${s=t,s[0].toUpperCase()+s.slice(1)}`]:{value:(e,t)=>i.setValue(e,t)}})}(e,i,t[i])}))}function Ue(e){const t=t=>{const i=e.addDisposer((()=>{t.destroy()}));return t.addBeforeDestroy((()=>{e.remove(i)})),t};return{bindSideEffect:t,combine:(e,i,s,r)=>t(function(e,t,i,s){let r=e.map((e=>e.value));const n=new qe(t(r,void 0,s),i);return e.forEach(((e,i)=>{const s=e.reaction(((e,s,o)=>{const a=r.slice();a[i]=e;const l=r;r=a,n.setValue(t(a,l,o),o)}));n.addBeforeDestroy(s)})),n}(e,i,s,r)),createVal:(e,i)=>t(new qe(e,i))}}var Je,Qe,Ke,et,tt,it,st,rt,nt,ot;(Qe=Je||(Je={})).Light=\"light\",Qe.Dark=\"dark\",Qe.Auto=\"auto\",(et=Ke||(Ke={})).Normal=\"normal\",et.Minimized=\"minimized\",et.Maximized=\"maximized\",(it=tt||(tt={})).DarkMode=\"dark_mode\",it.PrefersColorScheme=\"prefers_color_scheme\",it.Close=\"close\",it.Focus=\"focus\",it.Blur=\"blur\",it.Move=\"move\",it.Resize=\"resize\",it.IntrinsicMove=\"intrinsic_move\",it.IntrinsicResize=\"intrinsic_resize\",it.VisualResize=\"visual_resize\",it.ZIndex=\"z_index\",it.State=\"state\",it.Minimized=\"minimized\",it.Maximized=\"maximized\",it.Readonly=\"readonly\",it.Destroyed=\"destroyed\",(rt=st||(st={})).Close=\"close\",rt.Maximize=\"maximize\",rt.Minimize=\"minimize\",(ot=nt||(nt={})).North=\"n\",ot.South=\"s\",ot.West=\"w\",ot.East=\"e\",ot.NorthWest=\"nw\",ot.NorthEast=\"ne\",ot.SouthEast=\"se\",ot.SouthWest=\"sw\";const at=\"dh\";function lt(e,t,i){return Math.min(Math.max(e,t),i)}function ht(e){e.stopPropagation(),e.cancelable&&e.preventDefault()}function ct(e){return e.touches?e.touches[0]:e}function dt(){return Date.now().toString().slice(6)+Math.random().toString().slice(2,8)}let ut=1;function mt(){return\"New Box \"+ut++}function ft(e){return Boolean(e)}function vt(e){return!e}class pt{constructor({readonly:e=!1,title:t,buttons:i,onEvent:s,onDragStart:r,namespace:n=\"telebox\",state:o=Ke.Normal}={}){this.$btns=[],this.sideEffect=new Xe,this.lastTitleBarClick={timestamp:0,clientX:-100,clientY:-100},this.handleTitleBarClick=e=>{var t;if(this.readonly)return;if(0!==e.button)return;if(null==(t=e.target.dataset)?void 0:t.teleTitleBarNoDblClick)return;ht(e);const i=Date.now();i-this.lastTitleBarClick.timestamp<=500?Math.abs(e.clientX-this.lastTitleBarClick.clientX)<=3&&Math.abs(e.clientY-this.lastTitleBarClick.clientY)<=3&&this.onEvent&&this.onEvent({type:st.Maximize}):this.onDragStart&&this.onDragStart(e),this.lastTitleBarClick.timestamp=i,this.lastTitleBarClick.clientX=e.clientX,this.lastTitleBarClick.clientY=e.clientY},this.lastTitleBarTouch={timestamp:0,clientX:-100,clientY:-100},this.handleTitleBarTouch=e=>{var t;if(this.readonly)return;if(null==(t=e.target.dataset)?void 0:t.teleTitleBarNoDblClick)return;ht(e);const i=Date.now(),{clientX:s=this.lastTitleBarTouch.clientX+100,clientY:r=this.lastTitleBarTouch.clientY+100}=e.touches[0]||{};i-this.lastTitleBarTouch.timestamp<=500?Math.abs(s-this.lastTitleBarTouch.clientX)<=3&&Math.abs(r-this.lastTitleBarTouch.clientY)<=3&&this.onEvent&&this.onEvent({type:st.Maximize}):this.onDragStart&&this.onDragStart(e),this.lastTitleBarTouch.timestamp=i,this.lastTitleBarTouch.clientX=s,this.lastTitleBarTouch.clientY=r},this.readonly=e,this.onEvent=s,this.onDragStart=r,this.namespace=n,this.title=t,this.state=o,this.buttons=i||[{type:st.Minimize,iconClassName:this.wrapClassName(\"titlebar-icon-minimize\")},{type:st.Maximize,iconClassName:this.wrapClassName(\"titlebar-icon-maximize\"),isActive:e=>e===Ke.Maximized},{type:st.Close,iconClassName:this.wrapClassName(\"titlebar-icon-close\")}],this.$dragArea=this.renderDragArea()}setTitle(e){this.title=e,this.$title&&(this.$title.textContent=e,this.$title.title=e)}setState(e){this.state!==e&&(this.state=e,this.buttons.forEach(((t,i)=>{t.isActive&&this.$btns[i].classList.toggle(\"is-active\",t.isActive(e))})))}setReadonly(e){this.readonly!==e&&(this.readonly=e)}render(){if(!this.$titleBar){this.$titleBar=document.createElement(\"div\"),this.$titleBar.className=this.wrapClassName(\"titlebar\");const e=document.createElement(\"div\");e.className=this.wrapClassName(\"title-area\"),e.dataset.teleBoxHandle=\"dh\",this.$title=document.createElement(\"h1\"),this.$title.className=this.wrapClassName(\"title\"),this.$title.dataset.teleBoxHandle=\"dh\",this.title&&(this.$title.textContent=this.title,this.$title.title=this.title),e.appendChild(this.$title),e.appendChild(this.$dragArea);const t=document.createElement(\"div\");t.className=this.wrapClassName(\"titlebar-btns\"),this.buttons.forEach((({iconClassName:e,isActive:i},s)=>{const r=String(s),n=document.createElement(\"button\");n.className=`${this.wrapClassName(\"titlebar-btn\")} ${e}`,n.dataset.teleTitleBarBtnIndex=r,n.dataset.teleTitleBarNoDblClick=\"true\",i&&n.classList.toggle(\"is-active\",i(this.state)),this.$btns.push(n),t.appendChild(n)})),this.sideEffect.addEventListener(t,\"click\",(e=>{var t;if(this.readonly)return;const i=e.target,s=Number(null==(t=i.dataset)?void 0:t.teleTitleBarBtnIndex);if(!Number.isNaN(s)&&s<this.buttons.length){ht(e);const t=this.buttons[s];this.onEvent&&this.onEvent({type:t.type,value:t.value})}})),this.$titleBar.appendChild(e),this.$titleBar.appendChild(t)}return this.$titleBar}renderDragArea(){const e=document.createElement(\"div\");return e.className=this.wrapClassName(\"drag-area\"),e.dataset.teleBoxHandle=\"dh\",this.sideEffect.addEventListener(e,\"mousedown\",this.handleTitleBarClick),this.sideEffect.addEventListener(e,\"touchstart\",this.handleTitleBarTouch,{passive:!0}),e}dragHandle(){return this.$titleBar}wrapClassName(e){return`${this.namespace}-${e}`}destroy(){this.sideEffect.flushAll(),this.$titleBar&&(this.$titleBar=void 0,this.$title=void 0,this.$btns.length=0,this.onDragStart=void 0,this.onEvent=void 0)}}class gt{constructor({id:e=dt(),title:t=mt(),prefersColorScheme:i=Je.Light,darkMode:s,visible:r=!0,width:n=.5,height:o=.5,minWidth:a=0,minHeight:l=0,x:h=.1,y:c=.1,minimized:d=!1,maximized:u=!1,readonly:m=!1,resizable:v=!0,draggable:p=!0,fence:g=!0,fixRatio:b=!1,focus:x=!1,zIndex:y=100,namespace:w=\"telebox\",titleBar:$,content:C,footer:z,styles:B,containerRect:_={x:0,y:0,width:window.innerWidth,height:window.innerHeight},collectorRect:M}={}){this._renderSideEffect=new Xe,this.handleTrackStart=e=>{var t;return null==(t=this._handleTrackStart)?void 0:t.call(this,e)},this._sideEffect=new Xe,this._valSideEffectBinder=Ue(this._sideEffect);const{combine:E,createVal:k}=this._valSideEffectBinder;this.id=e,this.namespace=w,this.events=new f,this._delegateEvents=new f;const S=k(i);S.reaction(((e,t,i)=>{i||this.events.emit(tt.PrefersColorScheme,e)}));const R=k(Boolean(s));null==s&&S.subscribe(((e,t,i)=>{this._sideEffect.add((()=>{if(\"auto\"===e){const e=window.matchMedia(\"(prefers-color-scheme: dark)\");if(e){R.setValue(e.matches,i);const t=e=>{R.setValue(e.matches,i)};return e.addListener(t),()=>e.removeListener(t)}return bt}return R.setValue(\"dark\"===e,i),bt}),\"prefers-color-scheme\")})),R.reaction(((e,t,i)=>{i||this.events.emit(tt.DarkMode,e)}));const N=k(_,He),T=k(M,He),L=k(t),I=k(r);I.reaction(((e,t,i)=>{i||e||this.events.emit(tt.Close)}));const O=k(m);O.reaction(((e,t,i)=>{i||this.events.emit(tt.Readonly,e)}));const D=k(v),A=k(p),V=k(g),H=k(b),W=k(y);W.reaction(((e,t,i)=>{i||this.events.emit(tt.ZIndex,e)}));const j=k(x);j.reaction(((e,t,i)=>{i||this.events.emit(e?tt.Focus:tt.Blur)}));const P=k(d);P.reaction(((e,t,i)=>{i||this.events.emit(tt.Minimized,e)}));const Y=k(u);Y.reaction(((e,t,i)=>{i||this.events.emit(tt.Maximized,e)}));const X=E([P,Y],(([e,t])=>e?Ke.Minimized:t?Ke.Maximized:Ke.Normal));X.reaction(((e,t,i)=>{i||this.events.emit(tt.State,e)}));const F=k({width:lt(a,0,1),height:lt(l,0,1)},He),Z=k({width:lt(n,F.value.width,1),height:lt(o,F.value.height,1)},He);F.reaction(((e,t,i)=>{Z.setValue({width:lt(n,e.width,1),height:lt(o,e.height,1)},i)})),Z.reaction(((e,t,i)=>{i||this.events.emit(tt.IntrinsicResize,e)}));const q=E([Z,Y],(([e,t])=>t?{width:1,height:1}:e),He);q.reaction(((e,t,i)=>{i||this.events.emit(tt.Resize,e)}));const G=E([q,P,N,T],(([e,t,i,s])=>t&&s?{width:s.width/e.width/i.width,height:s.height/e.height/i.height}:e),He);G.reaction(((e,t,i)=>{i||this.events.emit(tt.VisualResize,e)}));const U=k({x:lt(h,0,1),y:lt(c,0,1)},He);U.reaction(((e,t,i)=>{i||this.events.emit(tt.IntrinsicMove,e)}));const J=E([U,Z,N,T,P,Y],(([e,t,i,s,r,n])=>r&&s?n?{x:(s.x+s.width/2)/i.width-.5,y:(s.y+s.height/2)/i.height-.5}:{x:(s.x+s.width/2)/i.width-t.width/2,y:(s.y+s.height/2)/i.height-t.height/2}:n?{x:0,y:0}:e),He);J.reaction(((e,t,i)=>{i||this.events.emit(tt.Move,e)})),this.titleBar=$||new pt({readonly:O.value,title:L.value,namespace:this.namespace,onDragStart:e=>{var t;return null==(t=this._handleTrackStart)?void 0:t.call(this,e)},onEvent:e=>{if(this._delegateEvents.listeners.length>0)this._delegateEvents.emit(e.type);else switch(e.type){case st.Maximize:Y.setValue(!Y.value);break;case st.Minimize:P.setValue(!0);break;case st.Close:I.setValue(!1);break;default:console.error(\"Unsupported titleBar event:\",e)}}}),O.reaction((e=>{this.titleBar.setReadonly(e)}));const Q=k(C),K=k(z),ee=k(B);Ge(this,{prefersColorScheme:S,darkMode:R,containerRect:N,collectorRect:T,title:L,visible:I,readonly:O,resizable:D,draggable:A,fence:V,fixRatio:H,focus:j,zIndex:W,minimized:P,maximized:Y,$userContent:Q,$userFooter:K,$userStyles:ee}),this._state$=X,this._minSize$=F,this._size$=q,this._intrinsicSize$=Z,this._visualSize$=G,this._coord$=J,this._intrinsicCoord$=U,this.fixRatio&&this.transform(J.value.x,J.value.y,q.value.width,q.value.height,!0),this.$box=this.render()}get darkMode(){return this._darkMode$.value}get state(){return this._state$.value}setState(e,t=!1){switch(e){case Ke.Maximized:this.setMinimized(!1,t),this.setMaximized(!0,t);break;case Ke.Minimized:this.setMinimized(!0,t),this.setMaximized(!1,t);break;default:this.setMinimized(!1,t),this.setMaximized(!1,t)}return this}get minWidth(){return this._minSize$.value.width}get minHeight(){return this._minSize$.value.height}setMinWidth(e,t=!1){return this._minSize$.setValue({width:e,height:this.minHeight},t),this}setMinHeight(e,t=!1){return this._minSize$.setValue({width:this.minWidth,height:e},t),this}get intrinsicWidth(){return this._intrinsicSize$.value.width}get intrinsicHeight(){return this._intrinsicSize$.value.height}resize(e,t,i=!1){return this._intrinsicSize$.setValue({width:e,height:t},i),this}get width(){return this._size$.value.width}get height(){return this._size$.value.height}get absoluteWidth(){return this.width*this.containerRect.width}get absoluteHeight(){return this.height*this.containerRect.height}get visualWidth(){return this._visualSize$.value.width}get visualHeight(){return this._visualSize$.value.height}get intrinsicX(){return this._intrinsicCoord$.value.x}get intrinsicY(){return this._intrinsicCoord$.value.y}move(e,t,i=!1){return this._intrinsicCoord$.setValue({x:e,y:t},i),this}get x(){return this._coord$.value.x}get y(){return this._coord$.value.y}transform(e,t,i,s,r=!1){if(this.fixRatio){const e=this.intrinsicHeight/this.intrinsicWidth*i;t!==this.intrinsicY&&(t-=e-s),s=e}return t<0&&(t=0,s>this.intrinsicHeight&&(s=this.intrinsicHeight)),this._intrinsicCoord$.setValue({x:i>=this.minWidth?e:this.intrinsicX,y:s>=this.minHeight?t:this.intrinsicY},r),this._intrinsicSize$.setValue({width:lt(i,this.minWidth,1),height:lt(s,this.minHeight,1)},r),this}mount(e){return e.appendChild(this.render()),this}unmount(){return this.$box&&this.$box.remove(),this}mountContent(e){return this.set$userContent(e),this}unmountContent(){return this.set$userContent(void 0),this}mountFooter(e){return this.set$userFooter(e),this}unmountFooter(){return this.set$userFooter(void 0),this}getUserStyles(){return this.$userStyles}mountStyles(e){let t;return\"string\"==typeof e?(t=document.createElement(\"style\"),t.textContent=e):t=e,this.set$userStyles(t),this}unmountStyles(){return this.set$userStyles(void 0),this}render(e){if(e){if(e===this.$box)return this.$box;this.$box=e}else{if(this.$box)return this.$box;this.$box=document.createElement(\"div\")}this._renderSideEffect.flushAll(),this.$box.classList.add(this.wrapClassName(\"box\"));const t=(e,t,i,s=ft)=>this._renderSideEffect.add((()=>{const r=this.wrapClassName(i);return t.subscribe((t=>{e.classList.toggle(r,s(t))}))}));t(this.$box,this._readonly$,\"readonly\"),t(this.$box,this._draggable$,\"no-drag\",vt),t(this.$box,this._resizable$,\"no-resize\",vt),t(this.$box,this._focus$,\"blur\",vt),t(this.$box,this._darkMode$,\"color-scheme-dark\"),t(this.$box,this._darkMode$,\"color-scheme-light\",vt),this._renderSideEffect.add((()=>{const e=this.wrapClassName(\"minimized\"),t=this.wrapClassName(\"maximized\"),i=\"box-maximized-timer\";return this._state$.subscribe((s=>{this.$box.classList.toggle(e,s===Ke.Minimized),s===Ke.Maximized?(this._renderSideEffect.flush(i),this.$box.classList.toggle(t,!0)):this._renderSideEffect.setTimeout((()=>{this.$box.classList.toggle(t,!1)}),0,i)}))})),this._renderSideEffect.add((()=>this._visible$.subscribe((e=>{this.$box.style.display=e?\"block\":\"none\"})))),this._renderSideEffect.add((()=>this._zIndex$.subscribe((e=>{this.$box.style.zIndex=String(e)}))));const i=Ve(this.$box);this.$box.dataset.teleBoxID=this.id,this.$box.style.width=this.absoluteWidth+\"px\",this.$box.style.height=this.absoluteHeight+\"px\";const s=this.x*this.containerRect.width+this.containerRect.x,r=this.y*this.containerRect.height+this.containerRect.y;this.$box.style.transform=`translate(${s-10}px,${r-10}px)`,this._valSideEffectBinder.combine([this._coord$,this._size$,this._minimized$,this._containerRect$,this._collectorRect$],(([e,t,i,s,r])=>{const n=t.width*s.width,o=t.height*s.height;return{width:n,height:o,x:e.x*s.width,y:e.y*s.height,scaleX:i&&r?r.width/n:1,scaleY:i&&r?r.height/o:1}}),He).subscribe((e=>{i.set(e)})),i.set({x:s,y:r});const n=document.createElement(\"div\");n.className=this.wrapClassName(\"box-main\"),this.$box.appendChild(n);const o=document.createElement(\"div\");o.className=this.wrapClassName(\"titlebar-wrap\"),o.appendChild(this.titleBar.render()),this.$titleBar=o;const a=document.createElement(\"div\");a.className=this.wrapClassName(\"content-wrap\");const l=document.createElement(\"div\");l.className=this.wrapClassName(\"content\")+\" tele-fancy-scrollbar\",this.$content=l,this._renderSideEffect.add((()=>{let e;return this._$userStyles$.subscribe((t=>{e&&e.remove(),e=t,t&&a.appendChild(t)}))})),this._renderSideEffect.add((()=>{let e;return this._$userContent$.subscribe((t=>{e&&e.remove(),e=t,t&&l.appendChild(t)}))})),a.appendChild(l);const h=document.createElement(\"div\");return h.className=this.wrapClassName(\"footer-wrap\"),this.$footer=h,this._renderSideEffect.add((()=>{let e;return this._$userFooter$.subscribe((t=>{e&&e.remove(),e=t,t&&h.appendChild(t)}))})),n.appendChild(o),n.appendChild(a),n.appendChild(h),this._renderResizeHandlers(),this.$box}_renderResizeHandlers(){const e=document.createElement(\"div\");e.className=this.wrapClassName(\"resize-handles\"),Object.values(nt).forEach((t=>{const i=document.createElement(\"div\");i.className=this.wrapClassName(t)+\" \"+this.wrapClassName(\"resize-handle\"),i.dataset.teleBoxHandle=t,e.appendChild(i)})),this.$box.appendChild(e);const t=\"handle-tracking-listener\",i=this.wrapClassName(\"transforming\");let s,r,n=0,o=0,a=0,l=0,h=0,c=0;const d=e=>{if(this.state!==Ke.Normal)return;ht(e);let{pageX:t,pageY:i}=ct(e);i<0&&(i=0);const s=(t-h)/this.containerRect.width,d=(i-c)/this.containerRect.height;switch(r){case nt.North:this.transform(this.x,o+d,this.width,l-d);break;case nt.South:this.transform(this.x,this.y,this.width,l+d);break;case nt.West:this.transform(n+s,this.y,a-s,this.height);break;case nt.East:this.transform(this.x,this.y,a+s,this.height);break;case nt.NorthWest:this.transform(n+s,o+d,a-s,l-d);break;case nt.NorthEast:this.transform(this.x,o+d,a+s,l-d);break;case nt.SouthEast:this.transform(this.x,this.y,a+s,l+d);break;case nt.SouthWest:this.transform(n+s,this.y,a-s,l+d);break;default:if(this.fence)this.move(lt(n+s,0,1-this.width),lt(o+d,0,1-this.height));else{const e=20/this.containerRect.width,t=20/this.containerRect.height;this.move(lt(n+s,e-this.width,1-e),lt(o+d,0,1-t))}}},u=e=>{r=void 0,s&&(ht(e),this.$box.classList.toggle(i,!1),this._sideEffect.flush(t),s.remove())},m=e=>{var m;if(this.readonly)return;if(null!=e.button&&0!==e.button)return;if(!this.draggable||r||this.state!==Ke.Normal)return;const f=e.target;if(null==(m=f.dataset)?void 0:m.teleBoxHandle){ht(e),n=this.x,o=this.y,a=this.width,l=this.height,({pageX:h,pageY:c}=ct(e)),r=f.dataset.teleBoxHandle,s||(s=document.createElement(\"div\"));const m=r?this.wrapClassName(`cursor-${r}`):\"\";s.className=this.wrapClassName(\"track-mask\"+(m?` ${m}`:\"\")),this.$box.appendChild(s),this.$box.classList.add(i),this._sideEffect.add((()=>(window.addEventListener(\"mousemove\",d),window.addEventListener(\"touchmove\",d,{passive:!1}),window.addEventListener(\"mouseup\",u),window.addEventListener(\"touchend\",u,{passive:!1}),window.addEventListener(\"touchcancel\",u,{passive:!1}),()=>{window.removeEventListener(\"mousemove\",d),window.removeEventListener(\"touchmove\",d),window.removeEventListener(\"mouseup\",u),window.removeEventListener(\"touchend\",u),window.removeEventListener(\"touchcancel\",u)})),t)}};this._handleTrackStart=m,this._sideEffect.addEventListener(e,\"mousedown\",m,{},\"box-resizeHandles-mousedown\"),this._sideEffect.addEventListener(e,\"touchstart\",m,{passive:!1},\"box-resizeHandles-touchstart\")}destroy(){this.$box.remove(),this.events.emit(tt.Destroyed),this._sideEffect.flushAll(),this._renderSideEffect.flushAll(),this.events.removeAllListeners(),this._delegateEvents.removeAllListeners()}wrapClassName(e){return`${this.namespace}-${e}`}}function bt(){}const xt=(e,t)=>{const i=c(!0);d((()=>{if(!i.current)return e();i.current=!1}),t)},yt=e=>{const[t]=u((()=>new gt(e)));return xt((()=>{null!=e.prefersColorScheme&&t.setPrefersColorScheme(e.prefersColorScheme)}),[t,e.prefersColorScheme]),xt((()=>{null!=e.minWidth&&t.setMinWidth(e.minWidth)}),[t,e.minWidth]),xt((()=>{null!=e.minHeight&&t.setMinHeight(e.minHeight)}),[t,e.minHeight]),xt((()=>{var i,s;t.resize(null!=(i=e.width)?i:t.width,null!=(s=e.height)?s:t.height,!0)}),[t,e.width,e.height]),xt((()=>{var i,s;t.move(null!=(i=e.x)?i:t.x,null!=(s=e.y)?s:t.y,!0)}),[t,e.x,e.y]),xt((()=>{null!=e.title&&t.setTitle(e.title)}),[t,e.title]),xt((()=>{null!=e.visible&&t.setVisible(e.visible)}),[t,e.visible]),xt((()=>{null!=e.minimized&&t.setMinimized(e.minimized,!0)}),[t,e.minimized]),xt((()=>{null!=e.maximized&&t.setMaximized(e.maximized,!0)}),[t,e.maximized]),xt((()=>{null!=e.state&&t.setState(e.state,!0)}),[t,e.state]),xt((()=>{null!=e.draggable&&t.setDraggable(e.draggable)}),[t,e.draggable]),xt((()=>{null!=e.resizable&&t.setResizable(e.resizable)}),[t,e.resizable]),xt((()=>{null!=e.fence&&t.setFence(e.fence)}),[t,e.fence]),xt((()=>{null!=e.containerRect&&t.setContainerRect(e.containerRect)}),[t,e.containerRect]),xt((()=>{null!=e.fixRatio&&t.setFixRatio(e.fixRatio)}),[t,e.fixRatio]),d((()=>{if(e.onResize)return t.events.on(tt.Resize,e.onResize),()=>{t.events.off(tt.Resize,e.onResize)}}),[t,e.onResize]),d((()=>{if(e.onMove)return t.events.on(tt.Move,e.onMove),()=>{t.events.off(tt.Move,e.onMove)}}),[t,e.onMove]),d((()=>{if(e.onClose)return t.events.on(tt.Close,e.onClose),()=>{t.events.off(tt.Close,e.onClose)}}),[t,e.onClose]),d((()=>{if(e.onFocus)return t.events.on(tt.Focus,e.onFocus),()=>{t.events.off(tt.Focus,e.onFocus)}}),[t,e.onFocus]),d((()=>{if(e.onBlur)return t.events.on(tt.Blur,e.onBlur),()=>{t.events.off(tt.Blur,e.onBlur)}}),[t,e.onBlur]),d((()=>{if(e.onStateChanged)return t.events.on(tt.State,e.onStateChanged),()=>{t.events.off(tt.State,e.onStateChanged)}}),[t,e.onStateChanged]),h.createElement(\"div\",{ref:e=>e&&t.render(e),className:t.wrapClassName(\"box\")})};var wt,$t;class Ct{constructor({visible:e=!0,readonly:t=!1,darkMode:i=!1,namespace:s=\"telebox\",styles:r={},onClick:n}={}){this.handleCollectorClick=()=>{!this._readonly&&this.onClick&&this.onClick()},this._visible=e,this._readonly=t,this._darkMode=i,this.namespace=s,this.styles=r,this.onClick=n}get visible(){return this._visible}get readonly(){return this._readonly}get darkMode(){return this._darkMode}mount(e){return e.appendChild(this.render()),this}unmount(){return this.$collector&&this.$collector.remove(),this}setVisible(e){return this._visible!==e&&(this._visible=e,this.$collector&&this.$collector.classList.toggle(this.wrapClassName(\"collector-visible\"),e)),this}setReadonly(e){return this._readonly!==e&&(this._readonly=e,this.$collector&&this.$collector.classList.toggle(this.wrapClassName(\"collector-readonly\"),e)),this}setDarkMode(e){return this._darkMode!==e&&(this._darkMode=e,this.$collector&&(this.$collector.classList.toggle(this.wrapClassName(\"color-scheme-dark\"),e),this.$collector.classList.toggle(this.wrapClassName(\"color-scheme-light\"),!e))),this}setStyles(e){if(Object.assign(this.styles,e),this.$collector){const t=this.$collector;Object.keys(e).forEach((i=>{const s=e[i];null!=s&&(t.style[i]=s)}))}return this}render(){return this.$collector||(this.$collector=document.createElement(\"button\"),this.$collector.className=this.wrapClassName(\"collector\"),this.$collector.style.backgroundImage=\"url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxNiI+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIHN0cm9rZT0iIzdCODhBMCIgc3Ryb2tlLXdpZHRoPSIxLjQiIGQ9Ik0uNyAxLjJoMTYuNnYxMy42SC43eiIgLz4KICAgICAgICA8cGF0aCBmaWxsPSIjN0I4OEEwIiBkPSJNNCA1LjVoNnYxLjRINHpNNCA5LjVoMTB2MS40SDR6IiAvPgogICAgPC9nPgo8L3N2Zz4K')\",this.$collector.addEventListener(\"click\",this.handleCollectorClick),this._visible&&this.$collector.classList.add(this.wrapClassName(\"collector-visible\")),this._readonly&&this.$collector.classList.add(this.wrapClassName(\"collector-readonly\")),this.$collector.classList.add(this.wrapClassName(this._darkMode?\"color-scheme-dark\":\"color-scheme-light\")),this.setStyles(this.styles)),this.$collector}destroy(){this.$collector&&(this.$collector.removeEventListener(\"click\",this.handleCollectorClick),this.$collector.remove(),this.$collector=void 0),this.onClick=void 0}wrapClassName(e){return`${this.namespace}-${e}`}}($t=wt||(wt={})).Focused=\"focused\",$t.Blurred=\"blurred\",$t.Created=\"created\",$t.Removed=\"removed\",$t.State=\"state\",$t.Maximized=\"maximized\",$t.Minimized=\"minimized\",$t.Move=\"move\",$t.Resize=\"resize\",$t.IntrinsicMove=\"intrinsic_move\",$t.IntrinsicResize=\"intrinsic_resize\",$t.VisualResize=\"visual_resize\",$t.ZIndex=\"z_index\",$t.PrefersColorScheme=\"prefers_color_scheme\",$t.DarkMode=\"dark_mode\";class zt extends pt{constructor(e){super(e),this.boxes=e.boxes,this.focusedBox=e.focusedBox,this.containerRect=e.containerRect,this.darkMode=e.darkMode}focusBox(e){var t;if(!this.focusedBox||this.focusedBox!==e){if(this.$titles&&this.state===Ke.Maximized){const{children:i}=this.$titles.firstElementChild;for(let s=i.length-1;s>=0;s-=1){const r=i[s],n=null==(t=r.dataset)?void 0:t.teleBoxID;n&&(e&&n===e.id?r.classList.toggle(this.wrapClassName(\"titles-tab-focus\"),!0):this.focusedBox&&n===this.focusedBox.id&&r.classList.toggle(this.wrapClassName(\"titles-tab-focus\"),!1))}}this.focusedBox=e}}setContainerRect(e){if(this.containerRect=e,this.$titleBar){const{x:t,y:i,width:s}=e;this.$titleBar.style.transform=`translate(${t}px, ${i}px)`,this.$titleBar.style.width=s+\"px\"}}setBoxes(e){this.boxes=e,this.updateTitles()}setState(e){super.setState(e),this.$titleBar&&this.$titleBar.classList.toggle(this.wrapClassName(\"max-titlebar-maximized\"),e===Ke.Maximized),this.updateTitles()}setReadonly(e){super.setReadonly(e),this.$titleBar&&this.$titleBar.classList.toggle(this.wrapClassName(\"readonly\"),this.readonly)}setDarkMode(e){e!==this.darkMode&&(this.darkMode=e,this.$titleBar&&(this.$titleBar.classList.toggle(this.wrapClassName(\"color-scheme-dark\"),e),this.$titleBar.classList.toggle(this.wrapClassName(\"color-scheme-light\"),!e)))}render(){var e;const t=super.render();(null==(e=t.firstElementChild)?void 0:e.nextElementSibling)&&t.insertBefore(this.$dragArea,t.firstElementChild.nextElementSibling);const{x:i,y:s,width:r}=this.containerRect;return t.style.transform=`translate(${i}px, ${s}px)`,t.style.width=r+\"px\",t.classList.add(this.wrapClassName(\"max-titlebar\")),t.classList.toggle(this.wrapClassName(\"max-titlebar-maximized\"),this.state===Ke.Maximized),t.classList.toggle(this.wrapClassName(\"readonly\"),this.readonly),t.classList.add(this.wrapClassName(this.darkMode?\"color-scheme-dark\":\"color-scheme-light\")),this.updateTitles(),t}destroy(){super.destroy(),this.$titles=void 0,this.boxes.length=0,this.focusedBox=void 0}updateTitles(){this.$titleBar&&this.state===Ke.Maximized&&(1===this.boxes.length?this.$title&&(this.$title.textContent=this.boxes[0].title,this.$titleBar.replaceChild(this.$title,this.$titleBar.firstElementChild)):this.$titleBar.replaceChild(this.renderTitles(),this.$titleBar.firstElementChild))}renderTitles(){this.$titles=document.createElement(\"div\"),this.$titles.className=this.wrapClassName(\"titles\"),this.$titles.addEventListener(\"wheel\",(e=>{e.currentTarget.scrollBy({left:e.deltaY>0?250:-250,behavior:\"smooth\"})}),{passive:!1});const e=document.createElement(\"div\");return e.className=this.wrapClassName(\"titles-content\"),this.$titles.appendChild(e),this.boxes.forEach((t=>{const i=document.createElement(\"button\");i.className=this.wrapClassName(\"titles-tab\"),i.textContent=t.title,i.dataset.teleBoxID=t.id,i.dataset.teleTitleBarNoDblClick=\"true\",this.focusedBox&&t.id===this.focusedBox.id&&i.classList.add(this.wrapClassName(\"titles-tab-focus\")),e.appendChild(i)})),this.$titles}}class Bt{constructor({root:e=document.body,prefersColorScheme:t=Je.Light,minimized:i=!1,maximized:s=!1,fence:r=!0,containerRect:n={x:0,y:0,width:window.innerWidth,height:window.innerHeight},collector:o,namespace:a=\"telebox\",readonly:l=!1}={}){this.events=new f,this._sideEffect=new Xe;const{combine:h,createVal:c}=Ue(this._sideEffect);this.root=e,this.namespace=a,this.boxes$=c([]),this.topBox$=this.boxes$.derive((e=>{if(e.length>0){return e.reduce(((e,t)=>e.zIndex>t.zIndex?e:t))}}));const d=window.matchMedia(\"(prefers-color-scheme: dark)\"),u=c(!1);d&&(u.setValue(d.matches),this._sideEffect.add((()=>{const e=e=>{u.setValue(e.matches)};return d.addListener(e),()=>d.removeListener(e)})));const m=c(t);m.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setPrefersColorScheme(e,i))),i||this.events.emit(wt.PrefersColorScheme,e)})),this._darkMode$=h([u,m],(([e,t])=>\"auto\"===t?e:\"dark\"===t)),this._darkMode$.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setDarkMode(e,i))),i||this.events.emit(wt.DarkMode,e)}));const v=c(l);v.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setReadonly(e,i)))}));const p=c(i),g=c(s);g.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setMaximized(e,i))),i||this.events.emit(wt.Maximized,e)}));const b=h([p,g],(([e,t])=>e?Ke.Minimized:t?Ke.Maximized:Ke.Normal));b.reaction(((e,t,i)=>{this.maxTitleBar.setState(e),i||this.events.emit(wt.State,e)}));const x=c(r);x.subscribe(((e,t,i)=>{this.boxes.forEach((t=>t.setFence(e,i)))}));const y=c(n,He);y.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setContainerRect(e,i))),this.maxTitleBar.setContainerRect(e)}));const w=c(null===o?null:o||new Ct({visible:i,readonly:l,namespace:a}).mount(e));w.subscribe((e=>{e&&(e.setVisible(p.value),e.setReadonly(v.value),e.setDarkMode(this._darkMode$.value),this._sideEffect.add((()=>(e.onClick=()=>{v.value||p.setValue(!1)},()=>e.destroy())),\"collect-onClick\"))})),v.subscribe((e=>{var t;return null==(t=w.value)?void 0:t.setReadonly(e)})),this._darkMode$.subscribe((e=>{var t;null==(t=w.value)||t.setDarkMode(e)}));const $=()=>{var e;if(null==(e=w.value)?void 0:e.$collector){const{x:e,y:t,width:i,height:s}=w.value.$collector.getBoundingClientRect(),r=this.root.getBoundingClientRect();return{x:e-r.x,y:t-r.y,width:i,height:s}}},C=c(p.value?$():void 0);C.subscribe(((e,t,i)=>{this.boxes.forEach((t=>{t.setCollectorRect(e,i)}))})),p.subscribe(((e,t,i)=>{var s,r;null==(s=w.value)||s.setVisible(e),e&&(null==(r=w.value)?void 0:r.$collector)&&C.setValue($()),this.boxes.forEach((t=>t.setMinimized(e,i))),i||this.events.emit(wt.Minimized,e)}));const z=this.wrapClassName(\"titlebar-icon-close\"),B=e=>{var t;if(v.value)return;const i=e.target;if(i.tagName)for(let s=i;s;s=s.parentElement){if(s.classList&&s.classList.contains(z))return;const e=null==(t=s.dataset)?void 0:t.teleBoxID;if(e){const t=this.getBox(e);if(t)return this.focusBox(t),void this.makeBoxTop(t)}}};this._sideEffect.addEventListener(window,\"mousedown\",B,!0),this._sideEffect.addEventListener(window,\"touchstart\",B,!0),this.maxTitleBar=new zt({darkMode:this.darkMode,readonly:v.value,namespace:this.namespace,state:b.value,boxes:this.boxes$.value,containerRect:y.value,onEvent:e=>{switch(e.type){case st.Maximize:g.setValue(!g.value);break;case st.Minimize:p.setValue(!0);break;case tt.Close:this.removeTopBox(),this.focusTopBox()}}}),v.subscribe((e=>this.maxTitleBar.setReadonly(e))),this._darkMode$.subscribe((e=>{this.maxTitleBar.setDarkMode(e)})),this.boxes$.reaction((e=>{this.maxTitleBar.setBoxes(e)}));Ge(this,{prefersColorScheme:m,containerRect:y,collector:w,collectorRect:C,readonly:v,fence:x,minimized:p,maximized:g}),this._state$=b,this.root.appendChild(this.maxTitleBar.render())}get boxes(){return this.boxes$.value}get topBox(){return this.topBox$.value}get darkMode(){return this._darkMode$.value}get state(){return this._state$.value}setState(e,t=!1){switch(e){case Ke.Maximized:this.setMinimized(!1,t),this.setMaximized(!0,t);break;case Ke.Minimized:this.setMinimized(!0,t),this.setMaximized(!1,t);break;default:this.setMinimized(!1,t),this.setMaximized(!1,t)}return this}create(e={},t=!0){const i=new gt(l(a({zIndex:this.topBox?this.topBox.zIndex+1:100},t?this.smartPosition(e):e),{darkMode:this.darkMode,prefersColorScheme:this.prefersColorScheme,maximized:this.maximized,minimized:this.minimized,fence:this.fence,namespace:this.namespace,containerRect:this.containerRect,readonly:this.readonly,collectorRect:this.collectorRect}));return i.mount(this.root),i.focus&&(this.focusBox(i),t&&this.makeBoxTop(i)),this.boxes$.setValue([...this.boxes,i]),i._delegateEvents.on(st.Maximize,(()=>{this.setMaximized(!this.maximized)})),i._delegateEvents.on(st.Minimize,(()=>{this.setMinimized(!0)})),i._delegateEvents.on(st.Close,(()=>{this.remove(i),this.focusTopBox()})),i._coord$.reaction(((e,t,s)=>{s||this.events.emit(wt.Move,i)})),i._size$.reaction(((e,t,s)=>{s||this.events.emit(wt.Resize,i)})),i._intrinsicCoord$.reaction(((e,t,s)=>{s||this.events.emit(wt.IntrinsicMove,i)})),i._intrinsicSize$.reaction(((e,t,s)=>{s||this.events.emit(wt.IntrinsicResize,i)})),i._visualSize$.reaction(((e,t,s)=>{s||this.events.emit(wt.VisualResize,i)})),i._zIndex$.reaction(((e,t,s)=>{if(this.boxes.length>0){const e=this.boxes.reduce(((e,t)=>e.zIndex>t.zIndex?e:t));this.topBox$.setValue(e)}s||this.events.emit(wt.ZIndex,i)})),this.events.emit(wt.Created,i),i}query(e){return e?this.boxes.filter(this.teleBoxMatcher(e)):[...this.boxes]}queryOne(e){return e?this.boxes.find(this.teleBoxMatcher(e)):this.boxes[0]}update(e,t,i=!1){const s=this.boxes.find((t=>t.id===e));if(s)return this.updateBox(s,t,i)}updateAll(e,t=!1){this.boxes.forEach((i=>{this.updateBox(i,e,t)}))}remove(e,t=!1){const i=this.getBoxIndex(e);if(i>=0){const e=this.boxes.slice(),s=e.splice(i,1);return this.boxes$.setValue(e),s.forEach((e=>e.destroy())),t||(this.boxes.length<=0&&(this.setMaximized(!1),this.setMinimized(!1)),this.events.emit(wt.Removed,s)),s[0]}}removeTopBox(){if(this.topBox)return this.remove(this.topBox)}removeAll(e=!1){const t=this.boxes$.value;return this.boxes$.setValue([]),t.forEach((e=>e.destroy())),e||(this.boxes.length<=0&&(this.setMaximized(!1),this.setMinimized(!1)),this.events.emit(wt.Removed,t)),t}destroy(e=!1){this.events.removeAllListeners(),this._sideEffect.flushAll(),this.removeAll(e),Object.keys(this).forEach((e=>{const t=this[e];t instanceof qe&&t.destroy()}))}wrapClassName(e){return`${this.namespace}-${e}`}focusBox(e,t=!1){const i=this.getBox(e);i&&(this.boxes.forEach((e=>{if(i===e){let e=!1;i.focus||(e=!0,i.setFocus(!0,t)),e&&!t&&this.events.emit(wt.Focused,i)}else e.focus&&this.blurBox(e,t)})),this.maxTitleBar.focusBox(i))}focusTopBox(){if(this.topBox&&!this.topBox.focus)return this.focusBox(this.topBox)}blurBox(e,t=!1){const i=this.getBox(e);i&&(i.focus&&(i.setFocus(!1,t),t||this.events.emit(wt.Blurred,i)),this.maxTitleBar.focusedBox===i&&this.maxTitleBar.focusBox())}blurAll(e=!1){this.boxes.forEach((t=>{t.focus&&(t.setFocus(!1,e),e||this.events.emit(wt.Blurred,t))})),this.maxTitleBar.focusedBox&&this.maxTitleBar.focusBox()}teleBoxMatcher(e){const t=Object.keys(e);return i=>t.every((t=>e[t]===i[t]))}updateBox(e,t,i=!1){null==t.x&&null==t.y||e.move(null==t.x?e.intrinsicX:t.x,null==t.y?e.intrinsicY:t.y,i),null==t.width&&null==t.height||e.resize(null==t.width?e.intrinsicWidth:t.width,null==t.height?e.intrinsicHeight:t.height,i),null!=t.title&&(e.setTitle(t.title),this.maxTitleBar.updateTitles()),null!=t.visible&&e.setVisible(t.visible,i),null!=t.minHeight&&e.setMinHeight(t.minHeight,i),null!=t.minWidth&&e.setMinWidth(t.minWidth,i),null!=t.resizable&&e.setResizable(t.resizable,i),null!=t.draggable&&e.setDraggable(t.draggable,i),null!=t.fixRatio&&e.setFixRatio(t.fixRatio,i),null!=t.zIndex&&e.setZIndex(t.zIndex,i),null!=t.content&&e.mountContent(t.content),null!=t.footer&&e.mountFooter(t.footer)}smartPosition(e={}){let{x:t,y:i}=e;const{width:s=.5,height:r=.5}=e;if(null==t){let e=20;this.topBox&&(e=this.topBox.intrinsicX*this.containerRect.width+20,e>this.containerRect.width-s*this.containerRect.width&&(e=20)),t=e/this.containerRect.width}if(null==i){let e=20;this.topBox&&(e=this.topBox.intrinsicY*this.containerRect.height+20,e>this.containerRect.height-r*this.containerRect.height&&(e=20)),i=e/this.containerRect.height}return l(a({},e),{x:t,y:i,width:s,height:r})}makeBoxTop(e,t=!1){this.topBox&&e!==this.topBox&&e.setZIndex(this.topBox.zIndex+1,t)}getBoxIndex(e){return\"string\"==typeof e?this.boxes.findIndex((t=>t.id===e)):this.boxes.findIndex((t=>t===e))}getBox(e){return\"string\"==typeof e?this.boxes.find((t=>t.id===e)):e}}export{pt as DefaultTitleBar,Je as TELE_BOX_COLOR_SCHEME,st as TELE_BOX_DELEGATE_EVENT,tt as TELE_BOX_EVENT,wt as TELE_BOX_MANAGER_EVENT,nt as TELE_BOX_RESIZE_HANDLE,Ke as TELE_BOX_STATE,gt as TeleBox,Ct as TeleBoxCollector,at as TeleBoxDragHandleType,Bt as TeleBoxManager,yt as TeleBoxReact};\n//# sourceMappingURL=telebox-insider.es.js.map\n","import { AppAttributes, Events, MIN_HEIGHT, MIN_WIDTH } from \"./constants\";\nimport { debounce } from \"lodash\";\nimport { emitter, WindowManager } from \"./index\";\nimport {\n TELE_BOX_STATE,\n TeleBoxCollector,\n TeleBoxManager,\n} from \"@netless/telebox-insider\";\nimport type { AddAppOptions, AppInitState, EmitterType, CallbacksType } from \"./index\";\nimport type {\n TeleBoxManagerUpdateConfig,\n TeleBoxManagerCreateConfig,\n ReadonlyTeleBox,\n TeleBoxManagerConfig,\n TeleBoxColorScheme,\n TeleBoxRect,\n TeleBoxConfig,\n} from \"@netless/telebox-insider\";\nimport type Emittery from \"emittery\";\nimport type { NetlessApp } from \"./typings\";\nimport type { View } from \"white-web-sdk\";\n\nexport { TELE_BOX_STATE };\n\nexport type CreateBoxParams = {\n appId: string;\n app: NetlessApp;\n view?: View;\n emitter?: Emittery;\n options?: AddAppOptions;\n canOperate?: boolean;\n smartPosition?: boolean;\n};\n\ntype AppId = { appId: string };\n\ntype MoveBoxParams = AppId & { x: number; y: number };\n\ntype ResizeBoxParams = AppId & { width: number; height: number; skipUpdate: boolean };\n\ntype SetBoxMinSizeParams = AppId & { minWidth: number; minHeight: number };\n\ntype SetBoxTitleParams = AppId & { title: string };\n\nexport type CreateTeleBoxManagerConfig = {\n collectorContainer?: HTMLElement;\n collectorStyles?: Partial<CSSStyleDeclaration>;\n prefersColorScheme?: TeleBoxColorScheme;\n};\n\nexport type BoxManagerContext = {\n safeSetAttributes: (attributes: any) => void;\n getMainView: () => View;\n updateAppState: (appId: string, field: AppAttributes, value: any) => void;\n emitter: EmitterType;\n callbacks: CallbacksType;\n canOperate: () => boolean;\n notifyContainerRectUpdate: (rect: TeleBoxRect) => void;\n cleanFocus: () => void;\n setAppFocus: (appId: string) => void;\n};\n\nexport const createBoxManager = (\n manager: WindowManager,\n callbacks: CallbacksType,\n emitter: EmitterType,\n options: CreateTeleBoxManagerConfig\n) => {\n return new BoxManager(\n {\n safeSetAttributes: (attributes: any) => manager.safeSetAttributes(attributes),\n getMainView: () => manager.mainView,\n updateAppState: (...args) => manager.appManager?.store.updateAppState(...args),\n canOperate: () => manager.canOperate,\n notifyContainerRectUpdate: (rect: TeleBoxRect) =>\n manager.appManager?.notifyContainerRectUpdate(rect),\n cleanFocus: () => manager.appManager?.store.cleanFocus(),\n setAppFocus: (appId: string) => manager.appManager?.store.setAppFocus(appId, true),\n callbacks,\n emitter,\n },\n options\n );\n};\n\nexport class BoxManager {\n public teleBoxManager: TeleBoxManager;\n\n constructor(\n private context: BoxManagerContext,\n private createTeleBoxManagerConfig?: CreateTeleBoxManagerConfig\n ) {\n const { emitter, callbacks } = context;\n this.teleBoxManager = this.setupBoxManager(createTeleBoxManagerConfig);\n\n // 使用 _xxx$.reaction 订阅修改的值, 不管有没有 skipUpdate, 修改值都会触发回调\n this.teleBoxManager._state$.reaction(state => {\n callbacks.emit(\"boxStateChange\", state);\n emitter.emit(\"boxStateChange\", state);\n });\n\n this.teleBoxManager._darkMode$.reaction(darkMode => {\n callbacks.emit(\"darkModeChange\", darkMode);\n });\n this.teleBoxManager._prefersColorScheme$.reaction(colorScheme => {\n callbacks.emit(\"prefersColorSchemeChange\", colorScheme);\n });\n\n // events.on 的值则会根据 skipUpdate 来决定是否触发回调\n this.teleBoxManager.events.on(\"minimized\", minimized => {\n this.context.safeSetAttributes({ minimized });\n if (minimized) {\n this.context.cleanFocus();\n this.blurAllBox();\n } else {\n const topBox = this.getTopBox();\n if (topBox) {\n this.context.setAppFocus(topBox.id);\n this.focusBox({ appId: topBox.id }, false);\n }\n }\n });\n this.teleBoxManager.events.on(\"maximized\", maximized => {\n this.context.safeSetAttributes({ maximized });\n });\n this.teleBoxManager.events.on(\"removed\", boxes => {\n boxes.forEach(box => {\n emitter.emit(\"close\", { appId: box.id });\n });\n });\n this.teleBoxManager.events.on(\n \"intrinsic_move\",\n debounce((box: ReadonlyTeleBox): void => {\n emitter.emit(\"move\", { appId: box.id, x: box.intrinsicX, y: box.intrinsicY });\n }, 50)\n );\n this.teleBoxManager.events.on(\n \"intrinsic_resize\",\n debounce((box: ReadonlyTeleBox): void => {\n emitter.emit(\"resize\", {\n appId: box.id,\n width: box.intrinsicWidth,\n height: box.intrinsicHeight,\n });\n }, 200)\n );\n this.teleBoxManager.events.on(\"focused\", box => {\n if (box) {\n if (this.canOperate) {\n emitter.emit(\"focus\", { appId: box.id });\n } else {\n this.teleBoxManager.blurBox(box.id);\n }\n }\n });\n this.teleBoxManager.events.on(\"z_index\", box => {\n this.context.updateAppState(box.id, AppAttributes.ZIndex, box.zIndex);\n });\n emitter.on(\"playgroundSizeChange\", this.playgroundSizeChangeListener);\n }\n\n private playgroundSizeChangeListener = () => {\n this.updateManagerRect();\n };\n\n private get mainView() {\n return this.context.getMainView();\n }\n\n private get canOperate() {\n return this.context.canOperate();\n }\n\n public get boxState() {\n return this.teleBoxManager.state;\n }\n\n public get maximized() {\n return this.teleBoxManager.maximized;\n }\n\n public get minimized() {\n return this.teleBoxManager.minimized;\n }\n\n public get darkMode() {\n return this.teleBoxManager.darkMode;\n }\n\n public get prefersColorScheme(): TeleBoxColorScheme {\n return this.teleBoxManager.prefersColorScheme;\n }\n\n public get boxSize() {\n return this.teleBoxManager.boxes.length;\n }\n\n public createBox(params: CreateBoxParams): void {\n if (!this.teleBoxManager) return;\n let { minwidth = MIN_WIDTH, minheight = MIN_HEIGHT } = params.app.config ?? {};\n const { width, height } = params.app.config ?? {};\n const title = params.options?.title || params.appId;\n const rect = this.teleBoxManager.containerRect;\n\n if (minwidth > 1) {\n minwidth = minwidth / rect.width;\n }\n\n if (minheight > 1) {\n minheight = minheight / rect.height;\n }\n\n const createBoxConfig: TeleBoxManagerCreateConfig = {\n title,\n minWidth: minwidth,\n minHeight: minheight,\n width,\n height,\n id: params.appId,\n };\n this.teleBoxManager.create(createBoxConfig, params.smartPosition);\n this.context.emitter.emit(`${params.appId}${Events.WindowCreated}` as any);\n }\n\n public setBoxInitState(appId: string): void {\n const box = this.teleBoxManager.queryOne({ id: appId });\n if (box) {\n if (box.state === TELE_BOX_STATE.Maximized) {\n this.context.emitter.emit(\"resize\", {\n appId: appId,\n x: box.x,\n y: box.y,\n width: box.intrinsicWidth,\n height: box.intrinsicHeight,\n });\n }\n }\n }\n\n public setupBoxManager(\n createTeleBoxManagerConfig?: CreateTeleBoxManagerConfig\n ): TeleBoxManager {\n const root = WindowManager.wrapper ? WindowManager.wrapper : document.body;\n const rect = root.getBoundingClientRect();\n const initManagerState: TeleBoxManagerConfig = {\n root: root,\n containerRect: {\n x: 0,\n y: 0,\n width: rect.width,\n height: rect.height,\n },\n fence: false,\n prefersColorScheme: createTeleBoxManagerConfig?.prefersColorScheme,\n };\n\n const manager = new TeleBoxManager(initManagerState);\n if (this.teleBoxManager) {\n this.teleBoxManager.destroy();\n }\n this.teleBoxManager = manager;\n const container = createTeleBoxManagerConfig?.collectorContainer || WindowManager.wrapper;\n if (container) {\n this.setCollectorContainer(container);\n }\n return manager;\n }\n\n public setCollectorContainer(container: HTMLElement) {\n const collector = new TeleBoxCollector({\n styles: this.createTeleBoxManagerConfig?.collectorStyles,\n }).mount(container);\n this.teleBoxManager.setCollector(collector);\n }\n\n public getBox(appId: string): ReadonlyTeleBox | undefined {\n return this.teleBoxManager.queryOne({ id: appId });\n }\n\n public closeBox(appId: string, skipUpdate = false): ReadonlyTeleBox | undefined {\n return this.teleBoxManager.remove(appId, skipUpdate);\n }\n\n public boxIsFocus(appId: string): boolean | undefined {\n const box = this.getBox(appId);\n return box?.focus;\n }\n\n public getFocusBox(): ReadonlyTeleBox | undefined {\n const boxes = this.teleBoxManager.query({ focus: true });\n return boxes[0];\n }\n\n public getTopBox(): ReadonlyTeleBox | undefined {\n return this.teleBoxManager.topBox;\n }\n\n public updateBoxState(state?: AppInitState): void {\n if (!state) return;\n const box = this.getBox(state.id);\n if (box) {\n this.teleBoxManager.update(\n box.id,\n {\n x: state.x,\n y: state.y,\n width: state.width || 0.5,\n height: state.height || 0.5,\n zIndex: state.zIndex,\n },\n true\n );\n setTimeout(() => {\n if (state.focus) {\n this.teleBoxManager.focusBox(box.id, true);\n }\n if (state.maximized != null) {\n this.teleBoxManager.setMaximized(Boolean(state.maximized), true);\n }\n if (state.minimized != null) {\n this.teleBoxManager.setMinimized(Boolean(state.minimized), true);\n }\n }, 50);\n this.context.callbacks.emit(\"boxStateChange\", this.teleBoxManager.state);\n }\n }\n\n public updateManagerRect(): void {\n const rect = this.mainView.divElement?.getBoundingClientRect();\n if (rect && rect.width > 0 && rect.height > 0) {\n const containerRect = { x: 0, y: 0, width: rect.width, height: rect.height };\n this.teleBoxManager.setContainerRect(containerRect);\n this.context.notifyContainerRectUpdate(this.teleBoxManager.containerRect);\n }\n }\n\n public moveBox({ appId, x, y }: MoveBoxParams): void {\n this.teleBoxManager.update(appId, { x, y }, true);\n }\n\n public focusBox({ appId }: AppId, skipUpdate = true): void {\n this.teleBoxManager.focusBox(appId, skipUpdate);\n }\n\n public resizeBox({ appId, width, height, skipUpdate }: ResizeBoxParams): void {\n this.teleBoxManager.update(appId, { width, height }, skipUpdate);\n }\n\n public setBoxMinSize(params: SetBoxMinSizeParams): void {\n this.teleBoxManager.update(\n params.appId,\n {\n minWidth: params.minWidth,\n minHeight: params.minHeight,\n },\n true\n );\n }\n\n public setBoxTitle(params: SetBoxTitleParams): void {\n this.teleBoxManager.update(params.appId, { title: params.title }, true);\n }\n\n public blurAllBox(): void {\n this.teleBoxManager.blurAll();\n }\n\n public updateAll(config: TeleBoxManagerUpdateConfig): void {\n this.teleBoxManager.updateAll(config);\n }\n\n public setMaximized(maximized: boolean, skipUpdate = true): void {\n if (maximized !== this.maximized) {\n this.teleBoxManager.setMaximized(maximized, skipUpdate);\n }\n }\n\n public setMinimized(minimized: boolean, skipUpdate = true) {\n this.teleBoxManager.setMinimized(minimized, skipUpdate);\n }\n\n public focusTopBox(): void {\n const boxes = this.teleBoxManager.query();\n if (boxes.length >= 1) {\n const box = this.getTopBox();\n if (box) {\n this.focusBox({ appId: box.id }, false);\n }\n }\n }\n\n public updateBox(id: string, payload: TeleBoxConfig, skipUpdate = true): void {\n this.teleBoxManager.update(id, payload, skipUpdate);\n }\n\n public setReadonly(readonly: boolean) {\n this.teleBoxManager.setReadonly(readonly);\n }\n\n public setPrefersColorScheme(colorScheme: TeleBoxColorScheme) {\n this.teleBoxManager.setPrefersColorScheme(colorScheme);\n }\n\n public setZIndex(id: string, zIndex: number, skipUpdate = true) {\n this.teleBoxManager.update(id, { zIndex }, skipUpdate);\n }\n\n public destroy() {\n emitter.off(\"playgroundSizeChange\", this.playgroundSizeChangeListener);\n this.teleBoxManager.destroy();\n }\n}\n","function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\n}\nfunction is_promise(value) {\n return value && typeof value === 'object' && typeof value.then === 'function';\n}\nfunction add_location(element, file, line, column, char) {\n element.__svelte_meta = {\n loc: { file, line, column, char }\n };\n}\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nlet src_url_equal_anchor;\nfunction src_url_equal(element_src, url) {\n if (!src_url_equal_anchor) {\n src_url_equal_anchor = document.createElement('a');\n }\n src_url_equal_anchor.href = url;\n return element_src === src_url_equal_anchor.href;\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction validate_store(store, name) {\n if (store != null && typeof store.subscribe !== 'function') {\n throw new Error(`'${name}' is not a store with a 'subscribe' method`);\n }\n}\nfunction subscribe(store, ...callbacks) {\n if (store == null) {\n return noop;\n }\n const unsub = store.subscribe(...callbacks);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction get_store_value(store) {\n let value;\n subscribe(store, _ => value = _)();\n return value;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction create_slot(definition, ctx, $$scope, fn) {\n if (definition) {\n const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n return definition[0](slot_ctx);\n }\n}\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n return definition[1] && fn\n ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))\n : $$scope.ctx;\n}\nfunction get_slot_changes(definition, $$scope, dirty, fn) {\n if (definition[2] && fn) {\n const lets = definition[2](fn(dirty));\n if ($$scope.dirty === undefined) {\n return lets;\n }\n if (typeof lets === 'object') {\n const merged = [];\n const len = Math.max($$scope.dirty.length, lets.length);\n for (let i = 0; i < len; i += 1) {\n merged[i] = $$scope.dirty[i] | lets[i];\n }\n return merged;\n }\n return $$scope.dirty | lets;\n }\n return $$scope.dirty;\n}\nfunction update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn) {\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction update_slot(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn);\n}\nfunction get_all_dirty_from_scope($$scope) {\n if ($$scope.ctx.length > 32) {\n const dirty = [];\n const length = $$scope.ctx.length / 32;\n for (let i = 0; i < length; i++) {\n dirty[i] = -1;\n }\n return dirty;\n }\n return -1;\n}\nfunction exclude_internal_props(props) {\n const result = {};\n for (const k in props)\n if (k[0] !== '$')\n result[k] = props[k];\n return result;\n}\nfunction compute_rest_props(props, keys) {\n const rest = {};\n keys = new Set(keys);\n for (const k in props)\n if (!keys.has(k) && k[0] !== '$')\n rest[k] = props[k];\n return rest;\n}\nfunction compute_slots(slots) {\n const result = {};\n for (const key in slots) {\n result[key] = true;\n }\n return result;\n}\nfunction once(fn) {\n let ran = false;\n return function (...args) {\n if (ran)\n return;\n ran = true;\n fn.call(this, ...args);\n };\n}\nfunction null_to_empty(value) {\n return value == null ? '' : value;\n}\nfunction set_store_value(store, ret, value) {\n store.set(value);\n return ret;\n}\nconst has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\n\nconst is_client = typeof window !== 'undefined';\nlet now = is_client\n ? () => window.performance.now()\n : () => Date.now();\nlet raf = is_client ? cb => requestAnimationFrame(cb) : noop;\n// used internally for testing\nfunction set_now(fn) {\n now = fn;\n}\nfunction set_raf(fn) {\n raf = fn;\n}\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * For testing purposes only!\n */\nfunction clear_loops() {\n tasks.clear();\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\n\n// Track which nodes are claimed during hydration. Unclaimed nodes can then be removed from the DOM\n// at the end of hydration without touching the remaining nodes.\nlet is_hydrating = false;\nfunction start_hydrating() {\n is_hydrating = true;\n}\nfunction end_hydrating() {\n is_hydrating = false;\n}\nfunction upper_bound(low, high, key, value) {\n // Return first index of value larger than input value in the range [low, high)\n while (low < high) {\n const mid = low + ((high - low) >> 1);\n if (key(mid) <= value) {\n low = mid + 1;\n }\n else {\n high = mid;\n }\n }\n return low;\n}\nfunction init_hydrate(target) {\n if (target.hydrate_init)\n return;\n target.hydrate_init = true;\n // We know that all children have claim_order values since the unclaimed have been detached if target is not <head>\n let children = target.childNodes;\n // If target is <head>, there may be children without claim_order\n if (target.nodeName === 'HEAD') {\n const myChildren = [];\n for (let i = 0; i < children.length; i++) {\n const node = children[i];\n if (node.claim_order !== undefined) {\n myChildren.push(node);\n }\n }\n children = myChildren;\n }\n /*\n * Reorder claimed children optimally.\n * We can reorder claimed children optimally by finding the longest subsequence of\n * nodes that are already claimed in order and only moving the rest. The longest\n * subsequence subsequence of nodes that are claimed in order can be found by\n * computing the longest increasing subsequence of .claim_order values.\n *\n * This algorithm is optimal in generating the least amount of reorder operations\n * possible.\n *\n * Proof:\n * We know that, given a set of reordering operations, the nodes that do not move\n * always form an increasing subsequence, since they do not move among each other\n * meaning that they must be already ordered among each other. Thus, the maximal\n * set of nodes that do not move form a longest increasing subsequence.\n */\n // Compute longest increasing subsequence\n // m: subsequence length j => index k of smallest value that ends an increasing subsequence of length j\n const m = new Int32Array(children.length + 1);\n // Predecessor indices + 1\n const p = new Int32Array(children.length);\n m[0] = -1;\n let longest = 0;\n for (let i = 0; i < children.length; i++) {\n const current = children[i].claim_order;\n // Find the largest subsequence length such that it ends in a value less than our current value\n // upper_bound returns first greater value, so we subtract one\n // with fast path for when we are on the current longest subsequence\n const seqLen = ((longest > 0 && children[m[longest]].claim_order <= current) ? longest + 1 : upper_bound(1, longest, idx => children[m[idx]].claim_order, current)) - 1;\n p[i] = m[seqLen] + 1;\n const newLen = seqLen + 1;\n // We can guarantee that current is the smallest value. Otherwise, we would have generated a longer sequence.\n m[newLen] = i;\n longest = Math.max(newLen, longest);\n }\n // The longest increasing subsequence of nodes (initially reversed)\n const lis = [];\n // The rest of the nodes, nodes that will be moved\n const toMove = [];\n let last = children.length - 1;\n for (let cur = m[longest] + 1; cur != 0; cur = p[cur - 1]) {\n lis.push(children[cur - 1]);\n for (; last >= cur; last--) {\n toMove.push(children[last]);\n }\n last--;\n }\n for (; last >= 0; last--) {\n toMove.push(children[last]);\n }\n lis.reverse();\n // We sort the nodes being moved to guarantee that their insertion order matches the claim order\n toMove.sort((a, b) => a.claim_order - b.claim_order);\n // Finally, we move the nodes\n for (let i = 0, j = 0; i < toMove.length; i++) {\n while (j < lis.length && toMove[i].claim_order >= lis[j].claim_order) {\n j++;\n }\n const anchor = j < lis.length ? lis[j] : null;\n target.insertBefore(toMove[i], anchor);\n }\n}\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction append_styles(target, style_sheet_id, styles) {\n const append_styles_to = get_root_for_style(target);\n if (!append_styles_to.getElementById(style_sheet_id)) {\n const style = element('style');\n style.id = style_sheet_id;\n style.textContent = styles;\n append_stylesheet(append_styles_to, style);\n }\n}\nfunction get_root_for_style(node) {\n if (!node)\n return document;\n const root = node.getRootNode ? node.getRootNode() : node.ownerDocument;\n if (root && root.host) {\n return root;\n }\n return node.ownerDocument;\n}\nfunction append_empty_stylesheet(node) {\n const style_element = element('style');\n append_stylesheet(get_root_for_style(node), style_element);\n return style_element;\n}\nfunction append_stylesheet(node, style) {\n append(node.head || node, style);\n}\nfunction append_hydration(target, node) {\n if (is_hydrating) {\n init_hydrate(target);\n if ((target.actual_end_child === undefined) || ((target.actual_end_child !== null) && (target.actual_end_child.parentElement !== target))) {\n target.actual_end_child = target.firstChild;\n }\n // Skip nodes of undefined ordering\n while ((target.actual_end_child !== null) && (target.actual_end_child.claim_order === undefined)) {\n target.actual_end_child = target.actual_end_child.nextSibling;\n }\n if (node !== target.actual_end_child) {\n // We only insert if the ordering of this node should be modified or the parent node is not target\n if (node.claim_order !== undefined || node.parentNode !== target) {\n target.insertBefore(node, target.actual_end_child);\n }\n }\n else {\n target.actual_end_child = node.nextSibling;\n }\n }\n else if (node.parentNode !== target || node.nextSibling !== null) {\n target.appendChild(node);\n }\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction insert_hydration(target, node, anchor) {\n if (is_hydrating && !anchor) {\n append_hydration(target, node);\n }\n else if (node.parentNode !== target || node.nextSibling != anchor) {\n target.insertBefore(node, anchor || null);\n }\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction destroy_each(iterations, detaching) {\n for (let i = 0; i < iterations.length; i += 1) {\n if (iterations[i])\n iterations[i].d(detaching);\n }\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction element_is(name, is) {\n return document.createElement(name, { is });\n}\nfunction object_without_properties(obj, exclude) {\n const target = {};\n for (const k in obj) {\n if (has_prop(obj, k)\n // @ts-ignore\n && exclude.indexOf(k) === -1) {\n // @ts-ignore\n target[k] = obj[k];\n }\n }\n return target;\n}\nfunction svg_element(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction space() {\n return text(' ');\n}\nfunction empty() {\n return text('');\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction prevent_default(fn) {\n return function (event) {\n event.preventDefault();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction stop_propagation(fn) {\n return function (event) {\n event.stopPropagation();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction self(fn) {\n return function (event) {\n // @ts-ignore\n if (event.target === this)\n fn.call(this, event);\n };\n}\nfunction trusted(fn) {\n return function (event) {\n // @ts-ignore\n if (event.isTrusted)\n fn.call(this, event);\n };\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_attributes(node, attributes) {\n // @ts-ignore\n const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n for (const key in attributes) {\n if (attributes[key] == null) {\n node.removeAttribute(key);\n }\n else if (key === 'style') {\n node.style.cssText = attributes[key];\n }\n else if (key === '__value') {\n node.value = node[key] = attributes[key];\n }\n else if (descriptors[key] && descriptors[key].set) {\n node[key] = attributes[key];\n }\n else {\n attr(node, key, attributes[key]);\n }\n }\n}\nfunction set_svg_attributes(node, attributes) {\n for (const key in attributes) {\n attr(node, key, attributes[key]);\n }\n}\nfunction set_custom_element_data(node, prop, value) {\n if (prop in node) {\n node[prop] = typeof node[prop] === 'boolean' && value === '' ? true : value;\n }\n else {\n attr(node, prop, value);\n }\n}\nfunction xlink_attr(node, attribute, value) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\nfunction get_binding_group_value(group, __value, checked) {\n const value = new Set();\n for (let i = 0; i < group.length; i += 1) {\n if (group[i].checked)\n value.add(group[i].__value);\n }\n if (!checked) {\n value.delete(__value);\n }\n return Array.from(value);\n}\nfunction to_number(value) {\n return value === '' ? null : +value;\n}\nfunction time_ranges_to_array(ranges) {\n const array = [];\n for (let i = 0; i < ranges.length; i += 1) {\n array.push({ start: ranges.start(i), end: ranges.end(i) });\n }\n return array;\n}\nfunction children(element) {\n return Array.from(element.childNodes);\n}\nfunction init_claim_info(nodes) {\n if (nodes.claim_info === undefined) {\n nodes.claim_info = { last_index: 0, total_claimed: 0 };\n }\n}\nfunction claim_node(nodes, predicate, processNode, createNode, dontUpdateLastIndex = false) {\n // Try to find nodes in an order such that we lengthen the longest increasing subsequence\n init_claim_info(nodes);\n const resultNode = (() => {\n // We first try to find an element after the previous one\n for (let i = nodes.claim_info.last_index; i < nodes.length; i++) {\n const node = nodes[i];\n if (predicate(node)) {\n const replacement = processNode(node);\n if (replacement === undefined) {\n nodes.splice(i, 1);\n }\n else {\n nodes[i] = replacement;\n }\n if (!dontUpdateLastIndex) {\n nodes.claim_info.last_index = i;\n }\n return node;\n }\n }\n // Otherwise, we try to find one before\n // We iterate in reverse so that we don't go too far back\n for (let i = nodes.claim_info.last_index - 1; i >= 0; i--) {\n const node = nodes[i];\n if (predicate(node)) {\n const replacement = processNode(node);\n if (replacement === undefined) {\n nodes.splice(i, 1);\n }\n else {\n nodes[i] = replacement;\n }\n if (!dontUpdateLastIndex) {\n nodes.claim_info.last_index = i;\n }\n else if (replacement === undefined) {\n // Since we spliced before the last_index, we decrease it\n nodes.claim_info.last_index--;\n }\n return node;\n }\n }\n // If we can't find any matching node, we create a new one\n return createNode();\n })();\n resultNode.claim_order = nodes.claim_info.total_claimed;\n nodes.claim_info.total_claimed += 1;\n return resultNode;\n}\nfunction claim_element_base(nodes, name, attributes, create_element) {\n return claim_node(nodes, (node) => node.nodeName === name, (node) => {\n const remove = [];\n for (let j = 0; j < node.attributes.length; j++) {\n const attribute = node.attributes[j];\n if (!attributes[attribute.name]) {\n remove.push(attribute.name);\n }\n }\n remove.forEach(v => node.removeAttribute(v));\n return undefined;\n }, () => create_element(name));\n}\nfunction claim_element(nodes, name, attributes) {\n return claim_element_base(nodes, name, attributes, element);\n}\nfunction claim_svg_element(nodes, name, attributes) {\n return claim_element_base(nodes, name, attributes, svg_element);\n}\nfunction claim_text(nodes, data) {\n return claim_node(nodes, (node) => node.nodeType === 3, (node) => {\n const dataStr = '' + data;\n if (node.data.startsWith(dataStr)) {\n if (node.data.length !== dataStr.length) {\n return node.splitText(dataStr.length);\n }\n }\n else {\n node.data = dataStr;\n }\n }, () => text(data), true // Text nodes should not update last index since it is likely not worth it to eliminate an increasing subsequence of actual elements\n );\n}\nfunction claim_space(nodes) {\n return claim_text(nodes, ' ');\n}\nfunction find_comment(nodes, text, start) {\n for (let i = start; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeType === 8 /* comment node */ && node.textContent.trim() === text) {\n return i;\n }\n }\n return nodes.length;\n}\nfunction claim_html_tag(nodes) {\n // find html opening tag\n const start_index = find_comment(nodes, 'HTML_TAG_START', 0);\n const end_index = find_comment(nodes, 'HTML_TAG_END', start_index);\n if (start_index === end_index) {\n return new HtmlTagHydration();\n }\n init_claim_info(nodes);\n const html_tag_nodes = nodes.splice(start_index, end_index + 1);\n detach(html_tag_nodes[0]);\n detach(html_tag_nodes[html_tag_nodes.length - 1]);\n const claimed_nodes = html_tag_nodes.slice(1, html_tag_nodes.length - 1);\n for (const n of claimed_nodes) {\n n.claim_order = nodes.claim_info.total_claimed;\n nodes.claim_info.total_claimed += 1;\n }\n return new HtmlTagHydration(claimed_nodes);\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_input_type(input, type) {\n try {\n input.type = type;\n }\n catch (e) {\n // do nothing\n }\n}\nfunction set_style(node, key, value, important) {\n node.style.setProperty(key, value, important ? 'important' : '');\n}\nfunction select_option(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n if (option.__value === value) {\n option.selected = true;\n return;\n }\n }\n select.selectedIndex = -1; // no option should be selected\n}\nfunction select_options(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n option.selected = ~value.indexOf(option.__value);\n }\n}\nfunction select_value(select) {\n const selected_option = select.querySelector(':checked') || select.options[0];\n return selected_option && selected_option.__value;\n}\nfunction select_multiple_value(select) {\n return [].map.call(select.querySelectorAll(':checked'), option => option.__value);\n}\n// unfortunately this can't be a constant as that wouldn't be tree-shakeable\n// so we cache the result instead\nlet crossorigin;\nfunction is_crossorigin() {\n if (crossorigin === undefined) {\n crossorigin = false;\n try {\n if (typeof window !== 'undefined' && window.parent) {\n void window.parent.document;\n }\n }\n catch (error) {\n crossorigin = true;\n }\n }\n return crossorigin;\n}\nfunction add_resize_listener(node, fn) {\n const computed_style = getComputedStyle(node);\n if (computed_style.position === 'static') {\n node.style.position = 'relative';\n }\n const iframe = element('iframe');\n iframe.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ' +\n 'overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: -1;');\n iframe.setAttribute('aria-hidden', 'true');\n iframe.tabIndex = -1;\n const crossorigin = is_crossorigin();\n let unsubscribe;\n if (crossorigin) {\n iframe.src = \"data:text/html,<script>onresize=function(){parent.postMessage(0,'*')}</script>\";\n unsubscribe = listen(window, 'message', (event) => {\n if (event.source === iframe.contentWindow)\n fn();\n });\n }\n else {\n iframe.src = 'about:blank';\n iframe.onload = () => {\n unsubscribe = listen(iframe.contentWindow, 'resize', fn);\n };\n }\n append(node, iframe);\n return () => {\n if (crossorigin) {\n unsubscribe();\n }\n else if (unsubscribe && iframe.contentWindow) {\n unsubscribe();\n }\n detach(iframe);\n };\n}\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail, bubbles = false) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, bubbles, false, detail);\n return e;\n}\nfunction query_selector_all(selector, parent = document.body) {\n return Array.from(parent.querySelectorAll(selector));\n}\nclass HtmlTag {\n constructor() {\n this.e = this.n = null;\n }\n c(html) {\n this.h(html);\n }\n m(html, target, anchor = null) {\n if (!this.e) {\n this.e = element(target.nodeName);\n this.t = target;\n this.c(html);\n }\n this.i(anchor);\n }\n h(html) {\n this.e.innerHTML = html;\n this.n = Array.from(this.e.childNodes);\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert(this.t, this.n[i], anchor);\n }\n }\n p(html) {\n this.d();\n this.h(html);\n this.i(this.a);\n }\n d() {\n this.n.forEach(detach);\n }\n}\nclass HtmlTagHydration extends HtmlTag {\n constructor(claimed_nodes) {\n super();\n this.e = this.n = null;\n this.l = claimed_nodes;\n }\n c(html) {\n if (this.l) {\n this.n = this.l;\n }\n else {\n super.c(html);\n }\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert_hydration(this.t, this.n[i], anchor);\n }\n }\n}\nfunction attribute_to_object(attributes) {\n const result = {};\n for (const attribute of attributes) {\n result[attribute.name] = attribute.value;\n }\n return result;\n}\nfunction get_custom_elements_slots(element) {\n const result = {};\n element.childNodes.forEach((node) => {\n result[node.slot || 'default'] = true;\n });\n return result;\n}\n\nconst active_docs = new Set();\nlet active = 0;\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i--)\n hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n return hash >>> 0;\n}\nfunction create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n const step = 16.666 / duration;\n let keyframes = '{\\n';\n for (let p = 0; p <= 1; p += step) {\n const t = a + (b - a) * ease(p);\n keyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n }\n const rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n const name = `__svelte_${hash(rule)}_${uid}`;\n const doc = get_root_for_style(node);\n active_docs.add(doc);\n const stylesheet = doc.__svelte_stylesheet || (doc.__svelte_stylesheet = append_empty_stylesheet(node).sheet);\n const current_rules = doc.__svelte_rules || (doc.__svelte_rules = {});\n if (!current_rules[name]) {\n current_rules[name] = true;\n stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n }\n const animation = node.style.animation || '';\n node.style.animation = `${animation ? `${animation}, ` : ''}${name} ${duration}ms linear ${delay}ms 1 both`;\n active += 1;\n return name;\n}\nfunction delete_rule(node, name) {\n const previous = (node.style.animation || '').split(', ');\n const next = previous.filter(name\n ? anim => anim.indexOf(name) < 0 // remove specific animation\n : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations\n );\n const deleted = previous.length - next.length;\n if (deleted) {\n node.style.animation = next.join(', ');\n active -= deleted;\n if (!active)\n clear_rules();\n }\n}\nfunction clear_rules() {\n raf(() => {\n if (active)\n return;\n active_docs.forEach(doc => {\n const stylesheet = doc.__svelte_stylesheet;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n doc.__svelte_rules = {};\n });\n active_docs.clear();\n });\n}\n\nfunction create_animation(node, from, fn, params) {\n if (!from)\n return noop;\n const to = node.getBoundingClientRect();\n if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom)\n return noop;\n const { delay = 0, duration = 300, easing = identity, \n // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation?\n start: start_time = now() + delay, \n // @ts-ignore todo:\n end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params);\n let running = true;\n let started = false;\n let name;\n function start() {\n if (css) {\n name = create_rule(node, 0, 1, duration, delay, easing, css);\n }\n if (!delay) {\n started = true;\n }\n }\n function stop() {\n if (css)\n delete_rule(node, name);\n running = false;\n }\n loop(now => {\n if (!started && now >= start_time) {\n started = true;\n }\n if (started && now >= end) {\n tick(1, 0);\n stop();\n }\n if (!running) {\n return false;\n }\n if (started) {\n const p = now - start_time;\n const t = 0 + 1 * easing(p / duration);\n tick(t, 1 - t);\n }\n return true;\n });\n start();\n tick(0, 1);\n return stop;\n}\nfunction fix_position(node) {\n const style = getComputedStyle(node);\n if (style.position !== 'absolute' && style.position !== 'fixed') {\n const { width, height } = style;\n const a = node.getBoundingClientRect();\n node.style.position = 'absolute';\n node.style.width = width;\n node.style.height = height;\n add_transform(node, a);\n }\n}\nfunction add_transform(node, a) {\n const b = node.getBoundingClientRect();\n if (a.left !== b.left || a.top !== b.top) {\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`;\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\nfunction get_current_component() {\n if (!current_component)\n throw new Error('Function called outside component initialization');\n return current_component;\n}\nfunction beforeUpdate(fn) {\n get_current_component().$$.before_update.push(fn);\n}\nfunction onMount(fn) {\n get_current_component().$$.on_mount.push(fn);\n}\nfunction afterUpdate(fn) {\n get_current_component().$$.after_update.push(fn);\n}\nfunction onDestroy(fn) {\n get_current_component().$$.on_destroy.push(fn);\n}\nfunction createEventDispatcher() {\n const component = get_current_component();\n return (type, detail) => {\n const callbacks = component.$$.callbacks[type];\n if (callbacks) {\n // TODO are there situations where events could be dispatched\n // in a server (non-DOM) environment?\n const event = custom_event(type, detail);\n callbacks.slice().forEach(fn => {\n fn.call(component, event);\n });\n }\n };\n}\nfunction setContext(key, context) {\n get_current_component().$$.context.set(key, context);\n}\nfunction getContext(key) {\n return get_current_component().$$.context.get(key);\n}\nfunction getAllContexts() {\n return get_current_component().$$.context;\n}\nfunction hasContext(key) {\n return get_current_component().$$.context.has(key);\n}\n// TODO figure out if we still want to support\n// shorthand events, or if we want to implement\n// a real bubbling mechanism\nfunction bubble(component, event) {\n const callbacks = component.$$.callbacks[event.type];\n if (callbacks) {\n // @ts-ignore\n callbacks.slice().forEach(fn => fn.call(this, event));\n }\n}\n\nconst dirty_components = [];\nconst intros = { enabled: false };\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\nfunction add_flush_callback(fn) {\n flush_callbacks.push(fn);\n}\nlet flushing = false;\nconst seen_callbacks = new Set();\nfunction flush() {\n if (flushing)\n return;\n flushing = true;\n do {\n // first, call beforeUpdate functions\n // and update components\n for (let i = 0; i < dirty_components.length; i += 1) {\n const component = dirty_components[i];\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n flushing = false;\n seen_callbacks.clear();\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\n\nlet promise;\nfunction wait() {\n if (!promise) {\n promise = Promise.resolve();\n promise.then(() => {\n promise = null;\n });\n }\n return promise;\n}\nfunction dispatch(node, direction, kind) {\n node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\nconst outroing = new Set();\nlet outros;\nfunction group_outros() {\n outros = {\n r: 0,\n c: [],\n p: outros // parent group\n };\n}\nfunction check_outros() {\n if (!outros.r) {\n run_all(outros.c);\n }\n outros = outros.p;\n}\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\nfunction transition_out(block, local, detach, callback) {\n if (block && block.o) {\n if (outroing.has(block))\n return;\n outroing.add(block);\n outros.c.push(() => {\n outroing.delete(block);\n if (callback) {\n if (detach)\n block.d(1);\n callback();\n }\n });\n block.o(local);\n }\n}\nconst null_transition = { duration: 0 };\nfunction create_in_transition(node, fn, params) {\n let config = fn(node, params);\n let running = false;\n let animation_name;\n let task;\n let uid = 0;\n function cleanup() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n tick(0, 1);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n if (task)\n task.abort();\n running = true;\n add_render_callback(() => dispatch(node, true, 'start'));\n task = loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(1, 0);\n dispatch(node, true, 'end');\n cleanup();\n return running = false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(t, 1 - t);\n }\n }\n return running;\n });\n }\n let started = false;\n return {\n start() {\n if (started)\n return;\n started = true;\n delete_rule(node);\n if (is_function(config)) {\n config = config();\n wait().then(go);\n }\n else {\n go();\n }\n },\n invalidate() {\n started = false;\n },\n end() {\n if (running) {\n cleanup();\n running = false;\n }\n }\n };\n}\nfunction create_out_transition(node, fn, params) {\n let config = fn(node, params);\n let running = true;\n let animation_name;\n const group = outros;\n group.r += 1;\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n add_render_callback(() => dispatch(node, false, 'start'));\n loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(0, 1);\n dispatch(node, false, 'end');\n if (!--group.r) {\n // this will result in `end()` being called,\n // so we don't need to clean up here\n run_all(group.c);\n }\n return false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(1 - t, t);\n }\n }\n return running;\n });\n }\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go();\n });\n }\n else {\n go();\n }\n return {\n end(reset) {\n if (reset && config.tick) {\n config.tick(1, 0);\n }\n if (running) {\n if (animation_name)\n delete_rule(node, animation_name);\n running = false;\n }\n }\n };\n}\nfunction create_bidirectional_transition(node, fn, params, intro) {\n let config = fn(node, params);\n let t = intro ? 0 : 1;\n let running_program = null;\n let pending_program = null;\n let animation_name = null;\n function clear_animation() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function init(program, duration) {\n const d = (program.b - t);\n duration *= Math.abs(d);\n return {\n a: t,\n b: program.b,\n d,\n duration,\n start: program.start,\n end: program.start + duration,\n group: program.group\n };\n }\n function go(b) {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n const program = {\n start: now() + delay,\n b\n };\n if (!b) {\n // @ts-ignore todo: improve typings\n program.group = outros;\n outros.r += 1;\n }\n if (running_program || pending_program) {\n pending_program = program;\n }\n else {\n // if this is an intro, and there's a delay, we need to do\n // an initial tick and/or apply CSS animation immediately\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, b, duration, delay, easing, css);\n }\n if (b)\n tick(0, 1);\n running_program = init(program, duration);\n add_render_callback(() => dispatch(node, b, 'start'));\n loop(now => {\n if (pending_program && now > pending_program.start) {\n running_program = init(pending_program, duration);\n pending_program = null;\n dispatch(node, running_program.b, 'start');\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css);\n }\n }\n if (running_program) {\n if (now >= running_program.end) {\n tick(t = running_program.b, 1 - t);\n dispatch(node, running_program.b, 'end');\n if (!pending_program) {\n // we're done\n if (running_program.b) {\n // intro — we can tidy up immediately\n clear_animation();\n }\n else {\n // outro — needs to be coordinated\n if (!--running_program.group.r)\n run_all(running_program.group.c);\n }\n }\n running_program = null;\n }\n else if (now >= running_program.start) {\n const p = now - running_program.start;\n t = running_program.a + running_program.d * easing(p / running_program.duration);\n tick(t, 1 - t);\n }\n }\n return !!(running_program || pending_program);\n });\n }\n }\n return {\n run(b) {\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go(b);\n });\n }\n else {\n go(b);\n }\n },\n end() {\n clear_animation();\n running_program = pending_program = null;\n }\n };\n}\n\nfunction handle_promise(promise, info) {\n const token = info.token = {};\n function update(type, index, key, value) {\n if (info.token !== token)\n return;\n info.resolved = value;\n let child_ctx = info.ctx;\n if (key !== undefined) {\n child_ctx = child_ctx.slice();\n child_ctx[key] = value;\n }\n const block = type && (info.current = type)(child_ctx);\n let needs_flush = false;\n if (info.block) {\n if (info.blocks) {\n info.blocks.forEach((block, i) => {\n if (i !== index && block) {\n group_outros();\n transition_out(block, 1, 1, () => {\n if (info.blocks[i] === block) {\n info.blocks[i] = null;\n }\n });\n check_outros();\n }\n });\n }\n else {\n info.block.d(1);\n }\n block.c();\n transition_in(block, 1);\n block.m(info.mount(), info.anchor);\n needs_flush = true;\n }\n info.block = block;\n if (info.blocks)\n info.blocks[index] = block;\n if (needs_flush) {\n flush();\n }\n }\n if (is_promise(promise)) {\n const current_component = get_current_component();\n promise.then(value => {\n set_current_component(current_component);\n update(info.then, 1, info.value, value);\n set_current_component(null);\n }, error => {\n set_current_component(current_component);\n update(info.catch, 2, info.error, error);\n set_current_component(null);\n if (!info.hasCatch) {\n throw error;\n }\n });\n // if we previously had a then/catch block, destroy it\n if (info.current !== info.pending) {\n update(info.pending, 0);\n return true;\n }\n }\n else {\n if (info.current !== info.then) {\n update(info.then, 1, info.value, promise);\n return true;\n }\n info.resolved = promise;\n }\n}\nfunction update_await_block_branch(info, ctx, dirty) {\n const child_ctx = ctx.slice();\n const { resolved } = info;\n if (info.current === info.then) {\n child_ctx[info.value] = resolved;\n }\n if (info.current === info.catch) {\n child_ctx[info.error] = resolved;\n }\n info.block.p(child_ctx, dirty);\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction outro_and_destroy_block(block, lookup) {\n transition_out(block, 1, 1, () => {\n lookup.delete(block.key);\n });\n}\nfunction fix_and_destroy_block(block, lookup) {\n block.f();\n destroy_block(block, lookup);\n}\nfunction fix_and_outro_and_destroy_block(block, lookup) {\n block.f();\n outro_and_destroy_block(block, lookup);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction validate_each_keys(ctx, list, get_context, get_key) {\n const keys = new Set();\n for (let i = 0; i < list.length; i++) {\n const key = get_key(get_context(ctx, list, i));\n if (keys.has(key)) {\n throw new Error('Cannot have duplicate keys in a keyed each');\n }\n keys.add(key);\n }\n}\n\nfunction get_spread_update(levels, updates) {\n const update = {};\n const to_null_out = {};\n const accounted_for = { $$scope: 1 };\n let i = levels.length;\n while (i--) {\n const o = levels[i];\n const n = updates[i];\n if (n) {\n for (const key in o) {\n if (!(key in n))\n to_null_out[key] = 1;\n }\n for (const key in n) {\n if (!accounted_for[key]) {\n update[key] = n[key];\n accounted_for[key] = 1;\n }\n }\n levels[i] = n;\n }\n else {\n for (const key in o) {\n accounted_for[key] = 1;\n }\n }\n }\n for (const key in to_null_out) {\n if (!(key in update))\n update[key] = undefined;\n }\n return update;\n}\nfunction get_spread_object(spread_props) {\n return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};\n}\n\n// source: https://html.spec.whatwg.org/multipage/indices.html\nconst boolean_attributes = new Set([\n 'allowfullscreen',\n 'allowpaymentrequest',\n 'async',\n 'autofocus',\n 'autoplay',\n 'checked',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'formnovalidate',\n 'hidden',\n 'ismap',\n 'loop',\n 'multiple',\n 'muted',\n 'nomodule',\n 'novalidate',\n 'open',\n 'playsinline',\n 'readonly',\n 'required',\n 'reversed',\n 'selected'\n]);\n\nconst invalid_attribute_name_character = /[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// https://infra.spec.whatwg.org/#noncharacter\nfunction spread(args, classes_to_add) {\n const attributes = Object.assign({}, ...args);\n if (classes_to_add) {\n if (attributes.class == null) {\n attributes.class = classes_to_add;\n }\n else {\n attributes.class += ' ' + classes_to_add;\n }\n }\n let str = '';\n Object.keys(attributes).forEach(name => {\n if (invalid_attribute_name_character.test(name))\n return;\n const value = attributes[name];\n if (value === true)\n str += ' ' + name;\n else if (boolean_attributes.has(name.toLowerCase())) {\n if (value)\n str += ' ' + name;\n }\n else if (value != null) {\n str += ` ${name}=\"${value}\"`;\n }\n });\n return str;\n}\nconst escaped = {\n '\"': '"',\n \"'\": ''',\n '&': '&',\n '<': '<',\n '>': '>'\n};\nfunction escape(html) {\n return String(html).replace(/[\"'&<>]/g, match => escaped[match]);\n}\nfunction escape_attribute_value(value) {\n return typeof value === 'string' ? escape(value) : value;\n}\nfunction escape_object(obj) {\n const result = {};\n for (const key in obj) {\n result[key] = escape_attribute_value(obj[key]);\n }\n return result;\n}\nfunction each(items, fn) {\n let str = '';\n for (let i = 0; i < items.length; i += 1) {\n str += fn(items[i], i);\n }\n return str;\n}\nconst missing_component = {\n $$render: () => ''\n};\nfunction validate_component(component, name) {\n if (!component || !component.$$render) {\n if (name === 'svelte:component')\n name += ' this={...}';\n throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`);\n }\n return component;\n}\nfunction debug(file, line, column, values) {\n console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console\n console.log(values); // eslint-disable-line no-console\n return '';\n}\nlet on_destroy;\nfunction create_ssr_component(fn) {\n function $$render(result, props, bindings, slots, context) {\n const parent_component = current_component;\n const $$ = {\n on_destroy,\n context: new Map(parent_component ? parent_component.$$.context : context || []),\n // these will be immediately discarded\n on_mount: [],\n before_update: [],\n after_update: [],\n callbacks: blank_object()\n };\n set_current_component({ $$ });\n const html = fn(result, props, bindings, slots);\n set_current_component(parent_component);\n return html;\n }\n return {\n render: (props = {}, { $$slots = {}, context = new Map() } = {}) => {\n on_destroy = [];\n const result = { title: '', head: '', css: new Set() };\n const html = $$render(result, props, {}, $$slots, context);\n run_all(on_destroy);\n return {\n html,\n css: {\n code: Array.from(result.css).map(css => css.code).join('\\n'),\n map: null // TODO\n },\n head: result.title + result.head\n };\n },\n $$render\n };\n}\nfunction add_attribute(name, value, boolean) {\n if (value == null || (boolean && !value))\n return '';\n return ` ${name}${value === true ? '' : `=${typeof value === 'string' ? JSON.stringify(escape(value)) : `\"${value}\"`}`}`;\n}\nfunction add_classes(classes) {\n return classes ? ` class=\"${classes}\"` : '';\n}\n\nfunction bind(component, name, callback) {\n const index = component.$$.props[name];\n if (index !== undefined) {\n component.$$.bound[index] = callback;\n callback(component.$$.ctx[index]);\n }\n}\nfunction create_component(block) {\n block && block.c();\n}\nfunction claim_component(block, parent_nodes) {\n block && block.l(parent_nodes);\n}\nfunction mount_component(component, target, anchor, customElement) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n if (!customElement) {\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n }\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(parent_component ? parent_component.$$.context : options.context || []),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false,\n root: options.target || parent_component.$$.root\n };\n append_styles && append_styles($$.root);\n let ready = false;\n $$.ctx = instance\n ? instance(component, options.props || {}, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n if (options.hydrate) {\n start_hydrating();\n const nodes = children(options.target);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.l(nodes);\n nodes.forEach(detach);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor, options.customElement);\n end_hydrating();\n flush();\n }\n set_current_component(parent_component);\n}\nlet SvelteElement;\nif (typeof HTMLElement === 'function') {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n connectedCallback() {\n const { on_mount } = this.$$;\n this.$$.on_disconnect = on_mount.map(run).filter(is_function);\n // @ts-ignore todo: improve typings\n for (const key in this.$$.slotted) {\n // @ts-ignore todo: improve typings\n this.appendChild(this.$$.slotted[key]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n disconnectedCallback() {\n run_all(this.$$.on_disconnect);\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n // TODO should this delegate to addEventListener?\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\n/**\n * Base class for Svelte components. Used when dev=false.\n */\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\nfunction dispatch_dev(type, detail) {\n document.dispatchEvent(custom_event(type, Object.assign({ version: '3.42.4' }, detail), true));\n}\nfunction append_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append(target, node);\n}\nfunction append_hydration_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append_hydration(target, node);\n}\nfunction insert_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert(target, node, anchor);\n}\nfunction insert_hydration_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert_hydration(target, node, anchor);\n}\nfunction detach_dev(node) {\n dispatch_dev('SvelteDOMRemove', { node });\n detach(node);\n}\nfunction detach_between_dev(before, after) {\n while (before.nextSibling && before.nextSibling !== after) {\n detach_dev(before.nextSibling);\n }\n}\nfunction detach_before_dev(after) {\n while (after.previousSibling) {\n detach_dev(after.previousSibling);\n }\n}\nfunction detach_after_dev(before) {\n while (before.nextSibling) {\n detach_dev(before.nextSibling);\n }\n}\nfunction listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) {\n const modifiers = options === true ? ['capture'] : options ? Array.from(Object.keys(options)) : [];\n if (has_prevent_default)\n modifiers.push('preventDefault');\n if (has_stop_propagation)\n modifiers.push('stopPropagation');\n dispatch_dev('SvelteDOMAddEventListener', { node, event, handler, modifiers });\n const dispose = listen(node, event, handler, options);\n return () => {\n dispatch_dev('SvelteDOMRemoveEventListener', { node, event, handler, modifiers });\n dispose();\n };\n}\nfunction attr_dev(node, attribute, value) {\n attr(node, attribute, value);\n if (value == null)\n dispatch_dev('SvelteDOMRemoveAttribute', { node, attribute });\n else\n dispatch_dev('SvelteDOMSetAttribute', { node, attribute, value });\n}\nfunction prop_dev(node, property, value) {\n node[property] = value;\n dispatch_dev('SvelteDOMSetProperty', { node, property, value });\n}\nfunction dataset_dev(node, property, value) {\n node.dataset[property] = value;\n dispatch_dev('SvelteDOMSetDataset', { node, property, value });\n}\nfunction set_data_dev(text, data) {\n data = '' + data;\n if (text.wholeText === data)\n return;\n dispatch_dev('SvelteDOMSetData', { node: text, data });\n text.data = data;\n}\nfunction validate_each_argument(arg) {\n if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) {\n let msg = '{#each} only iterates over array-like objects.';\n if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) {\n msg += ' You can use a spread to convert this iterable into an array.';\n }\n throw new Error(msg);\n }\n}\nfunction validate_slots(name, slot, keys) {\n for (const slot_key of Object.keys(slot)) {\n if (!~keys.indexOf(slot_key)) {\n console.warn(`<${name}> received an unexpected slot \"${slot_key}\".`);\n }\n }\n}\n/**\n * Base class for Svelte components with some minor dev-enhancements. Used when dev=true.\n */\nclass SvelteComponentDev extends SvelteComponent {\n constructor(options) {\n if (!options || (!options.target && !options.$$inline)) {\n throw new Error(\"'target' is a required option\");\n }\n super();\n }\n $destroy() {\n super.$destroy();\n this.$destroy = () => {\n console.warn('Component was already destroyed'); // eslint-disable-line no-console\n };\n }\n $capture_state() { }\n $inject_state() { }\n}\n/**\n * Base class to create strongly typed Svelte components.\n * This only exists for typing purposes and should be used in `.d.ts` files.\n *\n * ### Example:\n *\n * You have component library on npm called `component-library`, from which\n * you export a component called `MyComponent`. For Svelte+TypeScript users,\n * you want to provide typings. Therefore you create a `index.d.ts`:\n * ```ts\n * import { SvelteComponentTyped } from \"svelte\";\n * export class MyComponent extends SvelteComponentTyped<{foo: string}> {}\n * ```\n * Typing this makes it possible for IDEs like VS Code with the Svelte extension\n * to provide intellisense and to use the component like this in a Svelte file\n * with TypeScript:\n * ```svelte\n * <script lang=\"ts\">\n * \timport { MyComponent } from \"component-library\";\n * </script>\n * <MyComponent foo={'bar'} />\n * ```\n *\n * #### Why not make this part of `SvelteComponent(Dev)`?\n * Because\n * ```ts\n * class ASubclassOfSvelteComponent extends SvelteComponent<{foo: string}> {}\n * const component: typeof SvelteComponent = ASubclassOfSvelteComponent;\n * ```\n * will throw a type error, so we need to separate the more strictly typed class.\n */\nclass SvelteComponentTyped extends SvelteComponentDev {\n constructor(options) {\n super(options);\n }\n}\nfunction loop_guard(timeout) {\n const start = Date.now();\n return () => {\n if (Date.now() - start > timeout) {\n throw new Error('Infinite loop detected');\n }\n };\n}\n\nexport { HtmlTag, HtmlTagHydration, SvelteComponent, SvelteComponentDev, SvelteComponentTyped, SvelteElement, action_destroyer, add_attribute, add_classes, add_flush_callback, add_location, add_render_callback, add_resize_listener, add_transform, afterUpdate, append, append_dev, append_empty_stylesheet, append_hydration, append_hydration_dev, append_styles, assign, attr, attr_dev, attribute_to_object, beforeUpdate, bind, binding_callbacks, blank_object, bubble, check_outros, children, claim_component, claim_element, claim_html_tag, claim_space, claim_svg_element, claim_text, clear_loops, component_subscribe, compute_rest_props, compute_slots, createEventDispatcher, create_animation, create_bidirectional_transition, create_component, create_in_transition, create_out_transition, create_slot, create_ssr_component, current_component, custom_event, dataset_dev, debug, destroy_block, destroy_component, destroy_each, detach, detach_after_dev, detach_before_dev, detach_between_dev, detach_dev, dirty_components, dispatch_dev, each, element, element_is, empty, end_hydrating, escape, escape_attribute_value, escape_object, escaped, exclude_internal_props, fix_and_destroy_block, fix_and_outro_and_destroy_block, fix_position, flush, getAllContexts, getContext, get_all_dirty_from_scope, get_binding_group_value, get_current_component, get_custom_elements_slots, get_root_for_style, get_slot_changes, get_spread_object, get_spread_update, get_store_value, globals, group_outros, handle_promise, hasContext, has_prop, identity, init, insert, insert_dev, insert_hydration, insert_hydration_dev, intros, invalid_attribute_name_character, is_client, is_crossorigin, is_empty, is_function, is_promise, listen, listen_dev, loop, loop_guard, missing_component, mount_component, noop, not_equal, now, null_to_empty, object_without_properties, onDestroy, onMount, once, outro_and_destroy_block, prevent_default, prop_dev, query_selector_all, raf, run, run_all, safe_not_equal, schedule_update, select_multiple_value, select_option, select_options, select_value, self, setContext, set_attributes, set_current_component, set_custom_element_data, set_data, set_data_dev, set_input_type, set_input_value, set_now, set_raf, set_store_value, set_style, set_svg_attributes, space, spread, src_url_equal, start_hydrating, stop_propagation, subscribe, svg_element, text, tick, time_ranges_to_array, to_number, toggle_class, transition_in, transition_out, trusted, update_await_block_branch, update_keyed_each, update_slot, update_slot_base, validate_component, validate_each_argument, validate_each_keys, validate_slots, validate_store, xlink_attr };\n","<script lang=\"ts\">\n import { isEmpty } from \"lodash\";\n import { ApplianceNames } from \"white-web-sdk\";\n\n export let cursorName: string;\n export let tagName: string | undefined;\n export let backgroundColor: string;\n export let appliance: string;\n export let x: number;\n export let y: number;\n export let src: string | undefined;\n export let visible: boolean;\n export let avatar: string;\n export let theme: string;\n export let color: string;\n export let cursorTagBackgroundColor: string;\n export let opacity: number;\n\n $: hasName = !isEmpty(cursorName);\n $: hasTagName = !isEmpty(tagName);\n $: hasAvatar = !isEmpty(avatar);\n $: display = visible ? \"initial\" : \"none\";\n $: isLaserPointer = appliance === ApplianceNames.laserPointer;\n\n const computedAvatarStyle = () => {\n return Object.entries({\n width: (hasName ? 19 : 28) + \"px\",\n height: (hasName ? 19 : 28) + \"px\",\n position: hasName ? \"initial\" : \"absolute\",\n \"border-color\": hasName ? \"white\" : backgroundColor,\n \"margin-right\": (hasName ? 4 : 0) + \"px\",\n })\n .map(([key, v]) => `${key}: ${v}`)\n .join(\";\");\n };\n</script>\n\n<div\n class=\"netless-window-manager-cursor-mid\"\n style=\"transform: translateX({x}px) translateY({y}px);display: {display}\"\n> \n {#if !isLaserPointer}\n <div class=\"netless-window-manager-cursor-name\">\n <div\n class={theme}\n style=\"background-color: {backgroundColor};color: {color};opacity: {opacity}\"\n >\n {#if hasAvatar}\n <img\n class=\"netless-window-manager-cursor-selector-avatar\"\n style={computedAvatarStyle()}\n src={avatar}\n alt=\"avatar\"\n />\n {/if}\n <span style=\"overflow: hidden;white-space: nowrap;text-overflow: ellipsis;max-width: 80px\">{cursorName}</span>\n {#if hasTagName}\n <span class=\"netless-window-manager-cursor-tag-name\" style=\"background-color: {cursorTagBackgroundColor}\">\n {tagName}\n </span>\n {/if}\n </div>\n </div>\n {/if}\n <div class=\"cursor-image-wrapper\">\n <img class=\"netless-window-manager-cursor-{appliance}-image\" {src} alt={appliance} />\n </div>\n</div>\n","import { ApplianceNames } from \"white-web-sdk\";\nimport pencil from \"../image/pencil-cursor.png\";\nimport selector from \"../image/selector-cursor.png\";\nimport eraser from \"../image/eraser-cursor.png\";\nimport shape from \"../image/shape-cursor.svg\";\nimport text from \"../image/text-cursor.svg\";\nimport laser from \"../image/laser-pointer-cursor.svg\";\n\nexport const ApplianceMap: {\n [key: string]: string;\n} = {\n [ApplianceNames.pencil]: pencil,\n [ApplianceNames.selector]: selector,\n [ApplianceNames.eraser]: eraser,\n [ApplianceNames.shape]: shape,\n [ApplianceNames.text]: text,\n [ApplianceNames.laserPointer]: laser,\n};\n","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADEAAAAxCAYAAABznEEcAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAZoSURBVHgB7VlLSCRXFL3ljNEhEXTGhMQJmOjCz8ZNVLKICz9xIYhCNi7UgINkGEk2En8hW5cBUQNxo05GAoKikuCAmvGzGMdPcCUGjDPxD/4Vv/3JvWW97luvq7ur+hMZ8MKlqrteNfe8e965970GuLVbC5kpJr53+hjHx9yY3TUxJgLMAQG4ITARfp5T4Mri4uL9q6urnxwOxz/oY5eXl1/Pzs7e195X2FX4jZsIhAK7gx5ps9m6nGj9/f3OtbU1pzAE0318fPwVjYHrrN7R3AjU/wpOBwA9Cmf/9ejoqDMtLU31iooKGdA+ATo4OMiXAEWAHhBAGEApXj4rPAik0vPt7e0vCgoKPH4gMzMTSktLIS8vD2JiYgABvcHMTZyennbHxsaOg3udOJmLzwqEYB0ZgRCZENm4u7e39yQuLq65srISZmZmvP5Ybm4u5OfnQ0lJyXWUCAgzNLS+vt6SnJz8WgvYwV5xSlcRgyVg3ha2Dkxzc3MvfZmVlQW+bGxsDBobGyE7O1u94uJPjIqKqklKSvrbbrfPnp+ff7e8vJwMnlSTKWfJjDKhywJo6wLp0YcZ+dyIUr7s4cOHLsrRlQwBTSBFuzc2NiZYhjjVAIyzZBqEwgCQv0OOM/gNzuiP/ijlDxBRjgClpqa6AF1cXDydmpoaLCws3JcAGYHyC4JMzoKaibKysvienp6FtrY2IA/WCFB5ebkqCHSvARo8Ozt7igIxwIJ2gJ+seFMnDoIyEUV+dHT0G3qWVUr5M043DdAB0m2IKZwAYpgZX+qkywR6NFbuR0iDxmAoZRUQKRxSLTMnJ8eIaqqSeVMnIYUOdu+sq6vrp4f+VCoYo8khZaNs01VRlERUu2/BrWAA7sl2Anink1Ao18JGjyY/PDx8hq1GZqgp5c2mp6chMjLy2b179x7hRzvoqeUUwXIzqq4O5nZsNUaEbIbLqPLTou/s7FTvT05OpsA9sXJG1AVsZDwjutqBIN6gUlWjxod8XRBNKXgsrqpqYZfwEqX9h8TExD7wbFm8LmzxHQ0QHSlXKZVSqFC/hkqlaKapTaGgCQTK7PHW1lb/wsLC86KiokkccoV+qV1tcE0pO7AWxmhTxBszDzqRr66ujqanp2cRpQLNBgUsCh8BwQ54bn5+/s+mpqa+4eHhfS1gb52vwuP0trPjhSZCBtLQ0NA3MDDQQIFYAUHBYhuvzjpVbJr1lZWVP3p7e19UVVXNgHumXYrI4uBx6Yqevz02b0FcRQ8CoBQF3dXVpQLZ3d39C7n+ora29vfJyclDYFnWgFyxK3cxhss/+KoT/N6DVkQpKypFGUCp3Ozo6HgSHx//GLW/BwHsg57zl5pzADajwLn52mPL1ZHPloMoRYPMFL6EhAR18e7s7MxVV1fPsAAp4Avteq7dC/c1+wKI4g+EfGzDM+EYHBw8RDrNiA2QL6upqVGvKJ2/gHu2L1nA5wwEB2YDfSYMO1x/px0cgEc2zBY+eo67u6H29vZ/wU2VC8l58JxKNjDOgojNEp08aFVfX++3l6JMEdDx8fEB0FNIBsDXBc8ArwuW1EkeI1RKdLWmCx+1DhkZGRvR0dFfSsHKxYtnW0iqvJAN9xNm6MR/QO5sfapUSkqKmqW5ubmfwVgyZdpw/vPZl2kUEAinBMSUStG+gwra0NDQSynQKyloIxnlewafjDFLJzLRBJqiFMnqyMgIbG5uDuD996Dnv8iAPOMAPmbcm5lVJwA/vZRMKZGZlpaWVtAvUL4GZMqE1fjRJrUd76LHoX+InlhcXPwZnWW2tra6jjrpiBM3UK/weQr6J+gfodMh9HtwncG7YLA3CMSsLmxx5WuDCt8B7vZeicInTjCWlpb6wc15mfey7oc9E8LElpVmMgb9AXoC+qcTExOPKRu4NlTHs6Q10GfhgfYOvRsJQZ76BWMKuDtaolQs+gfoH6Mn436gDg+e+5BKXUQx/C5Je/a+NpbeiQJPKgUdlNXx/BCBKxVdxW5Q0I3XBqFKRhU4KLtjYawi3csuTKdc4FnIXNvKUJkVEGRG20QZAAUpA5DbaYAQLmQzfzxyk/ffdnCD4NWVnGdE7kQBQvQHC5lVEDxgMaM29lkxGCNLKrDnIbFAMkFmBIaDkHstU41coGZ1TZD5UjReCGUAYbNgdNqoXZB/T67yYbFAMiGML3BhYeH8rb0t9h/zgcTBcTNGiQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,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\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDAgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDYwLjEgKDg4MTMzKSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT5zaGFwZS1jdXJzb3I8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBkPSJNMjAsMjEuNSBDMjAuMjQ1NDU5OSwyMS41IDIwLjQ0OTYwODQsMjEuNjc2ODc1MiAyMC40OTE5NDQzLDIxLjkxMDEyNDQgTDIwLjUsMjIgTDIwLjUsMjcgQzIwLjUsMjcuMjc2MTQyNCAyMC4yNzYxNDI0LDI3LjUgMjAsMjcuNSBDMTkuNzU0NTQwMSwyNy41IDE5LjU1MDM5MTYsMjcuMzIzMTI0OCAxOS41MDgwNTU3LDI3LjA4OTg3NTYgTDE5LjUsMjcgTDE5LjUsMjIgQzE5LjUsMjEuNzIzODU3NiAxOS43MjM4NTc2LDIxLjUgMjAsMjEuNSBaIE0yNywxOS41IEMyNy4yNzYxNDI0LDE5LjUgMjcuNSwxOS43MjM4NTc2IDI3LjUsMjAgQzI3LjUsMjAuMjQ1NDU5OSAyNy4zMjMxMjQ4LDIwLjQ0OTYwODQgMjcuMDg5ODc1NiwyMC40OTE5NDQzIEwyNywyMC41IEwyMiwyMC41IEMyMS43MjM4NTc2LDIwLjUgMjEuNSwyMC4yNzYxNDI0IDIxLjUsMjAgQzIxLjUsMTkuNzU0NTQwMSAyMS42NzY4NzUyLDE5LjU1MDM5MTYgMjEuOTEwMTI0NCwxOS41MDgwNTU3IEwyMiwxOS41IEwyNywxOS41IFogTTE4LDE5LjUgQzE4LjI3NjE0MjQsMTkuNSAxOC41LDE5LjcyMzg1NzYgMTguNSwyMCBDMTguNSwyMC4yNDU0NTk5IDE4LjMyMzEyNDgsMjAuNDQ5NjA4NCAxOC4wODk4NzU2LDIwLjQ5MTk0NDMgTDE4LDIwLjUgTDEzLDIwLjUgQzEyLjcyMzg1NzYsMjAuNSAxMi41LDIwLjI3NjE0MjQgMTIuNSwyMCBDMTIuNSwxOS43NTQ1NDAxIDEyLjY3Njg3NTIsMTkuNTUwMzkxNiAxMi45MTAxMjQ0LDE5LjUwODA1NTcgTDEzLDE5LjUgTDE4LDE5LjUgWiBNMjAsMTIuNSBDMjAuMjQ1NDU5OSwxMi41IDIwLjQ0OTYwODQsMTIuNjc2ODc1MiAyMC40OTE5NDQzLDEyLjkxMDEyNDQgTDIwLjUsMTMgTDIwLjUsMTggQzIwLjUsMTguMjc2MTQyNCAyMC4yNzYxNDI0LDE4LjUgMjAsMTguNSBDMTkuNzU0NTQwMSwxOC41IDE5LjU1MDM5MTYsMTguMzIzMTI0OCAxOS41MDgwNTU3LDE4LjA4OTg3NTYgTDE5LjUsMTggTDE5LjUsMTMgQzE5LjUsMTIuNzIzODU3NiAxOS43MjM4NTc2LDEyLjUgMjAsMTIuNSBaIiBpZD0icGF0aC0xIj48L3BhdGg+CiAgICAgICAgPGZpbHRlciB4PSItNjQuNiUiIHk9Ii01OS41JSIgd2lkdGg9IjIyOS4zJSIgaGVpZ2h0PSIyNDYuMSUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0yIj4KICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9IjEiIG9wZXJhdG9yPSJkaWxhdGUiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dTcHJlYWRPdXRlcjEiPjwvZmVNb3JwaG9sb2d5PgogICAgICAgICAgICA8ZmVPZmZzZXQgZHg9IjAiIGR5PSIyIiBpbj0ic2hhZG93U3ByZWFkT3V0ZXIxIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMyIgaW49InNoYWRvd09mZnNldE91dGVyMSIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlR2F1c3NpYW5CbHVyPgogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW49InNoYWRvd0JsdXJPdXRlcjEiIGluMj0iU291cmNlQWxwaGEiIG9wZXJhdG9yPSJvdXQiIHJlc3VsdD0ic2hhZG93Qmx1ck91dGVyMSI+PC9mZUNvbXBvc2l0ZT4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAgICAwIDAgMCAwIDAgICAwIDAgMCAwIDAgIDAgMCAwIDAuMTYgMCIgdHlwZT0ibWF0cml4IiBpbj0ic2hhZG93Qmx1ck91dGVyMSI+PC9mZUNvbG9yTWF0cml4PgogICAgICAgIDwvZmlsdGVyPgogICAgPC9kZWZzPgogICAgPGcgaWQ9Iumhtemdoi00IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iV2hpdGVib2FyZC1HdWlkZWxpbmVzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMzQ0LjAwMDAwMCwgLTc1MS4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9InNoYXBlLWN1cnNvciIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzQ0LjAwMDAwMCwgNzUxLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9ouWkh+S7vS00NCIgZmlsbD0iI0ZGRkZGRiIgb3BhY2l0eT0iMC4wMSIgeD0iMCIgeT0iMCIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIiByeD0iMiI+PC9yZWN0PgogICAgICAgICAgICAgICAgPGcgaWQ9IuW9oueKtue7k+WQiCIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIxIiBkPSJNMjAsMjEgQzIwLjQ4NTQxMDMsMjEgMjAuODk4MDg1LDIxLjM0Nzk5OTMgMjAuOTg5OTQ3OSwyMS44NjU0ODc3IEwyMSwyMiBMMjEsMjcgQzIxLDI3LjU1MjI4NDcgMjAuNTUyMjg0NywyOCAyMCwyOCBDMTkuNTE0NTg5NywyOCAxOS4xMDE5MTUsMjcuNjUyMDAwNyAxOS4wMTAwNTIxLDI3LjEzNDUxMjMgTDE5LDI3IEwxOSwyMiBDMTksMjEuNDQ3NzE1MyAxOS40NDc3MTUzLDIxIDIwLDIxIFogTTI3LDE5IEMyNy41NTIyODQ3LDE5IDI4LDE5LjQ0NzcxNTMgMjgsMjAgQzI4LDIwLjQ4NTQxMDMgMjcuNjUyMDAwNywyMC44OTgwODUgMjcuMTM0NTEyMywyMC45ODk5NDc5IEwyNywyMSBMMjIsMjEgQzIxLjQ0NzcxNTMsMjEgMjEsMjAuNTUyMjg0NyAyMSwyMCBDMjEsMTkuNTE0NTg5NyAyMS4zNDc5OTkzLDE5LjEwMTkxNSAyMS44NjU0ODc3LDE5LjAxMDA1MjEgTDIyLDE5IEwyNywxOSBaIE0xOCwxOSBDMTguNTUyMjg0NywxOSAxOSwxOS40NDc3MTUzIDE5LDIwIEMxOSwyMC40ODU0MTAzIDE4LjY1MjAwMDcsMjAuODk4MDg1IDE4LjEzNDUxMjMsMjAuOTg5OTQ3OSBMMTgsMjEgTDEzLDIxIEMxMi40NDc3MTUzLDIxIDEyLDIwLjU1MjI4NDcgMTIsMjAgQzEyLDE5LjUxNDU4OTcgMTIuMzQ3OTk5MywxOS4xMDE5MTUgMTIuODY1NDg3NywxOS4wMTAwNTIxIEwxMywxOSBMMTgsMTkgWiBNMjAsMTIgQzIwLjQ4NTQxMDMsMTIgMjAuODk4MDg1LDEyLjM0Nzk5OTMgMjAuOTg5OTQ3OSwxMi44NjU0ODc3IEwyMSwxMyBMMjEsMTggQzIxLDE4LjU1MjI4NDcgMjAuNTUyMjg0NywxOSAyMCwxOSBDMTkuNTE0NTg5NywxOSAxOS4xMDE5MTUsMTguNjUyMDAwNyAxOS4wMTAwNTIxLDE4LjEzNDUxMjMgTDE5LDE4IEwxOSwxMyBDMTksMTIuNDQ3NzE1MyAxOS40NDc3MTUzLDEyIDIwLDEyIFoiIGZpbGw9IiMyMTIzMjQiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9oiIgZmlsbD0iI0ZGRkZGRiIgeD0iMTguNSIgeT0iMTciIHdpZHRoPSIzIiBoZWlnaHQ9IjYiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIGZpbGw9IiNGRkZGRkYiIHg9IjE3IiB5PSIxOC41IiB3aWR0aD0iNiIgaGVpZ2h0PSIzIj48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjAsMjEuNSBDMjAuMjQ1NDU5OSwyMS41IDIwLjQ0OTYwODQsMjEuNjc2ODc1MiAyMC40OTE5NDQzLDIxLjkxMDEyNDQgTDIwLjUsMjIgTDIwLjUsMjcgQzIwLjUsMjcuMjc2MTQyNCAyMC4yNzYxNDI0LDI3LjUgMjAsMjcuNSBDMTkuNzU0NTQwMSwyNy41IDE5LjU1MDM5MTYsMjcuMzIzMTI0OCAxOS41MDgwNTU3LDI3LjA4OTg3NTYgTDE5LjUsMjcgTDE5LjUsMjIgQzE5LjUsMjEuNzIzODU3NiAxOS43MjM4NTc2LDIxLjUgMjAsMjEuNSBaIE0yNywxOS41IEMyNy4yNzYxNDI0LDE5LjUgMjcuNSwxOS43MjM4NTc2IDI3LjUsMjAgQzI3LjUsMjAuMjQ1NDU5OSAyNy4zMjMxMjQ4LDIwLjQ0OTYwODQgMjcuMDg5ODc1NiwyMC40OTE5NDQzIEwyNywyMC41IEwyMiwyMC41IEMyMS43MjM4NTc2LDIwLjUgMjEuNSwyMC4yNzYxNDI0IDIxLjUsMjAgQzIxLjUsMTkuNzU0NTQwMSAyMS42NzY4NzUyLDE5LjU1MDM5MTYgMjEuOTEwMTI0NCwxOS41MDgwNTU3IEwyMiwxOS41IEwyNywxOS41IFogTTE4LDE5LjUgQzE4LjI3NjE0MjQsMTkuNSAxOC41LDE5LjcyMzg1NzYgMTguNSwyMCBDMTguNSwyMC4yNDU0NTk5IDE4LjMyMzEyNDgsMjAuNDQ5NjA4NCAxOC4wODk4NzU2LDIwLjQ5MTk0NDMgTDE4LDIwLjUgTDEzLDIwLjUgQzEyLjcyMzg1NzYsMjAuNSAxMi41LDIwLjI3NjE0MjQgMTIuNSwyMCBDMTIuNSwxOS43NTQ1NDAxIDEyLjY3Njg3NTIsMTkuNTUwMzkxNiAxMi45MTAxMjQ0LDE5LjUwODA1NTcgTDEzLDE5LjUgTDE4LDE5LjUgWiBNMjAsMTIuNSBDMjAuMjQ1NDU5OSwxMi41IDIwLjQ0OTYwODQsMTIuNjc2ODc1MiAyMC40OTE5NDQzLDEyLjkxMDEyNDQgTDIwLjUsMTMgTDIwLjUsMTggQzIwLjUsMTguMjc2MTQyNCAyMC4yNzYxNDI0LDE4LjUgMjAsMTguNSBDMTkuNzU0NTQwMSwxOC41IDE5LjU1MDM5MTYsMTguMzIzMTI0OCAxOS41MDgwNTU3LDE4LjA4OTg3NTYgTDE5LjUsMTggTDE5LjUsMTMgQzE5LjUsMTIuNzIzODU3NiAxOS43MjM4NTc2LDEyLjUgMjAsMTIuNSBaIiBpZD0i5b2i54q257uT5ZCIIiBmaWxsPSIjMjEyMzI0IiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDdweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDcgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDYwLjEgKDg4MTMzKSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT50ZXh0LWN1cnNvcjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxwYXRoIGQ9Ik0xNiwyNi41IEMxNS43MjM4NTc2LDI2LjUgMTUuNSwyNi4yNzYxNDI0IDE1LjUsMjYgQzE1LjUsMjUuNzU0NTQwMSAxNS42NzY4NzUyLDI1LjU1MDM5MTYgMTUuOTEwMTI0NCwyNS41MDgwNTU3IEwxNiwyNS41IEwxOS41LDI1LjUgTDE5LjUsMTQuNSBMMTYsMTQuNSBDMTUuNzIzODU3NiwxNC41IDE1LjUsMTQuMjc2MTQyNCAxNS41LDE0IEMxNS41LDEzLjc1NDU0MDEgMTUuNjc2ODc1MiwxMy41NTAzOTE2IDE1LjkxMDEyNDQsMTMuNTA4MDU1NyBMMTYsMTMuNSBMMjQsMTMuNSBDMjQuMjc2MTQyNCwxMy41IDI0LjUsMTMuNzIzODU3NiAyNC41LDE0IEMyNC41LDE0LjI0NTQ1OTkgMjQuMzIzMTI0OCwxNC40NDk2MDg0IDI0LjA4OTg3NTYsMTQuNDkxOTQ0MyBMMjQsMTQuNSBMMjAuNSwxNC41IEwyMC41LDI1LjUgTDI0LDI1LjUgQzI0LjI3NjE0MjQsMjUuNSAyNC41LDI1LjcyMzg1NzYgMjQuNSwyNiBDMjQuNSwyNi4yNDU0NTk5IDI0LjMyMzEyNDgsMjYuNDQ5NjA4NCAyNC4wODk4NzU2LDI2LjQ5MTk0NDMgTDI0LDI2LjUgTDE2LDI2LjUgWiIgaWQ9InBhdGgtMSI+PC9wYXRoPgogICAgICAgIDxmaWx0ZXIgeD0iLTI4NC4wJSIgeT0iLTgxLjUlIiB3aWR0aD0iNjY4LjElIiBoZWlnaHQ9IjI5My45JSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0iZmlsdGVyLTIiPgogICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz0iMSIgb3BlcmF0b3I9ImRpbGF0ZSIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd1NwcmVhZE91dGVyMSI+PC9mZU1vcnBob2xvZ3k+CiAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iMCIgZHk9IjIiIGluPSJzaGFkb3dTcHJlYWRPdXRlcjEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0T3V0ZXIxIj48L2ZlT2Zmc2V0PgogICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIzIiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbj0ic2hhZG93Qmx1ck91dGVyMSIgaW4yPSJTb3VyY2VBbHBoYSIgb3BlcmF0b3I9Im91dCIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29tcG9zaXRlPgogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgMCAwIDAgMC4xNiAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29sb3JNYXRyaXg+CiAgICAgICAgPC9maWx0ZXI+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0i6aG16Z2iLTQiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJXaGl0ZWJvYXJkLUd1aWRlbGluZXMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zODguMDAwMDAwLCAtNjcyLjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0idGV4dC1jdXJzb3IiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM5Mi4wMDAwMDAsIDY3Mi4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaLlpIfku70tNDAiIGZpbGw9IiNGRkZGRkYiIG9wYWNpdHk9IjAuMDEiIHg9IjAiIHk9IjAiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgcng9IjIiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxnIGlkPSLlvaLnirbnu5PlkIgiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIxIiBmaWx0ZXI9InVybCgjZmlsdGVyLTIpIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMSIgZD0iTTE5LDI1IEwxOSwxNSBMMTYsMTUgQzE1LjQ0NzcxNTMsMTUgMTUsMTQuNTUyMjg0NyAxNSwxNCBDMTUsMTMuNTE0NTg5NyAxNS4zNDc5OTkzLDEzLjEwMTkxNSAxNS44NjU0ODc3LDEzLjAxMDA1MjEgTDE2LDEzIEwyNCwxMyBDMjQuNTUyMjg0NywxMyAyNSwxMy40NDc3MTUzIDI1LDE0IEMyNSwxNC40ODU0MTAzIDI0LjY1MjAwMDcsMTQuODk4MDg1IDI0LjEzNDUxMjMsMTQuOTg5OTQ3OSBMMjQsMTUgTDIxLDE1IEwyMSwyNSBMMjQsMjUgQzI0LjU1MjI4NDcsMjUgMjUsMjUuNDQ3NzE1MyAyNSwyNiBDMjUsMjYuNDg1NDEwMyAyNC42NTIwMDA3LDI2Ljg5ODA4NSAyNC4xMzQ1MTIzLDI2Ljk4OTk0NzkgTDI0LDI3IEwxNiwyNyBDMTUuNDQ3NzE1MywyNyAxNSwyNi41NTIyODQ3IDE1LDI2IEMxNSwyNS41MTQ1ODk3IDE1LjM0Nzk5OTMsMjUuMTAxOTE1IDE1Ljg2NTQ4NzcsMjUuMDEwMDUyMSBMMTYsMjUgTDE5LDI1IFoiIGZpbGw9IiMyMTIzMjQiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjhweCIgaGVpZ2h0PSIyOHB4IiB2aWV3Qm94PSIwIDAgMjggMjgiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDU1LjEgKDc4MTM2KSAtIGh0dHBzOi8vc2tldGNoYXBwLmNvbSAtLT4KICAgIDx0aXRsZT7nvJbnu4QgMjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxmaWx0ZXIgeD0iLTEyMC4wJSIgeT0iLTEyMC4wJSIgd2lkdGg9IjM0MC4wJSIgaGVpZ2h0PSIzNDAuMCUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0xIj4KICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iNCIgaW49IlNvdXJjZUdyYXBoaWMiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgICAgPC9maWx0ZXI+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0i6aG16Z2iMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9Iue8lue7hC0yIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5LjAwMDAwMCwgOS4wMDAwMDApIiBmaWxsPSIjRkYwMTAwIj4KICAgICAgICAgICAgPGNpcmNsZSBpZD0i5qSt5ZyG5b2iIiBmaWx0ZXI9InVybCgjZmlsdGVyLTEpIiBjeD0iNSIgY3k9IjUiIHI9IjUiPjwvY2lyY2xlPgogICAgICAgICAgICA8cGF0aCBkPSJNNSw4IEM2LjY1Njg1NDI1LDggOCw2LjY1Njg1NDI1IDgsNSBDOCwzLjM0MzE0NTc1IDYuNjU2ODU0MjUsMiA1LDIgQzMuMzQzMTQ1NzUsMiAyLDMuMzQzMTQ1NzUgMiw1IEMyLDYuNjU2ODU0MjUgMy4zNDMxNDU3NSw4IDUsOCBaIE01LDYuMjg1NzE0MjkgQzQuMjg5OTE5NjEsNi4yODU3MTQyOSAzLjcxNDI4NTcxLDUuNzEwMDgwMzkgMy43MTQyODU3MSw1IEMzLjcxNDI4NTcxLDQuMjg5OTE5NjEgNC4yODk5MTk2MSwzLjcxNDI4NTcxIDUsMy43MTQyODU3MSBDNS43MTAwODAzOSwzLjcxNDI4NTcxIDYuMjg1NzE0MjksNC4yODk5MTk2MSA2LjI4NTcxNDI5LDUgQzYuMjg1NzE0MjksNS43MTAwODAzOSA1LjcxMDA4MDM5LDYuMjg1NzE0MjkgNSw2LjI4NTcxNDI5IFoiIGlkPSLmpK3lnIblvaIiIGZpbGwtcnVsZT0ibm9uemVybyI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\"","import App from \"./Cursor.svelte\";\nimport { ApplianceMap } from \"./icons\";\nimport { ApplianceNames } from \"white-web-sdk\";\nimport { omit } from \"lodash\";\nimport type { Position } from \"../AttributesDelegate\";\nimport type { RoomMember } from \"white-web-sdk\";\nimport type { CursorManager } from \"./index\";\nimport type { SvelteComponent } from \"svelte\";\nimport type { AppManager } from \"../AppManager\";\n\nexport type Payload = {\n [key: string]: any;\n};\n\nexport class Cursor {\n private member?: RoomMember;\n private timer?: number;\n private component?: SvelteComponent;\n\n constructor(\n private manager: AppManager,\n private memberId: string,\n private cursorManager: CursorManager,\n private wrapper?: HTMLElement\n ) {\n this.updateMember();\n this.createCursor();\n this.autoHidden();\n }\n\n public move = (position: Position) => {\n if (position.type === \"main\") {\n const rect = this.cursorManager.wrapperRect;\n if (this.component && rect) {\n this.autoHidden();\n this.moveCursor(position, rect, this.manager.mainView);\n }\n } else {\n const focusView = this.cursorManager.focusView;\n const viewRect = focusView?.divElement?.getBoundingClientRect();\n const viewCamera = focusView?.camera;\n if (focusView && viewRect && viewCamera && this.component) {\n this.autoHidden();\n this.moveCursor(position, viewRect, focusView);\n }\n }\n };\n\n public leave = () => {\n this.hide();\n };\n\n private moveCursor(cursor: Position, rect: DOMRect, view: any) {\n const { x, y, type } = cursor;\n const point = view?.screen.convertPointToScreen(x, y);\n if (point) {\n let translateX = point.x - 2;\n let translateY = point.y - 18;\n if (type === \"app\") {\n const wrapperRect = this.cursorManager.wrapperRect;\n if (wrapperRect) {\n translateX = translateX + rect.x - wrapperRect.x;\n translateY = translateY + rect.y - wrapperRect.y;\n }\n }\n if (point.x < 0 || point.x > rect.width || point.y < 0 || point.y > rect.height) {\n this.component?.$set({ visible: false, x: translateX, y: translateY });\n } else {\n this.component?.$set({ visible: true, x: translateX, y: translateY });\n }\n }\n }\n\n public get memberApplianceName() {\n return this.member?.memberState?.currentApplianceName;\n }\n\n public get memberColor() {\n const rgb = this.member?.memberState?.strokeColor.join(\",\");\n return `rgb(${rgb})`;\n }\n\n private get payload(): Payload | undefined {\n return this.member?.payload;\n }\n\n public get memberCursorName() {\n return this.payload?.nickName || this.payload?.cursorName || this.memberId;\n }\n\n private get memberTheme() {\n if (this.payload?.theme) {\n return \"netless-window-manager-cursor-inner-mellow\";\n } else {\n return \"netless-window-manager-cursor-inner\";\n }\n }\n\n private get memberCursorTextColor() {\n return this.payload?.cursorTextColor || \"#FFFFFF\";\n }\n\n private get memberCursorTagBackgroundColor() {\n return this.payload?.cursorTagBackgroundColor || this.memberColor;\n }\n\n private get memberAvatar() {\n return this.payload?.avatar;\n }\n\n private get memberOpacity() {\n if (!this.memberCursorName && !this.memberAvatar) {\n return 0;\n } else {\n return 1;\n }\n }\n\n private get memberTagName(): string | undefined {\n return this.payload?.cursorTagName;\n }\n\n private autoHidden() {\n if (this.timer) {\n clearTimeout(this.timer);\n }\n this.timer = window.setTimeout(() => {\n this.hide();\n }, 1000 * 10); // 10 秒钟自动隐藏\n }\n\n private async createCursor() {\n if (this.member && this.wrapper) {\n this.component = new App({\n target: this.wrapper,\n props: this.initProps(),\n });\n }\n }\n\n private initProps() {\n return {\n x: 0,\n y: 0,\n appliance: this.memberApplianceName as string,\n avatar: this.memberAvatar,\n src: this.getIcon(),\n visible: false,\n backgroundColor: this.memberColor,\n cursorName: this.memberCursorName,\n theme: this.memberTheme,\n color: this.memberCursorTextColor,\n cursorTagBackgroundColor: this.memberCursorTagBackgroundColor,\n opacity: this.memberOpacity,\n tagName: this.memberTagName,\n };\n }\n\n private getIcon() {\n if (this.member) {\n const applianceSrc = ApplianceMap[this.memberApplianceName || ApplianceNames.shape];\n return applianceSrc || ApplianceMap[ApplianceNames.shape];\n }\n }\n\n public updateMember() {\n this.member = this.manager.findMemberByUid(this.memberId);\n this.updateComponent();\n return this.member;\n }\n\n private updateComponent() {\n this.component?.$set(omit(this.initProps(), [\"x\", \"y\"]));\n }\n\n public destroy() {\n if (this.component) {\n this.component.$destroy();\n }\n this.cursorManager.cursorInstances.delete(this.memberId);\n if (this.timer) {\n clearTimeout(this.timer);\n }\n }\n\n public hide() {\n if (this.component) {\n this.component.$set({ visible: false });\n this.destroy();\n }\n }\n}\n","import { ApplianceNames } from \"white-web-sdk\";\nimport { Cursor } from \"./Cursor\";\nimport { CursorState, Events } from \"../constants\";\nimport { emitter, WindowManager } from \"../index\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport { throttle } from \"lodash\";\nimport type { CursorMovePayload } from \"../index\";\nimport type { PositionType } from \"../AttributesDelegate\";\nimport type { Point, RoomMember, View } from \"white-web-sdk\";\nimport type { AppManager } from \"../AppManager\";\n\nexport type EventType = {\n type: PositionType;\n id?: string;\n};\n\nexport type MoveCursorParams = {\n uid: string;\n x: number;\n y: number;\n};\nexport class CursorManager {\n public containerRect?: DOMRect;\n public wrapperRect?: DOMRect;\n public cursorInstances: Map<string, Cursor> = new Map();\n public roomMembers?: readonly RoomMember[];\n private mainViewElement?: HTMLDivElement;\n private sideEffectManager = new SideEffectManager();\n private store = this.manager.store;\n\n constructor(private manager: AppManager, private enableCursor: boolean) {\n this.roomMembers = this.manager.room?.state.roomMembers;\n const wrapper = WindowManager.wrapper;\n if (wrapper) {\n this.setupWrapper(wrapper);\n }\n this.sideEffectManager.add(() => {\n return emitter.on(\"cursorMove\", this.onCursorMove);\n });\n\n this.sideEffectManager.add(() => {\n return emitter.on(\"playgroundSizeChange\", () => this.updateContainerRect());\n });\n }\n\n private onCursorMove = (payload: CursorMovePayload) => {\n const cursorInstance = this.initCursorInstance(payload.uid);\n if (payload.state === CursorState.Leave) {\n cursorInstance.leave();\n } else {\n const member = cursorInstance.updateMember();\n if (this.canMoveCursor(member)) {\n cursorInstance.move(payload.position);\n }\n }\n };\n\n private initCursorInstance = (uid: string) => {\n let cursorInstance = this.cursorInstances.get(uid);\n if (!cursorInstance) {\n cursorInstance = new Cursor(this.manager, uid, this, WindowManager.wrapper);\n this.cursorInstances.set(uid, cursorInstance);\n }\n return cursorInstance;\n };\n\n private canMoveCursor(member: RoomMember | undefined) {\n const isLaserPointer = member?.memberState.currentApplianceName === ApplianceNames.laserPointer;\n // 激光笔教具在不开启光标的情况下也要显示\n return this.enableCursor || isLaserPointer;\n }\n\n public setupWrapper(wrapper: HTMLElement) {\n this.sideEffectManager.add(() => {\n wrapper.addEventListener(\"pointerenter\", this.mouseMoveListener);\n wrapper.addEventListener(\"pointermove\", this.mouseMoveListener);\n wrapper.addEventListener(\"pointerleave\", this.mouseLeaveListener);\n return () => {\n wrapper.removeEventListener(\"pointerenter\", this.mouseMoveListener);\n wrapper.removeEventListener(\"pointermove\", this.mouseMoveListener);\n wrapper.removeEventListener(\"pointerleave\", this.mouseLeaveListener);\n };\n });\n\n this.wrapperRect = wrapper.getBoundingClientRect();\n }\n\n public setMainViewDivElement(div: HTMLDivElement) {\n this.mainViewElement = div;\n }\n\n public get boxState() {\n return this.store.getBoxState();\n }\n\n public get focusView() {\n return this.manager.focusApp?.view;\n }\n\n private mouseMoveListener = throttle((event: PointerEvent) => {\n if (event.pointerType === \"touch\") {\n if (!event.isPrimary) return;\n }\n this.updateCursor(this.getType(event), event.clientX, event.clientY);\n }, 16);\n\n private updateCursor(event: EventType, clientX: number, clientY: number) {\n if (this.wrapperRect && this.manager.canOperate) {\n const view = event.type === \"main\" ? this.manager.mainView : this.focusView;\n const point = this.getPoint(view, clientX, clientY);\n if (point) {\n this.manager.dispatchInternalEvent(Events.CursorMove, {\n uid: this.manager.uid,\n position: {\n x: point.x,\n y: point.y,\n type: event.type,\n },\n } as CursorMovePayload);\n }\n }\n }\n\n private getPoint = (\n view: View | undefined,\n clientX: number,\n clientY: number\n ): Point | undefined => {\n const rect = view?.divElement?.getBoundingClientRect();\n if (rect) {\n const point = view?.convertToPointInWorld({\n x: clientX - rect.x,\n y: clientY - rect.y,\n });\n return point;\n }\n };\n\n /**\n * 因为窗口内框在不同分辨率下的大小不一样,所以这里通过来鼠标事件的 target 来判断是在主白板还是在 APP 中\n */\n private getType = (event: MouseEvent | Touch): EventType => {\n const target = event.target as HTMLElement;\n const focusApp = this.manager.focusApp;\n switch (target.parentElement) {\n case this.mainViewElement: {\n return { type: \"main\" };\n }\n case focusApp?.view?.divElement: {\n return { type: \"app\" };\n }\n default: {\n return { type: \"main\" };\n }\n }\n };\n\n private mouseLeaveListener = () => {\n this.hideCursor(this.manager.uid);\n };\n\n public updateContainerRect() {\n this.containerRect = WindowManager.container?.getBoundingClientRect();\n this.wrapperRect = WindowManager.wrapper?.getBoundingClientRect();\n }\n\n public deleteCursor(uid: string) {\n this.store.cleanCursor(uid);\n const cursor = this.cursorInstances.get(uid);\n if (cursor) {\n cursor.destroy();\n }\n }\n\n public hideCursor(uid: string) {\n const cursor = this.cursorInstances.get(uid);\n if (cursor) {\n cursor.hide();\n }\n }\n\n public destroy() {\n this.sideEffectManager.flushAll();\n if (this.cursorInstances.size) {\n this.cursorInstances.forEach(cursor => {\n cursor.destroy();\n });\n this.cursorInstances.clear();\n }\n }\n}\n","import { emitter } from \"../index\";\nimport { isPlayer } from \"white-web-sdk\";\nimport type { WindowManager } from \"../index\";\nimport type { Camera, Room, Player, PlayerSeekingResult } from \"white-web-sdk\";\n\n// 修改多窗口状态下一些失效的方法实现到 manager 的 mainview 上, 降低迁移成本\nexport const replaceRoomFunction = (room: Room | Player, manager: WindowManager) => {\n if (isPlayer(room)) {\n const player = room as unknown as Player;\n delegateSeekToProgressTime(player);\n } else {\n room = room as unknown as Room;\n const descriptor = Object.getOwnPropertyDescriptor(room, \"disableCameraTransform\");\n if (descriptor) return;\n Object.defineProperty(room, \"disableCameraTransform\", {\n get() {\n return manager.mainView.disableCameraTransform;\n },\n set(disable: boolean) {\n manager.mainView.disableCameraTransform = disable;\n },\n });\n\n Object.defineProperty(room, \"canUndoSteps\", {\n get() {\n return manager.mainView.canUndoSteps;\n },\n });\n\n Object.defineProperty(room, \"canRedoSteps\", {\n get() {\n return manager.mainView.canRedoSteps;\n },\n });\n\n room.moveCamera = (camera: Camera) => manager.moveCamera(camera);\n room.moveCameraToContain = (...args) => manager.moveCameraToContain(...args);\n room.convertToPointInWorld = (...args) => manager.mainView.convertToPointInWorld(...args);\n room.setCameraBound = (...args) => manager.mainView.setCameraBound(...args);\n room.scenePreview = (...args) => manager.mainView.scenePreview(...args);\n room.fillSceneSnapshot = (...args) => manager.mainView.fillSceneSnapshot(...args);\n room.generateScreenshot = (...args) => manager.mainView.generateScreenshot(...args);\n room.setMemberState = (...args) => manager.mainView.setMemberState(...args);\n room.redo = () => manager.redo();\n room.undo = () => manager.undo();\n room.cleanCurrentScene = () => manager.cleanCurrentScene();\n room.delete = () => manager.delete();\n room.copy = () => manager.copy();\n room.paste = () => manager.paste();\n room.duplicate = () => manager.duplicate();\n room.insertImage = (...args) => manager.insertImage(...args);\n room.completeImageUpload = (...args) => manager.completeImageUpload(...args);\n room.insertText = (...args) => manager.insertText(...args);\n room.lockImage = (...args) => manager.lockImage(...args);\n room.lockImages = (...args) => manager.lockImages(...args);\n\n delegateRemoveScenes(room);\n }\n};\n\nconst delegateRemoveScenes = (room: Room) => {\n const originRemoveScenes = room.removeScenes;\n room.removeScenes = (scenePath: string) => {\n const result = originRemoveScenes.call(room, scenePath);\n emitter.emit(\"removeScenes\", scenePath);\n return result;\n };\n};\n\nconst delegateSeekToProgressTime = (player: Player) => {\n const originSeek = player.seekToProgressTime;\n // eslint-disable-next-line no-inner-declarations\n async function newSeek(time: number): Promise<PlayerSeekingResult> {\n const seekResult = await originSeek.call(player, time);\n if (seekResult === \"success\") {\n emitter.emit(\"seek\", time);\n }\n return seekResult;\n }\n player.seekToProgressTime = newSeek;\n};\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\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};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar styles = \".netless-app-docs-viewer-content{position:relative;height:100%;overflow:hidden}.netless-app-docs-viewer-preview-mask{display:none;position:absolute;z-index:200;top:0;left:0;width:100%;height:100%}.netless-app-docs-viewer-preview{display:flex;flex-direction:column;align-items:center;position:absolute;z-index:300;top:0;left:0;width:33%;max-width:200px;height:100%;padding-top:10px;transform:translate(-100%);background:rgba(237,237,240,.9);box-shadow:inset -1px 0 #0000001c;transition:transform .4s}.netless-app-docs-viewer-preview-active .netless-app-docs-viewer-preview-mask{display:block}.netless-app-docs-viewer-preview-active .netless-app-docs-viewer-preview{transform:translate(0)}.netless-app-docs-viewer-preview-page{position:relative;display:block;width:55%;margin-bottom:10px;font-size:0;color:transparent;outline:none;border:7px solid transparent;border-radius:4px;transition:border-color .3s;user-select:none}.netless-app-docs-viewer-preview-page:hover,.netless-app-docs-viewer-preview-page.netless-app-docs-viewer-preview-page-active{border-color:#444e601a}.netless-app-docs-viewer-preview-page>img{width:100%;height:auto;box-sizing:border-box;border:1px solid rgba(0,0,0,.5);border-radius:1px;background-color:#fff;box-shadow:0 2px 8px #0000004d}.netless-app-docs-viewer-preview-page-name{position:absolute;top:1px;left:-10px;transform:translate(-100%);text-align:right;font-size:12px;color:#5f5f5f;user-select:none}.netless-app-docs-viewer-footer{box-sizing:border-box;height:26px;display:flex;align-items:center;padding:0 16px;border-top:1px solid #eeeef7;color:#191919}.netless-app-docs-viewer-float-footer{width:100%;min-height:26px;position:absolute;left:0;bottom:0;z-index:2000;background:rgba(249,249,252,.9);transition:opacity .4s}.netless-app-docs-viewer-footer-btn{box-sizing:border-box;width:26px;height:26px;font-size:0;margin:0;padding:3px;border:none;border-radius:1px;outline:none;color:currentColor;background:transparent;transition:background .4s;cursor:pointer;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.netless-app-docs-viewer-footer-btn:hover{background:rgba(237,237,240,.9)}@media (hover: none){.netless-app-docs-viewer-footer-btn:hover{background:transparent!important}}.netless-app-docs-viewer-footer-btn>svg{width:100%;height:100%}.netless-app-docs-viewer-footer-btn>svg:nth-of-type(2){display:none}.netless-app-docs-viewer-footer-btn.netless-app-docs-viewer-footer-btn-playing>svg:nth-of-type(1){display:none}.netless-app-docs-viewer-footer-btn.netless-app-docs-viewer-footer-btn-playing>svg:nth-of-type(2){display:initial}.netless-app-docs-viewer-footer-btn~.netless-app-docs-viewer-footer-btn{margin-left:15px}.netless-app-docs-viewer-page-jumps{flex:1;display:flex;justify-content:center;align-items:center}.netless-app-docs-viewer-page-number{margin-left:auto;font-size:13px;user-select:none;white-space:nowrap;word-break:keep-all}.netless-app-docs-viewer-page-number-input{border:none;outline:none;width:3em;margin:0;padding:0 2px;text-align:right;font-size:13px;line-height:1;font-weight:400;font-family:inherit;border-radius:2px;color:currentColor;background:transparent;transition:background .4s;user-select:text;-webkit-tap-highlight-color:rgba(0,0,0,0)}.netless-app-docs-viewer-page-number-input:hover,.netless-app-docs-viewer-page-number-input:focus,.netless-app-docs-viewer-page-number-input:active{background:#fff;box-shadow:#63636333 0 2px 8px}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-footer-btn{cursor:not-allowed}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-footer-btn:hover{background:transparent}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input{cursor:not-allowed}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:hover,.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:focus,.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:active{background:transparent;box-shadow:none}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:disabled{color:inherit}.netless-app-docs-viewer-readonly.netless-app-docs-viewer-float-footer{display:none}.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input{color:#a6a6a8}.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input:active,.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input:focus,.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input:hover{color:#222}.telebox-color-scheme-dark .netless-app-docs-viewer-footer{color:#a6a6a8;background:#2d2d33;border-top:none}.telebox-color-scheme-dark .netless-app-docs-viewer-footer-btn:hover{background:#212126}.telebox-color-scheme-dark .netless-app-docs-viewer-preview{background:rgba(50,50,50,.9)}.netless-app-docs-viewer-static-scrollbar{position:absolute;top:0;right:0;z-index:2147483647;width:8px;min-height:30px;margin:0;padding:0;border:none;outline:none;border-radius:4px;background:rgba(68,78,96,.4);box-shadow:1px 1px 8px #ffffffb3;opacity:0;transition:background .4s,opacity .4s 3s,transform .2s;user-select:none}.netless-app-docs-viewer-static-scrollbar.netless-app-docs-viewer-static-scrollbar-dragging{background:rgba(68,78,96,.6);opacity:1;transition:background .4s,opacity .4s 3s!important}.netless-app-docs-viewer-static-scrollbar:hover,.netless-app-docs-viewer-static-scrollbar:focus{background:rgba(68,78,96,.5)}.netless-app-docs-viewer-static-scrollbar:active{background:rgba(68,78,96,.6)}.netless-app-docs-viewer-content:hover .netless-app-docs-viewer-static-scrollbar{opacity:1;transition:background .4s,opacity .4s,transform .2s}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-static-scrollbar{display:none}.netless-app-docs-viewer-static-pages:hover .netless-app-docs-viewer-static-scrollbar{opacity:1;transition:background .4s,opacity .4s,transform .2s}.page-renderer-pages-container{position:relative;overflow:hidden}.page-renderer-page{position:absolute;top:0;left:0;background-position:center;background-size:cover;background-repeat:no-repeat}.page-renderer-pages-container.is-hwa .page-renderer-page{will-change:transform}.page-renderer-page-img{display:block;width:100%;height:auto;user-select:none}.netless-app-docs-viewer-static-pages{overflow:hidden;position:relative;height:100%;user-select:none}.netless-app-docs-viewer-static-page{display:block;width:100%;height:auto;user-select:none}.netless-app-docs-viewer-static-wb-view,.netless-app-docs-viewer-dynamic-wb-view{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;overflow:hidden}.netless-app-docs-viewer-dynamic-wb-view .cursor-clicker .ppt-event-source{cursor:pointer}\\n\";\nconst copyProperty = (to, from, property, ignoreNonConfigurable) => {\n if (property === \"length\" || property === \"prototype\") {\n return;\n }\n if (property === \"arguments\" || property === \"caller\") {\n return;\n }\n const toDescriptor = Object.getOwnPropertyDescriptor(to, property);\n const fromDescriptor = Object.getOwnPropertyDescriptor(from, property);\n if (!canCopyProperty(toDescriptor, fromDescriptor) && ignoreNonConfigurable) {\n return;\n }\n Object.defineProperty(to, property, fromDescriptor);\n};\nconst canCopyProperty = function(toDescriptor, fromDescriptor) {\n return toDescriptor === void 0 || toDescriptor.configurable || toDescriptor.writable === fromDescriptor.writable && toDescriptor.enumerable === fromDescriptor.enumerable && toDescriptor.configurable === fromDescriptor.configurable && (toDescriptor.writable || toDescriptor.value === fromDescriptor.value);\n};\nconst changePrototype = (to, from) => {\n const fromPrototype = Object.getPrototypeOf(from);\n if (fromPrototype === Object.getPrototypeOf(to)) {\n return;\n }\n Object.setPrototypeOf(to, fromPrototype);\n};\nconst wrappedToString = (withName, fromBody) => `/* Wrapped ${withName}*/\n${fromBody}`;\nconst toStringDescriptor = Object.getOwnPropertyDescriptor(Function.prototype, \"toString\");\nconst toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, \"name\");\nconst changeToString = (to, from, name) => {\n const withName = name === \"\" ? \"\" : `with ${name.trim()}() `;\n const newToString = wrappedToString.bind(null, withName, from.toString());\n Object.defineProperty(newToString, \"name\", toStringName);\n Object.defineProperty(to, \"toString\", __spreadProps(__spreadValues({}, toStringDescriptor), { value: newToString }));\n};\nconst mimicFn = (to, from, { ignoreNonConfigurable = false } = {}) => {\n const { name } = to;\n for (const property of Reflect.ownKeys(from)) {\n copyProperty(to, from, property, ignoreNonConfigurable);\n }\n changePrototype(to, from);\n changeToString(to, from, name);\n return to;\n};\nvar mimicFn_1 = mimicFn;\nconst debounceFn = (inputFunction, options = {}) => {\n if (typeof inputFunction !== \"function\") {\n throw new TypeError(`Expected the first argument to be a function, got \\`${typeof inputFunction}\\``);\n }\n const {\n wait = 0,\n maxWait = Number.Infinity,\n before = false,\n after = true\n } = options;\n if (!before && !after) {\n throw new Error(\"Both `before` and `after` are false, function wouldn't be called.\");\n }\n let timeout;\n let maxTimeout;\n let result;\n const debouncedFunction = function(...arguments_) {\n const context = this;\n const later = () => {\n timeout = void 0;\n if (maxTimeout) {\n clearTimeout(maxTimeout);\n maxTimeout = void 0;\n }\n if (after) {\n result = inputFunction.apply(context, arguments_);\n }\n };\n const maxLater = () => {\n maxTimeout = void 0;\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n if (after) {\n result = inputFunction.apply(context, arguments_);\n }\n };\n const shouldCallNow = before && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (maxWait > 0 && maxWait !== Number.Infinity && !maxTimeout) {\n maxTimeout = setTimeout(maxLater, maxWait);\n }\n if (shouldCallNow) {\n result = inputFunction.apply(context, arguments_);\n }\n return result;\n };\n mimicFn_1(debouncedFunction, inputFunction);\n debouncedFunction.cancel = () => {\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n if (maxTimeout) {\n clearTimeout(maxTimeout);\n maxTimeout = void 0;\n }\n };\n return debouncedFunction;\n};\nconst e = \"!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\", s = e.length, t = Array(20), r = () => {\n for (let r2 = 0; r2 < 20; r2++)\n t[r2] = e.charAt(Math.random() * s);\n return t.join(\"\");\n};\nclass o {\n constructor() {\n this.disposers = new Map();\n }\n add(e2, s2 = r()) {\n return this.flush(s2), this.disposers.set(s2, e2()), s2;\n }\n addDisposer(e2, s2 = r()) {\n return this.flush(s2), this.disposers.set(s2, e2), s2;\n }\n addEventListener(e2, s2, t2, o2, i = r()) {\n return this.add(() => (e2.addEventListener(s2, t2, o2), () => e2.removeEventListener(s2, t2, o2)), i), i;\n }\n setTimeout(e2, s2, t2 = r()) {\n return this.add(() => {\n const r2 = window.setTimeout(() => {\n this.remove(t2), e2();\n }, s2);\n return () => window.clearTimeout(r2);\n }, t2);\n }\n setInterval(e2, s2, t2 = r()) {\n return this.add(() => {\n const t3 = window.setInterval(e2, s2);\n return () => window.clearInterval(t3);\n }, t2);\n }\n remove(e2) {\n const s2 = this.disposers.get(e2);\n return this.disposers.delete(e2), s2;\n }\n flush(e2) {\n const s2 = this.remove(e2);\n if (s2)\n try {\n s2();\n } catch (t2) {\n console.error(t2);\n }\n }\n flushAll() {\n this.disposers.forEach((e2) => {\n try {\n e2();\n } catch (s2) {\n console.error(s2);\n }\n }), this.disposers.clear();\n }\n}\nfunction sidebarSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-sidebar`);\n $svg.setAttribute(\"viewBox\", \"0 0 64 64\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M50 8H14c-3.309 0-6 2.691-6 6v36c0 3.309 2.691 6 6 6h36c3.309 0 6-2.691 6-6V14c0-3.309-2.691-6-6-6zM12 50V14c0-1.103.897-2 2-2h8v40h-8c-1.103 0-2-.897-2-2zm40 0c0 1.103-.897 2-2 2H26V12h24c1.103 0 2 .897 2 2z\");\n $svg.appendChild($path);\n return $svg;\n}\nfunction arrowLeftSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-arrow-left`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M177.81 249.959L337.473 90.295c2.722-2.865 2.651-7.378-.143-10.1-2.793-2.65-7.163-2.65-9.956 0l-164.75 164.75c-2.793 2.793-2.793 7.306 0 10.1l164.75 164.75c2.865 2.722 7.378 2.65 10.099-.143 2.651-2.794 2.651-7.163 0-9.957L177.809 249.959z\");\n $svg.appendChild($path);\n return $svg;\n}\nfunction arrowRightSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-arrow-right`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M322.19 250.041L162.527 409.705c-2.722 2.865-2.651 7.378.143 10.1 2.793 2.65 7.163 2.65 9.956 0l164.75-164.75c2.793-2.793 2.793-7.306 0-10.1l-164.75-164.75c-2.865-2.722-7.378-2.65-10.099.143-2.651 2.794-2.651 7.163 0 9.957l159.664 159.736z\");\n $svg.appendChild($path);\n return $svg;\n}\nfunction playSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-play`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M418.158 257.419L174.663 413.33c-6.017 3.919-15.708 3.772-21.291-.29-2.791-2.018-4.295-4.483-4.295-7.084V94.109c0-5.65 6.883-10.289 15.271-10.289 4.298 0 8.391 1.307 11.181 3.332l242.629 155.484c6.016 3.917 6.451 10.292.649 14.491-.216.154-.432.154-.649.292zM170.621 391.288l223.116-141.301L170.71 107.753l-.089 283.535z\");\n $svg.appendChild($path);\n return $svg;\n}\nfunction pauseSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-pause`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M312.491 78.261c0-6.159 4.893-11.213 11.04-11.213 6.158 0 11.211 5.054 11.211 11.213v343.478c0 6.159-5.053 11.213-11.211 11.213-6.147 0-11.04-5.054-11.04-11.213V78.261zM165.257 78.261c0-6.159 4.893-11.213 11.04-11.213 6.158 0 11.211 5.054 11.211 11.213v343.478c0 6.159-5.053 11.213-11.211 11.213-6.147 0-11.04-5.054-11.04-11.213V78.261z\");\n $svg.appendChild($path);\n return $svg;\n}\nconst runningOnBrowser = typeof window !== \"undefined\";\nconst isBot = runningOnBrowser && !(\"onscroll\" in window) || typeof navigator !== \"undefined\" && /(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent);\nconst supportsIntersectionObserver = runningOnBrowser && \"IntersectionObserver\" in window;\nconst supportsClassList = runningOnBrowser && \"classList\" in document.createElement(\"p\");\nconst isHiDpi = runningOnBrowser && window.devicePixelRatio > 1;\nconst defaultSettings = {\n elements_selector: \".lazy\",\n container: isBot || runningOnBrowser ? document : null,\n threshold: 300,\n thresholds: null,\n data_src: \"src\",\n data_srcset: \"srcset\",\n data_sizes: \"sizes\",\n data_bg: \"bg\",\n data_bg_hidpi: \"bg-hidpi\",\n data_bg_multi: \"bg-multi\",\n data_bg_multi_hidpi: \"bg-multi-hidpi\",\n data_poster: \"poster\",\n class_applied: \"applied\",\n class_loading: \"loading\",\n class_loaded: \"loaded\",\n class_error: \"error\",\n class_entered: \"entered\",\n class_exited: \"exited\",\n unobserve_completed: true,\n unobserve_entered: false,\n cancel_on_exit: true,\n callback_enter: null,\n callback_exit: null,\n callback_applied: null,\n callback_loading: null,\n callback_loaded: null,\n callback_error: null,\n callback_finish: null,\n callback_cancel: null,\n use_native: false\n};\nconst getExtendedSettings = (customSettings) => {\n return Object.assign({}, defaultSettings, customSettings);\n};\nconst createInstance = function(classObj, options) {\n let event;\n const eventString = \"LazyLoad::Initialized\";\n const instance = new classObj(options);\n try {\n event = new CustomEvent(eventString, { detail: { instance } });\n } catch (err) {\n event = document.createEvent(\"CustomEvent\");\n event.initCustomEvent(eventString, false, false, { instance });\n }\n window.dispatchEvent(event);\n};\nconst autoInitialize = (classObj, options) => {\n if (!options) {\n return;\n }\n if (!options.length) {\n createInstance(classObj, options);\n } else {\n for (let i = 0, optionsItem; optionsItem = options[i]; i += 1) {\n createInstance(classObj, optionsItem);\n }\n }\n};\nconst SRC = \"src\";\nconst SRCSET = \"srcset\";\nconst SIZES = \"sizes\";\nconst POSTER = \"poster\";\nconst ORIGINALS = \"llOriginalAttrs\";\nconst statusLoading = \"loading\";\nconst statusLoaded = \"loaded\";\nconst statusApplied = \"applied\";\nconst statusEntered = \"entered\";\nconst statusError = \"error\";\nconst statusNative = \"native\";\nconst dataPrefix = \"data-\";\nconst statusDataName = \"ll-status\";\nconst getData = (element, attribute) => {\n return element.getAttribute(dataPrefix + attribute);\n};\nconst setData = (element, attribute, value) => {\n var attrName = dataPrefix + attribute;\n if (value === null) {\n element.removeAttribute(attrName);\n return;\n }\n element.setAttribute(attrName, value);\n};\nconst getStatus = (element) => getData(element, statusDataName);\nconst setStatus = (element, status) => setData(element, statusDataName, status);\nconst resetStatus = (element) => setStatus(element, null);\nconst hasEmptyStatus = (element) => getStatus(element) === null;\nconst hasStatusLoading = (element) => getStatus(element) === statusLoading;\nconst hasStatusError = (element) => getStatus(element) === statusError;\nconst hasStatusNative = (element) => getStatus(element) === statusNative;\nconst statusesAfterLoading = [statusLoading, statusLoaded, statusApplied, statusError];\nconst hadStartedLoading = (element) => statusesAfterLoading.indexOf(getStatus(element)) >= 0;\nconst safeCallback = (callback, arg1, arg2, arg3) => {\n if (!callback) {\n return;\n }\n if (arg3 !== void 0) {\n callback(arg1, arg2, arg3);\n return;\n }\n if (arg2 !== void 0) {\n callback(arg1, arg2);\n return;\n }\n callback(arg1);\n};\nconst addClass = (element, className) => {\n if (supportsClassList) {\n element.classList.add(className);\n return;\n }\n element.className += (element.className ? \" \" : \"\") + className;\n};\nconst removeClass = (element, className) => {\n if (supportsClassList) {\n element.classList.remove(className);\n return;\n }\n element.className = element.className.replace(new RegExp(\"(^|\\\\s+)\" + className + \"(\\\\s+|$)\"), \" \").replace(/^\\s+/, \"\").replace(/\\s+$/, \"\");\n};\nconst addTempImage = (element) => {\n element.llTempImage = document.createElement(\"IMG\");\n};\nconst deleteTempImage = (element) => {\n delete element.llTempImage;\n};\nconst getTempImage = (element) => element.llTempImage;\nconst unobserve = (element, instance) => {\n if (!instance)\n return;\n const observer = instance._observer;\n if (!observer)\n return;\n observer.unobserve(element);\n};\nconst resetObserver = (observer) => {\n observer.disconnect();\n};\nconst unobserveEntered = (element, settings, instance) => {\n if (settings.unobserve_entered)\n unobserve(element, instance);\n};\nconst updateLoadingCount = (instance, delta) => {\n if (!instance)\n return;\n instance.loadingCount += delta;\n};\nconst decreaseToLoadCount = (instance) => {\n if (!instance)\n return;\n instance.toLoadCount -= 1;\n};\nconst setToLoadCount = (instance, value) => {\n if (!instance)\n return;\n instance.toLoadCount = value;\n};\nconst isSomethingLoading = (instance) => instance.loadingCount > 0;\nconst haveElementsToLoad = (instance) => instance.toLoadCount > 0;\nconst getSourceTags = (parentTag) => {\n let sourceTags = [];\n for (let i = 0, childTag; childTag = parentTag.children[i]; i += 1) {\n if (childTag.tagName === \"SOURCE\") {\n sourceTags.push(childTag);\n }\n }\n return sourceTags;\n};\nconst forEachPictureSource = (element, fn) => {\n const parent = element.parentNode;\n if (!parent || parent.tagName !== \"PICTURE\") {\n return;\n }\n let sourceTags = getSourceTags(parent);\n sourceTags.forEach(fn);\n};\nconst forEachVideoSource = (element, fn) => {\n let sourceTags = getSourceTags(element);\n sourceTags.forEach(fn);\n};\nconst attrsSrc = [SRC];\nconst attrsSrcPoster = [SRC, POSTER];\nconst attrsSrcSrcsetSizes = [SRC, SRCSET, SIZES];\nconst hasOriginalAttrs = (element) => !!element[ORIGINALS];\nconst getOriginalAttrs = (element) => element[ORIGINALS];\nconst deleteOriginalAttrs = (element) => delete element[ORIGINALS];\nconst setOriginalsObject = (element, attributes) => {\n if (hasOriginalAttrs(element)) {\n return;\n }\n const originals = {};\n attributes.forEach((attribute) => {\n originals[attribute] = element.getAttribute(attribute);\n });\n element[ORIGINALS] = originals;\n};\nconst saveOriginalBackgroundStyle = (element) => {\n if (hasOriginalAttrs(element)) {\n return;\n }\n element[ORIGINALS] = { backgroundImage: element.style.backgroundImage };\n};\nconst setOrResetAttribute = (element, attrName, value) => {\n if (!value) {\n element.removeAttribute(attrName);\n return;\n }\n element.setAttribute(attrName, value);\n};\nconst restoreOriginalAttrs = (element, attributes) => {\n if (!hasOriginalAttrs(element)) {\n return;\n }\n const originals = getOriginalAttrs(element);\n attributes.forEach((attribute) => {\n setOrResetAttribute(element, attribute, originals[attribute]);\n });\n};\nconst restoreOriginalBgImage = (element) => {\n if (!hasOriginalAttrs(element)) {\n return;\n }\n const originals = getOriginalAttrs(element);\n element.style.backgroundImage = originals.backgroundImage;\n};\nconst manageApplied = (element, settings, instance) => {\n addClass(element, settings.class_applied);\n setStatus(element, statusApplied);\n if (!instance)\n return;\n if (settings.unobserve_completed) {\n unobserve(element, settings);\n }\n safeCallback(settings.callback_applied, element, instance);\n};\nconst manageLoading = (element, settings, instance) => {\n addClass(element, settings.class_loading);\n setStatus(element, statusLoading);\n if (!instance)\n return;\n updateLoadingCount(instance, 1);\n safeCallback(settings.callback_loading, element, instance);\n};\nconst setAttributeIfValue = (element, attrName, value) => {\n if (!value) {\n return;\n }\n element.setAttribute(attrName, value);\n};\nconst setImageAttributes = (element, settings) => {\n setAttributeIfValue(element, SIZES, getData(element, settings.data_sizes));\n setAttributeIfValue(element, SRCSET, getData(element, settings.data_srcset));\n setAttributeIfValue(element, SRC, getData(element, settings.data_src));\n};\nconst setSourcesImg = (imgEl, settings) => {\n forEachPictureSource(imgEl, (sourceTag) => {\n setOriginalsObject(sourceTag, attrsSrcSrcsetSizes);\n setImageAttributes(sourceTag, settings);\n });\n setOriginalsObject(imgEl, attrsSrcSrcsetSizes);\n setImageAttributes(imgEl, settings);\n};\nconst setSourcesIframe = (iframe, settings) => {\n setOriginalsObject(iframe, attrsSrc);\n setAttributeIfValue(iframe, SRC, getData(iframe, settings.data_src));\n};\nconst setSourcesVideo = (videoEl, settings) => {\n forEachVideoSource(videoEl, (sourceEl) => {\n setOriginalsObject(sourceEl, attrsSrc);\n setAttributeIfValue(sourceEl, SRC, getData(sourceEl, settings.data_src));\n });\n setOriginalsObject(videoEl, attrsSrcPoster);\n setAttributeIfValue(videoEl, POSTER, getData(videoEl, settings.data_poster));\n setAttributeIfValue(videoEl, SRC, getData(videoEl, settings.data_src));\n videoEl.load();\n};\nconst setBackground = (element, settings, instance) => {\n const bg1xValue = getData(element, settings.data_bg);\n const bgHiDpiValue = getData(element, settings.data_bg_hidpi);\n const bgDataValue = isHiDpi && bgHiDpiValue ? bgHiDpiValue : bg1xValue;\n if (!bgDataValue)\n return;\n element.style.backgroundImage = `url(\"${bgDataValue}\")`;\n getTempImage(element).setAttribute(SRC, bgDataValue);\n manageLoading(element, settings, instance);\n};\nconst setMultiBackground = (element, settings, instance) => {\n const bg1xValue = getData(element, settings.data_bg_multi);\n const bgHiDpiValue = getData(element, settings.data_bg_multi_hidpi);\n const bgDataValue = isHiDpi && bgHiDpiValue ? bgHiDpiValue : bg1xValue;\n if (!bgDataValue) {\n return;\n }\n element.style.backgroundImage = bgDataValue;\n manageApplied(element, settings, instance);\n};\nconst setSourcesFunctions = {\n IMG: setSourcesImg,\n IFRAME: setSourcesIframe,\n VIDEO: setSourcesVideo\n};\nconst setSourcesNative = (element, settings) => {\n const setSourcesFunction = setSourcesFunctions[element.tagName];\n if (!setSourcesFunction) {\n return;\n }\n setSourcesFunction(element, settings);\n};\nconst setSources = (element, settings, instance) => {\n const setSourcesFunction = setSourcesFunctions[element.tagName];\n if (!setSourcesFunction) {\n return;\n }\n setSourcesFunction(element, settings);\n manageLoading(element, settings, instance);\n};\nconst elementsWithLoadEvent = [\"IMG\", \"IFRAME\", \"VIDEO\"];\nconst hasLoadEvent = (element) => elementsWithLoadEvent.indexOf(element.tagName) > -1;\nconst checkFinish = (settings, instance) => {\n if (instance && !isSomethingLoading(instance) && !haveElementsToLoad(instance)) {\n safeCallback(settings.callback_finish, instance);\n }\n};\nconst addEventListener = (element, eventName, handler) => {\n element.addEventListener(eventName, handler);\n element.llEvLisnrs[eventName] = handler;\n};\nconst removeEventListener = (element, eventName, handler) => {\n element.removeEventListener(eventName, handler);\n};\nconst hasEventListeners = (element) => {\n return !!element.llEvLisnrs;\n};\nconst addEventListeners = (element, loadHandler2, errorHandler2) => {\n if (!hasEventListeners(element))\n element.llEvLisnrs = {};\n const loadEventName = element.tagName === \"VIDEO\" ? \"loadeddata\" : \"load\";\n addEventListener(element, loadEventName, loadHandler2);\n addEventListener(element, \"error\", errorHandler2);\n};\nconst removeEventListeners = (element) => {\n if (!hasEventListeners(element)) {\n return;\n }\n const eventListeners = element.llEvLisnrs;\n for (let eventName in eventListeners) {\n const handler = eventListeners[eventName];\n removeEventListener(element, eventName, handler);\n }\n delete element.llEvLisnrs;\n};\nconst doneHandler = (element, settings, instance) => {\n deleteTempImage(element);\n updateLoadingCount(instance, -1);\n decreaseToLoadCount(instance);\n removeClass(element, settings.class_loading);\n if (settings.unobserve_completed) {\n unobserve(element, instance);\n }\n};\nconst loadHandler = (event, element, settings, instance) => {\n const goingNative = hasStatusNative(element);\n doneHandler(element, settings, instance);\n addClass(element, settings.class_loaded);\n setStatus(element, statusLoaded);\n safeCallback(settings.callback_loaded, element, instance);\n if (!goingNative)\n checkFinish(settings, instance);\n};\nconst errorHandler = (event, element, settings, instance) => {\n const goingNative = hasStatusNative(element);\n doneHandler(element, settings, instance);\n addClass(element, settings.class_error);\n setStatus(element, statusError);\n safeCallback(settings.callback_error, element, instance);\n if (!goingNative)\n checkFinish(settings, instance);\n};\nconst addOneShotEventListeners = (element, settings, instance) => {\n const elementToListenTo = getTempImage(element) || element;\n if (hasEventListeners(elementToListenTo)) {\n return;\n }\n const _loadHandler = (event) => {\n loadHandler(event, element, settings, instance);\n removeEventListeners(elementToListenTo);\n };\n const _errorHandler = (event) => {\n errorHandler(event, element, settings, instance);\n removeEventListeners(elementToListenTo);\n };\n addEventListeners(elementToListenTo, _loadHandler, _errorHandler);\n};\nconst loadBackground = (element, settings, instance) => {\n addTempImage(element);\n addOneShotEventListeners(element, settings, instance);\n saveOriginalBackgroundStyle(element);\n setBackground(element, settings, instance);\n setMultiBackground(element, settings, instance);\n};\nconst loadRegular = (element, settings, instance) => {\n addOneShotEventListeners(element, settings, instance);\n setSources(element, settings, instance);\n};\nconst load = (element, settings, instance) => {\n if (hasLoadEvent(element)) {\n loadRegular(element, settings, instance);\n } else {\n loadBackground(element, settings, instance);\n }\n};\nconst loadNative = (element, settings, instance) => {\n element.setAttribute(\"loading\", \"lazy\");\n addOneShotEventListeners(element, settings, instance);\n setSourcesNative(element, settings);\n setStatus(element, statusNative);\n};\nconst removeImageAttributes = (element) => {\n element.removeAttribute(SRC);\n element.removeAttribute(SRCSET);\n element.removeAttribute(SIZES);\n};\nconst resetSourcesImg = (element) => {\n forEachPictureSource(element, (sourceTag) => {\n removeImageAttributes(sourceTag);\n });\n removeImageAttributes(element);\n};\nconst restoreImg = (imgEl) => {\n forEachPictureSource(imgEl, (sourceEl) => {\n restoreOriginalAttrs(sourceEl, attrsSrcSrcsetSizes);\n });\n restoreOriginalAttrs(imgEl, attrsSrcSrcsetSizes);\n};\nconst restoreVideo = (videoEl) => {\n forEachVideoSource(videoEl, (sourceEl) => {\n restoreOriginalAttrs(sourceEl, attrsSrc);\n });\n restoreOriginalAttrs(videoEl, attrsSrcPoster);\n videoEl.load();\n};\nconst restoreIframe = (iframeEl) => {\n restoreOriginalAttrs(iframeEl, attrsSrc);\n};\nconst restoreFunctions = {\n IMG: restoreImg,\n IFRAME: restoreIframe,\n VIDEO: restoreVideo\n};\nconst restoreAttributes = (element) => {\n const restoreFunction = restoreFunctions[element.tagName];\n if (!restoreFunction) {\n restoreOriginalBgImage(element);\n return;\n }\n restoreFunction(element);\n};\nconst resetClasses = (element, settings) => {\n if (hasEmptyStatus(element) || hasStatusNative(element)) {\n return;\n }\n removeClass(element, settings.class_entered);\n removeClass(element, settings.class_exited);\n removeClass(element, settings.class_applied);\n removeClass(element, settings.class_loading);\n removeClass(element, settings.class_loaded);\n removeClass(element, settings.class_error);\n};\nconst restore = (element, settings) => {\n restoreAttributes(element);\n resetClasses(element, settings);\n resetStatus(element);\n deleteOriginalAttrs(element);\n};\nconst cancelLoading = (element, entry, settings, instance) => {\n if (!settings.cancel_on_exit)\n return;\n if (!hasStatusLoading(element))\n return;\n if (element.tagName !== \"IMG\")\n return;\n removeEventListeners(element);\n resetSourcesImg(element);\n restoreImg(element);\n removeClass(element, settings.class_loading);\n updateLoadingCount(instance, -1);\n resetStatus(element);\n safeCallback(settings.callback_cancel, element, entry, instance);\n};\nconst onEnter = (element, entry, settings, instance) => {\n const dontLoad = hadStartedLoading(element);\n setStatus(element, statusEntered);\n addClass(element, settings.class_entered);\n removeClass(element, settings.class_exited);\n unobserveEntered(element, settings, instance);\n safeCallback(settings.callback_enter, element, entry, instance);\n if (dontLoad)\n return;\n load(element, settings, instance);\n};\nconst onExit = (element, entry, settings, instance) => {\n if (hasEmptyStatus(element))\n return;\n addClass(element, settings.class_exited);\n cancelLoading(element, entry, settings, instance);\n safeCallback(settings.callback_exit, element, entry, instance);\n};\nconst tagsWithNativeLazy = [\"IMG\", \"IFRAME\", \"VIDEO\"];\nconst shouldUseNative = (settings) => settings.use_native && \"loading\" in HTMLImageElement.prototype;\nconst loadAllNative = (elements, settings, instance) => {\n elements.forEach((element) => {\n if (tagsWithNativeLazy.indexOf(element.tagName) === -1) {\n return;\n }\n loadNative(element, settings, instance);\n });\n setToLoadCount(instance, 0);\n};\nconst isIntersecting = (entry) => entry.isIntersecting || entry.intersectionRatio > 0;\nconst getObserverSettings = (settings) => ({\n root: settings.container === document ? null : settings.container,\n rootMargin: settings.thresholds || settings.threshold + \"px\"\n});\nconst intersectionHandler = (entries, settings, instance) => {\n entries.forEach((entry) => isIntersecting(entry) ? onEnter(entry.target, entry, settings, instance) : onExit(entry.target, entry, settings, instance));\n};\nconst observeElements = (observer, elements) => {\n elements.forEach((element) => {\n observer.observe(element);\n });\n};\nconst updateObserver = (observer, elementsToObserve) => {\n resetObserver(observer);\n observeElements(observer, elementsToObserve);\n};\nconst setObserver = (settings, instance) => {\n if (!supportsIntersectionObserver || shouldUseNative(settings)) {\n return;\n }\n instance._observer = new IntersectionObserver((entries) => {\n intersectionHandler(entries, settings, instance);\n }, getObserverSettings(settings));\n};\nconst toArray = (nodeSet) => Array.prototype.slice.call(nodeSet);\nconst queryElements = (settings) => settings.container.querySelectorAll(settings.elements_selector);\nconst excludeManagedElements = (elements) => toArray(elements).filter(hasEmptyStatus);\nconst hasError = (element) => hasStatusError(element);\nconst filterErrorElements = (elements) => toArray(elements).filter(hasError);\nconst getElementsToLoad = (elements, settings) => excludeManagedElements(elements || queryElements(settings));\nconst retryLazyLoad = (settings, instance) => {\n const errorElements = filterErrorElements(queryElements(settings));\n errorElements.forEach((element) => {\n removeClass(element, settings.class_error);\n resetStatus(element);\n });\n instance.update();\n};\nconst setOnlineCheck = (settings, instance) => {\n if (!runningOnBrowser) {\n return;\n }\n window.addEventListener(\"online\", () => {\n retryLazyLoad(settings, instance);\n });\n};\nconst LazyLoad = function(customSettings, elements) {\n const settings = getExtendedSettings(customSettings);\n this._settings = settings;\n this.loadingCount = 0;\n setObserver(settings, this);\n setOnlineCheck(settings, this);\n this.update(elements);\n};\nLazyLoad.prototype = {\n update: function(givenNodeset) {\n const settings = this._settings;\n const elementsToLoad = getElementsToLoad(givenNodeset, settings);\n setToLoadCount(this, elementsToLoad.length);\n if (isBot || !supportsIntersectionObserver) {\n this.loadAll(elementsToLoad);\n return;\n }\n if (shouldUseNative(settings)) {\n loadAllNative(elementsToLoad, settings, this);\n return;\n }\n updateObserver(this._observer, elementsToLoad);\n },\n destroy: function() {\n if (this._observer) {\n this._observer.disconnect();\n }\n queryElements(this._settings).forEach((element) => {\n deleteOriginalAttrs(element);\n });\n delete this._observer;\n delete this._settings;\n delete this.loadingCount;\n delete this.toLoadCount;\n },\n loadAll: function(elements) {\n const settings = this._settings;\n const elementsToLoad = getElementsToLoad(elements, settings);\n elementsToLoad.forEach((element) => {\n unobserve(element, this);\n load(element, settings, this);\n });\n },\n restoreAll: function() {\n const settings = this._settings;\n queryElements(settings).forEach((element) => {\n restore(element, settings);\n });\n }\n};\nLazyLoad.load = (element, customSettings) => {\n const settings = getExtendedSettings(customSettings);\n load(element, settings);\n};\nLazyLoad.resetStatus = (element) => {\n resetStatus(element);\n};\nif (runningOnBrowser) {\n autoInitialize(LazyLoad, window.lazyLoadOptions);\n}\nclass DocsViewer {\n constructor({ readonly, box, pages, onNewPageIndex, onPlay }) {\n this.pageIndex = 0;\n this.namespace = \"netless-app-docs-viewer\";\n this.isShowPreview = false;\n this.isSmallBox = false;\n this.sideEffect = new o();\n if (pages.length <= 0) {\n throw new Error(\"[DocsViewer] Empty pages.\");\n }\n this.readonly = readonly;\n this.box = box;\n this.pages = pages;\n this.onNewPageIndex = onNewPageIndex;\n this.onPlay = onPlay;\n this.render();\n }\n mount() {\n this.box.mountContent(this.$content);\n this.box.mountFooter(this.$footer);\n this.sideEffect.add(() => {\n const previewLazyLoad = new LazyLoad({\n container: this.$preview,\n elements_selector: `.${this.wrapClassName(\"preview-page>img\")}`\n });\n return () => previewLazyLoad.destroy();\n }, \"preview-lazyload\");\n }\n unmount() {\n this.$content.remove();\n this.$footer.remove();\n }\n setReadonly(readonly) {\n if (this.readonly !== readonly) {\n this.readonly = readonly;\n this.$content.classList.toggle(this.wrapClassName(\"readonly\"), readonly);\n this.$footer.classList.toggle(this.wrapClassName(\"readonly\"), readonly);\n this.$pageNumberInput.disabled = readonly;\n }\n }\n destroy() {\n this.sideEffect.flushAll();\n this.unmount();\n }\n setPageIndex(pageIndex) {\n if (!Number.isNaN(pageIndex)) {\n this.pageIndex = pageIndex;\n this.$pageNumberInput.value = String(pageIndex + 1);\n }\n }\n setSmallBox(isSmallBox) {\n if (this.isSmallBox !== isSmallBox) {\n this.isSmallBox = isSmallBox;\n this.$footer.classList.toggle(this.wrapClassName(\"float-footer\"), isSmallBox);\n }\n }\n render() {\n this.renderContent();\n this.renderFooter();\n return this.$content;\n }\n renderContent() {\n if (!this.$content) {\n const $content = document.createElement(\"div\");\n $content.className = this.wrapClassName(\"content\");\n this.$content = $content;\n if (this.readonly) {\n $content.classList.add(this.wrapClassName(\"readonly\"));\n }\n $content.appendChild(this.renderPreviewMask());\n $content.appendChild(this.renderPreview());\n }\n return this.$content;\n }\n renderPreview() {\n if (!this.$preview) {\n const $preview = document.createElement(\"div\");\n $preview.className = this.wrapClassName(\"preview\") + \" tele-fancy-scrollbar\";\n this.$preview = $preview;\n const pageClassName = this.wrapClassName(\"preview-page\");\n const pageNameClassName = this.wrapClassName(\"preview-page-name\");\n this.pages.forEach((page, i) => {\n var _a;\n const previewSRC = (_a = page.thumbnail) != null ? _a : page.src.startsWith(\"ppt\") ? void 0 : page.src;\n if (!previewSRC) {\n return;\n }\n const pageIndex = String(i);\n const $page = document.createElement(\"a\");\n $page.className = pageClassName + \" \" + this.wrapClassName(`preview-page-${i}`);\n $page.setAttribute(\"href\", \"#\");\n $page.dataset.pageIndex = pageIndex;\n const $name = document.createElement(\"span\");\n $name.className = pageNameClassName;\n $name.textContent = String(i + 1);\n $name.dataset.pageIndex = pageIndex;\n const $img = document.createElement(\"img\");\n $img.width = page.width;\n $img.height = page.height;\n $img.dataset.src = previewSRC;\n $img.dataset.pageIndex = pageIndex;\n $page.appendChild($img);\n $page.appendChild($name);\n $preview.appendChild($page);\n });\n this.sideEffect.addEventListener($preview, \"click\", (ev) => {\n var _a;\n if (this.readonly) {\n return;\n }\n const pageIndex = (_a = ev.target.dataset) == null ? void 0 : _a.pageIndex;\n if (pageIndex) {\n ev.preventDefault();\n ev.stopPropagation();\n ev.stopImmediatePropagation();\n this.onNewPageIndex(Number(pageIndex));\n this.togglePreview(false);\n }\n });\n }\n return this.$preview;\n }\n renderPreviewMask() {\n if (!this.$previewMask) {\n this.$previewMask = document.createElement(\"div\");\n this.$previewMask.className = this.wrapClassName(\"preview-mask\");\n this.sideEffect.addEventListener(this.$previewMask, \"click\", (ev) => {\n if (this.readonly) {\n return;\n }\n if (ev.target === this.$previewMask) {\n this.togglePreview(false);\n }\n });\n }\n return this.$previewMask;\n }\n renderFooter() {\n if (!this.$footer) {\n const $footer = document.createElement(\"div\");\n $footer.className = this.wrapClassName(\"footer\");\n this.$footer = $footer;\n if (this.readonly) {\n $footer.classList.add(this.wrapClassName(\"readonly\"));\n }\n if (this.isSmallBox) {\n $footer.classList.add(this.wrapClassName(\"float-footer\"));\n }\n if (this.pages.some((page) => page.thumbnail || !page.src.startsWith(\"ppt\"))) {\n const $btnSidebar = this.renderFooterBtn(\"btn-sidebar\", sidebarSVG(this.namespace));\n this.sideEffect.addEventListener($btnSidebar, \"click\", () => {\n if (this.readonly) {\n return;\n }\n this.togglePreview();\n });\n this.$footer.appendChild($btnSidebar);\n }\n const $pageJumps = document.createElement(\"div\");\n $pageJumps.className = this.wrapClassName(\"page-jumps\");\n const $btnPageBack = this.renderFooterBtn(\"btn-page-back\", arrowLeftSVG(this.namespace));\n this.sideEffect.addEventListener($btnPageBack, \"click\", () => {\n if (this.readonly) {\n return;\n }\n this.onNewPageIndex(this.pageIndex - 1);\n });\n $pageJumps.appendChild($btnPageBack);\n if (this.onPlay) {\n const $btnPlay = this.renderFooterBtn(\"btn-page-play\", playSVG(this.namespace), pauseSVG(this.namespace));\n const returnPlay = () => {\n this.sideEffect.setTimeout(() => {\n $btnPlay.classList.toggle(this.wrapClassName(\"footer-btn-playing\"), false);\n }, 500, \"returnPlay\");\n };\n this.sideEffect.addEventListener($btnPlay, \"click\", () => {\n if (this.readonly) {\n return;\n }\n $btnPlay.classList.toggle(this.wrapClassName(\"footer-btn-playing\"), true);\n if (this.onPlay) {\n this.onPlay();\n }\n returnPlay();\n });\n $pageJumps.appendChild($btnPlay);\n }\n const $btnPageNext = this.renderFooterBtn(\"btn-page-next\", arrowRightSVG(this.namespace));\n this.sideEffect.addEventListener($btnPageNext, \"click\", () => {\n if (this.readonly) {\n return;\n }\n this.onNewPageIndex(this.pageIndex + 1);\n });\n $pageJumps.appendChild($btnPageNext);\n const $pageNumber = document.createElement(\"div\");\n $pageNumber.className = this.wrapClassName(\"page-number\");\n const $pageNumberInput = document.createElement(\"input\");\n $pageNumberInput.className = this.wrapClassName(\"page-number-input\");\n $pageNumberInput.value = String(this.pageIndex + 1);\n if (this.readonly) {\n $pageNumberInput.disabled = true;\n }\n this.$pageNumberInput = $pageNumberInput;\n this.sideEffect.addEventListener($pageNumberInput, \"focus\", () => {\n $pageNumberInput.select();\n });\n this.sideEffect.addEventListener($pageNumberInput, \"change\", () => {\n if (this.readonly) {\n return;\n }\n if ($pageNumberInput.value) {\n this.onNewPageIndex(Number($pageNumberInput.value) - 1);\n }\n });\n const $totalPage = document.createElement(\"span\");\n $totalPage.textContent = \" / \" + this.pages.length;\n $pageNumber.appendChild($pageNumberInput);\n $pageNumber.appendChild($totalPage);\n this.$footer.appendChild($pageJumps);\n this.$footer.appendChild($pageNumber);\n }\n return this.$footer;\n }\n renderFooterBtn(className, $icon, $iconActive) {\n const $btn = document.createElement(\"button\");\n $btn.className = this.wrapClassName(\"footer-btn\") + \" \" + this.wrapClassName(className);\n $btn.appendChild($icon);\n if ($iconActive) {\n $btn.appendChild($iconActive);\n }\n return $btn;\n }\n togglePreview(isShowPreview) {\n this.isShowPreview = isShowPreview != null ? isShowPreview : !this.isShowPreview;\n this.$content.classList.toggle(this.wrapClassName(\"preview-active\"), this.isShowPreview);\n if (this.isShowPreview) {\n const $previewPage = this.$preview.querySelector(\".\" + this.wrapClassName(`preview-page-${this.pageIndex}`));\n if ($previewPage) {\n this.$preview.scrollTo({\n top: $previewPage.offsetTop - 16\n });\n }\n }\n }\n wrapClassName(className) {\n return `${this.namespace}-${className}`;\n }\n}\nfunction clamp(value, min, max) {\n return Math.min(Math.max(value, min), max);\n}\nfunction flattenEvent(ev) {\n return ev.touches ? ev.touches[0] : ev;\n}\nfunction preventEvent(ev) {\n ev.stopPropagation();\n if (ev.cancelable) {\n ev.preventDefault();\n }\n}\nclass Stepper {\n constructor(config) {\n var _a, _b, _c;\n this.velocity = 0;\n this.paused = true;\n this._animationFrameID = null;\n this._loopTimestamp = 0;\n this.looper = (timestamp) => {\n if (this.paused) {\n return;\n }\n let frames = Math.floor((timestamp - this._loopTimestamp) / 1e3 * 60) + 1;\n this._loopTimestamp = timestamp;\n while (frames-- > 0) {\n this.stepper();\n }\n this.onStep(this.current, this);\n if (!this.paused && this.current !== this.target) {\n window.requestAnimationFrame(this.looper);\n }\n };\n this.current = (_a = config.start) != null ? _a : 0;\n this.target = this.current;\n this.stiffness = (_b = config.stiffness) != null ? _b : 170;\n this.damping = (_c = config.damping) != null ? _c : 26;\n this.onStep = config.onStep;\n }\n stepTo(target, start) {\n if (this.paused && start != null) {\n this.current = start;\n }\n this.paused = false;\n this.target = target;\n this.onStep(this.current, this);\n this._loopTimestamp = Date.now();\n window.requestAnimationFrame(this.looper);\n }\n pause() {\n this.paused = true;\n }\n destroy() {\n this.pause();\n }\n stepper() {\n const fSpring = -this.stiffness * (this.current - this.target);\n const fDamper = -this.damping * this.velocity;\n const newVelocity = this.velocity + (fSpring + fDamper) / 60;\n const newCurrent = this.current + newVelocity / 60;\n if (Math.abs(newVelocity - 0) < 0.01 && Math.abs(newCurrent - this.target) < 0.01) {\n this.current = this.target;\n this.velocity = 0;\n } else {\n this.current = newCurrent;\n this.velocity = newVelocity;\n }\n }\n}\nclass PageEl {\n constructor(index, page, scale) {\n this.scale = 1;\n this.lastVisit = Date.now();\n this.pageOffsetY = 0;\n this.visible = true;\n this.index = index;\n this.page = page;\n this.scale = scale;\n const $page = document.createElement(\"div\");\n $page.className = \"page-renderer-page\";\n $page.dataset.index = `${index}`;\n $page.style.width = `${page.width * scale}px`;\n $page.style.height = `${page.height * scale}px`;\n if (page.thumbnail) {\n $page.style.backgroundImage = `url(\"${page.thumbnail}\")`;\n }\n const $img = document.createElement(\"img\");\n $img.className = \"page-renderer-page-img\";\n $img.width = page.width;\n $img.height = page.height;\n $img.src = page.src;\n $page.appendChild($img);\n this.$page = $page;\n }\n translateY(pageOffsetY) {\n if (Math.abs(pageOffsetY - this.pageOffsetY) >= 1e-3) {\n this.pageOffsetY = pageOffsetY;\n this.$page.style.transform = `translateY(${this.pageOffsetY * this.scale}px)`;\n }\n }\n setScale(scale) {\n if (Math.abs(scale - this.scale) >= 1e-3) {\n this.scale = scale;\n this.$page.style.width = `${this.page.width * this.scale}px`;\n this.$page.style.height = `${this.page.height * this.scale}px`;\n this.$page.style.transform = `translateY(${this.pageOffsetY * this.scale}px)`;\n }\n }\n setVisible(visible) {\n if (visible !== this.visible) {\n this.visible = visible;\n this.$page.style.opacity = visible ? \"1\" : \"0\";\n }\n }\n}\nconst schedule = window.requestIdleCallback || ((handler) => window.setTimeout(handler, 5e3));\nconst cancelSchedule = window.cancelIdleCallback || window.clearTimeout;\nclass PageElManager {\n constructor(pages, scale) {\n this.pages = pages;\n this.scale = scale;\n this.els = new Map();\n this.maxElCount = 200;\n this.gcTimer = null;\n this.gc = () => {\n this.gcTimer = null;\n if (this.els.size > this.maxElCount) {\n const sortedEls = [...this.els.values()].sort((x, y) => y.lastVisit - x.lastVisit);\n for (let i = Math.floor(this.maxElCount / 4); i < sortedEls.length; i++) {\n this.els.delete(sortedEls[i].index);\n }\n }\n };\n }\n getEl(index) {\n let el = this.els.get(index);\n if (!el) {\n el = new PageEl(index, this.pages[index], this.scale);\n this.els.set(index, el);\n }\n el.lastVisit = Date.now();\n if (this.els.size > this.maxElCount && this.gcTimer === null) {\n this.gcTimer = schedule(this.gc);\n }\n return el;\n }\n setScale(scale) {\n if (scale !== this.scale) {\n this.scale = scale;\n this.els.forEach((pageEl) => pageEl.setScale(scale));\n }\n }\n destroy() {\n this.els.clear();\n if (this.gcTimer !== null) {\n cancelSchedule(this.gcTimer);\n this.gcTimer = null;\n }\n }\n}\nclass PageRenderer {\n constructor(config) {\n this._hwaTimeout = NaN;\n this._turnOffHWA = () => {\n window.clearTimeout(this._hwaTimeout);\n this._hwaTimeout = NaN;\n this.$pages.classList.toggle(\"is-hwa\", false);\n };\n this.pagesScrollTop = config.pagesScrollTop || 0;\n this.containerWidth = config.containerWidth || 1;\n this.containerHeight = config.containerHeight || 1;\n this.pages = config.pages.map((page) => {\n if (page.thumbnail) {\n return page;\n }\n try {\n const url = new URL(page.src);\n url.searchParams.set(\"x-oss-process\", \"image/resize,l_50\");\n return __spreadProps(__spreadValues({}, page), { thumbnail: url.toString() });\n } catch (e2) {\n console.error(e2);\n return page;\n }\n });\n const pagesIntrinsicYs = Array(this.pages.length);\n let pagesMinHeight = Infinity;\n let pagesIntrinsicWidth = 0;\n this.pagesIntrinsicHeight = this.pages.reduce((pageY, page, i) => {\n pagesIntrinsicYs[i] = pageY;\n if (page.width > pagesIntrinsicWidth) {\n pagesIntrinsicWidth = page.width;\n }\n if (page.height <= pagesMinHeight) {\n pagesMinHeight = page.height;\n }\n return pageY + page.height;\n }, 0);\n this.pagesIntrinsicWidth = pagesIntrinsicWidth;\n this.pagesMinHeight = pagesMinHeight;\n this.pagesIntrinsicYs = pagesIntrinsicYs;\n this.scale = this._calcScale();\n this.threshold = this._calcThreshold();\n this.onPageIndexChanged = config.onPageIndexChanged;\n this.pageScrollIndex = 0;\n if (this.pagesScrollTop !== 0) {\n this.pageScrollIndex = this.findScrollPageIndex();\n if (this.onPageIndexChanged && this.pageScrollIndex > 0) {\n this.onPageIndexChanged(this.pageScrollIndex);\n }\n }\n this.pageElManager = new PageElManager(this.pages, this.scale);\n this.$pages = this.renderPages();\n }\n setContainerSize(width, height) {\n if (width > 0 && height > 0) {\n if (width !== this.containerWidth || height !== this.containerHeight) {\n this.containerWidth = width;\n this.containerHeight = height;\n this.$pages.style.width = `${this.containerWidth}px`;\n this.$pages.style.height = `${this.containerHeight}px`;\n this.scale = this._calcScale();\n this.threshold = this._calcThreshold();\n this.pageElManager.setScale(this.scale);\n if (this.$pages.parentElement) {\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n }\n }\n }\n renderPages() {\n const $pages = document.createElement(\"div\");\n $pages.className = \"page-renderer-pages-container\";\n $pages.style.width = `${this.containerWidth}px`;\n $pages.style.height = `${this.containerHeight}px`;\n return $pages;\n }\n pagesScrollTo(pagesScrollTop, force) {\n pagesScrollTop = clamp(pagesScrollTop, 0, this.pagesIntrinsicHeight - this.containerHeight / this.scale);\n if (force || Math.abs(pagesScrollTop - this.pagesScrollTop) >= 1e-3) {\n this._turnOnHWA();\n this.pagesScrollTop = pagesScrollTop;\n const pageScrollIndex = this.findScrollPageIndex();\n const startIndex = Math.max(pageScrollIndex - this.threshold, 0);\n const endIndex = Math.min(pageScrollIndex + this.threshold, this.pages.length - 1);\n for (let i = 0; i < this.$pages.children.length; i++) {\n const $page = this.$pages.children[i];\n const index = Number($page.dataset.index);\n if (!(index >= startIndex && index <= endIndex)) {\n $page.remove();\n i--;\n }\n }\n for (let i = startIndex; i <= endIndex; i++) {\n const pageEl = this.pageElManager.getEl(i);\n if (pageEl.$page.parentElement !== this.$pages) {\n this.$pages.appendChild(pageEl.$page);\n }\n pageEl.translateY(this.pagesIntrinsicYs[i] - this.pagesScrollTop);\n }\n if (pageScrollIndex !== this.pageScrollIndex) {\n this.pageScrollIndex = pageScrollIndex;\n if (this.onPageIndexChanged) {\n this.onPageIndexChanged(pageScrollIndex);\n }\n }\n }\n }\n findScrollPageIndex() {\n for (let i = 0; i < this.pagesIntrinsicYs.length; i++) {\n if (this.pagesIntrinsicYs[i] + this.pages[i].height - this.pagesScrollTop >= 1e-3) {\n return i;\n }\n }\n return this.pagesIntrinsicYs.length - 1;\n }\n mount($parent) {\n $parent.appendChild(this.$pages);\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n unmount() {\n this.$pages.remove();\n }\n destroy() {\n this.unmount();\n this.onPageIndexChanged = void 0;\n this.pageElManager.destroy();\n if (this._hwaTimeout) {\n window.clearTimeout(this._hwaTimeout);\n this._hwaTimeout = NaN;\n }\n }\n _calcScale() {\n return this.containerWidth / this.pagesIntrinsicWidth || 1;\n }\n _calcThreshold() {\n return clamp(Math.ceil(this.containerHeight / this.scale / this.pagesMinHeight / 2), 1, this.pages.length);\n }\n _turnOnHWA() {\n if (this._hwaTimeout) {\n window.clearTimeout(this._hwaTimeout);\n } else {\n this.$pages.classList.toggle(\"is-hwa\", true);\n }\n this._hwaTimeout = window.setTimeout(this._turnOffHWA, 1e3);\n }\n}\nconst SCROLLBAR_DEFAULT_MIN_HEIGHT = 30;\nclass ScrollBar {\n constructor(config) {\n this.sideEffect = new o();\n this.pagesScrollTop = config.pagesScrollTop || 0;\n this.containerWidth = config.containerWidth || 1;\n this.containerHeight = config.containerHeight || 1;\n this.pagesWidth = config.pagesWidth || 1;\n this.pagesHeight = config.pagesHeight || 1;\n this.scale = this._calcScale();\n this.scrollbarMinHeight = config.scrollbarMinHeight || SCROLLBAR_DEFAULT_MIN_HEIGHT;\n this.scrollbarHeight = this._calcScrollbarHeight();\n this.readonly = config.readonly;\n this.wrapClassName = config.wrapClassName;\n this.onDragScroll = config.onDragScroll;\n this.$scrollbar = this.renderScrollbar();\n }\n mount($parent) {\n $parent.appendChild(this.$scrollbar);\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n unmount() {\n this.$scrollbar.remove();\n }\n setReadonly(readonly) {\n this.readonly = readonly;\n }\n setContainerSize(width, height) {\n if (width > 0 && height > 0) {\n if (width !== this.containerWidth || height !== this.containerHeight) {\n this.containerWidth = width;\n this.containerHeight = height;\n this.scale = this._calcScale();\n this._updateScrollbarHeight();\n if (this.$scrollbar.parentElement) {\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n }\n }\n }\n pagesScrollTo(pagesScrollTop, force) {\n pagesScrollTop = clamp(pagesScrollTop, 0, this.pagesHeight - this.containerHeight / this.scale);\n if (force || Math.abs(pagesScrollTop - this.pagesScrollTop) >= 1e-3) {\n this.pagesScrollTop = pagesScrollTop;\n const elScrollTop = this.pagesScrollTop * this.scale;\n const elPagesHeight = this.pagesHeight * this.scale;\n const translateY = elScrollTop / (elPagesHeight - this.containerHeight) * (this.containerHeight - this.scrollbarHeight);\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(() => {\n this.$scrollbar.style.transform = `translateY(${translateY}px)`;\n });\n } else {\n this.$scrollbar.style.transform = `translateY(${translateY}px)`;\n }\n }\n }\n destroy() {\n this.unmount();\n this.onDragScroll = void 0;\n this.sideEffect.flushAll();\n }\n renderScrollbar() {\n const $scrollbar = document.createElement(\"button\");\n $scrollbar.className = this.wrapClassName(\"scrollbar\");\n $scrollbar.style.minHeight = `${this.scrollbarMinHeight}px`;\n $scrollbar.style.height = `${this.scrollbarHeight}px`;\n const trackStart = (ev) => {\n if (this.readonly) {\n return;\n }\n if (ev.button != null && ev.button !== 0) {\n return;\n }\n preventEvent(ev);\n const draggingClassName = this.wrapClassName(\"scrollbar-dragging\");\n $scrollbar.classList.toggle(draggingClassName, true);\n const startTop = this.pagesScrollTop;\n const { clientY: startY } = flattenEvent(ev);\n const tracking = (ev2) => {\n if (this.readonly) {\n return;\n }\n const { clientY } = flattenEvent(ev2);\n const offsetY = (clientY - startY) / this.scale;\n if (Math.abs(offsetY) > 0 && this.onDragScroll) {\n this.onDragScroll(startTop + offsetY * (this.pagesHeight * this.scale / this.containerHeight));\n }\n };\n const trackEnd = () => {\n $scrollbar.classList.toggle(draggingClassName, false);\n window.removeEventListener(\"mousemove\", tracking, true);\n window.removeEventListener(\"touchmove\", tracking, true);\n window.removeEventListener(\"mouseup\", trackEnd, true);\n window.removeEventListener(\"touchend\", trackEnd, true);\n window.removeEventListener(\"touchcancel\", trackEnd, true);\n };\n window.addEventListener(\"mousemove\", tracking, true);\n window.addEventListener(\"touchmove\", tracking, true);\n window.addEventListener(\"mouseup\", trackEnd, true);\n window.addEventListener(\"touchend\", trackEnd, true);\n window.addEventListener(\"touchcancel\", trackEnd, true);\n };\n this.sideEffect.addEventListener($scrollbar, \"mousedown\", trackStart);\n this.sideEffect.addEventListener($scrollbar, \"touchstart\", trackStart);\n return $scrollbar;\n }\n _calcScale() {\n return this.containerWidth / this.pagesWidth || 1;\n }\n _calcScrollbarHeight() {\n return clamp(this.containerHeight / (this.pagesHeight * this.scale) * this.containerHeight, this.scrollbarMinHeight, this.containerHeight);\n }\n _updateScrollbarHeight() {\n const newHeight = this._calcScrollbarHeight();\n if (Math.abs(newHeight - this.scrollbarHeight) > 1e-3) {\n this.scrollbarHeight = newHeight;\n this.$scrollbar.style.height = `${newHeight}px`;\n }\n }\n}\nconst RATIO_BASE_CONTAINER_HEIGHT = 640;\nclass StaticDocsViewer {\n constructor({\n whiteboardView,\n readonly,\n box,\n pages,\n pageScrollTop = 0,\n mountWhiteboard,\n onUserScroll\n }) {\n this.sideEffect = new o();\n this.userScrolling = false;\n this.onNewPageIndex = (index) => {\n this.scrollToPage(index);\n };\n this.whiteboardView = whiteboardView;\n this.readonly = readonly;\n this.box = box;\n this.pages = pages;\n this.mountWhiteboard = mountWhiteboard;\n this._onUserScroll = onUserScroll;\n const debouncedOnUserScroll = this.debounce(() => {\n this.userScrolling = false;\n if (this._onUserScroll) {\n this._onUserScroll(this.pageRenderer.pagesScrollTop);\n }\n }, { wait: 80 }, \"debounce-updateUserScroll\");\n this.updateUserScroll = () => {\n this.userScrolling = true;\n debouncedOnUserScroll();\n };\n this.viewer = new DocsViewer({\n readonly,\n box,\n pages,\n onNewPageIndex: this.onNewPageIndex\n });\n const { width: containerWidth, height: containerHeight } = this.whiteboardView.size;\n this.pageRenderer = new PageRenderer({\n pagesScrollTop: pageScrollTop,\n pages: this.pages,\n containerWidth,\n containerHeight,\n onPageIndexChanged: this.viewer.setPageIndex.bind(this.viewer)\n });\n this.scrollbar = new ScrollBar({\n pagesScrollTop: this.pageRenderer.pagesScrollTop,\n containerWidth,\n containerHeight,\n pagesWidth: this.pageRenderer.pagesIntrinsicWidth,\n pagesHeight: this.pageRenderer.pagesIntrinsicHeight,\n readonly: this.readonly,\n wrapClassName: this.wrapClassName.bind(this),\n onDragScroll: (pageScrollTop2) => {\n this.pageScrollTo(pageScrollTop2);\n this.updateUserScroll();\n }\n });\n this.pageScrollStepper = new Stepper({\n start: this.pageRenderer.pagesScrollTop,\n onStep: (pageScrollTop2) => {\n this.pageScrollTo(pageScrollTop2);\n }\n });\n this.render();\n }\n mount() {\n this.viewer.mount();\n this.setupScrollListener();\n this.sideEffect.add(() => {\n const handler = this.renderRatioHeight.bind(this);\n this.box.events.on(\"visual_resize\", handler);\n return () => this.box.events.off(\"visual_resize\", handler);\n });\n this.sideEffect.setTimeout(() => {\n if (!this.userScrolling) {\n this.pageScrollTo(this.pageRenderer.pagesScrollTop);\n }\n }, 100);\n return this;\n }\n unmount() {\n this.viewer.unmount();\n return this;\n }\n setReadonly(readonly) {\n if (this.readonly !== readonly) {\n this.readonly = readonly;\n this.viewer.setReadonly(readonly);\n this.scrollbar.setReadonly(readonly);\n }\n }\n destroy() {\n this.sideEffect.flushAll();\n this.pageScrollStepper.destroy();\n this._onUserScroll = void 0;\n this.unmount();\n this.viewer.destroy();\n this.pageRenderer.destroy();\n this.scrollbar.destroy();\n }\n syncPageScrollTop(pageScrollTop) {\n if (!this.userScrolling && pageScrollTop >= 0 && Math.abs(this.pageRenderer.pagesScrollTop - pageScrollTop) > 0.01) {\n this.pageScrollStepper.stepTo(pageScrollTop, this.pageRenderer.pagesScrollTop);\n }\n }\n render() {\n this.pageRenderer.mount(this.viewer.$content);\n this.viewer.$content.appendChild(this.renderWhiteboardView());\n this.scrollbar.mount(this.viewer.$content);\n this.renderRatioHeight();\n }\n renderRatioHeight() {\n const boxHeight = this.box.absoluteHeight;\n const isSmallBox = boxHeight <= RATIO_BASE_CONTAINER_HEIGHT;\n this.viewer.setSmallBox(isSmallBox);\n if (isSmallBox) {\n const titleBarSupposedHeight = 26 / RATIO_BASE_CONTAINER_HEIGHT;\n const titleBarActualHeight = 26 / boxHeight;\n const footerSupposedHeight = 26 / RATIO_BASE_CONTAINER_HEIGHT;\n const footerActualHeight = 0;\n const emptySpace = Math.max((titleBarSupposedHeight + footerSupposedHeight - (titleBarActualHeight + footerActualHeight)) / 2, 0);\n if (this.box.$titleBar) {\n const titleBarHeight = titleBarActualHeight + emptySpace;\n this.box.$titleBar.style.height = `${titleBarHeight * 100}%`;\n }\n if (this.box.$footer) {\n const footerHeight = footerActualHeight + emptySpace;\n this.box.$footer.style.height = `${footerHeight * 100}%`;\n }\n } else {\n if (this.box.$titleBar) {\n const titleBarHeight = Math.max(26 / RATIO_BASE_CONTAINER_HEIGHT, 26 / boxHeight);\n this.box.$titleBar.style.height = `${titleBarHeight * 100}%`;\n }\n if (this.box.$footer) {\n const footerHeight = Math.max(26 / RATIO_BASE_CONTAINER_HEIGHT, 26 / boxHeight);\n this.box.$footer.style.height = `${footerHeight * 100}%`;\n }\n }\n }\n renderWhiteboardView() {\n if (!this.$whiteboardView) {\n this.$whiteboardView = document.createElement(\"div\");\n this.$whiteboardView.className = this.wrapClassName(\"wb-view\");\n this.mountWhiteboard(this.$whiteboardView);\n this.sideEffect.addEventListener(this.$whiteboardView, \"wheel\", (ev) => {\n preventEvent(ev);\n if (!this.readonly) {\n this.pageScrollTo(this.pageRenderer.pagesScrollTop + ev.deltaY);\n this.updateUserScroll();\n }\n }, { passive: false, capture: true });\n this.sideEffect.addEventListener(this.$whiteboardView, \"touchmove\", (ev) => {\n if (this.readonly || ev.touches.length <= 1) {\n return;\n }\n this.updateUserScroll();\n }, { passive: true, capture: true });\n }\n return this.$whiteboardView;\n }\n scrollTopPageToEl(pageScrollTop) {\n return pageScrollTop * this.pageRenderer.scale;\n }\n scrollTopElToPage(elScrollTop) {\n return elScrollTop / this.pageRenderer.scale;\n }\n elScrollTo(elScrollTop) {\n this.pageScrollTo(this.scrollTopElToPage(elScrollTop));\n }\n pageScrollTo(pageScrollTop) {\n const halfWbHeight = this.scrollTopElToPage(this.whiteboardView.size.height / 2);\n this.whiteboardView.moveCamera({\n centerY: clamp(pageScrollTop + halfWbHeight, halfWbHeight, this.pageRenderer.pagesIntrinsicHeight - halfWbHeight),\n animationMode: \"immediately\"\n });\n }\n scrollToPage(index) {\n if (!this.readonly && !Number.isNaN(index)) {\n const offsetY = this.pageRenderer.pagesIntrinsicYs[index];\n if (offsetY >= 0) {\n this.pageScrollTo(offsetY + 5 / this.pageRenderer.scale);\n this.updateUserScroll();\n }\n }\n }\n setupScrollListener() {\n this.sideEffect.add(() => {\n const handleCameraUpdate = (camera) => {\n const { width: wbWidth, height: wbHeight } = this.whiteboardView.size;\n if (wbWidth <= 0 || wbHeight <= 0) {\n return;\n }\n const pagesScrollTop = camera.centerY - this.pageRenderer.containerHeight / this.pageRenderer.scale / 2;\n this.pageRenderer.pagesScrollTo(pagesScrollTop);\n this.scrollbar.pagesScrollTo(pagesScrollTop);\n };\n this.whiteboardView.callbacks.on(\"onCameraUpdated\", handleCameraUpdate);\n return () => this.whiteboardView.callbacks.off(\"onCameraUpdated\", handleCameraUpdate);\n });\n this.sideEffect.add(() => {\n const handleSizeUpdate = ({ width: wbWidth, height: wbHeight }) => {\n if (wbWidth <= 0 || wbHeight <= 0) {\n return;\n }\n this.pageRenderer.setContainerSize(wbWidth, wbHeight);\n this.scrollbar.setContainerSize(wbWidth, wbHeight);\n const { pagesIntrinsicWidth, pagesIntrinsicHeight } = this.pageRenderer;\n this.whiteboardView.moveCameraToContain({\n originX: 0,\n originY: this.pageRenderer.pagesScrollTop,\n width: pagesIntrinsicWidth,\n height: wbHeight / this.pageRenderer.scale,\n animationMode: \"immediately\"\n });\n this.whiteboardView.setCameraBound({\n damping: 1,\n maxContentMode: () => this.pageRenderer.scale,\n minContentMode: () => this.pageRenderer.scale,\n centerX: pagesIntrinsicWidth / 2,\n centerY: pagesIntrinsicHeight / 2,\n width: pagesIntrinsicWidth,\n height: pagesIntrinsicHeight\n });\n };\n this.whiteboardView.callbacks.on(\"onSizeUpdated\", handleSizeUpdate);\n return () => {\n this.whiteboardView.callbacks.off(\"onSizeUpdated\", handleSizeUpdate);\n };\n }, \"whiteboard-size-update\");\n this.sideEffect.addEventListener(window, \"keyup\", (ev) => {\n if (this.readonly || !this.box.focus || this.box.minimized) {\n return;\n }\n let newPageScrollTop = null;\n switch (ev.key) {\n case \"PageDown\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop + this.pageRenderer.containerHeight / this.pageRenderer.scale;\n break;\n }\n case \"PageUp\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop - this.pageRenderer.containerHeight / this.pageRenderer.scale;\n break;\n }\n case \"ArrowDown\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop + this.pageRenderer.containerHeight / 4 / this.pageRenderer.scale;\n break;\n }\n case \"ArrowUp\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop - this.pageRenderer.containerHeight / 4 / this.pageRenderer.scale;\n break;\n }\n }\n if (newPageScrollTop !== null) {\n if (this._onUserScroll) {\n this._onUserScroll(newPageScrollTop);\n } else {\n this.pageScrollTo(newPageScrollTop);\n this.updateUserScroll();\n }\n }\n }, { capture: true });\n }\n debounce(fn, options, disposerID) {\n const dFn = debounceFn(fn, options);\n this.sideEffect.addDisposer(() => dFn.cancel(), disposerID);\n return dFn;\n }\n wrapClassName(className) {\n return \"netless-app-docs-viewer-static-\" + className;\n }\n}\nclass DynamicDocsViewer {\n constructor({ context, whiteboardView, box, pages }) {\n this.sideEffect = new o();\n this.onPlayPPT = () => {\n const room = this.context.getRoom();\n if (room) {\n room.pptNextStep();\n }\n };\n this._scaleDocsToFitImpl = () => {\n const page = this.pages[this.getPageIndex()];\n if (page) {\n this.whiteboardView.moveCameraToContain({\n originX: -page.width / 2,\n originY: -page.height / 2,\n width: page.width,\n height: page.height,\n animationMode: \"immediately\"\n });\n }\n };\n this._scaleDocsToFitDebounced = () => {\n this.sideEffect.setTimeout(this._scaleDocsToFitImpl, 1e3, \"_scaleDocsToFitDebounced\");\n };\n this.scaleDocsToFit = () => {\n this._scaleDocsToFitImpl();\n this._scaleDocsToFitDebounced();\n };\n this.onNewPageIndex = (index) => {\n this.jumpToPage(index, true);\n };\n this.context = context;\n this.whiteboardView = whiteboardView;\n this.box = box;\n this.pages = pages;\n this.displayer = context.getDisplayer();\n this.viewer = new DocsViewer({\n readonly: !context.getIsWritable(),\n box,\n pages,\n onNewPageIndex: this.onNewPageIndex,\n onPlay: this.onPlayPPT\n });\n this.render();\n this.sideEffect.add(() => {\n const handler = (isWritable) => {\n this.viewer.setReadonly(!isWritable);\n };\n this.context.emitter.on(\"writableChange\", handler);\n return () => this.context.emitter.off(\"writableChange\", handler);\n });\n this.sideEffect.add(() => {\n const handler = (sceneState) => {\n this.jumpToPage(sceneState.index);\n };\n this.context.emitter.on(\"sceneStateChange\", handler);\n return () => this.context.emitter.off(\"sceneStateChange\", handler);\n });\n }\n mount() {\n this.viewer.mount();\n const pageIndex = this.getPageIndex();\n if (pageIndex !== 0) {\n this.jumpToPage(pageIndex);\n }\n this.scaleDocsToFit();\n this.sideEffect.add(() => {\n this.whiteboardView.callbacks.on(\"onSizeUpdated\", this.scaleDocsToFit);\n return () => {\n this.whiteboardView.callbacks.off(\"onSizeUpdated\", this.scaleDocsToFit);\n };\n });\n return this;\n }\n unmount() {\n this.viewer.unmount();\n return this;\n }\n destroy() {\n this.sideEffect.flushAll();\n this.unmount();\n this.viewer.destroy();\n }\n getPageIndex() {\n return this.displayer.state.sceneState.index;\n }\n jumpToPage(index, reset) {\n var _a, _b;\n index = clamp(index, 0, this.pages.length - 1);\n if (index !== this.getPageIndex()) {\n if (this.context.getIsWritable()) {\n const initScenePath = this.context.getInitScenePath();\n const scene = (_b = (_a = this.context.getScenes()) == null ? void 0 : _a[index]) == null ? void 0 : _b.name;\n if (initScenePath && scene) {\n this.context.setScenePath(`${initScenePath}/${scene}`);\n }\n this.scaleDocsToFit();\n }\n }\n if (index !== this.viewer.pageIndex) {\n this.viewer.setPageIndex(index);\n }\n if (reset) {\n const room = this.context.getRoom();\n if (room) {\n const pptState = room.state.globalState.__pptState;\n room.setGlobalState({\n __pptState: pptState && {\n uuid: pptState.uuid,\n pageIndex: index,\n disableAutoPlay: pptState.disableAutoPlay\n }\n });\n }\n }\n }\n render() {\n this.viewer.$content.appendChild(this.renderMask());\n this.viewer.$content.appendChild(this.renderWhiteboardView());\n this.sideEffect.addEventListener(window, \"keydown\", (ev) => {\n var _a;\n if (this.box.focus) {\n switch (ev.key) {\n case \"ArrowUp\":\n case \"ArrowLeft\": {\n this.jumpToPage(this.getPageIndex() - 1, true);\n break;\n }\n case \"ArrowRight\":\n case \"ArrowDown\": {\n (_a = this.context.getRoom()) == null ? void 0 : _a.pptNextStep();\n break;\n }\n }\n }\n });\n }\n renderMask() {\n if (!this.$mask) {\n const $mask = document.createElement(\"div\");\n $mask.className = this.wrapClassName(\"mask\");\n this.$mask = $mask;\n const $back = document.createElement(\"button\");\n $back.className = this.wrapClassName(\"back\");\n const $next = document.createElement(\"button\");\n $next.className = this.wrapClassName(\"next\");\n }\n return this.$mask;\n }\n renderWhiteboardView() {\n if (!this.$whiteboardView) {\n this.$whiteboardView = document.createElement(\"div\");\n this.$whiteboardView.className = this.wrapClassName(\"wb-view\");\n this.sideEffect.addEventListener(this.$whiteboardView, \"click\", (ev) => {\n var _a;\n const room = this.context.getRoom();\n if (room && room.state.memberState.currentApplianceName === \"clicker\") {\n for (let el = ev.target; el; el = el.parentElement) {\n if ((_a = el.classList) == null ? void 0 : _a.contains(\"ppt-event-source\")) {\n return;\n }\n }\n room.pptNextStep();\n }\n });\n this.context.mountView(this.$whiteboardView);\n }\n return this.$whiteboardView;\n }\n wrapClassName(className) {\n return \"netless-app-docs-viewer-dynamic-\" + className;\n }\n}\nconst kind = \"DocsViewer\";\nconst NetlessAppDocsViewer = {\n kind,\n setup(context) {\n const box = context.getBox();\n const scenes = context.getScenes();\n if (!scenes) {\n throw new Error(\"[Docs Viewer]: scenes not found.\");\n }\n const whiteboardView = context.getView();\n if (!whiteboardView) {\n throw new Error(\"[Docs Viewer]: no whiteboard view.\");\n }\n const pages = scenes.map(({ ppt }) => ppt ? {\n width: ppt.width,\n height: ppt.height,\n src: ppt.src,\n thumbnail: ppt.previewURL\n } : null).filter((page) => Boolean(page));\n if (pages.length <= 0) {\n throw new Error(\"[Docs Viewer]: empty scenes.\");\n }\n box.mountStyles(styles);\n if (pages[0].src.startsWith(\"ppt\")) {\n setupDynamicDocsViewer(context, whiteboardView, box, pages);\n } else {\n setupStaticDocsViewer(context, whiteboardView, box, pages);\n }\n }\n};\nfunction setupStaticDocsViewer(context, whiteboardView, box, pages) {\n var _a;\n whiteboardView.disableCameraTransform = !context.getIsWritable();\n const docsViewer = new StaticDocsViewer({\n whiteboardView,\n readonly: !context.getIsWritable(),\n box,\n pages,\n pageScrollTop: (_a = context.getAttributes()) == null ? void 0 : _a.pageScrollTop,\n mountWhiteboard: context.mountView.bind(context),\n onUserScroll: (pageScrollTop) => {\n var _a2;\n if (((_a2 = context.getAttributes()) == null ? void 0 : _a2.pageScrollTop) !== pageScrollTop && !box.readonly) {\n context.updateAttributes([\"pageScrollTop\"], pageScrollTop);\n }\n }\n }).mount();\n context.emitter.on(\"attributesUpdate\", (attributes) => {\n if (attributes) {\n if (attributes.pageScrollTop != null) {\n docsViewer.syncPageScrollTop(attributes.pageScrollTop);\n }\n }\n });\n context.emitter.on(\"writableChange\", (isWritable) => {\n docsViewer.setReadonly(!isWritable);\n whiteboardView.disableCameraTransform = !isWritable;\n });\n}\nfunction setupDynamicDocsViewer(context, whiteboardView, box, pages) {\n whiteboardView.disableCameraTransform = true;\n const docsViewer = new DynamicDocsViewer({\n context,\n whiteboardView,\n box,\n pages\n }).mount();\n context.mountView(docsViewer.$whiteboardView);\n if (context.isAddApp) {\n whiteboardView.callbacks.once(\"onSizeUpdated\", ({ width: contentWidth, height: contentHeight }) => {\n if (pages.length > 0 && box.state !== \"maximized\") {\n const { width: pageWidth, height: pageHeight } = pages[0];\n const preferHeight = pageHeight / pageWidth * contentWidth;\n const diff = preferHeight - contentHeight;\n if (diff !== 0 && context.getIsWritable()) {\n context.emitter.emit(\"setBoxSize\", {\n width: box.width,\n height: box.height + diff / box.containerRect.height\n });\n }\n }\n });\n }\n}\nexport { NetlessAppDocsViewer as default };\n//# sourceMappingURL=main.es.js.map\n","/** @license React v0.19.1\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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';var f,g,h,k,l;\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var p=null,q=null,t=function(){if(null!==p)try{var a=exports.unstable_now();p(!0,a);p=null}catch(b){throw setTimeout(t,0),b;}},u=Date.now();exports.unstable_now=function(){return Date.now()-u};f=function(a){null!==p?setTimeout(f,0,a):(p=a,setTimeout(t,0))};g=function(a,b){q=setTimeout(a,b)};h=function(){clearTimeout(q)};k=function(){return!1};l=exports.unstable_forceFrameRate=function(){}}else{var w=window.performance,x=window.Date,\ny=window.setTimeout,z=window.clearTimeout;if(\"undefined\"!==typeof console){var A=window.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\");\"function\"!==typeof A&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\")}if(\"object\"===\ntypeof w&&\"function\"===typeof w.now)exports.unstable_now=function(){return w.now()};else{var B=x.now();exports.unstable_now=function(){return x.now()-B}}var C=!1,D=null,E=-1,F=5,G=0;k=function(){return exports.unstable_now()>=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported\"):F=0<a?Math.floor(1E3/a):5};var H=new MessageChannel,I=H.port2;H.port1.onmessage=\nfunction(){if(null!==D){var a=exports.unstable_now();G=a+F;try{D(!0,a)?I.postMessage(null):(C=!1,D=null)}catch(b){throw I.postMessage(null),b;}}else C=!1};f=function(a){D=a;C||(C=!0,I.postMessage(null))};g=function(a,b){E=y(function(){a(exports.unstable_now())},b)};h=function(){z(E);E=-1}}function J(a,b){var c=a.length;a.push(b);a:for(;;){var d=c-1>>>1,e=a[d];if(void 0!==e&&0<K(e,b))a[d]=b,a[c]=e,c=d;else break a}}function L(a){a=a[0];return void 0===a?null:a}\nfunction M(a){var b=a[0];if(void 0!==b){var c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length;d<e;){var m=2*(d+1)-1,n=a[m],v=m+1,r=a[v];if(void 0!==n&&0>K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0<e?d+e:d;c=\"number\"===typeof c.timeout?c.timeout:Y(a)}else c=Y(a),e=d;c=e+c;a={id:P++,callback:b,priorityLevel:a,startTime:e,expirationTime:c,sortIndex:-1};e>d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime<Q.expirationTime||k()};exports.unstable_wrapCallback=function(a){var b=R;return function(){var c=R;R=b;try{return a.apply(this,arguments)}finally{R=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/** @license React v16.14.0\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),n=require(\"object-assign\"),r=require(\"scheduler\");function u(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}if(!aa)throw Error(u(227));\nfunction ba(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var da=!1,ea=null,fa=!1,ha=null,ia={onError:function(a){da=!0;ea=a}};function ja(a,b,c,d,e,f,g,h,k){da=!1;ea=null;ba.apply(ia,arguments)}function ka(a,b,c,d,e,f,g,h,k){ja.apply(this,arguments);if(da){if(da){var l=ea;da=!1;ea=null}else throw Error(u(198));fa||(fa=!0,ha=l)}}var la=null,ma=null,na=null;\nfunction oa(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=na(c);ka(d,b,void 0,a);a.currentTarget=null}var pa=null,qa={};\nfunction ra(){if(pa)for(var a in qa){var b=qa[a],c=pa.indexOf(a);if(!(-1<c))throw Error(u(96,a));if(!sa[c]){if(!b.extractEvents)throw Error(u(97,a));sa[c]=b;c=b.eventTypes;for(var d in c){var e=void 0;var f=c[d],g=b,h=d;if(ta.hasOwnProperty(h))throw Error(u(99,h));ta[h]=f;var k=f.phasedRegistrationNames;if(k){for(e in k)k.hasOwnProperty(e)&&ua(k[e],g,h);e=!0}else f.registrationName?(ua(f.registrationName,g,h),e=!0):e=!1;if(!e)throw Error(u(98,d,a));}}}}\nfunction ua(a,b,c){if(va[a])throw Error(u(100,a));va[a]=b;wa[a]=b.eventTypes[c].dependencies}var sa=[],ta={},va={},wa={};function xa(a){var b=!1,c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];if(!qa.hasOwnProperty(c)||qa[c]!==d){if(qa[c])throw Error(u(102,c));qa[c]=d;b=!0}}b&&ra()}var ya=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),za=null,Aa=null,Ba=null;\nfunction Ca(a){if(a=ma(a)){if(\"function\"!==typeof za)throw Error(u(280));var b=a.stateNode;b&&(b=la(b),za(a.stateNode,a.type,b))}}function Da(a){Aa?Ba?Ba.push(a):Ba=[a]:Aa=a}function Ea(){if(Aa){var a=Aa,b=Ba;Ba=Aa=null;Ca(a);if(b)for(a=0;a<b.length;a++)Ca(b[a])}}function Fa(a,b){return a(b)}function Ga(a,b,c,d,e){return a(b,c,d,e)}function Ha(){}var Ia=Fa,Ja=!1,Ka=!1;function La(){if(null!==Aa||null!==Ba)Ha(),Ea()}\nfunction Ma(a,b,c){if(Ka)return a(b,c);Ka=!0;try{return Ia(a,b,c)}finally{Ka=!1,La()}}var Na=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,Oa=Object.prototype.hasOwnProperty,Pa={},Qa={};\nfunction Ra(a){if(Oa.call(Qa,a))return!0;if(Oa.call(Pa,a))return!1;if(Na.test(a))return Qa[a]=!0;Pa[a]=!0;return!1}function Sa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction Ta(a,b,c,d){if(null===b||\"undefined\"===typeof b||Sa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1]?!1:!0;f||(Ta(b,c,e,d)&&(c=null),d||null===e?Ra(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))}\nvar Ya=/^(.*)[\\\\\\/]/,E=\"function\"===typeof Symbol&&Symbol.for,Za=E?Symbol.for(\"react.element\"):60103,$a=E?Symbol.for(\"react.portal\"):60106,ab=E?Symbol.for(\"react.fragment\"):60107,bb=E?Symbol.for(\"react.strict_mode\"):60108,cb=E?Symbol.for(\"react.profiler\"):60114,db=E?Symbol.for(\"react.provider\"):60109,eb=E?Symbol.for(\"react.context\"):60110,fb=E?Symbol.for(\"react.concurrent_mode\"):60111,gb=E?Symbol.for(\"react.forward_ref\"):60112,hb=E?Symbol.for(\"react.suspense\"):60113,ib=E?Symbol.for(\"react.suspense_list\"):\n60120,jb=E?Symbol.for(\"react.memo\"):60115,kb=E?Symbol.for(\"react.lazy\"):60116,lb=E?Symbol.for(\"react.block\"):60121,mb=\"function\"===typeof Symbol&&Symbol.iterator;function nb(a){if(null===a||\"object\"!==typeof a)return null;a=mb&&a[mb]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function ob(a){if(-1===a._status){a._status=0;var b=a._ctor;b=b();a._result=b;b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b)},function(b){0===a._status&&(a._status=2,a._result=b)})}}\nfunction pb(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ab:return\"Fragment\";case $a:return\"Portal\";case cb:return\"Profiler\";case bb:return\"StrictMode\";case hb:return\"Suspense\";case ib:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case eb:return\"Context.Consumer\";case db:return\"Context.Provider\";case gb:var b=a.render;b=b.displayName||b.name||\"\";return a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\n\"ForwardRef\");case jb:return pb(a.type);case lb:return pb(a.render);case kb:if(a=1===a._status?a._result:null)return pb(a)}return null}function qb(a){var b=\"\";do{a:switch(a.tag){case 3:case 4:case 6:case 7:case 10:case 9:var c=\"\";break a;default:var d=a._debugOwner,e=a._debugSource,f=pb(a.type);c=null;d&&(c=pb(d.type));d=f;f=\"\";e?f=\" (at \"+e.fileName.replace(Ya,\"\")+\":\"+e.lineNumber+\")\":c&&(f=\" (created by \"+c+\")\");c=\"\\n in \"+(d||\"Unknown\")+f}b+=c;a=a.return}while(a);return b}\nfunction rb(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function sb(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction tb(a){var b=sb(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function xb(a){a._valueTracker||(a._valueTracker=tb(a))}function yb(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=sb(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function zb(a,b){var c=b.checked;return n({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}\nfunction Ab(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=rb(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function Bb(a,b){b=b.checked;null!=b&&Xa(a,\"checked\",b,!1)}\nfunction Cb(a,b){Bb(a,b);var c=rb(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?Db(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&Db(a,b.type,rb(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction Eb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction Db(a,b,c){if(\"number\"!==b||a.ownerDocument.activeElement!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function Fb(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function Gb(a,b){a=n({children:void 0},b);if(b=Fb(b.children))a.children=b;return a}\nfunction Hb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+rb(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction Ib(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(u(91));return n({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function Jb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(u(92));if(Array.isArray(c)){if(!(1>=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;d<b.length&&!a.isPropagationStopped();d++)oa(a,b[d],c[d]);else b&&oa(a,b,c);a._dispatchListeners=null;a._dispatchInstances=null;a.isPersistent()||a.constructor.release(a)}}function mc(a){null!==a&&(kc=ic(kc,a));a=kc;kc=null;if(a){jc(a,lc);if(kc)throw Error(u(95));if(fa)throw a=ha,fa=!1,ha=null,a;}}\nfunction nc(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}function oc(a){if(!ya)return!1;a=\"on\"+a;var b=a in document;b||(b=document.createElement(\"div\"),b.setAttribute(a,\"return;\"),b=\"function\"===typeof b[a]);return b}var pc=[];function qc(a){a.topLevelType=null;a.nativeEvent=null;a.targetInst=null;a.ancestors.length=0;10>pc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c<a.ancestors.length;c++){b=a.ancestors[c];var e=nc(a.nativeEvent);d=a.topLevelType;var f=a.nativeEvent,g=a.eventSystemFlags;0===c&&(g|=64);for(var h=null,k=0;k<sa.length;k++){var l=sa[k];l&&(l=l.extractEvents(d,b,f,e,g))&&(h=\nic(h,l))}mc(h)}}function uc(a,b,c){if(!c.has(a)){switch(a){case \"scroll\":vc(b,\"scroll\",!0);break;case \"focus\":case \"blur\":vc(b,\"focus\",!0);vc(b,\"blur\",!0);c.set(\"blur\",null);c.set(\"focus\",null);break;case \"cancel\":case \"close\":oc(a)&&vc(b,a,!0);break;case \"invalid\":case \"submit\":case \"reset\":break;default:-1===ac.indexOf(a)&&F(a,b)}c.set(a,null)}}\nvar wc,xc,yc,zc=!1,Ac=[],Bc=null,Cc=null,Dc=null,Ec=new Map,Fc=new Map,Gc=[],Hc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit\".split(\" \"),Ic=\"focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture\".split(\" \");\nfunction Jc(a,b){var c=cc(b);Hc.forEach(function(a){uc(a,b,c)});Ic.forEach(function(a){uc(a,b,c)})}function Kc(a,b,c,d,e){return{blockedOn:a,topLevelType:b,eventSystemFlags:c|32,nativeEvent:e,container:d}}\nfunction Lc(a,b){switch(a){case \"focus\":case \"blur\":Bc=null;break;case \"dragenter\":case \"dragleave\":Cc=null;break;case \"mouseover\":case \"mouseout\":Dc=null;break;case \"pointerover\":case \"pointerout\":Ec.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Fc.delete(b.pointerId)}}function Mc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a=Kc(b,c,d,e,f),null!==b&&(b=Nc(b),null!==b&&xc(b)),a;a.eventSystemFlags|=d;return a}\nfunction Oc(a,b,c,d,e){switch(b){case \"focus\":return Bc=Mc(Bc,a,b,c,d,e),!0;case \"dragenter\":return Cc=Mc(Cc,a,b,c,d,e),!0;case \"mouseover\":return Dc=Mc(Dc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Ec.set(f,Mc(Ec.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Fc.set(f,Mc(Fc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Pc(a){var b=tc(a.target);if(null!==b){var c=dc(b);if(null!==c)if(b=c.tag,13===b){if(b=ec(c),null!==b){a.blockedOn=b;r.unstable_runWithPriority(a.priority,function(){yc(c)});return}}else if(3===b&&c.stateNode.hydrate){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}function Qc(a){if(null!==a.blockedOn)return!1;var b=Rc(a.topLevelType,a.eventSystemFlags,a.container,a.nativeEvent);if(null!==b){var c=Nc(b);null!==c&&xc(c);a.blockedOn=b;return!1}return!0}\nfunction Sc(a,b,c){Qc(a)&&c.delete(b)}function Tc(){for(zc=!1;0<Ac.length;){var a=Ac[0];if(null!==a.blockedOn){a=Nc(a.blockedOn);null!==a&&wc(a);break}var b=Rc(a.topLevelType,a.eventSystemFlags,a.container,a.nativeEvent);null!==b?a.blockedOn=b:Ac.shift()}null!==Bc&&Qc(Bc)&&(Bc=null);null!==Cc&&Qc(Cc)&&(Cc=null);null!==Dc&&Qc(Dc)&&(Dc=null);Ec.forEach(Sc);Fc.forEach(Sc)}function Uc(a,b){a.blockedOn===b&&(a.blockedOn=null,zc||(zc=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,Tc)))}\nfunction Vc(a){function b(b){return Uc(b,a)}if(0<Ac.length){Uc(Ac[0],a);for(var c=1;c<Ac.length;c++){var d=Ac[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Bc&&Uc(Bc,a);null!==Cc&&Uc(Cc,a);null!==Dc&&Uc(Dc,a);Ec.forEach(b);Fc.forEach(b);for(c=0;c<Gc.length;c++)d=Gc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Gc.length&&(c=Gc[0],null===c.blockedOn);)Pc(c),null===c.blockedOn&&Gc.shift()}\nvar Wc={},Yc=new Map,Zc=new Map,$c=[\"abort\",\"abort\",Xb,\"animationEnd\",Yb,\"animationIteration\",Zb,\"animationStart\",\"canplay\",\"canPlay\",\"canplaythrough\",\"canPlayThrough\",\"durationchange\",\"durationChange\",\"emptied\",\"emptied\",\"encrypted\",\"encrypted\",\"ended\",\"ended\",\"error\",\"error\",\"gotpointercapture\",\"gotPointerCapture\",\"load\",\"load\",\"loadeddata\",\"loadedData\",\"loadedmetadata\",\"loadedMetadata\",\"loadstart\",\"loadStart\",\"lostpointercapture\",\"lostPointerCapture\",\"playing\",\"playing\",\"progress\",\"progress\",\"seeking\",\n\"seeking\",\"stalled\",\"stalled\",\"suspend\",\"suspend\",\"timeupdate\",\"timeUpdate\",$b,\"transitionEnd\",\"waiting\",\"waiting\"];function ad(a,b){for(var c=0;c<a.length;c+=2){var d=a[c],e=a[c+1],f=\"on\"+(e[0].toUpperCase()+e.slice(1));f={phasedRegistrationNames:{bubbled:f,captured:f+\"Capture\"},dependencies:[d],eventPriority:b};Zc.set(d,b);Yc.set(d,f);Wc[e]=f}}\nad(\"blur blur cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focus focus input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange\".split(\" \"),0);\nad(\"drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel\".split(\" \"),1);ad($c,2);for(var bd=\"change selectionchange textInput compositionstart compositionend compositionupdate\".split(\" \"),cd=0;cd<bd.length;cd++)Zc.set(bd[cd],0);\nvar dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function F(a,b){vc(b,a,!1)}function vc(a,b,c){var d=Zc.get(b);switch(void 0===d?2:d){case 0:d=gd.bind(null,b,1,a);break;case 1:d=hd.bind(null,b,1,a);break;default:d=id.bind(null,b,1,a)}c?a.addEventListener(b,d,!0):a.addEventListener(b,d,!1)}function gd(a,b,c,d){Ja||Ha();var e=id,f=Ja;Ja=!0;try{Ga(e,a,b,c,d)}finally{(Ja=f)||La()}}function hd(a,b,c,d){ed(dd,id.bind(null,a,b,c,d))}\nfunction id(a,b,c,d){if(fd)if(0<Ac.length&&-1<Hc.indexOf(a))a=Kc(null,a,b,c,d),Ac.push(a);else{var e=Rc(a,b,c,d);if(null===e)Lc(a,d);else if(-1<Hc.indexOf(a))a=Kc(e,a,b,c,d),Ac.push(a);else if(!Oc(e,a,b,c,d)){Lc(a,d);a=rc(a,d,null,b);try{Ma(sc,a)}finally{qc(a)}}}}\nfunction Rc(a,b,c,d){c=nc(d);c=tc(c);if(null!==c){var e=dc(c);if(null===e)c=null;else{var f=e.tag;if(13===f){c=ec(e);if(null!==c)return c;c=null}else if(3===f){if(e.stateNode.hydrate)return 3===e.tag?e.stateNode.containerInfo:null;c=null}else e!==c&&(c=null)}}a=rc(a,d,c,b);try{Ma(sc,a)}finally{qc(a)}return null}\nvar jd={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},kd=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(jd).forEach(function(a){kd.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);jd[b]=jd[a]})});function ld(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||jd.hasOwnProperty(a)&&jd[a]?(\"\"+b).trim():b+\"px\"}\nfunction md(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=ld(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var nd=n({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction od(a,b){if(b){if(nd[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(u(137,a,\"\"));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(u(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(u(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(u(62,\"\"));}}\nfunction pd(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var qd=Mb.html;function rd(a,b){a=9===a.nodeType||11===a.nodeType?a:a.ownerDocument;var c=cc(a);b=wa[b];for(var d=0;d<b.length;d++)uc(b[d],a,c)}function sd(){}\nfunction td(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}function ud(a){for(;a&&a.firstChild;)a=a.firstChild;return a}function vd(a,b){var c=ud(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=td(a.document)}return b}\nfunction yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0<b--;)Td(c[b],\"captured\",a);for(b=0;b<c.length;b++)Td(c[b],\"bubbled\",a)}}\nfunction Vd(a,b,c){a&&c&&c.dispatchConfig.registrationName&&(b=Sd(a,c.dispatchConfig.registrationName))&&(c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a))}function Wd(a){a&&a.dispatchConfig.registrationName&&Vd(a._targetInst,null,a)}function Xd(a){jc(a,Ud)}var Yd=null,Zd=null,$d=null;\nfunction ae(){if($d)return $d;var a,b=Zd,c=b.length,d,e=\"value\"in Yd?Yd.value:Yd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return $d=e.slice(a,1<d?1-d:void 0)}function be(){return!0}function ce(){return!1}\nfunction G(a,b,c,d){this.dispatchConfig=a;this._targetInst=b;this.nativeEvent=c;a=this.constructor.Interface;for(var e in a)a.hasOwnProperty(e)&&((b=a[e])?this[e]=b(c):\"target\"===e?this.target=d:this[e]=c[e]);this.isDefaultPrevented=(null!=c.defaultPrevented?c.defaultPrevented:!1===c.returnValue)?be:ce;this.isPropagationStopped=ce;return this}\nn(G.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&(a.returnValue=!1),this.isDefaultPrevented=be)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=be)},persist:function(){this.isPersistent=be},isPersistent:ce,destructor:function(){var a=this.constructor.Interface,\nb;for(b in a)this[b]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null;this.isPropagationStopped=this.isDefaultPrevented=ce;this._dispatchInstances=this._dispatchListeners=null}});G.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};\nG.extend=function(a){function b(){}function c(){return d.apply(this,arguments)}var d=this;b.prototype=d.prototype;var e=new b;n(e,c.prototype);c.prototype=e;c.prototype.constructor=c;c.Interface=n({},d.Interface,a);c.extend=d.extend;de(c);return c};de(G);function ee(a,b,c,d){if(this.eventPool.length){var e=this.eventPool.pop();this.call(e,a,b,c,d);return e}return new this(a,b,c,d)}\nfunction fe(a){if(!(a instanceof this))throw Error(u(279));a.destructor();10>this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8<ke&&11>=ke),ne=String.fromCharCode(32),oe={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return me&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar ve={eventTypes:oe,extractEvents:function(a,b,c,d){var e;if(je)b:{switch(a){case \"compositionstart\":var f=oe.compositionStart;break b;case \"compositionend\":f=oe.compositionEnd;break b;case \"compositionupdate\":f=oe.compositionUpdate;break b}f=void 0}else se?qe(a,c)&&(f=oe.compositionEnd):\"keydown\"===a&&229===c.keyCode&&(f=oe.compositionStart);f?(me&&\"ko\"!==c.locale&&(se||f!==oe.compositionStart?f===oe.compositionEnd&&se&&(e=ae()):(Yd=d,Zd=\"value\"in Yd?Yd.value:Yd.textContent,se=!0)),f=ge.getPooled(f,\nb,c,d),e?f.data=e:(e=re(c),null!==e&&(f.data=e)),Xd(f),e=f):e=null;(a=le?te(a,c):ue(a,c))?(b=he.getPooled(oe.beforeInput,b,c,d),b.data=a,Xd(b)):b=null;return null===e?b:null===b?e:[e,b]}},we={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function xe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!we[a.type]:\"textarea\"===b?!0:!1}\nvar ye={change:{phasedRegistrationNames:{bubbled:\"onChange\",captured:\"onChangeCapture\"},dependencies:\"blur change click focus input keydown keyup selectionchange\".split(\" \")}};function ze(a,b,c){a=G.getPooled(ye.change,a,b,c);a.type=\"change\";Da(c);Xd(a);return a}var Ae=null,Be=null;function Ce(a){mc(a)}function De(a){var b=Pd(a);if(yb(b))return a}function Ee(a,b){if(\"change\"===a)return b}var Fe=!1;ya&&(Fe=oc(\"input\")&&(!document.documentMode||9<document.documentMode));\nfunction Ge(){Ae&&(Ae.detachEvent(\"onpropertychange\",He),Be=Ae=null)}function He(a){if(\"value\"===a.propertyName&&De(Be))if(a=ze(Be,a,nc(a)),Ja)mc(a);else{Ja=!0;try{Fa(Ce,a)}finally{Ja=!1,La()}}}function Ie(a,b,c){\"focus\"===a?(Ge(),Ae=b,Be=c,Ae.attachEvent(\"onpropertychange\",He)):\"blur\"===a&&Ge()}function Je(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return De(Be)}function Ke(a,b){if(\"click\"===a)return De(b)}function Le(a,b){if(\"input\"===a||\"change\"===a)return De(b)}\nvar Me={eventTypes:ye,_isInputEventSupported:Fe,extractEvents:function(a,b,c,d){var e=b?Pd(b):window,f=e.nodeName&&e.nodeName.toLowerCase();if(\"select\"===f||\"input\"===f&&\"file\"===e.type)var g=Ee;else if(xe(e))if(Fe)g=Le;else{g=Je;var h=Ie}else(f=e.nodeName)&&\"input\"===f.toLowerCase()&&(\"checkbox\"===e.type||\"radio\"===e.type)&&(g=Ke);if(g&&(g=g(a,b)))return ze(g,c,d);h&&h(a,e,b);\"blur\"===a&&(a=e._wrapperState)&&a.controlled&&\"number\"===e.type&&Db(e,\"number\",e.value)}},Ne=G.extend({view:null,detail:null}),\nOe={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pe(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Oe[a])?!!b[a]:!1}function Qe(){return Pe}\nvar Re=0,Se=0,Te=!1,Ue=!1,Ve=Ne.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:Qe,button:null,buttons:null,relatedTarget:function(a){return a.relatedTarget||(a.fromElement===a.srcElement?a.toElement:a.fromElement)},movementX:function(a){if(\"movementX\"in a)return a.movementX;var b=Re;Re=a.screenX;return Te?\"mousemove\"===a.type?a.screenX-b:0:(Te=!0,0)},movementY:function(a){if(\"movementY\"in a)return a.movementY;\nvar b=Se;Se=a.screenY;return Ue?\"mousemove\"===a.type?a.screenY-b:0:(Ue=!0,0)}}),We=Ve.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),Xe={mouseEnter:{registrationName:\"onMouseEnter\",dependencies:[\"mouseout\",\"mouseover\"]},mouseLeave:{registrationName:\"onMouseLeave\",dependencies:[\"mouseout\",\"mouseover\"]},pointerEnter:{registrationName:\"onPointerEnter\",dependencies:[\"pointerout\",\"pointerover\"]},pointerLeave:{registrationName:\"onPointerLeave\",\ndependencies:[\"pointerout\",\"pointerover\"]}},Ye={eventTypes:Xe,extractEvents:function(a,b,c,d,e){var f=\"mouseover\"===a||\"pointerover\"===a,g=\"mouseout\"===a||\"pointerout\"===a;if(f&&0===(e&32)&&(c.relatedTarget||c.fromElement)||!g&&!f)return null;f=d.window===d?d:(f=d.ownerDocument)?f.defaultView||f.parentWindow:window;if(g){if(g=b,b=(b=c.relatedTarget||c.toElement)?tc(b):null,null!==b){var h=dc(b);if(b!==h||5!==b.tag&&6!==b.tag)b=null}}else g=null;if(g===b)return null;if(\"mouseout\"===a||\"mouseover\"===\na){var k=Ve;var l=Xe.mouseLeave;var m=Xe.mouseEnter;var p=\"mouse\"}else if(\"pointerout\"===a||\"pointerover\"===a)k=We,l=Xe.pointerLeave,m=Xe.pointerEnter,p=\"pointer\";a=null==g?f:Pd(g);f=null==b?f:Pd(b);l=k.getPooled(l,g,c,d);l.type=p+\"leave\";l.target=a;l.relatedTarget=f;c=k.getPooled(m,b,c,d);c.type=p+\"enter\";c.target=f;c.relatedTarget=a;d=g;p=b;if(d&&p)a:{k=d;m=p;g=0;for(a=k;a;a=Rd(a))g++;a=0;for(b=m;b;b=Rd(b))a++;for(;0<g-a;)k=Rd(k),g--;for(;0<a-g;)m=Rd(m),a--;for(;g--;){if(k===m||k===m.alternate)break a;\nk=Rd(k);m=Rd(m)}k=null}else k=null;m=k;for(k=[];d&&d!==m;){g=d.alternate;if(null!==g&&g===m)break;k.push(d);d=Rd(d)}for(d=[];p&&p!==m;){g=p.alternate;if(null!==g&&g===m)break;d.push(p);p=Rd(p)}for(p=0;p<k.length;p++)Vd(k[p],\"bubbled\",l);for(p=d.length;0<p--;)Vd(d[p],\"captured\",c);return 0===(e&64)?[l]:[l,c]}};function Ze(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var $e=\"function\"===typeof Object.is?Object.is:Ze,af=Object.prototype.hasOwnProperty;\nfunction bf(a,b){if($e(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++)if(!af.call(b,c[d])||!$e(a[c[d]],b[c[d]]))return!1;return!0}\nvar cf=ya&&\"documentMode\"in document&&11>=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;g<f.length;g++)if(!e.has(f[g])){e=!1;break a}e=!0}f=!e}if(f)return null;e=b?Pd(b):window;switch(a){case \"focus\":if(xe(e)||\"true\"===e.contentEditable)ef=e,ff=b,gf=null;break;case \"blur\":gf=ff=ef=null;break;case \"mousedown\":hf=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":return hf=!1,jf(c,d);case \"selectionchange\":if(cf)break;\ncase \"keydown\":case \"keyup\":return jf(c,d)}return null}},lf=G.extend({animationName:null,elapsedTime:null,pseudoElement:null}),mf=G.extend({clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),nf=Ne.extend({relatedTarget:null});function of(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}\nvar pf={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},qf={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",\n116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},rf=Ne.extend({key:function(a){if(a.key){var b=pf[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=of(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?qf[a.keyCode]||\"Unidentified\":\"\"},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:Qe,charCode:function(a){return\"keypress\"===\na.type?of(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===a.type?of(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),sf=Ve.extend({dataTransfer:null}),tf=Ne.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:Qe}),uf=G.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),vf=Ve.extend({deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in\na?-a.wheelDeltaX:0},deltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:null,deltaMode:null}),wf={eventTypes:Wc,extractEvents:function(a,b,c,d){var e=Yc.get(a);if(!e)return null;switch(a){case \"keypress\":if(0===of(c))return null;case \"keydown\":case \"keyup\":a=rf;break;case \"blur\":case \"focus\":a=nf;break;case \"click\":if(2===c.button)return null;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":a=\nVe;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":a=sf;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":a=tf;break;case Xb:case Yb:case Zb:a=lf;break;case $b:a=uf;break;case \"scroll\":a=Ne;break;case \"wheel\":a=vf;break;case \"copy\":case \"cut\":case \"paste\":a=mf;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":a=\nWe;break;default:a=G}b=a.getPooled(e,b,c,d);Xd(b);return b}};if(pa)throw Error(u(101));pa=Array.prototype.slice.call(\"ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin\".split(\" \"));ra();var xf=Nc;la=Qd;ma=xf;na=Pd;xa({SimpleEventPlugin:wf,EnterLeaveEventPlugin:Ye,ChangeEventPlugin:Me,SelectEventPlugin:kf,BeforeInputEventPlugin:ve});var yf=[],zf=-1;function H(a){0>zf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a<b.length;a++){var c=b[a];do c=c(!0);while(null!==c)}});Wf=null}catch(c){throw null!==Wf&&(Wf=Wf.slice(a+1)),Jf(Of,gg),c;}finally{Yf=!1}}}function hg(a,b,c){c/=10;return 1073741821-(((1073741821-a+b/10)/c|0)+1)*c}function ig(a,b){if(a&&a.defaultProps){b=n({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c])}return b}var jg={current:null},kg=null,lg=null,mg=null;function ng(){mg=lg=kg=null}\nfunction og(a){var b=jg.current;H(jg);a.type._context._currentValue=b}function pg(a,b){for(;null!==a;){var c=a.alternate;if(a.childExpirationTime<b)a.childExpirationTime=b,null!==c&&c.childExpirationTime<b&&(c.childExpirationTime=b);else if(null!==c&&c.childExpirationTime<b)c.childExpirationTime=b;else break;a=a.return}}function qg(a,b){kg=a;mg=lg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(a.expirationTime>=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(g<d){var ca={expirationTime:z.expirationTime,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null};null===x?(p=x=\nca,m=k):x=x.next=ca;g>l&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=e;e=c;if(\"function\"!==typeof d)throw Error(u(191,d));d.call(e)}}}var Dg=Wa.ReactCurrentBatchConfig,Eg=(new aa.Component).refs;function Fg(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:n({},b,c);a.memoizedState=c;0===a.expirationTime&&(a.updateQueue.baseState=c)}\nvar Jg={isMounted:function(a){return(a=a._reactInternalFiber)?dc(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternalFiber;var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e=wg(d,e);e.payload=b;void 0!==c&&null!==c&&(e.callback=c);xg(a,e);Ig(a,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternalFiber;var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e=wg(d,e);e.tag=1;e.payload=b;void 0!==c&&null!==c&&(e.callback=c);xg(a,e);Ig(a,d)},enqueueForceUpdate:function(a,b){a=a._reactInternalFiber;var c=Gg(),d=Dg.suspense;\nc=Hg(c,a,d);d=wg(c,d);d.tag=2;void 0!==b&&null!==b&&(d.callback=b);xg(a,d);Ig(a,c)}};function Kg(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!bf(c,d)||!bf(e,f):!0}\nfunction Lg(a,b,c){var d=!1,e=Af;var f=b.contextType;\"object\"===typeof f&&null!==f?f=sg(f):(e=L(b)?Bf:J.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Cf(a,e):Af);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Jg;a.stateNode=b;b._reactInternalFiber=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Mg(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Jg.enqueueReplaceState(b,b.state,null)}\nfunction Ng(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=Eg;ug(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=sg(f):(f=L(b)?Bf:J.current,e.context=Cf(a,f));zg(a,c,e,d);e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Fg(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||\n(b=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Jg.enqueueReplaceState(e,e.state,null),zg(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.effectTag|=4)}var Og=Array.isArray;\nfunction Pg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(u(309));var d=c.stateNode}if(!d)throw Error(u(147,a));var e=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs;b===Eg&&(b=d.refs={});null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}if(\"string\"!==typeof a)throw Error(u(284));if(!c._owner)throw Error(u(290,a));}return a}\nfunction Qg(a,b){if(\"textarea\"!==a.type)throw Error(u(31,\"[object Object]\"===Object.prototype.toString.call(b)?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":b,\"\"));}\nfunction Rg(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.effectTag=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Sg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.effectTag=\n2,c):d;b.effectTag=2;return c}function g(b){a&&null===b.alternate&&(b.effectTag=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Tg(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){if(null!==b&&b.elementType===c.type)return d=e(b,c.props),d.ref=Pg(a,b,c),d.return=a,d;d=Ug(c.type,c.key,c.props,null,a.mode,d);d.ref=Pg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==\nc.implementation)return b=Vg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Wg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function p(a,b,c){if(\"string\"===typeof b||\"number\"===typeof b)return b=Tg(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case Za:return c=Ug(b.type,b.key,b.props,null,a.mode,c),c.ref=Pg(a,null,b),c.return=a,c;case $a:return b=Vg(b,a.mode,c),b.return=a,b}if(Og(b)||\nnb(b))return b=Wg(b,a.mode,c,null),b.return=a,b;Qg(a,b)}return null}function x(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case Za:return c.key===e?c.type===ab?m(a,b,c.props.children,d,e):k(a,b,c,d):null;case $a:return c.key===e?l(a,b,c,d):null}if(Og(c)||nb(c))return null!==e?null:m(a,b,c,d,null);Qg(a,c)}return null}function z(a,b,c,d,e){if(\"string\"===typeof d||\"number\"===typeof d)return a=\na.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case Za:return a=a.get(null===d.key?c:d.key)||null,d.type===ab?m(b,a,d.props.children,e,d.key):k(b,a,d,e);case $a:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e)}if(Og(d)||nb(d))return a=a.get(c)||null,m(b,a,d,e,null);Qg(b,d)}return null}function ca(e,g,h,k){for(var l=null,t=null,m=g,y=g=0,A=null;null!==m&&y<h.length;y++){m.index>y?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;y<h.length;y++)m=p(e,h[y],k),null!==m&&(g=f(m,g,y),null===t?l=m:t.sibling=m,t=m);return l}for(m=d(e,m);y<h.length;y++)A=z(m,e,y,h[y],k),null!==A&&(a&&null!==A.alternate&&m.delete(null===A.key?y:A.key),g=f(A,g,y),null===t?l=A:t.sibling=A,t=A);a&&m.forEach(function(a){return b(e,a)});return l}function D(e,g,h,l){var k=nb(h);if(\"function\"!==typeof k)throw Error(u(150));h=k.call(h);\nif(null==h)throw Error(u(151));for(var m=k=null,t=g,y=g=0,A=null,q=h.next();null!==t&&!q.done;y++,q=h.next()){t.index>y?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!$e(a[c],b[c]))return!1;return!0}\nfunction oh(a,b,c,d,e,f){lh=f;N=b;b.memoizedState=null;b.updateQueue=null;b.expirationTime=0;jh.current=null===a||null===a.memoizedState?ph:qh;a=c(d,e);if(b.expirationTime===lh){f=0;do{b.expirationTime=0;if(!(25>f))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function uh(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(u(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(l<lh){var m={expirationTime:k.expirationTime,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null};null===h?(g=h=m,f=d):h=h.next=m;l>N.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97<d?97:d,function(){var d=kh.suspense;kh.suspense=void 0===b?null:b;try{a(!1),c()}finally{kh.suspense=d}})}\nfunction zh(a,b,c){var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e={expirationTime:d,suspenseConfig:e,action:c,eagerReducer:null,eagerState:null,next:null};var f=b.pending;null===f?e.next=e:(e.next=f.next,f.next=e);b.pending=e;f=a.alternate;if(a===N||null!==f&&f===N)mh=!0,e.expirationTime=lh,N.expirationTime=lh;else{if(0===a.expirationTime&&(null===f||0===f.expirationTime)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.eagerReducer=f;e.eagerState=h;if($e(h,g))return}catch(k){}finally{}Ig(a,\nd)}}\nvar sh={readContext:sg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useResponder:Q,useDeferredValue:Q,useTransition:Q},ph={readContext:sg,useCallback:Kh,useContext:sg,useEffect:Eh,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Ch(4,2,Hh.bind(null,b,a),c)},useLayoutEffect:function(a,b){return Ch(4,2,a,b)},useMemo:function(a,b){var c=th();b=void 0===b?null:b;a=a();c.memoizedState=[a,\nb];return a},useReducer:function(a,b,c){var d=th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={pending:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=zh.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=th();a={current:a};return b.memoizedState=a},useState:yh,useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=yh(a),d=c[0],e=c[1];Eh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=\nc}},[a,b]);return d},useTransition:function(a){var b=yh(!1),c=b[0];b=b[1];return[Kh(Nh.bind(null,b,a),[b,a]),c]}},qh={readContext:sg,useCallback:Lh,useContext:sg,useEffect:Fh,useImperativeHandle:Ih,useLayoutEffect:Gh,useMemo:Mh,useReducer:wh,useRef:Bh,useState:function(){return wh(vh)},useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=wh(vh),d=c[0],e=c[1];Fh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=c}},[a,b]);return d},useTransition:function(a){var b=\nwh(vh),c=b[0];b=b[1];return[Lh(Nh.bind(null,b,a),[b,a]),c]}},rh={readContext:sg,useCallback:Lh,useContext:sg,useEffect:Fh,useImperativeHandle:Ih,useLayoutEffect:Gh,useMemo:Mh,useReducer:xh,useRef:Bh,useState:function(){return xh(vh)},useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=xh(vh),d=c[0],e=c[1];Fh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=c}},[a,b]);return d},useTransition:function(a){var b=xh(vh),c=b[0];b=b[1];return[Lh(Nh.bind(null,\nb,a),[b,a]),c]}},Oh=null,Ph=null,Qh=!1;function Rh(a,b){var c=Sh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}\nfunction Th(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction Uh(a){if(Qh){var b=Ph;if(b){var c=b;if(!Th(a,b)){b=Jd(c.nextSibling);if(!b||!Th(a,b)){a.effectTag=a.effectTag&-1025|2;Qh=!1;Oh=a;return}Rh(Oh,c)}Oh=a;Ph=Jd(b.firstChild)}else a.effectTag=a.effectTag&-1025|2,Qh=!1,Oh=a}}function Vh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;Oh=a}\nfunction Wh(a){if(a!==Oh)return!1;if(!Qh)return Vh(a),Qh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!Gd(b,a.memoizedProps))for(b=Ph;b;)Rh(a,b),b=Jd(b.nextSibling);Vh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(u(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(c===Ad){if(0===b){Ph=Jd(a.nextSibling);break a}b--}else c!==zd&&c!==Cd&&c!==Bd||b++}a=a.nextSibling}Ph=null}}else Ph=Oh?Jd(a.stateNode.nextSibling):null;return!0}\nfunction Xh(){Ph=Oh=null;Qh=!1}var Yh=Wa.ReactCurrentOwner,rg=!1;function R(a,b,c,d){b.child=null===a?Yg(b,null,c,d):Xg(b,a.child,c,d)}function Zh(a,b,c,d,e){c=c.render;var f=b.ref;qg(b,e);d=oh(a,b,c,d,f,e);if(null!==a&&!rg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),$h(a,b,e);b.effectTag|=1;R(a,b,d,e);return b.child}\nfunction ai(a,b,c,d,e,f){if(null===a){var g=c.type;if(\"function\"===typeof g&&!bi(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,ci(a,b,g,d,e,f);a=Ug(c.type,null,d,null,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(e<f&&(e=g.memoizedProps,c=c.compare,c=null!==c?c:bf,c(e,d)&&a.ref===b.ref))return $h(a,b,f);b.effectTag|=1;a=Sg(g,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction ci(a,b,c,d,e,f){return null!==a&&bf(a.memoizedProps,d)&&a.ref===b.ref&&(rg=!1,e<f)?(b.expirationTime=a.expirationTime,$h(a,b,f)):di(a,b,c,d,f)}function ei(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.effectTag|=128}function di(a,b,c,d,e){var f=L(c)?Bf:J.current;f=Cf(b,f);qg(b,e);c=oh(a,b,c,d,f,e);if(null!==a&&!rg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),$h(a,b,e);b.effectTag|=1;R(a,b,c,e);return b.child}\nfunction fi(a,b,c,d,e){if(L(c)){var f=!0;Gf(b)}else f=!1;qg(b,e);if(null===b.stateNode)null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),Lg(b,c,d),Ng(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=sg(l):(l=L(c)?Bf:J.current,l=Cf(b,l));var m=c.getDerivedStateFromProps,p=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;p||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\n\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Mg(b,g,d,l);tg=!1;var x=b.memoizedState;g.state=x;zg(b,d,g,e);k=b.memoizedState;h!==d||x!==k||K.current||tg?(\"function\"===typeof m&&(Fg(b,c,m,d),k=b.memoizedState),(h=tg||Kg(b,c,h,d,x,k,l))?(p||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===\ntypeof g.componentDidMount&&(b.effectTag|=4)):(\"function\"===typeof g.componentDidMount&&(b.effectTag|=4),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.effectTag|=4),d=!1)}else g=b.stateNode,vg(a,b),h=b.memoizedProps,g.props=b.type===b.elementType?h:ig(b.type,h),k=g.context,l=c.contextType,\"object\"===typeof l&&null!==l?l=sg(l):(l=L(c)?Bf:J.current,l=Cf(b,l)),m=c.getDerivedStateFromProps,(p=\"function\"===typeof m||\"function\"===\ntypeof g.getSnapshotBeforeUpdate)||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Mg(b,g,d,l),tg=!1,k=b.memoizedState,g.state=k,zg(b,d,g,e),x=b.memoizedState,h!==d||k!==x||K.current||tg?(\"function\"===typeof m&&(Fg(b,c,m,d),x=b.memoizedState),(m=tg||Kg(b,c,h,d,k,x,l))?(p||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,\nx,l),\"function\"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,x,l)),\"function\"===typeof g.componentDidUpdate&&(b.effectTag|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.effectTag|=256)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=256),b.memoizedProps=d,b.memoizedState=x),g.props=d,g.state=x,g.context=l,d=m):\n(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=256),d=!1);return gi(a,b,c,d,f,e)}\nfunction gi(a,b,c,d,e,f){ei(a,b);var g=0!==(b.effectTag&64);if(!d&&!g)return e&&Hf(b,c,!1),$h(a,b,f);d=b.stateNode;Yh.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.effectTag|=1;null!==a&&g?(b.child=Xg(b,a.child,null,f),b.child=Xg(b,null,h,f)):R(a,b,h,f);b.memoizedState=d.state;e&&Hf(b,c,!0);return b.child}function hi(a){var b=a.stateNode;b.pendingContext?Ef(a,b.pendingContext,b.pendingContext!==b.context):b.context&&Ef(a,b.context,!1);dh(a,b.containerInfo)}\nvar ii={dehydrated:null,retryTime:0};\nfunction ji(a,b,c){var d=b.mode,e=b.pendingProps,f=M.current,g=!1,h;(h=0!==(b.effectTag&64))||(h=0!==(f&2)&&(null===a||null!==a.memoizedState));h?(g=!0,b.effectTag&=-65):null!==a&&null===a.memoizedState||void 0===e.fallback||!0===e.unstable_avoidThisFallback||(f|=1);I(M,f&1);if(null===a){void 0!==e.fallback&&Uh(b);if(g){g=e.fallback;e=Wg(null,d,0,null);e.return=b;if(0===(b.mode&2))for(a=null!==b.memoizedState?b.child.child:b.child,e.child=a;null!==a;)a.return=e,a=a.sibling;c=Wg(g,d,c,null);c.return=\nb;e.sibling=c;b.memoizedState=ii;b.child=e;return c}d=e.children;b.memoizedState=null;return b.child=Yg(b,null,d,c)}if(null!==a.memoizedState){a=a.child;d=a.sibling;if(g){e=e.fallback;c=Sg(a,a.pendingProps);c.return=b;if(0===(b.mode&2)&&(g=null!==b.memoizedState?b.child.child:b.child,g!==a.child))for(c.child=g;null!==g;)g.return=c,g=g.sibling;d=Sg(d,e);d.return=b;c.sibling=d;c.childExpirationTime=0;b.memoizedState=ii;b.child=c;return d}c=Xg(b,a.child,e.children,c);b.memoizedState=null;return b.child=\nc}a=a.child;if(g){g=e.fallback;e=Wg(null,d,0,null);e.return=b;e.child=a;null!==a&&(a.return=e);if(0===(b.mode&2))for(a=null!==b.memoizedState?b.child.child:b.child,e.child=a;null!==a;)a.return=e,a=a.sibling;c=Wg(g,d,c,null);c.return=b;e.sibling=c;c.effectTag|=2;e.childExpirationTime=0;b.memoizedState=ii;b.child=e;return c}b.memoizedState=null;return b.child=Xg(b,a,e.children,c)}\nfunction ki(a,b){a.expirationTime<b&&(a.expirationTime=b);var c=a.alternate;null!==c&&c.expirationTime<b&&(c.expirationTime=b);pg(a.return,b)}function li(a,b,c,d,e,f){var g=a.memoizedState;null===g?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailExpiration:0,tailMode:e,lastEffect:f}:(g.isBackwards=b,g.rendering=null,g.renderingStartTime=0,g.last=d,g.tail=c,g.tailExpiration=0,g.tailMode=e,g.lastEffect=f)}\nfunction mi(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;R(a,b,d.children,c);d=M.current;if(0!==(d&2))d=d&1|2,b.effectTag|=64;else{if(null!==a&&0!==(a.effectTag&64))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&ki(a,c);else if(19===a.tag)ki(a,c);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}I(M,d);if(0===(b.mode&2))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===hh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);li(b,!1,e,c,f,b.lastEffect);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===hh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}li(b,!0,c,null,f,b.lastEffect);break;case \"together\":li(b,!1,null,null,void 0,b.lastEffect);break;default:b.memoizedState=null}return b.child}\nfunction $h(a,b,c){null!==a&&(b.dependencies=a.dependencies);var d=b.expirationTime;0!==d&&Bg(d);if(b.childExpirationTime<c)return null;if(null!==a&&b.child!==a.child)throw Error(u(153));if(null!==b.child){a=b.child;c=Sg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Sg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}var ni,oi,pi,qi;\nni=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};oi=function(){};\npi=function(a,b,c,d,e){var f=a.memoizedProps;if(f!==d){var g=b.stateNode;ch($g.current);a=null;switch(c){case \"input\":f=zb(g,f);d=zb(g,d);a=[];break;case \"option\":f=Gb(g,f);d=Gb(g,d);a=[];break;case \"select\":f=n({},f,{value:void 0});d=n({},d,{value:void 0});a=[];break;case \"textarea\":f=Ib(g,f);d=Ib(g,d);a=[];break;default:\"function\"!==typeof f.onClick&&\"function\"===typeof d.onClick&&(g.onclick=sd)}od(c,d);var h,k;c=null;for(h in f)if(!d.hasOwnProperty(h)&&f.hasOwnProperty(h)&&null!=f[h])if(\"style\"===\nh)for(k in g=f[h],g)g.hasOwnProperty(k)&&(c||(c={}),c[k]=\"\");else\"dangerouslySetInnerHTML\"!==h&&\"children\"!==h&&\"suppressContentEditableWarning\"!==h&&\"suppressHydrationWarning\"!==h&&\"autoFocus\"!==h&&(va.hasOwnProperty(h)?a||(a=[]):(a=a||[]).push(h,null));for(h in d){var l=d[h];g=null!=f?f[h]:void 0;if(d.hasOwnProperty(h)&&l!==g&&(null!=l||null!=g))if(\"style\"===h)if(g){for(k in g)!g.hasOwnProperty(k)||l&&l.hasOwnProperty(k)||(c||(c={}),c[k]=\"\");for(k in l)l.hasOwnProperty(k)&&g[k]!==l[k]&&(c||(c={}),\nc[k]=l[k])}else c||(a||(a=[]),a.push(h,c)),c=l;else\"dangerouslySetInnerHTML\"===h?(l=l?l.__html:void 0,g=g?g.__html:void 0,null!=l&&g!==l&&(a=a||[]).push(h,l)):\"children\"===h?g===l||\"string\"!==typeof l&&\"number\"!==typeof l||(a=a||[]).push(h,\"\"+l):\"suppressContentEditableWarning\"!==h&&\"suppressHydrationWarning\"!==h&&(va.hasOwnProperty(h)?(null!=l&&rd(e,h),a||g===l||(a=[])):(a=a||[]).push(h,l))}c&&(a=a||[]).push(\"style\",c);e=a;if(b.updateQueue=e)b.effectTag|=4}};\nqi=function(a,b,c,d){c!==d&&(b.effectTag|=4)};function ri(a,b){switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction si(a,b,c){var d=b.pendingProps;switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return L(b.type)&&Df(),null;case 3:return eh(),H(K),H(J),c=b.stateNode,c.pendingContext&&(c.context=c.pendingContext,c.pendingContext=null),null!==a&&null!==a.child||!Wh(b)||(b.effectTag|=4),oi(b),null;case 5:gh(b);c=ch(bh.current);var e=b.type;if(null!==a&&null!=b.stateNode)pi(a,b,e,d,c),a.ref!==b.ref&&(b.effectTag|=128);else{if(!d){if(null===b.stateNode)throw Error(u(166));\nreturn null}a=ch($g.current);if(Wh(b)){d=b.stateNode;e=b.type;var f=b.memoizedProps;d[Md]=b;d[Nd]=f;switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",d);break;case \"video\":case \"audio\":for(a=0;a<ac.length;a++)F(ac[a],d);break;case \"source\":F(\"error\",d);break;case \"img\":case \"image\":case \"link\":F(\"error\",d);F(\"load\",d);break;case \"form\":F(\"reset\",d);F(\"submit\",d);break;case \"details\":F(\"toggle\",d);break;case \"input\":Ab(d,f);F(\"invalid\",d);rd(c,\"onChange\");break;case \"select\":d._wrapperState=\n{wasMultiple:!!f.multiple};F(\"invalid\",d);rd(c,\"onChange\");break;case \"textarea\":Jb(d,f),F(\"invalid\",d),rd(c,\"onChange\")}od(e,f);a=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(a=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(a=[\"children\",\"\"+h]):va.hasOwnProperty(g)&&null!=h&&rd(c,g)}switch(e){case \"input\":xb(d);Eb(d,f,!0);break;case \"textarea\":xb(d);Lb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&\n(d.onclick=sd)}c=a;b.updateQueue=c;null!==c&&(b.effectTag|=4)}else{g=9===c.nodeType?c:c.ownerDocument;a===qd&&(a=Nb(e));a===qd?\"script\"===e?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;h<ac.length;h++)F(ac[h],a);h=d;break;case \"source\":F(\"error\",a);h=d;break;case \"img\":case \"image\":case \"link\":F(\"error\",a);F(\"load\",a);h=d;break;case \"form\":F(\"reset\",a);F(\"submit\",a);h=d;break;case \"details\":F(\"toggle\",a);h=d;break;case \"input\":Ab(a,d);h=zb(a,d);F(\"invalid\",a);rd(c,\"onChange\");break;case \"option\":h=Gb(a,d);break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};h=n({},d,{value:void 0});F(\"invalid\",a);rd(c,\"onChange\");break;case \"textarea\":Jb(a,\nd);h=Ib(a,d);F(\"invalid\",a);rd(c,\"onChange\");break;default:h=d}od(e,h);var k=h;for(f in k)if(k.hasOwnProperty(f)){var l=k[f];\"style\"===f?md(a,l):\"dangerouslySetInnerHTML\"===f?(l=l?l.__html:void 0,null!=l&&Qb(a,l)):\"children\"===f?\"string\"===typeof l?(\"textarea\"!==e||\"\"!==l)&&Rb(a,l):\"number\"===typeof l&&Rb(a,\"\"+l):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(va.hasOwnProperty(f)?null!=l&&rd(c,f):null!=l&&Xa(a,f,l,g))}switch(e){case \"input\":xb(a);Eb(a,d,!1);\nbreak;case \"textarea\":xb(a);Lb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+rb(d.value));break;case \"select\":a.multiple=!!d.multiple;c=d.value;null!=c?Hb(a,!!d.multiple,c,!1):null!=d.defaultValue&&Hb(a,!!d.multiple,d.defaultValue,!0);break;default:\"function\"===typeof h.onClick&&(a.onclick=sd)}Fd(e,d)&&(b.effectTag|=4)}null!==b.ref&&(b.effectTag|=128)}return null;case 6:if(a&&null!=b.stateNode)qi(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(u(166));\nc=ch(bh.current);ch($g.current);Wh(b)?(c=b.stateNode,d=b.memoizedProps,c[Md]=b,c.nodeValue!==d&&(b.effectTag|=4)):(c=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),c[Md]=b,b.stateNode=c)}return null;case 13:H(M);d=b.memoizedState;if(0!==(b.effectTag&64))return b.expirationTime=c,b;c=null!==d;d=!1;null===a?void 0!==b.memoizedProps.fallback&&Wh(b):(e=a.memoizedState,d=null!==e,c||null===e||(e=a.child.sibling,null!==e&&(f=b.firstEffect,null!==f?(b.firstEffect=e,e.nextEffect=f):(b.firstEffect=b.lastEffect=\ne,e.nextEffect=null),e.effectTag=8)));if(c&&!d&&0!==(b.mode&2))if(null===a&&!0!==b.memoizedProps.unstable_avoidThisFallback||0!==(M.current&1))S===ti&&(S=ui);else{if(S===ti||S===ui)S=vi;0!==wi&&null!==T&&(xi(T,U),yi(T,wi))}if(c||d)b.effectTag|=4;return null;case 4:return eh(),oi(b),null;case 10:return og(b),null;case 17:return L(b.type)&&Df(),null;case 19:H(M);d=b.memoizedState;if(null===d)return null;e=0!==(b.effectTag&64);f=d.rendering;if(null===f)if(e)ri(d,!1);else{if(S!==ti||null!==a&&0!==(a.effectTag&\n64))for(f=b.child;null!==f;){a=hh(f);if(null!==a){b.effectTag|=64;ri(d,!1);e=a.updateQueue;null!==e&&(b.updateQueue=e,b.effectTag|=4);null===d.lastEffect&&(b.firstEffect=null);b.lastEffect=d.lastEffect;for(d=b.child;null!==d;)e=d,f=c,e.effectTag&=2,e.nextEffect=null,e.firstEffect=null,e.lastEffect=null,a=e.alternate,null===a?(e.childExpirationTime=0,e.expirationTime=f,e.child=null,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null):(e.childExpirationTime=a.childExpirationTime,\ne.expirationTime=a.expirationTime,e.child=a.child,e.memoizedProps=a.memoizedProps,e.memoizedState=a.memoizedState,e.updateQueue=a.updateQueue,f=a.dependencies,e.dependencies=null===f?null:{expirationTime:f.expirationTime,firstContext:f.firstContext,responders:f.responders}),d=d.sibling;I(M,M.current&1|2);return b.child}f=f.sibling}}else{if(!e)if(a=hh(f),null!==a){if(b.effectTag|=64,e=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.effectTag|=4),ri(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!f.alternate)return b=\nb.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*$f()-d.renderingStartTime>d.tailExpiration&&1<c&&(b.effectTag|=64,e=!0,ri(d,!1),b.expirationTime=b.childExpirationTime=c-1);d.isBackwards?(f.sibling=b.child,b.child=f):(c=d.last,null!==c?c.sibling=f:b.child=f,d.last=f)}return null!==d.tail?(0===d.tailExpiration&&(d.tailExpiration=$f()+500),c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=$f(),c.sibling=null,b=M.current,I(M,e?b&1|2:b&1),c):null}throw Error(u(156,\nb.tag));}function zi(a){switch(a.tag){case 1:L(a.type)&&Df();var b=a.effectTag;return b&4096?(a.effectTag=b&-4097|64,a):null;case 3:eh();H(K);H(J);b=a.effectTag;if(0!==(b&64))throw Error(u(285));a.effectTag=b&-4097|64;return a;case 5:return gh(a),null;case 13:return H(M),b=a.effectTag,b&4096?(a.effectTag=b&-4097|64,a):null;case 19:return H(M),null;case 4:return eh(),null;case 10:return og(a),null;default:return null}}function Ai(a,b){return{value:a,source:b,stack:qb(b)}}\nvar Bi=\"function\"===typeof WeakSet?WeakSet:Set;function Ci(a,b){var c=b.source,d=b.stack;null===d&&null!==c&&(d=qb(c));null!==c&&pb(c.type);b=b.value;null!==a&&1===a.tag&&pb(a.type);try{console.error(b)}catch(e){setTimeout(function(){throw e;})}}function Di(a,b){try{b.props=a.memoizedProps,b.state=a.memoizedState,b.componentWillUnmount()}catch(c){Ei(a,c)}}function Fi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Ei(a,c)}else b.current=null}\nfunction Gi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.effectTag&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:ig(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:case 5:case 6:case 4:case 17:return}throw Error(u(163));}\nfunction Hi(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.destroy;c.destroy=void 0;void 0!==d&&d()}c=c.next}while(c!==b)}}function Ii(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}\nfunction Ji(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:Ii(3,c);return;case 1:a=c.stateNode;if(c.effectTag&4)if(null===b)a.componentDidMount();else{var d=c.elementType===c.type?b.memoizedProps:ig(c.type,b.memoizedProps);a.componentDidUpdate(d,b.memoizedState,a.__reactInternalSnapshotBeforeUpdate)}b=c.updateQueue;null!==b&&Cg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Cg(c,b,a)}return;\ncase 5:a=c.stateNode;null===b&&c.effectTag&4&&Fd(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Vc(c))));return;case 19:case 17:case 20:case 21:return}throw Error(u(163));}\nfunction Ki(a,b,c){\"function\"===typeof Li&&Li(b);switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var d=a.next;cg(97<c?97:c,function(){var a=d;do{var c=a.destroy;if(void 0!==c){var g=b;try{c()}catch(h){Ei(g,h)}}a=a.next}while(a!==d)})}break;case 1:Fi(b);c=b.stateNode;\"function\"===typeof c.componentWillUnmount&&Di(b,c);break;case 5:Fi(b);break;case 4:Mi(a,b,c)}}\nfunction Ni(a){var b=a.alternate;a.return=null;a.child=null;a.memoizedState=null;a.updateQueue=null;a.dependencies=null;a.alternate=null;a.firstEffect=null;a.lastEffect=null;a.pendingProps=null;a.memoizedProps=null;a.stateNode=null;null!==b&&Ni(b)}function Oi(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Pi(a){a:{for(var b=a.return;null!==b;){if(Oi(b)){var c=b;break a}b=b.return}throw Error(u(160));}b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(u(161));}c.effectTag&16&&(Rb(b,\"\"),c.effectTag&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||Oi(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.effectTag&2)continue b;\nif(null===c.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.effectTag&2)){c=c.stateNode;break a}}d?Qi(a,c,b):Ri(a,c,b)}\nfunction Qi(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=sd));else if(4!==d&&(a=a.child,null!==a))for(Qi(a,b,c),a=a.sibling;null!==a;)Qi(a,b,c),a=a.sibling}\nfunction Ri(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Ri(a,b,c),a=a.sibling;null!==a;)Ri(a,b,c),a=a.sibling}\nfunction Mi(a,b,c){for(var d=b,e=!1,f,g;;){if(!e){e=d.return;a:for(;;){if(null===e)throw Error(u(160));f=e.stateNode;switch(e.tag){case 5:g=!1;break a;case 3:f=f.containerInfo;g=!0;break a;case 4:f=f.containerInfo;g=!0;break a}e=e.return}e=!0}if(5===d.tag||6===d.tag){a:for(var h=a,k=d,l=c,m=k;;)if(Ki(h,m,l),null!==m.child&&4!==m.tag)m.child.return=m,m=m.child;else{if(m===k)break a;for(;null===m.sibling;){if(null===m.return||m.return===k)break a;m=m.return}m.sibling.return=m.return;m=m.sibling}g?(h=\nf,k=d.stateNode,8===h.nodeType?h.parentNode.removeChild(k):h.removeChild(k)):f.removeChild(d.stateNode)}else if(4===d.tag){if(null!==d.child){f=d.stateNode.containerInfo;g=!0;d.child.return=d;d=d.child;continue}}else if(Ki(a,d,c),null!==d.child){d.child.return=d;d=d.child;continue}if(d===b)break;for(;null===d.sibling;){if(null===d.return||d.return===b)return;d=d.return;4===d.tag&&(e=!1)}d.sibling.return=d.return;d=d.sibling}}\nfunction Si(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:Hi(3,b);return;case 1:return;case 5:var c=b.stateNode;if(null!=c){var d=b.memoizedProps,e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[Nd]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&Bb(c,d);pd(a,e);b=pd(a,d);for(e=0;e<f.length;e+=2){var g=f[e],h=f[e+1];\"style\"===g?md(c,h):\"dangerouslySetInnerHTML\"===g?Qb(c,h):\"children\"===g?Rb(c,h):Xa(c,g,h,b)}switch(a){case \"input\":Cb(c,d);break;\ncase \"textarea\":Kb(c,d);break;case \"select\":b=c._wrapperState.wasMultiple,c._wrapperState.wasMultiple=!!d.multiple,a=d.value,null!=a?Hb(c,!!d.multiple,a,!1):b!==!!d.multiple&&(null!=d.defaultValue?Hb(c,!!d.multiple,d.defaultValue,!0):Hb(c,!!d.multiple,d.multiple?[]:\"\",!1))}}}return;case 6:if(null===b.stateNode)throw Error(u(162));b.stateNode.nodeValue=b.memoizedProps;return;case 3:b=b.stateNode;b.hydrate&&(b.hydrate=!1,Vc(b.containerInfo));return;case 12:return;case 13:c=b;null===b.memoizedState?\nd=!1:(d=!0,c=b.child,Ti=$f());if(null!==c)a:for(a=c;;){if(5===a.tag)f=a.stateNode,d?(f=f.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(f=a.stateNode,e=a.memoizedProps.style,e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null,f.style.display=ld(\"display\",e));else if(6===a.tag)a.stateNode.nodeValue=d?\"\":a.memoizedProps;else if(13===a.tag&&null!==a.memoizedState&&null===a.memoizedState.dehydrated){f=a.child.sibling;f.return=a;a=\nf;continue}else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===c)break;for(;null===a.sibling;){if(null===a.return||a.return===c)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}Ui(b);return;case 19:Ui(b);return;case 17:return}throw Error(u(163));}function Ui(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Bi);b.forEach(function(b){var d=Vi.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nvar Wi=\"function\"===typeof WeakMap?WeakMap:Map;function Xi(a,b,c){c=wg(c,null);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Yi||(Yi=!0,Zi=d);Ci(a,b)};return c}\nfunction $i(a,b,c){c=wg(c,null);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ci(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===aj?aj=new Set([this]):aj.add(this),Ci(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nvar bj=Math.ceil,cj=Wa.ReactCurrentDispatcher,dj=Wa.ReactCurrentOwner,V=0,ej=8,fj=16,gj=32,ti=0,hj=1,ij=2,ui=3,vi=4,jj=5,W=V,T=null,X=null,U=0,S=ti,kj=null,lj=1073741823,mj=1073741823,nj=null,wi=0,oj=!1,Ti=0,pj=500,Y=null,Yi=!1,Zi=null,aj=null,qj=!1,rj=null,sj=90,tj=null,uj=0,vj=null,wj=0;function Gg(){return(W&(fj|gj))!==V?1073741821-($f()/10|0):0!==wj?wj:wj=1073741821-($f()/10|0)}\nfunction Hg(a,b,c){b=b.mode;if(0===(b&2))return 1073741823;var d=ag();if(0===(b&4))return 99===d?1073741823:1073741822;if((W&fj)!==V)return U;if(null!==c)a=hg(a,c.timeoutMs|0||5E3,250);else switch(d){case 99:a=1073741823;break;case 98:a=hg(a,150,100);break;case 97:case 96:a=hg(a,5E3,250);break;case 95:a=2;break;default:throw Error(u(326));}null!==T&&a===U&&--a;return a}\nfunction Ig(a,b){if(50<uj)throw uj=0,vj=null,Error(u(185));a=xj(a,b);if(null!==a){var c=ag();1073741823===b?(W&ej)!==V&&(W&(fj|gj))===V?yj(a):(Z(a),W===V&&gg()):Z(a);(W&4)===V||98!==c&&99!==c||(null===tj?tj=new Map([[a,b]]):(c=tj.get(a),(void 0===c||c>b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTime<b&&(a.expirationTime=b);var c=a.alternate;null!==c&&c.expirationTime<b&&(c.expirationTime=b);var d=a.return,e=null;if(null===d&&3===a.tag)e=a.stateNode;else for(;null!==d;){c=d.alternate;d.childExpirationTime<b&&(d.childExpirationTime=b);null!==c&&c.childExpirationTime<b&&(c.childExpirationTime=b);if(null===d.return&&3===d.tag){e=d.stateNode;break}d=d.return}null!==e&&(T===e&&(Bg(b),S===vi&&xi(e,U)),yi(e,b));return e}\nfunction zj(a){var b=a.lastExpiredTime;if(0!==b)return b;b=a.firstPendingTime;if(!Aj(a,b))return b;var c=a.lastPingedTime;a=a.nextKnownPendingLevel;a=c>a?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2<c?2:c);break;case ui:xi(a,c);d=a.lastSuspendedTime;\nc===d&&(a.nextKnownPendingLevel=Ij(e));if(1073741823===lj&&(e=Ti+pj-$f(),10<e)){if(oj){var f=a.lastPingedTime;if(0===f||f>=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c<d&&(d=c));if(10<d){a.timeoutHandle=Hd(Jj.bind(null,a),d);break}Jj(a);break;case jj:if(1073741823!==lj&&null!==nj){f=lj;var g=nj;d=g.busyMinDurationMs|0;0>=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10<d){xi(a,c);a.timeoutHandle=\nHd(Jj.bind(null,a),d);break}}Jj(a);break;default:throw Error(u(329));}Z(a);if(a.callbackNode===b)return Bj.bind(null,a)}}return null}\nfunction yj(a){var b=a.lastExpiredTime;b=0!==b?b:1073741823;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&b===U||Ej(a,b);if(null!==X){var c=W;W|=fj;var d=Fj();do try{Kj();break}catch(e){Hj(a,e)}while(1);ng();W=c;cj.current=d;if(S===hj)throw c=kj,Ej(a,b),xi(a,b),Z(a),c;if(null!==X)throw Error(u(261));a.finishedWork=a.current.alternate;a.finishedExpirationTime=b;T=null;Jj(a);Z(a)}return null}function Lj(){if(null!==tj){var a=tj;tj=null;a.forEach(function(a,c){Cj(c,a);Z(c)});gg()}}\nfunction Mj(a,b){var c=W;W|=1;try{return a(b)}finally{W=c,W===V&&gg()}}function Nj(a,b){var c=W;W&=-2;W|=ej;try{return a(b)}finally{W=c,W===V&&gg()}}\nfunction Ej(a,b){a.finishedWork=null;a.finishedExpirationTime=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Id(c));if(null!==X)for(c=X.return;null!==c;){var d=c;switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&Df();break;case 3:eh();H(K);H(J);break;case 5:gh(d);break;case 4:eh();break;case 13:H(M);break;case 19:H(M);break;case 10:og(d)}c=c.return}T=a;X=Sg(a.current,null);U=b;S=ti;kj=null;mj=lj=1073741823;nj=null;wi=0;oj=!1}\nfunction Hj(a,b){do{try{ng();jh.current=sh;if(mh)for(var c=N.memoizedState;null!==c;){var d=c.queue;null!==d&&(d.pending=null);c=c.next}lh=0;P=O=N=null;mh=!1;if(null===X||null===X.return)return S=hj,kj=b,X=null;a:{var e=a,f=X.return,g=X,h=b;b=U;g.effectTag|=2048;g.firstEffect=g.lastEffect=null;if(null!==h&&\"object\"===typeof h&&\"function\"===typeof h.then){var k=h;if(0===(g.mode&2)){var l=g.alternate;l?(g.updateQueue=l.updateQueue,g.memoizedState=l.memoizedState,g.expirationTime=l.expirationTime):(g.updateQueue=\nnull,g.memoizedState=null)}var m=0!==(M.current&1),p=f;do{var x;if(x=13===p.tag){var z=p.memoizedState;if(null!==z)x=null!==z.dehydrated?!0:!1;else{var ca=p.memoizedProps;x=void 0===ca.fallback?!1:!0!==ca.unstable_avoidThisFallback?!0:m?!1:!0}}if(x){var D=p.updateQueue;if(null===D){var t=new Set;t.add(k);p.updateQueue=t}else D.add(k);if(0===(p.mode&2)){p.effectTag|=64;g.effectTag&=-2981;if(1===g.tag)if(null===g.alternate)g.tag=17;else{var y=wg(1073741823,null);y.tag=2;xg(g,y)}g.expirationTime=1073741823;\nbreak a}h=void 0;g=b;var A=e.pingCache;null===A?(A=e.pingCache=new Wi,h=new Set,A.set(k,h)):(h=A.get(k),void 0===h&&(h=new Set,A.set(k,h)));if(!h.has(g)){h.add(g);var q=Oj.bind(null,e,k,g);k.then(q,q)}p.effectTag|=4096;p.expirationTime=b;break a}p=p.return}while(null!==p);h=Error((pb(g.type)||\"A React component\")+\" suspended while rendering, but no fallback UI was specified.\\n\\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){a<lj&&2<a&&(lj=a);null!==b&&a<mj&&2<a&&(mj=a,nj=b)}function Bg(a){a>wi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1<X.effectTag&&(null!==\na.lastEffect?a.lastEffect.nextEffect=X:a.firstEffect=X,a.lastEffect=X))}else{b=zi(X);if(null!==b)return b.effectTag&=2047,b;null!==a&&(a.firstEffect=a.lastEffect=null,a.effectTag|=2048)}b=X.sibling;if(null!==b)return b;X=a}while(null!==X);S===ti&&(S=jj);return null}function Ij(a){var b=a.expirationTime;a=a.childExpirationTime;return b>a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1<c.effectTag?null!==c.lastEffect?(c.lastEffect.nextEffect=c,e=c.firstEffect):e=c:e=c.firstEffect;if(null!==e){var f=W;W|=gj;dj.current=null;Dd=fd;var g=xd();if(yd(g)){if(\"selectionStart\"in g)var h={start:g.selectionStart,end:g.selectionEnd};else a:{h=(h=g.ownerDocument)&&h.defaultView||window;var k=h.getSelection&&h.getSelection();if(k&&0!==k.rangeCount){h=k.anchorNode;var l=k.anchorOffset,\nm=k.focusNode;k=k.focusOffset;try{h.nodeType,m.nodeType}catch(wb){h=null;break a}var p=0,x=-1,z=-1,ca=0,D=0,t=g,y=null;b:for(;;){for(var A;;){t!==h||0!==l&&3!==t.nodeType||(x=p+l);t!==m||0!==k&&3!==t.nodeType||(z=p+k);3===t.nodeType&&(p+=t.nodeValue.length);if(null===(A=t.firstChild))break;y=t;t=A}for(;;){if(t===g)break b;y===h&&++ca===l&&(x=p);y===m&&++D===k&&(z=p);if(null!==(A=t.nextSibling))break;t=y;y=t.parentNode}t=A}h=-1===x||-1===z?null:{start:x,end:z}}else h=null}h=h||{start:0,end:0}}else h=\nnull;Ed={activeElementDetached:null,focusedElem:g,selectionRange:h};fd=!1;Y=e;do try{Tj()}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);Y=e;do try{for(g=a,h=b;null!==Y;){var q=Y.effectTag;q&16&&Rb(Y.stateNode,\"\");if(q&128){var B=Y.alternate;if(null!==B){var w=B.ref;null!==w&&(\"function\"===typeof w?w(null):w.current=null)}}switch(q&1038){case 2:Pi(Y);Y.effectTag&=-3;break;case 6:Pi(Y);Y.effectTag&=-3;Si(Y.alternate,Y);break;case 1024:Y.effectTag&=-1025;break;case 1028:Y.effectTag&=\n-1025;Si(Y.alternate,Y);break;case 4:Si(Y.alternate,Y);break;case 8:l=Y,Mi(g,l,h),Ni(l)}Y=Y.nextEffect}}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);w=Ed;B=xd();q=w.focusedElem;h=w.selectionRange;if(B!==q&&q&&q.ownerDocument&&wd(q.ownerDocument.documentElement,q)){null!==h&&yd(q)&&(B=h.start,w=h.end,void 0===w&&(w=B),\"selectionStart\"in q?(q.selectionStart=B,q.selectionEnd=Math.min(w,q.value.length)):(w=(B=q.ownerDocument||document)&&B.defaultView||window,w.getSelection&&\n(w=w.getSelection(),l=q.textContent.length,g=Math.min(h.start,l),h=void 0===h.end?g:Math.min(h.end,l),!w.extend&&g>h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q<B.length;q++)w=B[q],w.element.scrollLeft=w.left,w.element.scrollTop=w.top}fd=!!Dd;Ed=Dd=null;a.current=c;Y=e;do try{for(q=a;null!==Y;){var ub=Y.effectTag;ub&36&&Ji(q,Y.alternate,Y);if(ub&128){B=void 0;var vb=Y.ref;if(null!==vb){var Xc=Y.stateNode;switch(Y.tag){case 5:B=Xc;break;default:B=Xc}\"function\"===typeof vb?vb(B):vb.current=B}}Y=Y.nextEffect}}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);Y=\nnull;Vf();W=f}else a.current=c;if(qj)qj=!1,rj=a,sj=b;else for(Y=e;null!==Y;)b=Y.nextEffect,Y.nextEffect=null,Y=b;b=a.firstPendingTime;0===b&&(aj=null);1073741823===b?a===vj?uj++:(uj=0,vj=a):uj=0;\"function\"===typeof Uj&&Uj(c.stateNode,d);Z(a);if(Yi)throw Yi=!1,a=Zi,Zi=null,a;if((W&ej)!==V)return null;gg();return null}function Tj(){for(;null!==Y;){var a=Y.effectTag;0!==(a&256)&&Gi(Y.alternate,Y);0===(a&512)||qj||(qj=!0,dg(97,function(){Dj();return null}));Y=Y.nextEffect}}\nfunction Dj(){if(90!==sj){var a=97<sj?97:sj;sj=90;return cg(a,Vj)}}function Vj(){if(null===rj)return!1;var a=rj;rj=null;if((W&(fj|gj))!==V)throw Error(u(331));var b=W;W|=gj;for(a=a.current.firstEffect;null!==a;){try{var c=a;if(0!==(c.effectTag&512))switch(c.tag){case 0:case 11:case 15:case 22:Hi(5,c),Ii(5,c)}}catch(d){if(null===a)throw Error(u(330));Ei(a,d)}c=a.nextEffect;a.nextEffect=null;a=c}W=b;gg();return!0}\nfunction Wj(a,b,c){b=Ai(c,b);b=Xi(a,b,1073741823);xg(a,b);a=xj(a,1073741823);null!==a&&Z(a)}function Ei(a,b){if(3===a.tag)Wj(a,a,b);else for(var c=a.return;null!==c;){if(3===c.tag){Wj(c,a,b);break}else if(1===c.tag){var d=c.stateNode;if(\"function\"===typeof c.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===aj||!aj.has(d))){a=Ai(b,a);a=$i(c,a,1073741823);xg(c,a);c=xj(c,1073741823);null!==c&&Z(c);break}}c=c.return}}\nfunction Oj(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);T===a&&U===c?S===vi||S===ui&&1073741823===lj&&$f()-Ti<pj?Ej(a,U):oj=!0:Aj(a,c)&&(b=a.lastPingedTime,0!==b&&b<c||(a.lastPingedTime=c,Z(a)))}function Vi(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=Gg(),b=Hg(b,a,null));a=xj(a,b);null!==a&&Z(a)}var Rj;\nRj=function(a,b,c){var d=b.expirationTime;if(null!==a){var e=b.pendingProps;if(a.memoizedProps!==e||K.current)rg=!0;else{if(d<c){rg=!1;switch(b.tag){case 3:hi(b);Xh();break;case 5:fh(b);if(b.mode&4&&1!==c&&e.hidden)return b.expirationTime=b.childExpirationTime=1,null;break;case 1:L(b.type)&&Gf(b);break;case 4:dh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;e=b.type._context;I(jg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){d=b.child.childExpirationTime;\nif(0!==d&&d>=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime<c&&(h.expirationTime=c);l=h.alternate;null!==l&&l.expirationTime<c&&(l.expirationTime=c);pg(h.return,c);k.expirationTime<c&&(k.expirationTime=c);break}l=l.next}}else g=10===h.tag?h.type===b.type?null:h.child:h.child;if(null!==g)g.return=h;else for(g=h;null!==g;){if(g===b){g=null;break}h=g.sibling;if(null!==h){h.return=g.return;g=h;break}g=g.return}h=\ng}R(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,f=b.pendingProps,d=f.children,qg(b,c),e=sg(e,f.unstable_observedBits),d=d(e),b.effectTag|=1,R(a,b,d,c),b.child;case 14:return e=b.type,f=ig(e,b.pendingProps),f=ig(e.type,f),ai(a,b,e,f,d,c);case 15:return ci(a,b,b.type,b.pendingProps,d,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),b.tag=1,L(d)?(a=!0,Gf(b)):a=!1,qg(b,c),Lg(b,d,e),Ng(b,d,e,c),gi(null,\nb,d,!0,a,c);case 19:return mi(a,b,c)}throw Error(u(156,b.tag));};var Uj=null,Li=null;function Yj(a){if(\"undefined\"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)return!0;try{var c=b.inject(a);Uj=function(a){try{b.onCommitFiberRoot(c,a,void 0,64===(a.current.effectTag&64))}catch(e){}};Li=function(a){try{b.onCommitFiberUnmount(c,a)}catch(e){}}}catch(d){}return!0}\nfunction Zj(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.effectTag=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childExpirationTime=this.expirationTime=0;this.alternate=null}function Sh(a,b,c,d){return new Zj(a,b,c,d)}\nfunction bi(a){a=a.prototype;return!(!a||!a.isReactComponent)}function Xj(a){if(\"function\"===typeof a)return bi(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===gb)return 11;if(a===jb)return 14}return 2}\nfunction Sg(a,b){var c=a.alternate;null===c?(c=Sh(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.effectTag=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childExpirationTime=a.childExpirationTime;c.expirationTime=a.expirationTime;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{expirationTime:b.expirationTime,\nfirstContext:b.firstContext,responders:b.responders};c.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Ug(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bi(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ab:return Wg(c.children,e,f,b);case fb:g=8;e|=7;break;case bb:g=8;e|=1;break;case cb:return a=Sh(12,c,b,e|8),a.elementType=cb,a.type=cb,a.expirationTime=f,a;case hb:return a=Sh(13,c,b,e),a.type=hb,a.elementType=hb,a.expirationTime=f,a;case ib:return a=Sh(19,c,b,e),a.elementType=ib,a.expirationTime=f,a;default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case db:g=\n10;break a;case eb:g=9;break a;case gb:g=11;break a;case jb:g=14;break a;case kb:g=16;d=null;break a;case lb:g=22;break a}throw Error(u(130,null==a?a:typeof a,\"\"));}b=Sh(g,c,b,e);b.elementType=a;b.type=d;b.expirationTime=f;return b}function Wg(a,b,c,d){a=Sh(7,a,d,b);a.expirationTime=c;return a}function Tg(a,b,c){a=Sh(6,a,null,b);a.expirationTime=c;return a}\nfunction Vg(a,b,c){b=Sh(4,null!==a.children?a.children:[],a.key,b);b.expirationTime=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction ak(a,b,c){this.tag=b;this.current=null;this.containerInfo=a;this.pingCache=this.pendingChildren=null;this.finishedExpirationTime=0;this.finishedWork=null;this.timeoutHandle=-1;this.pendingContext=this.context=null;this.hydrate=c;this.callbackNode=null;this.callbackPriority=90;this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}\nfunction Aj(a,b){var c=a.firstSuspendedTime;a=a.lastSuspendedTime;return 0!==c&&c>=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;c<b&&(a.firstSuspendedTime=b);if(d>b||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime<b&&(a.retryTime=b)}function ek(a,b){dk(a,b);(a=a.alternate)&&dk(a,b)}\nfunction fk(a,b,c){c=null!=c&&!0===c.hydrate;var d=new ak(a,b,c),e=Sh(3,null,null,2===b?7:1===b?3:0);d.current=e;e.stateNode=d;ug(e);a[Od]=d.current;c&&0!==b&&Jc(a,9===a.nodeType?a:a.ownerDocument);this._internalRoot=d}fk.prototype.render=function(a){bk(a,this._internalRoot,null,null)};fk.prototype.unmount=function(){var a=this._internalRoot,b=a.containerInfo;bk(null,a,null,function(){b[Od]=null})};\nfunction gk(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function hk(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute(\"data-reactroot\")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new fk(a,0,b?{hydrate:!0}:void 0)}\nfunction ik(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f._internalRoot;if(\"function\"===typeof e){var h=e;e=function(){var a=ck(g);h.call(a)}}bk(b,g,a,e)}else{f=c._reactRootContainer=hk(c,d);g=f._internalRoot;if(\"function\"===typeof e){var k=e;e=function(){var a=ck(g);k.call(a)}}Nj(function(){bk(b,g,a,e)})}return ck(g)}function jk(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:$a,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nwc=function(a){if(13===a.tag){var b=hg(Gg(),150,100);Ig(a,b);ek(a,b)}};xc=function(a){13===a.tag&&(Ig(a,3),ek(a,3))};yc=function(a){if(13===a.tag){var b=Gg();b=Hg(b,a,null);Ig(a,b);ek(a,b)}};\nza=function(a,b,c){switch(b){case \"input\":Cb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Qd(d);if(!e)throw Error(u(90));yb(d);Cb(d,e)}}}break;case \"textarea\":Kb(a,c);break;case \"select\":b=c.value,null!=b&&Hb(a,!!c.multiple,b,!1)}};Fa=Mj;\nGa=function(a,b,c,d,e){var f=W;W|=4;try{return cg(98,a.bind(null,b,c,d,e))}finally{W=f,W===V&&gg()}};Ha=function(){(W&(1|fj|gj))===V&&(Lj(),Dj())};Ia=function(a,b){var c=W;W|=2;try{return a(b)}finally{W=c,W===V&&gg()}};function kk(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!gk(b))throw Error(u(200));return jk(a,b,null,c)}var lk={Events:[Nc,Pd,Qd,xa,ta,Xd,function(a){jc(a,Wd)},Da,Ea,id,mc,Dj,{current:!1}]};\n(function(a){var b=a.findFiberByHostInstance;return Yj(n({},a,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Wa.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=hc(a);return null===a?null:a.stateNode},findFiberByHostInstance:function(a){return b?b(a):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}))})({findFiberByHostInstance:tc,bundleType:0,version:\"16.14.0\",\nrendererPackageName:\"react-dom\"});exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=lk;exports.createPortal=kk;exports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternalFiber;if(void 0===b){if(\"function\"===typeof a.render)throw Error(u(188));throw Error(u(268,Object.keys(a)));}a=hc(b);a=null===a?null:a.stateNode;return a};\nexports.flushSync=function(a,b){if((W&(fj|gj))!==V)throw Error(u(187));var c=W;W|=1;try{return cg(99,a.bind(null,b))}finally{W=c,gg()}};exports.hydrate=function(a,b,c){if(!gk(b))throw Error(u(200));return ik(null,a,b,!0,c)};exports.render=function(a,b,c){if(!gk(b))throw Error(u(200));return ik(null,a,b,!1,c)};\nexports.unmountComponentAtNode=function(a){if(!gk(a))throw Error(u(40));return a._reactRootContainer?(Nj(function(){ik(null,null,a,!1,function(){a._reactRootContainer=null;a[Od]=null})}),!0):!1};exports.unstable_batchedUpdates=Mj;exports.unstable_createPortal=function(a,b){return kk(a,b,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)};\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!gk(c))throw Error(u(200));if(null==a||void 0===a._reactInternalFiber)throw Error(u(38));return ik(a,b,c,!1,d)};exports.version=\"16.14.0\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","var e=Object.defineProperty,t=Object.defineProperties,i=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,n=(t,i,s)=>i in t?e(t,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[i]=s,a=(e,t)=>{for(var i in t||(t={}))r.call(t,i)&&n(e,i,t[i]);if(s)for(var i of s(t))o.call(t,i)&&n(e,i,t[i]);return e};import l,{Component as c}from\"react\";import u from\"react-dom\";import p from\"video.js\";const h=\"0.1.0-alpha.5\",d={src:\"\",currentTime:0,hostTime:0,muted:!1,paused:!0,volume:1},m={currentTimeMaxError:1,syncInterval:1e3,retryInterval:15e3,verbose:!1,log:console.log.bind(console)};let g=m;function v(e){g=a(a({},m),e)}function A(e,t){if(e.paused)return e.currentTime;const i=function(e){if(e.player)return e.player.beginTimestamp+e.player.progressTime;if(e.room)return e.room.calibrationTimestamp}(t);return i?e.currentTime+(i-e.hostTime)/1e3:e.currentTime}const f=navigator.userAgent.includes(\"Safari\"),y=[\".aac\",\".mid\",\".midi\",\".mp3\",\".ogg\",\".oga\",\".wav\",\".weba\"];var b=\"object\"==typeof global&&global&&global.Object===Object&&global,I=\"object\"==typeof self&&self&&self.Object===Object&&self,C=b||I||Function(\"return this\")(),E=C.Symbol,k=Object.prototype,T=k.hasOwnProperty,S=k.toString,P=E?E.toStringTag:void 0;var j=Object.prototype.toString;var B=E?E.toStringTag:void 0;function x(e){return null==e?void 0===e?\"[object Undefined]\":\"[object Null]\":B&&B in Object(e)?function(e){var t=T.call(e,P),i=e[P];try{e[P]=void 0;var s=!0}catch(o){}var r=S.call(e);return s&&(t?e[P]=i:delete e[P]),r}(e):function(e){return j.call(e)}(e)}var w=/\\s/;var H=/^\\s+/;function Q(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&w.test(e.charAt(t)););return t}(e)+1).replace(H,\"\"):e}function M(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}var L=/^[-+]0x[0-9a-f]+$/i,N=/^0b[01]+$/i,W=/^0o[0-7]+$/i,V=parseInt;function O(e){if(\"number\"==typeof e)return e;if(function(e){return\"symbol\"==typeof e||function(e){return null!=e&&\"object\"==typeof e}(e)&&\"[object Symbol]\"==x(e)}(e))return NaN;if(M(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=M(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=Q(e);var i=N.test(e);return i||W.test(e)?V(e.slice(2),i?2:8):L.test(e)?NaN:+e}var z=function(){return C.Date.now()},Z=Math.max,D=Math.min;function R(e,t,i){var s,r,o,n,a,l,c=0,u=!1,p=!1,h=!0;if(\"function\"!=typeof e)throw new TypeError(\"Expected a function\");function d(t){var i=s,o=r;return s=r=void 0,c=t,n=e.apply(o,i)}function m(e){return c=e,a=setTimeout(v,t),u?d(e):n}function g(e){var i=e-l;return void 0===l||i>=t||i<0||p&&e-c>=o}function v(){var e=z();if(g(e))return A(e);a=setTimeout(v,function(e){var i=t-(e-l);return p?D(i,o-(e-c)):i}(e))}function A(e){return a=void 0,h&&s?d(e):(s=r=void 0,n)}function f(){var e=z(),i=g(e);if(s=arguments,r=this,l=e,i){if(void 0===a)return m(l);if(p)return clearTimeout(a),a=setTimeout(v,t),d(l)}return void 0===a&&(a=setTimeout(v,t)),n}return t=O(t)||0,M(i)&&(u=!!i.leading,o=(p=\"maxWait\"in i)?Z(O(i.maxWait)||0,t):o,h=\"trailing\"in i?!!i.trailing:h),f.cancel=function(){void 0!==a&&clearTimeout(a),c=0,s=l=r=a=void 0},f.flush=function(){return void 0===a?n:A(z())},f}class U extends c{constructor(e){super(e),this.seeking=!1,this.mobileSeeking=!1,this.track=null,this.hoverTime=null,this.offset=0,this.secondsPrefix=\"00:00:\",this.minutesPrefix=\"00:\",this.seekPause=!1,this.handleTouchSeeking=e=>{let t=0;for(let i=0;i<e.changedTouches.length;i++)t=e.changedTouches[i].pageX;t=t<0?0:t,this.mobileSeeking&&this.changeCurrentTimePosition(t)},this.handleSeeking=e=>{this.seeking&&this.changeCurrentTimePosition(e.pageX)},this.setTrackWidthState=()=>{this.track&&this.setState({trackWidth:this.track.offsetWidth})},this.handleTrackHover=(e,t)=>{if(this.track){const i=this.props.scale||1;let s;s=e?0:(t.pageX-this.track.getBoundingClientRect().left)/i,this.setState({seekHoverPosition:s,trackWidth:this.track.offsetWidth})}},this.mouseSeekingHandler=e=>{this.setSeeking(!1,e),this.onMouseUp()},this.setSeeking=(e,t)=>{t.preventDefault(),this.handleSeeking(t),this.seeking=e,this.setState({seekHoverPosition:e?this.state.seekHoverPosition:0})},this.mobileTouchSeekingHandler=()=>{this.setMobileSeeking(!1)},this.setMobileSeeking=e=>{this.mobileSeeking=e,this.setState({seekHoverPosition:e?this.state.seekHoverPosition:0})},this.renderBufferProgress=()=>{if(this.props.buffered){const e=a(a({},this.getPositionStyle(this.props.buffered)),this.props.bufferColor&&{backgroundColor:this.props.bufferColor});return l.createElement(\"div\",{className:\"buffered\",style:e})}return null},this.renderProgress=()=>{const e=a(a({},this.getPositionStyle(this.props.current)),this.props.sliderColor&&{backgroundColor:this.props.sliderColor});return l.createElement(\"div\",{className:\"connect\",style:e})},this.renderHoverProgress=()=>{const e=a(a({},this.getSeekHoverPosition()),this.props.sliderHoverColor&&{backgroundColor:this.props.sliderHoverColor});return l.createElement(\"div\",{className:\"seek-hover\",style:e})},this.renderThumb=()=>l.createElement(\"div\",{className:this.isThumbActive()?\"thumb active\":\"thumb\",style:this.getThumbHandlerPosition()},l.createElement(\"div\",{style:{backgroundColor:this.props.thumbColor},className:\"handler\"})),this.onMouseDown=e=>{var t,i;this.props.pause&&!this.props.paused&&(this.props.pause(),this.seekPause=!0),this.setSeeking(!0,e),null==(i=(t=this.props).onSeekStart)||i.call(t)},this.onMouseUp=()=>{var e,t;this.props.play&&this.seekPause&&(this.props.play(),this.seekPause=!1),null==(t=(e=this.props).onSeekEnd)||t.call(e)},this.props.secondsPrefix&&(this.secondsPrefix=this.props.secondsPrefix),this.props.minutesPrefix&&(this.minutesPrefix=this.props.minutesPrefix),this.state={ready:!1,trackWidth:0,seekHoverPosition:0}}componentDidMount(){this.setTrackWidthState(),window.addEventListener(\"resize\",this.setTrackWidthState),window.addEventListener(\"mousemove\",this.handleSeeking),window.addEventListener(\"mouseup\",this.mouseSeekingHandler),window.addEventListener(\"touchmove\",this.handleTouchSeeking),window.addEventListener(\"touchend\",this.mobileTouchSeekingHandler)}componentWillUnmount(){window.removeEventListener(\"resize\",this.setTrackWidthState),window.removeEventListener(\"mousemove\",this.handleSeeking),window.removeEventListener(\"mouseup\",this.mouseSeekingHandler),window.removeEventListener(\"touchmove\",this.handleTouchSeeking),window.removeEventListener(\"touchend\",this.mobileTouchSeekingHandler)}changeCurrentTimePosition(e){if(this.track){const t=this.props.scale||1;let i=(e-this.track.getBoundingClientRect().left)/t;i=Math.min(this.state.trackWidth,Math.max(0,i)),this.setState({seekHoverPosition:i});const s=+(i/this.state.trackWidth*this.props.total).toFixed(0);this.props.onChange(s)}}getPositionStyle(e){return{transform:`scaleX(${100*e/this.props.total/100})`}}getThumbHandlerPosition(){return{transform:`translateX(${this.state.trackWidth/(this.props.total/this.props.current)}px)`}}getSeekHoverPosition(){return{transform:`scaleX(${100*this.state.seekHoverPosition/this.state.trackWidth/100})`}}getHoverTimePosition(){let e=0;return this.hoverTime&&(e=this.state.seekHoverPosition-this.hoverTime.offsetWidth/2,this.props.limitTimeTooltipBySides&&(e<0?e=0:e+this.hoverTime.offsetWidth>this.state.trackWidth&&(e=this.state.trackWidth-this.hoverTime.offsetWidth))),{transform:`translateX(${e}px)`}}secondsToTime(e){e=Math.round(e+this.offset);const t=Math.floor(e/3600),i=e%3600,s=Math.floor(i/60),r=Math.ceil(i%60);return{hh:t.toString(),mm:s<10?\"0\"+s:s.toString(),ss:r<10?\"0\"+r:r.toString()}}getHoverTime(){const e=100*this.state.seekHoverPosition/this.state.trackWidth,t=Math.floor(+e*(this.props.total/100)),i=this.secondsToTime(t);return this.props.total+this.offset<60?this.secondsPrefix+i.ss:this.props.total+this.offset<3600?this.minutesPrefix+i.mm+\":\"+i.ss:i.hh+\":\"+i.mm+\":\"+i.ss}isThumbActive(){return this.state.seekHoverPosition>0||this.seeking}drawHoverTime(){return this.props.hideHoverTime?null:l.createElement(\"div\",{className:this.isThumbActive()?\"hover-time active\":\"hover-time\",style:this.getHoverTimePosition(),ref:e=>this.hoverTime=e},this.getHoverTime())}render(){return l.createElement(\"div\",{className:\"seek-slider\"},l.createElement(\"div\",{className:\"track\",ref:e=>this.track=e,onMouseMove:e=>this.handleTrackHover(!1,e),onMouseLeave:e=>this.handleTrackHover(!0,e),onMouseDown:this.onMouseDown,onTouchStart:e=>{this.setMobileSeeking(!0),this.onMouseDown(e)},onMouseUp:this.onMouseUp,onTouchEnd:this.onMouseUp},l.createElement(\"div\",{className:\"main\"},this.renderBufferProgress(),this.renderHoverProgress(),this.renderProgress())),this.drawHoverTime(),this.renderThumb())}}class X extends c{constructor(e){super(e),this.stageVolume=0,this.updateVolumeTimer=0,this.onVolumeSeeking=!1,this.onClickOperationButton=()=>{const{paused:e}=this.props;e?this.props.play():this.props.pause()},this.operationButton=()=>{const{paused:e}=this.props;return e?l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNOCA1LjE0djE0bDExLTdsLTExLTd6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg==\"}):l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTQgMTloNFY1aC00TTYgMTloNFY1SDZ2MTR6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg==\"})},this.operationVolumeButton=()=>this.props.volume>.9?l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTQgMy4yM3YyLjA2YzIuODkuODYgNSAzLjU0IDUgNi43MXMtMi4xMSA1Ljg0LTUgNi43djIuMDdjNC0uOTEgNy00LjQ5IDctOC43N2MwLTQuMjgtMy03Ljg2LTctOC43N00xNi41IDEyYzAtMS43Ny0xLTMuMjktMi41LTQuMDNWMTZjMS41LS43MSAyLjUtMi4yNCAyLjUtNE0zIDl2Nmg0bDUgNVY0TDcgOUgzeiIgZmlsbD0iI2ZmZiI+PC9wYXRoPjwvc3ZnPgo=\"}):0===this.props.volume?l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNyA5djZoNGw1IDVWNGwtNSA1SDd6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg==\"}):l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNSA5djZoNGw1IDVWNEw5IDltOS41IDNjMC0xLjc3LTEtMy4yOS0yLjUtNC4wM1YxNmMxLjUtLjcxIDIuNS0yLjI0IDIuNS00eiIgZmlsbD0iI2ZmZiI+PC9wYXRoPjwvc3ZnPgo=\"}),this.handleClickVolume=()=>{0===this.props.volume?0!==this.stageVolume?this.props.setVolume(this.stageVolume):this.props.setVolume(1):(this.stageVolume=this.props.volume,this.props.setVolume(0))},this.onChange=e=>{this.setState({currentTime:e}),e&&this.changeTime(e)},this.changeTime=R((e=>{this.props.setCurrentTime(e)}),50),this.onVolumeChange=e=>{this.changeVolume(e),this.setState({seekVolume:e/100})},this.changeVolume=R((e=>{this.props.setVolume(e/100)}),50),this.onVolumeSeekStart=()=>{this.onVolumeSeeking=!0},this.onVolumeSeekEnd=R((()=>{this.onVolumeSeeking=!1}),500),this.onProgressSeekStart=()=>this.setState({isPlayerSeeking:!0}),this.onProgressSeekEnd=R((()=>{this.setState({isPlayerSeeking:!1})}),500),this.state={isPlayerSeeking:!1,isVolumeHover:!1,seekVolume:1,visible:!0,currentTime:0},this.stageVolume=e.volume}componentDidMount(){this.updateVolumeTimer=setInterval((()=>{this.onVolumeSeeking||this.setState({seekVolume:this.props.volume}),this.state.isPlayerSeeking||this.setState({currentTime:this.props.currentTime})}),100)}componentWillUnmount(){this.updateVolumeTimer&&clearInterval(this.updateVolumeTimer)}render(){const{duration:e,currentTime:t}=this.props;return l.createElement(\"div\",{className:\"player-controller\",style:{opacity:this.props.visible?\"1\":\"0\"}},l.createElement(\"div\",{className:\"player-controller-progress\"},l.createElement(U,{total:e,current:this.state.currentTime,onChange:this.onChange,buffered:this.props.buffered,bufferColor:\"rgba(255,255,255,0.3)\",hideHoverTime:!0,limitTimeTooltipBySides:!0,onSeekStart:this.onProgressSeekStart,onSeekEnd:this.onProgressSeekEnd,play:this.props.play,pause:this.props.pause,paused:this.props.paused,scale:this.props.scale})),l.createElement(\"div\",{className:\"player-controller-actions\"},l.createElement(\"div\",{className:\"player-controller-actions-left\"},l.createElement(\"div\",{onClick:this.onClickOperationButton,className:\"player-controller-play\"},this.operationButton()),l.createElement(\"div\",{className:\"player-volume-box\",onMouseEnter:()=>this.setState({isVolumeHover:!0}),onMouseLeave:()=>this.setState({isVolumeHover:!1})},l.createElement(\"div\",{onClick:this.handleClickVolume,className:\"player-volume\"},this.operationVolumeButton()),l.createElement(\"div\",{className:\"player-volume-slider\"},l.createElement(U,{total:100,current:100*this.state.seekVolume,onChange:this.onVolumeChange,onSeekStart:this.onVolumeSeekStart,onSeekEnd:this.onVolumeSeekEnd,scale:this.props.scale,limitTimeTooltipBySides:!0,hideHoverTime:!0})))),l.createElement(\"div\",{className:\"player-mid-box-time\"},F(Math.floor(t/1e3)),\" /\",\" \",F(Math.floor(e/1e3)))))}}function F(e){const t=e%60,i=(e-t)/60;if(i>=60){const e=i%60;return`${G((i-e)/60)}:${G(e)}:${G(t)}`}return`${G(i)}:${G(t)}`}function G(e){return e<=9?`0${e}`:`${e}`}class Y extends c{constructor(){super(...arguments),this.putAttributes=e=>{const{context:t}=this.props,i=t.getAttributes()||{};for(const s in e)i[s]!==e[s]&&t.updateAttributes([s],e[s])}}render(){const{context:e}=this.props,t=e.getRoom(),i=t?void 0:e.getDisplayer(),s=this.putAttributes;return l.createElement(J,{room:t,player:i,context:e,plugin:{putAttributes:s}})}}class J extends c{constructor(e){super(e),this.alertMask=null,this.container=l.createRef(),this.controllerHiddenTimer=0,this.syncPlayerTimer=0,this.retryCount=0,this.decreaseRetryTimer=0,this.noSoundSyncCount=0,this.showController=()=>{this.setState({controllerVisible:!0}),this.debounceHidingController()},this.play=()=>{var e;const t=null==(e=this.props.room)?void 0:e.calibrationTimestamp;this.debug(\">>> play\",{paused:!1,hostTime:t}),this.isEnabled()&&this.props.plugin.putAttributes({paused:!1,hostTime:t})},this.pause=()=>{const e=A(this.getAttributes(),this.props);this.debug(\">>> pause\",{paused:!0,currentTime:e}),this.isEnabled()&&this.props.plugin.putAttributes({paused:!0,currentTime:e})},this.setVolume=e=>{this.debug(\">>> volume\",{volume:e}),this.isEnabled()&&this.props.plugin.putAttributes({volume:e}),this.isEnabled()&&this.props.plugin.putAttributes({volume:e,muted:0===e})},this.setCurrentTime=e=>{var t;const i=null==(t=this.props.room)?void 0:t.calibrationTimestamp;this.debug(\">>> seek\",{currentTime:e/1e3,hostTime:i}),this.isEnabled()&&this.props.plugin.putAttributes({currentTime:e/1e3,hostTime:i})},this.resetPlayer=()=>{var e;null==(e=this.player)||e.autoplay(!1),this.state.NoSound||(this.debug(\">>> ended\",{paused:!0,currentTime:0}),this.isEnabled()&&this.props.plugin.putAttributes({paused:!0,currentTime:0}))},this.syncPlayerWithAttributes=()=>{var e;const t=this.getAttributes();if(!t)return;const i=this.player;if(!i)return;if(this.state.NoSound&&(this.noSoundSyncCount+=1)%8!=0)return;i.paused()!==t.paused&&(this.debug(\"<<< paused -> %o\",t.paused),t.paused?i.pause():null==(e=i.play())||e.catch(this.catchPlayFail)),i.muted()!==t.muted&&(this.debug(\"<<< muted -> %o\",t.muted),i.muted(t.muted)),i.volume()!==t.volume&&(this.debug(\"<<< volume -> %o\",t.volume),i.volume(t.volume));const s=A(t,this.props);let r=g.currentTimeMaxError;this.state.NoSound&&(r*=3),s>i.duration()?this.resetPlayer():Math.abs(i.currentTime()-s)>r&&(this.debug(\"<<< currentTime -> %o\",s),i.currentTime(s))},this.debounceHidingController=()=>{this.controllerHiddenTimer&&(clearTimeout(this.controllerHiddenTimer),this.controllerHiddenTimer=0),this.controllerHiddenTimer=setTimeout((()=>{this.setState({controllerVisible:!1}),this.controllerHiddenTimer=0}),3e3)},this.decreaseRetryCount=()=>{this.player&&this.retryCount>0&&(this.retryCount=this.retryCount-1)},this.catchPlayFail=e=>{var t,i;const s=String(e);if(f&&s.includes(\"NotAllowedError\")||s.includes(\"interact\"))null==(t=this.player)||t.autoplay(\"any\"),this.setState({NoSound:!0});else{const t=null==(i=this.player)?void 0:i.error();t&&(this.retryCount<=3?(this.initPlayer(),this.retryCount=this.retryCount+1):(this.debug(\"catch videojs media error\",t),this.setState({MediaError:!0}))),this.debug(\"catch error\",e)}},this.fixPlayFail=()=>{this.debug(\"try to fix play state\"),this.setState({NoSound:!1});const{muted:e,volume:t}=this.getAttributes();this.player&&(this.player.muted(e),this.player.volume(t))},this.initPlayer=async()=>{var e;null==(e=this.player)||e.dispose(),this.player=void 0,this.debug(\"creating elements ...\");const{type:t,src:i,poster:s}=this.getAttributes(),r=document.createElement(\"div\");r.setAttribute(\"data-vjs-player\",\"\");const o=document.createElement(\"video\");o.className=\"video-js\",s&&(o.poster=s),o.setAttribute(\"playsInline\",\"\"),o.setAttribute(\"webkit-playsinline\",\"\");const n=document.createElement(\"source\");new URL(i).pathname.endsWith(\".m3u8\")?n.type=\"application/x-mpegURL\":o.src=i,n.src=i,t&&(n.type=t),o.appendChild(n),r.appendChild(o),this.container.current.appendChild(r),await new Promise((e=>(window.requestAnimationFrame||window.setTimeout)(e))),this.debug(\"initializing videojs() ...\");const a=p(o);this.player=a,window.player=a,a.one(\"loadedmetadata\",this.gracefullyUpdate),a.on(\"ready\",(()=>{var e;null==(e=g.onPlayer)||e.call(g,a),a.on(\"timeupdate\",this.gracefullyUpdate),a.on(\"volumechange\",this.gracefullyUpdate),a.on(\"seeked\",this.gracefullyUpdate),a.on(\"play\",this.gracefullyUpdate),a.on(\"pause\",this.gracefullyUpdate),a.on(\"ended\",this.resetPlayer)})),a.on(\"error\",this.catchPlayFail),this.setState({MediaError:!1})},this.gracefullyUpdate=()=>this.setState({updater:!this.state.updater}),this.setupAlert=e=>{e&&(e.addEventListener(\"touchstart\",this.fixPlayFail),e.addEventListener(\"click\",this.fixPlayFail)),this.alertMask=e},this.setupReload=e=>{e&&(e.addEventListener(\"touchstart\",this.initPlayer),e.addEventListener(\"click\",this.initPlayer))},this.state={NoSound:!1,MediaError:!1,updater:!1,controllerVisible:!1},e.room&&function(e){if(!e.calibrationTimestamp)throw new Error(\"@netless/app-media-player@0.1.0-alpha.5 requires white-web-sdk@^2.13.8 to work properly.\")}(e.room)}getAttributes(){const{context:e}=this.props;let s=e.getAttributes();if(s){if(s=a(a({},d),s),this.player){let e=A(s,this.props),o=this.player.duration();!s.paused&&e>o&&(r=a({},s),s=t(r,i({currentTime:0,paused:!0})),this.resetPlayer())}var r;return s}}isShowingPoster(){const e=this.getAttributes();return!(null==e?void 0:e.src)||y.some((t=>e.src.endsWith(t)))}render(){var e,t;if(!this.props.room&&!this.props.player)return null;const i=this.getAttributes();if(!i)return null;const s=1e3*((null==(e=this.player)?void 0:e.duration())||1e3),r=(null==(t=this.player)?void 0:t.bufferedPercent())||0;return l.createElement(\"div\",{className:this.isEnabled()?\"vjs-p\":\"vjs-p disabled\",onMouseEnter:this.showController,onMouseMove:this.showController},l.createElement(\"div\",{className:\"video-js-plugin-player\",ref:this.container}),this.isShowingPoster()&&l.createElement(\"div\",{className:\"video-js-plugin-poster\"},i.poster&&l.createElement(\"img\",{src:i.poster,alt:\"\",draggable:!1})),l.createElement(X,{duration:s,volume:i.volume,setVolume:this.setVolume,paused:i.paused,play:this.play,pause:this.pause,currentTime:1e3*A(i,this.props),setCurrentTime:this.setCurrentTime,buffered:s*r,visible:!0}),this.state.NoSound&&l.createElement(\"div\",{ref:this.setupAlert,className:\"videojs-plugin-muted-alert\"}),this.state.MediaError&&l.createElement(\"div\",{className:\"videojs-plugin-recovery-mode\"},l.createElement(\"button\",{ref:this.setupReload},\"Reload Player\")))}debug(e,...t){g.verbose&&g.log(`[MediaPlayer] ${e}`,...t)}componentDidMount(){this.debug(\"app version =\",\"0.1.0-alpha.5\"),this.debug(\"video.js version =\",p.VERSION),this.initPlayer(),this.props.context.emitter.on(\"attributesUpdate\",this.syncPlayerWithAttributes),this.syncPlayerTimer=setInterval(this.syncPlayerWithAttributes,g.syncInterval),this.decreaseRetryTimer=setInterval(this.decreaseRetryCount,g.retryInterval)}componentWillUnmount(){var e;this.debug(\"unmount\"),this.props.context.emitter.off(\"attributesUpdate\",this.syncPlayerWithAttributes),null==(e=this.player)||e.dispose(),clearInterval(this.syncPlayerTimer),clearInterval(this.decreaseRetryTimer)}isEnabled(){return this.props.context.getIsWritable()}}const K={kind:\"MediaPlayer\",setup(e){let t=e.getAttributes();if(!t||!t.src)return e.emitter.emit(\"destroy\",{error:new Error(\"[MediaPlayer]: Missing 'attributes'.'src'.\")});t=a(a({},d),t);const i=e.getBox();i.mountStyles('.vjs-p{display:flex;flex-grow:1}.vjs-p *{pointer-events:auto}.vjs-p.disabled *{pointer-events:none}.vjs-p .video-js-plugin-poster{position:absolute;top:0;left:0;right:0;bottom:0;background-image:url(data:image/png;base64,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);background-repeat:repeat-x;background-position:0 50%;display:flex;align-items:center;justify-content:center}.vjs-p .video-js-plugin-poster img{box-shadow:0 0 5px 10px #0006}.vjs-p .player-controller,.vjs-p .videojs-plugin-muted-alert{pointer-events:auto}.vjs-p.disabled .videojs-plugin-close-icon,.vjs-p.disabled .player-controller{pointer-events:none}.vjs-p .video-js-plugin-player{position:absolute;top:0;left:0;right:0;bottom:0}.video-js,[data-vjs-player]{width:100%;height:100%}.vjs-p .videojs-plugin-muted-alert{pointer-events:auto;cursor:pointer;position:absolute;top:0;left:0;right:0;bottom:0;z-index:43}.vjs-p .videojs-plugin-muted-alert:before{pointer-events:auto;cursor:pointer;position:absolute;top:0;left:0;right:0;bottom:0;z-index:43;content:\"\\\\f104\";background:rgba(0,0,0,.3);font-family:VideoJS;font-size:2em;display:flex;align-items:center;justify-content:center;color:#fff}.vjs-p .videojs-plugin-recovery-mode{pointer-events:auto;cursor:pointer;position:absolute;top:0;left:0;right:0;bottom:0;z-index:44}.vjs-p .videojs-plugin-recovery-mode button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vjs-p .seek-slider{position:relative;width:100%}.vjs-p .seek-slider:focus{outline:none}.vjs-p .seek-slider .track{padding:10px 0;cursor:pointer;outline:none}.vjs-p .seek-slider .track:focus{border:0;outline:none}.vjs-p .seek-slider .track .main{width:100%;height:3px;background-color:#ffffff4d;border-radius:30px;position:absolute;left:0;top:8.5px;transition:transform .4s;outline:none}.vjs-p .seek-slider .track .main:focus{border:0;outline:none}.vjs-p .seek-slider .track .main .buffered{position:absolute;background-color:#ffffff4d;width:100%;height:100%;transform:scaleX(.8);z-index:2;transform-origin:0 0}.vjs-p .seek-slider .track .main .seek-hover{position:absolute;background-color:#ffffff80;width:100%;height:100%;z-index:1;transform:scaleX(.6);transform-origin:0 0;opacity:0;transition:opacity .4s}.vjs-p .seek-slider .track .main .connect{position:absolute;background-color:#fff;width:100%;height:100%;z-index:3;left:0;transform:scaleX(.13);transform-origin:0 0}.vjs-p .seek-slider .track.active .main{transform:scaleY(2)}.vjs-p .seek-slider .thumb{pointer-events:none;position:absolute;width:12px;height:12px;left:-6px;top:4px;z-index:4;transform:translate(100px)}.vjs-p .seek-slider .thumb .handler{border-radius:100%;width:100%;height:100%;background-color:#fff;opacity:0;transform:scale(.4);cursor:pointer;transition:transform .2s;pointer-events:none}.vjs-p .seek-slider .thumb.active .handler{opacity:1;transform:scale(1)}.vjs-p .seek-slider .hover-time{position:absolute;background-color:#0000004d;line-height:18px;font-size:16px;color:#ddd;top:-25px;left:0;padding:5px 10px;border-radius:5px;box-shadow:0 0 5px #0000004d;opacity:0;transform:translate(150px);pointer-events:none}.vjs-p .seek-slider .hover-time.active{opacity:1}.vjs-p .seek-slider:hover .track .main .seek-hover{opacity:1}.vjs-p .player-controller{position:absolute;z-index:100;bottom:0px;left:0;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:stretch;height:64px;background-image:linear-gradient(0deg,#000,transparent);transition:opacity .2s;color:#fff}.vjs-p .player-menu-box{display:flex;align-items:center;justify-content:center;flex-direction:column;margin-bottom:40px}.vjs-p .player-menu-cell{width:100%;text-align:center;font-size:12px;color:#7a7b7c}.vjs-p .player-multiple-play{width:64px;height:120px}.vjs-p .player-controller-actions-left{display:flex;justify-content:center;align-items:center;flex-shrink:0}.vjs-p .player-right-box{font-size:14px;color:#7a7b7c;cursor:pointer;margin-right:12px}.vjs-p .player-controller-actions{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-left:8px;padding-right:8px;margin-top:2px}.vjs-p .player-mid-box-time{font-size:9px;display:flex;justify-content:center;align-items:center;color:#fff;flex-shrink:0;margin-right:8px;font-family:monospace}.vjs-p .player-controller-play{display:flex;align-items:center;justify-content:center;cursor:pointer;padding-right:4px}.vjs-p .player-controller-progress{width:calc(100% - 28px);margin-left:14px;display:flex;align-items:center;justify-content:center;margin-top:8px}.vjs-p .player-volume{display:flex;align-items:center;justify-content:center;cursor:pointer;margin-right:16px;margin-left:8px}.vjs-p .player-volume-slider{width:60px;margin-right:12px;display:flex;align-items:center}.vjs-p .player-volume-box{display:flex;flex-direction:row}.netless-app-media-player-container{display:flex;position:relative;height:100%}\\n');const s=document.createElement(\"div\");s.classList.add(\"netless-app-media-player-container\"),u.render(l.createElement(Y,{context:e}),s),i.mountContent(s),e.emitter.on(\"destroy\",(()=>{console.log(\"[MediaPlayer]: destroy\"),u.unmountComponentAtNode(s)}))}};export{h as Version,K as default,v as setOptions};\n//# sourceMappingURL=main.es.js.map\n","import AppDocsViewer from \"@netless/app-docs-viewer\";\nimport AppMediaPlayer, { setOptions } from \"@netless/app-media-player\";\nimport { WindowManager } from \"./index\";\n\nexport const setupBuiltin = () => {\n if (WindowManager.debug) {\n setOptions({ verbose: true });\n }\n\n WindowManager.register({\n kind: AppDocsViewer.kind,\n src: AppDocsViewer,\n });\n WindowManager.register({\n kind: AppMediaPlayer.kind,\n src: AppMediaPlayer,\n });\n};\n\nexport const BuiltinApps = {\n DocsViewer: AppDocsViewer.kind as string,\n MediaPlayer: AppMediaPlayer.kind as string,\n};\n","import Emittery from \"emittery\";\nimport pRetry from \"p-retry\";\nimport { AppManager } from \"./AppManager\";\nimport { appRegister } from \"./Register\";\nimport { checkVersion, setupWrapper } from \"./Helper\";\nimport { ContainerResizeObserver } from \"./ContainerResizeObserver\";\nimport { createBoxManager } from \"./BoxManager\";\nimport { CursorManager } from \"./Cursor\";\nimport { DEFAULT_CONTAINER_RATIO, Events, ROOT_DIR } from \"./constants\";\nimport { Fields } from \"./AttributesDelegate\";\nimport { initDb } from \"./Register/storage\";\nimport { InvisiblePlugin, isPlayer, isRoom, RoomPhase, ViewMode } from \"white-web-sdk\";\nimport { isEqual, isNull, isObject, omit } from \"lodash\";\nimport { log } from \"./Utils/log\";\nimport { ReconnectRefresher } from \"./ReconnectRefresher\";\nimport { replaceRoomFunction } from \"./Utils/RoomHacker\";\nimport { setupBuiltin } from \"./BuiltinApps\";\nimport \"video.js/dist/video-js.css\";\nimport \"./style.css\";\nimport \"@netless/telebox-insider/dist/style.css\";\nimport type { LoadAppEvent } from \"./Register\";\nimport {\n addEmitterOnceListener,\n ensureValidScenePath,\n entireScenes,\n isValidScenePath,\n wait,\n} from \"./Utils/Common\";\nimport type { TELE_BOX_STATE, BoxManager } from \"./BoxManager\";\nimport {\n AppCreateError,\n AppManagerNotInitError,\n InvalidScenePath,\n ParamsInvalidError,\n} from \"./Utils/error\";\nimport type { Apps, Position } from \"./AttributesDelegate\";\nimport type {\n Displayer,\n SceneDefinition,\n View,\n Room,\n InvisiblePluginContext,\n Camera,\n AnimationMode,\n CameraBound,\n Point,\n Rectangle,\n ViewVisionMode,\n CameraState,\n Player,\n ImageInformation,\n} from \"white-web-sdk\";\nimport type { AppListeners } from \"./AppListener\";\nimport type { NetlessApp, RegisterParams } from \"./typings\";\nimport type { TeleBoxColorScheme, TeleBoxState } from \"@netless/telebox-insider\";\nimport type { AppProxy } from \"./AppProxy\";\n\nexport type WindowMangerAttributes = {\n modelValue?: string;\n boxState: TELE_BOX_STATE;\n maximized?: boolean;\n minimized?: boolean;\n [key: string]: any;\n};\n\nexport type apps = {\n [key: string]: NetlessApp;\n};\n\nexport type AddAppOptions = {\n scenePath?: string;\n title?: string;\n scenes?: SceneDefinition[];\n};\n\nexport type setAppOptions = AddAppOptions & { appOptions?: any };\n\nexport type AddAppParams<TAttributes = any> = {\n kind: string;\n // app 地址(本地 app 不需要传)\n src?: string;\n // 窗口配置\n options?: AddAppOptions;\n // 初始化 attributes\n attributes?: TAttributes;\n};\n\nexport type BaseInsertParams = {\n kind: string;\n // app 地址(本地 app 不需要传)\n src?: string;\n // 窗口配置\n options?: AddAppOptions;\n // 初始化 attributes\n attributes?: any;\n isDynamicPPT?: boolean;\n};\n\nexport type AppSyncAttributes = {\n kind: string;\n src?: string;\n options: any;\n state?: any;\n isDynamicPPT?: boolean;\n fullPath?: string;\n createdAt?: number;\n};\n\nexport type AppInitState = {\n id: string;\n x?: number;\n y?: number;\n width?: number;\n height?: number;\n focus?: boolean;\n maximized?: boolean;\n minimized?: boolean;\n sceneIndex?: number;\n boxState?: TeleBoxState; // 兼容旧版 telebox\n zIndex?: number;\n};\n\nexport type CursorMovePayload = { uid: string; state?: \"leave\"; position: Position };\n\nexport type EmitterEvent = {\n onCreated: undefined;\n InitReplay: AppInitState;\n move: { appId: string; x: number; y: number };\n focus: { appId: string };\n close: { appId: string };\n resize: { appId: string; width: number; height: number; x?: number; y?: number };\n error: Error;\n seek: number;\n mainViewMounted: undefined;\n observerIdChange: number;\n boxStateChange: string;\n playgroundSizeChange: DOMRect;\n onReconnected: void;\n removeScenes: string;\n cursorMove: CursorMovePayload;\n};\n\nexport type EmitterType = Emittery<EmitterEvent>;\nexport const emitter: EmitterType = new Emittery();\n\nexport type PublicEvent = {\n mainViewModeChange: ViewVisionMode;\n boxStateChange: `${TELE_BOX_STATE}`;\n darkModeChange: boolean;\n prefersColorSchemeChange: TeleBoxColorScheme;\n cameraStateChange: CameraState;\n mainViewScenePathChange: string;\n mainViewSceneIndexChange: number;\n focusedChange: string | undefined;\n mainViewScenesLengthChange: number;\n canRedoStepsChange: number;\n canUndoStepsChange: number;\n loadApp: LoadAppEvent;\n};\n\nexport type MountParams = {\n room: Room | Player;\n container?: HTMLElement;\n /** 白板高宽比例, 默认为 9 / 16 */\n containerSizeRatio?: number;\n /** 显示 PS 透明背景,默认 true */\n chessboard?: boolean;\n collectorContainer?: HTMLElement;\n collectorStyles?: Partial<CSSStyleDeclaration>;\n overwriteStyles?: string;\n cursor?: boolean;\n debug?: boolean;\n disableCameraTransform?: boolean;\n prefersColorScheme?: TeleBoxColorScheme;\n};\n\nexport type CallbacksType = Emittery<PublicEvent>;\nexport const callbacks: CallbacksType = new Emittery();\n\nexport const reconnectRefresher = new ReconnectRefresher({ emitter });\n\nexport type AddPageParams = {\n after?: boolean;\n scene?: SceneDefinition;\n}\n\nexport class WindowManager extends InvisiblePlugin<WindowMangerAttributes> {\n public static kind = \"WindowManager\";\n public static displayer: Displayer;\n public static wrapper?: HTMLElement;\n public static playground?: HTMLElement;\n public static container?: HTMLElement;\n public static debug = false;\n public static containerSizeRatio = DEFAULT_CONTAINER_RATIO;\n private static isCreated = false;\n\n public version = __APP_VERSION__;\n public dependencies = __APP_DEPENDENCIES__;\n\n public appListeners?: AppListeners;\n\n public readonly?: boolean;\n public emitter: Emittery<PublicEvent> = callbacks;\n public appManager?: AppManager;\n public cursorManager?: CursorManager;\n public viewMode = ViewMode.Broadcaster;\n public isReplay = isPlayer(this.displayer);\n\n private boxManager?: BoxManager;\n private static params?: MountParams;\n\n private containerResizeObserver?: ContainerResizeObserver;\n\n constructor(context: InvisiblePluginContext) {\n super(context);\n WindowManager.displayer = context.displayer;\n (window as any).NETLESS_DEPS = __APP_DEPENDENCIES__;\n }\n\n public static async mount(params: MountParams): Promise<WindowManager> {\n const room = params.room;\n WindowManager.container = params.container;\n const containerSizeRatio = params.containerSizeRatio;\n const debug = params.debug;\n\n const cursor = params.cursor;\n WindowManager.params = params;\n WindowManager.displayer = params.room;\n checkVersion();\n let manager: WindowManager | undefined = undefined;\n if (isRoom(room)) {\n if (room.phase !== RoomPhase.Connected) {\n throw new Error(\"[WindowManager]: Room only Connected can be mount\");\n }\n if (room.phase === RoomPhase.Connected && room.isWritable) {\n // redo undo 需要设置这个属性\n room.disableSerialization = false;\n }\n manager = await this.initManager(room);\n }\n if (WindowManager.isCreated) {\n throw new Error(\"[WindowManager]: Already created cannot be created again\");\n }\n\n this.debug = Boolean(debug);\n log(\"Already insert room\", manager);\n\n if (isRoom(this.displayer)) {\n if (!manager) {\n throw new Error(\"[WindowManager]: init InvisiblePlugin failed\");\n }\n } else {\n await pRetry(\n async count => {\n manager = (await room.getInvisiblePlugin(WindowManager.kind)) as WindowManager;\n if (!manager) {\n log(`manager is empty. retrying ${count}`);\n throw new Error();\n }\n },\n { retries: 10 }\n );\n }\n\n if (!manager) {\n throw new Error(\"[WindowManager]: create manager failed\");\n }\n\n if (containerSizeRatio) {\n WindowManager.containerSizeRatio = containerSizeRatio;\n }\n await manager.ensureAttributes();\n\n manager.appManager = new AppManager(manager);\n manager.cursorManager = new CursorManager(manager.appManager, Boolean(cursor));\n\n if (params.container) {\n manager.bindContainer(params.container);\n }\n\n replaceRoomFunction(room, manager);\n emitter.emit(\"onCreated\");\n WindowManager.isCreated = true;\n try {\n await initDb();\n } catch (error) {\n console.warn(\"[WindowManager]: indexedDB open failed\");\n console.log(error);\n }\n return manager;\n }\n\n private static async initManager(room: Room): Promise<WindowManager> {\n let manager = room.getInvisiblePlugin(WindowManager.kind) as WindowManager;\n if (!manager) {\n if (isRoom(room)) {\n if (room.isWritable === false) {\n try {\n await room.setWritable(true);\n } catch (error) {\n throw new Error(\"[WindowManger]: room must be switched to be writable\");\n }\n manager = (await room.createInvisiblePlugin(\n WindowManager,\n {}\n )) as WindowManager;\n manager.ensureAttributes();\n await wait(500);\n await room.setWritable(false);\n } else {\n manager = (await room.createInvisiblePlugin(\n WindowManager,\n {}\n )) as WindowManager;\n }\n }\n }\n return manager;\n }\n\n private static initContainer(\n manager: WindowManager,\n container: HTMLElement,\n chessboard: boolean | undefined,\n overwriteStyles: string | undefined\n ) {\n if (!WindowManager.container) {\n WindowManager.container = container;\n }\n const { playground, wrapper, sizer, mainViewElement } = setupWrapper(container);\n WindowManager.playground = playground;\n if (chessboard) {\n sizer.classList.add(\"netless-window-manager-chess-sizer\");\n }\n if (overwriteStyles) {\n const style = document.createElement(\"style\");\n style.textContent = overwriteStyles;\n playground.appendChild(style);\n }\n manager.containerResizeObserver = ContainerResizeObserver.create(\n playground,\n sizer,\n wrapper,\n emitter\n );\n WindowManager.wrapper = wrapper;\n return mainViewElement;\n }\n\n public bindContainer(container: HTMLElement) {\n if (WindowManager.isCreated && WindowManager.container) {\n if (WindowManager.container.firstChild) {\n container.appendChild(WindowManager.container.firstChild);\n }\n } else {\n if (WindowManager.params) {\n const params = WindowManager.params;\n const mainViewElement = WindowManager.initContainer(\n this,\n container,\n params.chessboard,\n params.overwriteStyles\n );\n const boxManager = createBoxManager(this, callbacks, emitter, {\n collectorContainer: params.collectorContainer,\n collectorStyles: params.collectorStyles,\n prefersColorScheme: params.prefersColorScheme,\n });\n this.boxManager = boxManager;\n this.appManager?.setBoxManager(boxManager);\n this.bindMainView(mainViewElement, params.disableCameraTransform);\n if (WindowManager.wrapper) {\n this.cursorManager?.setupWrapper(WindowManager.wrapper);\n }\n }\n }\n this.boxManager?.updateManagerRect();\n this.appManager?.refresh();\n this.appManager?.resetMaximized();\n this.appManager?.resetMinimized();\n this.appManager?.displayerWritableListener(!this.room.isWritable);\n WindowManager.container = container;\n }\n\n public bindCollectorContainer(container: HTMLElement) {\n if (WindowManager.isCreated && this.boxManager) {\n this.boxManager.setCollectorContainer(container);\n } else {\n if (WindowManager.params) {\n WindowManager.params.collectorContainer = container;\n }\n }\n }\n\n /**\n * 注册插件\n */\n public static register<AppOptions = any, SetupResult = any, Attributes = any>(\n params: RegisterParams<AppOptions, SetupResult, Attributes>\n ): Promise<void> {\n return appRegister.register(params);\n }\n\n /**\n * 创建一个 app 至白板\n */\n public async addApp<T = any>(params: AddAppParams<T>): Promise<string | undefined> {\n if (this.appManager) {\n if (!params.kind || typeof params.kind !== \"string\") {\n throw new ParamsInvalidError();\n }\n const appImpl = await appRegister.appClasses.get(params.kind)?.();\n if (appImpl && appImpl.config?.singleton) {\n if (this.appManager.appProxies.has(params.kind)) {\n throw new AppCreateError();\n }\n }\n const isDynamicPPT = this.setupScenePath(params, this.appManager);\n if (isDynamicPPT === undefined) {\n return;\n }\n if (params?.options?.scenePath) {\n params.options.scenePath = ensureValidScenePath(params.options.scenePath);\n }\n const appId = await this.appManager.addApp(params, Boolean(isDynamicPPT));\n return appId;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n private setupScenePath(params: AddAppParams, appManager: AppManager): boolean | undefined {\n let isDynamicPPT = false;\n if (params.options) {\n const { scenePath, scenes } = params.options;\n if (scenePath) {\n if (!isValidScenePath(scenePath)) {\n throw new InvalidScenePath();\n }\n const apps = Object.keys(this.apps || {});\n for (const appId of apps) {\n const appScenePath = appManager.store.getAppScenePath(appId);\n if (appScenePath && appScenePath === scenePath) {\n console.warn(`[WindowManager]: ScenePath ${scenePath} Already opened`);\n if (this.boxManager) {\n const topBox = this.boxManager.getTopBox();\n if (topBox) {\n this.boxManager.setZIndex(appId, topBox.zIndex + 1, false);\n }\n }\n return;\n }\n }\n }\n if (scenePath && scenes && scenes.length > 0) {\n if (this.isDynamicPPT(scenes)) {\n isDynamicPPT = true;\n if (!entireScenes(this.displayer)[scenePath]) {\n this.room?.putScenes(scenePath, scenes);\n }\n } else {\n if (!entireScenes(this.displayer)[scenePath]) {\n this.room?.putScenes(scenePath, [{ name: scenes[0].name }]);\n }\n }\n }\n if (scenePath && scenes === undefined) {\n this.room?.putScenes(scenePath, [{}]);\n }\n }\n return isDynamicPPT;\n }\n\n /**\n * 设置 mainView 的 ScenePath, 并且切换白板为可写状态\n */\n public async setMainViewScenePath(scenePath: string): Promise<void> {\n if (this.appManager) {\n await this.appManager.setMainViewScenePath(scenePath);\n }\n }\n\n /**\n * 设置 mainView 的 SceneIndex, 并且切换白板为可写状态\n */\n public async setMainViewSceneIndex(index: number): Promise<void> {\n if (this.appManager) {\n await this.appManager.setMainViewSceneIndex(index);\n }\n }\n\n public async nextPage(): Promise<boolean> {\n if (this.appManager) {\n const nextIndex = this.mainViewSceneIndex + 1;\n if (nextIndex >= this.mainViewScenesLength) {\n console.warn(`[WindowManager]: current page is the last page`);\n return false;\n };\n await this.appManager.setMainViewSceneIndex(nextIndex);\n return true;\n } else {\n return false;\n }\n }\n\n public async prevPage(): Promise<boolean> {\n if (this.appManager) {\n const prevIndex = this.mainViewSceneIndex - 1;\n if (prevIndex < 0) {\n console.warn(`[WindowManager]: current page is the first page`);\n return false;\n };\n await this.appManager.setMainViewSceneIndex(prevIndex);\n return true;\n } else {\n return false;\n }\n }\n\n public async addPage(params?: AddPageParams): Promise<void> {\n if (this.appManager) {\n const after = params?.after;\n const scene = params?.scene;\n if (after) {\n const nextIndex = this.mainViewSceneIndex + 1;\n this.room.putScenes(ROOT_DIR, [scene || {}], nextIndex);\n } else {\n this.room.putScenes(ROOT_DIR, [scene || {}]);\n }\n }\n }\n\n /**\n * 返回 mainView 的 ScenePath\n */\n public getMainViewScenePath(): string | undefined {\n return this.appManager?.store.getMainViewScenePath();\n }\n\n /**\n * 返回 mainView 的 SceneIndex\n */\n public getMainViewSceneIndex(): number {\n return this.appManager?.store.getMainViewSceneIndex();\n }\n\n /**\n * 设置所有 app 的 readonly 模式\n */\n public setReadonly(readonly: boolean): void {\n this.readonly = readonly;\n this.boxManager?.setReadonly(readonly);\n }\n\n /**\n * 切换 mainView 为可写\n */\n public switchMainViewToWriter(): Promise<void> | undefined {\n return this.appManager?.mainViewProxy.mainViewClickHandler();\n }\n\n /**\n * app destroy 回调\n */\n public onAppDestroy(kind: string, listener: (error: Error) => void): void {\n addEmitterOnceListener(`destroy-${kind}`, listener);\n }\n\n /**\n * 设置 ViewMode\n */\n public setViewMode(mode: ViewMode): void {\n if (!this.canOperate) return;\n if (mode === ViewMode.Broadcaster) {\n this.appManager?.mainViewProxy.setCameraAndSize();\n this.appManager?.mainViewProxy.start();\n }\n if (mode === ViewMode.Freedom) {\n this.appManager?.mainViewProxy.stop();\n }\n this.viewMode = mode;\n }\n\n public setBoxState(boxState: TeleBoxState): void {\n if (!this.canOperate) return;\n switch (boxState) {\n case \"normal\":\n this.setMaximized(false);\n this.setMinimized(false);\n break;\n case \"maximized\":\n this.setMaximized(true);\n this.setMinimized(false);\n break;\n case \"minimized\":\n this.setMinimized(true);\n break;\n default:\n break;\n }\n }\n\n public setMaximized(maximized: boolean): void {\n if (!this.canOperate) return;\n this.boxManager?.setMaximized(maximized, false);\n }\n\n public setMinimized(minimized: boolean): void {\n if (!this.canOperate) return;\n this.boxManager?.setMinimized(minimized, false);\n }\n\n public get mainView(): View {\n if (this.appManager) {\n return this.appManager.mainViewProxy.view;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get camera(): Camera {\n if (this.appManager) {\n return this.appManager.mainViewProxy.view.camera;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get cameraState(): CameraState {\n if (this.appManager) {\n return this.appManager.mainViewProxy.cameraState;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get apps(): Apps | undefined {\n return this.appManager?.store.apps();\n }\n\n public get boxState(): TeleBoxState | undefined {\n if (this.appManager) {\n return this.appManager.boxManager?.boxState;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get darkMode(): boolean {\n return Boolean(this.appManager?.boxManager?.darkMode);\n }\n\n public get prefersColorScheme(): TeleBoxColorScheme | undefined {\n if (this.appManager) {\n return this.appManager.boxManager?.prefersColorScheme;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get focused(): string | undefined {\n return this.attributes.focus;\n }\n\n public get focusedView(): View | undefined {\n return this.appManager?.focusApp?.view || this.mainView;\n }\n\n public get mainViewSceneIndex(): number {\n return this.appManager?.store.getMainViewSceneIndex();\n }\n\n public get mainViewSceneDir(): string {\n if (this.appManager) {\n return this.appManager?.getMainViewSceneDir();\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get topApp(): string | undefined {\n return this.boxManager?.getTopBox()?.id;\n }\n\n public get mainViewScenesLength(): number {\n return this.appManager?.mainViewScenesLength || 0;\n }\n\n public get canRedoSteps(): number {\n const focused = this.focused;\n if (focused) {\n return this.appManager?.focusApp?.view?.canRedoSteps || 0;\n } else {\n return this.mainView.canRedoSteps;\n }\n }\n\n public get canUndoSteps(): number {\n const focused = this.focused;\n if (focused) {\n return this.appManager?.focusApp?.view?.canUndoSteps || 0;\n } else {\n return this.mainView.canUndoSteps;\n }\n }\n\n /**\n * 查询所有的 App\n */\n public queryAll(): AppProxy[] {\n return Array.from(this.appManager?.appProxies.values() || []);\n }\n\n /**\n * 查询单个 App\n */\n public queryOne(appId: string): AppProxy | undefined {\n return this.appManager?.appProxies.get(appId);\n }\n\n /**\n * 关闭 APP\n */\n public async closeApp(appId: string): Promise<void> {\n return this.appManager?.closeApp(appId);\n }\n\n public moveCamera(\n camera: Partial<Camera> & { animationMode?: AnimationMode | undefined }\n ): void {\n const pureCamera = omit(camera, [\"animationMode\"]);\n const mainViewCamera = { ...this.mainView.camera };\n if (isEqual({ ...mainViewCamera, ...pureCamera }, mainViewCamera)) return;\n this.mainView.moveCamera(camera);\n this.appManager?.dispatchInternalEvent(Events.MoveCamera, camera);\n setTimeout(() => {\n this.appManager?.mainViewProxy.setCameraAndSize();\n }, 500);\n }\n\n public moveCameraToContain(\n rectangle: Rectangle &\n Readonly<{\n animationMode?: AnimationMode;\n }>\n ): void {\n this.mainView.moveCameraToContain(rectangle);\n this.appManager?.dispatchInternalEvent(Events.MoveCameraToContain, rectangle);\n setTimeout(() => {\n this.appManager?.mainViewProxy.setCameraAndSize();\n }, 500);\n }\n\n public convertToPointInWorld(point: Point): Point {\n return this.mainView.convertToPointInWorld(point);\n }\n\n public setCameraBound(cameraBound: CameraBound): void {\n this.mainView.setCameraBound(cameraBound);\n }\n\n public override onDestroy(): void {\n this._destroy();\n }\n\n public override destroy(): void {\n this._destroy();\n }\n\n private _destroy() {\n this.containerResizeObserver?.disconnect();\n this.appManager?.destroy();\n this.cursorManager?.destroy();\n WindowManager.container = undefined;\n WindowManager.wrapper = undefined;\n WindowManager.isCreated = false;\n if (WindowManager.playground) {\n WindowManager.playground.parentNode?.removeChild(WindowManager.playground);\n }\n WindowManager.params = undefined;\n log(\"Destroyed\");\n }\n\n private bindMainView(divElement: HTMLDivElement, disableCameraTransform: boolean | undefined) {\n if (this.appManager) {\n this.appManager.bindMainView(divElement, Boolean(disableCameraTransform));\n this.cursorManager?.setMainViewDivElement(divElement);\n }\n }\n\n public get canOperate(): boolean {\n if (isRoom(this.displayer)) {\n return (\n (this.displayer as Room).isWritable &&\n (this.displayer as Room).phase === RoomPhase.Connected\n );\n } else {\n return false;\n }\n }\n\n public get room(): Room {\n return this.displayer as Room;\n }\n\n public safeSetAttributes(attributes: any): void {\n if (this.canOperate) {\n this.setAttributes(attributes);\n }\n }\n\n public safeUpdateAttributes(keys: string[], value: any): void {\n if (this.canOperate) {\n this.updateAttributes(keys, value);\n }\n }\n\n public setPrefersColorScheme(scheme: TeleBoxColorScheme): void {\n this.appManager?.boxManager?.setPrefersColorScheme(scheme);\n }\n\n public cleanCurrentScene(): void {\n this.focusedView?.cleanCurrentScene();\n }\n\n public redo(): number {\n return this.focusedView?.redo() || 0;\n }\n\n public undo(): number {\n return this.focusedView?.undo() || 0;\n }\n\n public delete(): void {\n this.focusedView?.delete();\n }\n\n public copy(): void {\n this.focusedView?.copy();\n }\n\n public paste(): void {\n this.focusedView?.paste();\n }\n\n public duplicate(): void {\n this.focusedView?.duplicate();\n }\n\n public insertText(x: number, y: number, text: string | undefined): string {\n return this.focusedView?.insertText(x, y, text) || \"\";\n }\n\n public insertImage(info: ImageInformation): void {\n return this.focusedView?.insertImage(info);\n }\n\n public completeImageUpload(uuid: string, url: string): void {\n return this.focusedView?.completeImageUpload(uuid, url);\n }\n\n public lockImage(uuid: string, locked: boolean): void {\n return this.focusedView?.lockImage(uuid, locked);\n }\n\n public lockImages(locked: boolean): void {\n return this.focusedView?.lockImages(locked);\n }\n\n private isDynamicPPT(scenes: SceneDefinition[]) {\n const sceneSrc = scenes[0]?.ppt?.src;\n return sceneSrc?.startsWith(\"pptx://\");\n }\n\n private async ensureAttributes() {\n if (isNull(this.attributes)) {\n await wait(50);\n }\n if (isObject(this.attributes)) {\n if (!this.attributes[Fields.Apps]) {\n this.safeSetAttributes({ [Fields.Apps]: {} });\n }\n if (!this.attributes[Fields.Cursors]) {\n this.safeSetAttributes({ [Fields.Cursors]: {} });\n }\n const sceneState = this.displayer.state.sceneState;\n if (!this.attributes[\"_mainScenePath\"]) {\n this.safeSetAttributes({ _mainScenePath: sceneState.scenePath });\n }\n if (!this.attributes[\"_mainSceneIndex\"]) {\n this.safeSetAttributes({ _mainSceneIndex: sceneState.index });\n }\n }\n }\n}\n\nsetupBuiltin();\n\nexport * from \"./typings\";\n\nexport { BuiltinApps } from \"./BuiltinApps\";\n","import { debounce, isFunction } from \"lodash\";\nimport { log } from \"./Utils/log\";\nimport { RoomPhase } from \"white-web-sdk\";\nimport type { Room } from \"white-web-sdk\";\nimport type { EmitterType } from \"./index\";\n\nexport type ReconnectRefresherContext = {\n emitter: EmitterType;\n};\n\n// 白板重连之后会刷新所有的对象,导致 listener 失效, 所以这里在重连之后重新对所有对象进行监听\nexport class ReconnectRefresher {\n private phase?: RoomPhase;\n private room: Room | undefined;\n private reactors: Map<string, any> = new Map();\n private disposers: Map<string, any> = new Map();\n\n constructor(private ctx: ReconnectRefresherContext) {}\n\n public setRoom(room: Room | undefined) {\n this.room = room;\n this.phase = room?.phase;\n room?.callbacks.off(\"onPhaseChanged\", this.onPhaseChanged);\n room?.callbacks.on(\"onPhaseChanged\", this.onPhaseChanged);\n }\n\n public setContext(ctx: ReconnectRefresherContext) {\n this.ctx = ctx;\n }\n\n private onPhaseChanged = (phase: RoomPhase) => {\n if (phase === RoomPhase.Connected && this.phase === RoomPhase.Reconnecting) {\n this.onReconnected();\n }\n this.phase = phase;\n };\n\n private onReconnected = debounce(() => {\n log(\"onReconnected refresh reactors\");\n this.releaseDisposers();\n this.reactors.forEach((func, id) => {\n if (isFunction(func)) {\n this.disposers.set(id, func());\n }\n });\n this.ctx.emitter.emit(\"onReconnected\", undefined);\n }, 3000);\n\n private releaseDisposers() {\n this.disposers.forEach(disposer => {\n if (isFunction(disposer)) {\n disposer();\n }\n });\n this.disposers.clear();\n }\n\n public add(id: string, func: any) {\n if (isFunction(func)) {\n this.reactors.set(id, func);\n this.disposers.set(id, func());\n }\n }\n\n public remove(id: string) {\n if (this.reactors.has(id)) {\n this.reactors.delete(id);\n }\n const disposer = this.disposers.get(id);\n if (disposer) {\n if (isFunction(disposer)) {\n disposer();\n }\n this.disposers.delete(id);\n }\n }\n\n public hasReactor(id: string) {\n return this.reactors.has(id);\n }\n\n public destroy() {\n this.room?.callbacks.off(\"onPhaseChanged\", this.onPhaseChanged);\n this.releaseDisposers();\n }\n}\n","import { getVersionNumber } from \"./Utils/Common\";\nimport { REQUIRE_VERSION } from \"./constants\";\nimport { WhiteVersion } from \"white-web-sdk\";\nimport { WhiteWebSDKInvalidError } from \"./Utils/error\";\nimport { WindowManager } from \"./index\";\n\nexport const setupWrapper = (\n root: HTMLElement\n): {\n playground: HTMLDivElement;\n wrapper: HTMLDivElement;\n sizer: HTMLDivElement;\n mainViewElement: HTMLDivElement;\n} => {\n const playground = document.createElement(\"div\");\n playground.className = \"netless-window-manager-playground\";\n\n const sizer = document.createElement(\"div\");\n sizer.className = \"netless-window-manager-sizer\";\n\n const wrapper = document.createElement(\"div\");\n wrapper.className = \"netless-window-manager-wrapper\";\n\n const mainViewElement = document.createElement(\"div\");\n mainViewElement.className = \"netless-window-manager-main-view\";\n\n playground.appendChild(sizer);\n sizer.appendChild(wrapper);\n wrapper.appendChild(mainViewElement);\n root.appendChild(playground);\n WindowManager.wrapper = wrapper;\n\n return { playground, wrapper, sizer, mainViewElement };\n};\n\nexport const checkVersion = () => {\n const version = getVersionNumber(WhiteVersion);\n if (version < getVersionNumber(REQUIRE_VERSION)) {\n throw new WhiteWebSDKInvalidError(REQUIRE_VERSION);\n }\n};\n"],"names":["Events","Events2","AppAttributes","AppAttributes2","AppEvents","AppEvents2","AppStatus","CursorState","CursorState2","MIN_WIDTH","MIN_HEIGHT","constructor","initInterval","setInterval","invoke","push","item","list","this","timer","length","currentInvoker","shift","then","catch","error","message","destroy","db","store","initDb","async","Promise","resolve","reject","request","indexedDB","open","onerror","e2","onupgradeneeded","event","db2","target","result","objectStoreNames","contains","createObjectStore","keyPath","createIndex","unique","onsuccess","setItem","key","val","payload","kind","sourceCode","transaction","objectStore","add","getItem","index","get","getScript","url","resource","options","timeout","controller","AbortController","id2","setTimeout","abort","response","fetch","__spreadProps","signal","headers","fetchWithTimeout","text2","text","executeScript","appName","Function","window","appRegister","Map","params","registered","set","srcOrAppOrFunction","src","downloadApp","appClass","name","emit","status","reason","includes","define","amd","loadApp","__esModule","default","Error","appClasses","app","appClassesCache","addHooks","emitter2","createKindEmitter","kind2","kindEmitters","has","Emittery","setViewFocusScenePath","view","focusScenePath","setScenePath","room","scenePath","isWritable","state","sceneState","debounce","callbacks2","mode","makeValidScenePath","displayer","scenes","entireScenes","scene","firstSceneName","parseSceneDir","sceneList","split","pop","sceneDir","join","getVersionNumber","version","versionString","map","s2","padStart","parseInt","wait","time","manager","authorId","observerId","data","eventName","AppMove","appMoveHandler","AppResize","appResizeHandler","AppBoxStateChange","boxStateChangeHandler","SetMainViewScenePath","setMainViewScenePathHandler","MoveCamera","moveCameraHandler","MoveCameraToContain","moveCameraToContainHandler","CursorMove","cursorMoveHandler","boxManager","moveBox","resizeBox","Object","assign","skipUpdate","refreshViewSize","nextScenePath","mainView","isEqual","omit","__spreadValues","camera","moveCamera","moveCameraToContain","addListeners","addMagixEventListener","mainMagixEventListener","removeListeners","removeMagixEventListener","onObjectByEvent","object","func","listenUpdated","listener","events","unlistenUpdated","reaction","fireImmediately","safeListenPropsUpdated","getProps","callback","onDestroyed","disposeListenUpdated","disposeReaction","props","isObject","onObjectRemoved","UpdateEventKind","Removed","Inserted","plainObjectKeys","keys","Boolean","Set","listeners","size","dispatch","forEach","addListener","removeListener","delete","STORAGE_NS","context","defaultState","SideEffectManager","WeakMap","StorageEvent","_context","id","_state","rawState","_getRawState","getIsWritable","getAttributes","updateAttributes","setState","rawValue","JSON","parse","stringify","isRef","v","_refMap","_sideEffect","addDisposer","_updateProperties","bind","_destroyed","warn","addStateChangedListener","handler","onStateChanged","ensureState","reduce","value","v2","_lastValue","_setRawState","refValue","k","genUID","__isRef","emptyStorage","mapValues","noop","deleteStorage","flushAll","defaultValue","actions","diffs","i2","action","oldValue","newValue","curValue","k2","appId","appProxy","appOptions","autorun","toJS","listenDisposed","unlistenDisposed","isReplay","attributes","appAttr","getAppAttributes","isDynamicPPT","getAppInitPath","canOperate","box","getBox","BoxNotCreatedError","safeSetAttributes","safeUpdateAttributes","setFullPath","getRoom","dom","getView","divElement","storeId","storage","Storage","emitter","on","args","dispatchMagixEvent","appEmitter","isAddApp","_storage","Fields","Fields2","focus","Focus","setContext","apps","Apps","getAppState","State","getMaximized","getMinimized","setupAppAttributes","attrNames","pick","attrs","createdAt","Date","now","Size","Position","SceneIndex","updateAppState","stateName","cleanAppAttributes","cleanFocus","getAppSceneIndex","getAppScenePath","getMainViewScenePath","getMainViewSceneIndex","getBoxState","BoxState","setMainViewScenePath","_mainScenePath","setMainViewSceneIndex","_mainSceneIndex","getMainViewCamera","MainViewCamera","getMainViewSize","MainViewSize","setMainViewCamera","setMainViewSize","size2","updateCursor","uid","position","Cursors","updateCursorState","cursorState","getCursorState","cleanCursor","setMainViewFocusPath","log","WindowManager","debug","appProxies","viewManager","sceneIndex","maximized","minimized","zIndex","x","y","width","height","appId2","refresher","stateKey","appState","appAttributes","setZIndex","fullPath","setFocusScenePathHandler","appListener","makeAppEventListener","initScenes","createView","readonly","getFullScenePath","FullPath","getFullScenePathFromScenes","dir","getScenePath","path","appImpl","appParams","setupApp","updateManagerRect","BoxManagerNotFoundError","AppContext","appContext","once","WindowCreated","boxInitState","getAppInitState","updateBoxState","onAny","appAttributesUpdateListener","setup","appResult","notifyApp","afterSetupApp","fixMobileSize","createBox","smartPosition","ZIndex","focusBox","intrinsicWidth","intrinsicHeight","setBoxInitState","onSeek","currentAppState","AppProxy","baseInsertApp","emitAppSceneStateChange","emitAppIsWritableChange","setBoxMinSize","minWidth","minwidth","minHeight","minheight","setBoxTitle","title","fullScenePath","needCloseBox","cleanAttrs","clearListeners","closeBox","scenePathType","ScenePathType","None","removeScenes","destroyView","appStatus","remove","close","views","release","setViewScenePath","clear","setDefaultCameraBound","setCameraBound","maxContentMode","minContentMode","mainViewCamera","moveCameraToContian","mainViewSize","mainViewClickHandler","cameraState","createMainView","moveCameraSizeByAttributes","addMainViewListener","start","setCameraAndSize","playgroundSizeChangeListener","sizeChangeHandler","sideEffectManager","off","started","addCameraListener","cameraReaction","mainViewScenePath","onReconnect","mainViewIsAddListener","addEventListener","mainViewClickListener","removeMainViewListener","removeEventListener","blurAllBox","callbacks","onCameraUpdatedByDevice","onCameraOrSizeUpdated","removeCameraListener","isEmpty","originX","originY","animationMode","AnimationMode","Immediately","scale","centerX","centerY","needScale","stop","windowManger","AppCreateQueue","isRecreate","callbacksNode","dispose","createScenesCallback","onAddScene","mainViewScenesLength","scenesCallback","onRemoveScene","prevFocused","onCanRedoStepsUpdate","onCanUndoStepsUpdate","focused","addViewCallbacks","focusApp","redoListener","undoListener","canRedoSteps","canUndoSteps","steps","ids","startsWith","isReadonly","isManualWritable","setReadonly","disableCameraTransform","disableSerialization","pageName","replace","findIndex","isInteger","dispatchInternalEvent","roomMembers","find","mainViewProxy","MainViewProxy","ViewManager","appListeners","AppListeners","displayerStateListener","reconnectRefresher","setRoom","onCreated","onReconnected","isPlayer","attributesUpdateCallback","onAppDelete","createRootDirScenesCallback","isRoom","getMainViewSceneDir","boxEventListener","setMaximized","setMinimized","mainSceneIndex","_prevSceneIndex","_prevFocused","disposePrevFocusViewRedoUndoListeners","addRedoUndoListeners","mainScenePath","displayerWritableListener","container","appsWithCreatedAt","orderBy","StartCreate","appCreateQueue","focusByAttributes","refresh","setBoxManager","resetMaximized","resetMinimized","bindMainView","needFocus","beforeAddApp","afterAddApp","impl","config","singleton","v4","slice","genAppId","setAppFocus","intrinsicX","intrinsicY","Page","_setMainViewScenePath","Dir","validScenePath","updateSceneIndex","dispatchSetMainViewScenePath","safeDispatchMagixEvent","boxSize","focusAppId","reconnected","Array","from","values","all","notifyContainerRectUpdate","rect","offAny","ResizeObserver","ResizeObserverPolyfill","sizer","wrapper","containerResizeObserver","ContainerResizeObserver","observePlaygroundSize","updateSizer","getBoundingClientRect","containerRect","contentRect","observe","containerSizeRatio","classList","toggle","style","disconnect","getOwnPropertySymbols","hasOwnProperty","prototype","propIsEnumerable","propertyIsEnumerable","TypeError","objectAssign","test1","String","getOwnPropertyNames","test2","fromCharCode","n2","test3","letter","err","shouldUseNative","source","symbols","to","toObject","arguments","call","l","require$$0","n","Symbol","for","p","q","r","t","u","w","z","A","B","iterator","a2","b2","c","encodeURIComponent","D","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","E","refs","updater","F","isReactComponent","C","forceUpdate","G","I","H","isPureReactComponent","J","current","K","L","ref","__self","__source","d2","g2","f2","children","h","m2","defaultProps","$$typeof","type","_owner","P","Q","keyPrefix","count","U","isArray","T","next","done","a3","escape","toString","X","N","aa","R","Y","ba","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","ReactCurrentOwner","IsSomeRendererActing","W","V","toArray","only","O","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","Provider","Consumer","M","render","_ctor","_status","_result","compare","Z","useCallback","useContext","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","e","defineProperty","defineProperties","i","getOwnPropertyDescriptors","s","o","t2","enumerable","configurable","writable","a","m","exports","e3","t3","i3","fn","s3","n3","o3","r2","l2","_events","_eventsCount","create","__proto__","eventNames","r3","concat","listenerCount","apply","u2","o2","removeAllListeners","prefixed","EventEmitter","f","indexOf","g","b","requestAnimationFrame","Math","max","$","delta","timestamp","_","WeakSet","cancel","splice","process","schedule","c2","S","min","Number","toFixed","test","parseFloat","transform","endsWith","j","red","hue","substring","lastIndexOf","round","green","blue","alpha","saturation","lightness","substr","ee","onRead","onRender","uncachedValues","useCache","e4","hasCSSVariable","te","ie","toLowerCase","se","re","ne","oe","ae","document","le","he","createElement","charAt","toUpperCase","ce","de","ue","ve","ge","be","color","backgroundColor","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderRadius","radius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","maxWidth","maxHeight","top","right","bottom","left","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginRight","marginBottom","marginLeft","rotate","rotateX","rotateY","rotateZ","scaleX","scaleY","scaleZ","skew","skewX","skewY","distance","translateX","translateY","translateZ","perspective","opacity","originZ","fillOpacity","strokeOpacity","numOctaves","xe","ye","we","$e","Ce","enableHardwareAcceleration","isDashCase","allowTransformNone","pe","ze","sort","fe","l3","h2","trim","transformOrigin","Be","Me","element","preparseOutput","me","getComputedStyle","getPropertyValue","buildStyles","setProperty","scrollLeft","scrollTop","Ee","ke","Se","Ne","_e","attrX","attrY","pathLength","pathSpacing","pathOffset","Re","Te","Ie","getAttribute","buildAttrs","setAttribute","Oe","pageYOffset","pageXOffset","scrollTo","De","querySelector","HTMLElement","click","SVGElement","getBBox","tagName","getTotalLength","Le","Ae","He","We","je","Pe","Ye","random","disposers","flush","clearTimeout","clearInterval","Je","Qe","Ke","et","tt","it","st","rt","nt","ot","Fe","Ze","require","_value","setValue","_subscribers","subscribe","derive","qe","addBeforeDestroy","_beforeDestroys","t4","bindSideEffect","combine","e5","i4","s4","e6","s5","createVal","stopPropagation","cancelable","preventDefault","touches","Light","Dark","Auto","Normal","Minimized","Maximized","DarkMode","PrefersColorScheme","Close","Blur","Move","Resize","IntrinsicMove","IntrinsicResize","VisualResize","Readonly","Destroyed","Maximize","Minimize","North","South","West","East","NorthWest","NorthEast","SouthEast","SouthWest","ut","buttons","onEvent","onDragStart","namespace","$btns","sideEffect","Xe","lastTitleBarClick","clientX","clientY","handleTitleBarClick","button","dataset","teleTitleBarNoDblClick","abs","lastTitleBarTouch","handleTitleBarTouch","iconClassName","wrapClassName","isActive","$dragArea","renderDragArea","setTitle","$title","textContent","$titleBar","className","teleBoxHandle","appendChild","teleTitleBarBtnIndex","isNaN","passive","dragHandle","dt","mt","prefersColorScheme","darkMode","visible","resizable","draggable","p2","fence","fixRatio","x2","y2","w2","titleBar","$2","content","C2","footer","z2","styles","B2","_2","innerWidth","innerHeight","collectorRect","M2","_renderSideEffect","handleTrackStart","_handleTrackStart","_valSideEffectBinder","Ue","E2","_delegateEvents","S2","R2","matchMedia","matches","bt","N2","T2","L2","I2","O2","D2","A2","V2","H2","W2","j2","P2","Y2","X2","F2","lt","Z2","q2","G2","U2","J2","pt","Q2","K2","ee2","$userContent","$userFooter","$userStyles","_state$","_minSize$","_size$","_intrinsicSize$","_visualSize$","_coord$","_intrinsicCoord$","$box","_darkMode$","setMinWidth","setMinHeight","resize","move","mount","unmount","mountContent","set$userContent","unmountContent","mountFooter","set$userFooter","unmountFooter","getUserStyles","mountStyles","set$userStyles","unmountStyles","ft","_readonly$","_draggable$","vt","_resizable$","_focus$","_visible$","display","_zIndex$","Ve","teleBoxID","absoluteWidth","absoluteHeight","_minimized$","_containerRect$","_collectorRect$","$content","_$userStyles$","_$userContent$","$footer","_$userFooter$","_renderResizeHandlers","pageX","pageY","ct","d3","m3","m4","wt","$t","onClick","handleCollectorClick","_readonly","_visible","_darkMode","$collector","setVisible","setDarkMode","setStyles","backgroundImage","Focused","Blurred","Created","boxes","focusedBox","$titles","firstElementChild","setContainerRect","setBoxes","updateTitles","super","nextElementSibling","insertBefore","replaceChild","renderTitles","currentTarget","scrollBy","deltaY","behavior","root","body","collector","boxes$","topBox$","setPrefersColorScheme","maxTitleBar","setFence","Ct","setCollectorRect","parentElement","makeBoxTop","zt","removeTopBox","focusTopBox","gt","topBox","query","filter","teleBoxMatcher","queryOne","update","updateBox","updateAll","getBoxIndex","removeAll","setFocus","blurBox","blurAll","every","setResizable","setDraggable","setFixRatio","createTeleBoxManagerConfig","teleBoxManager","setupBoxManager","_prefersColorScheme$","colorScheme","getTopBox","getMainView","createBoxConfig","TELE_BOX_STATE","initManagerState","TeleBoxManager","collectorContainer","setCollectorContainer","TeleBoxCollector","collectorStyles","setCollector","boxIsFocus","getFocusBox","fns","run","thing","src_url_equal_anchor","current_component","element_src","href","node","anchor","parentNode","removeChild","createTextNode","attribute","removeAttribute","wholeText","important","component","dirty_components","binding_callbacks","render_callbacks","flush_callbacks","resolved_promise","update_scheduled","flushing","seen_callbacks","$$","fragment","before_update","dirty","ctx","after_update","add_render_callback","outroing","instance2","create_fragment2","not_equal","append_styles","parent_component","bound","blank_object","on_mount","on_destroy","on_disconnect","skip_bound","ready","ret","rest","hydrate","nodes","element2","childNodes","detach","intro","block","local","customElement","new_on_destroy","is_function","cursorName","appliance","avatar","theme","cursorTagBackgroundColor","hasTagName","hasAvatar","isLaserPointer","ApplianceNames","laserPointer","entries","hasName","$destroy","detaching","d","$on","$set","$$props","obj","$$set","ApplianceMap","pencil","selector","eraser","shape","memberId","cursorManager","wrapperRect","autoHidden","moveCursor","focusView","viewRect","viewCamera","hide","updateMember","createCursor","cursor","point","screen","convertPointToScreen","member","memberState","currentApplianceName","strokeColor","nickName","cursorTextColor","memberColor","memberCursorName","memberAvatar","cursorTagName","App","initProps","memberApplianceName","getIcon","memberTheme","memberCursorTextColor","memberCursorTagBackgroundColor","memberOpacity","memberTagName","findMemberByUid","updateComponent","cursorInstances","enableCursor","cursorInstance","initCursorInstance","Leave","leave","canMoveCursor","Cursor","throttle","pointerType","isPrimary","getType","convertToPointInWorld","mainViewElement","hideCursor","setupWrapper","onCursorMove","updateContainerRect","mouseMoveListener","mouseLeaveListener","setMainViewDivElement","div","getPoint","deleteCursor","delegateRemoveScenes","originRemoveScenes","delegateSeekToProgressTime","player","originSeek","seekToProgressTime","seekResult","__defProp2","__defProps2","__getOwnPropDescs2","__getOwnPropSymbols2","__hasOwnProp2","__propIsEnum2","__defNormalProp2","__spreadValues2","prop","__spreadProps2","copyProperty","property","ignoreNonConfigurable","toDescriptor","getOwnPropertyDescriptor","fromDescriptor","canCopyProperty","wrappedToString","withName","fromBody","toStringDescriptor","toStringName","mimicFn_1","Reflect","ownKeys","fromPrototype","getPrototypeOf","setPrototypeOf","newToString","debounceFn","inputFunction","maxWait","Infinity","before","after","maxTimeout","debouncedFunction","arguments_","maxLater","shouldCallNow","wait2","runningOnBrowser","isBot","navigator","userAgent","supportsIntersectionObserver","supportsClassList","isHiDpi","devicePixelRatio","defaultSettings","elements_selector","threshold","thresholds","data_src","data_srcset","data_sizes","data_bg","data_bg_hidpi","data_bg_multi","data_bg_multi_hidpi","data_poster","class_applied","class_loading","class_loaded","class_error","class_entered","class_exited","unobserve_completed","unobserve_entered","cancel_on_exit","callback_enter","callback_exit","callback_applied","callback_loading","callback_loaded","callback_error","callback_finish","callback_cancel","use_native","getExtendedSettings","customSettings","createInstance","classObj","eventString","CustomEvent","detail","instance","createEvent","initCustomEvent","dispatchEvent","SRC","ORIGINALS","getData","getStatus","setStatus","attrName","setData","resetStatus","hasEmptyStatus","hasStatusNative","statusesAfterLoading","safeCallback","arg1","arg2","arg3","addClass","removeClass","RegExp","getTempImage","llTempImage","unobserve","observer","_observer","updateLoadingCount","loadingCount","setToLoadCount","toLoadCount","getSourceTags","parentTag","sourceTags","childTag","forEachPictureSource","parent","forEachVideoSource","attrsSrc","attrsSrcPoster","attrsSrcSrcsetSizes","hasOriginalAttrs","getOriginalAttrs","deleteOriginalAttrs","setOriginalsObject","originals","restoreOriginalAttrs","manageLoading","settings","setAttributeIfValue","setImageAttributes","setMultiBackground","bg1xValue","bgHiDpiValue","bgDataValue","setSourcesFunctions","IMG","imgEl","sourceTag","IFRAME","iframe","VIDEO","videoEl","sourceEl","load","elementsWithLoadEvent","checkFinish","isSomethingLoading","haveElementsToLoad","llEvLisnrs","hasEventListeners","removeEventListeners","eventListeners","doneHandler","addOneShotEventListeners","elementToListenTo","loadHandler2","errorHandler2","loadEventName","goingNative","loadBackground","loadRegular","setSourcesFunction","hasLoadEvent","loadNative","removeImageAttributes","restoreImg","restoreFunctions","iframeEl","restoreAttributes","restoreFunction","restore","cancelLoading","entry","hasStatusLoading","onEnter","dontLoad","hadStartedLoading","tagsWithNativeLazy","HTMLImageElement","intersectionHandler","isIntersecting","intersectionRatio","onExit","setObserver","IntersectionObserver","rootMargin","getObserverSettings","nodeSet","queryElements","querySelectorAll","hasError","hasStatusError","getElementsToLoad","elements","excludeManagedElements","retryLazyLoad","LazyLoad","_settings","givenNodeset","elementsToLoad","elementsToObserve","loadAll","restoreAll","optionsItem","lazyLoadOptions","pages","onNewPageIndex","onPlay","pageIndex","isShowPreview","isSmallBox","previewLazyLoad","$preview","$pageNumberInput","disabled","setPageIndex","setSmallBox","renderContent","renderFooter","renderPreviewMask","renderPreview","pageClassName","pageNameClassName","page","_a","previewSRC","thumbnail","$page","$name","$img","ev","stopImmediatePropagation","togglePreview","$previewMask","some","$btnSidebar","renderFooterBtn","NS","$svg","createElementNS","$path","sidebarSVG","$pageJumps","$btnPageBack","arrowLeftSVG","$btnPlay","playSVG","pauseSVG","returnPlay","$btnPageNext","arrowRightSVG","$pageNumber","select","$totalPage","$icon","$iconActive","$btn","$previewPage","offsetTop","_b","_c","velocity","paused","_animationFrameID","_loopTimestamp","looper","frames","floor","stepper","onStep","stiffness","damping","stepTo","pause","fSpring","fDamper","newVelocity","newCurrent","lastVisit","pageOffsetY","setScale","requestIdleCallback","cancelSchedule","cancelIdleCallback","els","maxElCount","gcTimer","gc","sortedEls","getEl","el","PageEl","pageEl","_hwaTimeout","NaN","_turnOffHWA","$pages","pagesScrollTop","containerWidth","containerHeight","URL","searchParams","pagesIntrinsicYs","pagesMinHeight","pagesIntrinsicWidth","pagesIntrinsicHeight","_calcScale","_calcThreshold","onPageIndexChanged","pageScrollIndex","findScrollPageIndex","pageElManager","PageElManager","renderPages","setContainerSize","pagesScrollTo","force","clamp","_turnOnHWA","startIndex","endIndex","$parent","ceil","pagesWidth","pagesHeight","scrollbarMinHeight","scrollbarHeight","_calcScrollbarHeight","onDragScroll","$scrollbar","renderScrollbar","_updateScrollbarHeight","trackStart","draggingClassName","startTop","startY","flattenEvent","tracking","ev2","offsetY","trackEnd","newHeight","whiteboardView","pageScrollTop","mountWhiteboard","onUserScroll","userScrolling","scrollToPage","_onUserScroll","debouncedOnUserScroll","pageRenderer","updateUserScroll","viewer","DocsViewer","PageRenderer","scrollbar","ScrollBar","pageScrollTop2","pageScrollTo","pageScrollStepper","Stepper","setupScrollListener","renderRatioHeight","syncPageScrollTop","renderWhiteboardView","boxHeight","titleBarSupposedHeight","titleBarActualHeight","footerSupposedHeight","footerActualHeight","emptySpace","titleBarHeight","footerHeight","$whiteboardView","capture","scrollTopPageToEl","scrollTopElToPage","elScrollTop","elScrollTo","halfWbHeight","handleCameraUpdate","wbWidth","wbHeight","handleSizeUpdate","newPageScrollTop","disposerID","dFn","onPlayPPT","pptNextStep","_scaleDocsToFitImpl","getPageIndex","_scaleDocsToFitDebounced","scaleDocsToFit","jumpToPage","getDisplayer","reset","initScenePath","getInitScenePath","getScenes","pptState","globalState","__pptState","setGlobalState","uuid","disableAutoPlay","renderMask","$mask","mountView","NetlessAppDocsViewer","ppt","previewURL","docsViewer","DynamicDocsViewer","contentWidth","contentHeight","pageWidth","pageHeight","diff","StaticDocsViewer","_a2","MessageChannel","unstable_now","performance","console","cancelAnimationFrame","port2","port1","onmessage","postMessage","sortIndex","startTime","expirationTime","priorityLevel","delay","require$$1","require$$2","onError","da","ea","fa","ha","ia","la","ma","na","pa","qa","sa","extractEvents","eventTypes","ta","phasedRegistrationNames","ua","registrationName","va","dependencies","wa","ra","ya","za","Aa","Ba","stateNode","Ia","Fa","Ja","Ka","Ea","La","Na","Oa","Pa","Qa","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","Ua","Va","xlinkHref","Wa","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","Sa","Ra","setAttributeNS","Ya","Za","$a","ab","bb","cb","eb","fb","gb","hb","ib","jb","kb","lb","mb","displayName","pb","tag","_debugOwner","_debugSource","fileName","lineNumber","return","nodeName","_valueTracker","sb","getValue","stopTracking","tb","checked","defaultChecked","_wrapperState","initialChecked","rb","initialValue","controlled","Xa","Db","ownerDocument","activeElement","Children","Fb","selected","defaultSelected","dangerouslySetInnerHTML","Mb","Nb","Pb","Qb","namespaceURI","innerHTML","valueOf","firstChild","MSApp","execUnsafeLocalFunction","lastChild","nodeType","nodeValue","Tb","animationend","Sb","animationiteration","animationstart","transitionend","Ub","Vb","animation","transition","Xb","Wb","Yb","Zb","$b","ac","bc","alternate","effectTag","memoizedState","dehydrated","dc","child","fc","sibling","kc","_dispatchListeners","_dispatchInstances","isPropagationStopped","oa","isPersistent","ic","lc","srcElement","correspondingUseElement","pc","topLevelType","nativeEvent","targetInst","ancestors","eventSystemFlags","containerInfo","tc","nc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","blockedOn","pointerId","Kc","Nc","ec","unstable_runWithPriority","priority","Rc","Qc","Sc","unstable_scheduleCallback","unstable_NormalPriority","Tc","b3","Uc","Wc","Yc","Zc","$c","bubbled","captured","eventPriority","ad","bd","cd","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","Ha","Mc","Oc","rc","sc","jd","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","order","orphans","tabSize","widows","zoom","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeWidth","kd","ld","nd","menuitem","area","base","br","col","embed","hr","img","input","keygen","link","meta","param","track","wbr","is","qd","cc","ud","offset","nextSibling","wd","compareDocumentPosition","td","HTMLIFrameElement","contentWindow","location","contentEditable","Dd","Ed","autoFocus","__html","Hd","Id","previousSibling","Ld","Md","Nd","Od","Kd","Sd","dispatchConfig","_targetInst","Rd","Vd","Ud","Yd","Zd","$d","Interface","isDefaultPrevented","defaultPrevented","returnValue","eventPool","destructor","getPooled","cancelBubble","persist","eventPhase","bubbles","timeStamp","isTrusted","extend","documentMode","beforeInput","compositionEnd","compositionStart","compositionUpdate","keyCode","locale","Xd","which","ctrlKey","altKey","metaKey","char","date","datetime","email","month","number","password","range","search","tel","week","change","yb","Pd","detachEvent","attachEvent","Ge","oc","_isInputEventSupported","Alt","Control","Meta","Shift","getModifierState","screenX","screenY","shiftKey","relatedTarget","fromElement","toElement","movementX","movementY","pressure","tangentialPressure","tiltX","tiltY","twist","mouseEnter","mouseLeave","pointerEnter","pointerLeave","defaultView","parentWindow","af","cf","df","ef","ff","gf","hf","yd","selectionStart","end","selectionEnd","anchorNode","getSelection","anchorOffset","focusNode","focusOffset","bf","kf","onSelect","jf","lf","animationName","elapsedTime","pseudoElement","mf","clipboardData","nf","charCode","pf","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Scroll","MozPrintableKey","qf","rf","of","repeat","sf","dataTransfer","tf","targetTouches","changedTouches","uf","vf","deltaX","wheelDeltaX","wheelDeltaY","wheelDelta","deltaZ","deltaMode","wf","Qd","xa","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","yf","zf","Af","Bf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","childContextTypes","getChildContext","__reactInternalMemoizedMergedChildContext","Ff","If","Jf","Kf","unstable_cancelCallback","Lf","unstable_requestPaint","Mf","Nf","unstable_getCurrentPriorityLevel","Of","unstable_ImmediatePriority","Pf","Qf","Rf","unstable_LowPriority","Sf","unstable_IdlePriority","Tf","Uf","unstable_shouldYield","Vf","Wf","Xf","Yf","Zf","$f","bg","fg","gg","jg","kg","lg","mg","childExpirationTime","firstContext","observedBits","responders","tg","updateQueue","baseState","baseQueue","shared","pending","effects","suspenseConfig","vg","ca","Dg","Eg","Component","Jg","_reactInternalFiber","Gg","wg","Hg","shouldComponentUpdate","contextType","sg","Cf","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","zg","componentDidMount","Og","_stringRef","lastEffect","nextEffect","firstEffect","Sg","Tg","elementType","Pg","Ug","implementation","Vg","f3","Wg","nb","k3","g3","D3","Qg","Xg","Rg","Yg","Zg","$g","ah","bh","documentElement","Ob","ch","memoizedProps","revealOrder","responder","jh","kh","lh","mh","ph","qh","rh","sh","O$1","queue","P$1","uh","lastRenderedReducer","eagerReducer","eagerState","Bg","Ag","lastRenderedState","th","vh","zh","deps","Ah","nh","Ch","Dh","Hh","ag","readContext","useDebugValue","useResponder","useDeferredValue","useTransition","Kh","Eh","yh","Jh","ih","Nh","Lh","Fh","Ih","Gh","Mh","wh","Bh","xh","Oh","Ph","Qh","Sh","pendingProps","Th","Jd","Vh","Gd","Yh","rg","oh","$h","bi","ci","di","Lg","Ng","Mg","Kg","ig","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","gi","Hf","getDerivedStateFromError","pendingContext","Ef","ni","pi","qi","ii","retryTime","fallback","unstable_avoidThisFallback","Uh","isBackwards","rendering","renderingStartTime","last","tail","tailExpiration","tailMode","ki","hh","Df","eh","Wh","wasMultiple","multiple","rd","onclick","sd","pd","zb","Gb","Ib","md","Rb","Hb","ti","ui","vi","wi","T$1","yi","og","ri","gh","stack","qb","Bi","__reactInternalSnapshotBeforeUpdate","Cg","Fd","Vc","Li","componentWillUnmount","Di","Ni","Oi","Qi","Ri","_reactRootContainer","Ki","Bb","Ti","Vi","Wi","Zi","componentDidCatch","aj","Ci","componentStack","Rj","bj","cj","dj","kj","lj","mj","nj","oj","Yi","qj","rj","sj","tj","uj","vj","wj","hg","timeoutMs","xj","yj","xi","lastExpiredTime","Aj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","eg","zj","dg","Bj","Cj","Ej","Fj","X$1","finishedWork","finishedExpirationTime","lastSuspendedTime","Ij","timeoutHandle","Jj","busyMinDurationMs","busyDelayMs","pingCache","Oj","Ai","Xi","ub","$i","Pj","Xc","Qj","si","U$1","zi","Sj","firstSuspendedTime","xd","rangeCount","wb","activeElementDetached","focusedElem","selectionRange","Y$1","Mi","vd","createRange","setStart","removeAllRanges","addRange","setEnd","Ji","vb","Uj","Gi","cg","Vj","Ii","hidden","Gf","ji","mi","Fg","Xj","fi","Zh","ai","Xh","fh","ei","dh","xg","qg","unstable_observedBits","Zj","pendingChildren","dk","ak","Jc","_internalRoot","ck","hasAttribute","fk","hk","gk","jk","ek","form","Mj","Ga","Dj","lk","Wd","Da","mc","findFiberByHostInstance","__REACT_DEVTOOLS_GLOBAL_HOOK__","isDisabled","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","Yj","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","hc","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","bundleType","rendererPackageName","kk","ik","checkDCE","currentTime","hostTime","muted","volume","currentTimeMaxError","syncInterval","retryInterval","verbose","beginTimestamp","progressTime","calibrationTimestamp","global","self","toStringTag","leading","trailing","seeking","mobileSeeking","hoverTime","secondsPrefix","minutesPrefix","seekPause","handleTouchSeeking","changeCurrentTimePosition","handleSeeking","setTrackWidthState","trackWidth","offsetWidth","handleTrackHover","seekHoverPosition","mouseSeekingHandler","setSeeking","onMouseUp","mobileTouchSeekingHandler","setMobileSeeking","renderBufferProgress","buffered","getPositionStyle","bufferColor","renderProgress","sliderColor","renderHoverProgress","getSeekHoverPosition","sliderHoverColor","renderThumb","isThumbActive","getThumbHandlerPosition","thumbColor","onMouseDown","onSeekStart","play","onSeekEnd","total","onChange","getHoverTimePosition","limitTimeTooltipBySides","secondsToTime","mm","ss","getHoverTime","drawHoverTime","hideHoverTime","onMouseMove","onMouseLeave","onTouchStart","onTouchEnd","stageVolume","updateVolumeTimer","onVolumeSeeking","onClickOperationButton","operationButton","operationVolumeButton","handleClickVolume","setVolume","changeTime","setCurrentTime","onVolumeChange","changeVolume","seekVolume","onVolumeSeekStart","onVolumeSeekEnd","onProgressSeekStart","isPlayerSeeking","onProgressSeekEnd","isVolumeHover","duration","onMouseEnter","putAttributes","plugin","alertMask","createRef","controllerHiddenTimer","syncPlayerTimer","retryCount","decreaseRetryTimer","noSoundSyncCount","showController","controllerVisible","debounceHidingController","isEnabled","resetPlayer","autoplay","NoSound","syncPlayerWithAttributes","catchPlayFail","decreaseRetryCount","initPlayer","MediaError","fixPlayFail","poster","pathname","one","gracefullyUpdate","onPlayer","setupAlert","setupReload","isShowingPoster","bufferedPercent","alt","VERSION","unmountComponentAtNode","BuiltinApps","AppDocsViewer","MediaPlayer","AppMediaPlayer","phase","RoomPhase","Connected","Reconnecting","releaseDisposers","reactors","isFunction","onPhaseChanged","disposer","hasReactor","InvisiblePlugin","ViewMode","Broadcaster","NETLESS_DEPS","WhiteVersion","WhiteWebSDKInvalidError","initManager","_WindowManager","isCreated","pRetry","getInvisiblePlugin","retries","ensureAttributes","appManager","AppManager","CursorManager","bindContainer","disable","scenePreview","fillSceneSnapshot","generateScreenshot","setMemberState","redo","undo","cleanCurrentScene","copy","paste","duplicate","insertImage","completeImageUpload","insertText","lockImage","lockImages","setWritable","createInvisiblePlugin","chessboard","overwriteStyles","playground","style2","initContainer","BoxManager","bindCollectorContainer","register","ParamsInvalidError","AppCreateError","setupScenePath","addApp","AppManagerNotInitError","isValidScenePath","InvalidScenePath","appScenePath","putScenes","nextIndex","mainViewSceneIndex","prevIndex","switchMainViewToWriter","onAppDestroy","setViewMode","Freedom","viewMode","setBoxState","boxState","queryAll","closeApp","pureCamera","rectangle","cameraBound","onDestroy","_destroy","setAttributes","scheme","focusedView","info","locked","sceneSrc","isNull"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../src/constants.ts","../src/Utils/AppCreateQueue.ts","../src/Register/storage.ts","../src/Register/loader.ts","../src/Register/index.ts","../src/Utils/Common.ts","../src/AppListener.ts","../src/Utils/error.ts","../src/Utils/Reactive.ts","../src/App/Storage/utils.ts","../src/App/Storage/StorageEvent.ts","../src/App/Storage/index.ts","../src/AppContext.ts","../src/AttributesDelegate.ts","../src/Utils/log.ts","../src/AppProxy.ts","../src/View/ViewManager.ts","../src/View/MainView.ts","../src/RedoUndo.ts","../src/AppManager.ts","../src/ContainerResizeObserver.ts","../node_modules/object-assign/index.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/@netless/telebox-insider/dist/telebox-insider.es.js","../src/BoxManager.ts","../node_modules/svelte/internal/index.mjs","../src/Cursor/Cursor.svelte","../src/Cursor/icons.ts","../src/image/pencil-cursor.png","../src/image/selector-cursor.png","../src/image/eraser-cursor.png","../src/image/shape-cursor.svg","../src/image/text-cursor.svg","../src/image/laser-pointer-cursor.svg","../src/Cursor/Cursor.ts","../src/Helper.ts","../src/Cursor/index.ts","../src/Utils/RoomHacker.ts","../node_modules/@netless/app-docs-viewer/dist/main.es.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/@netless/app-media-player/dist/main.es.js","../src/BuiltinApps.ts","../src/index.ts","../src/ReconnectRefresher.ts"],"sourcesContent":["export enum Events {\n AppMove = \"AppMove\",\n AppFocus = \"AppFocus\",\n AppResize = \"AppResize\",\n AppBoxStateChange = \"AppBoxStateChange\",\n GetAttributes = \"GetAttributes\",\n UpdateWindowManagerWrapper = \"UpdateWindowManagerWrapper\",\n InitReplay = \"InitReplay\",\n WindowCreated = \"WindowCreated\",\n SetMainViewScenePath = \"SetMainViewScenePath\",\n SetMainViewSceneIndex = \"SetMainViewSceneIndex\",\n SwitchViewsToFreedom = \"SwitchViewsToFreedom\",\n MoveCamera = \"MoveCamera\",\n MoveCameraToContain = \"MoveCameraToContain\",\n CursorMove = \"CursorMove\",\n}\n\nexport const MagixEventName = \"__WindowManger\";\n\nexport enum AppAttributes {\n Size = \"size\",\n Position = \"position\",\n SceneIndex = \"SceneIndex\",\n ZIndex = \"zIndex\",\n}\n\nexport enum AppEvents {\n setBoxSize = \"setBoxSize\",\n setBoxMinSize = \"setBoxMinSize\",\n destroy = \"destroy\",\n}\n\nexport enum AppStatus {\n StartCreate = \"StartCreate\",\n}\n\nexport enum CursorState {\n Leave = \"leave\",\n Normal = \"normal\",\n}\n\nexport const REQUIRE_VERSION = \"2.16.1\";\n\nexport const MIN_WIDTH = 340 / 720;\nexport const MIN_HEIGHT = 340 / 720;\n\nexport const SET_SCENEPATH_DELAY = 100; // 设置 scenePath 的延迟事件\n\nexport const DEFAULT_CONTAINER_RATIO = 9 / 16;\n\nexport const ROOT_DIR = \"/\";\n","import type { AppProxy } from \"../AppProxy\";\n\nexport type Invoker = () => Promise<AppProxy | undefined>;\n\nexport class AppCreateQueue {\n private list: Invoker[] = [];\n private currentInvoker: Invoker | undefined;\n private timer: number | undefined;\n\n private initInterval() {\n return setInterval(() => {\n this.invoke();\n }, 50);\n }\n\n public push(item: Invoker) {\n this.list.push(item);\n this.invoke();\n if (this.timer === undefined && this.list.length > 0) {\n this.timer = this.initInterval();\n }\n }\n\n public invoke() {\n if (this.list.length === 0) {\n return;\n }\n if (this.currentInvoker !== undefined) {\n return;\n }\n\n const item = this.list.shift();\n if (item) {\n this.currentInvoker = item;\n item()\n .then(() => {\n this.currentInvoker = undefined;\n if (this.list.length === 0) {\n clearInterval(this.timer);\n }\n })\n .catch(error => {\n console.error(`[WindowManager]: create app error: ${error.message}`);\n clearInterval(this.timer);\n });\n }\n }\n\n public destroy() {\n if (this.timer) {\n clearInterval(this.timer);\n }\n }\n}\n","const DatabaseName = \"__WindowManagerAppCache\";\n\nlet db: IDBDatabase;\nlet store: IDBObjectStore;\n\nexport type Item = {\n kind: string;\n sourceCode: string;\n}\n\nexport const initDb = async () => {\n db = await createDb();\n}\n\nexport const setItem = (key: string, val: any) => {\n if (!db) return;\n return addRecord(db, { kind: key, sourceCode: val })\n};\n\nexport const getItem = async (key: string): Promise<Item | null> => {\n if (!db) return null;\n return await query(db, key);\n};\n\nexport const removeItem = (key: string) => {\n if (!db) return;\n return deleteRecord(db, key);\n};\n\nfunction createDb(): Promise<IDBDatabase> {\n return new Promise((resolve, reject) => {\n const request = indexedDB.open(DatabaseName, 2);\n request.onerror = (e) => {\n reject(e);\n }\n\n request.onupgradeneeded = (event: any) => {\n const db = event.target.result as IDBDatabase;\n if (!db.objectStoreNames.contains(\"apps\")) {\n store = db.createObjectStore(\"apps\", { keyPath: \"kind\" });\n store.createIndex(\"kind\", \"kind\", { unique: true });\n }\n }\n\n request.onsuccess = () => {\n const db = request.result;\n resolve(db);\n }\n })\n}\n\nfunction query<T>(db: IDBDatabase, val: string): Promise<T | null> {\n return new Promise((resolve, reject) => {\n const index = db.transaction([\"apps\"]).objectStore(\"apps\").index(\"kind\");\n const request = index.get(val);\n request.onerror = (e) => reject(e);\n request.onsuccess = () => {\n if (request.result) {\n resolve(request.result);\n } else {\n resolve(null);\n }\n }\n })\n}\n\nfunction addRecord(db: IDBDatabase, payload: any): Promise<void> {\n return new Promise((resolve, reject) => {\n const request = db.transaction([\"apps\"], \"readwrite\").objectStore(\"apps\").add(payload);\n request.onsuccess = () => resolve();\n request.onerror = () => reject();\n })\n}\n\nfunction deleteRecord(db: IDBDatabase, key: string): Promise<void> {\n return new Promise((resolve, reject) => {\n const request = db.transaction([\"apps\"], \"readwrite\").objectStore(\"apps\").delete(key);\n request.onsuccess = () => resolve();\n request.onerror = () => reject();\n })\n}\n","import { callbacks } from \"../index\";\nimport { getItem, setItem } from \"./storage\";\nimport type { NetlessApp } from \"../typings\";\n\nconst Prefix = \"NetlessApp\";\n\nconst TIMEOUT = 10000; // 下载 script 10 秒超时\n\nexport const getScript = async (url: string): Promise<string> => {\n const item = await getItem(url);\n if (item) {\n return item.sourceCode;\n } else {\n const result = await fetchWithTimeout(url, { timeout: TIMEOUT });\n const text = await result.text();\n await setItem(url, text);\n return text;\n }\n};\n\nexport const executeScript = (text: string, appName: string): NetlessApp => {\n let result = Function(text + `\\n;return ${appName}`)();\n if (typeof result === \"undefined\") {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n result = window[appName];\n }\n return result;\n};\n\nexport const loadApp = async (\n url: string,\n key: string,\n name?: string\n): Promise<NetlessApp | undefined> => {\n const appName = name || Prefix + key;\n callbacks.emit(\"loadApp\", { kind: key, status: \"start\" });\n try {\n const text = await getScript(url);\n if (!text || text.length === 0) {\n callbacks.emit(\"loadApp\", { kind: key, status: \"failed\", reason: \"script is empty.\" });\n return;\n }\n try {\n const result = executeScript(text, appName);\n callbacks.emit(\"loadApp\", { kind: key, status: \"success\" });\n return result;\n } catch (error: any) {\n if (error.message.includes(\"Can only have one anonymous define call per script file\")) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const define = window.define;\n if (\"function\" == typeof define && define.amd) {\n delete define.amd;\n }\n const result = executeScript(text, appName);\n callbacks.emit(\"loadApp\", { kind: key, status: \"success\" });\n return result;\n }\n callbacks.emit(\"loadApp\", { kind: key, status: \"failed\", reason: error.message });\n }\n } catch (error: any) {\n callbacks.emit(\"loadApp\", { kind: key, status: \"failed\", reason: error.message });\n }\n};\n\nasync function fetchWithTimeout(resource: string, options: RequestInit & { timeout: number }) {\n const { timeout = 10000 } = options;\n\n const controller = new AbortController();\n const id = setTimeout(() => controller.abort(), timeout);\n\n const response = await fetch(resource, {\n ...options,\n signal: controller.signal,\n headers: {\n \"content-type\": \"text/plain\",\n },\n });\n clearTimeout(id);\n\n return response;\n}\n","import Emittery from \"emittery\";\nimport { loadApp } from \"./loader\";\nimport type { NetlessApp, RegisterEvents, RegisterParams } from \"../typings\";\n\nexport type LoadAppEvent = {\n kind: string;\n status: \"start\" | \"success\" | \"failed\";\n reason?: string;\n};\n\nclass AppRegister {\n public kindEmitters: Map<string, Emittery<RegisterEvents>> = new Map();\n public registered: Map<string, RegisterParams> = new Map();\n public appClassesCache: Map<string, Promise<NetlessApp>> = new Map();\n public appClasses: Map<string, () => Promise<NetlessApp>> = new Map();\n\n public async register(params: RegisterParams): Promise<void> {\n this.registered.set(params.kind, params);\n\n const srcOrAppOrFunction = params.src;\n let downloadApp: () => Promise<NetlessApp>;\n\n if (typeof srcOrAppOrFunction === \"string\") {\n downloadApp = async () => {\n let appClass = (await loadApp(srcOrAppOrFunction, params.kind)) as any;\n if (appClass) {\n if (appClass.__esModule) {\n appClass = appClass.default;\n }\n return appClass;\n } else {\n throw new Error(\n `[WindowManager]: load remote script failed, ${srcOrAppOrFunction}`\n );\n }\n };\n } else if (typeof srcOrAppOrFunction === \"function\") {\n downloadApp = srcOrAppOrFunction;\n } else {\n downloadApp = async () => srcOrAppOrFunction;\n }\n\n this.appClasses.set(params.kind, async () => {\n let app = this.appClassesCache.get(params.kind);\n if (!app) {\n app = downloadApp();\n this.appClassesCache.set(params.kind, app);\n }\n return app;\n });\n\n if (params.addHooks) {\n const emitter = this.createKindEmitter(params.kind);\n if (emitter) {\n params.addHooks(emitter);\n }\n }\n }\n\n public async notifyApp<T extends keyof RegisterEvents>(\n kind: string,\n event: T,\n payload: RegisterEvents[T]\n ) {\n const emitter = this.kindEmitters.get(kind);\n await emitter?.emit(event, payload);\n }\n\n private createKindEmitter(kind: string) {\n if (!this.kindEmitters.has(kind)) {\n const emitter = new Emittery<RegisterEvents>();\n this.kindEmitters.set(kind, emitter);\n }\n return this.kindEmitters.get(kind);\n }\n}\n\nexport const appRegister = new AppRegister();\n","import { appRegister } from \"../Register\";\nimport { debounce } from \"lodash\";\nimport { emitter } from \"../index\";\nimport { ScenePathType } from \"white-web-sdk\";\nimport { v4 } from \"uuid\";\nimport type { PublicEvent } from \"../index\";\nimport type { Displayer, ViewVisionMode, Room, View } from \"white-web-sdk\";\nimport type Emittery from \"emittery\";\nimport { ROOT_DIR } from \"../constants\";\n\nexport const genAppId = async (kind: string) => {\n const impl = await appRegister.appClasses.get(kind)?.();\n if (impl && impl.config?.singleton) {\n return kind;\n }\n return `${kind}-${v4().replace(\"-\", \"\").slice(0, 8)}`;\n};\n\nexport const setViewFocusScenePath = (view: View, focusScenePath: string) => {\n if (view.focusScenePath !== focusScenePath) {\n view.focusScenePath = focusScenePath;\n return view;\n }\n};\n\nexport const setViewSceneIndex = (view: View, index: number) => {\n if (view.focusSceneIndex !== index) {\n view.focusSceneIndex = index;\n return view;\n }\n};\n\nexport const setScenePath = (room: Room | undefined, scenePath: string) => {\n if (room && room.isWritable) {\n if (room.state.sceneState.scenePath !== scenePath) {\n room.setScenePath(scenePath);\n }\n }\n};\n\nexport const getScenePath = (\n room: Room | undefined,\n dir: string | undefined,\n index: number\n): string | undefined => {\n if (room && dir) {\n const scenes = entireScenes(room);\n const scene = scenes[dir]?.[index];\n if (scene) {\n return `${dir}/${scene.name}`;\n }\n }\n};\n\nexport const removeScenes = (room: Room | undefined, scenePath: string) => {\n if (room) {\n const type = room.scenePathType(scenePath);\n if (type !== ScenePathType.None) {\n room.removeScenes(scenePath);\n }\n }\n};\n\nexport const setViewMode = (view: View, mode: ViewVisionMode) => {\n if (!(view as any).didRelease && view.mode !== mode) {\n view.mode = mode;\n }\n};\n\nexport const emitError = (error: Error) => {\n if (emitter.listenerCount(\"error\") > 0) {\n emitter.emit(\"error\", error);\n } else {\n console.log(\"[WindowManager]:\", error);\n }\n};\n\nexport const addEmitterOnceListener = (event: any, listener: any) => {\n emitter.once(event).then(listener);\n};\n\nexport const notifyMainViewModeChange = debounce(\n (callbacks: Emittery<PublicEvent>, mode: ViewVisionMode) => {\n callbacks.emit(\"mainViewModeChange\", mode);\n },\n 200\n);\n\nexport const makeValidScenePath = (displayer: Displayer, scenePath: string, index = 0) => {\n const scenes = entireScenes(displayer)[scenePath];\n if (!scenes) return;\n const scene = scenes[index];\n if (!scene) return;\n const firstSceneName = scene.name;\n if (scenePath === ROOT_DIR) {\n return `/${firstSceneName}`;\n } else {\n return `${scenePath}/${firstSceneName}`;\n }\n};\n\nexport const entireScenes = (displayer: Displayer) => {\n return displayer.entireScenes();\n};\n\n\nexport const isValidScenePath = (scenePath: string) => {\n return scenePath.startsWith(\"/\");\n};\n\nexport const parseSceneDir = (scenePath: string) => {\n const sceneList = scenePath.split(\"/\");\n sceneList.pop();\n let sceneDir = sceneList.join(\"/\");\n // \"/page1\" 的 dir 为 \"/\"\n if (sceneDir === \"\") {\n sceneDir = \"/\";\n }\n return sceneDir;\n};\n\nexport const ensureValidScenePath = (scenePath: string) => {\n if (scenePath.endsWith(\"/\")) {\n return scenePath.slice(0, -1);\n } else {\n return scenePath;\n }\n};\n\nexport const getVersionNumber = (version: string) => {\n const versionString = version\n .split(\".\")\n .map(s => s.padStart(2, \"0\"))\n .join(\"\");\n return parseInt(versionString);\n};\n\nexport const wait = (time: number) => new Promise(resolve => setTimeout(resolve, time));\n","import { callbacks, emitter } from \"./index\";\nimport { Events, MagixEventName } from \"./constants\";\nimport { isEqual, omit } from \"lodash\";\nimport { setViewFocusScenePath } from \"./Utils/Common\";\nimport type { AnimationMode, Camera, Event } from \"white-web-sdk\";\nimport type { AppManager } from \"./AppManager\";\nimport type { TeleBoxState } from \"@netless/telebox-insider\";\nexport class AppListeners {\n private displayer = this.manager.displayer;\n\n constructor(private manager: AppManager) {}\n\n private get boxManager() {\n return this.manager.boxManager;\n }\n\n public addListeners() {\n this.displayer.addMagixEventListener(MagixEventName, this.mainMagixEventListener);\n }\n\n public removeListeners() {\n this.displayer.removeMagixEventListener(MagixEventName, this.mainMagixEventListener);\n }\n\n private mainMagixEventListener = (event: Event) => {\n if (event.authorId !== this.displayer.observerId) {\n const data = event.payload;\n switch (data.eventName) {\n case Events.AppMove: {\n this.appMoveHandler(data.payload);\n break;\n }\n case Events.AppResize: {\n this.appResizeHandler(data.payload);\n break;\n }\n case Events.AppBoxStateChange: {\n this.boxStateChangeHandler(data.payload);\n break;\n }\n case Events.SetMainViewScenePath: {\n this.setMainViewScenePathHandler(data.payload);\n break;\n }\n case Events.MoveCamera: {\n this.moveCameraHandler(data.payload);\n break;\n }\n case Events.MoveCameraToContain: {\n this.moveCameraToContainHandler(data.payload);\n break;\n }\n case Events.CursorMove: {\n this.cursorMoveHandler(data.payload);\n break;\n }\n default:\n break;\n }\n }\n };\n\n private appMoveHandler = (payload: any) => {\n this.boxManager?.moveBox(payload);\n };\n\n private appResizeHandler = (payload: any) => {\n this.boxManager?.resizeBox(Object.assign(payload, { skipUpdate: true }));\n this.manager.room?.refreshViewSize();\n };\n\n private boxStateChangeHandler = (state: TeleBoxState) => {\n callbacks.emit(\"boxStateChange\", state);\n };\n\n private setMainViewScenePathHandler = ({ nextScenePath }: { nextScenePath: string }) => {\n setViewFocusScenePath(this.manager.mainView, nextScenePath);\n callbacks.emit(\"mainViewScenePathChange\", nextScenePath);\n };\n\n private moveCameraHandler = (\n payload: Camera & { animationMode?: AnimationMode | undefined }\n ) => {\n if (isEqual(omit(payload, [\"animationMode\"]), { ...this.manager.mainView.camera })) return;\n this.manager.mainView.moveCamera(payload);\n };\n\n private moveCameraToContainHandler = (payload: any) => {\n this.manager.mainView.moveCameraToContain(payload);\n };\n\n private cursorMoveHandler = (payload: any) => {\n emitter.emit(\"cursorMove\", payload);\n };\n}\n","\nexport class AppCreateError extends Error {\n override message = \"[WindowManager]: app duplicate exists and cannot be created again\";\n}\n\nexport class AppNotRegisterError extends Error {\n constructor(kind: string) {\n super(`[WindowManager]: app ${kind} need register or provide src`);\n }\n}\n\nexport class AppManagerNotInitError extends Error {\n override message = \"[WindowManager]: AppManager must be initialized\";\n}\n\nexport class WhiteWebSDKInvalidError extends Error {\n constructor(version: string) {\n super(`[WindowManager]: white-web-sdk version must large than ${version}`);\n }\n}\n\nexport class ParamsInvalidError extends Error {\n override message = \"[WindowManager]: kind must be a valid string\";\n}\n\nexport class BoxNotCreatedError extends Error {\n override message = \"[WindowManager]: box need created\";\n}\n\nexport class InvalidScenePath extends Error {\n override message = `[WindowManager]: ScenePath should start with \"/\"`;\n}\n\nexport class BoxManagerNotFoundError extends Error {\n override message = \"[WindowManager]: boxManager not found\";\n}\n","import { listenUpdated, unlistenUpdated, reaction, UpdateEventKind } from \"white-web-sdk\";\nimport type { AkkoObjectUpdatedProperty , AkkoObjectUpdatedListener } from \"white-web-sdk\";\nimport { isObject } from \"lodash\";\n\n// 兼容 13 和 14 版本 SDK\nexport const onObjectByEvent = (event: UpdateEventKind) => {\n return (object: any, func: () => void) => {\n if (object === undefined) return;\n if (listenUpdated) {\n const listener = (events: readonly AkkoObjectUpdatedProperty<any>[]) => {\n const kinds = events.map(e => e.kind);\n if (kinds.includes(event)) {\n func();\n }\n }\n listenUpdated(object, listener);\n func();\n return () => unlistenUpdated(object, listener);\n } else {\n return reaction(\n () => object,\n () => {\n func();\n }, {\n fireImmediately: true,\n }\n )\n }\n }\n}\n\nexport const safeListenPropsUpdated = <T>(\n getProps: () => T,\n callback: AkkoObjectUpdatedListener<T>,\n onDestroyed?: (props: unknown) => void\n ) => {\n let disposeListenUpdated: (() => void) | null = null;\n const disposeReaction = reaction(\n getProps,\n () => {\n if (disposeListenUpdated) {\n disposeListenUpdated();\n disposeListenUpdated = null;\n }\n const props = getProps();\n if (isObject(props)) {\n disposeListenUpdated = () => unlistenUpdated(props, callback);\n listenUpdated(props, callback);\n } else {\n onDestroyed?.(props);\n }\n },\n { fireImmediately: true }\n );\n\n return () => {\n disposeListenUpdated?.();\n disposeReaction();\n };\n}\n\nexport const onObjectRemoved = onObjectByEvent(UpdateEventKind.Removed);\nexport const onObjectInserted = onObjectByEvent(UpdateEventKind.Inserted);\n","import { has } from \"lodash\";\nimport { genUID } from \"side-effect-manager\";\nimport type { AutoRefValue, ExtractRawValue, RefValue } from \"./typings\";\n\nexport const plainObjectKeys = Object.keys as <T>(o: T) => Array<Extract<keyof T, string>>;\n\nexport function isRef<TValue = unknown>(e: unknown): e is RefValue<TValue> {\n return Boolean(has(e, '__isRef'));\n}\n\nexport function makeRef<TValue>(v: TValue): RefValue<TValue> {\n return { k: genUID(), v, __isRef: true };\n}\n\nexport function makeAutoRef<TValue>(v: TValue): AutoRefValue<TValue> {\n return isRef<ExtractRawValue<TValue>>(v) ? v : makeRef(v as ExtractRawValue<TValue>);\n}\n","export type StorageEventListener<T> = (event: T) => void;\n\nexport class StorageEvent<TMessage> {\n listeners = new Set<StorageEventListener<TMessage>>();\n\n get length(): number {\n return this.listeners.size;\n }\n\n dispatch(message: TMessage): void {\n this.listeners.forEach(callback => callback(message));\n }\n\n addListener(listener: StorageEventListener<TMessage>): void {\n this.listeners.add(listener);\n }\n\n removeListener(listener: StorageEventListener<TMessage>): void {\n this.listeners.delete(listener);\n }\n}\n","import type { AkkoObjectUpdatedProperty } from \"white-web-sdk\";\nimport { get, has, mapValues, isObject, size, noop } from \"lodash\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport type { AppContext } from \"../../AppContext\";\nimport { safeListenPropsUpdated } from \"../../Utils/Reactive\";\nimport { isRef, makeRef, plainObjectKeys } from \"./utils\";\nimport type { Diff, MaybeRefValue, RefValue, StorageStateChangedEvent, StorageStateChangedListener, StorageStateChangedListenerDisposer } from \"./typings\";\nimport { StorageEvent } from \"./StorageEvent\";\n\nexport * from './typings';\n\nexport const STORAGE_NS = \"_WM-STORAGE_\";\n\nexport class Storage<TState extends Record<string, any> = any> implements Storage<TState> {\n readonly id: string | null;\n\n private readonly _context: AppContext;\n private readonly _sideEffect = new SideEffectManager();\n private _state: TState;\n private _destroyed = false;\n\n private _refMap = new WeakMap<any, RefValue>();\n\n /**\n * `setState` alters local state immediately before sending to server. This will cache the old value for onStateChanged diffing.\n */\n private _lastValue = new Map<string | number | symbol, TState[Extract<keyof TState, string>]>();\n\n constructor(context: AppContext, id?: string, defaultState?: TState) {\n if (defaultState && !isObject(defaultState)) {\n throw new Error(`Default state for Storage ${id} is not an object.`);\n }\n\n this._context = context;\n this.id = id || null;\n\n this._state = {} as TState;\n const rawState = this._getRawState(this._state);\n\n if (this.id !== null && this._context.getIsWritable()) {\n if (rawState === this._state || !isObject(rawState)) {\n if (!get(this._context.getAttributes(), [STORAGE_NS])) {\n this._context.updateAttributes([STORAGE_NS], {});\n }\n this._context.updateAttributes([STORAGE_NS, this.id], this._state);\n }\n if (defaultState) {\n this.setState(defaultState);\n }\n }\n\n // strip mobx\n plainObjectKeys(rawState).forEach(key => {\n if (this.id === null && key === STORAGE_NS) {\n return;\n }\n try {\n const rawValue = isObject(rawState[key]) ? JSON.parse(JSON.stringify(rawState[key])) : rawState[key];\n if (isRef<TState[Extract<keyof TState, string>]>(rawValue)) {\n this._state[key] = rawValue.v;\n if (isObject(rawValue.v)) {\n this._refMap.set(rawValue.v, rawValue);\n }\n } else {\n this._state[key] = rawValue;\n }\n } catch (e) {\n console.error(e);\n }\n });\n\n this._sideEffect.addDisposer(\n safeListenPropsUpdated(\n () => this.id === null ? context.getAttributes() : get(context.getAttributes(), [STORAGE_NS, this.id]),\n this._updateProperties.bind(this),\n this.destroy.bind(this)\n )\n );\n }\n\n get state(): Readonly<TState> {\n if (this._destroyed) {\n console.warn(`Accessing state on destroyed Storage \"${this.id}\"`)\n }\n return this._state;\n }\n\n readonly onStateChanged = new StorageEvent<StorageStateChangedEvent<TState>>();\n \n addStateChangedListener(handler: StorageStateChangedListener<TState>): StorageStateChangedListenerDisposer {\n this.onStateChanged.addListener(handler);\n return () => this.onStateChanged.removeListener(handler);\n }\n\n ensureState(state: Partial<TState>): void {\n return this.setState(\n plainObjectKeys(state).reduce((payload, key) => {\n if (!has(this._state, key)) {\n payload[key] = state[key];\n }\n return payload;\n }, {} as Partial<TState>)\n );\n }\n\n setState(state: Partial<TState>): void {\n if (this._destroyed) {\n console.error(new Error(`Cannot call setState on destroyed Storage \"${this.id}\".`));\n return;\n }\n\n if (!this._context.getIsWritable()) {\n console.error(new Error(`Cannot setState on Storage \"${this.id}\" without writable access`), state);\n return;\n }\n\n const keys = plainObjectKeys(state);\n if (keys.length > 0) {\n keys.forEach(key => {\n const value = state[key];\n if (value === this._state[key]) {\n return;\n }\n\n if (value === void 0) {\n this._lastValue.set(key, this._state[key]);\n delete this._state[key];\n this._setRawState(key, value);\n } else {\n this._lastValue.set(key, this._state[key]);\n this._state[key] = value as TState[Extract<keyof TState, string>];\n\n let payload: MaybeRefValue<typeof value> = value;\n if (isObject(value)) {\n let refValue = this._refMap.get(value);\n if (!refValue) {\n refValue = makeRef(value);\n this._refMap.set(value, refValue);\n }\n payload = refValue;\n }\n\n this._setRawState(key, payload)\n }\n });\n }\n }\n\n /**\n * Empty storage data.\n */\n emptyStorage(): void {\n if (size(this._state) <= 0) {\n return;\n }\n\n if (this._destroyed) {\n console.error(new Error(`Cannot empty destroyed Storage \"${this.id}\".`));\n return;\n }\n\n if (!this._context.getIsWritable()) {\n console.error(new Error(`Cannot empty Storage \"${this.id}\" without writable access.`));\n return;\n }\n\n this.setState(mapValues(this._state, noop as () => undefined));\n }\n\n /**\n * Delete storage index with all of its data and destroy the Storage instance.\n */\n deleteStorage(): void {\n if (this.id === null) {\n throw new Error(`Cannot delete main Storage`);\n }\n\n if (!this._context.getIsWritable()) {\n console.error(new Error(`Cannot delete Storage \"${this.id}\" without writable access.`));\n return;\n }\n\n this.destroy();\n\n this._context.updateAttributes([STORAGE_NS, this.id], void 0);\n }\n\n get destroyed(): boolean {\n return this._destroyed;\n }\n\n /**\n * Destroy the Storage instance. The data will be kept.\n */\n destroy() {\n this._destroyed = true;\n this._sideEffect.flushAll();\n }\n\n private _getRawState(): TState | undefined\n private _getRawState(defaultValue: TState): TState\n private _getRawState(defaultValue?: TState): TState | undefined {\n if (this.id === null) {\n return this._context.getAttributes() ?? defaultValue;\n } else {\n return get(this._context.getAttributes(), [STORAGE_NS, this.id], defaultValue);\n }\n }\n\n private _setRawState(key: string, value: any): void {\n if (this.id === null) {\n if (key === STORAGE_NS) {\n throw new Error(`Cannot set attribute internal filed \"${STORAGE_NS}\"`)\n }\n return this._context.updateAttributes([key], value);\n } else {\n return this._context.updateAttributes([STORAGE_NS, this.id, key], value);\n }\n }\n\n private _updateProperties(actions: ReadonlyArray<AkkoObjectUpdatedProperty<TState, string>>): void {\n if (this._destroyed) {\n console.error(new Error(`Cannot call _updateProperties on destroyed Storage \"${this.id}\".`));\n return;\n }\n\n if (actions.length > 0) {\n const diffs: Diff<TState> = {};\n\n for (let i = 0; i < actions.length; i++) {\n try {\n const action = actions[i]\n const key = action.key as Extract<keyof TState, string>;\n\n if (this.id === null && key === STORAGE_NS) {\n continue\n }\n\n const value = isObject(action.value) ? JSON.parse(JSON.stringify(action.value)) : action.value;\n let oldValue: TState[Extract<keyof TState, string>] | undefined;\n if (this._lastValue.has(key)) {\n oldValue = this._lastValue.get(key);\n this._lastValue.delete(key);\n }\n\n switch (action.kind) {\n case 2: {\n // Removed\n if (has(this._state, key)) {\n oldValue = this._state[key];\n delete this._state[key];\n }\n diffs[key] = { oldValue };\n break;\n }\n default: {\n let newValue = value;\n\n if (isRef<TState[Extract<keyof TState, string>]>(value)) {\n const { k, v } = value;\n const curValue = this._state[key];\n if (isObject(curValue) && this._refMap.get(curValue)?.k === k) {\n newValue = curValue;\n } else {\n newValue = v;\n if (isObject(v)) {\n this._refMap.set(v, value);\n }\n }\n }\n\n if (newValue !== this._state[key]) {\n oldValue = this._state[key];\n this._state[key] = newValue;\n }\n\n diffs[key] = { newValue, oldValue };\n break;\n }\n }\n } catch (e) {\n console.error(e)\n }\n }\n\n this.onStateChanged.dispatch(diffs);\n }\n }\n}\n","import {\n autorun,\n listenDisposed,\n listenUpdated,\n reaction,\n unlistenDisposed,\n unlistenUpdated,\n toJS\n} from 'white-web-sdk';\nimport { BoxNotCreatedError } from './Utils/error';\nimport type { Room, SceneDefinition, View, EventListener as WhiteEventListener } from \"white-web-sdk\";\nimport type { ReadonlyTeleBox } from \"@netless/telebox-insider\";\nimport type Emittery from \"emittery\";\nimport type { BoxManager } from \"./BoxManager\";\nimport type { AppEmitterEvent } from \"./index\";\nimport type { AppManager } from \"./AppManager\";\nimport type { AppProxy } from \"./AppProxy\";\nimport { Storage } from './App/Storage';\nimport type { MagixEventAddListener, MagixEventDispatcher, MagixEventRemoveListener } from './App/MagixEvent';\n\nexport class AppContext<TAttributes = any, TMagixEventPayloads = any, TAppOptions = any> {\n public readonly emitter: Emittery<AppEmitterEvent<TAttributes>>;\n public readonly mobxUtils = {\n autorun,\n reaction,\n toJS\n };\n public readonly objectUtils = {\n listenUpdated,\n unlistenUpdated,\n listenDisposed,\n unlistenDisposed\n };\n\n private store = this.manager.store;\n public readonly isAddApp: boolean;\n public readonly isReplay = this.manager.isReplay;\n\n constructor(\n private manager: AppManager,\n private boxManager: BoxManager,\n public appId: string,\n private appProxy: AppProxy,\n private appOptions?: TAppOptions | (() => TAppOptions),\n ) {\n this.emitter = appProxy.appEmitter;\n this.isAddApp = appProxy.isAddApp;\n }\n\n public getDisplayer = () => {\n return this.manager.displayer;\n }\n\n /** @deprecated Use context.storage.state instead. */\n public getAttributes = (): TAttributes | undefined => {\n return this.appProxy.attributes;\n }\n\n public getScenes = (): SceneDefinition[] | undefined => {\n const appAttr = this.store.getAppAttributes(this.appId);\n if (appAttr?.isDynamicPPT) {\n return this.appProxy.scenes;\n } else {\n return appAttr?.options[\"scenes\"];\n }\n }\n\n public getView = (): View | undefined => {\n return this.appProxy.view;\n }\n\n public getInitScenePath = () => {\n return this.manager.getAppInitPath(this.appId);\n }\n\n /** Get App writable status. */\n public getIsWritable = (): boolean => {\n return this.manager.canOperate;\n }\n\n /** Get the App Window UI box. */\n public getBox = (): ReadonlyTeleBox => {\n const box = this.boxManager.getBox(this.appId);\n if (box) {\n return box;\n } else {\n throw new BoxNotCreatedError();\n }\n }\n\n public getRoom = (): Room | undefined => {\n return this.manager.room;\n }\n\n /** @deprecated Use context.storage.setState instead. */\n public setAttributes = (attributes: TAttributes) => {\n this.manager.safeSetAttributes({ [this.appId]: attributes });\n }\n\n /** @deprecated Use context.storage.setState instead. */\n public updateAttributes = (keys: string[], value: any) => {\n if (this.manager.attributes[this.appId]) {\n this.manager.safeUpdateAttributes([this.appId, ...keys], value);\n }\n }\n\n public setScenePath = async (scenePath: string): Promise<void> => {\n if (!this.appProxy.box) return;\n this.appProxy.setFullPath(scenePath);\n // 兼容 15 版本 SDK 的切页\n this.getRoom()?.setScenePath(scenePath);\n }\n\n public mountView = (dom: HTMLDivElement): void => {\n const view = this.getView();\n if (view) {\n view.divElement = dom;\n setTimeout(() => {\n // 渲染需要时间,延迟 refresh\n this.getRoom()?.refreshViewSize();\n }, 1000);\n }\n }\n\n /** Get the local App options. */\n public getAppOptions = (): TAppOptions | undefined => {\n return typeof this.appOptions === 'function' ? (this.appOptions as () => TAppOptions)() : this.appOptions\n }\n\n private _storage?: Storage<TAttributes>\n\n /** Main Storage for attributes. */\n public get storage(): Storage<TAttributes> {\n if (!this._storage) {\n this._storage = new Storage(this);\n }\n return this._storage;\n }\n\n /**\n * Create separated storages for flexible state management.\n * @param storeId Namespace for the storage. Storages of the same namespace share the same data.\n * @param defaultState Default state for initial storage creation.\n * @returns \n */\n public createStorage = <TState>(storeId: string, defaultState?: TState): Storage<TState> => {\n const storage = new Storage(this, storeId, defaultState);\n this.emitter.on(\"destroy\", () => {\n storage.destroy();\n });\n return storage;\n }\n\n /** Dispatch events to other clients (and self). */\n public dispatchMagixEvent: MagixEventDispatcher<TMagixEventPayloads> = (...args) => {\n // can't dispatch events on replay mode\n return this.manager.room?.dispatchMagixEvent(...args);\n }\n\n /** Listen to events from others clients (and self messages). */\n public addMagixEventListener: MagixEventAddListener<TMagixEventPayloads> = (event, handler, options) => {\n this.manager.displayer.addMagixEventListener(event, handler as WhiteEventListener, options);\n return () => this.manager.displayer.removeMagixEventListener(event, handler as WhiteEventListener);\n }\n\n /** Remove a Magix event listener. */\n public removeMagixEventListener = this.manager.displayer.removeMagixEventListener.bind(this.manager.displayer) as MagixEventRemoveListener<TMagixEventPayloads>\n}\n","import { AppAttributes } from \"./constants\";\nimport { get, pick } from \"lodash\";\nimport { setViewFocusScenePath } from \"./Utils/Common\";\nimport type { AddAppParams, AppSyncAttributes } from \"./index\";\nimport type { Camera, Size, View } from \"white-web-sdk\";\nimport type { Cursor } from \"./Cursor/Cursor\";\n\nexport enum Fields {\n Apps = \"apps\",\n Focus = \"focus\",\n State = \"state\",\n BoxState = \"boxState\",\n MainViewCamera = \"mainViewCamera\",\n MainViewSize = \"mainViewSize\",\n Broadcaster = \"broadcaster\",\n Cursors = \"cursors\",\n Position = \"position\",\n CursorState = \"cursorState\",\n FullPath = \"fullPath\",\n}\n\nexport type Apps = {\n [key: string]: AppSyncAttributes;\n};\n\nexport type Position = {\n x: number;\n y: number;\n type: PositionType;\n id?: string;\n};\n\nexport type PositionType = \"main\" | \"app\";\n\nexport type StoreContext = {\n getAttributes: () => any;\n safeUpdateAttributes: (keys: string[], value: any) => void;\n safeSetAttributes: (attributes: any) => void;\n}\nexport class AttributesDelegate {\n\n constructor(private context: StoreContext) {}\n\n public setContext(context: StoreContext) {\n this.context = context;\n }\n\n public get attributes() {\n return this.context.getAttributes();\n }\n\n public apps(): Apps {\n return get(this.attributes, [Fields.Apps]);\n }\n\n public get focus(): string | undefined {\n return get(this.attributes, [Fields.Focus]);\n }\n\n public getAppAttributes(id: string): AppSyncAttributes {\n return get(this.apps(), [id]);\n }\n\n public getAppState(id: string) {\n return get(this.apps(), [id, Fields.State]);\n }\n\n public getMaximized() {\n return get(this.attributes, [\"maximized\"]);\n }\n\n public getMinimized() {\n return get(this.attributes, [\"minimized\"]);\n }\n\n public setupAppAttributes(params: AddAppParams, id: string, isDynamicPPT: boolean) {\n const attributes = this.attributes;\n if (!attributes.apps) {\n this.context.safeSetAttributes({ apps: {} });\n }\n const attrNames = [\"scenePath\", \"title\"];\n if (!isDynamicPPT) {\n attrNames.push(\"scenes\");\n }\n const options = pick(params.options, attrNames);\n const attrs: AppSyncAttributes = { kind: params.kind, options, isDynamicPPT };\n if (typeof params.src === \"string\") {\n attrs.src = params.src;\n }\n attrs.createdAt = Date.now();\n this.context.safeUpdateAttributes([Fields.Apps, id], attrs);\n this.context.safeUpdateAttributes([Fields.Apps, id, Fields.State], {\n [AppAttributes.Size]: {},\n [AppAttributes.Position]: {},\n [AppAttributes.SceneIndex]: 0,\n });\n }\n\n public updateAppState(appId: string, stateName: AppAttributes, state: any) {\n if (get(this.attributes, [Fields.Apps, appId, Fields.State])) {\n this.context.safeUpdateAttributes([Fields.Apps, appId, Fields.State, stateName], state);\n }\n }\n\n public cleanAppAttributes(id: string) {\n this.context.safeUpdateAttributes([Fields.Apps, id], undefined);\n this.context.safeSetAttributes({ [id]: undefined });\n const focus = this.attributes[Fields.Focus];\n if (focus === id) {\n this.cleanFocus();\n }\n }\n\n public cleanFocus() {\n this.context.safeSetAttributes({ [Fields.Focus]: undefined });\n }\n\n public getAppSceneIndex(id: string) {\n return this.getAppState(id)?.[AppAttributes.SceneIndex];\n }\n\n public getAppScenePath(id: string) {\n return this.getAppAttributes(id)?.options?.scenePath;\n }\n\n public getMainViewScenePath(): string | undefined {\n return this.attributes[\"_mainScenePath\"];\n }\n\n public getMainViewSceneIndex() {\n return this.attributes[\"_mainSceneIndex\"];\n }\n\n public getBoxState() {\n return this.attributes[Fields.BoxState];\n }\n\n public setMainViewScenePath(scenePath: string) {\n this.context.safeSetAttributes({ _mainScenePath: scenePath });\n }\n\n public setMainViewSceneIndex(index: number) {\n this.context.safeSetAttributes({ _mainSceneIndex: index });\n }\n\n public getMainViewCamera(): MainViewCamera {\n return get(this.attributes, [Fields.MainViewCamera]);\n }\n\n public getMainViewSize(): MainViewSize {\n return get(this.attributes, [Fields.MainViewSize]);\n }\n\n public setMainViewCamera(camera: (Camera & { id: string }) | undefined) {\n this.context.safeSetAttributes({ [Fields.MainViewCamera]: { ...camera } });\n }\n\n public setMainViewSize(size: (Size & { id: string }) | undefined) {\n this.context.safeSetAttributes({ [Fields.MainViewSize]: { ...size } });\n }\n\n public setAppFocus = (appId: string, focus: boolean) => {\n if (focus) {\n this.context.safeSetAttributes({ [Fields.Focus]: appId });\n } else {\n this.context.safeSetAttributes({ [Fields.Focus]: undefined });\n }\n }\n\n public updateCursor(uid: string, position: Position) {\n if (!get(this.attributes, [Fields.Cursors])) {\n this.context.safeUpdateAttributes([Fields.Cursors], {});\n }\n if (!get(this.attributes, [Fields.Cursors, uid])) {\n this.context.safeUpdateAttributes([Fields.Cursors, uid], {});\n }\n this.context.safeUpdateAttributes([Fields.Cursors, uid, Fields.Position], position);\n }\n\n public updateCursorState(uid: string, cursorState: string | undefined) {\n if (!get(this.attributes, [Fields.Cursors, uid])) {\n this.context.safeUpdateAttributes([Fields.Cursors, uid], {});\n }\n this.context.safeUpdateAttributes([Fields.Cursors, uid, Fields.CursorState], cursorState);\n }\n\n public getCursorState(uid: string) {\n return get(this.attributes, [Fields.Cursors, uid, Fields.CursorState]);\n }\n\n public cleanCursor(uid: string) {\n this.context.safeUpdateAttributes([Fields.Cursors, uid], undefined);\n }\n\n // TODO 状态中保存一个 SceneName 优化性能\n public setMainViewFocusPath(mainView: View) {\n const scenePath = this.getMainViewScenePath();\n if (scenePath) {\n setViewFocusScenePath(mainView, scenePath);\n }\n }\n}\n\nexport type MainViewSize = {\n id: string;\n width: number;\n height: number;\n};\n\nexport type MainViewCamera = {\n id: string;\n centerX: number;\n centerY: number;\n scale: number;\n};\n\nexport type Cursors = {\n [key: string]: Cursor;\n};\n\n\nexport const store = new AttributesDelegate({\n getAttributes: () => {\n throw new Error(\"getAttributes not implemented\")\n },\n safeSetAttributes: () => {\n throw new Error(\"safeSetAttributes not implemented\")\n },\n safeUpdateAttributes: () => {\n throw new Error(\"safeUpdateAttributes not implemented\")\n },\n});\n","import { WindowManager } from \"../index\";\n\nexport const log = (...args: any[]): void => {\n if (WindowManager.debug) {\n console.log(`[WindowManager]:`, ...args);\n }\n};\n","import Emittery from \"emittery\";\nimport { AppAttributes, AppEvents, Events } from \"./constants\";\nimport { AppContext } from \"./AppContext\";\nimport { appRegister } from \"./Register\";\nimport { autorun } from \"white-web-sdk\";\nimport { BoxManagerNotFoundError } from \"./Utils/error\";\nimport { debounce, get } from \"lodash\";\nimport { emitter } from \"./index\";\nimport { Fields } from \"./AttributesDelegate\";\nimport { entireScenes, getScenePath, removeScenes, setScenePath, setViewFocusScenePath } from \"./Utils/Common\";\nimport { log } from \"./Utils/log\";\nimport type {\n AppEmitterEvent,\n AppInitState,\n BaseInsertParams,\n setAppOptions,\n AppListenerKeys,\n} from \"./index\";\nimport type { SceneState, View, SceneDefinition } from \"white-web-sdk\";\nimport type { AppManager } from \"./AppManager\";\nimport type { NetlessApp } from \"./typings\";\nimport type { ReadonlyTeleBox } from \"@netless/telebox-insider\";\n\nexport class AppProxy {\n public kind: string;\n public id: string;\n public scenePath?: string;\n public appEmitter: Emittery<AppEmitterEvent>;\n public scenes?: SceneDefinition[];\n\n private appListener: any;\n private boxManager = this.manager.boxManager;\n private appProxies = this.manager.appProxies;\n private viewManager = this.manager.viewManager;\n private store = this.manager.store;\n\n public isAddApp: boolean;\n private status: \"normal\" | \"destroyed\" = \"normal\";\n private stateKey: string;\n private appResult?: NetlessApp<any>;\n private appContext?: AppContext<any, any>;\n\n constructor(\n private params: BaseInsertParams,\n private manager: AppManager,\n appId: string,\n isAddApp: boolean\n ) {\n this.kind = params.kind;\n this.id = appId;\n this.stateKey = `${this.id}_state`;\n this.appProxies.set(this.id, this);\n this.appEmitter = new Emittery();\n this.appListener = this.makeAppEventListener(this.id);\n this.isAddApp = isAddApp;\n\n this.initScenes();\n\n if (this.params.options?.scenePath) {\n // 只有传入了 scenePath 的 App 才会创建 View\n this.createView();\n }\n }\n\n private initScenes() {\n const options = this.params.options;\n if (options) {\n this.scenePath = options.scenePath;\n if (this.appAttributes?.isDynamicPPT && this.scenePath) {\n this.scenes = entireScenes(this.manager.displayer)[this.scenePath];\n } else {\n this.scenes = options.scenes;\n }\n }\n }\n\n public get view(): View | undefined {\n return this.manager.viewManager.getView(this.id);\n }\n\n public get isWritable(): boolean {\n return this.manager.canOperate && !this.box?.readonly;\n }\n\n public get attributes() {\n return this.manager.attributes[this.id];\n }\n\n public get appAttributes() {\n return this.store.getAppAttributes(this.id);\n }\n\n public getFullScenePath(): string | undefined {\n if (this.scenePath) {\n return get(this.appAttributes, [Fields.FullPath], this.getFullScenePathFromScenes());\n }\n }\n\n private getFullScenePathFromScenes() {\n const sceneIndex = get(this.appAttributes, [\"state\", \"SceneIndex\"], 0);\n const fullPath = getScenePath(this.manager.room, this.scenePath, sceneIndex);\n if (fullPath) {\n this.setFullPath(fullPath);\n }\n return fullPath;\n }\n\n public setFullPath(path: string) {\n this.manager.safeUpdateAttributes([\"apps\", this.id, Fields.FullPath], path);\n }\n\n public async baseInsertApp(skipUpdate = false): Promise<{ appId: string; app: NetlessApp }> {\n const params = this.params;\n if (!params.kind) {\n throw new Error(\"[WindowManager]: kind require\");\n }\n const appImpl = await appRegister.appClasses.get(params.kind)?.();\n const appParams = appRegister.registered.get(params.kind);\n if (appImpl) {\n await this.setupApp(\n this.id,\n skipUpdate,\n appImpl,\n params.options,\n appParams?.appOptions\n );\n } else {\n throw new Error(`[WindowManager]: app load failed ${params.kind} ${params.src}`);\n }\n emitter.emit(\"updateManagerRect\")\n return {\n appId: this.id,\n app: appImpl,\n };\n }\n\n public get box(): ReadonlyTeleBox | undefined {\n return this.boxManager?.getBox(this.id);\n }\n\n private async setupApp(\n appId: string,\n skipUpdate: boolean,\n app: NetlessApp,\n options?: setAppOptions,\n appOptions?: any\n ) {\n log(\"setupApp\", appId, app, options);\n if (!this.boxManager) {\n throw new BoxManagerNotFoundError();\n }\n const context = new AppContext(this.manager, this.boxManager, appId, this, appOptions);\n this.appContext = context;\n try {\n emitter.once(`${appId}${Events.WindowCreated}` as any).then(async () => {\n let boxInitState: AppInitState | undefined;\n if (!skipUpdate) {\n boxInitState = this.getAppInitState(appId);\n this.boxManager?.updateBoxState(boxInitState);\n }\n this.appEmitter.onAny(this.appListener);\n this.appAttributesUpdateListener(appId);\n this.setViewFocusScenePath();\n setTimeout(async () => {\n // 延迟执行 setup, 防止初始化的属性没有更新成功\n const result = await app.setup(context);\n this.appResult = result;\n appRegister.notifyApp(this.kind, \"created\", { appId, result });\n this.afterSetupApp(boxInitState);\n this.fixMobileSize();\n }, 50);\n });\n this.boxManager?.createBox({\n appId: appId,\n app,\n options,\n canOperate: this.manager.canOperate,\n smartPosition: this.isAddApp,\n });\n if (this.isAddApp && this.box) {\n this.store.updateAppState(appId, AppAttributes.ZIndex, this.box.zIndex);\n this.boxManager.focusBox({ appId }, false);\n }\n } catch (error: any) {\n console.error(error);\n throw new Error(`[WindowManager]: app setup error: ${error.message}`);\n }\n }\n\n // 兼容移动端创建时会出现 PPT 不适配的问题\n private fixMobileSize() {\n const box = this.boxManager?.getBox(this.id);\n if (box) {\n this.boxManager?.resizeBox({\n appId: this.id,\n width: box.intrinsicWidth + 0.001,\n height: box.intrinsicHeight + 0.001,\n skipUpdate: true,\n });\n }\n }\n\n private afterSetupApp(boxInitState: AppInitState | undefined): void {\n if (boxInitState) {\n if (!boxInitState?.x || !boxInitState.y) {\n this.boxManager?.setBoxInitState(this.id);\n }\n }\n }\n\n public onSeek(time: number) {\n this.appEmitter.emit(\"seek\", time);\n const boxInitState = this.getAppInitState(this.id);\n this.boxManager?.updateBoxState(boxInitState);\n }\n\n public async onReconnected() {\n this.appEmitter.emit(\"reconnected\", undefined);\n const currentAppState = this.getAppInitState(this.id);\n await this.destroy(true, false, true);\n const params = this.params;\n const appProxy = new AppProxy(params, this.manager, this.id, this.isAddApp);\n await appProxy.baseInsertApp(true);\n this.boxManager?.updateBoxState(currentAppState);\n }\n\n public getAppInitState = (id: string) => {\n const attrs = this.store.getAppState(id);\n if (!attrs) return;\n const position = attrs?.[AppAttributes.Position];\n const focus = this.store.focus;\n const size = attrs?.[AppAttributes.Size];\n const sceneIndex = attrs?.[AppAttributes.SceneIndex];\n const maximized = this.attributes?.[\"maximized\"];\n const minimized = this.attributes?.[\"minimized\"];\n const zIndex = attrs?.zIndex;\n let payload = { maximized, minimized, zIndex } as AppInitState;\n if (position) {\n payload = { ...payload, id: id, x: position.x, y: position.y };\n }\n if (focus === id) {\n payload = { ...payload, focus: true };\n }\n if (size) {\n payload = { ...payload, width: size.width, height: size.height };\n }\n if (sceneIndex) {\n payload = { ...payload, sceneIndex };\n }\n return payload;\n };\n\n public emitAppSceneStateChange(sceneState: SceneState) {\n this.appEmitter.emit(\"sceneStateChange\", sceneState);\n }\n\n public emitAppIsWritableChange() {\n this.appEmitter.emit(\"writableChange\", this.isWritable);\n }\n\n private makeAppEventListener(appId: string) {\n return (eventName: AppListenerKeys, data: any) => {\n if (!this.manager.canOperate) return;\n switch (eventName) {\n case \"setBoxSize\": {\n this.boxManager?.resizeBox({\n appId,\n width: data.width,\n height: data.height,\n skipUpdate: false,\n });\n break;\n }\n case \"setBoxMinSize\": {\n this.boxManager?.setBoxMinSize({\n appId,\n minWidth: data.minwidth,\n minHeight: data.minheight,\n });\n break;\n }\n case \"setBoxTitle\": {\n this.boxManager?.setBoxTitle({ appId, title: data.title });\n break;\n }\n case AppEvents.destroy: {\n if (this.status === \"destroyed\") return;\n this.destroy(true, false, true, data?.error);\n if (data?.error) {\n console.error(data?.error);\n }\n break;\n }\n case \"focus\": {\n this.boxManager?.focusBox({ appId: this.id });\n emitter.emit(\"focus\", { appId: this.id });\n break;\n }\n default: {\n break;\n }\n }\n };\n }\n\n private appAttributesUpdateListener = (appId: string) => {\n this.manager.refresher?.add(appId, () => {\n return autorun(() => {\n const attrs = this.manager.attributes[appId];\n if (attrs) {\n this.appEmitter.emit(\"attributesUpdate\", attrs);\n }\n });\n });\n this.manager.refresher?.add(this.stateKey, () => {\n return autorun(() => {\n const appState = this.appAttributes?.state;\n if (appState?.zIndex > 0 && appState.zIndex !== this.box?.zIndex) {\n this.boxManager?.setZIndex(appId, appState.zIndex);\n }\n });\n });\n this.manager.refresher?.add(`${appId}-fullPath`, () => {\n return autorun(() => {\n const fullPath = this.appAttributes?.fullPath;\n this.setFocusScenePathHandler(fullPath);\n });\n });\n };\n\n private setFocusScenePathHandler = debounce((fullPath: string | undefined) => {\n if (this.view && fullPath && fullPath !== this.view?.focusScenePath) {\n setViewFocusScenePath(this.view, fullPath);\n }\n }, 50);\n\n public setScenePath(): void {\n if (!this.manager.canOperate) return;\n const fullScenePath = this.getFullScenePath();\n if (this.manager.room && fullScenePath && this.view) {\n setScenePath(this.manager.room, fullScenePath);\n }\n }\n\n public setViewFocusScenePath() {\n const fullPath = this.getFullScenePath();\n if (fullPath && this.view) {\n setViewFocusScenePath(this.view, fullPath);\n }\n }\n\n private async createView(): Promise<View> {\n const view = await this.viewManager.createView(this.id);\n this.setViewFocusScenePath();\n return view;\n }\n\n public async destroy(\n needCloseBox: boolean,\n cleanAttrs: boolean,\n skipUpdate: boolean,\n error?: Error\n ) {\n if (this.status === \"destroyed\") return;\n this.status = \"destroyed\";\n try {\n await appRegister.notifyApp(this.kind, \"destroy\", { appId: this.id });\n await this.appEmitter.emit(\"destroy\", { error });\n } catch (error) {\n console.error(\"[WindowManager]: notifyApp error\", error.message, error.stack);\n }\n this.appEmitter.clearListeners();\n emitter.emit(`destroy-${this.id}` as any, { error });\n if (needCloseBox) {\n this.boxManager?.closeBox(this.id, skipUpdate);\n }\n if (cleanAttrs) {\n this.store.cleanAppAttributes(this.id);\n if (this.scenePath) {\n removeScenes(this.manager.room, this.scenePath);\n }\n }\n this.appProxies.delete(this.id);\n\n this.viewManager.destroyView(this.id);\n this.manager.appStatus.delete(this.id);\n this.manager.refresher?.remove(this.id);\n this.manager.refresher?.remove(this.stateKey);\n this.manager.refresher?.remove(`${this.id}-fullPath`);\n }\n\n public close(): Promise<void> {\n return this.destroy(true, true, false);\n }\n}\n","import type { View, Displayer } from \"white-web-sdk\";\n\nexport class ViewManager {\n public views: Map<string, View> = new Map();\n\n constructor(private displayer: Displayer) {}\n\n public createView(id: string): View {\n const view = createView(this.displayer);\n this.views.set(id, view);\n return view;\n }\n\n public getView(id: string): View | undefined {\n return this.views.get(id);\n }\n\n public destroyView(id: string): void {\n const view = this.views.get(id);\n if (view) {\n try {\n view.release();\n } catch {\n // ignore\n }\n this.views.delete(id);\n }\n }\n\n public setViewScenePath(id: string, scenePath: string): void {\n const view = this.views.get(id);\n if (view) {\n view.focusScenePath = scenePath;\n }\n }\n\n public destroy() {\n this.views.forEach(view => {\n try {\n view.release();\n } catch {\n // ignore\n }\n });\n this.views.clear();\n }\n}\n\nexport const createView = (displayer: Displayer): View => {\n const view = displayer.views.createView();\n setDefaultCameraBound(view);\n return view;\n};\n\nexport const setDefaultCameraBound = (view: View) => {\n view.setCameraBound({\n maxContentMode: () => 10,\n minContentMode: () => 0.1,\n });\n};\n","import { AnimationMode, reaction } from \"white-web-sdk\";\nimport { callbacks, emitter } from \"../index\";\nimport { createView } from \"./ViewManager\";\nimport { debounce, isEmpty, isEqual } from \"lodash\";\nimport { Fields } from \"../AttributesDelegate\";\nimport { setViewFocusScenePath } from \"../Utils/Common\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport type { Camera, Size, View } from \"white-web-sdk\";\nimport type { AppManager } from \"../AppManager\";\n\nexport class MainViewProxy {\n private scale?: number;\n private started = false;\n private mainViewIsAddListener = false;\n private mainView: View;\n private store = this.manager.store;\n\n private sideEffectManager = new SideEffectManager();\n\n constructor(private manager: AppManager) {\n this.mainView = this.createMainView();\n this.moveCameraSizeByAttributes();\n emitter.once(\"mainViewMounted\").then(() => {\n this.addMainViewListener();\n setTimeout(() => {\n this.start();\n if (!this.mainViewCamera || !this.mainViewSize) {\n this.setCameraAndSize();\n }\n }, 200); // 等待 mainView 挂载完毕再进行监听,否则会触发不必要的 onSizeUpdated\n });\n const playgroundSizeChangeListener = () => {\n this.sizeChangeHandler(this.mainViewSize);\n };\n this.sideEffectManager.add(() => {\n emitter.on(\"playgroundSizeChange\", playgroundSizeChangeListener);\n return () => emitter.off(\"playgroundSizeChange\", playgroundSizeChangeListener);\n });\n }\n\n private get mainViewCamera() {\n return this.store.getMainViewCamera();\n }\n\n private get mainViewSize() {\n return this.store.getMainViewSize();\n }\n\n private moveCameraSizeByAttributes() {\n this.moveCameraToContian(this.mainViewSize);\n this.moveCamera(this.mainViewCamera);\n }\n\n public start() {\n if (this.started) return;\n this.sizeChangeHandler(this.mainViewSize);\n this.addCameraListener();\n this.manager.refresher?.add(Fields.MainViewCamera, this.cameraReaction);\n this.started = true;\n }\n\n public setCameraAndSize(): void {\n this.store.setMainViewCamera({ ...this.mainView.camera, id: this.manager.uid });\n this.store.setMainViewSize({ ...this.mainView.size, id: this.manager.uid });\n }\n\n private cameraReaction = () => {\n return reaction(\n () => this.mainViewCamera,\n camera => {\n if (camera && camera.id !== this.manager.uid) {\n this.moveCameraToContian(this.mainViewSize);\n this.moveCamera(camera);\n }\n },\n {\n fireImmediately: true,\n }\n );\n };\n\n private sizeChangeHandler = debounce((size: Size) => {\n if (size) {\n this.moveCameraToContian(size);\n this.moveCamera(this.mainViewCamera);\n }\n }, 30);\n\n public get view(): View {\n return this.mainView;\n }\n\n public get cameraState() {\n return { ...this.view.camera, ...this.view.size };\n }\n\n public createMainView(): View {\n const mainView = createView(this.manager.displayer);\n const mainViewScenePath = this.store.getMainViewScenePath();\n if (mainViewScenePath) {\n setViewFocusScenePath(mainView, mainViewScenePath);\n }\n return mainView;\n }\n\n public onReconnect(): void {\n const mainViewScenePath = this.store.getMainViewScenePath();\n if (mainViewScenePath) {\n setViewFocusScenePath(this.view, mainViewScenePath);\n }\n }\n\n public rebind(): void {\n const divElement = this.mainView.divElement;\n const disableCameraTransform = this.mainView.disableCameraTransform;\n this.stop();\n this.mainView.release();\n this.mainView = this.createMainView();\n this.mainView.disableCameraTransform = disableCameraTransform;\n this.mainView.divElement = divElement;\n this.start();\n }\n\n private onCameraUpdatedByDevice = (camera: Camera) => {\n this.store.setMainViewCamera({ ...camera, id: this.manager.uid });\n if (!isEqual(this.mainViewSize, { ...this.mainView.size, id: this.manager.uid })) {\n this.setMainViewSize(this.view.size);\n }\n };\n\n public addMainViewListener(): void {\n if (this.mainViewIsAddListener) return;\n if (this.view.divElement) {\n this.view.divElement.addEventListener(\"click\", this.mainViewClickListener);\n this.view.divElement.addEventListener(\"touchend\", this.mainViewClickListener);\n this.mainViewIsAddListener = true;\n }\n }\n\n public removeMainViewListener(): void {\n if (this.view.divElement) {\n this.view.divElement.removeEventListener(\"click\", this.mainViewClickListener);\n this.view.divElement.removeEventListener(\"touchend\", this.mainViewClickListener);\n }\n }\n\n private mainViewClickListener = () => {\n this.mainViewClickHandler();\n };\n\n public async mainViewClickHandler(): Promise<void> {\n if (!this.manager.canOperate) return;\n this.store.cleanFocus();\n this.manager.boxManager?.blurAllBox();\n }\n\n public setMainViewSize = debounce(size => {\n this.store.setMainViewSize({ ...size, id: this.manager.uid });\n }, 50);\n\n private addCameraListener() {\n this.view.callbacks.on(\"onCameraUpdatedByDevice\", this.onCameraUpdatedByDevice);\n this.view.callbacks.on(\"onCameraUpdated\", this.onCameraOrSizeUpdated);\n this.view.callbacks.on(\"onSizeUpdated\", this.onCameraOrSizeUpdated);\n }\n\n private removeCameraListener() {\n this.view.callbacks.off(\"onCameraUpdatedByDevice\", this.onCameraUpdatedByDevice);\n this.view.callbacks.off(\"onCameraUpdated\", this.onCameraOrSizeUpdated);\n this.view.callbacks.off(\"onSizeUpdated\", this.onCameraOrSizeUpdated);\n }\n\n private onCameraOrSizeUpdated = () => {\n callbacks.emit(\"cameraStateChange\", this.cameraState);\n };\n\n public moveCameraToContian(size: Size): void {\n if (!isEmpty(size)) {\n this.view.moveCameraToContain({\n width: size.width,\n height: size.height,\n originX: -size.width / 2,\n originY: -size.height / 2,\n animationMode: AnimationMode.Immediately,\n });\n this.scale = this.view.camera.scale;\n }\n }\n\n public moveCamera(camera: Camera): void {\n if (!isEmpty(camera)) {\n if (isEqual(camera, this.view.camera)) return;\n const { centerX, centerY, scale } = camera;\n const needScale = scale * (this.scale || 1);\n this.view.moveCamera({\n centerX: centerX,\n centerY: centerY,\n scale: needScale,\n animationMode: AnimationMode.Immediately,\n });\n }\n }\n\n public stop() {\n this.removeMainViewListener();\n this.removeCameraListener();\n this.manager.refresher?.remove(Fields.MainViewCamera);\n this.manager.refresher?.remove(Fields.MainViewSize);\n this.started = false;\n }\n\n public destroy() {\n this.stop();\n this.sideEffectManager.flushAll();\n }\n}\n","import { callbacks, emitter } from \"./index\";\nimport type { View } from \"white-web-sdk\";\nimport type { AppProxy } from \"./AppProxy\";\n\nexport type RedoUndoContext = {\n mainView: () => View;\n focus: () => string | undefined;\n getAppProxy: (id: string) => AppProxy | undefined;\n};\n\nexport class RedoUndo {\n constructor(private context: RedoUndoContext) {\n emitter.on(\"focusedChange\", changed => {\n this.disposePrevFocusViewRedoUndoListeners(changed.prev);\n setTimeout(() => {\n this.addRedoUndoListeners(changed.focused);\n }, 0);\n });\n emitter.on(\"rootDirRemoved\", () => {\n this.disposePrevFocusViewRedoUndoListeners(context.focus());\n this.addRedoUndoListeners(context.focus());\n });\n this.addRedoUndoListeners(context.focus());\n }\n\n private addRedoUndoListeners = (focused: string | undefined) => {\n if (focused === undefined) {\n this.addViewCallbacks(\n this.context.mainView(),\n this.onCanRedoStepsUpdate,\n this.onCanUndoStepsUpdate\n );\n } else {\n const focusApp = this.context.getAppProxy(focused);\n if (focusApp && focusApp.view) {\n this.addViewCallbacks(\n focusApp.view,\n this.onCanRedoStepsUpdate,\n this.onCanUndoStepsUpdate\n );\n }\n }\n };\n\n private addViewCallbacks = (\n view: View,\n redoListener: (steps: number) => void,\n undoListener: (steps: number) => void\n ) => {\n redoListener(view.canRedoSteps);\n undoListener(view.canUndoSteps);\n view.callbacks.on(\"onCanRedoStepsUpdate\", redoListener);\n view.callbacks.on(\"onCanUndoStepsUpdate\", undoListener);\n };\n\n private disposeViewCallbacks = (view: View) => {\n view.callbacks.off(\"onCanRedoStepsUpdate\", this.onCanRedoStepsUpdate);\n view.callbacks.off(\"onCanUndoStepsUpdate\", this.onCanUndoStepsUpdate);\n };\n\n private onCanRedoStepsUpdate = (steps: number) => {\n callbacks.emit(\"canRedoStepsChange\", steps);\n };\n\n private onCanUndoStepsUpdate = (steps: number) => {\n callbacks.emit(\"canUndoStepsChange\", steps);\n };\n\n private disposePrevFocusViewRedoUndoListeners = (prevFocused: string | undefined) => {\n let view: View | undefined = undefined;\n if (prevFocused === undefined) {\n view = this.context.mainView();\n } else {\n const appProxy = this.context.getAppProxy(prevFocused);\n if (appProxy && appProxy.view) {\n view = appProxy.view;\n }\n }\n if (view) {\n this.disposeViewCallbacks(view);\n }\n };\n\n public destroy() {\n this.disposePrevFocusViewRedoUndoListeners(this.context.focus());\n }\n}\n","import { AppAttributes, AppStatus, Events, MagixEventName, ROOT_DIR } from \"./constants\";\nimport { AppCreateQueue } from \"./Utils/AppCreateQueue\";\nimport { AppListeners } from \"./AppListener\";\nimport { AppProxy } from \"./AppProxy\";\nimport { appRegister } from \"./Register\";\nimport { autorun, isPlayer, isRoom, ScenePathType } from \"white-web-sdk\";\nimport { callbacks, emitter, reconnectRefresher, WindowManager } from \"./index\";\nimport { get, isInteger, orderBy } from \"lodash\";\nimport { log } from \"./Utils/log\";\nimport { MainViewProxy } from \"./View/MainView\";\nimport { onObjectRemoved, safeListenPropsUpdated } from \"./Utils/Reactive\";\nimport { RedoUndo } from \"./RedoUndo\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport { store } from \"./AttributesDelegate\";\nimport { ViewManager } from \"./View/ViewManager\";\nimport {\n entireScenes,\n genAppId,\n makeValidScenePath,\n parseSceneDir,\n setScenePath,\n setViewFocusScenePath,\n} from \"./Utils/Common\";\nimport type { ReconnectRefresher } from \"./ReconnectRefresher\";\nimport type { BoxManager } from \"./BoxManager\";\nimport type { Displayer, DisplayerState, Room, ScenesCallbacksNode } from \"white-web-sdk\";\nimport type { AddAppParams, BaseInsertParams, TeleBoxRect, EmitterEvent } from \"./index\";\n\nexport class AppManager {\n public displayer: Displayer;\n public viewManager: ViewManager;\n public appProxies: Map<string, AppProxy> = new Map();\n public appStatus: Map<string, AppStatus> = new Map();\n public store = store;\n public mainViewProxy: MainViewProxy;\n public refresher?: ReconnectRefresher;\n public isReplay = this.windowManger.isReplay;\n public mainViewScenesLength = 0;\n\n private appListeners: AppListeners;\n public boxManager?: BoxManager;\n\n private _prevSceneIndex: number | undefined;\n private _prevFocused: string | undefined;\n private callbacksNode: ScenesCallbacksNode | null = null;\n private appCreateQueue = new AppCreateQueue();\n\n private sideEffectManager = new SideEffectManager();\n\n constructor(public windowManger: WindowManager) {\n this.displayer = windowManger.displayer;\n this.store.setContext({\n getAttributes: () => this.attributes,\n safeSetAttributes: attributes => this.safeSetAttributes(attributes),\n safeUpdateAttributes: (keys, val) => this.safeUpdateAttributes(keys, val),\n });\n\n this.mainViewProxy = new MainViewProxy(this);\n this.viewManager = new ViewManager(this.displayer);\n this.appListeners = new AppListeners(this);\n this.displayer.callbacks.on(this.eventName, this.displayerStateListener);\n this.appListeners.addListeners();\n\n this.refresher = reconnectRefresher;\n this.refresher.setRoom(this.room);\n this.refresher.setContext({ emitter });\n\n this.sideEffectManager.add(() => {\n return () => {\n this.appCreateQueue.destroy();\n this.mainViewProxy.destroy();\n this.refresher?.destroy();\n this.viewManager.destroy();\n this.boxManager?.destroy();\n this.callbacksNode?.dispose();\n };\n });\n\n emitter.once(\"onCreated\").then(() => this.onCreated());\n emitter.on(\"onReconnected\", () => this.onReconnected());\n if (isPlayer(this.displayer)) {\n emitter.on(\"seek\", time => {\n this.appProxies.forEach(appProxy => {\n appProxy.onSeek(time);\n });\n this.attributesUpdateCallback(this.attributes.apps);\n this.onAppDelete(this.attributes.apps);\n });\n }\n emitter.on(\"removeScenes\", scenePath => {\n if (scenePath === ROOT_DIR) {\n this.setMainViewScenePath(ROOT_DIR);\n this.createRootDirScenesCallback();\n this.onRootDirRemoved();\n emitter.emit(\"rootDirRemoved\");\n return;\n }\n const mainViewScenePath = this.store.getMainViewScenePath();\n if (this.room && mainViewScenePath) {\n if (mainViewScenePath === scenePath) {\n this.setMainViewScenePath(ROOT_DIR);\n }\n }\n });\n this.createRootDirScenesCallback();\n }\n\n /**\n * 根目录被删除时所有的 scene 都会被删除.\n * 所以需要关掉所有开启了 view 的 app\n */\n private onRootDirRemoved() {\n this.appProxies.forEach(appProxy => {\n if (appProxy.view) {\n this.closeApp(appProxy.id);\n }\n });\n // 删除了根目录的 scenes 之后 mainview 需要重新绑定, 否则主白板会不能渲染\n this.mainViewProxy.rebind();\n }\n\n private createRootDirScenesCallback = () => {\n let isRecreate = false;\n if (this.callbacksNode) {\n this.callbacksNode.dispose();\n isRecreate = true;\n }\n this.callbacksNode = this.displayer.createScenesCallback(ROOT_DIR, {\n onAddScene: scenesCallback => {\n this.mainViewScenesLength = scenesCallback.scenes.length;\n callbacks.emit(\"mainViewScenesLengthChange\", this.mainViewScenesLength);\n },\n onRemoveScene: scenesCallback => {\n this.mainViewScenesLength = scenesCallback.scenes.length;\n callbacks.emit(\"mainViewScenesLengthChange\", this.mainViewScenesLength);\n },\n });\n if (this.callbacksNode) {\n this.mainViewScenesLength = this.callbacksNode.scenes.length;\n if (isRecreate) {\n callbacks.emit(\"mainViewScenesLengthChange\", this.callbacksNode.scenes.length);\n }\n }\n };\n\n private get eventName() {\n return isRoom(this.displayer) ? \"onRoomStateChanged\" : \"onPlayerStateChanged\";\n }\n\n public get attributes() {\n return this.windowManger.attributes;\n }\n\n public get canOperate() {\n return this.windowManger.canOperate;\n }\n\n public get room() {\n return isRoom(this.displayer) ? (this.displayer as Room) : undefined;\n }\n\n public get mainView() {\n return this.mainViewProxy.view;\n }\n\n public get focusApp() {\n if (this.store.focus) {\n return this.appProxies.get(this.store.focus);\n }\n }\n\n public get uid() {\n return this.room?.uid || \"\";\n }\n\n public getMainViewSceneDir() {\n const scenePath = this.store.getMainViewScenePath();\n if (scenePath) {\n return parseSceneDir(scenePath);\n } else {\n throw new Error(\"[WindowManager]: mainViewSceneDir not found\");\n }\n }\n\n private async onCreated() {\n await this.attributesUpdateCallback(this.attributes.apps);\n emitter.emit(\"updateManagerRect\");\n emitter.onAny(this.boxEventListener);\n this.refresher?.add(\"apps\", () => {\n return safeListenPropsUpdated(\n () => this.attributes.apps,\n () => {\n this.attributesUpdateCallback(this.attributes.apps);\n }\n );\n });\n this.refresher?.add(\"appsClose\", () => {\n return onObjectRemoved(this.attributes.apps, () => {\n this.onAppDelete(this.attributes.apps);\n });\n });\n this.refresher?.add(\"maximized\", () => {\n return autorun(() => {\n const maximized = this.attributes.maximized;\n this.boxManager?.setMaximized(Boolean(maximized));\n });\n });\n this.refresher?.add(\"minimized\", () => {\n return autorun(() => {\n const minimized = this.attributes.minimized;\n if (this.boxManager?.minimized !== minimized) {\n if (minimized === true) {\n this.boxManager?.blurAllBox();\n }\n setTimeout(() => {\n this.boxManager?.setMinimized(Boolean(minimized));\n }, 0);\n }\n });\n });\n this.refresher?.add(\"mainViewIndex\", () => {\n return autorun(() => {\n const mainSceneIndex = get(this.attributes, \"_mainSceneIndex\");\n if (mainSceneIndex !== undefined && this._prevSceneIndex !== mainSceneIndex) {\n callbacks.emit(\"mainViewSceneIndexChange\", mainSceneIndex);\n this._prevSceneIndex = mainSceneIndex;\n }\n });\n });\n this.refresher?.add(\"focusedChange\", () => {\n return autorun(() => {\n const focused = get(this.attributes, \"focus\");\n if (this._prevFocused !== focused) {\n callbacks.emit(\"focusedChange\", focused);\n emitter.emit(\"focusedChange\", { focused, prev: this._prevFocused });\n this._prevFocused = focused;\n if (focused !== undefined) {\n this.boxManager?.focusBox({ appId: focused });\n // 确保 focus 修改的时候, appProxy 已经创建\n setTimeout(() => {\n const appProxy = this.appProxies.get(focused);\n if (appProxy) {\n appRegister.notifyApp(appProxy.kind, \"focus\", { appId: focused });\n }\n }, 0);\n }\n }\n });\n });\n if (!this.attributes.apps || Object.keys(this.attributes.apps).length === 0) {\n const mainScenePath = this.store.getMainViewScenePath();\n if (!mainScenePath) return;\n const sceneState = this.displayer.state.sceneState;\n if (sceneState.scenePath !== mainScenePath) {\n setScenePath(this.room, mainScenePath);\n }\n }\n this.displayerWritableListener(!this.room?.isWritable);\n this.displayer.callbacks.on(\"onEnableWriteNowChanged\", this.displayerWritableListener);\n this._prevFocused = this.attributes.focus;\n\n this.sideEffectManager.add(() => {\n const redoUndo = new RedoUndo({\n mainView: () => this.mainViewProxy.view,\n focus: () => this.attributes.focus,\n getAppProxy: id => this.appProxies.get(id),\n });\n return () => redoUndo.destroy();\n });\n }\n\n /**\n * 插件更新 attributes 时的回调\n *\n * @param {*} attributes\n * @memberof WindowManager\n */\n public async attributesUpdateCallback(apps: any) {\n if (apps && WindowManager.container) {\n const appIds = Object.keys(apps);\n const appsWithCreatedAt = appIds.map(appId => {\n return {\n id: appId,\n createdAt: apps[appId].createdAt,\n };\n });\n for (const { id } of orderBy(appsWithCreatedAt, \"createdAt\", \"asc\")) {\n if (!this.appProxies.has(id) && !this.appStatus.has(id)) {\n const app = apps[id];\n\n this.appStatus.set(id, AppStatus.StartCreate);\n try {\n const appAttributes = this.attributes[id];\n if (!appAttributes) {\n throw new Error(\"appAttributes is undefined\");\n }\n this.appCreateQueue.push(() => {\n return this.baseInsertApp(\n {\n kind: app.kind,\n options: app.options,\n isDynamicPPT: app.isDynamicPPT,\n },\n id,\n false\n );\n });\n this.focusByAttributes(apps);\n } catch (error) {\n console.warn(`[WindowManager]: Insert App Error`, error);\n }\n }\n }\n }\n }\n\n public refresh() {\n this.attributesUpdateCallback(this.attributes.apps);\n }\n\n public setBoxManager(boxManager: BoxManager) {\n this.boxManager = boxManager;\n }\n\n public resetMaximized() {\n this.boxManager?.setMaximized(Boolean(this.store.getMaximized()));\n }\n\n public resetMinimized() {\n this.boxManager?.setMinimized(Boolean(this.store.getMinimized()));\n }\n\n private onAppDelete = (apps: any) => {\n const ids = Object.keys(apps);\n this.appProxies.forEach((appProxy, id) => {\n if (!ids.includes(id)) {\n appProxy.destroy(true, false, true);\n }\n });\n };\n\n public bindMainView(divElement: HTMLDivElement, disableCameraTransform: boolean) {\n const mainView = this.mainViewProxy.view;\n mainView.disableCameraTransform = disableCameraTransform;\n mainView.divElement = divElement;\n if (!mainView.focusScenePath) {\n this.setMainViewFocusPath();\n }\n emitter.emit(\"mainViewMounted\");\n }\n\n public setMainViewFocusPath(scenePath?: string) {\n const focusScenePath = scenePath || this.store.getMainViewScenePath();\n if (focusScenePath) {\n const view = setViewFocusScenePath(this.mainView, focusScenePath);\n return view?.focusScenePath === focusScenePath;\n }\n }\n\n public async addApp(params: AddAppParams, isDynamicPPT: boolean): Promise<string | undefined> {\n log(\"addApp\", params);\n const { appId, needFocus } = await this.beforeAddApp(params, isDynamicPPT);\n const appProxy = await this.baseInsertApp(params, appId, true, needFocus);\n this.afterAddApp(appProxy);\n return appProxy?.id;\n }\n\n private async beforeAddApp(params: AddAppParams, isDynamicPPT: boolean) {\n const appId = await genAppId(params.kind);\n this.appStatus.set(appId, AppStatus.StartCreate);\n const attrs = params.attributes ?? {};\n this.safeUpdateAttributes([appId], attrs);\n this.store.setupAppAttributes(params, appId, isDynamicPPT);\n const needFocus = !this.boxManager?.minimized;\n if (needFocus) {\n this.store.setAppFocus(appId, true);\n }\n return { appId, needFocus };\n }\n\n private afterAddApp(appProxy: AppProxy | undefined) {\n if (appProxy && appProxy.box) {\n const box = appProxy.box;\n emitter.emit(\"move\", {\n appId: appProxy.id,\n x: box?.intrinsicX,\n y: box?.intrinsicY,\n });\n this.store.updateAppState(appProxy.id, AppAttributes.ZIndex, box.zIndex);\n }\n if (this.boxManager?.minimized) {\n this.boxManager?.setMinimized(false, false);\n }\n }\n\n public async closeApp(appId: string) {\n const appProxy = this.appProxies.get(appId);\n if (appProxy) {\n appProxy.destroy(true, true, false);\n }\n }\n\n private async baseInsertApp(\n params: BaseInsertParams,\n appId: string,\n isAddApp: boolean,\n focus?: boolean\n ) {\n if (this.appProxies.has(appId)) {\n console.warn(\"[WindowManager]: app duplicate exists and cannot be created again\");\n return;\n }\n const appProxy = new AppProxy(params, this, appId, isAddApp);\n if (appProxy) {\n await appProxy.baseInsertApp(focus);\n this.appStatus.delete(appId);\n return appProxy;\n } else {\n this.appStatus.delete(appId);\n throw new Error(\"[WindowManger]: initialize AppProxy failed\");\n }\n }\n\n private displayerStateListener = (state: Partial<DisplayerState>) => {\n const sceneState = state.sceneState;\n if (sceneState) {\n const scenePath = sceneState.scenePath;\n this.appProxies.forEach(appProxy => {\n if (appProxy.scenePath && scenePath.startsWith(appProxy.scenePath)) {\n appProxy.emitAppSceneStateChange(sceneState);\n appProxy.setFullPath(scenePath);\n }\n });\n }\n this.appProxies.forEach(appProxy => {\n appProxy.appEmitter.emit(\"roomStateChange\", state);\n });\n emitter.emit(\"observerIdChange\", this.displayer.observerId);\n };\n\n public displayerWritableListener = (isReadonly: boolean) => {\n const isWritable = !isReadonly;\n const isManualWritable =\n this.windowManger.readonly === undefined || this.windowManger.readonly === false;\n if (this.windowManger.readonly === undefined) {\n this.boxManager?.setReadonly(isReadonly);\n } else {\n this.boxManager?.setReadonly(!(isWritable && isManualWritable));\n }\n this.appProxies.forEach(appProxy => {\n appProxy.emitAppIsWritableChange();\n });\n if (isWritable === true) {\n this.mainView.disableCameraTransform = false;\n if (this.room && this.room.disableSerialization === true) {\n this.room.disableSerialization = false;\n }\n } else {\n this.mainView.disableCameraTransform = true;\n }\n };\n\n public safeSetAttributes(attributes: any) {\n this.windowManger.safeSetAttributes(attributes);\n }\n\n public safeUpdateAttributes(keys: string[], value: any) {\n this.windowManger.safeUpdateAttributes(keys, value);\n }\n\n public async setMainViewScenePath(scenePath: string) {\n if (this.room) {\n const scenePathType = this.displayer.scenePathType(scenePath);\n const sceneDir = parseSceneDir(scenePath);\n if (sceneDir !== ROOT_DIR) {\n throw new Error(`[WindowManager]: main view scenePath must in root dir \"/\"`);\n }\n if (scenePathType === ScenePathType.None) {\n throw new Error(`[WindowManager]: ${scenePath} not valid scene`);\n } else if (scenePathType === ScenePathType.Page) {\n await this._setMainViewScenePath(scenePath);\n } else if (scenePathType === ScenePathType.Dir) {\n const validScenePath = makeValidScenePath(this.displayer, scenePath);\n if (validScenePath) {\n await this._setMainViewScenePath(validScenePath);\n }\n }\n }\n }\n\n private async _setMainViewScenePath(scenePath: string) {\n const success = this.setMainViewFocusPath(scenePath);\n if (success) {\n this.safeSetAttributes({ _mainScenePath: scenePath });\n this.store.setMainViewFocusPath(this.mainView);\n this.updateSceneIndex();\n this.dispatchSetMainViewScenePath(scenePath);\n }\n }\n\n private updateSceneIndex = () => {\n const scenePath = this.store.getMainViewScenePath() as string;\n const sceneDir = parseSceneDir(scenePath);\n const scenes = entireScenes(this.displayer)[sceneDir];\n if (scenes.length) {\n // \"/ppt3/1\" -> \"1\"\n const pageName = scenePath.replace(sceneDir, \"\").replace(\"/\", \"\");\n const index = scenes.findIndex(scene => scene.name === pageName);\n if (isInteger(index) && index >= 0) {\n this.safeSetAttributes({ _mainSceneIndex: index });\n }\n }\n };\n\n public async setMainViewSceneIndex(index: number) {\n if (this.room) {\n if (this.store.getMainViewSceneIndex() === index) return;\n const mainViewScenePath = this.store.getMainViewScenePath() as string;\n if (mainViewScenePath) {\n const sceneDir = parseSceneDir(mainViewScenePath);\n const scenePath = makeValidScenePath(this.displayer, sceneDir, index);\n if (scenePath) {\n const success = this.setMainViewFocusPath(scenePath);\n if (success) {\n this.store.setMainViewScenePath(scenePath);\n this.safeSetAttributes({ _mainSceneIndex: index });\n this.dispatchSetMainViewScenePath(scenePath);\n }\n } else {\n throw new Error(`[WindowManager]: ${sceneDir}: ${index} not valid index`);\n }\n }\n }\n }\n\n private dispatchSetMainViewScenePath(scenePath: string): void {\n this.dispatchInternalEvent(Events.SetMainViewScenePath, { nextScenePath: scenePath });\n // 兼容 15 的 SDK, 需要 room 的当前 ScenePath\n setScenePath(this.room, scenePath);\n }\n\n public getAppInitPath(appId: string): string | undefined {\n const attrs = this.store.getAppAttributes(appId);\n if (attrs) {\n return attrs?.options?.scenePath;\n }\n }\n\n public safeDispatchMagixEvent(event: string, payload: any) {\n if (this.canOperate) {\n (this.displayer as Room).dispatchMagixEvent(event, payload);\n }\n }\n\n private boxEventListener = (eventName: keyof EmitterEvent, payload: any) => {\n switch (eventName) {\n case \"move\": {\n this.dispatchInternalEvent(Events.AppMove, payload);\n this.store.updateAppState(payload.appId, AppAttributes.Position, {\n x: payload.x,\n y: payload.y,\n });\n break;\n }\n case \"focus\": {\n this.windowManger.safeSetAttributes({ focus: payload.appId });\n break;\n }\n case \"resize\": {\n if (payload.width && payload.height) {\n this.dispatchInternalEvent(Events.AppResize, payload);\n this.store.updateAppState(payload.appId, AppAttributes.Size, {\n width: payload.width,\n height: payload.height,\n });\n }\n break;\n }\n case \"close\": {\n const appProxy = this.appProxies.get(payload.appId);\n if (appProxy) {\n appProxy.destroy(false, true, payload.error);\n }\n break;\n }\n case \"boxStateChange\": {\n this.dispatchInternalEvent(Events.AppBoxStateChange, payload);\n break;\n }\n default:\n break;\n }\n };\n\n public focusByAttributes(apps: any) {\n if (apps && Object.keys(apps).length === this.boxManager?.boxSize) {\n const focusAppId = this.store.focus;\n if (focusAppId) {\n this.boxManager.focusBox({ appId: focusAppId });\n }\n }\n }\n\n public async onReconnected() {\n const appProxies = Array.from(this.appProxies.values());\n const reconnected = appProxies.map(appProxy => {\n return appProxy.onReconnected();\n });\n this.mainViewProxy.onReconnect();\n await Promise.all(reconnected);\n }\n\n public notifyContainerRectUpdate(rect: TeleBoxRect) {\n this.appProxies.forEach(appProxy => {\n appProxy.appEmitter.emit(\"containerRectUpdate\", rect);\n });\n }\n\n public dispatchInternalEvent(event: Events, payload: any) {\n this.safeDispatchMagixEvent(MagixEventName, {\n eventName: event,\n payload: payload,\n });\n }\n\n public destroy() {\n this.displayer.callbacks.off(this.eventName, this.displayerStateListener);\n this.displayer.callbacks.off(\"onEnableWriteNowChanged\", this.displayerWritableListener);\n this.appListeners.removeListeners();\n emitter.offAny(this.boxEventListener);\n emitter.clearListeners();\n if (this.appProxies.size) {\n this.appProxies.forEach(appProxy => {\n appProxy.destroy(true, false, true);\n });\n }\n callbacks.clearListeners();\n this.sideEffectManager.flushAll();\n this._prevFocused = undefined;\n this._prevSceneIndex = undefined;\n }\n}\n","import { ResizeObserver as ResizeObserverPolyfill } from \"@juggle/resize-observer\";\nimport { WindowManager } from \"./index\";\nimport type { EmitterType } from \"./index\";\n\nconst ResizeObserver = window.ResizeObserver || ResizeObserverPolyfill;\n\nexport class ContainerResizeObserver {\n private containerResizeObserver?: ResizeObserver;\n\n constructor(private emitter: EmitterType) {}\n\n public static create(\n container: HTMLElement,\n sizer: HTMLElement,\n wrapper: HTMLDivElement,\n emitter: EmitterType\n ) {\n const containerResizeObserver = new ContainerResizeObserver(emitter);\n containerResizeObserver.observePlaygroundSize(container, sizer, wrapper);\n return containerResizeObserver;\n }\n\n public observePlaygroundSize(\n container: HTMLElement,\n sizer: HTMLElement,\n wrapper: HTMLDivElement\n ) {\n this.updateSizer(container.getBoundingClientRect(), sizer, wrapper);\n\n this.containerResizeObserver = new ResizeObserver(entries => {\n const containerRect = entries[0]?.contentRect;\n if (containerRect) {\n this.updateSizer(containerRect, sizer, wrapper);\n this.emitter.emit(\"playgroundSizeChange\", containerRect);\n }\n });\n\n this.containerResizeObserver.observe(container);\n }\n\n private updateSizer(\n { width, height }: DOMRectReadOnly,\n sizer: HTMLElement,\n wrapper: HTMLDivElement\n ) {\n if (width && height) {\n if (height / width > WindowManager.containerSizeRatio) {\n height = width * WindowManager.containerSizeRatio;\n sizer.classList.toggle(\"netless-window-manager-sizer-horizontal\", true);\n } else {\n width = height / WindowManager.containerSizeRatio;\n sizer.classList.toggle(\"netless-window-manager-sizer-horizontal\", false);\n }\n wrapper.style.width = `${width}px`;\n wrapper.style.height = `${height}px`;\n }\n }\n\n public disconnect() {\n this.containerResizeObserver?.disconnect();\n }\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/** @license React v16.14.0\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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';var l=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113,z=n?Symbol.for(\"react.memo\"):60115,A=n?Symbol.for(\"react.lazy\"):\n60116,B=\"function\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}\nvar D={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},E={};function F(a,b,c){this.props=a;this.context=b;this.refs=E;this.updater=c||D}F.prototype.isReactComponent={};F.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(C(85));this.updater.enqueueSetState(this,a,b,\"setState\")};F.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};\nfunction G(){}G.prototype=F.prototype;function H(a,b,c){this.props=a;this.context=b;this.refs=E;this.updater=c||D}var I=H.prototype=new G;I.constructor=H;l(I,F.prototype);I.isPureReactComponent=!0;var J={current:null},K=Object.prototype.hasOwnProperty,L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,c){var e,d={},g=null,k=null;if(null!=b)for(e in void 0!==b.ref&&(k=b.ref),void 0!==b.key&&(g=\"\"+b.key),b)K.call(b,e)&&!L.hasOwnProperty(e)&&(d[e]=b[e]);var f=arguments.length-2;if(1===f)d.children=c;else if(1<f){for(var h=Array(f),m=0;m<f;m++)h[m]=arguments[m+2];d.children=h}if(a&&a.defaultProps)for(e in f=a.defaultProps,f)void 0===d[e]&&(d[e]=f[e]);return{$$typeof:p,type:a,key:g,ref:k,props:d,_owner:J.current}}\nfunction N(a,b){return{$$typeof:p,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===p}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+(\"\"+a).replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g,Q=[];function R(a,b,c,e){if(Q.length){var d=Q.pop();d.result=a;d.keyPrefix=b;d.func=c;d.context=e;d.count=0;return d}return{result:a,keyPrefix:b,func:c,context:e,count:0}}\nfunction S(a){a.result=null;a.keyPrefix=null;a.func=null;a.context=null;a.count=0;10>Q.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;k<a.length;k++){d=a[k];var f=b+U(d,k);g+=T(d,f,c,e)}else if(null===a||\"object\"!==typeof a?f=null:(f=B&&a[B]||a[\"@@iterator\"],f=\"function\"===typeof f?f:null),\"function\"===typeof f)for(a=f.call(a),k=\n0;!(d=a.next()).done;)d=d.value,f=b+U(d,k++),g+=T(d,f,c,e);else if(\"object\"===d)throw c=\"\"+a,Error(C(31,\"[object Object]\"===c?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":c,\"\"));return g}function V(a,b,c){return null==a?0:T(a,\"\",b,c)}function U(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(a.key):b.toString(36)}function W(a,b){a.func.call(a.context,b,a.count++)}\nfunction aa(a,b,c){var e=a.result,d=a.keyPrefix;a=a.func.call(a.context,b,a.count++);Array.isArray(a)?X(a,e,c,function(a){return a}):null!=a&&(O(a)&&(a=N(a,d+(!a.key||b&&b.key===a.key?\"\":(\"\"+a.key).replace(P,\"$&/\")+\"/\")+c)),e.push(a))}function X(a,b,c,e,d){var g=\"\";null!=c&&(g=(\"\"+c).replace(P,\"$&/\")+\"/\");b=R(b,g,e,d);V(a,aa,b);S(b)}var Y={current:null};function Z(){var a=Y.current;if(null===a)throw Error(C(321));return a}\nvar ba={ReactCurrentDispatcher:Y,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:J,IsSomeRendererActing:{current:!1},assign:l};exports.Children={map:function(a,b,c){if(null==a)return a;var e=[];X(a,e,null,b,c);return e},forEach:function(a,b,c){if(null==a)return a;b=R(null,null,b,c);V(a,W,b);S(b)},count:function(a){return V(a,function(){return null},null)},toArray:function(a){var b=[];X(a,b,null,function(a){return a});return b},only:function(a){if(!O(a))throw Error(C(143));return a}};\nexports.Component=F;exports.Fragment=r;exports.Profiler=u;exports.PureComponent=H;exports.StrictMode=t;exports.Suspense=y;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=ba;\nexports.cloneElement=function(a,b,c){if(null===a||void 0===a)throw Error(C(267,a));var e=l({},a.props),d=a.key,g=a.ref,k=a._owner;if(null!=b){void 0!==b.ref&&(g=b.ref,k=J.current);void 0!==b.key&&(d=\"\"+b.key);if(a.type&&a.type.defaultProps)var f=a.type.defaultProps;for(h in b)K.call(b,h)&&!L.hasOwnProperty(h)&&(e[h]=void 0===b[h]&&void 0!==f?f[h]:b[h])}var h=arguments.length-2;if(1===h)e.children=c;else if(1<h){f=Array(h);for(var m=0;m<h;m++)f[m]=arguments[m+2];e.children=f}return{$$typeof:p,type:a.type,\nkey:d,ref:g,props:e,_owner:k}};exports.createContext=function(a,b){void 0===b&&(b=null);a={$$typeof:w,_calculateChangedBits:b,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null};a.Provider={$$typeof:v,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};exports.forwardRef=function(a){return{$$typeof:x,render:a}};exports.isValidElement=O;\nexports.lazy=function(a){return{$$typeof:A,_ctor:a,_status:-1,_result:null}};exports.memo=function(a,b){return{$$typeof:z,type:a,compare:void 0===b?null:b}};exports.useCallback=function(a,b){return Z().useCallback(a,b)};exports.useContext=function(a,b){return Z().useContext(a,b)};exports.useDebugValue=function(){};exports.useEffect=function(a,b){return Z().useEffect(a,b)};exports.useImperativeHandle=function(a,b,c){return Z().useImperativeHandle(a,b,c)};\nexports.useLayoutEffect=function(a,b){return Z().useLayoutEffect(a,b)};exports.useMemo=function(a,b){return Z().useMemo(a,b)};exports.useReducer=function(a,b,c){return Z().useReducer(a,b,c)};exports.useRef=function(a){return Z().useRef(a)};exports.useState=function(a){return Z().useState(a)};exports.version=\"16.14.0\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","var e=Object.defineProperty,t=Object.defineProperties,i=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,o=(t,i,s)=>i in t?e(t,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[i]=s,a=(e,t)=>{for(var i in t||(t={}))r.call(t,i)&&o(e,i,t[i]);if(s)for(var i of s(t))n.call(t,i)&&o(e,i,t[i]);return e},l=(e,s)=>t(e,i(s));import h,{useRef as c,useEffect as d,useState as u}from\"react\";var m={exports:{}};!function(e){var t=Object.prototype.hasOwnProperty,i=\"~\";function s(){}function r(e,t,i){this.fn=e,this.context=t,this.once=i||!1}function n(e,t,s,n,o){if(\"function\"!=typeof s)throw new TypeError(\"The listener must be a function\");var a=new r(s,n||e,o),l=i?i+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],a]:e._events[l].push(a):(e._events[l]=a,e._eventsCount++),e}function o(e,t){0==--e._eventsCount?e._events=new s:delete e._events[t]}function a(){this._events=new s,this._eventsCount=0}Object.create&&(s.prototype=Object.create(null),(new s).__proto__||(i=!1)),a.prototype.eventNames=function(){var e,s,r=[];if(0===this._eventsCount)return r;for(s in e=this._events)t.call(e,s)&&r.push(i?s.slice(1):s);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(e)):r},a.prototype.listeners=function(e){var t=i?i+e:e,s=this._events[t];if(!s)return[];if(s.fn)return[s.fn];for(var r=0,n=s.length,o=new Array(n);r<n;r++)o[r]=s[r].fn;return o},a.prototype.listenerCount=function(e){var t=i?i+e:e,s=this._events[t];return s?s.fn?1:s.length:0},a.prototype.emit=function(e,t,s,r,n,o){var a=i?i+e:e;if(!this._events[a])return!1;var l,h,c=this._events[a],d=arguments.length;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),d){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,s),!0;case 4:return c.fn.call(c.context,t,s,r),!0;case 5:return c.fn.call(c.context,t,s,r,n),!0;case 6:return c.fn.call(c.context,t,s,r,n,o),!0}for(h=1,l=new Array(d-1);h<d;h++)l[h-1]=arguments[h];c.fn.apply(c.context,l)}else{var u,m=c.length;for(h=0;h<m;h++)switch(c[h].once&&this.removeListener(e,c[h].fn,void 0,!0),d){case 1:c[h].fn.call(c[h].context);break;case 2:c[h].fn.call(c[h].context,t);break;case 3:c[h].fn.call(c[h].context,t,s);break;case 4:c[h].fn.call(c[h].context,t,s,r);break;default:if(!l)for(u=1,l=new Array(d-1);u<d;u++)l[u-1]=arguments[u];c[h].fn.apply(c[h].context,l)}}return!0},a.prototype.on=function(e,t,i){return n(this,e,t,i,!1)},a.prototype.once=function(e,t,i){return n(this,e,t,i,!0)},a.prototype.removeListener=function(e,t,s,r){var n=i?i+e:e;if(!this._events[n])return this;if(!t)return o(this,n),this;var a=this._events[n];if(a.fn)a.fn!==t||r&&!a.once||s&&a.context!==s||o(this,n);else{for(var l=0,h=[],c=a.length;l<c;l++)(a[l].fn!==t||r&&!a[l].once||s&&a[l].context!==s)&&h.push(a[l]);h.length?this._events[n]=1===h.length?h[0]:h:o(this,n)}return this},a.prototype.removeAllListeners=function(e){var t;return e?(t=i?i+e:e,this._events[t]&&o(this,t)):(this._events=new s,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=i,a.EventEmitter=a,e.exports=a}(m);var f=m.exports,v=function(){return(v=Object.assign||function(e){for(var t,i=1,s=arguments.length;i<s;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)};\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */function p(e,t){var i={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(i[s]=e[s]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(e);r<s.length;r++)t.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(e,s[r])&&(i[s[r]]=e[s[r]])}return i}var g=0,b=\"undefined\"!=typeof window&&void 0!==window.requestAnimationFrame?function(e){return window.requestAnimationFrame(e)}:function(e){var t=Date.now(),i=Math.max(0,16.7-(t-g));g=t+i,setTimeout((function(){return e(g)}),i)},x=1/60*1e3,y=!0,w=!1,$=!1,C={delta:0,timestamp:0},z=[\"read\",\"update\",\"preRender\",\"render\",\"postRender\"],B=function(e){return w=e},_=z.reduce((function(e,t){var i,s,r,n,o,a,l,h,c;return e[t]=(i=B,s=[],r=[],n=0,o=!1,a=0,l=new WeakSet,h=new WeakSet,c={cancel:function(e){var t=r.indexOf(e);l.add(e),-1!==t&&r.splice(t,1)},process:function(e){var t,d;if(o=!0,s=(t=[r,s])[0],(r=t[1]).length=0,n=s.length)for(a=0;a<n;a++)(d=s[a])(e),!0!==h.has(d)||l.has(d)||(c.schedule(d),i(!0));o=!1},schedule:function(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var a=i&&o,c=a?s:r;l.delete(e),t&&h.add(e),-1===c.indexOf(e)&&(c.push(e),a&&(n=s.length))}}),e}),{}),M=z.reduce((function(e,t){var i=_[t];return e[t]=function(e,t,s){return void 0===t&&(t=!1),void 0===s&&(s=!1),w||S(),i.schedule(e,t,s),e},e}),{}),E=function(e){return _[e].process(C)},k=function(e){w=!1,C.delta=y?x:Math.max(Math.min(e-C.timestamp,40),1),y||(x=C.delta),C.timestamp=e,$=!0,z.forEach(E),$=!1,w&&(y=!1,b(k))},S=function(){w=!0,y=!0,$||b(k)},R=function(){return(R=Object.assign||function(e){for(var t,i=1,s=arguments.length;i<s;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},N=function(e,t){return function(i){return Math.max(Math.min(i,t),e)}},T=function(e){return e%1?Number(e.toFixed(5)):e},L=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\\((-?[\\d\\.]+%?[,\\s]+){2,3}\\s*\\/*\\s*[\\d\\.]+%?\\))$/i,I={test:function(e){return\"number\"==typeof e},parse:parseFloat,transform:function(e){return e}},O=R(R({},I),{transform:N(0,1)}),D=R(R({},I),{default:1}),A=function(e){return{test:function(t){return\"string\"==typeof t&&t.endsWith(e)&&1===t.split(\" \").length},parse:parseFloat,transform:function(t){return\"\"+t+e}}},V=A(\"deg\"),H=A(\"%\"),W=A(\"px\"),j=R(R({},H),{parse:function(e){return H.parse(e)/100},transform:function(e){return H.transform(100*e)}}),P=N(0,255),Y=function(e){return void 0!==e.red},X=function(e){return void 0!==e.hue};var F=function(e){return function(t){if(\"string\"!=typeof t)return t;for(var i={},s=function(e){return e.substring(e.indexOf(\"(\")+1,e.lastIndexOf(\")\"))}(t).replace(/(,|\\/)/g,\" \").split(/ \\s*/),r=0;r<4;r++)i[e[r]]=void 0!==s[r]?parseFloat(s[r]):1;return i}},Z=R(R({},I),{transform:function(e){return Math.round(P(e))}});function q(e,t){return e.startsWith(t)&&L.test(e)}var G,U={test:function(e){return\"string\"==typeof e?q(e,\"rgb\"):Y(e)},parse:F([\"red\",\"green\",\"blue\",\"alpha\"]),transform:function(e){var t=e.red,i=e.green,s=e.blue,r=e.alpha,n=void 0===r?1:r;return function(e){var t=e.red,i=e.green,s=e.blue,r=e.alpha;return\"rgba(\"+t+\", \"+i+\", \"+s+\", \"+(void 0===r?1:r)+\")\"}({red:Z.transform(t),green:Z.transform(i),blue:Z.transform(s),alpha:T(O.transform(n))})}},J={test:function(e){return\"string\"==typeof e?q(e,\"hsl\"):X(e)},parse:F([\"hue\",\"saturation\",\"lightness\",\"alpha\"]),transform:function(e){var t=e.hue,i=e.saturation,s=e.lightness,r=e.alpha,n=void 0===r?1:r;return function(e){var t=e.hue,i=e.saturation,s=e.lightness,r=e.alpha;return\"hsla(\"+t+\", \"+i+\", \"+s+\", \"+(void 0===r?1:r)+\")\"}({hue:Math.round(t),saturation:H.transform(T(i)),lightness:H.transform(T(s)),alpha:T(O.transform(n))})}},Q=R(R({},U),{test:function(e){return\"string\"==typeof e&&q(e,\"#\")},parse:function(e){var t=\"\",i=\"\",s=\"\";return e.length>4?(t=e.substr(1,2),i=e.substr(3,2),s=e.substr(5,2)):(t=e.substr(1,1),i=e.substr(2,1),s=e.substr(3,1),t+=t,i+=i,s+=s),{red:parseInt(t,16),green:parseInt(i,16),blue:parseInt(s,16),alpha:1}}}),K={test:function(e){return\"string\"==typeof e&&L.test(e)||Y(e)||X(e)},parse:function(e){return U.test(e)?U.parse(e):J.test(e)?J.parse(e):Q.test(e)?Q.parse(e):e},transform:function(e){return Y(e)?U.transform(e):X(e)?J.transform(e):e}},ee=function(e){var t=e.onRead,i=e.onRender,s=e.uncachedValues,r=void 0===s?new Set:s,n=e.useCache,o=void 0===n||n;return function(e){void 0===e&&(e={});var s=p(e,[]),n={},a=[],l=!1;function h(e,t){e.startsWith(\"--\")&&(s.hasCSSVariable=!0);var i=n[e];n[e]=t,n[e]!==i&&(-1===a.indexOf(e)&&a.push(e),l||(l=!0,M.render(c.render)))}var c={get:function(e,i){return void 0===i&&(i=!1),!i&&o&&!r.has(e)&&void 0!==n[e]?n[e]:t(e,s)},set:function(e,t){if(\"string\"==typeof e)h(e,t);else for(var i in e)h(i,e[i]);return this},render:function(e){return void 0===e&&(e=!1),(l||!0===e)&&(i(n,s,a),l=!1,a.length=0),this}};return c}},te=/([a-z])([A-Z])/g,ie=function(e){return e.replace(te,\"$1-$2\").toLowerCase()},se=new Map,re=new Map,ne=[\"Webkit\",\"Moz\",\"O\",\"ms\",\"\"],oe=ne.length,ae=\"undefined\"!=typeof document,le=function(e,t){return re.set(e,ie(t))},he=function(e,t){void 0===t&&(t=!1);var i=t?re:se;return i.has(e)||(ae?function(e){G=G||document.createElement(\"div\");for(var t=0;t<oe;t++){var i=ne[t],s=\"\"===i,r=s?e:i+e.charAt(0).toUpperCase()+e.slice(1);if(r in G.style||s){if(s&&\"clipPath\"===e&&re.has(e))return;se.set(e,r),le(e,(s?\"\":\"-\")+ie(r))}}}(e):function(e){le(e,e)}(e)),i.get(e)||e},ce=[\"\",\"X\",\"Y\",\"Z\"],de=[\"translate\",\"scale\",\"rotate\",\"skew\",\"transformPerspective\"].reduce((function(e,t){return ce.reduce((function(e,i){return e.push(t+i),e}),e)}),[\"x\",\"y\",\"z\"]),ue=de.reduce((function(e,t){return e[t]=!0,e}),{});function me(e){return!0===ue[e]}function fe(e,t){return de.indexOf(e)-de.indexOf(t)}var ve=new Set([\"originX\",\"originY\",\"originZ\"]);function pe(e){return ve.has(e)}var ge=v(v({},I),{transform:Math.round}),be={color:K,backgroundColor:K,outlineColor:K,fill:K,stroke:K,borderColor:K,borderTopColor:K,borderRightColor:K,borderBottomColor:K,borderLeftColor:K,borderWidth:W,borderTopWidth:W,borderRightWidth:W,borderBottomWidth:W,borderLeftWidth:W,borderRadius:W,radius:W,borderTopLeftRadius:W,borderTopRightRadius:W,borderBottomRightRadius:W,borderBottomLeftRadius:W,width:W,maxWidth:W,height:W,maxHeight:W,size:W,top:W,right:W,bottom:W,left:W,padding:W,paddingTop:W,paddingRight:W,paddingBottom:W,paddingLeft:W,margin:W,marginTop:W,marginRight:W,marginBottom:W,marginLeft:W,rotate:V,rotateX:V,rotateY:V,rotateZ:V,scale:D,scaleX:D,scaleY:D,scaleZ:D,skew:V,skewX:V,skewY:V,distance:W,translateX:W,translateY:W,translateZ:W,x:W,y:W,z:W,perspective:W,opacity:O,originX:j,originY:j,originZ:W,zIndex:ge,fillOpacity:O,strokeOpacity:O,numOctaves:ge},xe=function(e){return be[e]},ye=function(e,t){return t&&\"number\"==typeof e?t.transform(e):e},we=new Set([\"scrollLeft\",\"scrollTop\"]),$e=new Set([\"scrollLeft\",\"scrollTop\",\"transform\"]),Ce={x:\"translateX\",y:\"translateY\",z:\"translateZ\"};function ze(e){return\"function\"==typeof e}function Be(e,t,i,s,r,n,o,a){void 0===t&&(t=!0),void 0===i&&(i={}),void 0===s&&(s={}),void 0===r&&(r={}),void 0===n&&(n=[]),void 0===o&&(o=!1),void 0===a&&(a=!0);var l=!0,h=!1,c=!1;for(var d in e){var u=e[d],m=xe(d),f=ye(u,m);me(d)?(h=!0,s[d]=f,n.push(d),l&&(m.default&&u!==m.default||!m.default&&0!==u)&&(l=!1)):pe(d)?(r[d]=f,c=!0):$e.has(d)&&ze(f)||(i[he(d,o)]=f)}return(h||\"function\"==typeof e.transform)&&(i.transform=function(e,t,i,s,r,n){void 0===n&&(n=!0);var o=\"\",a=!1;i.sort(fe);for(var l=i.length,h=0;h<l;h++){var c=i[h];o+=(Ce[c]||c)+\"(\"+t[c]+\") \",a=\"z\"===c||a}return!a&&r?o+=\"translateZ(0)\":o=o.trim(),ze(e.transform)?o=e.transform(t,s?\"\":o):n&&s&&(o=\"none\"),o}(e,s,n,l,t,a)),c&&(i.transformOrigin=(r.originX||\"50%\")+\" \"+(r.originY||\"50%\")+\" \"+(r.originZ||0)),i}function _e(e){var t=void 0===e?{}:e,i=t.enableHardwareAcceleration,s=void 0===i||i,r=t.isDashCase,n=void 0===r||r,o=t.allowTransformNone,a=void 0===o||o,l={},h={},c={},d=[];return function(e){return d.length=0,Be(e,s,l,h,c,d,n,a),l}}var Me=ee({onRead:function(e,t){var i=t.element,s=t.preparseOutput,r=xe(e);if(me(e))return r&&r.default||0;if(we.has(e))return i[e];var n=window.getComputedStyle(i,null).getPropertyValue(he(e,!0))||0;return s&&r&&r.test(n)&&r.parse?r.parse(n):n},onRender:function(e,t,i){var s=t.element,r=t.buildStyles,n=t.hasCSSVariable;if(Object.assign(s.style,r(e)),n)for(var o=i.length,a=0;a<o;a++){var l=i[a];l.startsWith(\"--\")&&s.style.setProperty(l,e[l])}-1!==i.indexOf(\"scrollLeft\")&&(s.scrollLeft=e.scrollLeft),-1!==i.indexOf(\"scrollTop\")&&(s.scrollTop=e.scrollTop)},uncachedValues:we});var Ee=new Set([\"baseFrequency\",\"diffuseConstant\",\"kernelMatrix\",\"kernelUnitLength\",\"keySplines\",\"keyTimes\",\"limitingConeAngle\",\"markerHeight\",\"markerWidth\",\"numOctaves\",\"targetX\",\"targetY\",\"surfaceScale\",\"specularConstant\",\"specularExponent\",\"stdDeviation\",\"tableValues\"]),ke=function(e,t){return W.transform(e*t)},Se={x:0,y:0,width:0,height:0};function Re(e,t,i){return\"string\"==typeof e?e:W.transform(t+i*e)}var Ne={enableHardwareAcceleration:!1,isDashCase:!1};function Te(e,t,i,s,r,n){void 0===t&&(t=Se),void 0===s&&(s=_e(Ne)),void 0===r&&(r={style:{}}),void 0===n&&(n=!0);var o=e.attrX,a=e.attrY,l=e.originX,h=e.originY,c=e.pathLength,d=e.pathSpacing,u=void 0===d?1:d,m=e.pathOffset,f=void 0===m?0:m,v=s(p(e,[\"attrX\",\"attrY\",\"originX\",\"originY\",\"pathLength\",\"pathSpacing\",\"pathOffset\"]));for(var g in v){if(\"transform\"===g)r.style.transform=v[g];else r[n&&!Ee.has(g)?ie(g):g]=v[g]}return(void 0!==l||void 0!==h||v.transform)&&(r.style.transformOrigin=function(e,t,i){return Re(t,e.x,e.width)+\" \"+Re(i,e.y,e.height)}(t,void 0!==l?l:.5,void 0!==h?h:.5)),void 0!==o&&(r.x=o),void 0!==a&&(r.y=a),void 0!==i&&void 0!==c&&(r[n?\"stroke-dashoffset\":\"strokeDashoffset\"]=ke(-f,i),r[n?\"stroke-dasharray\":\"strokeDasharray\"]=ke(c,i)+\" \"+ke(u,i)),r}function Le(e,t,i){void 0===i&&(i=!0);var s={style:{}},r=_e(Ne);return function(n){return Te(n,e,t,r,s,i)}}var Ie=ee({onRead:function(e,t){var i=t.element;if(me(e=Ee.has(e)?e:ie(e))){var s=xe(e);return s&&s.default||0}return i.getAttribute(e)},onRender:function(e,t){var i=t.element,s=(0,t.buildAttrs)(e);for(var r in s)\"style\"===r?Object.assign(i.style,s.style):i.setAttribute(r,s[r])}}),Oe=ee({useCache:!1,onRead:function(e){return\"scrollTop\"===e?window.pageYOffset:window.pageXOffset},onRender:function(e){var t=e.scrollTop,i=void 0===t?0:t,s=e.scrollLeft,r=void 0===s?0:s;return window.scrollTo(r,i)}}),De=new WeakMap,Ae=function(e,t){var i,s,r,n;return e===window?i=Oe(e):!function(e){return e instanceof HTMLElement||\"function\"==typeof e.click}(e)?function(e){return e instanceof SVGElement||\"ownerSVGElement\"in e}(e)&&(r=function(e){try{return function(e){return\"function\"==typeof e.getBBox?e.getBBox():e.getBoundingClientRect()}(e)}catch(t){return{x:0,y:0,width:0,height:0}}}(s=e),n=function(e){return\"path\"===e.tagName}(s)&&s.getTotalLength?s.getTotalLength():void 0,i=Ie({element:s,buildAttrs:Le(r,n)})):i=function(e,t){void 0===t&&(t={});var i=t.enableHardwareAcceleration,s=t.allowTransformNone,r=p(t,[\"enableHardwareAcceleration\",\"allowTransformNone\"]);return Me(v({element:e,buildStyles:_e({enableHardwareAcceleration:i,allowTransformNone:s}),preparseOutput:!0},r))}(e,t),De.set(e,i),i};function Ve(e,t){return function(e,t){return De.has(e)?De.get(e):Ae(e,t)}(\"string\"==typeof e?document.querySelector(e):e,t)}var He=function(e,t,i,s){var r=i?i.call(s,e,t):void 0;if(void 0!==r)return!!r;if(e===t)return!0;if(\"object\"!=typeof e||!e||\"object\"!=typeof t||!t)return!1;var n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(var a=Object.prototype.hasOwnProperty.bind(t),l=0;l<n.length;l++){var h=n[l];if(!a(h))return!1;var c=e[h],d=t[h];if(!1===(r=i?i.call(s,c,d,h):void 0)||void 0===r&&c!==d)return!1}return!0};const We=\"!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\",je=We.length,Pe=Array(20),Ye=()=>{for(let e=0;e<20;e++)Pe[e]=We.charAt(Math.random()*je);return Pe.join(\"\")};class Xe{constructor(){this.disposers=new Map}add(e,t=Ye()){return this.flush(t),this.disposers.set(t,e()),t}addDisposer(e,t=Ye()){return this.flush(t),this.disposers.set(t,e),t}addEventListener(e,t,i,s,r=Ye()){return this.add((()=>(e.addEventListener(t,i,s),()=>e.removeEventListener(t,i,s))),r),r}setTimeout(e,t,i=Ye()){return this.add((()=>{const s=window.setTimeout((()=>{this.remove(i),e()}),t);return()=>window.clearTimeout(s)}),i)}setInterval(e,t,i=Ye()){return this.add((()=>{const i=window.setInterval(e,t);return()=>window.clearInterval(i)}),i)}remove(e){const t=this.disposers.get(e);return this.disposers.delete(e),t}flush(e){const t=this.remove(e);if(t)try{t()}catch(i){console.error(i)}}flushAll(){this.disposers.forEach((e=>{try{e()}catch(t){console.error(t)}})),this.disposers.clear()}}var Fe=Object.defineProperty,Ze=(\"undefined\"!=typeof require&&require,(e,t,i)=>{return n=i,(r=\"symbol\"!=typeof t?t+\"\":t)in(s=e)?Fe(s,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):s[r]=n,i;var s,r,n});class qe{constructor(e,t){Ze(this,\"_value\"),Ze(this,\"_beforeDestroys\"),Ze(this,\"_subscribers\"),this._value=e,t&&(this.compare=t)}get value(){return this._value}setValue(e,t){if(!this.compare(e,this._value)){const i=this._value;this._value=e,this._subscribers&&this._subscribers.forEach((s=>s(e,i,t)))}}reaction(e){return this._subscribers||(this._subscribers=new Set),this._subscribers.add(e),()=>{this._subscribers&&this._subscribers.delete(e)}}subscribe(e,t){const i=this.reaction(e);return e(this._value,void 0,t),i}derive(e,t,i){const s=new qe(e(this.value,void 0,i),t),r=this.reaction(((t,i,r)=>{s.setValue(e(t,i,r))}));return s.addBeforeDestroy(r),s}destroy(){this._beforeDestroys&&(this._beforeDestroys.forEach((e=>e())),this._beforeDestroys.clear()),this._subscribers&&this._subscribers.clear()}addBeforeDestroy(e){return this._beforeDestroys||(this._beforeDestroys=new Set),this._beforeDestroys.add(e),()=>{this._beforeDestroys&&this._beforeDestroys.delete(e)}}compare(e,t){return e===t}}function Ge(e,t){Object.keys(t).forEach((i=>{!function(e,t,i){var s;Object.defineProperties(e,{[t]:{get:()=>i.value},[`_${t}$`]:{value:i},[`set${s=t,s[0].toUpperCase()+s.slice(1)}`]:{value:(e,t)=>i.setValue(e,t)}})}(e,i,t[i])}))}function Ue(e){const t=t=>{const i=e.addDisposer((()=>{t.destroy()}));return t.addBeforeDestroy((()=>{e.remove(i)})),t};return{bindSideEffect:t,combine:(e,i,s,r)=>t(function(e,t,i,s){let r=e.map((e=>e.value));const n=new qe(t(r,void 0,s),i);return e.forEach(((e,i)=>{const s=e.reaction(((e,s,o)=>{const a=r.slice();a[i]=e;const l=r;r=a,n.setValue(t(a,l,o),o)}));n.addBeforeDestroy(s)})),n}(e,i,s,r)),createVal:(e,i)=>t(new qe(e,i))}}var Je,Qe,Ke,et,tt,it,st,rt,nt,ot;(Qe=Je||(Je={})).Light=\"light\",Qe.Dark=\"dark\",Qe.Auto=\"auto\",(et=Ke||(Ke={})).Normal=\"normal\",et.Minimized=\"minimized\",et.Maximized=\"maximized\",(it=tt||(tt={})).DarkMode=\"dark_mode\",it.PrefersColorScheme=\"prefers_color_scheme\",it.Close=\"close\",it.Focus=\"focus\",it.Blur=\"blur\",it.Move=\"move\",it.Resize=\"resize\",it.IntrinsicMove=\"intrinsic_move\",it.IntrinsicResize=\"intrinsic_resize\",it.VisualResize=\"visual_resize\",it.ZIndex=\"z_index\",it.State=\"state\",it.Minimized=\"minimized\",it.Maximized=\"maximized\",it.Readonly=\"readonly\",it.Destroyed=\"destroyed\",(rt=st||(st={})).Close=\"close\",rt.Maximize=\"maximize\",rt.Minimize=\"minimize\",(ot=nt||(nt={})).North=\"n\",ot.South=\"s\",ot.West=\"w\",ot.East=\"e\",ot.NorthWest=\"nw\",ot.NorthEast=\"ne\",ot.SouthEast=\"se\",ot.SouthWest=\"sw\";const at=\"dh\";function lt(e,t,i){return Math.min(Math.max(e,t),i)}function ht(e){e.stopPropagation(),e.cancelable&&e.preventDefault()}function ct(e){return e.touches?e.touches[0]:e}function dt(){return Date.now().toString().slice(6)+Math.random().toString().slice(2,8)}let ut=1;function mt(){return\"New Box \"+ut++}function ft(e){return Boolean(e)}function vt(e){return!e}class pt{constructor({readonly:e=!1,title:t,buttons:i,onEvent:s,onDragStart:r,namespace:n=\"telebox\",state:o=Ke.Normal}={}){this.$btns=[],this.sideEffect=new Xe,this.lastTitleBarClick={timestamp:0,clientX:-100,clientY:-100},this.handleTitleBarClick=e=>{var t;if(this.readonly)return;if(0!==e.button)return;if(null==(t=e.target.dataset)?void 0:t.teleTitleBarNoDblClick)return;ht(e);const i=Date.now();i-this.lastTitleBarClick.timestamp<=500?Math.abs(e.clientX-this.lastTitleBarClick.clientX)<=3&&Math.abs(e.clientY-this.lastTitleBarClick.clientY)<=3&&this.onEvent&&this.onEvent({type:st.Maximize}):this.onDragStart&&this.onDragStart(e),this.lastTitleBarClick.timestamp=i,this.lastTitleBarClick.clientX=e.clientX,this.lastTitleBarClick.clientY=e.clientY},this.lastTitleBarTouch={timestamp:0,clientX:-100,clientY:-100},this.handleTitleBarTouch=e=>{var t;if(this.readonly)return;if(null==(t=e.target.dataset)?void 0:t.teleTitleBarNoDblClick)return;ht(e);const i=Date.now(),{clientX:s=this.lastTitleBarTouch.clientX+100,clientY:r=this.lastTitleBarTouch.clientY+100}=e.touches[0]||{};i-this.lastTitleBarTouch.timestamp<=500?Math.abs(s-this.lastTitleBarTouch.clientX)<=3&&Math.abs(r-this.lastTitleBarTouch.clientY)<=3&&this.onEvent&&this.onEvent({type:st.Maximize}):this.onDragStart&&this.onDragStart(e),this.lastTitleBarTouch.timestamp=i,this.lastTitleBarTouch.clientX=s,this.lastTitleBarTouch.clientY=r},this.readonly=e,this.onEvent=s,this.onDragStart=r,this.namespace=n,this.title=t,this.state=o,this.buttons=i||[{type:st.Minimize,iconClassName:this.wrapClassName(\"titlebar-icon-minimize\")},{type:st.Maximize,iconClassName:this.wrapClassName(\"titlebar-icon-maximize\"),isActive:e=>e===Ke.Maximized},{type:st.Close,iconClassName:this.wrapClassName(\"titlebar-icon-close\")}],this.$dragArea=this.renderDragArea()}setTitle(e){this.title=e,this.$title&&(this.$title.textContent=e,this.$title.title=e)}setState(e){this.state!==e&&(this.state=e,this.buttons.forEach(((t,i)=>{t.isActive&&this.$btns[i].classList.toggle(\"is-active\",t.isActive(e))})))}setReadonly(e){this.readonly!==e&&(this.readonly=e)}render(){if(!this.$titleBar){this.$titleBar=document.createElement(\"div\"),this.$titleBar.className=this.wrapClassName(\"titlebar\");const e=document.createElement(\"div\");e.className=this.wrapClassName(\"title-area\"),e.dataset.teleBoxHandle=\"dh\",this.$title=document.createElement(\"h1\"),this.$title.className=this.wrapClassName(\"title\"),this.$title.dataset.teleBoxHandle=\"dh\",this.title&&(this.$title.textContent=this.title,this.$title.title=this.title),e.appendChild(this.$title),e.appendChild(this.$dragArea);const t=document.createElement(\"div\");t.className=this.wrapClassName(\"titlebar-btns\"),this.buttons.forEach((({iconClassName:e,isActive:i},s)=>{const r=String(s),n=document.createElement(\"button\");n.className=`${this.wrapClassName(\"titlebar-btn\")} ${e}`,n.dataset.teleTitleBarBtnIndex=r,n.dataset.teleTitleBarNoDblClick=\"true\",i&&n.classList.toggle(\"is-active\",i(this.state)),this.$btns.push(n),t.appendChild(n)})),this.sideEffect.addEventListener(t,\"click\",(e=>{var t;if(this.readonly)return;const i=e.target,s=Number(null==(t=i.dataset)?void 0:t.teleTitleBarBtnIndex);if(!Number.isNaN(s)&&s<this.buttons.length){ht(e);const t=this.buttons[s];this.onEvent&&this.onEvent({type:t.type,value:t.value})}})),this.$titleBar.appendChild(e),this.$titleBar.appendChild(t)}return this.$titleBar}renderDragArea(){const e=document.createElement(\"div\");return e.className=this.wrapClassName(\"drag-area\"),e.dataset.teleBoxHandle=\"dh\",this.sideEffect.addEventListener(e,\"mousedown\",this.handleTitleBarClick),this.sideEffect.addEventListener(e,\"touchstart\",this.handleTitleBarTouch,{passive:!0}),e}dragHandle(){return this.$titleBar}wrapClassName(e){return`${this.namespace}-${e}`}destroy(){this.sideEffect.flushAll(),this.$titleBar&&(this.$titleBar=void 0,this.$title=void 0,this.$btns.length=0,this.onDragStart=void 0,this.onEvent=void 0)}}class gt{constructor({id:e=dt(),title:t=mt(),prefersColorScheme:i=Je.Light,darkMode:s,visible:r=!0,width:n=.5,height:o=.5,minWidth:a=0,minHeight:l=0,x:h=.1,y:c=.1,minimized:d=!1,maximized:u=!1,readonly:m=!1,resizable:v=!0,draggable:p=!0,fence:g=!0,fixRatio:b=!1,focus:x=!1,zIndex:y=100,namespace:w=\"telebox\",titleBar:$,content:C,footer:z,styles:B,containerRect:_={x:0,y:0,width:window.innerWidth,height:window.innerHeight},collectorRect:M}={}){this._renderSideEffect=new Xe,this.handleTrackStart=e=>{var t;return null==(t=this._handleTrackStart)?void 0:t.call(this,e)},this._sideEffect=new Xe,this._valSideEffectBinder=Ue(this._sideEffect);const{combine:E,createVal:k}=this._valSideEffectBinder;this.id=e,this.namespace=w,this.events=new f,this._delegateEvents=new f;const S=k(i);S.reaction(((e,t,i)=>{i||this.events.emit(tt.PrefersColorScheme,e)}));const R=k(Boolean(s));null==s&&S.subscribe(((e,t,i)=>{this._sideEffect.add((()=>{if(\"auto\"===e){const e=window.matchMedia(\"(prefers-color-scheme: dark)\");if(e){R.setValue(e.matches,i);const t=e=>{R.setValue(e.matches,i)};return e.addListener(t),()=>e.removeListener(t)}return bt}return R.setValue(\"dark\"===e,i),bt}),\"prefers-color-scheme\")})),R.reaction(((e,t,i)=>{i||this.events.emit(tt.DarkMode,e)}));const N=k(_,He),T=k(M,He),L=k(t),I=k(r);I.reaction(((e,t,i)=>{i||e||this.events.emit(tt.Close)}));const O=k(m);O.reaction(((e,t,i)=>{i||this.events.emit(tt.Readonly,e)}));const D=k(v),A=k(p),V=k(g),H=k(b),W=k(y);W.reaction(((e,t,i)=>{i||this.events.emit(tt.ZIndex,e)}));const j=k(x);j.reaction(((e,t,i)=>{i||this.events.emit(e?tt.Focus:tt.Blur)}));const P=k(d);P.reaction(((e,t,i)=>{i||this.events.emit(tt.Minimized,e)}));const Y=k(u);Y.reaction(((e,t,i)=>{i||this.events.emit(tt.Maximized,e)}));const X=E([P,Y],(([e,t])=>e?Ke.Minimized:t?Ke.Maximized:Ke.Normal));X.reaction(((e,t,i)=>{i||this.events.emit(tt.State,e)}));const F=k({width:lt(a,0,1),height:lt(l,0,1)},He),Z=k({width:lt(n,F.value.width,1),height:lt(o,F.value.height,1)},He);F.reaction(((e,t,i)=>{Z.setValue({width:lt(n,e.width,1),height:lt(o,e.height,1)},i)})),Z.reaction(((e,t,i)=>{i||this.events.emit(tt.IntrinsicResize,e)}));const q=E([Z,Y],(([e,t])=>t?{width:1,height:1}:e),He);q.reaction(((e,t,i)=>{i||this.events.emit(tt.Resize,e)}));const G=E([q,P,N,T],(([e,t,i,s])=>t&&s?{width:s.width/e.width/i.width,height:s.height/e.height/i.height}:e),He);G.reaction(((e,t,i)=>{i||this.events.emit(tt.VisualResize,e)}));const U=k({x:lt(h,0,1),y:lt(c,0,1)},He);U.reaction(((e,t,i)=>{i||this.events.emit(tt.IntrinsicMove,e)}));const J=E([U,Z,N,T,P,Y],(([e,t,i,s,r,n])=>r&&s?n?{x:(s.x+s.width/2)/i.width-.5,y:(s.y+s.height/2)/i.height-.5}:{x:(s.x+s.width/2)/i.width-t.width/2,y:(s.y+s.height/2)/i.height-t.height/2}:n?{x:0,y:0}:e),He);J.reaction(((e,t,i)=>{i||this.events.emit(tt.Move,e)})),this.titleBar=$||new pt({readonly:O.value,title:L.value,namespace:this.namespace,onDragStart:e=>{var t;return null==(t=this._handleTrackStart)?void 0:t.call(this,e)},onEvent:e=>{if(this._delegateEvents.listeners.length>0)this._delegateEvents.emit(e.type);else switch(e.type){case st.Maximize:Y.setValue(!Y.value);break;case st.Minimize:P.setValue(!0);break;case st.Close:I.setValue(!1);break;default:console.error(\"Unsupported titleBar event:\",e)}}}),O.reaction((e=>{this.titleBar.setReadonly(e)}));const Q=k(C),K=k(z),ee=k(B);Ge(this,{prefersColorScheme:S,darkMode:R,containerRect:N,collectorRect:T,title:L,visible:I,readonly:O,resizable:D,draggable:A,fence:V,fixRatio:H,focus:j,zIndex:W,minimized:P,maximized:Y,$userContent:Q,$userFooter:K,$userStyles:ee}),this._state$=X,this._minSize$=F,this._size$=q,this._intrinsicSize$=Z,this._visualSize$=G,this._coord$=J,this._intrinsicCoord$=U,this.fixRatio&&this.transform(J.value.x,J.value.y,q.value.width,q.value.height,!0),this.$box=this.render()}get darkMode(){return this._darkMode$.value}get state(){return this._state$.value}setState(e,t=!1){switch(e){case Ke.Maximized:this.setMinimized(!1,t),this.setMaximized(!0,t);break;case Ke.Minimized:this.setMinimized(!0,t),this.setMaximized(!1,t);break;default:this.setMinimized(!1,t),this.setMaximized(!1,t)}return this}get minWidth(){return this._minSize$.value.width}get minHeight(){return this._minSize$.value.height}setMinWidth(e,t=!1){return this._minSize$.setValue({width:e,height:this.minHeight},t),this}setMinHeight(e,t=!1){return this._minSize$.setValue({width:this.minWidth,height:e},t),this}get intrinsicWidth(){return this._intrinsicSize$.value.width}get intrinsicHeight(){return this._intrinsicSize$.value.height}resize(e,t,i=!1){return this._intrinsicSize$.setValue({width:e,height:t},i),this}get width(){return this._size$.value.width}get height(){return this._size$.value.height}get absoluteWidth(){return this.width*this.containerRect.width}get absoluteHeight(){return this.height*this.containerRect.height}get visualWidth(){return this._visualSize$.value.width}get visualHeight(){return this._visualSize$.value.height}get intrinsicX(){return this._intrinsicCoord$.value.x}get intrinsicY(){return this._intrinsicCoord$.value.y}move(e,t,i=!1){return this._intrinsicCoord$.setValue({x:e,y:t},i),this}get x(){return this._coord$.value.x}get y(){return this._coord$.value.y}transform(e,t,i,s,r=!1){if(this.fixRatio){const e=this.intrinsicHeight/this.intrinsicWidth*i;t!==this.intrinsicY&&(t-=e-s),s=e}return t<0&&(t=0,s>this.intrinsicHeight&&(s=this.intrinsicHeight)),this._intrinsicCoord$.setValue({x:i>=this.minWidth?e:this.intrinsicX,y:s>=this.minHeight?t:this.intrinsicY},r),this._intrinsicSize$.setValue({width:lt(i,this.minWidth,1),height:lt(s,this.minHeight,1)},r),this}mount(e){return e.appendChild(this.render()),this}unmount(){return this.$box&&this.$box.remove(),this}mountContent(e){return this.set$userContent(e),this}unmountContent(){return this.set$userContent(void 0),this}mountFooter(e){return this.set$userFooter(e),this}unmountFooter(){return this.set$userFooter(void 0),this}getUserStyles(){return this.$userStyles}mountStyles(e){let t;return\"string\"==typeof e?(t=document.createElement(\"style\"),t.textContent=e):t=e,this.set$userStyles(t),this}unmountStyles(){return this.set$userStyles(void 0),this}render(e){if(e){if(e===this.$box)return this.$box;this.$box=e}else{if(this.$box)return this.$box;this.$box=document.createElement(\"div\")}this._renderSideEffect.flushAll(),this.$box.classList.add(this.wrapClassName(\"box\"));const t=(e,t,i,s=ft)=>this._renderSideEffect.add((()=>{const r=this.wrapClassName(i);return t.subscribe((t=>{e.classList.toggle(r,s(t))}))}));t(this.$box,this._readonly$,\"readonly\"),t(this.$box,this._draggable$,\"no-drag\",vt),t(this.$box,this._resizable$,\"no-resize\",vt),t(this.$box,this._focus$,\"blur\",vt),t(this.$box,this._darkMode$,\"color-scheme-dark\"),t(this.$box,this._darkMode$,\"color-scheme-light\",vt),this._renderSideEffect.add((()=>{const e=this.wrapClassName(\"minimized\"),t=this.wrapClassName(\"maximized\"),i=\"box-maximized-timer\";return this._state$.subscribe((s=>{this.$box.classList.toggle(e,s===Ke.Minimized),s===Ke.Maximized?(this._renderSideEffect.flush(i),this.$box.classList.toggle(t,!0)):this._renderSideEffect.setTimeout((()=>{this.$box.classList.toggle(t,!1)}),0,i)}))})),this._renderSideEffect.add((()=>this._visible$.subscribe((e=>{this.$box.style.display=e?\"block\":\"none\"})))),this._renderSideEffect.add((()=>this._zIndex$.subscribe((e=>{this.$box.style.zIndex=String(e)}))));const i=Ve(this.$box);this.$box.dataset.teleBoxID=this.id,this.$box.style.width=this.absoluteWidth+\"px\",this.$box.style.height=this.absoluteHeight+\"px\";const s=this.x*this.containerRect.width+this.containerRect.x,r=this.y*this.containerRect.height+this.containerRect.y;this.$box.style.transform=`translate(${s-10}px,${r-10}px)`,this._valSideEffectBinder.combine([this._coord$,this._size$,this._minimized$,this._containerRect$,this._collectorRect$],(([e,t,i,s,r])=>{const n=t.width*s.width,o=t.height*s.height;return{width:n,height:o,x:e.x*s.width,y:e.y*s.height,scaleX:i&&r?r.width/n:1,scaleY:i&&r?r.height/o:1}}),He).subscribe((e=>{i.set(e)})),i.set({x:s,y:r});const n=document.createElement(\"div\");n.className=this.wrapClassName(\"box-main\"),this.$box.appendChild(n);const o=document.createElement(\"div\");o.className=this.wrapClassName(\"titlebar-wrap\"),o.appendChild(this.titleBar.render()),this.$titleBar=o;const a=document.createElement(\"div\");a.className=this.wrapClassName(\"content-wrap\");const l=document.createElement(\"div\");l.className=this.wrapClassName(\"content\")+\" tele-fancy-scrollbar\",this.$content=l,this._renderSideEffect.add((()=>{let e;return this._$userStyles$.subscribe((t=>{e&&e.remove(),e=t,t&&a.appendChild(t)}))})),this._renderSideEffect.add((()=>{let e;return this._$userContent$.subscribe((t=>{e&&e.remove(),e=t,t&&l.appendChild(t)}))})),a.appendChild(l);const h=document.createElement(\"div\");return h.className=this.wrapClassName(\"footer-wrap\"),this.$footer=h,this._renderSideEffect.add((()=>{let e;return this._$userFooter$.subscribe((t=>{e&&e.remove(),e=t,t&&h.appendChild(t)}))})),n.appendChild(o),n.appendChild(a),n.appendChild(h),this._renderResizeHandlers(),this.$box}_renderResizeHandlers(){const e=document.createElement(\"div\");e.className=this.wrapClassName(\"resize-handles\"),Object.values(nt).forEach((t=>{const i=document.createElement(\"div\");i.className=this.wrapClassName(t)+\" \"+this.wrapClassName(\"resize-handle\"),i.dataset.teleBoxHandle=t,e.appendChild(i)})),this.$box.appendChild(e);const t=\"handle-tracking-listener\",i=this.wrapClassName(\"transforming\");let s,r,n=0,o=0,a=0,l=0,h=0,c=0;const d=e=>{if(this.state!==Ke.Normal)return;ht(e);let{pageX:t,pageY:i}=ct(e);i<0&&(i=0);const s=(t-h)/this.containerRect.width,d=(i-c)/this.containerRect.height;switch(r){case nt.North:this.transform(this.x,o+d,this.width,l-d);break;case nt.South:this.transform(this.x,this.y,this.width,l+d);break;case nt.West:this.transform(n+s,this.y,a-s,this.height);break;case nt.East:this.transform(this.x,this.y,a+s,this.height);break;case nt.NorthWest:this.transform(n+s,o+d,a-s,l-d);break;case nt.NorthEast:this.transform(this.x,o+d,a+s,l-d);break;case nt.SouthEast:this.transform(this.x,this.y,a+s,l+d);break;case nt.SouthWest:this.transform(n+s,this.y,a-s,l+d);break;default:if(this.fence)this.move(lt(n+s,0,1-this.width),lt(o+d,0,1-this.height));else{const e=20/this.containerRect.width,t=20/this.containerRect.height;this.move(lt(n+s,e-this.width,1-e),lt(o+d,0,1-t))}}},u=e=>{r=void 0,s&&(ht(e),this.$box.classList.toggle(i,!1),this._sideEffect.flush(t),s.remove())},m=e=>{var m;if(this.readonly)return;if(null!=e.button&&0!==e.button)return;if(!this.draggable||r||this.state!==Ke.Normal)return;const f=e.target;if(null==(m=f.dataset)?void 0:m.teleBoxHandle){ht(e),n=this.x,o=this.y,a=this.width,l=this.height,({pageX:h,pageY:c}=ct(e)),r=f.dataset.teleBoxHandle,s||(s=document.createElement(\"div\"));const m=r?this.wrapClassName(`cursor-${r}`):\"\";s.className=this.wrapClassName(\"track-mask\"+(m?` ${m}`:\"\")),this.$box.appendChild(s),this.$box.classList.add(i),this._sideEffect.add((()=>(window.addEventListener(\"mousemove\",d),window.addEventListener(\"touchmove\",d,{passive:!1}),window.addEventListener(\"mouseup\",u),window.addEventListener(\"touchend\",u,{passive:!1}),window.addEventListener(\"touchcancel\",u,{passive:!1}),()=>{window.removeEventListener(\"mousemove\",d),window.removeEventListener(\"touchmove\",d),window.removeEventListener(\"mouseup\",u),window.removeEventListener(\"touchend\",u),window.removeEventListener(\"touchcancel\",u)})),t)}};this._handleTrackStart=m,this._sideEffect.addEventListener(e,\"mousedown\",m,{},\"box-resizeHandles-mousedown\"),this._sideEffect.addEventListener(e,\"touchstart\",m,{passive:!1},\"box-resizeHandles-touchstart\")}destroy(){this.$box.remove(),this.events.emit(tt.Destroyed),this._sideEffect.flushAll(),this._renderSideEffect.flushAll(),this.events.removeAllListeners(),this._delegateEvents.removeAllListeners()}wrapClassName(e){return`${this.namespace}-${e}`}}function bt(){}const xt=(e,t)=>{const i=c(!0);d((()=>{if(!i.current)return e();i.current=!1}),t)},yt=e=>{const[t]=u((()=>new gt(e)));return xt((()=>{null!=e.prefersColorScheme&&t.setPrefersColorScheme(e.prefersColorScheme)}),[t,e.prefersColorScheme]),xt((()=>{null!=e.minWidth&&t.setMinWidth(e.minWidth)}),[t,e.minWidth]),xt((()=>{null!=e.minHeight&&t.setMinHeight(e.minHeight)}),[t,e.minHeight]),xt((()=>{var i,s;t.resize(null!=(i=e.width)?i:t.width,null!=(s=e.height)?s:t.height,!0)}),[t,e.width,e.height]),xt((()=>{var i,s;t.move(null!=(i=e.x)?i:t.x,null!=(s=e.y)?s:t.y,!0)}),[t,e.x,e.y]),xt((()=>{null!=e.title&&t.setTitle(e.title)}),[t,e.title]),xt((()=>{null!=e.visible&&t.setVisible(e.visible)}),[t,e.visible]),xt((()=>{null!=e.minimized&&t.setMinimized(e.minimized,!0)}),[t,e.minimized]),xt((()=>{null!=e.maximized&&t.setMaximized(e.maximized,!0)}),[t,e.maximized]),xt((()=>{null!=e.state&&t.setState(e.state,!0)}),[t,e.state]),xt((()=>{null!=e.draggable&&t.setDraggable(e.draggable)}),[t,e.draggable]),xt((()=>{null!=e.resizable&&t.setResizable(e.resizable)}),[t,e.resizable]),xt((()=>{null!=e.fence&&t.setFence(e.fence)}),[t,e.fence]),xt((()=>{null!=e.containerRect&&t.setContainerRect(e.containerRect)}),[t,e.containerRect]),xt((()=>{null!=e.fixRatio&&t.setFixRatio(e.fixRatio)}),[t,e.fixRatio]),d((()=>{if(e.onResize)return t.events.on(tt.Resize,e.onResize),()=>{t.events.off(tt.Resize,e.onResize)}}),[t,e.onResize]),d((()=>{if(e.onMove)return t.events.on(tt.Move,e.onMove),()=>{t.events.off(tt.Move,e.onMove)}}),[t,e.onMove]),d((()=>{if(e.onClose)return t.events.on(tt.Close,e.onClose),()=>{t.events.off(tt.Close,e.onClose)}}),[t,e.onClose]),d((()=>{if(e.onFocus)return t.events.on(tt.Focus,e.onFocus),()=>{t.events.off(tt.Focus,e.onFocus)}}),[t,e.onFocus]),d((()=>{if(e.onBlur)return t.events.on(tt.Blur,e.onBlur),()=>{t.events.off(tt.Blur,e.onBlur)}}),[t,e.onBlur]),d((()=>{if(e.onStateChanged)return t.events.on(tt.State,e.onStateChanged),()=>{t.events.off(tt.State,e.onStateChanged)}}),[t,e.onStateChanged]),h.createElement(\"div\",{ref:e=>e&&t.render(e),className:t.wrapClassName(\"box\")})};var wt,$t;class Ct{constructor({visible:e=!0,readonly:t=!1,darkMode:i=!1,namespace:s=\"telebox\",styles:r={},onClick:n}={}){this.handleCollectorClick=()=>{!this._readonly&&this.onClick&&this.onClick()},this._visible=e,this._readonly=t,this._darkMode=i,this.namespace=s,this.styles=r,this.onClick=n}get visible(){return this._visible}get readonly(){return this._readonly}get darkMode(){return this._darkMode}mount(e){return e.appendChild(this.render()),this}unmount(){return this.$collector&&this.$collector.remove(),this}setVisible(e){return this._visible!==e&&(this._visible=e,this.$collector&&this.$collector.classList.toggle(this.wrapClassName(\"collector-visible\"),e)),this}setReadonly(e){return this._readonly!==e&&(this._readonly=e,this.$collector&&this.$collector.classList.toggle(this.wrapClassName(\"collector-readonly\"),e)),this}setDarkMode(e){return this._darkMode!==e&&(this._darkMode=e,this.$collector&&(this.$collector.classList.toggle(this.wrapClassName(\"color-scheme-dark\"),e),this.$collector.classList.toggle(this.wrapClassName(\"color-scheme-light\"),!e))),this}setStyles(e){if(Object.assign(this.styles,e),this.$collector){const t=this.$collector;Object.keys(e).forEach((i=>{const s=e[i];null!=s&&(t.style[i]=s)}))}return this}render(){return this.$collector||(this.$collector=document.createElement(\"button\"),this.$collector.className=this.wrapClassName(\"collector\"),this.$collector.style.backgroundImage=\"url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxNiI+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIHN0cm9rZT0iIzdCODhBMCIgc3Ryb2tlLXdpZHRoPSIxLjQiIGQ9Ik0uNyAxLjJoMTYuNnYxMy42SC43eiIgLz4KICAgICAgICA8cGF0aCBmaWxsPSIjN0I4OEEwIiBkPSJNNCA1LjVoNnYxLjRINHpNNCA5LjVoMTB2MS40SDR6IiAvPgogICAgPC9nPgo8L3N2Zz4K')\",this.$collector.addEventListener(\"click\",this.handleCollectorClick),this._visible&&this.$collector.classList.add(this.wrapClassName(\"collector-visible\")),this._readonly&&this.$collector.classList.add(this.wrapClassName(\"collector-readonly\")),this.$collector.classList.add(this.wrapClassName(this._darkMode?\"color-scheme-dark\":\"color-scheme-light\")),this.setStyles(this.styles)),this.$collector}destroy(){this.$collector&&(this.$collector.removeEventListener(\"click\",this.handleCollectorClick),this.$collector.remove(),this.$collector=void 0),this.onClick=void 0}wrapClassName(e){return`${this.namespace}-${e}`}}($t=wt||(wt={})).Focused=\"focused\",$t.Blurred=\"blurred\",$t.Created=\"created\",$t.Removed=\"removed\",$t.State=\"state\",$t.Maximized=\"maximized\",$t.Minimized=\"minimized\",$t.Move=\"move\",$t.Resize=\"resize\",$t.IntrinsicMove=\"intrinsic_move\",$t.IntrinsicResize=\"intrinsic_resize\",$t.VisualResize=\"visual_resize\",$t.ZIndex=\"z_index\",$t.PrefersColorScheme=\"prefers_color_scheme\",$t.DarkMode=\"dark_mode\";class zt extends pt{constructor(e){super(e),this.boxes=e.boxes,this.focusedBox=e.focusedBox,this.containerRect=e.containerRect,this.darkMode=e.darkMode}focusBox(e){var t;if(!this.focusedBox||this.focusedBox!==e){if(this.$titles&&this.state===Ke.Maximized){const{children:i}=this.$titles.firstElementChild;for(let s=i.length-1;s>=0;s-=1){const r=i[s],n=null==(t=r.dataset)?void 0:t.teleBoxID;n&&(e&&n===e.id?r.classList.toggle(this.wrapClassName(\"titles-tab-focus\"),!0):this.focusedBox&&n===this.focusedBox.id&&r.classList.toggle(this.wrapClassName(\"titles-tab-focus\"),!1))}}this.focusedBox=e}}setContainerRect(e){if(this.containerRect=e,this.$titleBar){const{x:t,y:i,width:s}=e;this.$titleBar.style.transform=`translate(${t}px, ${i}px)`,this.$titleBar.style.width=s+\"px\"}}setBoxes(e){this.boxes=e,this.updateTitles()}setState(e){super.setState(e),this.$titleBar&&this.$titleBar.classList.toggle(this.wrapClassName(\"max-titlebar-maximized\"),e===Ke.Maximized),this.updateTitles()}setReadonly(e){super.setReadonly(e),this.$titleBar&&this.$titleBar.classList.toggle(this.wrapClassName(\"readonly\"),this.readonly)}setDarkMode(e){e!==this.darkMode&&(this.darkMode=e,this.$titleBar&&(this.$titleBar.classList.toggle(this.wrapClassName(\"color-scheme-dark\"),e),this.$titleBar.classList.toggle(this.wrapClassName(\"color-scheme-light\"),!e)))}render(){var e;const t=super.render();(null==(e=t.firstElementChild)?void 0:e.nextElementSibling)&&t.insertBefore(this.$dragArea,t.firstElementChild.nextElementSibling);const{x:i,y:s,width:r}=this.containerRect;return t.style.transform=`translate(${i}px, ${s}px)`,t.style.width=r+\"px\",t.classList.add(this.wrapClassName(\"max-titlebar\")),t.classList.toggle(this.wrapClassName(\"max-titlebar-maximized\"),this.state===Ke.Maximized),t.classList.toggle(this.wrapClassName(\"readonly\"),this.readonly),t.classList.add(this.wrapClassName(this.darkMode?\"color-scheme-dark\":\"color-scheme-light\")),this.updateTitles(),t}destroy(){super.destroy(),this.$titles=void 0,this.boxes.length=0,this.focusedBox=void 0}updateTitles(){this.$titleBar&&this.state===Ke.Maximized&&(1===this.boxes.length?this.$title&&(this.$title.textContent=this.boxes[0].title,this.$titleBar.replaceChild(this.$title,this.$titleBar.firstElementChild)):this.$titleBar.replaceChild(this.renderTitles(),this.$titleBar.firstElementChild))}renderTitles(){this.$titles=document.createElement(\"div\"),this.$titles.className=this.wrapClassName(\"titles\"),this.$titles.addEventListener(\"wheel\",(e=>{e.currentTarget.scrollBy({left:e.deltaY>0?250:-250,behavior:\"smooth\"})}),{passive:!1});const e=document.createElement(\"div\");return e.className=this.wrapClassName(\"titles-content\"),this.$titles.appendChild(e),this.boxes.forEach((t=>{const i=document.createElement(\"button\");i.className=this.wrapClassName(\"titles-tab\"),i.textContent=t.title,i.dataset.teleBoxID=t.id,i.dataset.teleTitleBarNoDblClick=\"true\",this.focusedBox&&t.id===this.focusedBox.id&&i.classList.add(this.wrapClassName(\"titles-tab-focus\")),e.appendChild(i)})),this.$titles}}class Bt{constructor({root:e=document.body,prefersColorScheme:t=Je.Light,minimized:i=!1,maximized:s=!1,fence:r=!0,containerRect:n={x:0,y:0,width:window.innerWidth,height:window.innerHeight},collector:o,namespace:a=\"telebox\",readonly:l=!1}={}){this.events=new f,this._sideEffect=new Xe;const{combine:h,createVal:c}=Ue(this._sideEffect);this.root=e,this.namespace=a,this.boxes$=c([]),this.topBox$=this.boxes$.derive((e=>{if(e.length>0){return e.reduce(((e,t)=>e.zIndex>t.zIndex?e:t))}}));const d=window.matchMedia(\"(prefers-color-scheme: dark)\"),u=c(!1);d&&(u.setValue(d.matches),this._sideEffect.add((()=>{const e=e=>{u.setValue(e.matches)};return d.addListener(e),()=>d.removeListener(e)})));const m=c(t);m.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setPrefersColorScheme(e,i))),i||this.events.emit(wt.PrefersColorScheme,e)})),this._darkMode$=h([u,m],(([e,t])=>\"auto\"===t?e:\"dark\"===t)),this._darkMode$.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setDarkMode(e,i))),i||this.events.emit(wt.DarkMode,e)}));const v=c(l);v.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setReadonly(e,i)))}));const p=c(i),g=c(s);g.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setMaximized(e,i))),i||this.events.emit(wt.Maximized,e)}));const b=h([p,g],(([e,t])=>e?Ke.Minimized:t?Ke.Maximized:Ke.Normal));b.reaction(((e,t,i)=>{this.maxTitleBar.setState(e),i||this.events.emit(wt.State,e)}));const x=c(r);x.subscribe(((e,t,i)=>{this.boxes.forEach((t=>t.setFence(e,i)))}));const y=c(n,He);y.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setContainerRect(e,i))),this.maxTitleBar.setContainerRect(e)}));const w=c(null===o?null:o||new Ct({visible:i,readonly:l,namespace:a}).mount(e));w.subscribe((e=>{e&&(e.setVisible(p.value),e.setReadonly(v.value),e.setDarkMode(this._darkMode$.value),this._sideEffect.add((()=>(e.onClick=()=>{v.value||p.setValue(!1)},()=>e.destroy())),\"collect-onClick\"))})),v.subscribe((e=>{var t;return null==(t=w.value)?void 0:t.setReadonly(e)})),this._darkMode$.subscribe((e=>{var t;null==(t=w.value)||t.setDarkMode(e)}));const $=()=>{var e;if(null==(e=w.value)?void 0:e.$collector){const{x:e,y:t,width:i,height:s}=w.value.$collector.getBoundingClientRect(),r=this.root.getBoundingClientRect();return{x:e-r.x,y:t-r.y,width:i,height:s}}},C=c(p.value?$():void 0);C.subscribe(((e,t,i)=>{this.boxes.forEach((t=>{t.setCollectorRect(e,i)}))})),p.subscribe(((e,t,i)=>{var s,r;null==(s=w.value)||s.setVisible(e),e&&(null==(r=w.value)?void 0:r.$collector)&&C.setValue($()),this.boxes.forEach((t=>t.setMinimized(e,i))),i||this.events.emit(wt.Minimized,e)}));const z=this.wrapClassName(\"titlebar-icon-close\"),B=e=>{var t;if(v.value)return;const i=e.target;if(i.tagName)for(let s=i;s;s=s.parentElement){if(s.classList&&s.classList.contains(z))return;const e=null==(t=s.dataset)?void 0:t.teleBoxID;if(e){const t=this.getBox(e);if(t)return this.focusBox(t),void this.makeBoxTop(t)}}};this._sideEffect.addEventListener(window,\"mousedown\",B,!0),this._sideEffect.addEventListener(window,\"touchstart\",B,!0),this.maxTitleBar=new zt({darkMode:this.darkMode,readonly:v.value,namespace:this.namespace,state:b.value,boxes:this.boxes$.value,containerRect:y.value,onEvent:e=>{switch(e.type){case st.Maximize:g.setValue(!g.value);break;case st.Minimize:p.setValue(!0);break;case tt.Close:this.removeTopBox(),this.focusTopBox()}}}),v.subscribe((e=>this.maxTitleBar.setReadonly(e))),this._darkMode$.subscribe((e=>{this.maxTitleBar.setDarkMode(e)})),this.boxes$.reaction((e=>{this.maxTitleBar.setBoxes(e)}));Ge(this,{prefersColorScheme:m,containerRect:y,collector:w,collectorRect:C,readonly:v,fence:x,minimized:p,maximized:g}),this._state$=b,this.root.appendChild(this.maxTitleBar.render())}get boxes(){return this.boxes$.value}get topBox(){return this.topBox$.value}get darkMode(){return this._darkMode$.value}get state(){return this._state$.value}setState(e,t=!1){switch(e){case Ke.Maximized:this.setMinimized(!1,t),this.setMaximized(!0,t);break;case Ke.Minimized:this.setMinimized(!0,t),this.setMaximized(!1,t);break;default:this.setMinimized(!1,t),this.setMaximized(!1,t)}return this}create(e={},t=!0){const i=new gt(l(a({zIndex:this.topBox?this.topBox.zIndex+1:100},t?this.smartPosition(e):e),{darkMode:this.darkMode,prefersColorScheme:this.prefersColorScheme,maximized:this.maximized,minimized:this.minimized,fence:this.fence,namespace:this.namespace,containerRect:this.containerRect,readonly:this.readonly,collectorRect:this.collectorRect}));return i.mount(this.root),i.focus&&(this.focusBox(i),t&&this.makeBoxTop(i)),this.boxes$.setValue([...this.boxes,i]),i._delegateEvents.on(st.Maximize,(()=>{this.setMaximized(!this.maximized)})),i._delegateEvents.on(st.Minimize,(()=>{this.setMinimized(!0)})),i._delegateEvents.on(st.Close,(()=>{this.remove(i),this.focusTopBox()})),i._coord$.reaction(((e,t,s)=>{s||this.events.emit(wt.Move,i)})),i._size$.reaction(((e,t,s)=>{s||this.events.emit(wt.Resize,i)})),i._intrinsicCoord$.reaction(((e,t,s)=>{s||this.events.emit(wt.IntrinsicMove,i)})),i._intrinsicSize$.reaction(((e,t,s)=>{s||this.events.emit(wt.IntrinsicResize,i)})),i._visualSize$.reaction(((e,t,s)=>{s||this.events.emit(wt.VisualResize,i)})),i._zIndex$.reaction(((e,t,s)=>{if(this.boxes.length>0){const e=this.boxes.reduce(((e,t)=>e.zIndex>t.zIndex?e:t));this.topBox$.setValue(e)}s||this.events.emit(wt.ZIndex,i)})),this.events.emit(wt.Created,i),i}query(e){return e?this.boxes.filter(this.teleBoxMatcher(e)):[...this.boxes]}queryOne(e){return e?this.boxes.find(this.teleBoxMatcher(e)):this.boxes[0]}update(e,t,i=!1){const s=this.boxes.find((t=>t.id===e));if(s)return this.updateBox(s,t,i)}updateAll(e,t=!1){this.boxes.forEach((i=>{this.updateBox(i,e,t)}))}remove(e,t=!1){const i=this.getBoxIndex(e);if(i>=0){const e=this.boxes.slice(),s=e.splice(i,1);return this.boxes$.setValue(e),s.forEach((e=>e.destroy())),t||(this.boxes.length<=0&&(this.setMaximized(!1),this.setMinimized(!1)),this.events.emit(wt.Removed,s)),s[0]}}removeTopBox(){if(this.topBox)return this.remove(this.topBox)}removeAll(e=!1){const t=this.boxes$.value;return this.boxes$.setValue([]),t.forEach((e=>e.destroy())),e||(this.boxes.length<=0&&(this.setMaximized(!1),this.setMinimized(!1)),this.events.emit(wt.Removed,t)),t}destroy(e=!1){this.events.removeAllListeners(),this._sideEffect.flushAll(),this.removeAll(e),Object.keys(this).forEach((e=>{const t=this[e];t instanceof qe&&t.destroy()}))}wrapClassName(e){return`${this.namespace}-${e}`}focusBox(e,t=!1){const i=this.getBox(e);i&&(this.boxes.forEach((e=>{if(i===e){let e=!1;i.focus||(e=!0,i.setFocus(!0,t)),e&&!t&&this.events.emit(wt.Focused,i)}else e.focus&&this.blurBox(e,t)})),this.maxTitleBar.focusBox(i))}focusTopBox(){if(this.topBox&&!this.topBox.focus)return this.focusBox(this.topBox)}blurBox(e,t=!1){const i=this.getBox(e);i&&(i.focus&&(i.setFocus(!1,t),t||this.events.emit(wt.Blurred,i)),this.maxTitleBar.focusedBox===i&&this.maxTitleBar.focusBox())}blurAll(e=!1){this.boxes.forEach((t=>{t.focus&&(t.setFocus(!1,e),e||this.events.emit(wt.Blurred,t))})),this.maxTitleBar.focusedBox&&this.maxTitleBar.focusBox()}teleBoxMatcher(e){const t=Object.keys(e);return i=>t.every((t=>e[t]===i[t]))}updateBox(e,t,i=!1){null==t.x&&null==t.y||e.move(null==t.x?e.intrinsicX:t.x,null==t.y?e.intrinsicY:t.y,i),null==t.width&&null==t.height||e.resize(null==t.width?e.intrinsicWidth:t.width,null==t.height?e.intrinsicHeight:t.height,i),null!=t.title&&(e.setTitle(t.title),this.maxTitleBar.updateTitles()),null!=t.visible&&e.setVisible(t.visible,i),null!=t.minHeight&&e.setMinHeight(t.minHeight,i),null!=t.minWidth&&e.setMinWidth(t.minWidth,i),null!=t.resizable&&e.setResizable(t.resizable,i),null!=t.draggable&&e.setDraggable(t.draggable,i),null!=t.fixRatio&&e.setFixRatio(t.fixRatio,i),null!=t.zIndex&&e.setZIndex(t.zIndex,i),null!=t.content&&e.mountContent(t.content),null!=t.footer&&e.mountFooter(t.footer)}smartPosition(e={}){let{x:t,y:i}=e;const{width:s=.5,height:r=.5}=e;if(null==t){let e=20;this.topBox&&(e=this.topBox.intrinsicX*this.containerRect.width+20,e>this.containerRect.width-s*this.containerRect.width&&(e=20)),t=e/this.containerRect.width}if(null==i){let e=20;this.topBox&&(e=this.topBox.intrinsicY*this.containerRect.height+20,e>this.containerRect.height-r*this.containerRect.height&&(e=20)),i=e/this.containerRect.height}return l(a({},e),{x:t,y:i,width:s,height:r})}makeBoxTop(e,t=!1){this.topBox&&e!==this.topBox&&e.setZIndex(this.topBox.zIndex+1,t)}getBoxIndex(e){return\"string\"==typeof e?this.boxes.findIndex((t=>t.id===e)):this.boxes.findIndex((t=>t===e))}getBox(e){return\"string\"==typeof e?this.boxes.find((t=>t.id===e)):e}}export{pt as DefaultTitleBar,Je as TELE_BOX_COLOR_SCHEME,st as TELE_BOX_DELEGATE_EVENT,tt as TELE_BOX_EVENT,wt as TELE_BOX_MANAGER_EVENT,nt as TELE_BOX_RESIZE_HANDLE,Ke as TELE_BOX_STATE,gt as TeleBox,Ct as TeleBoxCollector,at as TeleBoxDragHandleType,Bt as TeleBoxManager,yt as TeleBoxReact};\n//# sourceMappingURL=telebox-insider.es.js.map\n","import { AppAttributes, Events, MIN_HEIGHT, MIN_WIDTH } from \"./constants\";\nimport { debounce } from \"lodash\";\nimport { TELE_BOX_STATE, TeleBoxCollector, TeleBoxManager } from \"@netless/telebox-insider\";\nimport { WindowManager } from \"./index\";\nimport type { AddAppOptions, AppInitState, EmitterType, CallbacksType } from \"./index\";\nimport type {\n TeleBoxManagerUpdateConfig,\n TeleBoxManagerCreateConfig,\n ReadonlyTeleBox,\n TeleBoxManagerConfig,\n TeleBoxColorScheme,\n TeleBoxRect,\n TeleBoxConfig,\n} from \"@netless/telebox-insider\";\nimport type Emittery from \"emittery\";\nimport type { NetlessApp } from \"./typings\";\nimport type { View } from \"white-web-sdk\";\n\nexport { TELE_BOX_STATE };\n\nexport type CreateBoxParams = {\n appId: string;\n app: NetlessApp;\n view?: View;\n emitter?: Emittery;\n options?: AddAppOptions;\n canOperate?: boolean;\n smartPosition?: boolean;\n};\n\ntype AppId = { appId: string };\n\ntype MoveBoxParams = AppId & { x: number; y: number };\n\ntype ResizeBoxParams = AppId & { width: number; height: number; skipUpdate: boolean };\n\ntype SetBoxMinSizeParams = AppId & { minWidth: number; minHeight: number };\n\ntype SetBoxTitleParams = AppId & { title: string };\n\nexport type CreateTeleBoxManagerConfig = {\n collectorContainer?: HTMLElement;\n collectorStyles?: Partial<CSSStyleDeclaration>;\n prefersColorScheme?: TeleBoxColorScheme;\n};\n\nexport type BoxManagerContext = {\n safeSetAttributes: (attributes: any) => void;\n getMainView: () => View;\n updateAppState: (appId: string, field: AppAttributes, value: any) => void;\n emitter: EmitterType;\n callbacks: CallbacksType;\n canOperate: () => boolean;\n notifyContainerRectUpdate: (rect: TeleBoxRect) => void;\n cleanFocus: () => void;\n setAppFocus: (appId: string) => void;\n};\n\nexport const createBoxManager = (\n manager: WindowManager,\n callbacks: CallbacksType,\n emitter: EmitterType,\n options: CreateTeleBoxManagerConfig\n) => {\n return new BoxManager(\n {\n safeSetAttributes: (attributes: any) => manager.safeSetAttributes(attributes),\n getMainView: () => manager.mainView,\n updateAppState: (...args) => manager.appManager?.store.updateAppState(...args),\n canOperate: () => manager.canOperate,\n notifyContainerRectUpdate: (rect: TeleBoxRect) =>\n manager.appManager?.notifyContainerRectUpdate(rect),\n cleanFocus: () => manager.appManager?.store.cleanFocus(),\n setAppFocus: (appId: string) => manager.appManager?.store.setAppFocus(appId, true),\n callbacks,\n emitter,\n },\n options\n );\n};\n\nexport class BoxManager {\n public teleBoxManager: TeleBoxManager;\n\n constructor(\n private context: BoxManagerContext,\n private createTeleBoxManagerConfig?: CreateTeleBoxManagerConfig\n ) {\n const { emitter, callbacks } = context;\n this.teleBoxManager = this.setupBoxManager(createTeleBoxManagerConfig);\n\n // 使用 _xxx$.reaction 订阅修改的值, 不管有没有 skipUpdate, 修改值都会触发回调\n this.teleBoxManager._state$.reaction(state => {\n callbacks.emit(\"boxStateChange\", state);\n emitter.emit(\"boxStateChange\", state);\n });\n\n this.teleBoxManager._darkMode$.reaction(darkMode => {\n callbacks.emit(\"darkModeChange\", darkMode);\n });\n this.teleBoxManager._prefersColorScheme$.reaction(colorScheme => {\n callbacks.emit(\"prefersColorSchemeChange\", colorScheme);\n });\n\n // events.on 的值则会根据 skipUpdate 来决定是否触发回调\n this.teleBoxManager.events.on(\"minimized\", minimized => {\n this.context.safeSetAttributes({ minimized });\n if (minimized) {\n this.context.cleanFocus();\n this.blurAllBox();\n } else {\n const topBox = this.getTopBox();\n if (topBox) {\n this.context.setAppFocus(topBox.id);\n this.focusBox({ appId: topBox.id }, false);\n }\n }\n });\n this.teleBoxManager.events.on(\"maximized\", maximized => {\n this.context.safeSetAttributes({ maximized });\n });\n this.teleBoxManager.events.on(\"removed\", boxes => {\n boxes.forEach(box => {\n emitter.emit(\"close\", { appId: box.id });\n });\n });\n this.teleBoxManager.events.on(\n \"intrinsic_move\",\n debounce((box: ReadonlyTeleBox): void => {\n emitter.emit(\"move\", { appId: box.id, x: box.intrinsicX, y: box.intrinsicY });\n }, 50)\n );\n this.teleBoxManager.events.on(\n \"intrinsic_resize\",\n debounce((box: ReadonlyTeleBox): void => {\n emitter.emit(\"resize\", {\n appId: box.id,\n width: box.intrinsicWidth,\n height: box.intrinsicHeight,\n });\n }, 200)\n );\n this.teleBoxManager.events.on(\"focused\", box => {\n if (box) {\n if (this.canOperate) {\n emitter.emit(\"focus\", { appId: box.id });\n } else {\n this.teleBoxManager.blurBox(box.id);\n }\n }\n });\n this.teleBoxManager.events.on(\"z_index\", box => {\n this.context.updateAppState(box.id, AppAttributes.ZIndex, box.zIndex);\n });\n emitter.on(\"playgroundSizeChange\", () => this.updateManagerRect());\n emitter.on(\"updateManagerRect\", () => this.updateManagerRect());\n }\n\n private get mainView() {\n return this.context.getMainView();\n }\n\n private get canOperate() {\n return this.context.canOperate();\n }\n\n public get boxState() {\n return this.teleBoxManager.state;\n }\n\n public get maximized() {\n return this.teleBoxManager.maximized;\n }\n\n public get minimized() {\n return this.teleBoxManager.minimized;\n }\n\n public get darkMode() {\n return this.teleBoxManager.darkMode;\n }\n\n public get prefersColorScheme(): TeleBoxColorScheme {\n return this.teleBoxManager.prefersColorScheme;\n }\n\n public get boxSize() {\n return this.teleBoxManager.boxes.length;\n }\n\n public createBox(params: CreateBoxParams): void {\n if (!this.teleBoxManager) return;\n let { minwidth = MIN_WIDTH, minheight = MIN_HEIGHT } = params.app.config ?? {};\n const { width, height } = params.app.config ?? {};\n const title = params.options?.title || params.appId;\n const rect = this.teleBoxManager.containerRect;\n\n if (minwidth > 1) {\n minwidth = minwidth / rect.width;\n }\n\n if (minheight > 1) {\n minheight = minheight / rect.height;\n }\n\n const createBoxConfig: TeleBoxManagerCreateConfig = {\n title,\n minWidth: minwidth,\n minHeight: minheight,\n width,\n height,\n id: params.appId,\n };\n this.teleBoxManager.create(createBoxConfig, params.smartPosition);\n this.context.emitter.emit(`${params.appId}${Events.WindowCreated}` as any);\n }\n\n public setBoxInitState(appId: string): void {\n const box = this.teleBoxManager.queryOne({ id: appId });\n if (box) {\n if (box.state === TELE_BOX_STATE.Maximized) {\n this.context.emitter.emit(\"resize\", {\n appId: appId,\n x: box.x,\n y: box.y,\n width: box.intrinsicWidth,\n height: box.intrinsicHeight,\n });\n }\n }\n }\n\n public setupBoxManager(\n createTeleBoxManagerConfig?: CreateTeleBoxManagerConfig\n ): TeleBoxManager {\n const root = WindowManager.wrapper ? WindowManager.wrapper : document.body;\n const rect = root.getBoundingClientRect();\n const initManagerState: TeleBoxManagerConfig = {\n root: root,\n containerRect: {\n x: 0,\n y: 0,\n width: rect.width,\n height: rect.height,\n },\n fence: false,\n prefersColorScheme: createTeleBoxManagerConfig?.prefersColorScheme,\n };\n\n const manager = new TeleBoxManager(initManagerState);\n if (this.teleBoxManager) {\n this.teleBoxManager.destroy();\n }\n this.teleBoxManager = manager;\n const container = createTeleBoxManagerConfig?.collectorContainer || WindowManager.wrapper;\n if (container) {\n this.setCollectorContainer(container);\n }\n return manager;\n }\n\n public setCollectorContainer(container: HTMLElement) {\n const collector = new TeleBoxCollector({\n styles: this.createTeleBoxManagerConfig?.collectorStyles,\n }).mount(container);\n this.teleBoxManager.setCollector(collector);\n }\n\n public getBox(appId: string): ReadonlyTeleBox | undefined {\n return this.teleBoxManager.queryOne({ id: appId });\n }\n\n public closeBox(appId: string, skipUpdate = false): ReadonlyTeleBox | undefined {\n return this.teleBoxManager.remove(appId, skipUpdate);\n }\n\n public boxIsFocus(appId: string): boolean | undefined {\n const box = this.getBox(appId);\n return box?.focus;\n }\n\n public getFocusBox(): ReadonlyTeleBox | undefined {\n const boxes = this.teleBoxManager.query({ focus: true });\n return boxes[0];\n }\n\n public getTopBox(): ReadonlyTeleBox | undefined {\n return this.teleBoxManager.topBox;\n }\n\n public updateBoxState(state?: AppInitState): void {\n if (!state) return;\n const box = this.getBox(state.id);\n if (box) {\n this.teleBoxManager.update(\n box.id,\n {\n x: state.x,\n y: state.y,\n width: state.width || 0.5,\n height: state.height || 0.5,\n zIndex: state.zIndex,\n },\n true\n );\n setTimeout(() => {\n if (state.focus) {\n this.teleBoxManager.focusBox(box.id, true);\n }\n if (state.maximized != null) {\n this.teleBoxManager.setMaximized(Boolean(state.maximized), true);\n }\n if (state.minimized != null) {\n this.teleBoxManager.setMinimized(Boolean(state.minimized), true);\n }\n }, 50);\n this.context.callbacks.emit(\"boxStateChange\", this.teleBoxManager.state);\n }\n }\n\n public updateManagerRect(): void {\n const rect = this.mainView.divElement?.getBoundingClientRect();\n if (rect && rect.width > 0 && rect.height > 0) {\n const containerRect = { x: 0, y: 0, width: rect.width, height: rect.height };\n this.teleBoxManager.setContainerRect(containerRect);\n this.context.notifyContainerRectUpdate(this.teleBoxManager.containerRect);\n }\n }\n\n public moveBox({ appId, x, y }: MoveBoxParams): void {\n this.teleBoxManager.update(appId, { x, y }, true);\n }\n\n public focusBox({ appId }: AppId, skipUpdate = true): void {\n this.teleBoxManager.focusBox(appId, skipUpdate);\n }\n\n public resizeBox({ appId, width, height, skipUpdate }: ResizeBoxParams): void {\n this.teleBoxManager.update(appId, { width, height }, skipUpdate);\n }\n\n public setBoxMinSize(params: SetBoxMinSizeParams): void {\n this.teleBoxManager.update(\n params.appId,\n {\n minWidth: params.minWidth,\n minHeight: params.minHeight,\n },\n true\n );\n }\n\n public setBoxTitle(params: SetBoxTitleParams): void {\n this.teleBoxManager.update(params.appId, { title: params.title }, true);\n }\n\n public blurAllBox(): void {\n this.teleBoxManager.blurAll();\n }\n\n public updateAll(config: TeleBoxManagerUpdateConfig): void {\n this.teleBoxManager.updateAll(config);\n }\n\n public setMaximized(maximized: boolean, skipUpdate = true): void {\n if (maximized !== this.maximized) {\n this.teleBoxManager.setMaximized(maximized, skipUpdate);\n }\n }\n\n public setMinimized(minimized: boolean, skipUpdate = true) {\n this.teleBoxManager.setMinimized(minimized, skipUpdate);\n }\n\n public focusTopBox(): void {\n const boxes = this.teleBoxManager.query();\n if (boxes.length >= 1) {\n const box = this.getTopBox();\n if (box) {\n this.focusBox({ appId: box.id }, false);\n }\n }\n }\n\n public updateBox(id: string, payload: TeleBoxConfig, skipUpdate = true): void {\n this.teleBoxManager.update(id, payload, skipUpdate);\n }\n\n public setReadonly(readonly: boolean) {\n this.teleBoxManager.setReadonly(readonly);\n }\n\n public setPrefersColorScheme(colorScheme: TeleBoxColorScheme) {\n this.teleBoxManager.setPrefersColorScheme(colorScheme);\n }\n\n public setZIndex(id: string, zIndex: number, skipUpdate = true) {\n this.teleBoxManager.update(id, { zIndex }, skipUpdate);\n }\n\n public destroy() {\n this.teleBoxManager.destroy();\n }\n}\n","function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\n}\nfunction is_promise(value) {\n return value && typeof value === 'object' && typeof value.then === 'function';\n}\nfunction add_location(element, file, line, column, char) {\n element.__svelte_meta = {\n loc: { file, line, column, char }\n };\n}\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nlet src_url_equal_anchor;\nfunction src_url_equal(element_src, url) {\n if (!src_url_equal_anchor) {\n src_url_equal_anchor = document.createElement('a');\n }\n src_url_equal_anchor.href = url;\n return element_src === src_url_equal_anchor.href;\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction validate_store(store, name) {\n if (store != null && typeof store.subscribe !== 'function') {\n throw new Error(`'${name}' is not a store with a 'subscribe' method`);\n }\n}\nfunction subscribe(store, ...callbacks) {\n if (store == null) {\n return noop;\n }\n const unsub = store.subscribe(...callbacks);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction get_store_value(store) {\n let value;\n subscribe(store, _ => value = _)();\n return value;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction create_slot(definition, ctx, $$scope, fn) {\n if (definition) {\n const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n return definition[0](slot_ctx);\n }\n}\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n return definition[1] && fn\n ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))\n : $$scope.ctx;\n}\nfunction get_slot_changes(definition, $$scope, dirty, fn) {\n if (definition[2] && fn) {\n const lets = definition[2](fn(dirty));\n if ($$scope.dirty === undefined) {\n return lets;\n }\n if (typeof lets === 'object') {\n const merged = [];\n const len = Math.max($$scope.dirty.length, lets.length);\n for (let i = 0; i < len; i += 1) {\n merged[i] = $$scope.dirty[i] | lets[i];\n }\n return merged;\n }\n return $$scope.dirty | lets;\n }\n return $$scope.dirty;\n}\nfunction update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn) {\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction update_slot(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn);\n}\nfunction get_all_dirty_from_scope($$scope) {\n if ($$scope.ctx.length > 32) {\n const dirty = [];\n const length = $$scope.ctx.length / 32;\n for (let i = 0; i < length; i++) {\n dirty[i] = -1;\n }\n return dirty;\n }\n return -1;\n}\nfunction exclude_internal_props(props) {\n const result = {};\n for (const k in props)\n if (k[0] !== '$')\n result[k] = props[k];\n return result;\n}\nfunction compute_rest_props(props, keys) {\n const rest = {};\n keys = new Set(keys);\n for (const k in props)\n if (!keys.has(k) && k[0] !== '$')\n rest[k] = props[k];\n return rest;\n}\nfunction compute_slots(slots) {\n const result = {};\n for (const key in slots) {\n result[key] = true;\n }\n return result;\n}\nfunction once(fn) {\n let ran = false;\n return function (...args) {\n if (ran)\n return;\n ran = true;\n fn.call(this, ...args);\n };\n}\nfunction null_to_empty(value) {\n return value == null ? '' : value;\n}\nfunction set_store_value(store, ret, value) {\n store.set(value);\n return ret;\n}\nconst has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\n\nconst is_client = typeof window !== 'undefined';\nlet now = is_client\n ? () => window.performance.now()\n : () => Date.now();\nlet raf = is_client ? cb => requestAnimationFrame(cb) : noop;\n// used internally for testing\nfunction set_now(fn) {\n now = fn;\n}\nfunction set_raf(fn) {\n raf = fn;\n}\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * For testing purposes only!\n */\nfunction clear_loops() {\n tasks.clear();\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\n\n// Track which nodes are claimed during hydration. Unclaimed nodes can then be removed from the DOM\n// at the end of hydration without touching the remaining nodes.\nlet is_hydrating = false;\nfunction start_hydrating() {\n is_hydrating = true;\n}\nfunction end_hydrating() {\n is_hydrating = false;\n}\nfunction upper_bound(low, high, key, value) {\n // Return first index of value larger than input value in the range [low, high)\n while (low < high) {\n const mid = low + ((high - low) >> 1);\n if (key(mid) <= value) {\n low = mid + 1;\n }\n else {\n high = mid;\n }\n }\n return low;\n}\nfunction init_hydrate(target) {\n if (target.hydrate_init)\n return;\n target.hydrate_init = true;\n // We know that all children have claim_order values since the unclaimed have been detached if target is not <head>\n let children = target.childNodes;\n // If target is <head>, there may be children without claim_order\n if (target.nodeName === 'HEAD') {\n const myChildren = [];\n for (let i = 0; i < children.length; i++) {\n const node = children[i];\n if (node.claim_order !== undefined) {\n myChildren.push(node);\n }\n }\n children = myChildren;\n }\n /*\n * Reorder claimed children optimally.\n * We can reorder claimed children optimally by finding the longest subsequence of\n * nodes that are already claimed in order and only moving the rest. The longest\n * subsequence subsequence of nodes that are claimed in order can be found by\n * computing the longest increasing subsequence of .claim_order values.\n *\n * This algorithm is optimal in generating the least amount of reorder operations\n * possible.\n *\n * Proof:\n * We know that, given a set of reordering operations, the nodes that do not move\n * always form an increasing subsequence, since they do not move among each other\n * meaning that they must be already ordered among each other. Thus, the maximal\n * set of nodes that do not move form a longest increasing subsequence.\n */\n // Compute longest increasing subsequence\n // m: subsequence length j => index k of smallest value that ends an increasing subsequence of length j\n const m = new Int32Array(children.length + 1);\n // Predecessor indices + 1\n const p = new Int32Array(children.length);\n m[0] = -1;\n let longest = 0;\n for (let i = 0; i < children.length; i++) {\n const current = children[i].claim_order;\n // Find the largest subsequence length such that it ends in a value less than our current value\n // upper_bound returns first greater value, so we subtract one\n // with fast path for when we are on the current longest subsequence\n const seqLen = ((longest > 0 && children[m[longest]].claim_order <= current) ? longest + 1 : upper_bound(1, longest, idx => children[m[idx]].claim_order, current)) - 1;\n p[i] = m[seqLen] + 1;\n const newLen = seqLen + 1;\n // We can guarantee that current is the smallest value. Otherwise, we would have generated a longer sequence.\n m[newLen] = i;\n longest = Math.max(newLen, longest);\n }\n // The longest increasing subsequence of nodes (initially reversed)\n const lis = [];\n // The rest of the nodes, nodes that will be moved\n const toMove = [];\n let last = children.length - 1;\n for (let cur = m[longest] + 1; cur != 0; cur = p[cur - 1]) {\n lis.push(children[cur - 1]);\n for (; last >= cur; last--) {\n toMove.push(children[last]);\n }\n last--;\n }\n for (; last >= 0; last--) {\n toMove.push(children[last]);\n }\n lis.reverse();\n // We sort the nodes being moved to guarantee that their insertion order matches the claim order\n toMove.sort((a, b) => a.claim_order - b.claim_order);\n // Finally, we move the nodes\n for (let i = 0, j = 0; i < toMove.length; i++) {\n while (j < lis.length && toMove[i].claim_order >= lis[j].claim_order) {\n j++;\n }\n const anchor = j < lis.length ? lis[j] : null;\n target.insertBefore(toMove[i], anchor);\n }\n}\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction append_styles(target, style_sheet_id, styles) {\n const append_styles_to = get_root_for_style(target);\n if (!append_styles_to.getElementById(style_sheet_id)) {\n const style = element('style');\n style.id = style_sheet_id;\n style.textContent = styles;\n append_stylesheet(append_styles_to, style);\n }\n}\nfunction get_root_for_style(node) {\n if (!node)\n return document;\n const root = node.getRootNode ? node.getRootNode() : node.ownerDocument;\n if (root && root.host) {\n return root;\n }\n return node.ownerDocument;\n}\nfunction append_empty_stylesheet(node) {\n const style_element = element('style');\n append_stylesheet(get_root_for_style(node), style_element);\n return style_element;\n}\nfunction append_stylesheet(node, style) {\n append(node.head || node, style);\n}\nfunction append_hydration(target, node) {\n if (is_hydrating) {\n init_hydrate(target);\n if ((target.actual_end_child === undefined) || ((target.actual_end_child !== null) && (target.actual_end_child.parentElement !== target))) {\n target.actual_end_child = target.firstChild;\n }\n // Skip nodes of undefined ordering\n while ((target.actual_end_child !== null) && (target.actual_end_child.claim_order === undefined)) {\n target.actual_end_child = target.actual_end_child.nextSibling;\n }\n if (node !== target.actual_end_child) {\n // We only insert if the ordering of this node should be modified or the parent node is not target\n if (node.claim_order !== undefined || node.parentNode !== target) {\n target.insertBefore(node, target.actual_end_child);\n }\n }\n else {\n target.actual_end_child = node.nextSibling;\n }\n }\n else if (node.parentNode !== target || node.nextSibling !== null) {\n target.appendChild(node);\n }\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction insert_hydration(target, node, anchor) {\n if (is_hydrating && !anchor) {\n append_hydration(target, node);\n }\n else if (node.parentNode !== target || node.nextSibling != anchor) {\n target.insertBefore(node, anchor || null);\n }\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction destroy_each(iterations, detaching) {\n for (let i = 0; i < iterations.length; i += 1) {\n if (iterations[i])\n iterations[i].d(detaching);\n }\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction element_is(name, is) {\n return document.createElement(name, { is });\n}\nfunction object_without_properties(obj, exclude) {\n const target = {};\n for (const k in obj) {\n if (has_prop(obj, k)\n // @ts-ignore\n && exclude.indexOf(k) === -1) {\n // @ts-ignore\n target[k] = obj[k];\n }\n }\n return target;\n}\nfunction svg_element(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction space() {\n return text(' ');\n}\nfunction empty() {\n return text('');\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction prevent_default(fn) {\n return function (event) {\n event.preventDefault();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction stop_propagation(fn) {\n return function (event) {\n event.stopPropagation();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction self(fn) {\n return function (event) {\n // @ts-ignore\n if (event.target === this)\n fn.call(this, event);\n };\n}\nfunction trusted(fn) {\n return function (event) {\n // @ts-ignore\n if (event.isTrusted)\n fn.call(this, event);\n };\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_attributes(node, attributes) {\n // @ts-ignore\n const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n for (const key in attributes) {\n if (attributes[key] == null) {\n node.removeAttribute(key);\n }\n else if (key === 'style') {\n node.style.cssText = attributes[key];\n }\n else if (key === '__value') {\n node.value = node[key] = attributes[key];\n }\n else if (descriptors[key] && descriptors[key].set) {\n node[key] = attributes[key];\n }\n else {\n attr(node, key, attributes[key]);\n }\n }\n}\nfunction set_svg_attributes(node, attributes) {\n for (const key in attributes) {\n attr(node, key, attributes[key]);\n }\n}\nfunction set_custom_element_data(node, prop, value) {\n if (prop in node) {\n node[prop] = typeof node[prop] === 'boolean' && value === '' ? true : value;\n }\n else {\n attr(node, prop, value);\n }\n}\nfunction xlink_attr(node, attribute, value) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\nfunction get_binding_group_value(group, __value, checked) {\n const value = new Set();\n for (let i = 0; i < group.length; i += 1) {\n if (group[i].checked)\n value.add(group[i].__value);\n }\n if (!checked) {\n value.delete(__value);\n }\n return Array.from(value);\n}\nfunction to_number(value) {\n return value === '' ? null : +value;\n}\nfunction time_ranges_to_array(ranges) {\n const array = [];\n for (let i = 0; i < ranges.length; i += 1) {\n array.push({ start: ranges.start(i), end: ranges.end(i) });\n }\n return array;\n}\nfunction children(element) {\n return Array.from(element.childNodes);\n}\nfunction init_claim_info(nodes) {\n if (nodes.claim_info === undefined) {\n nodes.claim_info = { last_index: 0, total_claimed: 0 };\n }\n}\nfunction claim_node(nodes, predicate, processNode, createNode, dontUpdateLastIndex = false) {\n // Try to find nodes in an order such that we lengthen the longest increasing subsequence\n init_claim_info(nodes);\n const resultNode = (() => {\n // We first try to find an element after the previous one\n for (let i = nodes.claim_info.last_index; i < nodes.length; i++) {\n const node = nodes[i];\n if (predicate(node)) {\n const replacement = processNode(node);\n if (replacement === undefined) {\n nodes.splice(i, 1);\n }\n else {\n nodes[i] = replacement;\n }\n if (!dontUpdateLastIndex) {\n nodes.claim_info.last_index = i;\n }\n return node;\n }\n }\n // Otherwise, we try to find one before\n // We iterate in reverse so that we don't go too far back\n for (let i = nodes.claim_info.last_index - 1; i >= 0; i--) {\n const node = nodes[i];\n if (predicate(node)) {\n const replacement = processNode(node);\n if (replacement === undefined) {\n nodes.splice(i, 1);\n }\n else {\n nodes[i] = replacement;\n }\n if (!dontUpdateLastIndex) {\n nodes.claim_info.last_index = i;\n }\n else if (replacement === undefined) {\n // Since we spliced before the last_index, we decrease it\n nodes.claim_info.last_index--;\n }\n return node;\n }\n }\n // If we can't find any matching node, we create a new one\n return createNode();\n })();\n resultNode.claim_order = nodes.claim_info.total_claimed;\n nodes.claim_info.total_claimed += 1;\n return resultNode;\n}\nfunction claim_element_base(nodes, name, attributes, create_element) {\n return claim_node(nodes, (node) => node.nodeName === name, (node) => {\n const remove = [];\n for (let j = 0; j < node.attributes.length; j++) {\n const attribute = node.attributes[j];\n if (!attributes[attribute.name]) {\n remove.push(attribute.name);\n }\n }\n remove.forEach(v => node.removeAttribute(v));\n return undefined;\n }, () => create_element(name));\n}\nfunction claim_element(nodes, name, attributes) {\n return claim_element_base(nodes, name, attributes, element);\n}\nfunction claim_svg_element(nodes, name, attributes) {\n return claim_element_base(nodes, name, attributes, svg_element);\n}\nfunction claim_text(nodes, data) {\n return claim_node(nodes, (node) => node.nodeType === 3, (node) => {\n const dataStr = '' + data;\n if (node.data.startsWith(dataStr)) {\n if (node.data.length !== dataStr.length) {\n return node.splitText(dataStr.length);\n }\n }\n else {\n node.data = dataStr;\n }\n }, () => text(data), true // Text nodes should not update last index since it is likely not worth it to eliminate an increasing subsequence of actual elements\n );\n}\nfunction claim_space(nodes) {\n return claim_text(nodes, ' ');\n}\nfunction find_comment(nodes, text, start) {\n for (let i = start; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeType === 8 /* comment node */ && node.textContent.trim() === text) {\n return i;\n }\n }\n return nodes.length;\n}\nfunction claim_html_tag(nodes) {\n // find html opening tag\n const start_index = find_comment(nodes, 'HTML_TAG_START', 0);\n const end_index = find_comment(nodes, 'HTML_TAG_END', start_index);\n if (start_index === end_index) {\n return new HtmlTagHydration();\n }\n init_claim_info(nodes);\n const html_tag_nodes = nodes.splice(start_index, end_index + 1);\n detach(html_tag_nodes[0]);\n detach(html_tag_nodes[html_tag_nodes.length - 1]);\n const claimed_nodes = html_tag_nodes.slice(1, html_tag_nodes.length - 1);\n for (const n of claimed_nodes) {\n n.claim_order = nodes.claim_info.total_claimed;\n nodes.claim_info.total_claimed += 1;\n }\n return new HtmlTagHydration(claimed_nodes);\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_input_type(input, type) {\n try {\n input.type = type;\n }\n catch (e) {\n // do nothing\n }\n}\nfunction set_style(node, key, value, important) {\n node.style.setProperty(key, value, important ? 'important' : '');\n}\nfunction select_option(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n if (option.__value === value) {\n option.selected = true;\n return;\n }\n }\n select.selectedIndex = -1; // no option should be selected\n}\nfunction select_options(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n option.selected = ~value.indexOf(option.__value);\n }\n}\nfunction select_value(select) {\n const selected_option = select.querySelector(':checked') || select.options[0];\n return selected_option && selected_option.__value;\n}\nfunction select_multiple_value(select) {\n return [].map.call(select.querySelectorAll(':checked'), option => option.__value);\n}\n// unfortunately this can't be a constant as that wouldn't be tree-shakeable\n// so we cache the result instead\nlet crossorigin;\nfunction is_crossorigin() {\n if (crossorigin === undefined) {\n crossorigin = false;\n try {\n if (typeof window !== 'undefined' && window.parent) {\n void window.parent.document;\n }\n }\n catch (error) {\n crossorigin = true;\n }\n }\n return crossorigin;\n}\nfunction add_resize_listener(node, fn) {\n const computed_style = getComputedStyle(node);\n if (computed_style.position === 'static') {\n node.style.position = 'relative';\n }\n const iframe = element('iframe');\n iframe.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ' +\n 'overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: -1;');\n iframe.setAttribute('aria-hidden', 'true');\n iframe.tabIndex = -1;\n const crossorigin = is_crossorigin();\n let unsubscribe;\n if (crossorigin) {\n iframe.src = \"data:text/html,<script>onresize=function(){parent.postMessage(0,'*')}</script>\";\n unsubscribe = listen(window, 'message', (event) => {\n if (event.source === iframe.contentWindow)\n fn();\n });\n }\n else {\n iframe.src = 'about:blank';\n iframe.onload = () => {\n unsubscribe = listen(iframe.contentWindow, 'resize', fn);\n };\n }\n append(node, iframe);\n return () => {\n if (crossorigin) {\n unsubscribe();\n }\n else if (unsubscribe && iframe.contentWindow) {\n unsubscribe();\n }\n detach(iframe);\n };\n}\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail, bubbles = false) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, bubbles, false, detail);\n return e;\n}\nfunction query_selector_all(selector, parent = document.body) {\n return Array.from(parent.querySelectorAll(selector));\n}\nclass HtmlTag {\n constructor() {\n this.e = this.n = null;\n }\n c(html) {\n this.h(html);\n }\n m(html, target, anchor = null) {\n if (!this.e) {\n this.e = element(target.nodeName);\n this.t = target;\n this.c(html);\n }\n this.i(anchor);\n }\n h(html) {\n this.e.innerHTML = html;\n this.n = Array.from(this.e.childNodes);\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert(this.t, this.n[i], anchor);\n }\n }\n p(html) {\n this.d();\n this.h(html);\n this.i(this.a);\n }\n d() {\n this.n.forEach(detach);\n }\n}\nclass HtmlTagHydration extends HtmlTag {\n constructor(claimed_nodes) {\n super();\n this.e = this.n = null;\n this.l = claimed_nodes;\n }\n c(html) {\n if (this.l) {\n this.n = this.l;\n }\n else {\n super.c(html);\n }\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert_hydration(this.t, this.n[i], anchor);\n }\n }\n}\nfunction attribute_to_object(attributes) {\n const result = {};\n for (const attribute of attributes) {\n result[attribute.name] = attribute.value;\n }\n return result;\n}\nfunction get_custom_elements_slots(element) {\n const result = {};\n element.childNodes.forEach((node) => {\n result[node.slot || 'default'] = true;\n });\n return result;\n}\n\nconst active_docs = new Set();\nlet active = 0;\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i--)\n hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n return hash >>> 0;\n}\nfunction create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n const step = 16.666 / duration;\n let keyframes = '{\\n';\n for (let p = 0; p <= 1; p += step) {\n const t = a + (b - a) * ease(p);\n keyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n }\n const rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n const name = `__svelte_${hash(rule)}_${uid}`;\n const doc = get_root_for_style(node);\n active_docs.add(doc);\n const stylesheet = doc.__svelte_stylesheet || (doc.__svelte_stylesheet = append_empty_stylesheet(node).sheet);\n const current_rules = doc.__svelte_rules || (doc.__svelte_rules = {});\n if (!current_rules[name]) {\n current_rules[name] = true;\n stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n }\n const animation = node.style.animation || '';\n node.style.animation = `${animation ? `${animation}, ` : ''}${name} ${duration}ms linear ${delay}ms 1 both`;\n active += 1;\n return name;\n}\nfunction delete_rule(node, name) {\n const previous = (node.style.animation || '').split(', ');\n const next = previous.filter(name\n ? anim => anim.indexOf(name) < 0 // remove specific animation\n : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations\n );\n const deleted = previous.length - next.length;\n if (deleted) {\n node.style.animation = next.join(', ');\n active -= deleted;\n if (!active)\n clear_rules();\n }\n}\nfunction clear_rules() {\n raf(() => {\n if (active)\n return;\n active_docs.forEach(doc => {\n const stylesheet = doc.__svelte_stylesheet;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n doc.__svelte_rules = {};\n });\n active_docs.clear();\n });\n}\n\nfunction create_animation(node, from, fn, params) {\n if (!from)\n return noop;\n const to = node.getBoundingClientRect();\n if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom)\n return noop;\n const { delay = 0, duration = 300, easing = identity, \n // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation?\n start: start_time = now() + delay, \n // @ts-ignore todo:\n end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params);\n let running = true;\n let started = false;\n let name;\n function start() {\n if (css) {\n name = create_rule(node, 0, 1, duration, delay, easing, css);\n }\n if (!delay) {\n started = true;\n }\n }\n function stop() {\n if (css)\n delete_rule(node, name);\n running = false;\n }\n loop(now => {\n if (!started && now >= start_time) {\n started = true;\n }\n if (started && now >= end) {\n tick(1, 0);\n stop();\n }\n if (!running) {\n return false;\n }\n if (started) {\n const p = now - start_time;\n const t = 0 + 1 * easing(p / duration);\n tick(t, 1 - t);\n }\n return true;\n });\n start();\n tick(0, 1);\n return stop;\n}\nfunction fix_position(node) {\n const style = getComputedStyle(node);\n if (style.position !== 'absolute' && style.position !== 'fixed') {\n const { width, height } = style;\n const a = node.getBoundingClientRect();\n node.style.position = 'absolute';\n node.style.width = width;\n node.style.height = height;\n add_transform(node, a);\n }\n}\nfunction add_transform(node, a) {\n const b = node.getBoundingClientRect();\n if (a.left !== b.left || a.top !== b.top) {\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`;\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\nfunction get_current_component() {\n if (!current_component)\n throw new Error('Function called outside component initialization');\n return current_component;\n}\nfunction beforeUpdate(fn) {\n get_current_component().$$.before_update.push(fn);\n}\nfunction onMount(fn) {\n get_current_component().$$.on_mount.push(fn);\n}\nfunction afterUpdate(fn) {\n get_current_component().$$.after_update.push(fn);\n}\nfunction onDestroy(fn) {\n get_current_component().$$.on_destroy.push(fn);\n}\nfunction createEventDispatcher() {\n const component = get_current_component();\n return (type, detail) => {\n const callbacks = component.$$.callbacks[type];\n if (callbacks) {\n // TODO are there situations where events could be dispatched\n // in a server (non-DOM) environment?\n const event = custom_event(type, detail);\n callbacks.slice().forEach(fn => {\n fn.call(component, event);\n });\n }\n };\n}\nfunction setContext(key, context) {\n get_current_component().$$.context.set(key, context);\n}\nfunction getContext(key) {\n return get_current_component().$$.context.get(key);\n}\nfunction getAllContexts() {\n return get_current_component().$$.context;\n}\nfunction hasContext(key) {\n return get_current_component().$$.context.has(key);\n}\n// TODO figure out if we still want to support\n// shorthand events, or if we want to implement\n// a real bubbling mechanism\nfunction bubble(component, event) {\n const callbacks = component.$$.callbacks[event.type];\n if (callbacks) {\n // @ts-ignore\n callbacks.slice().forEach(fn => fn.call(this, event));\n }\n}\n\nconst dirty_components = [];\nconst intros = { enabled: false };\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\nfunction add_flush_callback(fn) {\n flush_callbacks.push(fn);\n}\nlet flushing = false;\nconst seen_callbacks = new Set();\nfunction flush() {\n if (flushing)\n return;\n flushing = true;\n do {\n // first, call beforeUpdate functions\n // and update components\n for (let i = 0; i < dirty_components.length; i += 1) {\n const component = dirty_components[i];\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n flushing = false;\n seen_callbacks.clear();\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\n\nlet promise;\nfunction wait() {\n if (!promise) {\n promise = Promise.resolve();\n promise.then(() => {\n promise = null;\n });\n }\n return promise;\n}\nfunction dispatch(node, direction, kind) {\n node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\nconst outroing = new Set();\nlet outros;\nfunction group_outros() {\n outros = {\n r: 0,\n c: [],\n p: outros // parent group\n };\n}\nfunction check_outros() {\n if (!outros.r) {\n run_all(outros.c);\n }\n outros = outros.p;\n}\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\nfunction transition_out(block, local, detach, callback) {\n if (block && block.o) {\n if (outroing.has(block))\n return;\n outroing.add(block);\n outros.c.push(() => {\n outroing.delete(block);\n if (callback) {\n if (detach)\n block.d(1);\n callback();\n }\n });\n block.o(local);\n }\n}\nconst null_transition = { duration: 0 };\nfunction create_in_transition(node, fn, params) {\n let config = fn(node, params);\n let running = false;\n let animation_name;\n let task;\n let uid = 0;\n function cleanup() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n tick(0, 1);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n if (task)\n task.abort();\n running = true;\n add_render_callback(() => dispatch(node, true, 'start'));\n task = loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(1, 0);\n dispatch(node, true, 'end');\n cleanup();\n return running = false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(t, 1 - t);\n }\n }\n return running;\n });\n }\n let started = false;\n return {\n start() {\n if (started)\n return;\n started = true;\n delete_rule(node);\n if (is_function(config)) {\n config = config();\n wait().then(go);\n }\n else {\n go();\n }\n },\n invalidate() {\n started = false;\n },\n end() {\n if (running) {\n cleanup();\n running = false;\n }\n }\n };\n}\nfunction create_out_transition(node, fn, params) {\n let config = fn(node, params);\n let running = true;\n let animation_name;\n const group = outros;\n group.r += 1;\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n add_render_callback(() => dispatch(node, false, 'start'));\n loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(0, 1);\n dispatch(node, false, 'end');\n if (!--group.r) {\n // this will result in `end()` being called,\n // so we don't need to clean up here\n run_all(group.c);\n }\n return false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(1 - t, t);\n }\n }\n return running;\n });\n }\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go();\n });\n }\n else {\n go();\n }\n return {\n end(reset) {\n if (reset && config.tick) {\n config.tick(1, 0);\n }\n if (running) {\n if (animation_name)\n delete_rule(node, animation_name);\n running = false;\n }\n }\n };\n}\nfunction create_bidirectional_transition(node, fn, params, intro) {\n let config = fn(node, params);\n let t = intro ? 0 : 1;\n let running_program = null;\n let pending_program = null;\n let animation_name = null;\n function clear_animation() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function init(program, duration) {\n const d = (program.b - t);\n duration *= Math.abs(d);\n return {\n a: t,\n b: program.b,\n d,\n duration,\n start: program.start,\n end: program.start + duration,\n group: program.group\n };\n }\n function go(b) {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n const program = {\n start: now() + delay,\n b\n };\n if (!b) {\n // @ts-ignore todo: improve typings\n program.group = outros;\n outros.r += 1;\n }\n if (running_program || pending_program) {\n pending_program = program;\n }\n else {\n // if this is an intro, and there's a delay, we need to do\n // an initial tick and/or apply CSS animation immediately\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, b, duration, delay, easing, css);\n }\n if (b)\n tick(0, 1);\n running_program = init(program, duration);\n add_render_callback(() => dispatch(node, b, 'start'));\n loop(now => {\n if (pending_program && now > pending_program.start) {\n running_program = init(pending_program, duration);\n pending_program = null;\n dispatch(node, running_program.b, 'start');\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css);\n }\n }\n if (running_program) {\n if (now >= running_program.end) {\n tick(t = running_program.b, 1 - t);\n dispatch(node, running_program.b, 'end');\n if (!pending_program) {\n // we're done\n if (running_program.b) {\n // intro — we can tidy up immediately\n clear_animation();\n }\n else {\n // outro — needs to be coordinated\n if (!--running_program.group.r)\n run_all(running_program.group.c);\n }\n }\n running_program = null;\n }\n else if (now >= running_program.start) {\n const p = now - running_program.start;\n t = running_program.a + running_program.d * easing(p / running_program.duration);\n tick(t, 1 - t);\n }\n }\n return !!(running_program || pending_program);\n });\n }\n }\n return {\n run(b) {\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go(b);\n });\n }\n else {\n go(b);\n }\n },\n end() {\n clear_animation();\n running_program = pending_program = null;\n }\n };\n}\n\nfunction handle_promise(promise, info) {\n const token = info.token = {};\n function update(type, index, key, value) {\n if (info.token !== token)\n return;\n info.resolved = value;\n let child_ctx = info.ctx;\n if (key !== undefined) {\n child_ctx = child_ctx.slice();\n child_ctx[key] = value;\n }\n const block = type && (info.current = type)(child_ctx);\n let needs_flush = false;\n if (info.block) {\n if (info.blocks) {\n info.blocks.forEach((block, i) => {\n if (i !== index && block) {\n group_outros();\n transition_out(block, 1, 1, () => {\n if (info.blocks[i] === block) {\n info.blocks[i] = null;\n }\n });\n check_outros();\n }\n });\n }\n else {\n info.block.d(1);\n }\n block.c();\n transition_in(block, 1);\n block.m(info.mount(), info.anchor);\n needs_flush = true;\n }\n info.block = block;\n if (info.blocks)\n info.blocks[index] = block;\n if (needs_flush) {\n flush();\n }\n }\n if (is_promise(promise)) {\n const current_component = get_current_component();\n promise.then(value => {\n set_current_component(current_component);\n update(info.then, 1, info.value, value);\n set_current_component(null);\n }, error => {\n set_current_component(current_component);\n update(info.catch, 2, info.error, error);\n set_current_component(null);\n if (!info.hasCatch) {\n throw error;\n }\n });\n // if we previously had a then/catch block, destroy it\n if (info.current !== info.pending) {\n update(info.pending, 0);\n return true;\n }\n }\n else {\n if (info.current !== info.then) {\n update(info.then, 1, info.value, promise);\n return true;\n }\n info.resolved = promise;\n }\n}\nfunction update_await_block_branch(info, ctx, dirty) {\n const child_ctx = ctx.slice();\n const { resolved } = info;\n if (info.current === info.then) {\n child_ctx[info.value] = resolved;\n }\n if (info.current === info.catch) {\n child_ctx[info.error] = resolved;\n }\n info.block.p(child_ctx, dirty);\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction outro_and_destroy_block(block, lookup) {\n transition_out(block, 1, 1, () => {\n lookup.delete(block.key);\n });\n}\nfunction fix_and_destroy_block(block, lookup) {\n block.f();\n destroy_block(block, lookup);\n}\nfunction fix_and_outro_and_destroy_block(block, lookup) {\n block.f();\n outro_and_destroy_block(block, lookup);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction validate_each_keys(ctx, list, get_context, get_key) {\n const keys = new Set();\n for (let i = 0; i < list.length; i++) {\n const key = get_key(get_context(ctx, list, i));\n if (keys.has(key)) {\n throw new Error('Cannot have duplicate keys in a keyed each');\n }\n keys.add(key);\n }\n}\n\nfunction get_spread_update(levels, updates) {\n const update = {};\n const to_null_out = {};\n const accounted_for = { $$scope: 1 };\n let i = levels.length;\n while (i--) {\n const o = levels[i];\n const n = updates[i];\n if (n) {\n for (const key in o) {\n if (!(key in n))\n to_null_out[key] = 1;\n }\n for (const key in n) {\n if (!accounted_for[key]) {\n update[key] = n[key];\n accounted_for[key] = 1;\n }\n }\n levels[i] = n;\n }\n else {\n for (const key in o) {\n accounted_for[key] = 1;\n }\n }\n }\n for (const key in to_null_out) {\n if (!(key in update))\n update[key] = undefined;\n }\n return update;\n}\nfunction get_spread_object(spread_props) {\n return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};\n}\n\n// source: https://html.spec.whatwg.org/multipage/indices.html\nconst boolean_attributes = new Set([\n 'allowfullscreen',\n 'allowpaymentrequest',\n 'async',\n 'autofocus',\n 'autoplay',\n 'checked',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'formnovalidate',\n 'hidden',\n 'ismap',\n 'loop',\n 'multiple',\n 'muted',\n 'nomodule',\n 'novalidate',\n 'open',\n 'playsinline',\n 'readonly',\n 'required',\n 'reversed',\n 'selected'\n]);\n\nconst invalid_attribute_name_character = /[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// https://infra.spec.whatwg.org/#noncharacter\nfunction spread(args, classes_to_add) {\n const attributes = Object.assign({}, ...args);\n if (classes_to_add) {\n if (attributes.class == null) {\n attributes.class = classes_to_add;\n }\n else {\n attributes.class += ' ' + classes_to_add;\n }\n }\n let str = '';\n Object.keys(attributes).forEach(name => {\n if (invalid_attribute_name_character.test(name))\n return;\n const value = attributes[name];\n if (value === true)\n str += ' ' + name;\n else if (boolean_attributes.has(name.toLowerCase())) {\n if (value)\n str += ' ' + name;\n }\n else if (value != null) {\n str += ` ${name}=\"${value}\"`;\n }\n });\n return str;\n}\nconst escaped = {\n '\"': '"',\n \"'\": ''',\n '&': '&',\n '<': '<',\n '>': '>'\n};\nfunction escape(html) {\n return String(html).replace(/[\"'&<>]/g, match => escaped[match]);\n}\nfunction escape_attribute_value(value) {\n return typeof value === 'string' ? escape(value) : value;\n}\nfunction escape_object(obj) {\n const result = {};\n for (const key in obj) {\n result[key] = escape_attribute_value(obj[key]);\n }\n return result;\n}\nfunction each(items, fn) {\n let str = '';\n for (let i = 0; i < items.length; i += 1) {\n str += fn(items[i], i);\n }\n return str;\n}\nconst missing_component = {\n $$render: () => ''\n};\nfunction validate_component(component, name) {\n if (!component || !component.$$render) {\n if (name === 'svelte:component')\n name += ' this={...}';\n throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`);\n }\n return component;\n}\nfunction debug(file, line, column, values) {\n console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console\n console.log(values); // eslint-disable-line no-console\n return '';\n}\nlet on_destroy;\nfunction create_ssr_component(fn) {\n function $$render(result, props, bindings, slots, context) {\n const parent_component = current_component;\n const $$ = {\n on_destroy,\n context: new Map(parent_component ? parent_component.$$.context : context || []),\n // these will be immediately discarded\n on_mount: [],\n before_update: [],\n after_update: [],\n callbacks: blank_object()\n };\n set_current_component({ $$ });\n const html = fn(result, props, bindings, slots);\n set_current_component(parent_component);\n return html;\n }\n return {\n render: (props = {}, { $$slots = {}, context = new Map() } = {}) => {\n on_destroy = [];\n const result = { title: '', head: '', css: new Set() };\n const html = $$render(result, props, {}, $$slots, context);\n run_all(on_destroy);\n return {\n html,\n css: {\n code: Array.from(result.css).map(css => css.code).join('\\n'),\n map: null // TODO\n },\n head: result.title + result.head\n };\n },\n $$render\n };\n}\nfunction add_attribute(name, value, boolean) {\n if (value == null || (boolean && !value))\n return '';\n return ` ${name}${value === true ? '' : `=${typeof value === 'string' ? JSON.stringify(escape(value)) : `\"${value}\"`}`}`;\n}\nfunction add_classes(classes) {\n return classes ? ` class=\"${classes}\"` : '';\n}\n\nfunction bind(component, name, callback) {\n const index = component.$$.props[name];\n if (index !== undefined) {\n component.$$.bound[index] = callback;\n callback(component.$$.ctx[index]);\n }\n}\nfunction create_component(block) {\n block && block.c();\n}\nfunction claim_component(block, parent_nodes) {\n block && block.l(parent_nodes);\n}\nfunction mount_component(component, target, anchor, customElement) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n if (!customElement) {\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n }\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(parent_component ? parent_component.$$.context : options.context || []),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false,\n root: options.target || parent_component.$$.root\n };\n append_styles && append_styles($$.root);\n let ready = false;\n $$.ctx = instance\n ? instance(component, options.props || {}, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n if (options.hydrate) {\n start_hydrating();\n const nodes = children(options.target);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.l(nodes);\n nodes.forEach(detach);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor, options.customElement);\n end_hydrating();\n flush();\n }\n set_current_component(parent_component);\n}\nlet SvelteElement;\nif (typeof HTMLElement === 'function') {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n connectedCallback() {\n const { on_mount } = this.$$;\n this.$$.on_disconnect = on_mount.map(run).filter(is_function);\n // @ts-ignore todo: improve typings\n for (const key in this.$$.slotted) {\n // @ts-ignore todo: improve typings\n this.appendChild(this.$$.slotted[key]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n disconnectedCallback() {\n run_all(this.$$.on_disconnect);\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n // TODO should this delegate to addEventListener?\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\n/**\n * Base class for Svelte components. Used when dev=false.\n */\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\nfunction dispatch_dev(type, detail) {\n document.dispatchEvent(custom_event(type, Object.assign({ version: '3.42.4' }, detail), true));\n}\nfunction append_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append(target, node);\n}\nfunction append_hydration_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append_hydration(target, node);\n}\nfunction insert_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert(target, node, anchor);\n}\nfunction insert_hydration_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert_hydration(target, node, anchor);\n}\nfunction detach_dev(node) {\n dispatch_dev('SvelteDOMRemove', { node });\n detach(node);\n}\nfunction detach_between_dev(before, after) {\n while (before.nextSibling && before.nextSibling !== after) {\n detach_dev(before.nextSibling);\n }\n}\nfunction detach_before_dev(after) {\n while (after.previousSibling) {\n detach_dev(after.previousSibling);\n }\n}\nfunction detach_after_dev(before) {\n while (before.nextSibling) {\n detach_dev(before.nextSibling);\n }\n}\nfunction listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) {\n const modifiers = options === true ? ['capture'] : options ? Array.from(Object.keys(options)) : [];\n if (has_prevent_default)\n modifiers.push('preventDefault');\n if (has_stop_propagation)\n modifiers.push('stopPropagation');\n dispatch_dev('SvelteDOMAddEventListener', { node, event, handler, modifiers });\n const dispose = listen(node, event, handler, options);\n return () => {\n dispatch_dev('SvelteDOMRemoveEventListener', { node, event, handler, modifiers });\n dispose();\n };\n}\nfunction attr_dev(node, attribute, value) {\n attr(node, attribute, value);\n if (value == null)\n dispatch_dev('SvelteDOMRemoveAttribute', { node, attribute });\n else\n dispatch_dev('SvelteDOMSetAttribute', { node, attribute, value });\n}\nfunction prop_dev(node, property, value) {\n node[property] = value;\n dispatch_dev('SvelteDOMSetProperty', { node, property, value });\n}\nfunction dataset_dev(node, property, value) {\n node.dataset[property] = value;\n dispatch_dev('SvelteDOMSetDataset', { node, property, value });\n}\nfunction set_data_dev(text, data) {\n data = '' + data;\n if (text.wholeText === data)\n return;\n dispatch_dev('SvelteDOMSetData', { node: text, data });\n text.data = data;\n}\nfunction validate_each_argument(arg) {\n if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) {\n let msg = '{#each} only iterates over array-like objects.';\n if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) {\n msg += ' You can use a spread to convert this iterable into an array.';\n }\n throw new Error(msg);\n }\n}\nfunction validate_slots(name, slot, keys) {\n for (const slot_key of Object.keys(slot)) {\n if (!~keys.indexOf(slot_key)) {\n console.warn(`<${name}> received an unexpected slot \"${slot_key}\".`);\n }\n }\n}\n/**\n * Base class for Svelte components with some minor dev-enhancements. Used when dev=true.\n */\nclass SvelteComponentDev extends SvelteComponent {\n constructor(options) {\n if (!options || (!options.target && !options.$$inline)) {\n throw new Error(\"'target' is a required option\");\n }\n super();\n }\n $destroy() {\n super.$destroy();\n this.$destroy = () => {\n console.warn('Component was already destroyed'); // eslint-disable-line no-console\n };\n }\n $capture_state() { }\n $inject_state() { }\n}\n/**\n * Base class to create strongly typed Svelte components.\n * This only exists for typing purposes and should be used in `.d.ts` files.\n *\n * ### Example:\n *\n * You have component library on npm called `component-library`, from which\n * you export a component called `MyComponent`. For Svelte+TypeScript users,\n * you want to provide typings. Therefore you create a `index.d.ts`:\n * ```ts\n * import { SvelteComponentTyped } from \"svelte\";\n * export class MyComponent extends SvelteComponentTyped<{foo: string}> {}\n * ```\n * Typing this makes it possible for IDEs like VS Code with the Svelte extension\n * to provide intellisense and to use the component like this in a Svelte file\n * with TypeScript:\n * ```svelte\n * <script lang=\"ts\">\n * \timport { MyComponent } from \"component-library\";\n * </script>\n * <MyComponent foo={'bar'} />\n * ```\n *\n * #### Why not make this part of `SvelteComponent(Dev)`?\n * Because\n * ```ts\n * class ASubclassOfSvelteComponent extends SvelteComponent<{foo: string}> {}\n * const component: typeof SvelteComponent = ASubclassOfSvelteComponent;\n * ```\n * will throw a type error, so we need to separate the more strictly typed class.\n */\nclass SvelteComponentTyped extends SvelteComponentDev {\n constructor(options) {\n super(options);\n }\n}\nfunction loop_guard(timeout) {\n const start = Date.now();\n return () => {\n if (Date.now() - start > timeout) {\n throw new Error('Infinite loop detected');\n }\n };\n}\n\nexport { HtmlTag, HtmlTagHydration, SvelteComponent, SvelteComponentDev, SvelteComponentTyped, SvelteElement, action_destroyer, add_attribute, add_classes, add_flush_callback, add_location, add_render_callback, add_resize_listener, add_transform, afterUpdate, append, append_dev, append_empty_stylesheet, append_hydration, append_hydration_dev, append_styles, assign, attr, attr_dev, attribute_to_object, beforeUpdate, bind, binding_callbacks, blank_object, bubble, check_outros, children, claim_component, claim_element, claim_html_tag, claim_space, claim_svg_element, claim_text, clear_loops, component_subscribe, compute_rest_props, compute_slots, createEventDispatcher, create_animation, create_bidirectional_transition, create_component, create_in_transition, create_out_transition, create_slot, create_ssr_component, current_component, custom_event, dataset_dev, debug, destroy_block, destroy_component, destroy_each, detach, detach_after_dev, detach_before_dev, detach_between_dev, detach_dev, dirty_components, dispatch_dev, each, element, element_is, empty, end_hydrating, escape, escape_attribute_value, escape_object, escaped, exclude_internal_props, fix_and_destroy_block, fix_and_outro_and_destroy_block, fix_position, flush, getAllContexts, getContext, get_all_dirty_from_scope, get_binding_group_value, get_current_component, get_custom_elements_slots, get_root_for_style, get_slot_changes, get_spread_object, get_spread_update, get_store_value, globals, group_outros, handle_promise, hasContext, has_prop, identity, init, insert, insert_dev, insert_hydration, insert_hydration_dev, intros, invalid_attribute_name_character, is_client, is_crossorigin, is_empty, is_function, is_promise, listen, listen_dev, loop, loop_guard, missing_component, mount_component, noop, not_equal, now, null_to_empty, object_without_properties, onDestroy, onMount, once, outro_and_destroy_block, prevent_default, prop_dev, query_selector_all, raf, run, run_all, safe_not_equal, schedule_update, select_multiple_value, select_option, select_options, select_value, self, setContext, set_attributes, set_current_component, set_custom_element_data, set_data, set_data_dev, set_input_type, set_input_value, set_now, set_raf, set_store_value, set_style, set_svg_attributes, space, spread, src_url_equal, start_hydrating, stop_propagation, subscribe, svg_element, text, tick, time_ranges_to_array, to_number, toggle_class, transition_in, transition_out, trusted, update_await_block_branch, update_keyed_each, update_slot, update_slot_base, validate_component, validate_each_argument, validate_each_keys, validate_slots, validate_store, xlink_attr };\n","<script lang=\"ts\">\n import { isEmpty } from \"lodash\";\n import { ApplianceNames } from \"white-web-sdk\";\n\n export let cursorName: string;\n export let tagName: string | undefined;\n export let backgroundColor: string;\n export let appliance: string;\n export let x: number;\n export let y: number;\n export let src: string | undefined;\n export let visible: boolean;\n export let avatar: string;\n export let theme: string;\n export let color: string;\n export let cursorTagBackgroundColor: string;\n export let opacity: number;\n\n $: hasName = !isEmpty(cursorName);\n $: hasTagName = !isEmpty(tagName);\n $: hasAvatar = !isEmpty(avatar);\n $: display = visible ? \"initial\" : \"none\";\n $: isLaserPointer = appliance === ApplianceNames.laserPointer;\n\n const computedAvatarStyle = () => {\n return Object.entries({\n width: (hasName ? 19 : 28) + \"px\",\n height: (hasName ? 19 : 28) + \"px\",\n position: hasName ? \"initial\" : \"absolute\",\n \"border-color\": hasName ? \"white\" : backgroundColor,\n \"margin-right\": (hasName ? 4 : 0) + \"px\",\n })\n .map(([key, v]) => `${key}: ${v}`)\n .join(\";\");\n };\n</script>\n\n<div\n class=\"netless-window-manager-cursor-mid\"\n style=\"transform: translateX({x}px) translateY({y}px);display: {display}\"\n> \n {#if !isLaserPointer}\n <div class=\"netless-window-manager-cursor-name\">\n <div\n class={theme}\n style=\"background-color: {backgroundColor};color: {color};opacity: {opacity}\"\n >\n {#if hasAvatar}\n <img\n class=\"netless-window-manager-cursor-selector-avatar\"\n style={computedAvatarStyle()}\n src={avatar}\n alt=\"avatar\"\n />\n {/if}\n <span style=\"overflow: hidden;white-space: nowrap;text-overflow: ellipsis;max-width: 80px\">{cursorName}</span>\n {#if hasTagName}\n <span class=\"netless-window-manager-cursor-tag-name\" style=\"background-color: {cursorTagBackgroundColor}\">\n {tagName}\n </span>\n {/if}\n </div>\n </div>\n {/if}\n <div class=\"cursor-image-wrapper\">\n <img class=\"netless-window-manager-cursor-{appliance}-image\" {src} alt={appliance} />\n </div>\n</div>\n","import { ApplianceNames } from \"white-web-sdk\";\nimport pencil from \"../image/pencil-cursor.png\";\nimport selector from \"../image/selector-cursor.png\";\nimport eraser from \"../image/eraser-cursor.png\";\nimport shape from \"../image/shape-cursor.svg\";\nimport text from \"../image/text-cursor.svg\";\nimport laser from \"../image/laser-pointer-cursor.svg\";\n\nexport const ApplianceMap: {\n [key: string]: string;\n} = {\n [ApplianceNames.pencil]: pencil,\n [ApplianceNames.selector]: selector,\n [ApplianceNames.eraser]: eraser,\n [ApplianceNames.shape]: shape,\n [ApplianceNames.text]: text,\n [ApplianceNames.laserPointer]: laser,\n};\n","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDAgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDYwLjEgKDg4MTMzKSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT5zaGFwZS1jdXJzb3I8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBkPSJNMjAsMjEuNSBDMjAuMjQ1NDU5OSwyMS41IDIwLjQ0OTYwODQsMjEuNjc2ODc1MiAyMC40OTE5NDQzLDIxLjkxMDEyNDQgTDIwLjUsMjIgTDIwLjUsMjcgQzIwLjUsMjcuMjc2MTQyNCAyMC4yNzYxNDI0LDI3LjUgMjAsMjcuNSBDMTkuNzU0NTQwMSwyNy41IDE5LjU1MDM5MTYsMjcuMzIzMTI0OCAxOS41MDgwNTU3LDI3LjA4OTg3NTYgTDE5LjUsMjcgTDE5LjUsMjIgQzE5LjUsMjEuNzIzODU3NiAxOS43MjM4NTc2LDIxLjUgMjAsMjEuNSBaIE0yNywxOS41IEMyNy4yNzYxNDI0LDE5LjUgMjcuNSwxOS43MjM4NTc2IDI3LjUsMjAgQzI3LjUsMjAuMjQ1NDU5OSAyNy4zMjMxMjQ4LDIwLjQ0OTYwODQgMjcuMDg5ODc1NiwyMC40OTE5NDQzIEwyNywyMC41IEwyMiwyMC41IEMyMS43MjM4NTc2LDIwLjUgMjEuNSwyMC4yNzYxNDI0IDIxLjUsMjAgQzIxLjUsMTkuNzU0NTQwMSAyMS42NzY4NzUyLDE5LjU1MDM5MTYgMjEuOTEwMTI0NCwxOS41MDgwNTU3IEwyMiwxOS41IEwyNywxOS41IFogTTE4LDE5LjUgQzE4LjI3NjE0MjQsMTkuNSAxOC41LDE5LjcyMzg1NzYgMTguNSwyMCBDMTguNSwyMC4yNDU0NTk5IDE4LjMyMzEyNDgsMjAuNDQ5NjA4NCAxOC4wODk4NzU2LDIwLjQ5MTk0NDMgTDE4LDIwLjUgTDEzLDIwLjUgQzEyLjcyMzg1NzYsMjAuNSAxMi41LDIwLjI3NjE0MjQgMTIuNSwyMCBDMTIuNSwxOS43NTQ1NDAxIDEyLjY3Njg3NTIsMTkuNTUwMzkxNiAxMi45MTAxMjQ0LDE5LjUwODA1NTcgTDEzLDE5LjUgTDE4LDE5LjUgWiBNMjAsMTIuNSBDMjAuMjQ1NDU5OSwxMi41IDIwLjQ0OTYwODQsMTIuNjc2ODc1MiAyMC40OTE5NDQzLDEyLjkxMDEyNDQgTDIwLjUsMTMgTDIwLjUsMTggQzIwLjUsMTguMjc2MTQyNCAyMC4yNzYxNDI0LDE4LjUgMjAsMTguNSBDMTkuNzU0NTQwMSwxOC41IDE5LjU1MDM5MTYsMTguMzIzMTI0OCAxOS41MDgwNTU3LDE4LjA4OTg3NTYgTDE5LjUsMTggTDE5LjUsMTMgQzE5LjUsMTIuNzIzODU3NiAxOS43MjM4NTc2LDEyLjUgMjAsMTIuNSBaIiBpZD0icGF0aC0xIj48L3BhdGg+CiAgICAgICAgPGZpbHRlciB4PSItNjQuNiUiIHk9Ii01OS41JSIgd2lkdGg9IjIyOS4zJSIgaGVpZ2h0PSIyNDYuMSUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0yIj4KICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9IjEiIG9wZXJhdG9yPSJkaWxhdGUiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dTcHJlYWRPdXRlcjEiPjwvZmVNb3JwaG9sb2d5PgogICAgICAgICAgICA8ZmVPZmZzZXQgZHg9IjAiIGR5PSIyIiBpbj0ic2hhZG93U3ByZWFkT3V0ZXIxIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMyIgaW49InNoYWRvd09mZnNldE91dGVyMSIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlR2F1c3NpYW5CbHVyPgogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW49InNoYWRvd0JsdXJPdXRlcjEiIGluMj0iU291cmNlQWxwaGEiIG9wZXJhdG9yPSJvdXQiIHJlc3VsdD0ic2hhZG93Qmx1ck91dGVyMSI+PC9mZUNvbXBvc2l0ZT4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAgICAwIDAgMCAwIDAgICAwIDAgMCAwIDAgIDAgMCAwIDAuMTYgMCIgdHlwZT0ibWF0cml4IiBpbj0ic2hhZG93Qmx1ck91dGVyMSI+PC9mZUNvbG9yTWF0cml4PgogICAgICAgIDwvZmlsdGVyPgogICAgPC9kZWZzPgogICAgPGcgaWQ9Iumhtemdoi00IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iV2hpdGVib2FyZC1HdWlkZWxpbmVzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMzQ0LjAwMDAwMCwgLTc1MS4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9InNoYXBlLWN1cnNvciIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzQ0LjAwMDAwMCwgNzUxLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9ouWkh+S7vS00NCIgZmlsbD0iI0ZGRkZGRiIgb3BhY2l0eT0iMC4wMSIgeD0iMCIgeT0iMCIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIiByeD0iMiI+PC9yZWN0PgogICAgICAgICAgICAgICAgPGcgaWQ9IuW9oueKtue7k+WQiCIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIxIiBkPSJNMjAsMjEgQzIwLjQ4NTQxMDMsMjEgMjAuODk4MDg1LDIxLjM0Nzk5OTMgMjAuOTg5OTQ3OSwyMS44NjU0ODc3IEwyMSwyMiBMMjEsMjcgQzIxLDI3LjU1MjI4NDcgMjAuNTUyMjg0NywyOCAyMCwyOCBDMTkuNTE0NTg5NywyOCAxOS4xMDE5MTUsMjcuNjUyMDAwNyAxOS4wMTAwNTIxLDI3LjEzNDUxMjMgTDE5LDI3IEwxOSwyMiBDMTksMjEuNDQ3NzE1MyAxOS40NDc3MTUzLDIxIDIwLDIxIFogTTI3LDE5IEMyNy41NTIyODQ3LDE5IDI4LDE5LjQ0NzcxNTMgMjgsMjAgQzI4LDIwLjQ4NTQxMDMgMjcuNjUyMDAwNywyMC44OTgwODUgMjcuMTM0NTEyMywyMC45ODk5NDc5IEwyNywyMSBMMjIsMjEgQzIxLjQ0NzcxNTMsMjEgMjEsMjAuNTUyMjg0NyAyMSwyMCBDMjEsMTkuNTE0NTg5NyAyMS4zNDc5OTkzLDE5LjEwMTkxNSAyMS44NjU0ODc3LDE5LjAxMDA1MjEgTDIyLDE5IEwyNywxOSBaIE0xOCwxOSBDMTguNTUyMjg0NywxOSAxOSwxOS40NDc3MTUzIDE5LDIwIEMxOSwyMC40ODU0MTAzIDE4LjY1MjAwMDcsMjAuODk4MDg1IDE4LjEzNDUxMjMsMjAuOTg5OTQ3OSBMMTgsMjEgTDEzLDIxIEMxMi40NDc3MTUzLDIxIDEyLDIwLjU1MjI4NDcgMTIsMjAgQzEyLDE5LjUxNDU4OTcgMTIuMzQ3OTk5MywxOS4xMDE5MTUgMTIuODY1NDg3NywxOS4wMTAwNTIxIEwxMywxOSBMMTgsMTkgWiBNMjAsMTIgQzIwLjQ4NTQxMDMsMTIgMjAuODk4MDg1LDEyLjM0Nzk5OTMgMjAuOTg5OTQ3OSwxMi44NjU0ODc3IEwyMSwxMyBMMjEsMTggQzIxLDE4LjU1MjI4NDcgMjAuNTUyMjg0NywxOSAyMCwxOSBDMTkuNTE0NTg5NywxOSAxOS4xMDE5MTUsMTguNjUyMDAwNyAxOS4wMTAwNTIxLDE4LjEzNDUxMjMgTDE5LDE4IEwxOSwxMyBDMTksMTIuNDQ3NzE1MyAxOS40NDc3MTUzLDEyIDIwLDEyIFoiIGZpbGw9IiMyMTIzMjQiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9oiIgZmlsbD0iI0ZGRkZGRiIgeD0iMTguNSIgeT0iMTciIHdpZHRoPSIzIiBoZWlnaHQ9IjYiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIGZpbGw9IiNGRkZGRkYiIHg9IjE3IiB5PSIxOC41IiB3aWR0aD0iNiIgaGVpZ2h0PSIzIj48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjAsMjEuNSBDMjAuMjQ1NDU5OSwyMS41IDIwLjQ0OTYwODQsMjEuNjc2ODc1MiAyMC40OTE5NDQzLDIxLjkxMDEyNDQgTDIwLjUsMjIgTDIwLjUsMjcgQzIwLjUsMjcuMjc2MTQyNCAyMC4yNzYxNDI0LDI3LjUgMjAsMjcuNSBDMTkuNzU0NTQwMSwyNy41IDE5LjU1MDM5MTYsMjcuMzIzMTI0OCAxOS41MDgwNTU3LDI3LjA4OTg3NTYgTDE5LjUsMjcgTDE5LjUsMjIgQzE5LjUsMjEuNzIzODU3NiAxOS43MjM4NTc2LDIxLjUgMjAsMjEuNSBaIE0yNywxOS41IEMyNy4yNzYxNDI0LDE5LjUgMjcuNSwxOS43MjM4NTc2IDI3LjUsMjAgQzI3LjUsMjAuMjQ1NDU5OSAyNy4zMjMxMjQ4LDIwLjQ0OTYwODQgMjcuMDg5ODc1NiwyMC40OTE5NDQzIEwyNywyMC41IEwyMiwyMC41IEMyMS43MjM4NTc2LDIwLjUgMjEuNSwyMC4yNzYxNDI0IDIxLjUsMjAgQzIxLjUsMTkuNzU0NTQwMSAyMS42NzY4NzUyLDE5LjU1MDM5MTYgMjEuOTEwMTI0NCwxOS41MDgwNTU3IEwyMiwxOS41IEwyNywxOS41IFogTTE4LDE5LjUgQzE4LjI3NjE0MjQsMTkuNSAxOC41LDE5LjcyMzg1NzYgMTguNSwyMCBDMTguNSwyMC4yNDU0NTk5IDE4LjMyMzEyNDgsMjAuNDQ5NjA4NCAxOC4wODk4NzU2LDIwLjQ5MTk0NDMgTDE4LDIwLjUgTDEzLDIwLjUgQzEyLjcyMzg1NzYsMjAuNSAxMi41LDIwLjI3NjE0MjQgMTIuNSwyMCBDMTIuNSwxOS43NTQ1NDAxIDEyLjY3Njg3NTIsMTkuNTUwMzkxNiAxMi45MTAxMjQ0LDE5LjUwODA1NTcgTDEzLDE5LjUgTDE4LDE5LjUgWiBNMjAsMTIuNSBDMjAuMjQ1NDU5OSwxMi41IDIwLjQ0OTYwODQsMTIuNjc2ODc1MiAyMC40OTE5NDQzLDEyLjkxMDEyNDQgTDIwLjUsMTMgTDIwLjUsMTggQzIwLjUsMTguMjc2MTQyNCAyMC4yNzYxNDI0LDE4LjUgMjAsMTguNSBDMTkuNzU0NTQwMSwxOC41IDE5LjU1MDM5MTYsMTguMzIzMTI0OCAxOS41MDgwNTU3LDE4LjA4OTg3NTYgTDE5LjUsMTggTDE5LjUsMTMgQzE5LjUsMTIuNzIzODU3NiAxOS43MjM4NTc2LDEyLjUgMjAsMTIuNSBaIiBpZD0i5b2i54q257uT5ZCIIiBmaWxsPSIjMjEyMzI0IiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDdweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDcgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDYwLjEgKDg4MTMzKSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT50ZXh0LWN1cnNvcjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxwYXRoIGQ9Ik0xNiwyNi41IEMxNS43MjM4NTc2LDI2LjUgMTUuNSwyNi4yNzYxNDI0IDE1LjUsMjYgQzE1LjUsMjUuNzU0NTQwMSAxNS42NzY4NzUyLDI1LjU1MDM5MTYgMTUuOTEwMTI0NCwyNS41MDgwNTU3IEwxNiwyNS41IEwxOS41LDI1LjUgTDE5LjUsMTQuNSBMMTYsMTQuNSBDMTUuNzIzODU3NiwxNC41IDE1LjUsMTQuMjc2MTQyNCAxNS41LDE0IEMxNS41LDEzLjc1NDU0MDEgMTUuNjc2ODc1MiwxMy41NTAzOTE2IDE1LjkxMDEyNDQsMTMuNTA4MDU1NyBMMTYsMTMuNSBMMjQsMTMuNSBDMjQuMjc2MTQyNCwxMy41IDI0LjUsMTMuNzIzODU3NiAyNC41LDE0IEMyNC41LDE0LjI0NTQ1OTkgMjQuMzIzMTI0OCwxNC40NDk2MDg0IDI0LjA4OTg3NTYsMTQuNDkxOTQ0MyBMMjQsMTQuNSBMMjAuNSwxNC41IEwyMC41LDI1LjUgTDI0LDI1LjUgQzI0LjI3NjE0MjQsMjUuNSAyNC41LDI1LjcyMzg1NzYgMjQuNSwyNiBDMjQuNSwyNi4yNDU0NTk5IDI0LjMyMzEyNDgsMjYuNDQ5NjA4NCAyNC4wODk4NzU2LDI2LjQ5MTk0NDMgTDI0LDI2LjUgTDE2LDI2LjUgWiIgaWQ9InBhdGgtMSI+PC9wYXRoPgogICAgICAgIDxmaWx0ZXIgeD0iLTI4NC4wJSIgeT0iLTgxLjUlIiB3aWR0aD0iNjY4LjElIiBoZWlnaHQ9IjI5My45JSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0iZmlsdGVyLTIiPgogICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz0iMSIgb3BlcmF0b3I9ImRpbGF0ZSIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd1NwcmVhZE91dGVyMSI+PC9mZU1vcnBob2xvZ3k+CiAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iMCIgZHk9IjIiIGluPSJzaGFkb3dTcHJlYWRPdXRlcjEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0T3V0ZXIxIj48L2ZlT2Zmc2V0PgogICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIzIiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbj0ic2hhZG93Qmx1ck91dGVyMSIgaW4yPSJTb3VyY2VBbHBoYSIgb3BlcmF0b3I9Im91dCIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29tcG9zaXRlPgogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgMCAwIDAgMC4xNiAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29sb3JNYXRyaXg+CiAgICAgICAgPC9maWx0ZXI+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0i6aG16Z2iLTQiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJXaGl0ZWJvYXJkLUd1aWRlbGluZXMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zODguMDAwMDAwLCAtNjcyLjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0idGV4dC1jdXJzb3IiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM5Mi4wMDAwMDAsIDY3Mi4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaLlpIfku70tNDAiIGZpbGw9IiNGRkZGRkYiIG9wYWNpdHk9IjAuMDEiIHg9IjAiIHk9IjAiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgcng9IjIiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxnIGlkPSLlvaLnirbnu5PlkIgiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIxIiBmaWx0ZXI9InVybCgjZmlsdGVyLTIpIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMSIgZD0iTTE5LDI1IEwxOSwxNSBMMTYsMTUgQzE1LjQ0NzcxNTMsMTUgMTUsMTQuNTUyMjg0NyAxNSwxNCBDMTUsMTMuNTE0NTg5NyAxNS4zNDc5OTkzLDEzLjEwMTkxNSAxNS44NjU0ODc3LDEzLjAxMDA1MjEgTDE2LDEzIEwyNCwxMyBDMjQuNTUyMjg0NywxMyAyNSwxMy40NDc3MTUzIDI1LDE0IEMyNSwxNC40ODU0MTAzIDI0LjY1MjAwMDcsMTQuODk4MDg1IDI0LjEzNDUxMjMsMTQuOTg5OTQ3OSBMMjQsMTUgTDIxLDE1IEwyMSwyNSBMMjQsMjUgQzI0LjU1MjI4NDcsMjUgMjUsMjUuNDQ3NzE1MyAyNSwyNiBDMjUsMjYuNDg1NDEwMyAyNC42NTIwMDA3LDI2Ljg5ODA4NSAyNC4xMzQ1MTIzLDI2Ljk4OTk0NzkgTDI0LDI3IEwxNiwyNyBDMTUuNDQ3NzE1MywyNyAxNSwyNi41NTIyODQ3IDE1LDI2IEMxNSwyNS41MTQ1ODk3IDE1LjM0Nzk5OTMsMjUuMTAxOTE1IDE1Ljg2NTQ4NzcsMjUuMDEwMDUyMSBMMTYsMjUgTDE5LDI1IFoiIGZpbGw9IiMyMTIzMjQiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjhweCIgaGVpZ2h0PSIyOHB4IiB2aWV3Qm94PSIwIDAgMjggMjgiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDU1LjEgKDc4MTM2KSAtIGh0dHBzOi8vc2tldGNoYXBwLmNvbSAtLT4KICAgIDx0aXRsZT7nvJbnu4QgMjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxmaWx0ZXIgeD0iLTEyMC4wJSIgeT0iLTEyMC4wJSIgd2lkdGg9IjM0MC4wJSIgaGVpZ2h0PSIzNDAuMCUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0xIj4KICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iNCIgaW49IlNvdXJjZUdyYXBoaWMiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgICAgPC9maWx0ZXI+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0i6aG16Z2iMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9Iue8lue7hC0yIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5LjAwMDAwMCwgOS4wMDAwMDApIiBmaWxsPSIjRkYwMTAwIj4KICAgICAgICAgICAgPGNpcmNsZSBpZD0i5qSt5ZyG5b2iIiBmaWx0ZXI9InVybCgjZmlsdGVyLTEpIiBjeD0iNSIgY3k9IjUiIHI9IjUiPjwvY2lyY2xlPgogICAgICAgICAgICA8cGF0aCBkPSJNNSw4IEM2LjY1Njg1NDI1LDggOCw2LjY1Njg1NDI1IDgsNSBDOCwzLjM0MzE0NTc1IDYuNjU2ODU0MjUsMiA1LDIgQzMuMzQzMTQ1NzUsMiAyLDMuMzQzMTQ1NzUgMiw1IEMyLDYuNjU2ODU0MjUgMy4zNDMxNDU3NSw4IDUsOCBaIE01LDYuMjg1NzE0MjkgQzQuMjg5OTE5NjEsNi4yODU3MTQyOSAzLjcxNDI4NTcxLDUuNzEwMDgwMzkgMy43MTQyODU3MSw1IEMzLjcxNDI4NTcxLDQuMjg5OTE5NjEgNC4yODk5MTk2MSwzLjcxNDI4NTcxIDUsMy43MTQyODU3MSBDNS43MTAwODAzOSwzLjcxNDI4NTcxIDYuMjg1NzE0MjksNC4yODk5MTk2MSA2LjI4NTcxNDI5LDUgQzYuMjg1NzE0MjksNS43MTAwODAzOSA1LjcxMDA4MDM5LDYuMjg1NzE0MjkgNSw2LjI4NTcxNDI5IFoiIGlkPSLmpK3lnIblvaIiIGZpbGwtcnVsZT0ibm9uemVybyI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\"","import App from \"./Cursor.svelte\";\nimport { ApplianceMap } from \"./icons\";\nimport { ApplianceNames } from \"white-web-sdk\";\nimport { findMemberByUid } from \"../Helper\";\nimport { omit } from \"lodash\";\nimport type { Position } from \"../AttributesDelegate\";\nimport type { RoomMember } from \"white-web-sdk\";\nimport type { CursorManager } from \"./index\";\nimport type { SvelteComponent } from \"svelte\";\nimport type { AppManager } from \"../AppManager\";\n\nexport type Payload = {\n [key: string]: any;\n};\n\nexport class Cursor {\n private member?: RoomMember;\n private timer?: number;\n private component?: SvelteComponent;\n\n constructor(\n private manager: AppManager,\n private memberId: string,\n private cursorManager: CursorManager,\n private wrapper?: HTMLElement\n ) {\n this.updateMember();\n this.createCursor();\n this.autoHidden();\n }\n\n public move = (position: Position) => {\n if (position.type === \"main\") {\n const rect = this.cursorManager.wrapperRect;\n if (this.component && rect) {\n this.autoHidden();\n this.moveCursor(position, rect, this.manager.mainView);\n }\n } else {\n const focusView = this.cursorManager.focusView;\n const viewRect = focusView?.divElement?.getBoundingClientRect();\n const viewCamera = focusView?.camera;\n if (focusView && viewRect && viewCamera && this.component) {\n this.autoHidden();\n this.moveCursor(position, viewRect, focusView);\n }\n }\n };\n\n public leave = () => {\n this.hide();\n };\n\n private moveCursor(cursor: Position, rect: DOMRect, view: any) {\n const { x, y, type } = cursor;\n const point = view?.screen.convertPointToScreen(x, y);\n if (point) {\n let translateX = point.x - 2;\n let translateY = point.y - 18;\n if (type === \"app\") {\n const wrapperRect = this.cursorManager.wrapperRect;\n if (wrapperRect) {\n translateX = translateX + rect.x - wrapperRect.x;\n translateY = translateY + rect.y - wrapperRect.y;\n }\n }\n if (point.x < 0 || point.x > rect.width || point.y < 0 || point.y > rect.height) {\n this.component?.$set({ visible: false, x: translateX, y: translateY });\n } else {\n this.component?.$set({ visible: true, x: translateX, y: translateY });\n }\n }\n }\n\n public get memberApplianceName() {\n return this.member?.memberState?.currentApplianceName;\n }\n\n public get memberColor() {\n const rgb = this.member?.memberState?.strokeColor.join(\",\");\n return `rgb(${rgb})`;\n }\n\n private get payload(): Payload | undefined {\n return this.member?.payload;\n }\n\n public get memberCursorName() {\n return this.payload?.nickName || this.payload?.cursorName || this.memberId;\n }\n\n private get memberTheme() {\n if (this.payload?.theme) {\n return \"netless-window-manager-cursor-inner-mellow\";\n } else {\n return \"netless-window-manager-cursor-inner\";\n }\n }\n\n private get memberCursorTextColor() {\n return this.payload?.cursorTextColor || \"#FFFFFF\";\n }\n\n private get memberCursorTagBackgroundColor() {\n return this.payload?.cursorTagBackgroundColor || this.memberColor;\n }\n\n private get memberAvatar() {\n return this.payload?.avatar;\n }\n\n private get memberOpacity() {\n if (!this.memberCursorName && !this.memberAvatar) {\n return 0;\n } else {\n return 1;\n }\n }\n\n private get memberTagName(): string | undefined {\n return this.payload?.cursorTagName;\n }\n\n private autoHidden() {\n if (this.timer) {\n clearTimeout(this.timer);\n }\n this.timer = window.setTimeout(() => {\n this.hide();\n }, 1000 * 10); // 10 秒钟自动隐藏\n }\n\n private async createCursor() {\n if (this.member && this.wrapper) {\n this.component = new App({\n target: this.wrapper,\n props: this.initProps(),\n });\n }\n }\n\n private initProps() {\n return {\n x: 0,\n y: 0,\n appliance: this.memberApplianceName as string,\n avatar: this.memberAvatar,\n src: this.getIcon(),\n visible: false,\n backgroundColor: this.memberColor,\n cursorName: this.memberCursorName,\n theme: this.memberTheme,\n color: this.memberCursorTextColor,\n cursorTagBackgroundColor: this.memberCursorTagBackgroundColor,\n opacity: this.memberOpacity,\n tagName: this.memberTagName,\n };\n }\n\n private getIcon() {\n if (this.member) {\n const applianceSrc = ApplianceMap[this.memberApplianceName || ApplianceNames.shape];\n return applianceSrc || ApplianceMap[ApplianceNames.shape];\n }\n }\n\n public updateMember() {\n this.member = findMemberByUid(this.manager.room, this.memberId);\n this.updateComponent();\n return this.member;\n }\n\n private updateComponent() {\n this.component?.$set(omit(this.initProps(), [\"x\", \"y\"]));\n }\n\n public destroy() {\n if (this.component) {\n this.component.$destroy();\n }\n this.cursorManager.cursorInstances.delete(this.memberId);\n if (this.timer) {\n clearTimeout(this.timer);\n }\n }\n\n public hide() {\n if (this.component) {\n this.component.$set({ visible: false });\n this.destroy();\n }\n }\n}\n","import { getVersionNumber } from \"./Utils/Common\";\nimport { REQUIRE_VERSION } from \"./constants\";\nimport { WhiteVersion } from \"white-web-sdk\";\nimport { WhiteWebSDKInvalidError } from \"./Utils/error\";\nimport { WindowManager } from \"./index\";\nimport type { Room } from \"white-web-sdk\";\n\nexport const setupWrapper = (\n root: HTMLElement\n): {\n playground: HTMLDivElement;\n wrapper: HTMLDivElement;\n sizer: HTMLDivElement;\n mainViewElement: HTMLDivElement;\n} => {\n const playground = document.createElement(\"div\");\n playground.className = \"netless-window-manager-playground\";\n\n const sizer = document.createElement(\"div\");\n sizer.className = \"netless-window-manager-sizer\";\n\n const wrapper = document.createElement(\"div\");\n wrapper.className = \"netless-window-manager-wrapper\";\n\n const mainViewElement = document.createElement(\"div\");\n mainViewElement.className = \"netless-window-manager-main-view\";\n\n playground.appendChild(sizer);\n sizer.appendChild(wrapper);\n wrapper.appendChild(mainViewElement);\n root.appendChild(playground);\n WindowManager.wrapper = wrapper;\n\n return { playground, wrapper, sizer, mainViewElement };\n};\n\nexport const checkVersion = () => {\n const version = getVersionNumber(WhiteVersion);\n if (version < getVersionNumber(REQUIRE_VERSION)) {\n throw new WhiteWebSDKInvalidError(REQUIRE_VERSION);\n }\n};\n\nexport const findMemberByUid = (room: Room | undefined, uid: string) => {\n const roomMembers = room?.state.roomMembers;\n return roomMembers?.find(member => member.payload?.uid === uid);\n};\n","import { ApplianceNames } from \"white-web-sdk\";\nimport { Cursor } from \"./Cursor\";\nimport { CursorState, Events } from \"../constants\";\nimport { emitter, WindowManager } from \"../index\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport { throttle } from \"lodash\";\nimport type { CursorMovePayload } from \"../index\";\nimport type { PositionType } from \"../AttributesDelegate\";\nimport type { Point, RoomMember, View } from \"white-web-sdk\";\nimport type { AppManager } from \"../AppManager\";\n\nexport type EventType = {\n type: PositionType;\n id?: string;\n};\n\nexport type MoveCursorParams = {\n uid: string;\n x: number;\n y: number;\n};\nexport class CursorManager {\n public containerRect?: DOMRect;\n public wrapperRect?: DOMRect;\n public cursorInstances: Map<string, Cursor> = new Map();\n public roomMembers?: readonly RoomMember[];\n private mainViewElement?: HTMLDivElement;\n private sideEffectManager = new SideEffectManager();\n private store = this.manager.store;\n\n constructor(private manager: AppManager, private enableCursor: boolean) {\n this.roomMembers = this.manager.room?.state.roomMembers;\n const wrapper = WindowManager.wrapper;\n if (wrapper) {\n this.setupWrapper(wrapper);\n }\n this.sideEffectManager.add(() => {\n return emitter.on(\"cursorMove\", this.onCursorMove);\n });\n\n this.sideEffectManager.add(() => {\n return emitter.on(\"playgroundSizeChange\", () => this.updateContainerRect());\n });\n }\n\n private onCursorMove = (payload: CursorMovePayload) => {\n const cursorInstance = this.initCursorInstance(payload.uid);\n if (payload.state === CursorState.Leave) {\n cursorInstance.leave();\n } else {\n const member = cursorInstance.updateMember();\n if (this.canMoveCursor(member)) {\n cursorInstance.move(payload.position);\n }\n }\n };\n\n private initCursorInstance = (uid: string) => {\n let cursorInstance = this.cursorInstances.get(uid);\n if (!cursorInstance) {\n cursorInstance = new Cursor(this.manager, uid, this, WindowManager.wrapper);\n this.cursorInstances.set(uid, cursorInstance);\n }\n return cursorInstance;\n };\n\n private canMoveCursor(member: RoomMember | undefined) {\n const isLaserPointer = member?.memberState.currentApplianceName === ApplianceNames.laserPointer;\n // 激光笔教具在不开启光标的情况下也要显示\n return this.enableCursor || isLaserPointer;\n }\n\n public setupWrapper(wrapper: HTMLElement) {\n this.sideEffectManager.add(() => {\n wrapper.addEventListener(\"pointerenter\", this.mouseMoveListener);\n wrapper.addEventListener(\"pointermove\", this.mouseMoveListener);\n wrapper.addEventListener(\"pointerleave\", this.mouseLeaveListener);\n return () => {\n wrapper.removeEventListener(\"pointerenter\", this.mouseMoveListener);\n wrapper.removeEventListener(\"pointermove\", this.mouseMoveListener);\n wrapper.removeEventListener(\"pointerleave\", this.mouseLeaveListener);\n };\n });\n\n this.wrapperRect = wrapper.getBoundingClientRect();\n }\n\n public setMainViewDivElement(div: HTMLDivElement) {\n this.mainViewElement = div;\n }\n\n public get boxState() {\n return this.store.getBoxState();\n }\n\n public get focusView() {\n return this.manager.focusApp?.view;\n }\n\n private mouseMoveListener = throttle((event: PointerEvent) => {\n if (event.pointerType === \"touch\") {\n if (!event.isPrimary) return;\n }\n this.updateCursor(this.getType(event), event.clientX, event.clientY);\n }, 16);\n\n private updateCursor(event: EventType, clientX: number, clientY: number) {\n if (this.wrapperRect && this.manager.canOperate) {\n const view = event.type === \"main\" ? this.manager.mainView : this.focusView;\n const point = this.getPoint(view, clientX, clientY);\n if (point) {\n this.manager.dispatchInternalEvent(Events.CursorMove, {\n uid: this.manager.uid,\n position: {\n x: point.x,\n y: point.y,\n type: event.type,\n },\n } as CursorMovePayload);\n }\n }\n }\n\n private getPoint = (\n view: View | undefined,\n clientX: number,\n clientY: number\n ): Point | undefined => {\n const rect = view?.divElement?.getBoundingClientRect();\n if (rect) {\n const point = view?.convertToPointInWorld({\n x: clientX - rect.x,\n y: clientY - rect.y,\n });\n return point;\n }\n };\n\n /**\n * 因为窗口内框在不同分辨率下的大小不一样,所以这里通过来鼠标事件的 target 来判断是在主白板还是在 APP 中\n */\n private getType = (event: MouseEvent | Touch): EventType => {\n const target = event.target as HTMLElement;\n const focusApp = this.manager.focusApp;\n switch (target.parentElement) {\n case this.mainViewElement: {\n return { type: \"main\" };\n }\n case focusApp?.view?.divElement: {\n return { type: \"app\" };\n }\n default: {\n return { type: \"main\" };\n }\n }\n };\n\n private mouseLeaveListener = () => {\n this.hideCursor(this.manager.uid);\n };\n\n public updateContainerRect() {\n this.containerRect = WindowManager.container?.getBoundingClientRect();\n this.wrapperRect = WindowManager.wrapper?.getBoundingClientRect();\n }\n\n public deleteCursor(uid: string) {\n this.store.cleanCursor(uid);\n const cursor = this.cursorInstances.get(uid);\n if (cursor) {\n cursor.destroy();\n }\n }\n\n public hideCursor(uid: string) {\n const cursor = this.cursorInstances.get(uid);\n if (cursor) {\n cursor.hide();\n }\n }\n\n public destroy() {\n this.sideEffectManager.flushAll();\n if (this.cursorInstances.size) {\n this.cursorInstances.forEach(cursor => {\n cursor.destroy();\n });\n this.cursorInstances.clear();\n }\n }\n}\n","import { emitter } from \"../index\";\nimport { isPlayer } from \"white-web-sdk\";\nimport type { WindowManager } from \"../index\";\nimport type { Camera, Room, Player, PlayerSeekingResult } from \"white-web-sdk\";\n\n// 修改多窗口状态下一些失效的方法实现到 manager 的 mainview 上, 降低迁移成本\nexport const replaceRoomFunction = (room: Room | Player, manager: WindowManager) => {\n if (isPlayer(room)) {\n const player = room as unknown as Player;\n delegateSeekToProgressTime(player);\n } else {\n room = room as unknown as Room;\n const descriptor = Object.getOwnPropertyDescriptor(room, \"disableCameraTransform\");\n if (descriptor) return;\n Object.defineProperty(room, \"disableCameraTransform\", {\n get() {\n return manager.mainView.disableCameraTransform;\n },\n set(disable: boolean) {\n manager.mainView.disableCameraTransform = disable;\n },\n });\n\n Object.defineProperty(room, \"canUndoSteps\", {\n get() {\n return manager.mainView.canUndoSteps;\n },\n });\n\n Object.defineProperty(room, \"canRedoSteps\", {\n get() {\n return manager.mainView.canRedoSteps;\n },\n });\n\n room.moveCamera = (camera: Camera) => manager.moveCamera(camera);\n room.moveCameraToContain = (...args) => manager.moveCameraToContain(...args);\n room.convertToPointInWorld = (...args) => manager.mainView.convertToPointInWorld(...args);\n room.setCameraBound = (...args) => manager.mainView.setCameraBound(...args);\n room.scenePreview = (...args) => manager.mainView.scenePreview(...args);\n room.fillSceneSnapshot = (...args) => manager.mainView.fillSceneSnapshot(...args);\n room.generateScreenshot = (...args) => manager.mainView.generateScreenshot(...args);\n room.setMemberState = (...args) => manager.mainView.setMemberState(...args);\n room.redo = () => manager.redo();\n room.undo = () => manager.undo();\n room.cleanCurrentScene = () => manager.cleanCurrentScene();\n room.delete = () => manager.delete();\n room.copy = () => manager.copy();\n room.paste = () => manager.paste();\n room.duplicate = () => manager.duplicate();\n room.insertImage = (...args) => manager.insertImage(...args);\n room.completeImageUpload = (...args) => manager.completeImageUpload(...args);\n room.insertText = (...args) => manager.insertText(...args);\n room.lockImage = (...args) => manager.lockImage(...args);\n room.lockImages = (...args) => manager.lockImages(...args);\n\n delegateRemoveScenes(room);\n }\n};\n\nconst delegateRemoveScenes = (room: Room) => {\n const originRemoveScenes = room.removeScenes;\n room.removeScenes = (scenePath: string) => {\n const result = originRemoveScenes.call(room, scenePath);\n emitter.emit(\"removeScenes\", scenePath);\n return result;\n };\n};\n\nconst delegateSeekToProgressTime = (player: Player) => {\n const originSeek = player.seekToProgressTime;\n // eslint-disable-next-line no-inner-declarations\n async function newSeek(time: number): Promise<PlayerSeekingResult> {\n const seekResult = await originSeek.call(player, time);\n if (seekResult === \"success\") {\n emitter.emit(\"seek\", time);\n }\n return seekResult;\n }\n player.seekToProgressTime = newSeek;\n};\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\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};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar styles = \".netless-app-docs-viewer-content{position:relative;height:100%;overflow:hidden}.netless-app-docs-viewer-preview-mask{display:none;position:absolute;z-index:200;top:0;left:0;width:100%;height:100%}.netless-app-docs-viewer-preview{display:flex;flex-direction:column;align-items:center;position:absolute;z-index:300;top:0;left:0;width:33%;max-width:200px;height:100%;padding-top:10px;transform:translate(-100%);background:rgba(237,237,240,.9);box-shadow:inset -1px 0 #0000001c;transition:transform .4s}.netless-app-docs-viewer-preview-active .netless-app-docs-viewer-preview-mask{display:block}.netless-app-docs-viewer-preview-active .netless-app-docs-viewer-preview{transform:translate(0)}.netless-app-docs-viewer-preview-page{position:relative;display:block;width:55%;margin-bottom:10px;font-size:0;color:transparent;outline:none;border:7px solid transparent;border-radius:4px;transition:border-color .3s;user-select:none}.netless-app-docs-viewer-preview-page:hover,.netless-app-docs-viewer-preview-page.netless-app-docs-viewer-preview-page-active{border-color:#444e601a}.netless-app-docs-viewer-preview-page>img{width:100%;height:auto;box-sizing:border-box;border:1px solid rgba(0,0,0,.5);border-radius:1px;background-color:#fff;box-shadow:0 2px 8px #0000004d}.netless-app-docs-viewer-preview-page-name{position:absolute;top:1px;left:-10px;transform:translate(-100%);text-align:right;font-size:12px;color:#5f5f5f;user-select:none}.netless-app-docs-viewer-footer{box-sizing:border-box;height:26px;display:flex;align-items:center;padding:0 16px;border-top:1px solid #eeeef7;color:#191919}.netless-app-docs-viewer-float-footer{width:100%;min-height:26px;position:absolute;left:0;bottom:0;z-index:2000;background:rgba(249,249,252,.9);transition:opacity .4s}.netless-app-docs-viewer-footer-btn{box-sizing:border-box;width:26px;height:26px;font-size:0;margin:0;padding:3px;border:none;border-radius:1px;outline:none;color:currentColor;background:transparent;transition:background .4s;cursor:pointer;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.netless-app-docs-viewer-footer-btn:hover{background:rgba(237,237,240,.9)}@media (hover: none){.netless-app-docs-viewer-footer-btn:hover{background:transparent!important}}.netless-app-docs-viewer-footer-btn>svg{width:100%;height:100%}.netless-app-docs-viewer-footer-btn>svg:nth-of-type(2){display:none}.netless-app-docs-viewer-footer-btn.netless-app-docs-viewer-footer-btn-playing>svg:nth-of-type(1){display:none}.netless-app-docs-viewer-footer-btn.netless-app-docs-viewer-footer-btn-playing>svg:nth-of-type(2){display:initial}.netless-app-docs-viewer-footer-btn~.netless-app-docs-viewer-footer-btn{margin-left:15px}.netless-app-docs-viewer-page-jumps{flex:1;display:flex;justify-content:center;align-items:center}.netless-app-docs-viewer-page-number{margin-left:auto;font-size:13px;user-select:none;white-space:nowrap;word-break:keep-all}.netless-app-docs-viewer-page-number-input{border:none;outline:none;width:3em;margin:0;padding:0 2px;text-align:right;font-size:13px;line-height:1;font-weight:400;font-family:inherit;border-radius:2px;color:currentColor;background:transparent;transition:background .4s;user-select:text;-webkit-tap-highlight-color:rgba(0,0,0,0)}.netless-app-docs-viewer-page-number-input:hover,.netless-app-docs-viewer-page-number-input:focus,.netless-app-docs-viewer-page-number-input:active{background:#fff;box-shadow:#63636333 0 2px 8px}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-footer-btn{cursor:not-allowed}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-footer-btn:hover{background:transparent}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input{cursor:not-allowed}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:hover,.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:focus,.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:active{background:transparent;box-shadow:none}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:disabled{color:inherit}.netless-app-docs-viewer-readonly.netless-app-docs-viewer-float-footer{display:none}.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input{color:#a6a6a8}.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input:active,.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input:focus,.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input:hover{color:#222}.telebox-color-scheme-dark .netless-app-docs-viewer-footer{color:#a6a6a8;background:#2d2d33;border-top:none}.telebox-color-scheme-dark .netless-app-docs-viewer-footer-btn:hover{background:#212126}.telebox-color-scheme-dark .netless-app-docs-viewer-preview{background:rgba(50,50,50,.9)}.netless-app-docs-viewer-static-scrollbar{position:absolute;top:0;right:0;z-index:2147483647;width:8px;min-height:30px;margin:0;padding:0;border:none;outline:none;border-radius:4px;background:rgba(68,78,96,.4);box-shadow:1px 1px 8px #ffffffb3;opacity:0;transition:background .4s,opacity .4s 3s,transform .2s;user-select:none}.netless-app-docs-viewer-static-scrollbar.netless-app-docs-viewer-static-scrollbar-dragging{background:rgba(68,78,96,.6);opacity:1;transition:background .4s,opacity .4s 3s!important}.netless-app-docs-viewer-static-scrollbar:hover,.netless-app-docs-viewer-static-scrollbar:focus{background:rgba(68,78,96,.5)}.netless-app-docs-viewer-static-scrollbar:active{background:rgba(68,78,96,.6)}.netless-app-docs-viewer-content:hover .netless-app-docs-viewer-static-scrollbar{opacity:1;transition:background .4s,opacity .4s,transform .2s}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-static-scrollbar{display:none}.netless-app-docs-viewer-static-pages:hover .netless-app-docs-viewer-static-scrollbar{opacity:1;transition:background .4s,opacity .4s,transform .2s}.page-renderer-pages-container{position:relative;overflow:hidden}.page-renderer-page{position:absolute;top:0;left:0;background-position:center;background-size:cover;background-repeat:no-repeat}.page-renderer-pages-container.is-hwa .page-renderer-page{will-change:transform}.page-renderer-page-img{display:block;width:100%;height:auto;user-select:none}.netless-app-docs-viewer-static-pages{overflow:hidden;position:relative;height:100%;user-select:none}.netless-app-docs-viewer-static-page{display:block;width:100%;height:auto;user-select:none}.netless-app-docs-viewer-static-wb-view,.netless-app-docs-viewer-dynamic-wb-view{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;overflow:hidden}.netless-app-docs-viewer-dynamic-wb-view .cursor-clicker .ppt-event-source{cursor:pointer}\\n\";\nconst copyProperty = (to, from, property, ignoreNonConfigurable) => {\n if (property === \"length\" || property === \"prototype\") {\n return;\n }\n if (property === \"arguments\" || property === \"caller\") {\n return;\n }\n const toDescriptor = Object.getOwnPropertyDescriptor(to, property);\n const fromDescriptor = Object.getOwnPropertyDescriptor(from, property);\n if (!canCopyProperty(toDescriptor, fromDescriptor) && ignoreNonConfigurable) {\n return;\n }\n Object.defineProperty(to, property, fromDescriptor);\n};\nconst canCopyProperty = function(toDescriptor, fromDescriptor) {\n return toDescriptor === void 0 || toDescriptor.configurable || toDescriptor.writable === fromDescriptor.writable && toDescriptor.enumerable === fromDescriptor.enumerable && toDescriptor.configurable === fromDescriptor.configurable && (toDescriptor.writable || toDescriptor.value === fromDescriptor.value);\n};\nconst changePrototype = (to, from) => {\n const fromPrototype = Object.getPrototypeOf(from);\n if (fromPrototype === Object.getPrototypeOf(to)) {\n return;\n }\n Object.setPrototypeOf(to, fromPrototype);\n};\nconst wrappedToString = (withName, fromBody) => `/* Wrapped ${withName}*/\n${fromBody}`;\nconst toStringDescriptor = Object.getOwnPropertyDescriptor(Function.prototype, \"toString\");\nconst toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, \"name\");\nconst changeToString = (to, from, name) => {\n const withName = name === \"\" ? \"\" : `with ${name.trim()}() `;\n const newToString = wrappedToString.bind(null, withName, from.toString());\n Object.defineProperty(newToString, \"name\", toStringName);\n Object.defineProperty(to, \"toString\", __spreadProps(__spreadValues({}, toStringDescriptor), { value: newToString }));\n};\nconst mimicFn = (to, from, { ignoreNonConfigurable = false } = {}) => {\n const { name } = to;\n for (const property of Reflect.ownKeys(from)) {\n copyProperty(to, from, property, ignoreNonConfigurable);\n }\n changePrototype(to, from);\n changeToString(to, from, name);\n return to;\n};\nvar mimicFn_1 = mimicFn;\nconst debounceFn = (inputFunction, options = {}) => {\n if (typeof inputFunction !== \"function\") {\n throw new TypeError(`Expected the first argument to be a function, got \\`${typeof inputFunction}\\``);\n }\n const {\n wait = 0,\n maxWait = Number.Infinity,\n before = false,\n after = true\n } = options;\n if (!before && !after) {\n throw new Error(\"Both `before` and `after` are false, function wouldn't be called.\");\n }\n let timeout;\n let maxTimeout;\n let result;\n const debouncedFunction = function(...arguments_) {\n const context = this;\n const later = () => {\n timeout = void 0;\n if (maxTimeout) {\n clearTimeout(maxTimeout);\n maxTimeout = void 0;\n }\n if (after) {\n result = inputFunction.apply(context, arguments_);\n }\n };\n const maxLater = () => {\n maxTimeout = void 0;\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n if (after) {\n result = inputFunction.apply(context, arguments_);\n }\n };\n const shouldCallNow = before && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (maxWait > 0 && maxWait !== Number.Infinity && !maxTimeout) {\n maxTimeout = setTimeout(maxLater, maxWait);\n }\n if (shouldCallNow) {\n result = inputFunction.apply(context, arguments_);\n }\n return result;\n };\n mimicFn_1(debouncedFunction, inputFunction);\n debouncedFunction.cancel = () => {\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n if (maxTimeout) {\n clearTimeout(maxTimeout);\n maxTimeout = void 0;\n }\n };\n return debouncedFunction;\n};\nconst e = \"!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\", s = e.length, t = Array(20), r = () => {\n for (let r2 = 0; r2 < 20; r2++)\n t[r2] = e.charAt(Math.random() * s);\n return t.join(\"\");\n};\nclass o {\n constructor() {\n this.disposers = new Map();\n }\n add(e2, s2 = r()) {\n return this.flush(s2), this.disposers.set(s2, e2()), s2;\n }\n addDisposer(e2, s2 = r()) {\n return this.flush(s2), this.disposers.set(s2, e2), s2;\n }\n addEventListener(e2, s2, t2, o2, i = r()) {\n return this.add(() => (e2.addEventListener(s2, t2, o2), () => e2.removeEventListener(s2, t2, o2)), i), i;\n }\n setTimeout(e2, s2, t2 = r()) {\n return this.add(() => {\n const r2 = window.setTimeout(() => {\n this.remove(t2), e2();\n }, s2);\n return () => window.clearTimeout(r2);\n }, t2);\n }\n setInterval(e2, s2, t2 = r()) {\n return this.add(() => {\n const t3 = window.setInterval(e2, s2);\n return () => window.clearInterval(t3);\n }, t2);\n }\n remove(e2) {\n const s2 = this.disposers.get(e2);\n return this.disposers.delete(e2), s2;\n }\n flush(e2) {\n const s2 = this.remove(e2);\n if (s2)\n try {\n s2();\n } catch (t2) {\n console.error(t2);\n }\n }\n flushAll() {\n this.disposers.forEach((e2) => {\n try {\n e2();\n } catch (s2) {\n console.error(s2);\n }\n }), this.disposers.clear();\n }\n}\nfunction sidebarSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-sidebar`);\n $svg.setAttribute(\"viewBox\", \"0 0 64 64\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M50 8H14c-3.309 0-6 2.691-6 6v36c0 3.309 2.691 6 6 6h36c3.309 0 6-2.691 6-6V14c0-3.309-2.691-6-6-6zM12 50V14c0-1.103.897-2 2-2h8v40h-8c-1.103 0-2-.897-2-2zm40 0c0 1.103-.897 2-2 2H26V12h24c1.103 0 2 .897 2 2z\");\n $svg.appendChild($path);\n return $svg;\n}\nfunction arrowLeftSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-arrow-left`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M177.81 249.959L337.473 90.295c2.722-2.865 2.651-7.378-.143-10.1-2.793-2.65-7.163-2.65-9.956 0l-164.75 164.75c-2.793 2.793-2.793 7.306 0 10.1l164.75 164.75c2.865 2.722 7.378 2.65 10.099-.143 2.651-2.794 2.651-7.163 0-9.957L177.809 249.959z\");\n $svg.appendChild($path);\n return $svg;\n}\nfunction arrowRightSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-arrow-right`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M322.19 250.041L162.527 409.705c-2.722 2.865-2.651 7.378.143 10.1 2.793 2.65 7.163 2.65 9.956 0l164.75-164.75c2.793-2.793 2.793-7.306 0-10.1l-164.75-164.75c-2.865-2.722-7.378-2.65-10.099.143-2.651 2.794-2.651 7.163 0 9.957l159.664 159.736z\");\n $svg.appendChild($path);\n return $svg;\n}\nfunction playSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-play`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M418.158 257.419L174.663 413.33c-6.017 3.919-15.708 3.772-21.291-.29-2.791-2.018-4.295-4.483-4.295-7.084V94.109c0-5.65 6.883-10.289 15.271-10.289 4.298 0 8.391 1.307 11.181 3.332l242.629 155.484c6.016 3.917 6.451 10.292.649 14.491-.216.154-.432.154-.649.292zM170.621 391.288l223.116-141.301L170.71 107.753l-.089 283.535z\");\n $svg.appendChild($path);\n return $svg;\n}\nfunction pauseSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-pause`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M312.491 78.261c0-6.159 4.893-11.213 11.04-11.213 6.158 0 11.211 5.054 11.211 11.213v343.478c0 6.159-5.053 11.213-11.211 11.213-6.147 0-11.04-5.054-11.04-11.213V78.261zM165.257 78.261c0-6.159 4.893-11.213 11.04-11.213 6.158 0 11.211 5.054 11.211 11.213v343.478c0 6.159-5.053 11.213-11.211 11.213-6.147 0-11.04-5.054-11.04-11.213V78.261z\");\n $svg.appendChild($path);\n return $svg;\n}\nconst runningOnBrowser = typeof window !== \"undefined\";\nconst isBot = runningOnBrowser && !(\"onscroll\" in window) || typeof navigator !== \"undefined\" && /(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent);\nconst supportsIntersectionObserver = runningOnBrowser && \"IntersectionObserver\" in window;\nconst supportsClassList = runningOnBrowser && \"classList\" in document.createElement(\"p\");\nconst isHiDpi = runningOnBrowser && window.devicePixelRatio > 1;\nconst defaultSettings = {\n elements_selector: \".lazy\",\n container: isBot || runningOnBrowser ? document : null,\n threshold: 300,\n thresholds: null,\n data_src: \"src\",\n data_srcset: \"srcset\",\n data_sizes: \"sizes\",\n data_bg: \"bg\",\n data_bg_hidpi: \"bg-hidpi\",\n data_bg_multi: \"bg-multi\",\n data_bg_multi_hidpi: \"bg-multi-hidpi\",\n data_poster: \"poster\",\n class_applied: \"applied\",\n class_loading: \"loading\",\n class_loaded: \"loaded\",\n class_error: \"error\",\n class_entered: \"entered\",\n class_exited: \"exited\",\n unobserve_completed: true,\n unobserve_entered: false,\n cancel_on_exit: true,\n callback_enter: null,\n callback_exit: null,\n callback_applied: null,\n callback_loading: null,\n callback_loaded: null,\n callback_error: null,\n callback_finish: null,\n callback_cancel: null,\n use_native: false\n};\nconst getExtendedSettings = (customSettings) => {\n return Object.assign({}, defaultSettings, customSettings);\n};\nconst createInstance = function(classObj, options) {\n let event;\n const eventString = \"LazyLoad::Initialized\";\n const instance = new classObj(options);\n try {\n event = new CustomEvent(eventString, { detail: { instance } });\n } catch (err) {\n event = document.createEvent(\"CustomEvent\");\n event.initCustomEvent(eventString, false, false, { instance });\n }\n window.dispatchEvent(event);\n};\nconst autoInitialize = (classObj, options) => {\n if (!options) {\n return;\n }\n if (!options.length) {\n createInstance(classObj, options);\n } else {\n for (let i = 0, optionsItem; optionsItem = options[i]; i += 1) {\n createInstance(classObj, optionsItem);\n }\n }\n};\nconst SRC = \"src\";\nconst SRCSET = \"srcset\";\nconst SIZES = \"sizes\";\nconst POSTER = \"poster\";\nconst ORIGINALS = \"llOriginalAttrs\";\nconst statusLoading = \"loading\";\nconst statusLoaded = \"loaded\";\nconst statusApplied = \"applied\";\nconst statusEntered = \"entered\";\nconst statusError = \"error\";\nconst statusNative = \"native\";\nconst dataPrefix = \"data-\";\nconst statusDataName = \"ll-status\";\nconst getData = (element, attribute) => {\n return element.getAttribute(dataPrefix + attribute);\n};\nconst setData = (element, attribute, value) => {\n var attrName = dataPrefix + attribute;\n if (value === null) {\n element.removeAttribute(attrName);\n return;\n }\n element.setAttribute(attrName, value);\n};\nconst getStatus = (element) => getData(element, statusDataName);\nconst setStatus = (element, status) => setData(element, statusDataName, status);\nconst resetStatus = (element) => setStatus(element, null);\nconst hasEmptyStatus = (element) => getStatus(element) === null;\nconst hasStatusLoading = (element) => getStatus(element) === statusLoading;\nconst hasStatusError = (element) => getStatus(element) === statusError;\nconst hasStatusNative = (element) => getStatus(element) === statusNative;\nconst statusesAfterLoading = [statusLoading, statusLoaded, statusApplied, statusError];\nconst hadStartedLoading = (element) => statusesAfterLoading.indexOf(getStatus(element)) >= 0;\nconst safeCallback = (callback, arg1, arg2, arg3) => {\n if (!callback) {\n return;\n }\n if (arg3 !== void 0) {\n callback(arg1, arg2, arg3);\n return;\n }\n if (arg2 !== void 0) {\n callback(arg1, arg2);\n return;\n }\n callback(arg1);\n};\nconst addClass = (element, className) => {\n if (supportsClassList) {\n element.classList.add(className);\n return;\n }\n element.className += (element.className ? \" \" : \"\") + className;\n};\nconst removeClass = (element, className) => {\n if (supportsClassList) {\n element.classList.remove(className);\n return;\n }\n element.className = element.className.replace(new RegExp(\"(^|\\\\s+)\" + className + \"(\\\\s+|$)\"), \" \").replace(/^\\s+/, \"\").replace(/\\s+$/, \"\");\n};\nconst addTempImage = (element) => {\n element.llTempImage = document.createElement(\"IMG\");\n};\nconst deleteTempImage = (element) => {\n delete element.llTempImage;\n};\nconst getTempImage = (element) => element.llTempImage;\nconst unobserve = (element, instance) => {\n if (!instance)\n return;\n const observer = instance._observer;\n if (!observer)\n return;\n observer.unobserve(element);\n};\nconst resetObserver = (observer) => {\n observer.disconnect();\n};\nconst unobserveEntered = (element, settings, instance) => {\n if (settings.unobserve_entered)\n unobserve(element, instance);\n};\nconst updateLoadingCount = (instance, delta) => {\n if (!instance)\n return;\n instance.loadingCount += delta;\n};\nconst decreaseToLoadCount = (instance) => {\n if (!instance)\n return;\n instance.toLoadCount -= 1;\n};\nconst setToLoadCount = (instance, value) => {\n if (!instance)\n return;\n instance.toLoadCount = value;\n};\nconst isSomethingLoading = (instance) => instance.loadingCount > 0;\nconst haveElementsToLoad = (instance) => instance.toLoadCount > 0;\nconst getSourceTags = (parentTag) => {\n let sourceTags = [];\n for (let i = 0, childTag; childTag = parentTag.children[i]; i += 1) {\n if (childTag.tagName === \"SOURCE\") {\n sourceTags.push(childTag);\n }\n }\n return sourceTags;\n};\nconst forEachPictureSource = (element, fn) => {\n const parent = element.parentNode;\n if (!parent || parent.tagName !== \"PICTURE\") {\n return;\n }\n let sourceTags = getSourceTags(parent);\n sourceTags.forEach(fn);\n};\nconst forEachVideoSource = (element, fn) => {\n let sourceTags = getSourceTags(element);\n sourceTags.forEach(fn);\n};\nconst attrsSrc = [SRC];\nconst attrsSrcPoster = [SRC, POSTER];\nconst attrsSrcSrcsetSizes = [SRC, SRCSET, SIZES];\nconst hasOriginalAttrs = (element) => !!element[ORIGINALS];\nconst getOriginalAttrs = (element) => element[ORIGINALS];\nconst deleteOriginalAttrs = (element) => delete element[ORIGINALS];\nconst setOriginalsObject = (element, attributes) => {\n if (hasOriginalAttrs(element)) {\n return;\n }\n const originals = {};\n attributes.forEach((attribute) => {\n originals[attribute] = element.getAttribute(attribute);\n });\n element[ORIGINALS] = originals;\n};\nconst saveOriginalBackgroundStyle = (element) => {\n if (hasOriginalAttrs(element)) {\n return;\n }\n element[ORIGINALS] = { backgroundImage: element.style.backgroundImage };\n};\nconst setOrResetAttribute = (element, attrName, value) => {\n if (!value) {\n element.removeAttribute(attrName);\n return;\n }\n element.setAttribute(attrName, value);\n};\nconst restoreOriginalAttrs = (element, attributes) => {\n if (!hasOriginalAttrs(element)) {\n return;\n }\n const originals = getOriginalAttrs(element);\n attributes.forEach((attribute) => {\n setOrResetAttribute(element, attribute, originals[attribute]);\n });\n};\nconst restoreOriginalBgImage = (element) => {\n if (!hasOriginalAttrs(element)) {\n return;\n }\n const originals = getOriginalAttrs(element);\n element.style.backgroundImage = originals.backgroundImage;\n};\nconst manageApplied = (element, settings, instance) => {\n addClass(element, settings.class_applied);\n setStatus(element, statusApplied);\n if (!instance)\n return;\n if (settings.unobserve_completed) {\n unobserve(element, settings);\n }\n safeCallback(settings.callback_applied, element, instance);\n};\nconst manageLoading = (element, settings, instance) => {\n addClass(element, settings.class_loading);\n setStatus(element, statusLoading);\n if (!instance)\n return;\n updateLoadingCount(instance, 1);\n safeCallback(settings.callback_loading, element, instance);\n};\nconst setAttributeIfValue = (element, attrName, value) => {\n if (!value) {\n return;\n }\n element.setAttribute(attrName, value);\n};\nconst setImageAttributes = (element, settings) => {\n setAttributeIfValue(element, SIZES, getData(element, settings.data_sizes));\n setAttributeIfValue(element, SRCSET, getData(element, settings.data_srcset));\n setAttributeIfValue(element, SRC, getData(element, settings.data_src));\n};\nconst setSourcesImg = (imgEl, settings) => {\n forEachPictureSource(imgEl, (sourceTag) => {\n setOriginalsObject(sourceTag, attrsSrcSrcsetSizes);\n setImageAttributes(sourceTag, settings);\n });\n setOriginalsObject(imgEl, attrsSrcSrcsetSizes);\n setImageAttributes(imgEl, settings);\n};\nconst setSourcesIframe = (iframe, settings) => {\n setOriginalsObject(iframe, attrsSrc);\n setAttributeIfValue(iframe, SRC, getData(iframe, settings.data_src));\n};\nconst setSourcesVideo = (videoEl, settings) => {\n forEachVideoSource(videoEl, (sourceEl) => {\n setOriginalsObject(sourceEl, attrsSrc);\n setAttributeIfValue(sourceEl, SRC, getData(sourceEl, settings.data_src));\n });\n setOriginalsObject(videoEl, attrsSrcPoster);\n setAttributeIfValue(videoEl, POSTER, getData(videoEl, settings.data_poster));\n setAttributeIfValue(videoEl, SRC, getData(videoEl, settings.data_src));\n videoEl.load();\n};\nconst setBackground = (element, settings, instance) => {\n const bg1xValue = getData(element, settings.data_bg);\n const bgHiDpiValue = getData(element, settings.data_bg_hidpi);\n const bgDataValue = isHiDpi && bgHiDpiValue ? bgHiDpiValue : bg1xValue;\n if (!bgDataValue)\n return;\n element.style.backgroundImage = `url(\"${bgDataValue}\")`;\n getTempImage(element).setAttribute(SRC, bgDataValue);\n manageLoading(element, settings, instance);\n};\nconst setMultiBackground = (element, settings, instance) => {\n const bg1xValue = getData(element, settings.data_bg_multi);\n const bgHiDpiValue = getData(element, settings.data_bg_multi_hidpi);\n const bgDataValue = isHiDpi && bgHiDpiValue ? bgHiDpiValue : bg1xValue;\n if (!bgDataValue) {\n return;\n }\n element.style.backgroundImage = bgDataValue;\n manageApplied(element, settings, instance);\n};\nconst setSourcesFunctions = {\n IMG: setSourcesImg,\n IFRAME: setSourcesIframe,\n VIDEO: setSourcesVideo\n};\nconst setSourcesNative = (element, settings) => {\n const setSourcesFunction = setSourcesFunctions[element.tagName];\n if (!setSourcesFunction) {\n return;\n }\n setSourcesFunction(element, settings);\n};\nconst setSources = (element, settings, instance) => {\n const setSourcesFunction = setSourcesFunctions[element.tagName];\n if (!setSourcesFunction) {\n return;\n }\n setSourcesFunction(element, settings);\n manageLoading(element, settings, instance);\n};\nconst elementsWithLoadEvent = [\"IMG\", \"IFRAME\", \"VIDEO\"];\nconst hasLoadEvent = (element) => elementsWithLoadEvent.indexOf(element.tagName) > -1;\nconst checkFinish = (settings, instance) => {\n if (instance && !isSomethingLoading(instance) && !haveElementsToLoad(instance)) {\n safeCallback(settings.callback_finish, instance);\n }\n};\nconst addEventListener = (element, eventName, handler) => {\n element.addEventListener(eventName, handler);\n element.llEvLisnrs[eventName] = handler;\n};\nconst removeEventListener = (element, eventName, handler) => {\n element.removeEventListener(eventName, handler);\n};\nconst hasEventListeners = (element) => {\n return !!element.llEvLisnrs;\n};\nconst addEventListeners = (element, loadHandler2, errorHandler2) => {\n if (!hasEventListeners(element))\n element.llEvLisnrs = {};\n const loadEventName = element.tagName === \"VIDEO\" ? \"loadeddata\" : \"load\";\n addEventListener(element, loadEventName, loadHandler2);\n addEventListener(element, \"error\", errorHandler2);\n};\nconst removeEventListeners = (element) => {\n if (!hasEventListeners(element)) {\n return;\n }\n const eventListeners = element.llEvLisnrs;\n for (let eventName in eventListeners) {\n const handler = eventListeners[eventName];\n removeEventListener(element, eventName, handler);\n }\n delete element.llEvLisnrs;\n};\nconst doneHandler = (element, settings, instance) => {\n deleteTempImage(element);\n updateLoadingCount(instance, -1);\n decreaseToLoadCount(instance);\n removeClass(element, settings.class_loading);\n if (settings.unobserve_completed) {\n unobserve(element, instance);\n }\n};\nconst loadHandler = (event, element, settings, instance) => {\n const goingNative = hasStatusNative(element);\n doneHandler(element, settings, instance);\n addClass(element, settings.class_loaded);\n setStatus(element, statusLoaded);\n safeCallback(settings.callback_loaded, element, instance);\n if (!goingNative)\n checkFinish(settings, instance);\n};\nconst errorHandler = (event, element, settings, instance) => {\n const goingNative = hasStatusNative(element);\n doneHandler(element, settings, instance);\n addClass(element, settings.class_error);\n setStatus(element, statusError);\n safeCallback(settings.callback_error, element, instance);\n if (!goingNative)\n checkFinish(settings, instance);\n};\nconst addOneShotEventListeners = (element, settings, instance) => {\n const elementToListenTo = getTempImage(element) || element;\n if (hasEventListeners(elementToListenTo)) {\n return;\n }\n const _loadHandler = (event) => {\n loadHandler(event, element, settings, instance);\n removeEventListeners(elementToListenTo);\n };\n const _errorHandler = (event) => {\n errorHandler(event, element, settings, instance);\n removeEventListeners(elementToListenTo);\n };\n addEventListeners(elementToListenTo, _loadHandler, _errorHandler);\n};\nconst loadBackground = (element, settings, instance) => {\n addTempImage(element);\n addOneShotEventListeners(element, settings, instance);\n saveOriginalBackgroundStyle(element);\n setBackground(element, settings, instance);\n setMultiBackground(element, settings, instance);\n};\nconst loadRegular = (element, settings, instance) => {\n addOneShotEventListeners(element, settings, instance);\n setSources(element, settings, instance);\n};\nconst load = (element, settings, instance) => {\n if (hasLoadEvent(element)) {\n loadRegular(element, settings, instance);\n } else {\n loadBackground(element, settings, instance);\n }\n};\nconst loadNative = (element, settings, instance) => {\n element.setAttribute(\"loading\", \"lazy\");\n addOneShotEventListeners(element, settings, instance);\n setSourcesNative(element, settings);\n setStatus(element, statusNative);\n};\nconst removeImageAttributes = (element) => {\n element.removeAttribute(SRC);\n element.removeAttribute(SRCSET);\n element.removeAttribute(SIZES);\n};\nconst resetSourcesImg = (element) => {\n forEachPictureSource(element, (sourceTag) => {\n removeImageAttributes(sourceTag);\n });\n removeImageAttributes(element);\n};\nconst restoreImg = (imgEl) => {\n forEachPictureSource(imgEl, (sourceEl) => {\n restoreOriginalAttrs(sourceEl, attrsSrcSrcsetSizes);\n });\n restoreOriginalAttrs(imgEl, attrsSrcSrcsetSizes);\n};\nconst restoreVideo = (videoEl) => {\n forEachVideoSource(videoEl, (sourceEl) => {\n restoreOriginalAttrs(sourceEl, attrsSrc);\n });\n restoreOriginalAttrs(videoEl, attrsSrcPoster);\n videoEl.load();\n};\nconst restoreIframe = (iframeEl) => {\n restoreOriginalAttrs(iframeEl, attrsSrc);\n};\nconst restoreFunctions = {\n IMG: restoreImg,\n IFRAME: restoreIframe,\n VIDEO: restoreVideo\n};\nconst restoreAttributes = (element) => {\n const restoreFunction = restoreFunctions[element.tagName];\n if (!restoreFunction) {\n restoreOriginalBgImage(element);\n return;\n }\n restoreFunction(element);\n};\nconst resetClasses = (element, settings) => {\n if (hasEmptyStatus(element) || hasStatusNative(element)) {\n return;\n }\n removeClass(element, settings.class_entered);\n removeClass(element, settings.class_exited);\n removeClass(element, settings.class_applied);\n removeClass(element, settings.class_loading);\n removeClass(element, settings.class_loaded);\n removeClass(element, settings.class_error);\n};\nconst restore = (element, settings) => {\n restoreAttributes(element);\n resetClasses(element, settings);\n resetStatus(element);\n deleteOriginalAttrs(element);\n};\nconst cancelLoading = (element, entry, settings, instance) => {\n if (!settings.cancel_on_exit)\n return;\n if (!hasStatusLoading(element))\n return;\n if (element.tagName !== \"IMG\")\n return;\n removeEventListeners(element);\n resetSourcesImg(element);\n restoreImg(element);\n removeClass(element, settings.class_loading);\n updateLoadingCount(instance, -1);\n resetStatus(element);\n safeCallback(settings.callback_cancel, element, entry, instance);\n};\nconst onEnter = (element, entry, settings, instance) => {\n const dontLoad = hadStartedLoading(element);\n setStatus(element, statusEntered);\n addClass(element, settings.class_entered);\n removeClass(element, settings.class_exited);\n unobserveEntered(element, settings, instance);\n safeCallback(settings.callback_enter, element, entry, instance);\n if (dontLoad)\n return;\n load(element, settings, instance);\n};\nconst onExit = (element, entry, settings, instance) => {\n if (hasEmptyStatus(element))\n return;\n addClass(element, settings.class_exited);\n cancelLoading(element, entry, settings, instance);\n safeCallback(settings.callback_exit, element, entry, instance);\n};\nconst tagsWithNativeLazy = [\"IMG\", \"IFRAME\", \"VIDEO\"];\nconst shouldUseNative = (settings) => settings.use_native && \"loading\" in HTMLImageElement.prototype;\nconst loadAllNative = (elements, settings, instance) => {\n elements.forEach((element) => {\n if (tagsWithNativeLazy.indexOf(element.tagName) === -1) {\n return;\n }\n loadNative(element, settings, instance);\n });\n setToLoadCount(instance, 0);\n};\nconst isIntersecting = (entry) => entry.isIntersecting || entry.intersectionRatio > 0;\nconst getObserverSettings = (settings) => ({\n root: settings.container === document ? null : settings.container,\n rootMargin: settings.thresholds || settings.threshold + \"px\"\n});\nconst intersectionHandler = (entries, settings, instance) => {\n entries.forEach((entry) => isIntersecting(entry) ? onEnter(entry.target, entry, settings, instance) : onExit(entry.target, entry, settings, instance));\n};\nconst observeElements = (observer, elements) => {\n elements.forEach((element) => {\n observer.observe(element);\n });\n};\nconst updateObserver = (observer, elementsToObserve) => {\n resetObserver(observer);\n observeElements(observer, elementsToObserve);\n};\nconst setObserver = (settings, instance) => {\n if (!supportsIntersectionObserver || shouldUseNative(settings)) {\n return;\n }\n instance._observer = new IntersectionObserver((entries) => {\n intersectionHandler(entries, settings, instance);\n }, getObserverSettings(settings));\n};\nconst toArray = (nodeSet) => Array.prototype.slice.call(nodeSet);\nconst queryElements = (settings) => settings.container.querySelectorAll(settings.elements_selector);\nconst excludeManagedElements = (elements) => toArray(elements).filter(hasEmptyStatus);\nconst hasError = (element) => hasStatusError(element);\nconst filterErrorElements = (elements) => toArray(elements).filter(hasError);\nconst getElementsToLoad = (elements, settings) => excludeManagedElements(elements || queryElements(settings));\nconst retryLazyLoad = (settings, instance) => {\n const errorElements = filterErrorElements(queryElements(settings));\n errorElements.forEach((element) => {\n removeClass(element, settings.class_error);\n resetStatus(element);\n });\n instance.update();\n};\nconst setOnlineCheck = (settings, instance) => {\n if (!runningOnBrowser) {\n return;\n }\n window.addEventListener(\"online\", () => {\n retryLazyLoad(settings, instance);\n });\n};\nconst LazyLoad = function(customSettings, elements) {\n const settings = getExtendedSettings(customSettings);\n this._settings = settings;\n this.loadingCount = 0;\n setObserver(settings, this);\n setOnlineCheck(settings, this);\n this.update(elements);\n};\nLazyLoad.prototype = {\n update: function(givenNodeset) {\n const settings = this._settings;\n const elementsToLoad = getElementsToLoad(givenNodeset, settings);\n setToLoadCount(this, elementsToLoad.length);\n if (isBot || !supportsIntersectionObserver) {\n this.loadAll(elementsToLoad);\n return;\n }\n if (shouldUseNative(settings)) {\n loadAllNative(elementsToLoad, settings, this);\n return;\n }\n updateObserver(this._observer, elementsToLoad);\n },\n destroy: function() {\n if (this._observer) {\n this._observer.disconnect();\n }\n queryElements(this._settings).forEach((element) => {\n deleteOriginalAttrs(element);\n });\n delete this._observer;\n delete this._settings;\n delete this.loadingCount;\n delete this.toLoadCount;\n },\n loadAll: function(elements) {\n const settings = this._settings;\n const elementsToLoad = getElementsToLoad(elements, settings);\n elementsToLoad.forEach((element) => {\n unobserve(element, this);\n load(element, settings, this);\n });\n },\n restoreAll: function() {\n const settings = this._settings;\n queryElements(settings).forEach((element) => {\n restore(element, settings);\n });\n }\n};\nLazyLoad.load = (element, customSettings) => {\n const settings = getExtendedSettings(customSettings);\n load(element, settings);\n};\nLazyLoad.resetStatus = (element) => {\n resetStatus(element);\n};\nif (runningOnBrowser) {\n autoInitialize(LazyLoad, window.lazyLoadOptions);\n}\nclass DocsViewer {\n constructor({ readonly, box, pages, onNewPageIndex, onPlay }) {\n this.pageIndex = 0;\n this.namespace = \"netless-app-docs-viewer\";\n this.isShowPreview = false;\n this.isSmallBox = false;\n this.sideEffect = new o();\n if (pages.length <= 0) {\n throw new Error(\"[DocsViewer] Empty pages.\");\n }\n this.readonly = readonly;\n this.box = box;\n this.pages = pages;\n this.onNewPageIndex = onNewPageIndex;\n this.onPlay = onPlay;\n this.render();\n }\n mount() {\n this.box.mountContent(this.$content);\n this.box.mountFooter(this.$footer);\n this.sideEffect.add(() => {\n const previewLazyLoad = new LazyLoad({\n container: this.$preview,\n elements_selector: `.${this.wrapClassName(\"preview-page>img\")}`\n });\n return () => previewLazyLoad.destroy();\n }, \"preview-lazyload\");\n }\n unmount() {\n this.$content.remove();\n this.$footer.remove();\n }\n setReadonly(readonly) {\n if (this.readonly !== readonly) {\n this.readonly = readonly;\n this.$content.classList.toggle(this.wrapClassName(\"readonly\"), readonly);\n this.$footer.classList.toggle(this.wrapClassName(\"readonly\"), readonly);\n this.$pageNumberInput.disabled = readonly;\n }\n }\n destroy() {\n this.sideEffect.flushAll();\n this.unmount();\n }\n setPageIndex(pageIndex) {\n if (!Number.isNaN(pageIndex)) {\n this.pageIndex = pageIndex;\n this.$pageNumberInput.value = String(pageIndex + 1);\n }\n }\n setSmallBox(isSmallBox) {\n if (this.isSmallBox !== isSmallBox) {\n this.isSmallBox = isSmallBox;\n this.$footer.classList.toggle(this.wrapClassName(\"float-footer\"), isSmallBox);\n }\n }\n render() {\n this.renderContent();\n this.renderFooter();\n return this.$content;\n }\n renderContent() {\n if (!this.$content) {\n const $content = document.createElement(\"div\");\n $content.className = this.wrapClassName(\"content\");\n this.$content = $content;\n if (this.readonly) {\n $content.classList.add(this.wrapClassName(\"readonly\"));\n }\n $content.appendChild(this.renderPreviewMask());\n $content.appendChild(this.renderPreview());\n }\n return this.$content;\n }\n renderPreview() {\n if (!this.$preview) {\n const $preview = document.createElement(\"div\");\n $preview.className = this.wrapClassName(\"preview\") + \" tele-fancy-scrollbar\";\n this.$preview = $preview;\n const pageClassName = this.wrapClassName(\"preview-page\");\n const pageNameClassName = this.wrapClassName(\"preview-page-name\");\n this.pages.forEach((page, i) => {\n var _a;\n const previewSRC = (_a = page.thumbnail) != null ? _a : page.src.startsWith(\"ppt\") ? void 0 : page.src;\n if (!previewSRC) {\n return;\n }\n const pageIndex = String(i);\n const $page = document.createElement(\"a\");\n $page.className = pageClassName + \" \" + this.wrapClassName(`preview-page-${i}`);\n $page.setAttribute(\"href\", \"#\");\n $page.dataset.pageIndex = pageIndex;\n const $name = document.createElement(\"span\");\n $name.className = pageNameClassName;\n $name.textContent = String(i + 1);\n $name.dataset.pageIndex = pageIndex;\n const $img = document.createElement(\"img\");\n $img.width = page.width;\n $img.height = page.height;\n $img.dataset.src = previewSRC;\n $img.dataset.pageIndex = pageIndex;\n $page.appendChild($img);\n $page.appendChild($name);\n $preview.appendChild($page);\n });\n this.sideEffect.addEventListener($preview, \"click\", (ev) => {\n var _a;\n if (this.readonly) {\n return;\n }\n const pageIndex = (_a = ev.target.dataset) == null ? void 0 : _a.pageIndex;\n if (pageIndex) {\n ev.preventDefault();\n ev.stopPropagation();\n ev.stopImmediatePropagation();\n this.onNewPageIndex(Number(pageIndex));\n this.togglePreview(false);\n }\n });\n }\n return this.$preview;\n }\n renderPreviewMask() {\n if (!this.$previewMask) {\n this.$previewMask = document.createElement(\"div\");\n this.$previewMask.className = this.wrapClassName(\"preview-mask\");\n this.sideEffect.addEventListener(this.$previewMask, \"click\", (ev) => {\n if (this.readonly) {\n return;\n }\n if (ev.target === this.$previewMask) {\n this.togglePreview(false);\n }\n });\n }\n return this.$previewMask;\n }\n renderFooter() {\n if (!this.$footer) {\n const $footer = document.createElement(\"div\");\n $footer.className = this.wrapClassName(\"footer\");\n this.$footer = $footer;\n if (this.readonly) {\n $footer.classList.add(this.wrapClassName(\"readonly\"));\n }\n if (this.isSmallBox) {\n $footer.classList.add(this.wrapClassName(\"float-footer\"));\n }\n if (this.pages.some((page) => page.thumbnail || !page.src.startsWith(\"ppt\"))) {\n const $btnSidebar = this.renderFooterBtn(\"btn-sidebar\", sidebarSVG(this.namespace));\n this.sideEffect.addEventListener($btnSidebar, \"click\", () => {\n if (this.readonly) {\n return;\n }\n this.togglePreview();\n });\n this.$footer.appendChild($btnSidebar);\n }\n const $pageJumps = document.createElement(\"div\");\n $pageJumps.className = this.wrapClassName(\"page-jumps\");\n const $btnPageBack = this.renderFooterBtn(\"btn-page-back\", arrowLeftSVG(this.namespace));\n this.sideEffect.addEventListener($btnPageBack, \"click\", () => {\n if (this.readonly) {\n return;\n }\n this.onNewPageIndex(this.pageIndex - 1);\n });\n $pageJumps.appendChild($btnPageBack);\n if (this.onPlay) {\n const $btnPlay = this.renderFooterBtn(\"btn-page-play\", playSVG(this.namespace), pauseSVG(this.namespace));\n const returnPlay = () => {\n this.sideEffect.setTimeout(() => {\n $btnPlay.classList.toggle(this.wrapClassName(\"footer-btn-playing\"), false);\n }, 500, \"returnPlay\");\n };\n this.sideEffect.addEventListener($btnPlay, \"click\", () => {\n if (this.readonly) {\n return;\n }\n $btnPlay.classList.toggle(this.wrapClassName(\"footer-btn-playing\"), true);\n if (this.onPlay) {\n this.onPlay();\n }\n returnPlay();\n });\n $pageJumps.appendChild($btnPlay);\n }\n const $btnPageNext = this.renderFooterBtn(\"btn-page-next\", arrowRightSVG(this.namespace));\n this.sideEffect.addEventListener($btnPageNext, \"click\", () => {\n if (this.readonly) {\n return;\n }\n this.onNewPageIndex(this.pageIndex + 1);\n });\n $pageJumps.appendChild($btnPageNext);\n const $pageNumber = document.createElement(\"div\");\n $pageNumber.className = this.wrapClassName(\"page-number\");\n const $pageNumberInput = document.createElement(\"input\");\n $pageNumberInput.className = this.wrapClassName(\"page-number-input\");\n $pageNumberInput.value = String(this.pageIndex + 1);\n if (this.readonly) {\n $pageNumberInput.disabled = true;\n }\n this.$pageNumberInput = $pageNumberInput;\n this.sideEffect.addEventListener($pageNumberInput, \"focus\", () => {\n $pageNumberInput.select();\n });\n this.sideEffect.addEventListener($pageNumberInput, \"change\", () => {\n if (this.readonly) {\n return;\n }\n if ($pageNumberInput.value) {\n this.onNewPageIndex(Number($pageNumberInput.value) - 1);\n }\n });\n const $totalPage = document.createElement(\"span\");\n $totalPage.textContent = \" / \" + this.pages.length;\n $pageNumber.appendChild($pageNumberInput);\n $pageNumber.appendChild($totalPage);\n this.$footer.appendChild($pageJumps);\n this.$footer.appendChild($pageNumber);\n }\n return this.$footer;\n }\n renderFooterBtn(className, $icon, $iconActive) {\n const $btn = document.createElement(\"button\");\n $btn.className = this.wrapClassName(\"footer-btn\") + \" \" + this.wrapClassName(className);\n $btn.appendChild($icon);\n if ($iconActive) {\n $btn.appendChild($iconActive);\n }\n return $btn;\n }\n togglePreview(isShowPreview) {\n this.isShowPreview = isShowPreview != null ? isShowPreview : !this.isShowPreview;\n this.$content.classList.toggle(this.wrapClassName(\"preview-active\"), this.isShowPreview);\n if (this.isShowPreview) {\n const $previewPage = this.$preview.querySelector(\".\" + this.wrapClassName(`preview-page-${this.pageIndex}`));\n if ($previewPage) {\n this.$preview.scrollTo({\n top: $previewPage.offsetTop - 16\n });\n }\n }\n }\n wrapClassName(className) {\n return `${this.namespace}-${className}`;\n }\n}\nfunction clamp(value, min, max) {\n return Math.min(Math.max(value, min), max);\n}\nfunction flattenEvent(ev) {\n return ev.touches ? ev.touches[0] : ev;\n}\nfunction preventEvent(ev) {\n ev.stopPropagation();\n if (ev.cancelable) {\n ev.preventDefault();\n }\n}\nclass Stepper {\n constructor(config) {\n var _a, _b, _c;\n this.velocity = 0;\n this.paused = true;\n this._animationFrameID = null;\n this._loopTimestamp = 0;\n this.looper = (timestamp) => {\n if (this.paused) {\n return;\n }\n let frames = Math.floor((timestamp - this._loopTimestamp) / 1e3 * 60) + 1;\n this._loopTimestamp = timestamp;\n while (frames-- > 0) {\n this.stepper();\n }\n this.onStep(this.current, this);\n if (!this.paused && this.current !== this.target) {\n window.requestAnimationFrame(this.looper);\n }\n };\n this.current = (_a = config.start) != null ? _a : 0;\n this.target = this.current;\n this.stiffness = (_b = config.stiffness) != null ? _b : 170;\n this.damping = (_c = config.damping) != null ? _c : 26;\n this.onStep = config.onStep;\n }\n stepTo(target, start) {\n if (this.paused && start != null) {\n this.current = start;\n }\n this.paused = false;\n this.target = target;\n this.onStep(this.current, this);\n this._loopTimestamp = Date.now();\n window.requestAnimationFrame(this.looper);\n }\n pause() {\n this.paused = true;\n }\n destroy() {\n this.pause();\n }\n stepper() {\n const fSpring = -this.stiffness * (this.current - this.target);\n const fDamper = -this.damping * this.velocity;\n const newVelocity = this.velocity + (fSpring + fDamper) / 60;\n const newCurrent = this.current + newVelocity / 60;\n if (Math.abs(newVelocity - 0) < 0.01 && Math.abs(newCurrent - this.target) < 0.01) {\n this.current = this.target;\n this.velocity = 0;\n } else {\n this.current = newCurrent;\n this.velocity = newVelocity;\n }\n }\n}\nclass PageEl {\n constructor(index, page, scale) {\n this.scale = 1;\n this.lastVisit = Date.now();\n this.pageOffsetY = 0;\n this.visible = true;\n this.index = index;\n this.page = page;\n this.scale = scale;\n const $page = document.createElement(\"div\");\n $page.className = \"page-renderer-page\";\n $page.dataset.index = `${index}`;\n $page.style.width = `${page.width * scale}px`;\n $page.style.height = `${page.height * scale}px`;\n if (page.thumbnail) {\n $page.style.backgroundImage = `url(\"${page.thumbnail}\")`;\n }\n const $img = document.createElement(\"img\");\n $img.className = \"page-renderer-page-img\";\n $img.width = page.width;\n $img.height = page.height;\n $img.src = page.src;\n $page.appendChild($img);\n this.$page = $page;\n }\n translateY(pageOffsetY) {\n if (Math.abs(pageOffsetY - this.pageOffsetY) >= 1e-3) {\n this.pageOffsetY = pageOffsetY;\n this.$page.style.transform = `translateY(${this.pageOffsetY * this.scale}px)`;\n }\n }\n setScale(scale) {\n if (Math.abs(scale - this.scale) >= 1e-3) {\n this.scale = scale;\n this.$page.style.width = `${this.page.width * this.scale}px`;\n this.$page.style.height = `${this.page.height * this.scale}px`;\n this.$page.style.transform = `translateY(${this.pageOffsetY * this.scale}px)`;\n }\n }\n setVisible(visible) {\n if (visible !== this.visible) {\n this.visible = visible;\n this.$page.style.opacity = visible ? \"1\" : \"0\";\n }\n }\n}\nconst schedule = window.requestIdleCallback || ((handler) => window.setTimeout(handler, 5e3));\nconst cancelSchedule = window.cancelIdleCallback || window.clearTimeout;\nclass PageElManager {\n constructor(pages, scale) {\n this.pages = pages;\n this.scale = scale;\n this.els = new Map();\n this.maxElCount = 200;\n this.gcTimer = null;\n this.gc = () => {\n this.gcTimer = null;\n if (this.els.size > this.maxElCount) {\n const sortedEls = [...this.els.values()].sort((x, y) => y.lastVisit - x.lastVisit);\n for (let i = Math.floor(this.maxElCount / 4); i < sortedEls.length; i++) {\n this.els.delete(sortedEls[i].index);\n }\n }\n };\n }\n getEl(index) {\n let el = this.els.get(index);\n if (!el) {\n el = new PageEl(index, this.pages[index], this.scale);\n this.els.set(index, el);\n }\n el.lastVisit = Date.now();\n if (this.els.size > this.maxElCount && this.gcTimer === null) {\n this.gcTimer = schedule(this.gc);\n }\n return el;\n }\n setScale(scale) {\n if (scale !== this.scale) {\n this.scale = scale;\n this.els.forEach((pageEl) => pageEl.setScale(scale));\n }\n }\n destroy() {\n this.els.clear();\n if (this.gcTimer !== null) {\n cancelSchedule(this.gcTimer);\n this.gcTimer = null;\n }\n }\n}\nclass PageRenderer {\n constructor(config) {\n this._hwaTimeout = NaN;\n this._turnOffHWA = () => {\n window.clearTimeout(this._hwaTimeout);\n this._hwaTimeout = NaN;\n this.$pages.classList.toggle(\"is-hwa\", false);\n };\n this.pagesScrollTop = config.pagesScrollTop || 0;\n this.containerWidth = config.containerWidth || 1;\n this.containerHeight = config.containerHeight || 1;\n this.pages = config.pages.map((page) => {\n if (page.thumbnail) {\n return page;\n }\n try {\n const url = new URL(page.src);\n url.searchParams.set(\"x-oss-process\", \"image/resize,l_50\");\n return __spreadProps(__spreadValues({}, page), { thumbnail: url.toString() });\n } catch (e2) {\n console.error(e2);\n return page;\n }\n });\n const pagesIntrinsicYs = Array(this.pages.length);\n let pagesMinHeight = Infinity;\n let pagesIntrinsicWidth = 0;\n this.pagesIntrinsicHeight = this.pages.reduce((pageY, page, i) => {\n pagesIntrinsicYs[i] = pageY;\n if (page.width > pagesIntrinsicWidth) {\n pagesIntrinsicWidth = page.width;\n }\n if (page.height <= pagesMinHeight) {\n pagesMinHeight = page.height;\n }\n return pageY + page.height;\n }, 0);\n this.pagesIntrinsicWidth = pagesIntrinsicWidth;\n this.pagesMinHeight = pagesMinHeight;\n this.pagesIntrinsicYs = pagesIntrinsicYs;\n this.scale = this._calcScale();\n this.threshold = this._calcThreshold();\n this.onPageIndexChanged = config.onPageIndexChanged;\n this.pageScrollIndex = 0;\n if (this.pagesScrollTop !== 0) {\n this.pageScrollIndex = this.findScrollPageIndex();\n if (this.onPageIndexChanged && this.pageScrollIndex > 0) {\n this.onPageIndexChanged(this.pageScrollIndex);\n }\n }\n this.pageElManager = new PageElManager(this.pages, this.scale);\n this.$pages = this.renderPages();\n }\n setContainerSize(width, height) {\n if (width > 0 && height > 0) {\n if (width !== this.containerWidth || height !== this.containerHeight) {\n this.containerWidth = width;\n this.containerHeight = height;\n this.$pages.style.width = `${this.containerWidth}px`;\n this.$pages.style.height = `${this.containerHeight}px`;\n this.scale = this._calcScale();\n this.threshold = this._calcThreshold();\n this.pageElManager.setScale(this.scale);\n if (this.$pages.parentElement) {\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n }\n }\n }\n renderPages() {\n const $pages = document.createElement(\"div\");\n $pages.className = \"page-renderer-pages-container\";\n $pages.style.width = `${this.containerWidth}px`;\n $pages.style.height = `${this.containerHeight}px`;\n return $pages;\n }\n pagesScrollTo(pagesScrollTop, force) {\n pagesScrollTop = clamp(pagesScrollTop, 0, this.pagesIntrinsicHeight - this.containerHeight / this.scale);\n if (force || Math.abs(pagesScrollTop - this.pagesScrollTop) >= 1e-3) {\n this._turnOnHWA();\n this.pagesScrollTop = pagesScrollTop;\n const pageScrollIndex = this.findScrollPageIndex();\n const startIndex = Math.max(pageScrollIndex - this.threshold, 0);\n const endIndex = Math.min(pageScrollIndex + this.threshold, this.pages.length - 1);\n for (let i = 0; i < this.$pages.children.length; i++) {\n const $page = this.$pages.children[i];\n const index = Number($page.dataset.index);\n if (!(index >= startIndex && index <= endIndex)) {\n $page.remove();\n i--;\n }\n }\n for (let i = startIndex; i <= endIndex; i++) {\n const pageEl = this.pageElManager.getEl(i);\n if (pageEl.$page.parentElement !== this.$pages) {\n this.$pages.appendChild(pageEl.$page);\n }\n pageEl.translateY(this.pagesIntrinsicYs[i] - this.pagesScrollTop);\n }\n if (pageScrollIndex !== this.pageScrollIndex) {\n this.pageScrollIndex = pageScrollIndex;\n if (this.onPageIndexChanged) {\n this.onPageIndexChanged(pageScrollIndex);\n }\n }\n }\n }\n findScrollPageIndex() {\n for (let i = 0; i < this.pagesIntrinsicYs.length; i++) {\n if (this.pagesIntrinsicYs[i] + this.pages[i].height - this.pagesScrollTop >= 1e-3) {\n return i;\n }\n }\n return this.pagesIntrinsicYs.length - 1;\n }\n mount($parent) {\n $parent.appendChild(this.$pages);\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n unmount() {\n this.$pages.remove();\n }\n destroy() {\n this.unmount();\n this.onPageIndexChanged = void 0;\n this.pageElManager.destroy();\n if (this._hwaTimeout) {\n window.clearTimeout(this._hwaTimeout);\n this._hwaTimeout = NaN;\n }\n }\n _calcScale() {\n return this.containerWidth / this.pagesIntrinsicWidth || 1;\n }\n _calcThreshold() {\n return clamp(Math.ceil(this.containerHeight / this.scale / this.pagesMinHeight / 2), 1, this.pages.length);\n }\n _turnOnHWA() {\n if (this._hwaTimeout) {\n window.clearTimeout(this._hwaTimeout);\n } else {\n this.$pages.classList.toggle(\"is-hwa\", true);\n }\n this._hwaTimeout = window.setTimeout(this._turnOffHWA, 1e3);\n }\n}\nconst SCROLLBAR_DEFAULT_MIN_HEIGHT = 30;\nclass ScrollBar {\n constructor(config) {\n this.sideEffect = new o();\n this.pagesScrollTop = config.pagesScrollTop || 0;\n this.containerWidth = config.containerWidth || 1;\n this.containerHeight = config.containerHeight || 1;\n this.pagesWidth = config.pagesWidth || 1;\n this.pagesHeight = config.pagesHeight || 1;\n this.scale = this._calcScale();\n this.scrollbarMinHeight = config.scrollbarMinHeight || SCROLLBAR_DEFAULT_MIN_HEIGHT;\n this.scrollbarHeight = this._calcScrollbarHeight();\n this.readonly = config.readonly;\n this.wrapClassName = config.wrapClassName;\n this.onDragScroll = config.onDragScroll;\n this.$scrollbar = this.renderScrollbar();\n }\n mount($parent) {\n $parent.appendChild(this.$scrollbar);\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n unmount() {\n this.$scrollbar.remove();\n }\n setReadonly(readonly) {\n this.readonly = readonly;\n }\n setContainerSize(width, height) {\n if (width > 0 && height > 0) {\n if (width !== this.containerWidth || height !== this.containerHeight) {\n this.containerWidth = width;\n this.containerHeight = height;\n this.scale = this._calcScale();\n this._updateScrollbarHeight();\n if (this.$scrollbar.parentElement) {\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n }\n }\n }\n pagesScrollTo(pagesScrollTop, force) {\n pagesScrollTop = clamp(pagesScrollTop, 0, this.pagesHeight - this.containerHeight / this.scale);\n if (force || Math.abs(pagesScrollTop - this.pagesScrollTop) >= 1e-3) {\n this.pagesScrollTop = pagesScrollTop;\n const elScrollTop = this.pagesScrollTop * this.scale;\n const elPagesHeight = this.pagesHeight * this.scale;\n const translateY = elScrollTop / (elPagesHeight - this.containerHeight) * (this.containerHeight - this.scrollbarHeight);\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(() => {\n this.$scrollbar.style.transform = `translateY(${translateY}px)`;\n });\n } else {\n this.$scrollbar.style.transform = `translateY(${translateY}px)`;\n }\n }\n }\n destroy() {\n this.unmount();\n this.onDragScroll = void 0;\n this.sideEffect.flushAll();\n }\n renderScrollbar() {\n const $scrollbar = document.createElement(\"button\");\n $scrollbar.className = this.wrapClassName(\"scrollbar\");\n $scrollbar.style.minHeight = `${this.scrollbarMinHeight}px`;\n $scrollbar.style.height = `${this.scrollbarHeight}px`;\n const trackStart = (ev) => {\n if (this.readonly) {\n return;\n }\n if (ev.button != null && ev.button !== 0) {\n return;\n }\n preventEvent(ev);\n const draggingClassName = this.wrapClassName(\"scrollbar-dragging\");\n $scrollbar.classList.toggle(draggingClassName, true);\n const startTop = this.pagesScrollTop;\n const { clientY: startY } = flattenEvent(ev);\n const tracking = (ev2) => {\n if (this.readonly) {\n return;\n }\n const { clientY } = flattenEvent(ev2);\n const offsetY = (clientY - startY) / this.scale;\n if (Math.abs(offsetY) > 0 && this.onDragScroll) {\n this.onDragScroll(startTop + offsetY * (this.pagesHeight * this.scale / this.containerHeight));\n }\n };\n const trackEnd = () => {\n $scrollbar.classList.toggle(draggingClassName, false);\n window.removeEventListener(\"mousemove\", tracking, true);\n window.removeEventListener(\"touchmove\", tracking, true);\n window.removeEventListener(\"mouseup\", trackEnd, true);\n window.removeEventListener(\"touchend\", trackEnd, true);\n window.removeEventListener(\"touchcancel\", trackEnd, true);\n };\n window.addEventListener(\"mousemove\", tracking, true);\n window.addEventListener(\"touchmove\", tracking, true);\n window.addEventListener(\"mouseup\", trackEnd, true);\n window.addEventListener(\"touchend\", trackEnd, true);\n window.addEventListener(\"touchcancel\", trackEnd, true);\n };\n this.sideEffect.addEventListener($scrollbar, \"mousedown\", trackStart);\n this.sideEffect.addEventListener($scrollbar, \"touchstart\", trackStart);\n return $scrollbar;\n }\n _calcScale() {\n return this.containerWidth / this.pagesWidth || 1;\n }\n _calcScrollbarHeight() {\n return clamp(this.containerHeight / (this.pagesHeight * this.scale) * this.containerHeight, this.scrollbarMinHeight, this.containerHeight);\n }\n _updateScrollbarHeight() {\n const newHeight = this._calcScrollbarHeight();\n if (Math.abs(newHeight - this.scrollbarHeight) > 1e-3) {\n this.scrollbarHeight = newHeight;\n this.$scrollbar.style.height = `${newHeight}px`;\n }\n }\n}\nconst RATIO_BASE_CONTAINER_HEIGHT = 640;\nclass StaticDocsViewer {\n constructor({\n whiteboardView,\n readonly,\n box,\n pages,\n pageScrollTop = 0,\n mountWhiteboard,\n onUserScroll\n }) {\n this.sideEffect = new o();\n this.userScrolling = false;\n this.onNewPageIndex = (index) => {\n this.scrollToPage(index);\n };\n this.whiteboardView = whiteboardView;\n this.readonly = readonly;\n this.box = box;\n this.pages = pages;\n this.mountWhiteboard = mountWhiteboard;\n this._onUserScroll = onUserScroll;\n const debouncedOnUserScroll = this.debounce(() => {\n this.userScrolling = false;\n if (this._onUserScroll) {\n this._onUserScroll(this.pageRenderer.pagesScrollTop);\n }\n }, { wait: 80 }, \"debounce-updateUserScroll\");\n this.updateUserScroll = () => {\n this.userScrolling = true;\n debouncedOnUserScroll();\n };\n this.viewer = new DocsViewer({\n readonly,\n box,\n pages,\n onNewPageIndex: this.onNewPageIndex\n });\n const { width: containerWidth, height: containerHeight } = this.whiteboardView.size;\n this.pageRenderer = new PageRenderer({\n pagesScrollTop: pageScrollTop,\n pages: this.pages,\n containerWidth,\n containerHeight,\n onPageIndexChanged: this.viewer.setPageIndex.bind(this.viewer)\n });\n this.scrollbar = new ScrollBar({\n pagesScrollTop: this.pageRenderer.pagesScrollTop,\n containerWidth,\n containerHeight,\n pagesWidth: this.pageRenderer.pagesIntrinsicWidth,\n pagesHeight: this.pageRenderer.pagesIntrinsicHeight,\n readonly: this.readonly,\n wrapClassName: this.wrapClassName.bind(this),\n onDragScroll: (pageScrollTop2) => {\n this.pageScrollTo(pageScrollTop2);\n this.updateUserScroll();\n }\n });\n this.pageScrollStepper = new Stepper({\n start: this.pageRenderer.pagesScrollTop,\n onStep: (pageScrollTop2) => {\n this.pageScrollTo(pageScrollTop2);\n }\n });\n this.render();\n }\n mount() {\n this.viewer.mount();\n this.setupScrollListener();\n this.sideEffect.add(() => {\n const handler = this.renderRatioHeight.bind(this);\n this.box.events.on(\"visual_resize\", handler);\n return () => this.box.events.off(\"visual_resize\", handler);\n });\n this.sideEffect.setTimeout(() => {\n if (!this.userScrolling) {\n this.pageScrollTo(this.pageRenderer.pagesScrollTop);\n }\n }, 100);\n return this;\n }\n unmount() {\n this.viewer.unmount();\n return this;\n }\n setReadonly(readonly) {\n if (this.readonly !== readonly) {\n this.readonly = readonly;\n this.viewer.setReadonly(readonly);\n this.scrollbar.setReadonly(readonly);\n }\n }\n destroy() {\n this.sideEffect.flushAll();\n this.pageScrollStepper.destroy();\n this._onUserScroll = void 0;\n this.unmount();\n this.viewer.destroy();\n this.pageRenderer.destroy();\n this.scrollbar.destroy();\n }\n syncPageScrollTop(pageScrollTop) {\n if (!this.userScrolling && pageScrollTop >= 0 && Math.abs(this.pageRenderer.pagesScrollTop - pageScrollTop) > 0.01) {\n this.pageScrollStepper.stepTo(pageScrollTop, this.pageRenderer.pagesScrollTop);\n }\n }\n render() {\n this.pageRenderer.mount(this.viewer.$content);\n this.viewer.$content.appendChild(this.renderWhiteboardView());\n this.scrollbar.mount(this.viewer.$content);\n this.renderRatioHeight();\n }\n renderRatioHeight() {\n const boxHeight = this.box.absoluteHeight;\n const isSmallBox = boxHeight <= RATIO_BASE_CONTAINER_HEIGHT;\n this.viewer.setSmallBox(isSmallBox);\n if (isSmallBox) {\n const titleBarSupposedHeight = 26 / RATIO_BASE_CONTAINER_HEIGHT;\n const titleBarActualHeight = 26 / boxHeight;\n const footerSupposedHeight = 26 / RATIO_BASE_CONTAINER_HEIGHT;\n const footerActualHeight = 0;\n const emptySpace = Math.max((titleBarSupposedHeight + footerSupposedHeight - (titleBarActualHeight + footerActualHeight)) / 2, 0);\n if (this.box.$titleBar) {\n const titleBarHeight = titleBarActualHeight + emptySpace;\n this.box.$titleBar.style.height = `${titleBarHeight * 100}%`;\n }\n if (this.box.$footer) {\n const footerHeight = footerActualHeight + emptySpace;\n this.box.$footer.style.height = `${footerHeight * 100}%`;\n }\n } else {\n if (this.box.$titleBar) {\n const titleBarHeight = Math.max(26 / RATIO_BASE_CONTAINER_HEIGHT, 26 / boxHeight);\n this.box.$titleBar.style.height = `${titleBarHeight * 100}%`;\n }\n if (this.box.$footer) {\n const footerHeight = Math.max(26 / RATIO_BASE_CONTAINER_HEIGHT, 26 / boxHeight);\n this.box.$footer.style.height = `${footerHeight * 100}%`;\n }\n }\n }\n renderWhiteboardView() {\n if (!this.$whiteboardView) {\n this.$whiteboardView = document.createElement(\"div\");\n this.$whiteboardView.className = this.wrapClassName(\"wb-view\");\n this.mountWhiteboard(this.$whiteboardView);\n this.sideEffect.addEventListener(this.$whiteboardView, \"wheel\", (ev) => {\n preventEvent(ev);\n if (!this.readonly) {\n this.pageScrollTo(this.pageRenderer.pagesScrollTop + ev.deltaY);\n this.updateUserScroll();\n }\n }, { passive: false, capture: true });\n this.sideEffect.addEventListener(this.$whiteboardView, \"touchmove\", (ev) => {\n if (this.readonly || ev.touches.length <= 1) {\n return;\n }\n this.updateUserScroll();\n }, { passive: true, capture: true });\n }\n return this.$whiteboardView;\n }\n scrollTopPageToEl(pageScrollTop) {\n return pageScrollTop * this.pageRenderer.scale;\n }\n scrollTopElToPage(elScrollTop) {\n return elScrollTop / this.pageRenderer.scale;\n }\n elScrollTo(elScrollTop) {\n this.pageScrollTo(this.scrollTopElToPage(elScrollTop));\n }\n pageScrollTo(pageScrollTop) {\n const halfWbHeight = this.scrollTopElToPage(this.whiteboardView.size.height / 2);\n this.whiteboardView.moveCamera({\n centerY: clamp(pageScrollTop + halfWbHeight, halfWbHeight, this.pageRenderer.pagesIntrinsicHeight - halfWbHeight),\n animationMode: \"immediately\"\n });\n }\n scrollToPage(index) {\n if (!this.readonly && !Number.isNaN(index)) {\n const offsetY = this.pageRenderer.pagesIntrinsicYs[index];\n if (offsetY >= 0) {\n this.pageScrollTo(offsetY + 5 / this.pageRenderer.scale);\n this.updateUserScroll();\n }\n }\n }\n setupScrollListener() {\n this.sideEffect.add(() => {\n const handleCameraUpdate = (camera) => {\n const { width: wbWidth, height: wbHeight } = this.whiteboardView.size;\n if (wbWidth <= 0 || wbHeight <= 0) {\n return;\n }\n const pagesScrollTop = camera.centerY - this.pageRenderer.containerHeight / this.pageRenderer.scale / 2;\n this.pageRenderer.pagesScrollTo(pagesScrollTop);\n this.scrollbar.pagesScrollTo(pagesScrollTop);\n };\n this.whiteboardView.callbacks.on(\"onCameraUpdated\", handleCameraUpdate);\n return () => this.whiteboardView.callbacks.off(\"onCameraUpdated\", handleCameraUpdate);\n });\n this.sideEffect.add(() => {\n const handleSizeUpdate = ({ width: wbWidth, height: wbHeight }) => {\n if (wbWidth <= 0 || wbHeight <= 0) {\n return;\n }\n this.pageRenderer.setContainerSize(wbWidth, wbHeight);\n this.scrollbar.setContainerSize(wbWidth, wbHeight);\n const { pagesIntrinsicWidth, pagesIntrinsicHeight } = this.pageRenderer;\n this.whiteboardView.moveCameraToContain({\n originX: 0,\n originY: this.pageRenderer.pagesScrollTop,\n width: pagesIntrinsicWidth,\n height: wbHeight / this.pageRenderer.scale,\n animationMode: \"immediately\"\n });\n this.whiteboardView.setCameraBound({\n damping: 1,\n maxContentMode: () => this.pageRenderer.scale,\n minContentMode: () => this.pageRenderer.scale,\n centerX: pagesIntrinsicWidth / 2,\n centerY: pagesIntrinsicHeight / 2,\n width: pagesIntrinsicWidth,\n height: pagesIntrinsicHeight\n });\n };\n this.whiteboardView.callbacks.on(\"onSizeUpdated\", handleSizeUpdate);\n return () => {\n this.whiteboardView.callbacks.off(\"onSizeUpdated\", handleSizeUpdate);\n };\n }, \"whiteboard-size-update\");\n this.sideEffect.addEventListener(window, \"keyup\", (ev) => {\n if (this.readonly || !this.box.focus || this.box.minimized) {\n return;\n }\n let newPageScrollTop = null;\n switch (ev.key) {\n case \"PageDown\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop + this.pageRenderer.containerHeight / this.pageRenderer.scale;\n break;\n }\n case \"PageUp\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop - this.pageRenderer.containerHeight / this.pageRenderer.scale;\n break;\n }\n case \"ArrowDown\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop + this.pageRenderer.containerHeight / 4 / this.pageRenderer.scale;\n break;\n }\n case \"ArrowUp\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop - this.pageRenderer.containerHeight / 4 / this.pageRenderer.scale;\n break;\n }\n }\n if (newPageScrollTop !== null) {\n if (this._onUserScroll) {\n this._onUserScroll(newPageScrollTop);\n } else {\n this.pageScrollTo(newPageScrollTop);\n this.updateUserScroll();\n }\n }\n }, { capture: true });\n }\n debounce(fn, options, disposerID) {\n const dFn = debounceFn(fn, options);\n this.sideEffect.addDisposer(() => dFn.cancel(), disposerID);\n return dFn;\n }\n wrapClassName(className) {\n return \"netless-app-docs-viewer-static-\" + className;\n }\n}\nclass DynamicDocsViewer {\n constructor({ context, whiteboardView, box, pages }) {\n this.sideEffect = new o();\n this.onPlayPPT = () => {\n const room = this.context.getRoom();\n if (room) {\n room.pptNextStep();\n }\n };\n this._scaleDocsToFitImpl = () => {\n const page = this.pages[this.getPageIndex()];\n if (page) {\n this.whiteboardView.moveCameraToContain({\n originX: -page.width / 2,\n originY: -page.height / 2,\n width: page.width,\n height: page.height,\n animationMode: \"immediately\"\n });\n }\n };\n this._scaleDocsToFitDebounced = () => {\n this.sideEffect.setTimeout(this._scaleDocsToFitImpl, 1e3, \"_scaleDocsToFitDebounced\");\n };\n this.scaleDocsToFit = () => {\n this._scaleDocsToFitImpl();\n this._scaleDocsToFitDebounced();\n };\n this.onNewPageIndex = (index) => {\n this.jumpToPage(index, true);\n };\n this.context = context;\n this.whiteboardView = whiteboardView;\n this.box = box;\n this.pages = pages;\n this.displayer = context.getDisplayer();\n this.viewer = new DocsViewer({\n readonly: !context.getIsWritable(),\n box,\n pages,\n onNewPageIndex: this.onNewPageIndex,\n onPlay: this.onPlayPPT\n });\n this.render();\n this.sideEffect.add(() => {\n const handler = (isWritable) => {\n this.viewer.setReadonly(!isWritable);\n };\n this.context.emitter.on(\"writableChange\", handler);\n return () => this.context.emitter.off(\"writableChange\", handler);\n });\n this.sideEffect.add(() => {\n const handler = (sceneState) => {\n this.jumpToPage(sceneState.index);\n };\n this.context.emitter.on(\"sceneStateChange\", handler);\n return () => this.context.emitter.off(\"sceneStateChange\", handler);\n });\n }\n mount() {\n this.viewer.mount();\n const pageIndex = this.getPageIndex();\n if (pageIndex !== 0) {\n this.jumpToPage(pageIndex);\n }\n this.scaleDocsToFit();\n this.sideEffect.add(() => {\n this.whiteboardView.callbacks.on(\"onSizeUpdated\", this.scaleDocsToFit);\n return () => {\n this.whiteboardView.callbacks.off(\"onSizeUpdated\", this.scaleDocsToFit);\n };\n });\n return this;\n }\n unmount() {\n this.viewer.unmount();\n return this;\n }\n destroy() {\n this.sideEffect.flushAll();\n this.unmount();\n this.viewer.destroy();\n }\n getPageIndex() {\n return this.displayer.state.sceneState.index;\n }\n jumpToPage(index, reset) {\n var _a, _b;\n index = clamp(index, 0, this.pages.length - 1);\n if (index !== this.getPageIndex()) {\n if (this.context.getIsWritable()) {\n const initScenePath = this.context.getInitScenePath();\n const scene = (_b = (_a = this.context.getScenes()) == null ? void 0 : _a[index]) == null ? void 0 : _b.name;\n if (initScenePath && scene) {\n this.context.setScenePath(`${initScenePath}/${scene}`);\n }\n this.scaleDocsToFit();\n }\n }\n if (index !== this.viewer.pageIndex) {\n this.viewer.setPageIndex(index);\n }\n if (reset) {\n const room = this.context.getRoom();\n if (room) {\n const pptState = room.state.globalState.__pptState;\n room.setGlobalState({\n __pptState: pptState && {\n uuid: pptState.uuid,\n pageIndex: index,\n disableAutoPlay: pptState.disableAutoPlay\n }\n });\n }\n }\n }\n render() {\n this.viewer.$content.appendChild(this.renderMask());\n this.viewer.$content.appendChild(this.renderWhiteboardView());\n this.sideEffect.addEventListener(window, \"keydown\", (ev) => {\n var _a;\n if (this.box.focus) {\n switch (ev.key) {\n case \"ArrowUp\":\n case \"ArrowLeft\": {\n this.jumpToPage(this.getPageIndex() - 1, true);\n break;\n }\n case \"ArrowRight\":\n case \"ArrowDown\": {\n (_a = this.context.getRoom()) == null ? void 0 : _a.pptNextStep();\n break;\n }\n }\n }\n });\n }\n renderMask() {\n if (!this.$mask) {\n const $mask = document.createElement(\"div\");\n $mask.className = this.wrapClassName(\"mask\");\n this.$mask = $mask;\n const $back = document.createElement(\"button\");\n $back.className = this.wrapClassName(\"back\");\n const $next = document.createElement(\"button\");\n $next.className = this.wrapClassName(\"next\");\n }\n return this.$mask;\n }\n renderWhiteboardView() {\n if (!this.$whiteboardView) {\n this.$whiteboardView = document.createElement(\"div\");\n this.$whiteboardView.className = this.wrapClassName(\"wb-view\");\n this.sideEffect.addEventListener(this.$whiteboardView, \"click\", (ev) => {\n var _a;\n const room = this.context.getRoom();\n if (room && room.state.memberState.currentApplianceName === \"clicker\") {\n for (let el = ev.target; el; el = el.parentElement) {\n if ((_a = el.classList) == null ? void 0 : _a.contains(\"ppt-event-source\")) {\n return;\n }\n }\n room.pptNextStep();\n }\n });\n this.context.mountView(this.$whiteboardView);\n }\n return this.$whiteboardView;\n }\n wrapClassName(className) {\n return \"netless-app-docs-viewer-dynamic-\" + className;\n }\n}\nconst kind = \"DocsViewer\";\nconst NetlessAppDocsViewer = {\n kind,\n setup(context) {\n const box = context.getBox();\n const scenes = context.getScenes();\n if (!scenes) {\n throw new Error(\"[Docs Viewer]: scenes not found.\");\n }\n const whiteboardView = context.getView();\n if (!whiteboardView) {\n throw new Error(\"[Docs Viewer]: no whiteboard view.\");\n }\n const pages = scenes.map(({ ppt }) => ppt ? {\n width: ppt.width,\n height: ppt.height,\n src: ppt.src,\n thumbnail: ppt.previewURL\n } : null).filter((page) => Boolean(page));\n if (pages.length <= 0) {\n throw new Error(\"[Docs Viewer]: empty scenes.\");\n }\n box.mountStyles(styles);\n if (pages[0].src.startsWith(\"ppt\")) {\n setupDynamicDocsViewer(context, whiteboardView, box, pages);\n } else {\n setupStaticDocsViewer(context, whiteboardView, box, pages);\n }\n }\n};\nfunction setupStaticDocsViewer(context, whiteboardView, box, pages) {\n var _a;\n whiteboardView.disableCameraTransform = !context.getIsWritable();\n const docsViewer = new StaticDocsViewer({\n whiteboardView,\n readonly: !context.getIsWritable(),\n box,\n pages,\n pageScrollTop: (_a = context.getAttributes()) == null ? void 0 : _a.pageScrollTop,\n mountWhiteboard: context.mountView.bind(context),\n onUserScroll: (pageScrollTop) => {\n var _a2;\n if (((_a2 = context.getAttributes()) == null ? void 0 : _a2.pageScrollTop) !== pageScrollTop && !box.readonly) {\n context.updateAttributes([\"pageScrollTop\"], pageScrollTop);\n }\n }\n }).mount();\n context.emitter.on(\"attributesUpdate\", (attributes) => {\n if (attributes) {\n if (attributes.pageScrollTop != null) {\n docsViewer.syncPageScrollTop(attributes.pageScrollTop);\n }\n }\n });\n context.emitter.on(\"writableChange\", (isWritable) => {\n docsViewer.setReadonly(!isWritable);\n whiteboardView.disableCameraTransform = !isWritable;\n });\n}\nfunction setupDynamicDocsViewer(context, whiteboardView, box, pages) {\n whiteboardView.disableCameraTransform = true;\n const docsViewer = new DynamicDocsViewer({\n context,\n whiteboardView,\n box,\n pages\n }).mount();\n context.mountView(docsViewer.$whiteboardView);\n if (context.isAddApp) {\n whiteboardView.callbacks.once(\"onSizeUpdated\", ({ width: contentWidth, height: contentHeight }) => {\n if (pages.length > 0 && box.state !== \"maximized\") {\n const { width: pageWidth, height: pageHeight } = pages[0];\n const preferHeight = pageHeight / pageWidth * contentWidth;\n const diff = preferHeight - contentHeight;\n if (diff !== 0 && context.getIsWritable()) {\n context.emitter.emit(\"setBoxSize\", {\n width: box.width,\n height: box.height + diff / box.containerRect.height\n });\n }\n }\n });\n }\n}\nexport { NetlessAppDocsViewer as default };\n//# sourceMappingURL=main.es.js.map\n","/** @license React v0.19.1\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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';var f,g,h,k,l;\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var p=null,q=null,t=function(){if(null!==p)try{var a=exports.unstable_now();p(!0,a);p=null}catch(b){throw setTimeout(t,0),b;}},u=Date.now();exports.unstable_now=function(){return Date.now()-u};f=function(a){null!==p?setTimeout(f,0,a):(p=a,setTimeout(t,0))};g=function(a,b){q=setTimeout(a,b)};h=function(){clearTimeout(q)};k=function(){return!1};l=exports.unstable_forceFrameRate=function(){}}else{var w=window.performance,x=window.Date,\ny=window.setTimeout,z=window.clearTimeout;if(\"undefined\"!==typeof console){var A=window.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\");\"function\"!==typeof A&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\")}if(\"object\"===\ntypeof w&&\"function\"===typeof w.now)exports.unstable_now=function(){return w.now()};else{var B=x.now();exports.unstable_now=function(){return x.now()-B}}var C=!1,D=null,E=-1,F=5,G=0;k=function(){return exports.unstable_now()>=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported\"):F=0<a?Math.floor(1E3/a):5};var H=new MessageChannel,I=H.port2;H.port1.onmessage=\nfunction(){if(null!==D){var a=exports.unstable_now();G=a+F;try{D(!0,a)?I.postMessage(null):(C=!1,D=null)}catch(b){throw I.postMessage(null),b;}}else C=!1};f=function(a){D=a;C||(C=!0,I.postMessage(null))};g=function(a,b){E=y(function(){a(exports.unstable_now())},b)};h=function(){z(E);E=-1}}function J(a,b){var c=a.length;a.push(b);a:for(;;){var d=c-1>>>1,e=a[d];if(void 0!==e&&0<K(e,b))a[d]=b,a[c]=e,c=d;else break a}}function L(a){a=a[0];return void 0===a?null:a}\nfunction M(a){var b=a[0];if(void 0!==b){var c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length;d<e;){var m=2*(d+1)-1,n=a[m],v=m+1,r=a[v];if(void 0!==n&&0>K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0<e?d+e:d;c=\"number\"===typeof c.timeout?c.timeout:Y(a)}else c=Y(a),e=d;c=e+c;a={id:P++,callback:b,priorityLevel:a,startTime:e,expirationTime:c,sortIndex:-1};e>d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime<Q.expirationTime||k()};exports.unstable_wrapCallback=function(a){var b=R;return function(){var c=R;R=b;try{return a.apply(this,arguments)}finally{R=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/** @license React v16.14.0\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),n=require(\"object-assign\"),r=require(\"scheduler\");function u(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}if(!aa)throw Error(u(227));\nfunction ba(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var da=!1,ea=null,fa=!1,ha=null,ia={onError:function(a){da=!0;ea=a}};function ja(a,b,c,d,e,f,g,h,k){da=!1;ea=null;ba.apply(ia,arguments)}function ka(a,b,c,d,e,f,g,h,k){ja.apply(this,arguments);if(da){if(da){var l=ea;da=!1;ea=null}else throw Error(u(198));fa||(fa=!0,ha=l)}}var la=null,ma=null,na=null;\nfunction oa(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=na(c);ka(d,b,void 0,a);a.currentTarget=null}var pa=null,qa={};\nfunction ra(){if(pa)for(var a in qa){var b=qa[a],c=pa.indexOf(a);if(!(-1<c))throw Error(u(96,a));if(!sa[c]){if(!b.extractEvents)throw Error(u(97,a));sa[c]=b;c=b.eventTypes;for(var d in c){var e=void 0;var f=c[d],g=b,h=d;if(ta.hasOwnProperty(h))throw Error(u(99,h));ta[h]=f;var k=f.phasedRegistrationNames;if(k){for(e in k)k.hasOwnProperty(e)&&ua(k[e],g,h);e=!0}else f.registrationName?(ua(f.registrationName,g,h),e=!0):e=!1;if(!e)throw Error(u(98,d,a));}}}}\nfunction ua(a,b,c){if(va[a])throw Error(u(100,a));va[a]=b;wa[a]=b.eventTypes[c].dependencies}var sa=[],ta={},va={},wa={};function xa(a){var b=!1,c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];if(!qa.hasOwnProperty(c)||qa[c]!==d){if(qa[c])throw Error(u(102,c));qa[c]=d;b=!0}}b&&ra()}var ya=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),za=null,Aa=null,Ba=null;\nfunction Ca(a){if(a=ma(a)){if(\"function\"!==typeof za)throw Error(u(280));var b=a.stateNode;b&&(b=la(b),za(a.stateNode,a.type,b))}}function Da(a){Aa?Ba?Ba.push(a):Ba=[a]:Aa=a}function Ea(){if(Aa){var a=Aa,b=Ba;Ba=Aa=null;Ca(a);if(b)for(a=0;a<b.length;a++)Ca(b[a])}}function Fa(a,b){return a(b)}function Ga(a,b,c,d,e){return a(b,c,d,e)}function Ha(){}var Ia=Fa,Ja=!1,Ka=!1;function La(){if(null!==Aa||null!==Ba)Ha(),Ea()}\nfunction Ma(a,b,c){if(Ka)return a(b,c);Ka=!0;try{return Ia(a,b,c)}finally{Ka=!1,La()}}var Na=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,Oa=Object.prototype.hasOwnProperty,Pa={},Qa={};\nfunction Ra(a){if(Oa.call(Qa,a))return!0;if(Oa.call(Pa,a))return!1;if(Na.test(a))return Qa[a]=!0;Pa[a]=!0;return!1}function Sa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction Ta(a,b,c,d){if(null===b||\"undefined\"===typeof b||Sa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1]?!1:!0;f||(Ta(b,c,e,d)&&(c=null),d||null===e?Ra(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))}\nvar Ya=/^(.*)[\\\\\\/]/,E=\"function\"===typeof Symbol&&Symbol.for,Za=E?Symbol.for(\"react.element\"):60103,$a=E?Symbol.for(\"react.portal\"):60106,ab=E?Symbol.for(\"react.fragment\"):60107,bb=E?Symbol.for(\"react.strict_mode\"):60108,cb=E?Symbol.for(\"react.profiler\"):60114,db=E?Symbol.for(\"react.provider\"):60109,eb=E?Symbol.for(\"react.context\"):60110,fb=E?Symbol.for(\"react.concurrent_mode\"):60111,gb=E?Symbol.for(\"react.forward_ref\"):60112,hb=E?Symbol.for(\"react.suspense\"):60113,ib=E?Symbol.for(\"react.suspense_list\"):\n60120,jb=E?Symbol.for(\"react.memo\"):60115,kb=E?Symbol.for(\"react.lazy\"):60116,lb=E?Symbol.for(\"react.block\"):60121,mb=\"function\"===typeof Symbol&&Symbol.iterator;function nb(a){if(null===a||\"object\"!==typeof a)return null;a=mb&&a[mb]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function ob(a){if(-1===a._status){a._status=0;var b=a._ctor;b=b();a._result=b;b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b)},function(b){0===a._status&&(a._status=2,a._result=b)})}}\nfunction pb(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ab:return\"Fragment\";case $a:return\"Portal\";case cb:return\"Profiler\";case bb:return\"StrictMode\";case hb:return\"Suspense\";case ib:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case eb:return\"Context.Consumer\";case db:return\"Context.Provider\";case gb:var b=a.render;b=b.displayName||b.name||\"\";return a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\n\"ForwardRef\");case jb:return pb(a.type);case lb:return pb(a.render);case kb:if(a=1===a._status?a._result:null)return pb(a)}return null}function qb(a){var b=\"\";do{a:switch(a.tag){case 3:case 4:case 6:case 7:case 10:case 9:var c=\"\";break a;default:var d=a._debugOwner,e=a._debugSource,f=pb(a.type);c=null;d&&(c=pb(d.type));d=f;f=\"\";e?f=\" (at \"+e.fileName.replace(Ya,\"\")+\":\"+e.lineNumber+\")\":c&&(f=\" (created by \"+c+\")\");c=\"\\n in \"+(d||\"Unknown\")+f}b+=c;a=a.return}while(a);return b}\nfunction rb(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function sb(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction tb(a){var b=sb(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function xb(a){a._valueTracker||(a._valueTracker=tb(a))}function yb(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=sb(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function zb(a,b){var c=b.checked;return n({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}\nfunction Ab(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=rb(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function Bb(a,b){b=b.checked;null!=b&&Xa(a,\"checked\",b,!1)}\nfunction Cb(a,b){Bb(a,b);var c=rb(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?Db(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&Db(a,b.type,rb(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction Eb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction Db(a,b,c){if(\"number\"!==b||a.ownerDocument.activeElement!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function Fb(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function Gb(a,b){a=n({children:void 0},b);if(b=Fb(b.children))a.children=b;return a}\nfunction Hb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+rb(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction Ib(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(u(91));return n({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function Jb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(u(92));if(Array.isArray(c)){if(!(1>=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;d<b.length&&!a.isPropagationStopped();d++)oa(a,b[d],c[d]);else b&&oa(a,b,c);a._dispatchListeners=null;a._dispatchInstances=null;a.isPersistent()||a.constructor.release(a)}}function mc(a){null!==a&&(kc=ic(kc,a));a=kc;kc=null;if(a){jc(a,lc);if(kc)throw Error(u(95));if(fa)throw a=ha,fa=!1,ha=null,a;}}\nfunction nc(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}function oc(a){if(!ya)return!1;a=\"on\"+a;var b=a in document;b||(b=document.createElement(\"div\"),b.setAttribute(a,\"return;\"),b=\"function\"===typeof b[a]);return b}var pc=[];function qc(a){a.topLevelType=null;a.nativeEvent=null;a.targetInst=null;a.ancestors.length=0;10>pc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c<a.ancestors.length;c++){b=a.ancestors[c];var e=nc(a.nativeEvent);d=a.topLevelType;var f=a.nativeEvent,g=a.eventSystemFlags;0===c&&(g|=64);for(var h=null,k=0;k<sa.length;k++){var l=sa[k];l&&(l=l.extractEvents(d,b,f,e,g))&&(h=\nic(h,l))}mc(h)}}function uc(a,b,c){if(!c.has(a)){switch(a){case \"scroll\":vc(b,\"scroll\",!0);break;case \"focus\":case \"blur\":vc(b,\"focus\",!0);vc(b,\"blur\",!0);c.set(\"blur\",null);c.set(\"focus\",null);break;case \"cancel\":case \"close\":oc(a)&&vc(b,a,!0);break;case \"invalid\":case \"submit\":case \"reset\":break;default:-1===ac.indexOf(a)&&F(a,b)}c.set(a,null)}}\nvar wc,xc,yc,zc=!1,Ac=[],Bc=null,Cc=null,Dc=null,Ec=new Map,Fc=new Map,Gc=[],Hc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit\".split(\" \"),Ic=\"focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture\".split(\" \");\nfunction Jc(a,b){var c=cc(b);Hc.forEach(function(a){uc(a,b,c)});Ic.forEach(function(a){uc(a,b,c)})}function Kc(a,b,c,d,e){return{blockedOn:a,topLevelType:b,eventSystemFlags:c|32,nativeEvent:e,container:d}}\nfunction Lc(a,b){switch(a){case \"focus\":case \"blur\":Bc=null;break;case \"dragenter\":case \"dragleave\":Cc=null;break;case \"mouseover\":case \"mouseout\":Dc=null;break;case \"pointerover\":case \"pointerout\":Ec.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Fc.delete(b.pointerId)}}function Mc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a=Kc(b,c,d,e,f),null!==b&&(b=Nc(b),null!==b&&xc(b)),a;a.eventSystemFlags|=d;return a}\nfunction Oc(a,b,c,d,e){switch(b){case \"focus\":return Bc=Mc(Bc,a,b,c,d,e),!0;case \"dragenter\":return Cc=Mc(Cc,a,b,c,d,e),!0;case \"mouseover\":return Dc=Mc(Dc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Ec.set(f,Mc(Ec.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Fc.set(f,Mc(Fc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Pc(a){var b=tc(a.target);if(null!==b){var c=dc(b);if(null!==c)if(b=c.tag,13===b){if(b=ec(c),null!==b){a.blockedOn=b;r.unstable_runWithPriority(a.priority,function(){yc(c)});return}}else if(3===b&&c.stateNode.hydrate){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}function Qc(a){if(null!==a.blockedOn)return!1;var b=Rc(a.topLevelType,a.eventSystemFlags,a.container,a.nativeEvent);if(null!==b){var c=Nc(b);null!==c&&xc(c);a.blockedOn=b;return!1}return!0}\nfunction Sc(a,b,c){Qc(a)&&c.delete(b)}function Tc(){for(zc=!1;0<Ac.length;){var a=Ac[0];if(null!==a.blockedOn){a=Nc(a.blockedOn);null!==a&&wc(a);break}var b=Rc(a.topLevelType,a.eventSystemFlags,a.container,a.nativeEvent);null!==b?a.blockedOn=b:Ac.shift()}null!==Bc&&Qc(Bc)&&(Bc=null);null!==Cc&&Qc(Cc)&&(Cc=null);null!==Dc&&Qc(Dc)&&(Dc=null);Ec.forEach(Sc);Fc.forEach(Sc)}function Uc(a,b){a.blockedOn===b&&(a.blockedOn=null,zc||(zc=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,Tc)))}\nfunction Vc(a){function b(b){return Uc(b,a)}if(0<Ac.length){Uc(Ac[0],a);for(var c=1;c<Ac.length;c++){var d=Ac[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Bc&&Uc(Bc,a);null!==Cc&&Uc(Cc,a);null!==Dc&&Uc(Dc,a);Ec.forEach(b);Fc.forEach(b);for(c=0;c<Gc.length;c++)d=Gc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Gc.length&&(c=Gc[0],null===c.blockedOn);)Pc(c),null===c.blockedOn&&Gc.shift()}\nvar Wc={},Yc=new Map,Zc=new Map,$c=[\"abort\",\"abort\",Xb,\"animationEnd\",Yb,\"animationIteration\",Zb,\"animationStart\",\"canplay\",\"canPlay\",\"canplaythrough\",\"canPlayThrough\",\"durationchange\",\"durationChange\",\"emptied\",\"emptied\",\"encrypted\",\"encrypted\",\"ended\",\"ended\",\"error\",\"error\",\"gotpointercapture\",\"gotPointerCapture\",\"load\",\"load\",\"loadeddata\",\"loadedData\",\"loadedmetadata\",\"loadedMetadata\",\"loadstart\",\"loadStart\",\"lostpointercapture\",\"lostPointerCapture\",\"playing\",\"playing\",\"progress\",\"progress\",\"seeking\",\n\"seeking\",\"stalled\",\"stalled\",\"suspend\",\"suspend\",\"timeupdate\",\"timeUpdate\",$b,\"transitionEnd\",\"waiting\",\"waiting\"];function ad(a,b){for(var c=0;c<a.length;c+=2){var d=a[c],e=a[c+1],f=\"on\"+(e[0].toUpperCase()+e.slice(1));f={phasedRegistrationNames:{bubbled:f,captured:f+\"Capture\"},dependencies:[d],eventPriority:b};Zc.set(d,b);Yc.set(d,f);Wc[e]=f}}\nad(\"blur blur cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focus focus input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange\".split(\" \"),0);\nad(\"drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel\".split(\" \"),1);ad($c,2);for(var bd=\"change selectionchange textInput compositionstart compositionend compositionupdate\".split(\" \"),cd=0;cd<bd.length;cd++)Zc.set(bd[cd],0);\nvar dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function F(a,b){vc(b,a,!1)}function vc(a,b,c){var d=Zc.get(b);switch(void 0===d?2:d){case 0:d=gd.bind(null,b,1,a);break;case 1:d=hd.bind(null,b,1,a);break;default:d=id.bind(null,b,1,a)}c?a.addEventListener(b,d,!0):a.addEventListener(b,d,!1)}function gd(a,b,c,d){Ja||Ha();var e=id,f=Ja;Ja=!0;try{Ga(e,a,b,c,d)}finally{(Ja=f)||La()}}function hd(a,b,c,d){ed(dd,id.bind(null,a,b,c,d))}\nfunction id(a,b,c,d){if(fd)if(0<Ac.length&&-1<Hc.indexOf(a))a=Kc(null,a,b,c,d),Ac.push(a);else{var e=Rc(a,b,c,d);if(null===e)Lc(a,d);else if(-1<Hc.indexOf(a))a=Kc(e,a,b,c,d),Ac.push(a);else if(!Oc(e,a,b,c,d)){Lc(a,d);a=rc(a,d,null,b);try{Ma(sc,a)}finally{qc(a)}}}}\nfunction Rc(a,b,c,d){c=nc(d);c=tc(c);if(null!==c){var e=dc(c);if(null===e)c=null;else{var f=e.tag;if(13===f){c=ec(e);if(null!==c)return c;c=null}else if(3===f){if(e.stateNode.hydrate)return 3===e.tag?e.stateNode.containerInfo:null;c=null}else e!==c&&(c=null)}}a=rc(a,d,c,b);try{Ma(sc,a)}finally{qc(a)}return null}\nvar jd={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},kd=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(jd).forEach(function(a){kd.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);jd[b]=jd[a]})});function ld(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||jd.hasOwnProperty(a)&&jd[a]?(\"\"+b).trim():b+\"px\"}\nfunction md(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=ld(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var nd=n({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction od(a,b){if(b){if(nd[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(u(137,a,\"\"));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(u(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(u(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(u(62,\"\"));}}\nfunction pd(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var qd=Mb.html;function rd(a,b){a=9===a.nodeType||11===a.nodeType?a:a.ownerDocument;var c=cc(a);b=wa[b];for(var d=0;d<b.length;d++)uc(b[d],a,c)}function sd(){}\nfunction td(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}function ud(a){for(;a&&a.firstChild;)a=a.firstChild;return a}function vd(a,b){var c=ud(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=td(a.document)}return b}\nfunction yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0<b--;)Td(c[b],\"captured\",a);for(b=0;b<c.length;b++)Td(c[b],\"bubbled\",a)}}\nfunction Vd(a,b,c){a&&c&&c.dispatchConfig.registrationName&&(b=Sd(a,c.dispatchConfig.registrationName))&&(c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a))}function Wd(a){a&&a.dispatchConfig.registrationName&&Vd(a._targetInst,null,a)}function Xd(a){jc(a,Ud)}var Yd=null,Zd=null,$d=null;\nfunction ae(){if($d)return $d;var a,b=Zd,c=b.length,d,e=\"value\"in Yd?Yd.value:Yd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return $d=e.slice(a,1<d?1-d:void 0)}function be(){return!0}function ce(){return!1}\nfunction G(a,b,c,d){this.dispatchConfig=a;this._targetInst=b;this.nativeEvent=c;a=this.constructor.Interface;for(var e in a)a.hasOwnProperty(e)&&((b=a[e])?this[e]=b(c):\"target\"===e?this.target=d:this[e]=c[e]);this.isDefaultPrevented=(null!=c.defaultPrevented?c.defaultPrevented:!1===c.returnValue)?be:ce;this.isPropagationStopped=ce;return this}\nn(G.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&(a.returnValue=!1),this.isDefaultPrevented=be)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=be)},persist:function(){this.isPersistent=be},isPersistent:ce,destructor:function(){var a=this.constructor.Interface,\nb;for(b in a)this[b]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null;this.isPropagationStopped=this.isDefaultPrevented=ce;this._dispatchInstances=this._dispatchListeners=null}});G.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};\nG.extend=function(a){function b(){}function c(){return d.apply(this,arguments)}var d=this;b.prototype=d.prototype;var e=new b;n(e,c.prototype);c.prototype=e;c.prototype.constructor=c;c.Interface=n({},d.Interface,a);c.extend=d.extend;de(c);return c};de(G);function ee(a,b,c,d){if(this.eventPool.length){var e=this.eventPool.pop();this.call(e,a,b,c,d);return e}return new this(a,b,c,d)}\nfunction fe(a){if(!(a instanceof this))throw Error(u(279));a.destructor();10>this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8<ke&&11>=ke),ne=String.fromCharCode(32),oe={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return me&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar ve={eventTypes:oe,extractEvents:function(a,b,c,d){var e;if(je)b:{switch(a){case \"compositionstart\":var f=oe.compositionStart;break b;case \"compositionend\":f=oe.compositionEnd;break b;case \"compositionupdate\":f=oe.compositionUpdate;break b}f=void 0}else se?qe(a,c)&&(f=oe.compositionEnd):\"keydown\"===a&&229===c.keyCode&&(f=oe.compositionStart);f?(me&&\"ko\"!==c.locale&&(se||f!==oe.compositionStart?f===oe.compositionEnd&&se&&(e=ae()):(Yd=d,Zd=\"value\"in Yd?Yd.value:Yd.textContent,se=!0)),f=ge.getPooled(f,\nb,c,d),e?f.data=e:(e=re(c),null!==e&&(f.data=e)),Xd(f),e=f):e=null;(a=le?te(a,c):ue(a,c))?(b=he.getPooled(oe.beforeInput,b,c,d),b.data=a,Xd(b)):b=null;return null===e?b:null===b?e:[e,b]}},we={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function xe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!we[a.type]:\"textarea\"===b?!0:!1}\nvar ye={change:{phasedRegistrationNames:{bubbled:\"onChange\",captured:\"onChangeCapture\"},dependencies:\"blur change click focus input keydown keyup selectionchange\".split(\" \")}};function ze(a,b,c){a=G.getPooled(ye.change,a,b,c);a.type=\"change\";Da(c);Xd(a);return a}var Ae=null,Be=null;function Ce(a){mc(a)}function De(a){var b=Pd(a);if(yb(b))return a}function Ee(a,b){if(\"change\"===a)return b}var Fe=!1;ya&&(Fe=oc(\"input\")&&(!document.documentMode||9<document.documentMode));\nfunction Ge(){Ae&&(Ae.detachEvent(\"onpropertychange\",He),Be=Ae=null)}function He(a){if(\"value\"===a.propertyName&&De(Be))if(a=ze(Be,a,nc(a)),Ja)mc(a);else{Ja=!0;try{Fa(Ce,a)}finally{Ja=!1,La()}}}function Ie(a,b,c){\"focus\"===a?(Ge(),Ae=b,Be=c,Ae.attachEvent(\"onpropertychange\",He)):\"blur\"===a&&Ge()}function Je(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return De(Be)}function Ke(a,b){if(\"click\"===a)return De(b)}function Le(a,b){if(\"input\"===a||\"change\"===a)return De(b)}\nvar Me={eventTypes:ye,_isInputEventSupported:Fe,extractEvents:function(a,b,c,d){var e=b?Pd(b):window,f=e.nodeName&&e.nodeName.toLowerCase();if(\"select\"===f||\"input\"===f&&\"file\"===e.type)var g=Ee;else if(xe(e))if(Fe)g=Le;else{g=Je;var h=Ie}else(f=e.nodeName)&&\"input\"===f.toLowerCase()&&(\"checkbox\"===e.type||\"radio\"===e.type)&&(g=Ke);if(g&&(g=g(a,b)))return ze(g,c,d);h&&h(a,e,b);\"blur\"===a&&(a=e._wrapperState)&&a.controlled&&\"number\"===e.type&&Db(e,\"number\",e.value)}},Ne=G.extend({view:null,detail:null}),\nOe={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pe(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Oe[a])?!!b[a]:!1}function Qe(){return Pe}\nvar Re=0,Se=0,Te=!1,Ue=!1,Ve=Ne.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:Qe,button:null,buttons:null,relatedTarget:function(a){return a.relatedTarget||(a.fromElement===a.srcElement?a.toElement:a.fromElement)},movementX:function(a){if(\"movementX\"in a)return a.movementX;var b=Re;Re=a.screenX;return Te?\"mousemove\"===a.type?a.screenX-b:0:(Te=!0,0)},movementY:function(a){if(\"movementY\"in a)return a.movementY;\nvar b=Se;Se=a.screenY;return Ue?\"mousemove\"===a.type?a.screenY-b:0:(Ue=!0,0)}}),We=Ve.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),Xe={mouseEnter:{registrationName:\"onMouseEnter\",dependencies:[\"mouseout\",\"mouseover\"]},mouseLeave:{registrationName:\"onMouseLeave\",dependencies:[\"mouseout\",\"mouseover\"]},pointerEnter:{registrationName:\"onPointerEnter\",dependencies:[\"pointerout\",\"pointerover\"]},pointerLeave:{registrationName:\"onPointerLeave\",\ndependencies:[\"pointerout\",\"pointerover\"]}},Ye={eventTypes:Xe,extractEvents:function(a,b,c,d,e){var f=\"mouseover\"===a||\"pointerover\"===a,g=\"mouseout\"===a||\"pointerout\"===a;if(f&&0===(e&32)&&(c.relatedTarget||c.fromElement)||!g&&!f)return null;f=d.window===d?d:(f=d.ownerDocument)?f.defaultView||f.parentWindow:window;if(g){if(g=b,b=(b=c.relatedTarget||c.toElement)?tc(b):null,null!==b){var h=dc(b);if(b!==h||5!==b.tag&&6!==b.tag)b=null}}else g=null;if(g===b)return null;if(\"mouseout\"===a||\"mouseover\"===\na){var k=Ve;var l=Xe.mouseLeave;var m=Xe.mouseEnter;var p=\"mouse\"}else if(\"pointerout\"===a||\"pointerover\"===a)k=We,l=Xe.pointerLeave,m=Xe.pointerEnter,p=\"pointer\";a=null==g?f:Pd(g);f=null==b?f:Pd(b);l=k.getPooled(l,g,c,d);l.type=p+\"leave\";l.target=a;l.relatedTarget=f;c=k.getPooled(m,b,c,d);c.type=p+\"enter\";c.target=f;c.relatedTarget=a;d=g;p=b;if(d&&p)a:{k=d;m=p;g=0;for(a=k;a;a=Rd(a))g++;a=0;for(b=m;b;b=Rd(b))a++;for(;0<g-a;)k=Rd(k),g--;for(;0<a-g;)m=Rd(m),a--;for(;g--;){if(k===m||k===m.alternate)break a;\nk=Rd(k);m=Rd(m)}k=null}else k=null;m=k;for(k=[];d&&d!==m;){g=d.alternate;if(null!==g&&g===m)break;k.push(d);d=Rd(d)}for(d=[];p&&p!==m;){g=p.alternate;if(null!==g&&g===m)break;d.push(p);p=Rd(p)}for(p=0;p<k.length;p++)Vd(k[p],\"bubbled\",l);for(p=d.length;0<p--;)Vd(d[p],\"captured\",c);return 0===(e&64)?[l]:[l,c]}};function Ze(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var $e=\"function\"===typeof Object.is?Object.is:Ze,af=Object.prototype.hasOwnProperty;\nfunction bf(a,b){if($e(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++)if(!af.call(b,c[d])||!$e(a[c[d]],b[c[d]]))return!1;return!0}\nvar cf=ya&&\"documentMode\"in document&&11>=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;g<f.length;g++)if(!e.has(f[g])){e=!1;break a}e=!0}f=!e}if(f)return null;e=b?Pd(b):window;switch(a){case \"focus\":if(xe(e)||\"true\"===e.contentEditable)ef=e,ff=b,gf=null;break;case \"blur\":gf=ff=ef=null;break;case \"mousedown\":hf=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":return hf=!1,jf(c,d);case \"selectionchange\":if(cf)break;\ncase \"keydown\":case \"keyup\":return jf(c,d)}return null}},lf=G.extend({animationName:null,elapsedTime:null,pseudoElement:null}),mf=G.extend({clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),nf=Ne.extend({relatedTarget:null});function of(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}\nvar pf={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},qf={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",\n116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},rf=Ne.extend({key:function(a){if(a.key){var b=pf[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=of(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?qf[a.keyCode]||\"Unidentified\":\"\"},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:Qe,charCode:function(a){return\"keypress\"===\na.type?of(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===a.type?of(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),sf=Ve.extend({dataTransfer:null}),tf=Ne.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:Qe}),uf=G.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),vf=Ve.extend({deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in\na?-a.wheelDeltaX:0},deltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:null,deltaMode:null}),wf={eventTypes:Wc,extractEvents:function(a,b,c,d){var e=Yc.get(a);if(!e)return null;switch(a){case \"keypress\":if(0===of(c))return null;case \"keydown\":case \"keyup\":a=rf;break;case \"blur\":case \"focus\":a=nf;break;case \"click\":if(2===c.button)return null;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":a=\nVe;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":a=sf;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":a=tf;break;case Xb:case Yb:case Zb:a=lf;break;case $b:a=uf;break;case \"scroll\":a=Ne;break;case \"wheel\":a=vf;break;case \"copy\":case \"cut\":case \"paste\":a=mf;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":a=\nWe;break;default:a=G}b=a.getPooled(e,b,c,d);Xd(b);return b}};if(pa)throw Error(u(101));pa=Array.prototype.slice.call(\"ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin\".split(\" \"));ra();var xf=Nc;la=Qd;ma=xf;na=Pd;xa({SimpleEventPlugin:wf,EnterLeaveEventPlugin:Ye,ChangeEventPlugin:Me,SelectEventPlugin:kf,BeforeInputEventPlugin:ve});var yf=[],zf=-1;function H(a){0>zf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a<b.length;a++){var c=b[a];do c=c(!0);while(null!==c)}});Wf=null}catch(c){throw null!==Wf&&(Wf=Wf.slice(a+1)),Jf(Of,gg),c;}finally{Yf=!1}}}function hg(a,b,c){c/=10;return 1073741821-(((1073741821-a+b/10)/c|0)+1)*c}function ig(a,b){if(a&&a.defaultProps){b=n({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c])}return b}var jg={current:null},kg=null,lg=null,mg=null;function ng(){mg=lg=kg=null}\nfunction og(a){var b=jg.current;H(jg);a.type._context._currentValue=b}function pg(a,b){for(;null!==a;){var c=a.alternate;if(a.childExpirationTime<b)a.childExpirationTime=b,null!==c&&c.childExpirationTime<b&&(c.childExpirationTime=b);else if(null!==c&&c.childExpirationTime<b)c.childExpirationTime=b;else break;a=a.return}}function qg(a,b){kg=a;mg=lg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(a.expirationTime>=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(g<d){var ca={expirationTime:z.expirationTime,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null};null===x?(p=x=\nca,m=k):x=x.next=ca;g>l&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=e;e=c;if(\"function\"!==typeof d)throw Error(u(191,d));d.call(e)}}}var Dg=Wa.ReactCurrentBatchConfig,Eg=(new aa.Component).refs;function Fg(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:n({},b,c);a.memoizedState=c;0===a.expirationTime&&(a.updateQueue.baseState=c)}\nvar Jg={isMounted:function(a){return(a=a._reactInternalFiber)?dc(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternalFiber;var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e=wg(d,e);e.payload=b;void 0!==c&&null!==c&&(e.callback=c);xg(a,e);Ig(a,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternalFiber;var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e=wg(d,e);e.tag=1;e.payload=b;void 0!==c&&null!==c&&(e.callback=c);xg(a,e);Ig(a,d)},enqueueForceUpdate:function(a,b){a=a._reactInternalFiber;var c=Gg(),d=Dg.suspense;\nc=Hg(c,a,d);d=wg(c,d);d.tag=2;void 0!==b&&null!==b&&(d.callback=b);xg(a,d);Ig(a,c)}};function Kg(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!bf(c,d)||!bf(e,f):!0}\nfunction Lg(a,b,c){var d=!1,e=Af;var f=b.contextType;\"object\"===typeof f&&null!==f?f=sg(f):(e=L(b)?Bf:J.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Cf(a,e):Af);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Jg;a.stateNode=b;b._reactInternalFiber=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Mg(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Jg.enqueueReplaceState(b,b.state,null)}\nfunction Ng(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=Eg;ug(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=sg(f):(f=L(b)?Bf:J.current,e.context=Cf(a,f));zg(a,c,e,d);e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Fg(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||\n(b=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Jg.enqueueReplaceState(e,e.state,null),zg(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.effectTag|=4)}var Og=Array.isArray;\nfunction Pg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(u(309));var d=c.stateNode}if(!d)throw Error(u(147,a));var e=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs;b===Eg&&(b=d.refs={});null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}if(\"string\"!==typeof a)throw Error(u(284));if(!c._owner)throw Error(u(290,a));}return a}\nfunction Qg(a,b){if(\"textarea\"!==a.type)throw Error(u(31,\"[object Object]\"===Object.prototype.toString.call(b)?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":b,\"\"));}\nfunction Rg(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.effectTag=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Sg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.effectTag=\n2,c):d;b.effectTag=2;return c}function g(b){a&&null===b.alternate&&(b.effectTag=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Tg(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){if(null!==b&&b.elementType===c.type)return d=e(b,c.props),d.ref=Pg(a,b,c),d.return=a,d;d=Ug(c.type,c.key,c.props,null,a.mode,d);d.ref=Pg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==\nc.implementation)return b=Vg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Wg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function p(a,b,c){if(\"string\"===typeof b||\"number\"===typeof b)return b=Tg(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case Za:return c=Ug(b.type,b.key,b.props,null,a.mode,c),c.ref=Pg(a,null,b),c.return=a,c;case $a:return b=Vg(b,a.mode,c),b.return=a,b}if(Og(b)||\nnb(b))return b=Wg(b,a.mode,c,null),b.return=a,b;Qg(a,b)}return null}function x(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case Za:return c.key===e?c.type===ab?m(a,b,c.props.children,d,e):k(a,b,c,d):null;case $a:return c.key===e?l(a,b,c,d):null}if(Og(c)||nb(c))return null!==e?null:m(a,b,c,d,null);Qg(a,c)}return null}function z(a,b,c,d,e){if(\"string\"===typeof d||\"number\"===typeof d)return a=\na.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case Za:return a=a.get(null===d.key?c:d.key)||null,d.type===ab?m(b,a,d.props.children,e,d.key):k(b,a,d,e);case $a:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e)}if(Og(d)||nb(d))return a=a.get(c)||null,m(b,a,d,e,null);Qg(b,d)}return null}function ca(e,g,h,k){for(var l=null,t=null,m=g,y=g=0,A=null;null!==m&&y<h.length;y++){m.index>y?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;y<h.length;y++)m=p(e,h[y],k),null!==m&&(g=f(m,g,y),null===t?l=m:t.sibling=m,t=m);return l}for(m=d(e,m);y<h.length;y++)A=z(m,e,y,h[y],k),null!==A&&(a&&null!==A.alternate&&m.delete(null===A.key?y:A.key),g=f(A,g,y),null===t?l=A:t.sibling=A,t=A);a&&m.forEach(function(a){return b(e,a)});return l}function D(e,g,h,l){var k=nb(h);if(\"function\"!==typeof k)throw Error(u(150));h=k.call(h);\nif(null==h)throw Error(u(151));for(var m=k=null,t=g,y=g=0,A=null,q=h.next();null!==t&&!q.done;y++,q=h.next()){t.index>y?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!$e(a[c],b[c]))return!1;return!0}\nfunction oh(a,b,c,d,e,f){lh=f;N=b;b.memoizedState=null;b.updateQueue=null;b.expirationTime=0;jh.current=null===a||null===a.memoizedState?ph:qh;a=c(d,e);if(b.expirationTime===lh){f=0;do{b.expirationTime=0;if(!(25>f))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function uh(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(u(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(l<lh){var m={expirationTime:k.expirationTime,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null};null===h?(g=h=m,f=d):h=h.next=m;l>N.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97<d?97:d,function(){var d=kh.suspense;kh.suspense=void 0===b?null:b;try{a(!1),c()}finally{kh.suspense=d}})}\nfunction zh(a,b,c){var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e={expirationTime:d,suspenseConfig:e,action:c,eagerReducer:null,eagerState:null,next:null};var f=b.pending;null===f?e.next=e:(e.next=f.next,f.next=e);b.pending=e;f=a.alternate;if(a===N||null!==f&&f===N)mh=!0,e.expirationTime=lh,N.expirationTime=lh;else{if(0===a.expirationTime&&(null===f||0===f.expirationTime)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.eagerReducer=f;e.eagerState=h;if($e(h,g))return}catch(k){}finally{}Ig(a,\nd)}}\nvar sh={readContext:sg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useResponder:Q,useDeferredValue:Q,useTransition:Q},ph={readContext:sg,useCallback:Kh,useContext:sg,useEffect:Eh,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Ch(4,2,Hh.bind(null,b,a),c)},useLayoutEffect:function(a,b){return Ch(4,2,a,b)},useMemo:function(a,b){var c=th();b=void 0===b?null:b;a=a();c.memoizedState=[a,\nb];return a},useReducer:function(a,b,c){var d=th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={pending:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=zh.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=th();a={current:a};return b.memoizedState=a},useState:yh,useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=yh(a),d=c[0],e=c[1];Eh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=\nc}},[a,b]);return d},useTransition:function(a){var b=yh(!1),c=b[0];b=b[1];return[Kh(Nh.bind(null,b,a),[b,a]),c]}},qh={readContext:sg,useCallback:Lh,useContext:sg,useEffect:Fh,useImperativeHandle:Ih,useLayoutEffect:Gh,useMemo:Mh,useReducer:wh,useRef:Bh,useState:function(){return wh(vh)},useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=wh(vh),d=c[0],e=c[1];Fh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=c}},[a,b]);return d},useTransition:function(a){var b=\nwh(vh),c=b[0];b=b[1];return[Lh(Nh.bind(null,b,a),[b,a]),c]}},rh={readContext:sg,useCallback:Lh,useContext:sg,useEffect:Fh,useImperativeHandle:Ih,useLayoutEffect:Gh,useMemo:Mh,useReducer:xh,useRef:Bh,useState:function(){return xh(vh)},useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=xh(vh),d=c[0],e=c[1];Fh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=c}},[a,b]);return d},useTransition:function(a){var b=xh(vh),c=b[0];b=b[1];return[Lh(Nh.bind(null,\nb,a),[b,a]),c]}},Oh=null,Ph=null,Qh=!1;function Rh(a,b){var c=Sh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}\nfunction Th(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction Uh(a){if(Qh){var b=Ph;if(b){var c=b;if(!Th(a,b)){b=Jd(c.nextSibling);if(!b||!Th(a,b)){a.effectTag=a.effectTag&-1025|2;Qh=!1;Oh=a;return}Rh(Oh,c)}Oh=a;Ph=Jd(b.firstChild)}else a.effectTag=a.effectTag&-1025|2,Qh=!1,Oh=a}}function Vh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;Oh=a}\nfunction Wh(a){if(a!==Oh)return!1;if(!Qh)return Vh(a),Qh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!Gd(b,a.memoizedProps))for(b=Ph;b;)Rh(a,b),b=Jd(b.nextSibling);Vh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(u(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(c===Ad){if(0===b){Ph=Jd(a.nextSibling);break a}b--}else c!==zd&&c!==Cd&&c!==Bd||b++}a=a.nextSibling}Ph=null}}else Ph=Oh?Jd(a.stateNode.nextSibling):null;return!0}\nfunction Xh(){Ph=Oh=null;Qh=!1}var Yh=Wa.ReactCurrentOwner,rg=!1;function R(a,b,c,d){b.child=null===a?Yg(b,null,c,d):Xg(b,a.child,c,d)}function Zh(a,b,c,d,e){c=c.render;var f=b.ref;qg(b,e);d=oh(a,b,c,d,f,e);if(null!==a&&!rg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),$h(a,b,e);b.effectTag|=1;R(a,b,d,e);return b.child}\nfunction ai(a,b,c,d,e,f){if(null===a){var g=c.type;if(\"function\"===typeof g&&!bi(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,ci(a,b,g,d,e,f);a=Ug(c.type,null,d,null,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(e<f&&(e=g.memoizedProps,c=c.compare,c=null!==c?c:bf,c(e,d)&&a.ref===b.ref))return $h(a,b,f);b.effectTag|=1;a=Sg(g,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction ci(a,b,c,d,e,f){return null!==a&&bf(a.memoizedProps,d)&&a.ref===b.ref&&(rg=!1,e<f)?(b.expirationTime=a.expirationTime,$h(a,b,f)):di(a,b,c,d,f)}function ei(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.effectTag|=128}function di(a,b,c,d,e){var f=L(c)?Bf:J.current;f=Cf(b,f);qg(b,e);c=oh(a,b,c,d,f,e);if(null!==a&&!rg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),$h(a,b,e);b.effectTag|=1;R(a,b,c,e);return b.child}\nfunction fi(a,b,c,d,e){if(L(c)){var f=!0;Gf(b)}else f=!1;qg(b,e);if(null===b.stateNode)null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),Lg(b,c,d),Ng(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=sg(l):(l=L(c)?Bf:J.current,l=Cf(b,l));var m=c.getDerivedStateFromProps,p=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;p||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\n\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Mg(b,g,d,l);tg=!1;var x=b.memoizedState;g.state=x;zg(b,d,g,e);k=b.memoizedState;h!==d||x!==k||K.current||tg?(\"function\"===typeof m&&(Fg(b,c,m,d),k=b.memoizedState),(h=tg||Kg(b,c,h,d,x,k,l))?(p||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===\ntypeof g.componentDidMount&&(b.effectTag|=4)):(\"function\"===typeof g.componentDidMount&&(b.effectTag|=4),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.effectTag|=4),d=!1)}else g=b.stateNode,vg(a,b),h=b.memoizedProps,g.props=b.type===b.elementType?h:ig(b.type,h),k=g.context,l=c.contextType,\"object\"===typeof l&&null!==l?l=sg(l):(l=L(c)?Bf:J.current,l=Cf(b,l)),m=c.getDerivedStateFromProps,(p=\"function\"===typeof m||\"function\"===\ntypeof g.getSnapshotBeforeUpdate)||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Mg(b,g,d,l),tg=!1,k=b.memoizedState,g.state=k,zg(b,d,g,e),x=b.memoizedState,h!==d||k!==x||K.current||tg?(\"function\"===typeof m&&(Fg(b,c,m,d),x=b.memoizedState),(m=tg||Kg(b,c,h,d,k,x,l))?(p||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,\nx,l),\"function\"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,x,l)),\"function\"===typeof g.componentDidUpdate&&(b.effectTag|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.effectTag|=256)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=256),b.memoizedProps=d,b.memoizedState=x),g.props=d,g.state=x,g.context=l,d=m):\n(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=256),d=!1);return gi(a,b,c,d,f,e)}\nfunction gi(a,b,c,d,e,f){ei(a,b);var g=0!==(b.effectTag&64);if(!d&&!g)return e&&Hf(b,c,!1),$h(a,b,f);d=b.stateNode;Yh.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.effectTag|=1;null!==a&&g?(b.child=Xg(b,a.child,null,f),b.child=Xg(b,null,h,f)):R(a,b,h,f);b.memoizedState=d.state;e&&Hf(b,c,!0);return b.child}function hi(a){var b=a.stateNode;b.pendingContext?Ef(a,b.pendingContext,b.pendingContext!==b.context):b.context&&Ef(a,b.context,!1);dh(a,b.containerInfo)}\nvar ii={dehydrated:null,retryTime:0};\nfunction ji(a,b,c){var d=b.mode,e=b.pendingProps,f=M.current,g=!1,h;(h=0!==(b.effectTag&64))||(h=0!==(f&2)&&(null===a||null!==a.memoizedState));h?(g=!0,b.effectTag&=-65):null!==a&&null===a.memoizedState||void 0===e.fallback||!0===e.unstable_avoidThisFallback||(f|=1);I(M,f&1);if(null===a){void 0!==e.fallback&&Uh(b);if(g){g=e.fallback;e=Wg(null,d,0,null);e.return=b;if(0===(b.mode&2))for(a=null!==b.memoizedState?b.child.child:b.child,e.child=a;null!==a;)a.return=e,a=a.sibling;c=Wg(g,d,c,null);c.return=\nb;e.sibling=c;b.memoizedState=ii;b.child=e;return c}d=e.children;b.memoizedState=null;return b.child=Yg(b,null,d,c)}if(null!==a.memoizedState){a=a.child;d=a.sibling;if(g){e=e.fallback;c=Sg(a,a.pendingProps);c.return=b;if(0===(b.mode&2)&&(g=null!==b.memoizedState?b.child.child:b.child,g!==a.child))for(c.child=g;null!==g;)g.return=c,g=g.sibling;d=Sg(d,e);d.return=b;c.sibling=d;c.childExpirationTime=0;b.memoizedState=ii;b.child=c;return d}c=Xg(b,a.child,e.children,c);b.memoizedState=null;return b.child=\nc}a=a.child;if(g){g=e.fallback;e=Wg(null,d,0,null);e.return=b;e.child=a;null!==a&&(a.return=e);if(0===(b.mode&2))for(a=null!==b.memoizedState?b.child.child:b.child,e.child=a;null!==a;)a.return=e,a=a.sibling;c=Wg(g,d,c,null);c.return=b;e.sibling=c;c.effectTag|=2;e.childExpirationTime=0;b.memoizedState=ii;b.child=e;return c}b.memoizedState=null;return b.child=Xg(b,a,e.children,c)}\nfunction ki(a,b){a.expirationTime<b&&(a.expirationTime=b);var c=a.alternate;null!==c&&c.expirationTime<b&&(c.expirationTime=b);pg(a.return,b)}function li(a,b,c,d,e,f){var g=a.memoizedState;null===g?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailExpiration:0,tailMode:e,lastEffect:f}:(g.isBackwards=b,g.rendering=null,g.renderingStartTime=0,g.last=d,g.tail=c,g.tailExpiration=0,g.tailMode=e,g.lastEffect=f)}\nfunction mi(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;R(a,b,d.children,c);d=M.current;if(0!==(d&2))d=d&1|2,b.effectTag|=64;else{if(null!==a&&0!==(a.effectTag&64))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&ki(a,c);else if(19===a.tag)ki(a,c);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}I(M,d);if(0===(b.mode&2))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===hh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);li(b,!1,e,c,f,b.lastEffect);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===hh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}li(b,!0,c,null,f,b.lastEffect);break;case \"together\":li(b,!1,null,null,void 0,b.lastEffect);break;default:b.memoizedState=null}return b.child}\nfunction $h(a,b,c){null!==a&&(b.dependencies=a.dependencies);var d=b.expirationTime;0!==d&&Bg(d);if(b.childExpirationTime<c)return null;if(null!==a&&b.child!==a.child)throw Error(u(153));if(null!==b.child){a=b.child;c=Sg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Sg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}var ni,oi,pi,qi;\nni=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};oi=function(){};\npi=function(a,b,c,d,e){var f=a.memoizedProps;if(f!==d){var g=b.stateNode;ch($g.current);a=null;switch(c){case \"input\":f=zb(g,f);d=zb(g,d);a=[];break;case \"option\":f=Gb(g,f);d=Gb(g,d);a=[];break;case \"select\":f=n({},f,{value:void 0});d=n({},d,{value:void 0});a=[];break;case \"textarea\":f=Ib(g,f);d=Ib(g,d);a=[];break;default:\"function\"!==typeof f.onClick&&\"function\"===typeof d.onClick&&(g.onclick=sd)}od(c,d);var h,k;c=null;for(h in f)if(!d.hasOwnProperty(h)&&f.hasOwnProperty(h)&&null!=f[h])if(\"style\"===\nh)for(k in g=f[h],g)g.hasOwnProperty(k)&&(c||(c={}),c[k]=\"\");else\"dangerouslySetInnerHTML\"!==h&&\"children\"!==h&&\"suppressContentEditableWarning\"!==h&&\"suppressHydrationWarning\"!==h&&\"autoFocus\"!==h&&(va.hasOwnProperty(h)?a||(a=[]):(a=a||[]).push(h,null));for(h in d){var l=d[h];g=null!=f?f[h]:void 0;if(d.hasOwnProperty(h)&&l!==g&&(null!=l||null!=g))if(\"style\"===h)if(g){for(k in g)!g.hasOwnProperty(k)||l&&l.hasOwnProperty(k)||(c||(c={}),c[k]=\"\");for(k in l)l.hasOwnProperty(k)&&g[k]!==l[k]&&(c||(c={}),\nc[k]=l[k])}else c||(a||(a=[]),a.push(h,c)),c=l;else\"dangerouslySetInnerHTML\"===h?(l=l?l.__html:void 0,g=g?g.__html:void 0,null!=l&&g!==l&&(a=a||[]).push(h,l)):\"children\"===h?g===l||\"string\"!==typeof l&&\"number\"!==typeof l||(a=a||[]).push(h,\"\"+l):\"suppressContentEditableWarning\"!==h&&\"suppressHydrationWarning\"!==h&&(va.hasOwnProperty(h)?(null!=l&&rd(e,h),a||g===l||(a=[])):(a=a||[]).push(h,l))}c&&(a=a||[]).push(\"style\",c);e=a;if(b.updateQueue=e)b.effectTag|=4}};\nqi=function(a,b,c,d){c!==d&&(b.effectTag|=4)};function ri(a,b){switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction si(a,b,c){var d=b.pendingProps;switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return L(b.type)&&Df(),null;case 3:return eh(),H(K),H(J),c=b.stateNode,c.pendingContext&&(c.context=c.pendingContext,c.pendingContext=null),null!==a&&null!==a.child||!Wh(b)||(b.effectTag|=4),oi(b),null;case 5:gh(b);c=ch(bh.current);var e=b.type;if(null!==a&&null!=b.stateNode)pi(a,b,e,d,c),a.ref!==b.ref&&(b.effectTag|=128);else{if(!d){if(null===b.stateNode)throw Error(u(166));\nreturn null}a=ch($g.current);if(Wh(b)){d=b.stateNode;e=b.type;var f=b.memoizedProps;d[Md]=b;d[Nd]=f;switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",d);break;case \"video\":case \"audio\":for(a=0;a<ac.length;a++)F(ac[a],d);break;case \"source\":F(\"error\",d);break;case \"img\":case \"image\":case \"link\":F(\"error\",d);F(\"load\",d);break;case \"form\":F(\"reset\",d);F(\"submit\",d);break;case \"details\":F(\"toggle\",d);break;case \"input\":Ab(d,f);F(\"invalid\",d);rd(c,\"onChange\");break;case \"select\":d._wrapperState=\n{wasMultiple:!!f.multiple};F(\"invalid\",d);rd(c,\"onChange\");break;case \"textarea\":Jb(d,f),F(\"invalid\",d),rd(c,\"onChange\")}od(e,f);a=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(a=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(a=[\"children\",\"\"+h]):va.hasOwnProperty(g)&&null!=h&&rd(c,g)}switch(e){case \"input\":xb(d);Eb(d,f,!0);break;case \"textarea\":xb(d);Lb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&\n(d.onclick=sd)}c=a;b.updateQueue=c;null!==c&&(b.effectTag|=4)}else{g=9===c.nodeType?c:c.ownerDocument;a===qd&&(a=Nb(e));a===qd?\"script\"===e?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;h<ac.length;h++)F(ac[h],a);h=d;break;case \"source\":F(\"error\",a);h=d;break;case \"img\":case \"image\":case \"link\":F(\"error\",a);F(\"load\",a);h=d;break;case \"form\":F(\"reset\",a);F(\"submit\",a);h=d;break;case \"details\":F(\"toggle\",a);h=d;break;case \"input\":Ab(a,d);h=zb(a,d);F(\"invalid\",a);rd(c,\"onChange\");break;case \"option\":h=Gb(a,d);break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};h=n({},d,{value:void 0});F(\"invalid\",a);rd(c,\"onChange\");break;case \"textarea\":Jb(a,\nd);h=Ib(a,d);F(\"invalid\",a);rd(c,\"onChange\");break;default:h=d}od(e,h);var k=h;for(f in k)if(k.hasOwnProperty(f)){var l=k[f];\"style\"===f?md(a,l):\"dangerouslySetInnerHTML\"===f?(l=l?l.__html:void 0,null!=l&&Qb(a,l)):\"children\"===f?\"string\"===typeof l?(\"textarea\"!==e||\"\"!==l)&&Rb(a,l):\"number\"===typeof l&&Rb(a,\"\"+l):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(va.hasOwnProperty(f)?null!=l&&rd(c,f):null!=l&&Xa(a,f,l,g))}switch(e){case \"input\":xb(a);Eb(a,d,!1);\nbreak;case \"textarea\":xb(a);Lb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+rb(d.value));break;case \"select\":a.multiple=!!d.multiple;c=d.value;null!=c?Hb(a,!!d.multiple,c,!1):null!=d.defaultValue&&Hb(a,!!d.multiple,d.defaultValue,!0);break;default:\"function\"===typeof h.onClick&&(a.onclick=sd)}Fd(e,d)&&(b.effectTag|=4)}null!==b.ref&&(b.effectTag|=128)}return null;case 6:if(a&&null!=b.stateNode)qi(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(u(166));\nc=ch(bh.current);ch($g.current);Wh(b)?(c=b.stateNode,d=b.memoizedProps,c[Md]=b,c.nodeValue!==d&&(b.effectTag|=4)):(c=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),c[Md]=b,b.stateNode=c)}return null;case 13:H(M);d=b.memoizedState;if(0!==(b.effectTag&64))return b.expirationTime=c,b;c=null!==d;d=!1;null===a?void 0!==b.memoizedProps.fallback&&Wh(b):(e=a.memoizedState,d=null!==e,c||null===e||(e=a.child.sibling,null!==e&&(f=b.firstEffect,null!==f?(b.firstEffect=e,e.nextEffect=f):(b.firstEffect=b.lastEffect=\ne,e.nextEffect=null),e.effectTag=8)));if(c&&!d&&0!==(b.mode&2))if(null===a&&!0!==b.memoizedProps.unstable_avoidThisFallback||0!==(M.current&1))S===ti&&(S=ui);else{if(S===ti||S===ui)S=vi;0!==wi&&null!==T&&(xi(T,U),yi(T,wi))}if(c||d)b.effectTag|=4;return null;case 4:return eh(),oi(b),null;case 10:return og(b),null;case 17:return L(b.type)&&Df(),null;case 19:H(M);d=b.memoizedState;if(null===d)return null;e=0!==(b.effectTag&64);f=d.rendering;if(null===f)if(e)ri(d,!1);else{if(S!==ti||null!==a&&0!==(a.effectTag&\n64))for(f=b.child;null!==f;){a=hh(f);if(null!==a){b.effectTag|=64;ri(d,!1);e=a.updateQueue;null!==e&&(b.updateQueue=e,b.effectTag|=4);null===d.lastEffect&&(b.firstEffect=null);b.lastEffect=d.lastEffect;for(d=b.child;null!==d;)e=d,f=c,e.effectTag&=2,e.nextEffect=null,e.firstEffect=null,e.lastEffect=null,a=e.alternate,null===a?(e.childExpirationTime=0,e.expirationTime=f,e.child=null,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null):(e.childExpirationTime=a.childExpirationTime,\ne.expirationTime=a.expirationTime,e.child=a.child,e.memoizedProps=a.memoizedProps,e.memoizedState=a.memoizedState,e.updateQueue=a.updateQueue,f=a.dependencies,e.dependencies=null===f?null:{expirationTime:f.expirationTime,firstContext:f.firstContext,responders:f.responders}),d=d.sibling;I(M,M.current&1|2);return b.child}f=f.sibling}}else{if(!e)if(a=hh(f),null!==a){if(b.effectTag|=64,e=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.effectTag|=4),ri(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!f.alternate)return b=\nb.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*$f()-d.renderingStartTime>d.tailExpiration&&1<c&&(b.effectTag|=64,e=!0,ri(d,!1),b.expirationTime=b.childExpirationTime=c-1);d.isBackwards?(f.sibling=b.child,b.child=f):(c=d.last,null!==c?c.sibling=f:b.child=f,d.last=f)}return null!==d.tail?(0===d.tailExpiration&&(d.tailExpiration=$f()+500),c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=$f(),c.sibling=null,b=M.current,I(M,e?b&1|2:b&1),c):null}throw Error(u(156,\nb.tag));}function zi(a){switch(a.tag){case 1:L(a.type)&&Df();var b=a.effectTag;return b&4096?(a.effectTag=b&-4097|64,a):null;case 3:eh();H(K);H(J);b=a.effectTag;if(0!==(b&64))throw Error(u(285));a.effectTag=b&-4097|64;return a;case 5:return gh(a),null;case 13:return H(M),b=a.effectTag,b&4096?(a.effectTag=b&-4097|64,a):null;case 19:return H(M),null;case 4:return eh(),null;case 10:return og(a),null;default:return null}}function Ai(a,b){return{value:a,source:b,stack:qb(b)}}\nvar Bi=\"function\"===typeof WeakSet?WeakSet:Set;function Ci(a,b){var c=b.source,d=b.stack;null===d&&null!==c&&(d=qb(c));null!==c&&pb(c.type);b=b.value;null!==a&&1===a.tag&&pb(a.type);try{console.error(b)}catch(e){setTimeout(function(){throw e;})}}function Di(a,b){try{b.props=a.memoizedProps,b.state=a.memoizedState,b.componentWillUnmount()}catch(c){Ei(a,c)}}function Fi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Ei(a,c)}else b.current=null}\nfunction Gi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.effectTag&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:ig(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:case 5:case 6:case 4:case 17:return}throw Error(u(163));}\nfunction Hi(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.destroy;c.destroy=void 0;void 0!==d&&d()}c=c.next}while(c!==b)}}function Ii(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}\nfunction Ji(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:Ii(3,c);return;case 1:a=c.stateNode;if(c.effectTag&4)if(null===b)a.componentDidMount();else{var d=c.elementType===c.type?b.memoizedProps:ig(c.type,b.memoizedProps);a.componentDidUpdate(d,b.memoizedState,a.__reactInternalSnapshotBeforeUpdate)}b=c.updateQueue;null!==b&&Cg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Cg(c,b,a)}return;\ncase 5:a=c.stateNode;null===b&&c.effectTag&4&&Fd(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Vc(c))));return;case 19:case 17:case 20:case 21:return}throw Error(u(163));}\nfunction Ki(a,b,c){\"function\"===typeof Li&&Li(b);switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var d=a.next;cg(97<c?97:c,function(){var a=d;do{var c=a.destroy;if(void 0!==c){var g=b;try{c()}catch(h){Ei(g,h)}}a=a.next}while(a!==d)})}break;case 1:Fi(b);c=b.stateNode;\"function\"===typeof c.componentWillUnmount&&Di(b,c);break;case 5:Fi(b);break;case 4:Mi(a,b,c)}}\nfunction Ni(a){var b=a.alternate;a.return=null;a.child=null;a.memoizedState=null;a.updateQueue=null;a.dependencies=null;a.alternate=null;a.firstEffect=null;a.lastEffect=null;a.pendingProps=null;a.memoizedProps=null;a.stateNode=null;null!==b&&Ni(b)}function Oi(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Pi(a){a:{for(var b=a.return;null!==b;){if(Oi(b)){var c=b;break a}b=b.return}throw Error(u(160));}b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(u(161));}c.effectTag&16&&(Rb(b,\"\"),c.effectTag&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||Oi(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.effectTag&2)continue b;\nif(null===c.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.effectTag&2)){c=c.stateNode;break a}}d?Qi(a,c,b):Ri(a,c,b)}\nfunction Qi(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=sd));else if(4!==d&&(a=a.child,null!==a))for(Qi(a,b,c),a=a.sibling;null!==a;)Qi(a,b,c),a=a.sibling}\nfunction Ri(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Ri(a,b,c),a=a.sibling;null!==a;)Ri(a,b,c),a=a.sibling}\nfunction Mi(a,b,c){for(var d=b,e=!1,f,g;;){if(!e){e=d.return;a:for(;;){if(null===e)throw Error(u(160));f=e.stateNode;switch(e.tag){case 5:g=!1;break a;case 3:f=f.containerInfo;g=!0;break a;case 4:f=f.containerInfo;g=!0;break a}e=e.return}e=!0}if(5===d.tag||6===d.tag){a:for(var h=a,k=d,l=c,m=k;;)if(Ki(h,m,l),null!==m.child&&4!==m.tag)m.child.return=m,m=m.child;else{if(m===k)break a;for(;null===m.sibling;){if(null===m.return||m.return===k)break a;m=m.return}m.sibling.return=m.return;m=m.sibling}g?(h=\nf,k=d.stateNode,8===h.nodeType?h.parentNode.removeChild(k):h.removeChild(k)):f.removeChild(d.stateNode)}else if(4===d.tag){if(null!==d.child){f=d.stateNode.containerInfo;g=!0;d.child.return=d;d=d.child;continue}}else if(Ki(a,d,c),null!==d.child){d.child.return=d;d=d.child;continue}if(d===b)break;for(;null===d.sibling;){if(null===d.return||d.return===b)return;d=d.return;4===d.tag&&(e=!1)}d.sibling.return=d.return;d=d.sibling}}\nfunction Si(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:Hi(3,b);return;case 1:return;case 5:var c=b.stateNode;if(null!=c){var d=b.memoizedProps,e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[Nd]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&Bb(c,d);pd(a,e);b=pd(a,d);for(e=0;e<f.length;e+=2){var g=f[e],h=f[e+1];\"style\"===g?md(c,h):\"dangerouslySetInnerHTML\"===g?Qb(c,h):\"children\"===g?Rb(c,h):Xa(c,g,h,b)}switch(a){case \"input\":Cb(c,d);break;\ncase \"textarea\":Kb(c,d);break;case \"select\":b=c._wrapperState.wasMultiple,c._wrapperState.wasMultiple=!!d.multiple,a=d.value,null!=a?Hb(c,!!d.multiple,a,!1):b!==!!d.multiple&&(null!=d.defaultValue?Hb(c,!!d.multiple,d.defaultValue,!0):Hb(c,!!d.multiple,d.multiple?[]:\"\",!1))}}}return;case 6:if(null===b.stateNode)throw Error(u(162));b.stateNode.nodeValue=b.memoizedProps;return;case 3:b=b.stateNode;b.hydrate&&(b.hydrate=!1,Vc(b.containerInfo));return;case 12:return;case 13:c=b;null===b.memoizedState?\nd=!1:(d=!0,c=b.child,Ti=$f());if(null!==c)a:for(a=c;;){if(5===a.tag)f=a.stateNode,d?(f=f.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(f=a.stateNode,e=a.memoizedProps.style,e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null,f.style.display=ld(\"display\",e));else if(6===a.tag)a.stateNode.nodeValue=d?\"\":a.memoizedProps;else if(13===a.tag&&null!==a.memoizedState&&null===a.memoizedState.dehydrated){f=a.child.sibling;f.return=a;a=\nf;continue}else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===c)break;for(;null===a.sibling;){if(null===a.return||a.return===c)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}Ui(b);return;case 19:Ui(b);return;case 17:return}throw Error(u(163));}function Ui(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Bi);b.forEach(function(b){var d=Vi.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nvar Wi=\"function\"===typeof WeakMap?WeakMap:Map;function Xi(a,b,c){c=wg(c,null);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Yi||(Yi=!0,Zi=d);Ci(a,b)};return c}\nfunction $i(a,b,c){c=wg(c,null);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ci(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===aj?aj=new Set([this]):aj.add(this),Ci(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nvar bj=Math.ceil,cj=Wa.ReactCurrentDispatcher,dj=Wa.ReactCurrentOwner,V=0,ej=8,fj=16,gj=32,ti=0,hj=1,ij=2,ui=3,vi=4,jj=5,W=V,T=null,X=null,U=0,S=ti,kj=null,lj=1073741823,mj=1073741823,nj=null,wi=0,oj=!1,Ti=0,pj=500,Y=null,Yi=!1,Zi=null,aj=null,qj=!1,rj=null,sj=90,tj=null,uj=0,vj=null,wj=0;function Gg(){return(W&(fj|gj))!==V?1073741821-($f()/10|0):0!==wj?wj:wj=1073741821-($f()/10|0)}\nfunction Hg(a,b,c){b=b.mode;if(0===(b&2))return 1073741823;var d=ag();if(0===(b&4))return 99===d?1073741823:1073741822;if((W&fj)!==V)return U;if(null!==c)a=hg(a,c.timeoutMs|0||5E3,250);else switch(d){case 99:a=1073741823;break;case 98:a=hg(a,150,100);break;case 97:case 96:a=hg(a,5E3,250);break;case 95:a=2;break;default:throw Error(u(326));}null!==T&&a===U&&--a;return a}\nfunction Ig(a,b){if(50<uj)throw uj=0,vj=null,Error(u(185));a=xj(a,b);if(null!==a){var c=ag();1073741823===b?(W&ej)!==V&&(W&(fj|gj))===V?yj(a):(Z(a),W===V&&gg()):Z(a);(W&4)===V||98!==c&&99!==c||(null===tj?tj=new Map([[a,b]]):(c=tj.get(a),(void 0===c||c>b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTime<b&&(a.expirationTime=b);var c=a.alternate;null!==c&&c.expirationTime<b&&(c.expirationTime=b);var d=a.return,e=null;if(null===d&&3===a.tag)e=a.stateNode;else for(;null!==d;){c=d.alternate;d.childExpirationTime<b&&(d.childExpirationTime=b);null!==c&&c.childExpirationTime<b&&(c.childExpirationTime=b);if(null===d.return&&3===d.tag){e=d.stateNode;break}d=d.return}null!==e&&(T===e&&(Bg(b),S===vi&&xi(e,U)),yi(e,b));return e}\nfunction zj(a){var b=a.lastExpiredTime;if(0!==b)return b;b=a.firstPendingTime;if(!Aj(a,b))return b;var c=a.lastPingedTime;a=a.nextKnownPendingLevel;a=c>a?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2<c?2:c);break;case ui:xi(a,c);d=a.lastSuspendedTime;\nc===d&&(a.nextKnownPendingLevel=Ij(e));if(1073741823===lj&&(e=Ti+pj-$f(),10<e)){if(oj){var f=a.lastPingedTime;if(0===f||f>=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c<d&&(d=c));if(10<d){a.timeoutHandle=Hd(Jj.bind(null,a),d);break}Jj(a);break;case jj:if(1073741823!==lj&&null!==nj){f=lj;var g=nj;d=g.busyMinDurationMs|0;0>=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10<d){xi(a,c);a.timeoutHandle=\nHd(Jj.bind(null,a),d);break}}Jj(a);break;default:throw Error(u(329));}Z(a);if(a.callbackNode===b)return Bj.bind(null,a)}}return null}\nfunction yj(a){var b=a.lastExpiredTime;b=0!==b?b:1073741823;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&b===U||Ej(a,b);if(null!==X){var c=W;W|=fj;var d=Fj();do try{Kj();break}catch(e){Hj(a,e)}while(1);ng();W=c;cj.current=d;if(S===hj)throw c=kj,Ej(a,b),xi(a,b),Z(a),c;if(null!==X)throw Error(u(261));a.finishedWork=a.current.alternate;a.finishedExpirationTime=b;T=null;Jj(a);Z(a)}return null}function Lj(){if(null!==tj){var a=tj;tj=null;a.forEach(function(a,c){Cj(c,a);Z(c)});gg()}}\nfunction Mj(a,b){var c=W;W|=1;try{return a(b)}finally{W=c,W===V&&gg()}}function Nj(a,b){var c=W;W&=-2;W|=ej;try{return a(b)}finally{W=c,W===V&&gg()}}\nfunction Ej(a,b){a.finishedWork=null;a.finishedExpirationTime=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Id(c));if(null!==X)for(c=X.return;null!==c;){var d=c;switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&Df();break;case 3:eh();H(K);H(J);break;case 5:gh(d);break;case 4:eh();break;case 13:H(M);break;case 19:H(M);break;case 10:og(d)}c=c.return}T=a;X=Sg(a.current,null);U=b;S=ti;kj=null;mj=lj=1073741823;nj=null;wi=0;oj=!1}\nfunction Hj(a,b){do{try{ng();jh.current=sh;if(mh)for(var c=N.memoizedState;null!==c;){var d=c.queue;null!==d&&(d.pending=null);c=c.next}lh=0;P=O=N=null;mh=!1;if(null===X||null===X.return)return S=hj,kj=b,X=null;a:{var e=a,f=X.return,g=X,h=b;b=U;g.effectTag|=2048;g.firstEffect=g.lastEffect=null;if(null!==h&&\"object\"===typeof h&&\"function\"===typeof h.then){var k=h;if(0===(g.mode&2)){var l=g.alternate;l?(g.updateQueue=l.updateQueue,g.memoizedState=l.memoizedState,g.expirationTime=l.expirationTime):(g.updateQueue=\nnull,g.memoizedState=null)}var m=0!==(M.current&1),p=f;do{var x;if(x=13===p.tag){var z=p.memoizedState;if(null!==z)x=null!==z.dehydrated?!0:!1;else{var ca=p.memoizedProps;x=void 0===ca.fallback?!1:!0!==ca.unstable_avoidThisFallback?!0:m?!1:!0}}if(x){var D=p.updateQueue;if(null===D){var t=new Set;t.add(k);p.updateQueue=t}else D.add(k);if(0===(p.mode&2)){p.effectTag|=64;g.effectTag&=-2981;if(1===g.tag)if(null===g.alternate)g.tag=17;else{var y=wg(1073741823,null);y.tag=2;xg(g,y)}g.expirationTime=1073741823;\nbreak a}h=void 0;g=b;var A=e.pingCache;null===A?(A=e.pingCache=new Wi,h=new Set,A.set(k,h)):(h=A.get(k),void 0===h&&(h=new Set,A.set(k,h)));if(!h.has(g)){h.add(g);var q=Oj.bind(null,e,k,g);k.then(q,q)}p.effectTag|=4096;p.expirationTime=b;break a}p=p.return}while(null!==p);h=Error((pb(g.type)||\"A React component\")+\" suspended while rendering, but no fallback UI was specified.\\n\\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){a<lj&&2<a&&(lj=a);null!==b&&a<mj&&2<a&&(mj=a,nj=b)}function Bg(a){a>wi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1<X.effectTag&&(null!==\na.lastEffect?a.lastEffect.nextEffect=X:a.firstEffect=X,a.lastEffect=X))}else{b=zi(X);if(null!==b)return b.effectTag&=2047,b;null!==a&&(a.firstEffect=a.lastEffect=null,a.effectTag|=2048)}b=X.sibling;if(null!==b)return b;X=a}while(null!==X);S===ti&&(S=jj);return null}function Ij(a){var b=a.expirationTime;a=a.childExpirationTime;return b>a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1<c.effectTag?null!==c.lastEffect?(c.lastEffect.nextEffect=c,e=c.firstEffect):e=c:e=c.firstEffect;if(null!==e){var f=W;W|=gj;dj.current=null;Dd=fd;var g=xd();if(yd(g)){if(\"selectionStart\"in g)var h={start:g.selectionStart,end:g.selectionEnd};else a:{h=(h=g.ownerDocument)&&h.defaultView||window;var k=h.getSelection&&h.getSelection();if(k&&0!==k.rangeCount){h=k.anchorNode;var l=k.anchorOffset,\nm=k.focusNode;k=k.focusOffset;try{h.nodeType,m.nodeType}catch(wb){h=null;break a}var p=0,x=-1,z=-1,ca=0,D=0,t=g,y=null;b:for(;;){for(var A;;){t!==h||0!==l&&3!==t.nodeType||(x=p+l);t!==m||0!==k&&3!==t.nodeType||(z=p+k);3===t.nodeType&&(p+=t.nodeValue.length);if(null===(A=t.firstChild))break;y=t;t=A}for(;;){if(t===g)break b;y===h&&++ca===l&&(x=p);y===m&&++D===k&&(z=p);if(null!==(A=t.nextSibling))break;t=y;y=t.parentNode}t=A}h=-1===x||-1===z?null:{start:x,end:z}}else h=null}h=h||{start:0,end:0}}else h=\nnull;Ed={activeElementDetached:null,focusedElem:g,selectionRange:h};fd=!1;Y=e;do try{Tj()}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);Y=e;do try{for(g=a,h=b;null!==Y;){var q=Y.effectTag;q&16&&Rb(Y.stateNode,\"\");if(q&128){var B=Y.alternate;if(null!==B){var w=B.ref;null!==w&&(\"function\"===typeof w?w(null):w.current=null)}}switch(q&1038){case 2:Pi(Y);Y.effectTag&=-3;break;case 6:Pi(Y);Y.effectTag&=-3;Si(Y.alternate,Y);break;case 1024:Y.effectTag&=-1025;break;case 1028:Y.effectTag&=\n-1025;Si(Y.alternate,Y);break;case 4:Si(Y.alternate,Y);break;case 8:l=Y,Mi(g,l,h),Ni(l)}Y=Y.nextEffect}}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);w=Ed;B=xd();q=w.focusedElem;h=w.selectionRange;if(B!==q&&q&&q.ownerDocument&&wd(q.ownerDocument.documentElement,q)){null!==h&&yd(q)&&(B=h.start,w=h.end,void 0===w&&(w=B),\"selectionStart\"in q?(q.selectionStart=B,q.selectionEnd=Math.min(w,q.value.length)):(w=(B=q.ownerDocument||document)&&B.defaultView||window,w.getSelection&&\n(w=w.getSelection(),l=q.textContent.length,g=Math.min(h.start,l),h=void 0===h.end?g:Math.min(h.end,l),!w.extend&&g>h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q<B.length;q++)w=B[q],w.element.scrollLeft=w.left,w.element.scrollTop=w.top}fd=!!Dd;Ed=Dd=null;a.current=c;Y=e;do try{for(q=a;null!==Y;){var ub=Y.effectTag;ub&36&&Ji(q,Y.alternate,Y);if(ub&128){B=void 0;var vb=Y.ref;if(null!==vb){var Xc=Y.stateNode;switch(Y.tag){case 5:B=Xc;break;default:B=Xc}\"function\"===typeof vb?vb(B):vb.current=B}}Y=Y.nextEffect}}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);Y=\nnull;Vf();W=f}else a.current=c;if(qj)qj=!1,rj=a,sj=b;else for(Y=e;null!==Y;)b=Y.nextEffect,Y.nextEffect=null,Y=b;b=a.firstPendingTime;0===b&&(aj=null);1073741823===b?a===vj?uj++:(uj=0,vj=a):uj=0;\"function\"===typeof Uj&&Uj(c.stateNode,d);Z(a);if(Yi)throw Yi=!1,a=Zi,Zi=null,a;if((W&ej)!==V)return null;gg();return null}function Tj(){for(;null!==Y;){var a=Y.effectTag;0!==(a&256)&&Gi(Y.alternate,Y);0===(a&512)||qj||(qj=!0,dg(97,function(){Dj();return null}));Y=Y.nextEffect}}\nfunction Dj(){if(90!==sj){var a=97<sj?97:sj;sj=90;return cg(a,Vj)}}function Vj(){if(null===rj)return!1;var a=rj;rj=null;if((W&(fj|gj))!==V)throw Error(u(331));var b=W;W|=gj;for(a=a.current.firstEffect;null!==a;){try{var c=a;if(0!==(c.effectTag&512))switch(c.tag){case 0:case 11:case 15:case 22:Hi(5,c),Ii(5,c)}}catch(d){if(null===a)throw Error(u(330));Ei(a,d)}c=a.nextEffect;a.nextEffect=null;a=c}W=b;gg();return!0}\nfunction Wj(a,b,c){b=Ai(c,b);b=Xi(a,b,1073741823);xg(a,b);a=xj(a,1073741823);null!==a&&Z(a)}function Ei(a,b){if(3===a.tag)Wj(a,a,b);else for(var c=a.return;null!==c;){if(3===c.tag){Wj(c,a,b);break}else if(1===c.tag){var d=c.stateNode;if(\"function\"===typeof c.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===aj||!aj.has(d))){a=Ai(b,a);a=$i(c,a,1073741823);xg(c,a);c=xj(c,1073741823);null!==c&&Z(c);break}}c=c.return}}\nfunction Oj(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);T===a&&U===c?S===vi||S===ui&&1073741823===lj&&$f()-Ti<pj?Ej(a,U):oj=!0:Aj(a,c)&&(b=a.lastPingedTime,0!==b&&b<c||(a.lastPingedTime=c,Z(a)))}function Vi(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=Gg(),b=Hg(b,a,null));a=xj(a,b);null!==a&&Z(a)}var Rj;\nRj=function(a,b,c){var d=b.expirationTime;if(null!==a){var e=b.pendingProps;if(a.memoizedProps!==e||K.current)rg=!0;else{if(d<c){rg=!1;switch(b.tag){case 3:hi(b);Xh();break;case 5:fh(b);if(b.mode&4&&1!==c&&e.hidden)return b.expirationTime=b.childExpirationTime=1,null;break;case 1:L(b.type)&&Gf(b);break;case 4:dh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;e=b.type._context;I(jg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){d=b.child.childExpirationTime;\nif(0!==d&&d>=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime<c&&(h.expirationTime=c);l=h.alternate;null!==l&&l.expirationTime<c&&(l.expirationTime=c);pg(h.return,c);k.expirationTime<c&&(k.expirationTime=c);break}l=l.next}}else g=10===h.tag?h.type===b.type?null:h.child:h.child;if(null!==g)g.return=h;else for(g=h;null!==g;){if(g===b){g=null;break}h=g.sibling;if(null!==h){h.return=g.return;g=h;break}g=g.return}h=\ng}R(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,f=b.pendingProps,d=f.children,qg(b,c),e=sg(e,f.unstable_observedBits),d=d(e),b.effectTag|=1,R(a,b,d,c),b.child;case 14:return e=b.type,f=ig(e,b.pendingProps),f=ig(e.type,f),ai(a,b,e,f,d,c);case 15:return ci(a,b,b.type,b.pendingProps,d,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),b.tag=1,L(d)?(a=!0,Gf(b)):a=!1,qg(b,c),Lg(b,d,e),Ng(b,d,e,c),gi(null,\nb,d,!0,a,c);case 19:return mi(a,b,c)}throw Error(u(156,b.tag));};var Uj=null,Li=null;function Yj(a){if(\"undefined\"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)return!0;try{var c=b.inject(a);Uj=function(a){try{b.onCommitFiberRoot(c,a,void 0,64===(a.current.effectTag&64))}catch(e){}};Li=function(a){try{b.onCommitFiberUnmount(c,a)}catch(e){}}}catch(d){}return!0}\nfunction Zj(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.effectTag=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childExpirationTime=this.expirationTime=0;this.alternate=null}function Sh(a,b,c,d){return new Zj(a,b,c,d)}\nfunction bi(a){a=a.prototype;return!(!a||!a.isReactComponent)}function Xj(a){if(\"function\"===typeof a)return bi(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===gb)return 11;if(a===jb)return 14}return 2}\nfunction Sg(a,b){var c=a.alternate;null===c?(c=Sh(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.effectTag=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childExpirationTime=a.childExpirationTime;c.expirationTime=a.expirationTime;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{expirationTime:b.expirationTime,\nfirstContext:b.firstContext,responders:b.responders};c.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Ug(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bi(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ab:return Wg(c.children,e,f,b);case fb:g=8;e|=7;break;case bb:g=8;e|=1;break;case cb:return a=Sh(12,c,b,e|8),a.elementType=cb,a.type=cb,a.expirationTime=f,a;case hb:return a=Sh(13,c,b,e),a.type=hb,a.elementType=hb,a.expirationTime=f,a;case ib:return a=Sh(19,c,b,e),a.elementType=ib,a.expirationTime=f,a;default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case db:g=\n10;break a;case eb:g=9;break a;case gb:g=11;break a;case jb:g=14;break a;case kb:g=16;d=null;break a;case lb:g=22;break a}throw Error(u(130,null==a?a:typeof a,\"\"));}b=Sh(g,c,b,e);b.elementType=a;b.type=d;b.expirationTime=f;return b}function Wg(a,b,c,d){a=Sh(7,a,d,b);a.expirationTime=c;return a}function Tg(a,b,c){a=Sh(6,a,null,b);a.expirationTime=c;return a}\nfunction Vg(a,b,c){b=Sh(4,null!==a.children?a.children:[],a.key,b);b.expirationTime=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction ak(a,b,c){this.tag=b;this.current=null;this.containerInfo=a;this.pingCache=this.pendingChildren=null;this.finishedExpirationTime=0;this.finishedWork=null;this.timeoutHandle=-1;this.pendingContext=this.context=null;this.hydrate=c;this.callbackNode=null;this.callbackPriority=90;this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}\nfunction Aj(a,b){var c=a.firstSuspendedTime;a=a.lastSuspendedTime;return 0!==c&&c>=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;c<b&&(a.firstSuspendedTime=b);if(d>b||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime<b&&(a.retryTime=b)}function ek(a,b){dk(a,b);(a=a.alternate)&&dk(a,b)}\nfunction fk(a,b,c){c=null!=c&&!0===c.hydrate;var d=new ak(a,b,c),e=Sh(3,null,null,2===b?7:1===b?3:0);d.current=e;e.stateNode=d;ug(e);a[Od]=d.current;c&&0!==b&&Jc(a,9===a.nodeType?a:a.ownerDocument);this._internalRoot=d}fk.prototype.render=function(a){bk(a,this._internalRoot,null,null)};fk.prototype.unmount=function(){var a=this._internalRoot,b=a.containerInfo;bk(null,a,null,function(){b[Od]=null})};\nfunction gk(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function hk(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute(\"data-reactroot\")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new fk(a,0,b?{hydrate:!0}:void 0)}\nfunction ik(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f._internalRoot;if(\"function\"===typeof e){var h=e;e=function(){var a=ck(g);h.call(a)}}bk(b,g,a,e)}else{f=c._reactRootContainer=hk(c,d);g=f._internalRoot;if(\"function\"===typeof e){var k=e;e=function(){var a=ck(g);k.call(a)}}Nj(function(){bk(b,g,a,e)})}return ck(g)}function jk(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:$a,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nwc=function(a){if(13===a.tag){var b=hg(Gg(),150,100);Ig(a,b);ek(a,b)}};xc=function(a){13===a.tag&&(Ig(a,3),ek(a,3))};yc=function(a){if(13===a.tag){var b=Gg();b=Hg(b,a,null);Ig(a,b);ek(a,b)}};\nza=function(a,b,c){switch(b){case \"input\":Cb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Qd(d);if(!e)throw Error(u(90));yb(d);Cb(d,e)}}}break;case \"textarea\":Kb(a,c);break;case \"select\":b=c.value,null!=b&&Hb(a,!!c.multiple,b,!1)}};Fa=Mj;\nGa=function(a,b,c,d,e){var f=W;W|=4;try{return cg(98,a.bind(null,b,c,d,e))}finally{W=f,W===V&&gg()}};Ha=function(){(W&(1|fj|gj))===V&&(Lj(),Dj())};Ia=function(a,b){var c=W;W|=2;try{return a(b)}finally{W=c,W===V&&gg()}};function kk(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!gk(b))throw Error(u(200));return jk(a,b,null,c)}var lk={Events:[Nc,Pd,Qd,xa,ta,Xd,function(a){jc(a,Wd)},Da,Ea,id,mc,Dj,{current:!1}]};\n(function(a){var b=a.findFiberByHostInstance;return Yj(n({},a,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Wa.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=hc(a);return null===a?null:a.stateNode},findFiberByHostInstance:function(a){return b?b(a):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}))})({findFiberByHostInstance:tc,bundleType:0,version:\"16.14.0\",\nrendererPackageName:\"react-dom\"});exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=lk;exports.createPortal=kk;exports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternalFiber;if(void 0===b){if(\"function\"===typeof a.render)throw Error(u(188));throw Error(u(268,Object.keys(a)));}a=hc(b);a=null===a?null:a.stateNode;return a};\nexports.flushSync=function(a,b){if((W&(fj|gj))!==V)throw Error(u(187));var c=W;W|=1;try{return cg(99,a.bind(null,b))}finally{W=c,gg()}};exports.hydrate=function(a,b,c){if(!gk(b))throw Error(u(200));return ik(null,a,b,!0,c)};exports.render=function(a,b,c){if(!gk(b))throw Error(u(200));return ik(null,a,b,!1,c)};\nexports.unmountComponentAtNode=function(a){if(!gk(a))throw Error(u(40));return a._reactRootContainer?(Nj(function(){ik(null,null,a,!1,function(){a._reactRootContainer=null;a[Od]=null})}),!0):!1};exports.unstable_batchedUpdates=Mj;exports.unstable_createPortal=function(a,b){return kk(a,b,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)};\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!gk(c))throw Error(u(200));if(null==a||void 0===a._reactInternalFiber)throw Error(u(38));return ik(a,b,c,!1,d)};exports.version=\"16.14.0\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","var e=Object.defineProperty,t=Object.defineProperties,i=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,n=(t,i,s)=>i in t?e(t,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[i]=s,a=(e,t)=>{for(var i in t||(t={}))r.call(t,i)&&n(e,i,t[i]);if(s)for(var i of s(t))o.call(t,i)&&n(e,i,t[i]);return e};import l,{Component as c}from\"react\";import u from\"react-dom\";import p from\"video.js\";const h=\"0.1.0-alpha.5\",d={src:\"\",currentTime:0,hostTime:0,muted:!1,paused:!0,volume:1},m={currentTimeMaxError:1,syncInterval:1e3,retryInterval:15e3,verbose:!1,log:console.log.bind(console)};let g=m;function v(e){g=a(a({},m),e)}function A(e,t){if(e.paused)return e.currentTime;const i=function(e){if(e.player)return e.player.beginTimestamp+e.player.progressTime;if(e.room)return e.room.calibrationTimestamp}(t);return i?e.currentTime+(i-e.hostTime)/1e3:e.currentTime}const f=navigator.userAgent.includes(\"Safari\"),y=[\".aac\",\".mid\",\".midi\",\".mp3\",\".ogg\",\".oga\",\".wav\",\".weba\"];var b=\"object\"==typeof global&&global&&global.Object===Object&&global,I=\"object\"==typeof self&&self&&self.Object===Object&&self,C=b||I||Function(\"return this\")(),E=C.Symbol,k=Object.prototype,T=k.hasOwnProperty,S=k.toString,P=E?E.toStringTag:void 0;var j=Object.prototype.toString;var B=E?E.toStringTag:void 0;function x(e){return null==e?void 0===e?\"[object Undefined]\":\"[object Null]\":B&&B in Object(e)?function(e){var t=T.call(e,P),i=e[P];try{e[P]=void 0;var s=!0}catch(o){}var r=S.call(e);return s&&(t?e[P]=i:delete e[P]),r}(e):function(e){return j.call(e)}(e)}var w=/\\s/;var H=/^\\s+/;function Q(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&w.test(e.charAt(t)););return t}(e)+1).replace(H,\"\"):e}function M(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}var L=/^[-+]0x[0-9a-f]+$/i,N=/^0b[01]+$/i,W=/^0o[0-7]+$/i,V=parseInt;function O(e){if(\"number\"==typeof e)return e;if(function(e){return\"symbol\"==typeof e||function(e){return null!=e&&\"object\"==typeof e}(e)&&\"[object Symbol]\"==x(e)}(e))return NaN;if(M(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=M(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=Q(e);var i=N.test(e);return i||W.test(e)?V(e.slice(2),i?2:8):L.test(e)?NaN:+e}var z=function(){return C.Date.now()},Z=Math.max,D=Math.min;function R(e,t,i){var s,r,o,n,a,l,c=0,u=!1,p=!1,h=!0;if(\"function\"!=typeof e)throw new TypeError(\"Expected a function\");function d(t){var i=s,o=r;return s=r=void 0,c=t,n=e.apply(o,i)}function m(e){return c=e,a=setTimeout(v,t),u?d(e):n}function g(e){var i=e-l;return void 0===l||i>=t||i<0||p&&e-c>=o}function v(){var e=z();if(g(e))return A(e);a=setTimeout(v,function(e){var i=t-(e-l);return p?D(i,o-(e-c)):i}(e))}function A(e){return a=void 0,h&&s?d(e):(s=r=void 0,n)}function f(){var e=z(),i=g(e);if(s=arguments,r=this,l=e,i){if(void 0===a)return m(l);if(p)return clearTimeout(a),a=setTimeout(v,t),d(l)}return void 0===a&&(a=setTimeout(v,t)),n}return t=O(t)||0,M(i)&&(u=!!i.leading,o=(p=\"maxWait\"in i)?Z(O(i.maxWait)||0,t):o,h=\"trailing\"in i?!!i.trailing:h),f.cancel=function(){void 0!==a&&clearTimeout(a),c=0,s=l=r=a=void 0},f.flush=function(){return void 0===a?n:A(z())},f}class U extends c{constructor(e){super(e),this.seeking=!1,this.mobileSeeking=!1,this.track=null,this.hoverTime=null,this.offset=0,this.secondsPrefix=\"00:00:\",this.minutesPrefix=\"00:\",this.seekPause=!1,this.handleTouchSeeking=e=>{let t=0;for(let i=0;i<e.changedTouches.length;i++)t=e.changedTouches[i].pageX;t=t<0?0:t,this.mobileSeeking&&this.changeCurrentTimePosition(t)},this.handleSeeking=e=>{this.seeking&&this.changeCurrentTimePosition(e.pageX)},this.setTrackWidthState=()=>{this.track&&this.setState({trackWidth:this.track.offsetWidth})},this.handleTrackHover=(e,t)=>{if(this.track){const i=this.props.scale||1;let s;s=e?0:(t.pageX-this.track.getBoundingClientRect().left)/i,this.setState({seekHoverPosition:s,trackWidth:this.track.offsetWidth})}},this.mouseSeekingHandler=e=>{this.setSeeking(!1,e),this.onMouseUp()},this.setSeeking=(e,t)=>{t.preventDefault(),this.handleSeeking(t),this.seeking=e,this.setState({seekHoverPosition:e?this.state.seekHoverPosition:0})},this.mobileTouchSeekingHandler=()=>{this.setMobileSeeking(!1)},this.setMobileSeeking=e=>{this.mobileSeeking=e,this.setState({seekHoverPosition:e?this.state.seekHoverPosition:0})},this.renderBufferProgress=()=>{if(this.props.buffered){const e=a(a({},this.getPositionStyle(this.props.buffered)),this.props.bufferColor&&{backgroundColor:this.props.bufferColor});return l.createElement(\"div\",{className:\"buffered\",style:e})}return null},this.renderProgress=()=>{const e=a(a({},this.getPositionStyle(this.props.current)),this.props.sliderColor&&{backgroundColor:this.props.sliderColor});return l.createElement(\"div\",{className:\"connect\",style:e})},this.renderHoverProgress=()=>{const e=a(a({},this.getSeekHoverPosition()),this.props.sliderHoverColor&&{backgroundColor:this.props.sliderHoverColor});return l.createElement(\"div\",{className:\"seek-hover\",style:e})},this.renderThumb=()=>l.createElement(\"div\",{className:this.isThumbActive()?\"thumb active\":\"thumb\",style:this.getThumbHandlerPosition()},l.createElement(\"div\",{style:{backgroundColor:this.props.thumbColor},className:\"handler\"})),this.onMouseDown=e=>{var t,i;this.props.pause&&!this.props.paused&&(this.props.pause(),this.seekPause=!0),this.setSeeking(!0,e),null==(i=(t=this.props).onSeekStart)||i.call(t)},this.onMouseUp=()=>{var e,t;this.props.play&&this.seekPause&&(this.props.play(),this.seekPause=!1),null==(t=(e=this.props).onSeekEnd)||t.call(e)},this.props.secondsPrefix&&(this.secondsPrefix=this.props.secondsPrefix),this.props.minutesPrefix&&(this.minutesPrefix=this.props.minutesPrefix),this.state={ready:!1,trackWidth:0,seekHoverPosition:0}}componentDidMount(){this.setTrackWidthState(),window.addEventListener(\"resize\",this.setTrackWidthState),window.addEventListener(\"mousemove\",this.handleSeeking),window.addEventListener(\"mouseup\",this.mouseSeekingHandler),window.addEventListener(\"touchmove\",this.handleTouchSeeking),window.addEventListener(\"touchend\",this.mobileTouchSeekingHandler)}componentWillUnmount(){window.removeEventListener(\"resize\",this.setTrackWidthState),window.removeEventListener(\"mousemove\",this.handleSeeking),window.removeEventListener(\"mouseup\",this.mouseSeekingHandler),window.removeEventListener(\"touchmove\",this.handleTouchSeeking),window.removeEventListener(\"touchend\",this.mobileTouchSeekingHandler)}changeCurrentTimePosition(e){if(this.track){const t=this.props.scale||1;let i=(e-this.track.getBoundingClientRect().left)/t;i=Math.min(this.state.trackWidth,Math.max(0,i)),this.setState({seekHoverPosition:i});const s=+(i/this.state.trackWidth*this.props.total).toFixed(0);this.props.onChange(s)}}getPositionStyle(e){return{transform:`scaleX(${100*e/this.props.total/100})`}}getThumbHandlerPosition(){return{transform:`translateX(${this.state.trackWidth/(this.props.total/this.props.current)}px)`}}getSeekHoverPosition(){return{transform:`scaleX(${100*this.state.seekHoverPosition/this.state.trackWidth/100})`}}getHoverTimePosition(){let e=0;return this.hoverTime&&(e=this.state.seekHoverPosition-this.hoverTime.offsetWidth/2,this.props.limitTimeTooltipBySides&&(e<0?e=0:e+this.hoverTime.offsetWidth>this.state.trackWidth&&(e=this.state.trackWidth-this.hoverTime.offsetWidth))),{transform:`translateX(${e}px)`}}secondsToTime(e){e=Math.round(e+this.offset);const t=Math.floor(e/3600),i=e%3600,s=Math.floor(i/60),r=Math.ceil(i%60);return{hh:t.toString(),mm:s<10?\"0\"+s:s.toString(),ss:r<10?\"0\"+r:r.toString()}}getHoverTime(){const e=100*this.state.seekHoverPosition/this.state.trackWidth,t=Math.floor(+e*(this.props.total/100)),i=this.secondsToTime(t);return this.props.total+this.offset<60?this.secondsPrefix+i.ss:this.props.total+this.offset<3600?this.minutesPrefix+i.mm+\":\"+i.ss:i.hh+\":\"+i.mm+\":\"+i.ss}isThumbActive(){return this.state.seekHoverPosition>0||this.seeking}drawHoverTime(){return this.props.hideHoverTime?null:l.createElement(\"div\",{className:this.isThumbActive()?\"hover-time active\":\"hover-time\",style:this.getHoverTimePosition(),ref:e=>this.hoverTime=e},this.getHoverTime())}render(){return l.createElement(\"div\",{className:\"seek-slider\"},l.createElement(\"div\",{className:\"track\",ref:e=>this.track=e,onMouseMove:e=>this.handleTrackHover(!1,e),onMouseLeave:e=>this.handleTrackHover(!0,e),onMouseDown:this.onMouseDown,onTouchStart:e=>{this.setMobileSeeking(!0),this.onMouseDown(e)},onMouseUp:this.onMouseUp,onTouchEnd:this.onMouseUp},l.createElement(\"div\",{className:\"main\"},this.renderBufferProgress(),this.renderHoverProgress(),this.renderProgress())),this.drawHoverTime(),this.renderThumb())}}class X extends c{constructor(e){super(e),this.stageVolume=0,this.updateVolumeTimer=0,this.onVolumeSeeking=!1,this.onClickOperationButton=()=>{const{paused:e}=this.props;e?this.props.play():this.props.pause()},this.operationButton=()=>{const{paused:e}=this.props;return e?l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNOCA1LjE0djE0bDExLTdsLTExLTd6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg==\"}):l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTQgMTloNFY1aC00TTYgMTloNFY1SDZ2MTR6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg==\"})},this.operationVolumeButton=()=>this.props.volume>.9?l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTQgMy4yM3YyLjA2YzIuODkuODYgNSAzLjU0IDUgNi43MXMtMi4xMSA1Ljg0LTUgNi43djIuMDdjNC0uOTEgNy00LjQ5IDctOC43N2MwLTQuMjgtMy03Ljg2LTctOC43N00xNi41IDEyYzAtMS43Ny0xLTMuMjktMi41LTQuMDNWMTZjMS41LS43MSAyLjUtMi4yNCAyLjUtNE0zIDl2Nmg0bDUgNVY0TDcgOUgzeiIgZmlsbD0iI2ZmZiI+PC9wYXRoPjwvc3ZnPgo=\"}):0===this.props.volume?l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNyA5djZoNGw1IDVWNGwtNSA1SDd6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg==\"}):l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNSA5djZoNGw1IDVWNEw5IDltOS41IDNjMC0xLjc3LTEtMy4yOS0yLjUtNC4wM1YxNmMxLjUtLjcxIDIuNS0yLjI0IDIuNS00eiIgZmlsbD0iI2ZmZiI+PC9wYXRoPjwvc3ZnPgo=\"}),this.handleClickVolume=()=>{0===this.props.volume?0!==this.stageVolume?this.props.setVolume(this.stageVolume):this.props.setVolume(1):(this.stageVolume=this.props.volume,this.props.setVolume(0))},this.onChange=e=>{this.setState({currentTime:e}),e&&this.changeTime(e)},this.changeTime=R((e=>{this.props.setCurrentTime(e)}),50),this.onVolumeChange=e=>{this.changeVolume(e),this.setState({seekVolume:e/100})},this.changeVolume=R((e=>{this.props.setVolume(e/100)}),50),this.onVolumeSeekStart=()=>{this.onVolumeSeeking=!0},this.onVolumeSeekEnd=R((()=>{this.onVolumeSeeking=!1}),500),this.onProgressSeekStart=()=>this.setState({isPlayerSeeking:!0}),this.onProgressSeekEnd=R((()=>{this.setState({isPlayerSeeking:!1})}),500),this.state={isPlayerSeeking:!1,isVolumeHover:!1,seekVolume:1,visible:!0,currentTime:0},this.stageVolume=e.volume}componentDidMount(){this.updateVolumeTimer=setInterval((()=>{this.onVolumeSeeking||this.setState({seekVolume:this.props.volume}),this.state.isPlayerSeeking||this.setState({currentTime:this.props.currentTime})}),100)}componentWillUnmount(){this.updateVolumeTimer&&clearInterval(this.updateVolumeTimer)}render(){const{duration:e,currentTime:t}=this.props;return l.createElement(\"div\",{className:\"player-controller\",style:{opacity:this.props.visible?\"1\":\"0\"}},l.createElement(\"div\",{className:\"player-controller-progress\"},l.createElement(U,{total:e,current:this.state.currentTime,onChange:this.onChange,buffered:this.props.buffered,bufferColor:\"rgba(255,255,255,0.3)\",hideHoverTime:!0,limitTimeTooltipBySides:!0,onSeekStart:this.onProgressSeekStart,onSeekEnd:this.onProgressSeekEnd,play:this.props.play,pause:this.props.pause,paused:this.props.paused,scale:this.props.scale})),l.createElement(\"div\",{className:\"player-controller-actions\"},l.createElement(\"div\",{className:\"player-controller-actions-left\"},l.createElement(\"div\",{onClick:this.onClickOperationButton,className:\"player-controller-play\"},this.operationButton()),l.createElement(\"div\",{className:\"player-volume-box\",onMouseEnter:()=>this.setState({isVolumeHover:!0}),onMouseLeave:()=>this.setState({isVolumeHover:!1})},l.createElement(\"div\",{onClick:this.handleClickVolume,className:\"player-volume\"},this.operationVolumeButton()),l.createElement(\"div\",{className:\"player-volume-slider\"},l.createElement(U,{total:100,current:100*this.state.seekVolume,onChange:this.onVolumeChange,onSeekStart:this.onVolumeSeekStart,onSeekEnd:this.onVolumeSeekEnd,scale:this.props.scale,limitTimeTooltipBySides:!0,hideHoverTime:!0})))),l.createElement(\"div\",{className:\"player-mid-box-time\"},F(Math.floor(t/1e3)),\" /\",\" \",F(Math.floor(e/1e3)))))}}function F(e){const t=e%60,i=(e-t)/60;if(i>=60){const e=i%60;return`${G((i-e)/60)}:${G(e)}:${G(t)}`}return`${G(i)}:${G(t)}`}function G(e){return e<=9?`0${e}`:`${e}`}class Y extends c{constructor(){super(...arguments),this.putAttributes=e=>{const{context:t}=this.props,i=t.getAttributes()||{};for(const s in e)i[s]!==e[s]&&t.updateAttributes([s],e[s])}}render(){const{context:e}=this.props,t=e.getRoom(),i=t?void 0:e.getDisplayer(),s=this.putAttributes;return l.createElement(J,{room:t,player:i,context:e,plugin:{putAttributes:s}})}}class J extends c{constructor(e){super(e),this.alertMask=null,this.container=l.createRef(),this.controllerHiddenTimer=0,this.syncPlayerTimer=0,this.retryCount=0,this.decreaseRetryTimer=0,this.noSoundSyncCount=0,this.showController=()=>{this.setState({controllerVisible:!0}),this.debounceHidingController()},this.play=()=>{var e;const t=null==(e=this.props.room)?void 0:e.calibrationTimestamp;this.debug(\">>> play\",{paused:!1,hostTime:t}),this.isEnabled()&&this.props.plugin.putAttributes({paused:!1,hostTime:t})},this.pause=()=>{const e=A(this.getAttributes(),this.props);this.debug(\">>> pause\",{paused:!0,currentTime:e}),this.isEnabled()&&this.props.plugin.putAttributes({paused:!0,currentTime:e})},this.setVolume=e=>{this.debug(\">>> volume\",{volume:e}),this.isEnabled()&&this.props.plugin.putAttributes({volume:e}),this.isEnabled()&&this.props.plugin.putAttributes({volume:e,muted:0===e})},this.setCurrentTime=e=>{var t;const i=null==(t=this.props.room)?void 0:t.calibrationTimestamp;this.debug(\">>> seek\",{currentTime:e/1e3,hostTime:i}),this.isEnabled()&&this.props.plugin.putAttributes({currentTime:e/1e3,hostTime:i})},this.resetPlayer=()=>{var e;null==(e=this.player)||e.autoplay(!1),this.state.NoSound||(this.debug(\">>> ended\",{paused:!0,currentTime:0}),this.isEnabled()&&this.props.plugin.putAttributes({paused:!0,currentTime:0}))},this.syncPlayerWithAttributes=()=>{var e;const t=this.getAttributes();if(!t)return;const i=this.player;if(!i)return;if(this.state.NoSound&&(this.noSoundSyncCount+=1)%8!=0)return;i.paused()!==t.paused&&(this.debug(\"<<< paused -> %o\",t.paused),t.paused?i.pause():null==(e=i.play())||e.catch(this.catchPlayFail)),i.muted()!==t.muted&&(this.debug(\"<<< muted -> %o\",t.muted),i.muted(t.muted)),i.volume()!==t.volume&&(this.debug(\"<<< volume -> %o\",t.volume),i.volume(t.volume));const s=A(t,this.props);let r=g.currentTimeMaxError;this.state.NoSound&&(r*=3),s>i.duration()?this.resetPlayer():Math.abs(i.currentTime()-s)>r&&(this.debug(\"<<< currentTime -> %o\",s),i.currentTime(s))},this.debounceHidingController=()=>{this.controllerHiddenTimer&&(clearTimeout(this.controllerHiddenTimer),this.controllerHiddenTimer=0),this.controllerHiddenTimer=setTimeout((()=>{this.setState({controllerVisible:!1}),this.controllerHiddenTimer=0}),3e3)},this.decreaseRetryCount=()=>{this.player&&this.retryCount>0&&(this.retryCount=this.retryCount-1)},this.catchPlayFail=e=>{var t,i;const s=String(e);if(f&&s.includes(\"NotAllowedError\")||s.includes(\"interact\"))null==(t=this.player)||t.autoplay(\"any\"),this.setState({NoSound:!0});else{const t=null==(i=this.player)?void 0:i.error();t&&(this.retryCount<=3?(this.initPlayer(),this.retryCount=this.retryCount+1):(this.debug(\"catch videojs media error\",t),this.setState({MediaError:!0}))),this.debug(\"catch error\",e)}},this.fixPlayFail=()=>{this.debug(\"try to fix play state\"),this.setState({NoSound:!1});const{muted:e,volume:t}=this.getAttributes();this.player&&(this.player.muted(e),this.player.volume(t))},this.initPlayer=async()=>{var e;null==(e=this.player)||e.dispose(),this.player=void 0,this.debug(\"creating elements ...\");const{type:t,src:i,poster:s}=this.getAttributes(),r=document.createElement(\"div\");r.setAttribute(\"data-vjs-player\",\"\");const o=document.createElement(\"video\");o.className=\"video-js\",s&&(o.poster=s),o.setAttribute(\"playsInline\",\"\"),o.setAttribute(\"webkit-playsinline\",\"\");const n=document.createElement(\"source\");new URL(i).pathname.endsWith(\".m3u8\")?n.type=\"application/x-mpegURL\":o.src=i,n.src=i,t&&(n.type=t),o.appendChild(n),r.appendChild(o),this.container.current.appendChild(r),await new Promise((e=>(window.requestAnimationFrame||window.setTimeout)(e))),this.debug(\"initializing videojs() ...\");const a=p(o);this.player=a,window.player=a,a.one(\"loadedmetadata\",this.gracefullyUpdate),a.on(\"ready\",(()=>{var e;null==(e=g.onPlayer)||e.call(g,a),a.on(\"timeupdate\",this.gracefullyUpdate),a.on(\"volumechange\",this.gracefullyUpdate),a.on(\"seeked\",this.gracefullyUpdate),a.on(\"play\",this.gracefullyUpdate),a.on(\"pause\",this.gracefullyUpdate),a.on(\"ended\",this.resetPlayer)})),a.on(\"error\",this.catchPlayFail),this.setState({MediaError:!1})},this.gracefullyUpdate=()=>this.setState({updater:!this.state.updater}),this.setupAlert=e=>{e&&(e.addEventListener(\"touchstart\",this.fixPlayFail),e.addEventListener(\"click\",this.fixPlayFail)),this.alertMask=e},this.setupReload=e=>{e&&(e.addEventListener(\"touchstart\",this.initPlayer),e.addEventListener(\"click\",this.initPlayer))},this.state={NoSound:!1,MediaError:!1,updater:!1,controllerVisible:!1},e.room&&function(e){if(!e.calibrationTimestamp)throw new Error(\"@netless/app-media-player@0.1.0-alpha.5 requires white-web-sdk@^2.13.8 to work properly.\")}(e.room)}getAttributes(){const{context:e}=this.props;let s=e.getAttributes();if(s){if(s=a(a({},d),s),this.player){let e=A(s,this.props),o=this.player.duration();!s.paused&&e>o&&(r=a({},s),s=t(r,i({currentTime:0,paused:!0})),this.resetPlayer())}var r;return s}}isShowingPoster(){const e=this.getAttributes();return!(null==e?void 0:e.src)||y.some((t=>e.src.endsWith(t)))}render(){var e,t;if(!this.props.room&&!this.props.player)return null;const i=this.getAttributes();if(!i)return null;const s=1e3*((null==(e=this.player)?void 0:e.duration())||1e3),r=(null==(t=this.player)?void 0:t.bufferedPercent())||0;return l.createElement(\"div\",{className:this.isEnabled()?\"vjs-p\":\"vjs-p disabled\",onMouseEnter:this.showController,onMouseMove:this.showController},l.createElement(\"div\",{className:\"video-js-plugin-player\",ref:this.container}),this.isShowingPoster()&&l.createElement(\"div\",{className:\"video-js-plugin-poster\"},i.poster&&l.createElement(\"img\",{src:i.poster,alt:\"\",draggable:!1})),l.createElement(X,{duration:s,volume:i.volume,setVolume:this.setVolume,paused:i.paused,play:this.play,pause:this.pause,currentTime:1e3*A(i,this.props),setCurrentTime:this.setCurrentTime,buffered:s*r,visible:!0}),this.state.NoSound&&l.createElement(\"div\",{ref:this.setupAlert,className:\"videojs-plugin-muted-alert\"}),this.state.MediaError&&l.createElement(\"div\",{className:\"videojs-plugin-recovery-mode\"},l.createElement(\"button\",{ref:this.setupReload},\"Reload Player\")))}debug(e,...t){g.verbose&&g.log(`[MediaPlayer] ${e}`,...t)}componentDidMount(){this.debug(\"app version =\",\"0.1.0-alpha.5\"),this.debug(\"video.js version =\",p.VERSION),this.initPlayer(),this.props.context.emitter.on(\"attributesUpdate\",this.syncPlayerWithAttributes),this.syncPlayerTimer=setInterval(this.syncPlayerWithAttributes,g.syncInterval),this.decreaseRetryTimer=setInterval(this.decreaseRetryCount,g.retryInterval)}componentWillUnmount(){var e;this.debug(\"unmount\"),this.props.context.emitter.off(\"attributesUpdate\",this.syncPlayerWithAttributes),null==(e=this.player)||e.dispose(),clearInterval(this.syncPlayerTimer),clearInterval(this.decreaseRetryTimer)}isEnabled(){return this.props.context.getIsWritable()}}const K={kind:\"MediaPlayer\",setup(e){let t=e.getAttributes();if(!t||!t.src)return e.emitter.emit(\"destroy\",{error:new Error(\"[MediaPlayer]: Missing 'attributes'.'src'.\")});t=a(a({},d),t);const i=e.getBox();i.mountStyles('.vjs-p{display:flex;flex-grow:1}.vjs-p *{pointer-events:auto}.vjs-p.disabled *{pointer-events:none}.vjs-p .video-js-plugin-poster{position:absolute;top:0;left:0;right:0;bottom:0;background-image:url(data:image/png;base64,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);background-repeat:repeat-x;background-position:0 50%;display:flex;align-items:center;justify-content:center}.vjs-p .video-js-plugin-poster img{box-shadow:0 0 5px 10px #0006}.vjs-p .player-controller,.vjs-p .videojs-plugin-muted-alert{pointer-events:auto}.vjs-p.disabled .videojs-plugin-close-icon,.vjs-p.disabled .player-controller{pointer-events:none}.vjs-p .video-js-plugin-player{position:absolute;top:0;left:0;right:0;bottom:0}.video-js,[data-vjs-player]{width:100%;height:100%}.vjs-p .videojs-plugin-muted-alert{pointer-events:auto;cursor:pointer;position:absolute;top:0;left:0;right:0;bottom:0;z-index:43}.vjs-p .videojs-plugin-muted-alert:before{pointer-events:auto;cursor:pointer;position:absolute;top:0;left:0;right:0;bottom:0;z-index:43;content:\"\\\\f104\";background:rgba(0,0,0,.3);font-family:VideoJS;font-size:2em;display:flex;align-items:center;justify-content:center;color:#fff}.vjs-p .videojs-plugin-recovery-mode{pointer-events:auto;cursor:pointer;position:absolute;top:0;left:0;right:0;bottom:0;z-index:44}.vjs-p .videojs-plugin-recovery-mode button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vjs-p .seek-slider{position:relative;width:100%}.vjs-p .seek-slider:focus{outline:none}.vjs-p .seek-slider .track{padding:10px 0;cursor:pointer;outline:none}.vjs-p .seek-slider .track:focus{border:0;outline:none}.vjs-p .seek-slider .track .main{width:100%;height:3px;background-color:#ffffff4d;border-radius:30px;position:absolute;left:0;top:8.5px;transition:transform .4s;outline:none}.vjs-p .seek-slider .track .main:focus{border:0;outline:none}.vjs-p .seek-slider .track .main .buffered{position:absolute;background-color:#ffffff4d;width:100%;height:100%;transform:scaleX(.8);z-index:2;transform-origin:0 0}.vjs-p .seek-slider .track .main .seek-hover{position:absolute;background-color:#ffffff80;width:100%;height:100%;z-index:1;transform:scaleX(.6);transform-origin:0 0;opacity:0;transition:opacity .4s}.vjs-p .seek-slider .track .main .connect{position:absolute;background-color:#fff;width:100%;height:100%;z-index:3;left:0;transform:scaleX(.13);transform-origin:0 0}.vjs-p .seek-slider .track.active .main{transform:scaleY(2)}.vjs-p .seek-slider .thumb{pointer-events:none;position:absolute;width:12px;height:12px;left:-6px;top:4px;z-index:4;transform:translate(100px)}.vjs-p .seek-slider .thumb .handler{border-radius:100%;width:100%;height:100%;background-color:#fff;opacity:0;transform:scale(.4);cursor:pointer;transition:transform .2s;pointer-events:none}.vjs-p .seek-slider .thumb.active .handler{opacity:1;transform:scale(1)}.vjs-p .seek-slider .hover-time{position:absolute;background-color:#0000004d;line-height:18px;font-size:16px;color:#ddd;top:-25px;left:0;padding:5px 10px;border-radius:5px;box-shadow:0 0 5px #0000004d;opacity:0;transform:translate(150px);pointer-events:none}.vjs-p .seek-slider .hover-time.active{opacity:1}.vjs-p .seek-slider:hover .track .main .seek-hover{opacity:1}.vjs-p .player-controller{position:absolute;z-index:100;bottom:0px;left:0;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:stretch;height:64px;background-image:linear-gradient(0deg,#000,transparent);transition:opacity .2s;color:#fff}.vjs-p .player-menu-box{display:flex;align-items:center;justify-content:center;flex-direction:column;margin-bottom:40px}.vjs-p .player-menu-cell{width:100%;text-align:center;font-size:12px;color:#7a7b7c}.vjs-p .player-multiple-play{width:64px;height:120px}.vjs-p .player-controller-actions-left{display:flex;justify-content:center;align-items:center;flex-shrink:0}.vjs-p .player-right-box{font-size:14px;color:#7a7b7c;cursor:pointer;margin-right:12px}.vjs-p .player-controller-actions{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-left:8px;padding-right:8px;margin-top:2px}.vjs-p .player-mid-box-time{font-size:9px;display:flex;justify-content:center;align-items:center;color:#fff;flex-shrink:0;margin-right:8px;font-family:monospace}.vjs-p .player-controller-play{display:flex;align-items:center;justify-content:center;cursor:pointer;padding-right:4px}.vjs-p .player-controller-progress{width:calc(100% - 28px);margin-left:14px;display:flex;align-items:center;justify-content:center;margin-top:8px}.vjs-p .player-volume{display:flex;align-items:center;justify-content:center;cursor:pointer;margin-right:16px;margin-left:8px}.vjs-p .player-volume-slider{width:60px;margin-right:12px;display:flex;align-items:center}.vjs-p .player-volume-box{display:flex;flex-direction:row}.netless-app-media-player-container{display:flex;position:relative;height:100%}\\n');const s=document.createElement(\"div\");s.classList.add(\"netless-app-media-player-container\"),u.render(l.createElement(Y,{context:e}),s),i.mountContent(s),e.emitter.on(\"destroy\",(()=>{console.log(\"[MediaPlayer]: destroy\"),u.unmountComponentAtNode(s)}))}};export{h as Version,K as default,v as setOptions};\n//# sourceMappingURL=main.es.js.map\n","import AppDocsViewer from \"@netless/app-docs-viewer\";\nimport AppMediaPlayer, { setOptions } from \"@netless/app-media-player\";\nimport { WindowManager } from \"./index\";\n\nexport const setupBuiltin = () => {\n if (WindowManager.debug) {\n setOptions({ verbose: true });\n }\n\n WindowManager.register({\n kind: AppDocsViewer.kind,\n src: AppDocsViewer,\n });\n WindowManager.register({\n kind: AppMediaPlayer.kind,\n src: AppMediaPlayer,\n });\n};\n\nexport const BuiltinApps = {\n DocsViewer: AppDocsViewer.kind as string,\n MediaPlayer: AppMediaPlayer.kind as string,\n};\n","import Emittery from \"emittery\";\nimport pRetry from \"p-retry\";\nimport { AppManager } from \"./AppManager\";\nimport { appRegister } from \"./Register\";\nimport { checkVersion, setupWrapper } from \"./Helper\";\nimport { ContainerResizeObserver } from \"./ContainerResizeObserver\";\nimport { createBoxManager } from \"./BoxManager\";\nimport { CursorManager } from \"./Cursor\";\nimport { DEFAULT_CONTAINER_RATIO, Events, ROOT_DIR } from \"./constants\";\nimport { Fields } from \"./AttributesDelegate\";\nimport { initDb } from \"./Register/storage\";\nimport { InvisiblePlugin, isPlayer, isRoom, RoomPhase, ViewMode } from \"white-web-sdk\";\nimport { isEqual, isNull, isObject, omit } from \"lodash\";\nimport { log } from \"./Utils/log\";\nimport { ReconnectRefresher } from \"./ReconnectRefresher\";\nimport { replaceRoomFunction } from \"./Utils/RoomHacker\";\nimport { setupBuiltin } from \"./BuiltinApps\";\nimport \"video.js/dist/video-js.css\";\nimport \"./style.css\";\nimport \"@netless/telebox-insider/dist/style.css\";\nimport type { LoadAppEvent } from \"./Register\";\nimport {\n addEmitterOnceListener,\n ensureValidScenePath,\n entireScenes,\n isValidScenePath,\n wait,\n} from \"./Utils/Common\";\nimport type { TELE_BOX_STATE, BoxManager } from \"./BoxManager\";\nimport {\n AppCreateError,\n AppManagerNotInitError,\n InvalidScenePath,\n ParamsInvalidError,\n} from \"./Utils/error\";\nimport type { Apps, Position } from \"./AttributesDelegate\";\nimport type {\n Displayer,\n SceneDefinition,\n View,\n Room,\n InvisiblePluginContext,\n Camera,\n AnimationMode,\n CameraBound,\n Point,\n Rectangle,\n ViewVisionMode,\n CameraState,\n Player,\n ImageInformation,\n} from \"white-web-sdk\";\nimport type { AppListeners } from \"./AppListener\";\nimport type { NetlessApp, RegisterParams } from \"./typings\";\nimport type { TeleBoxColorScheme, TeleBoxState } from \"@netless/telebox-insider\";\nimport type { AppProxy } from \"./AppProxy\";\n\nexport type WindowMangerAttributes = {\n modelValue?: string;\n boxState: TELE_BOX_STATE;\n maximized?: boolean;\n minimized?: boolean;\n [key: string]: any;\n};\n\nexport type apps = {\n [key: string]: NetlessApp;\n};\n\nexport type AddAppOptions = {\n scenePath?: string;\n title?: string;\n scenes?: SceneDefinition[];\n};\n\nexport type setAppOptions = AddAppOptions & { appOptions?: any };\n\nexport type AddAppParams<TAttributes = any> = {\n kind: string;\n // app 地址(本地 app 不需要传)\n src?: string;\n // 窗口配置\n options?: AddAppOptions;\n // 初始化 attributes\n attributes?: TAttributes;\n};\n\nexport type BaseInsertParams = {\n kind: string;\n // app 地址(本地 app 不需要传)\n src?: string;\n // 窗口配置\n options?: AddAppOptions;\n // 初始化 attributes\n attributes?: any;\n isDynamicPPT?: boolean;\n};\n\nexport type AppSyncAttributes = {\n kind: string;\n src?: string;\n options: any;\n state?: any;\n isDynamicPPT?: boolean;\n fullPath?: string;\n createdAt?: number;\n};\n\nexport type AppInitState = {\n id: string;\n x?: number;\n y?: number;\n width?: number;\n height?: number;\n focus?: boolean;\n maximized?: boolean;\n minimized?: boolean;\n sceneIndex?: number;\n boxState?: TeleBoxState; // 兼容旧版 telebox\n zIndex?: number;\n};\n\nexport type CursorMovePayload = { uid: string; state?: \"leave\"; position: Position };\n\nexport type EmitterEvent = {\n onCreated: undefined;\n InitReplay: AppInitState;\n move: { appId: string; x: number; y: number };\n focus: { appId: string };\n close: { appId: string };\n resize: { appId: string; width: number; height: number; x?: number; y?: number };\n error: Error;\n seek: number;\n mainViewMounted: undefined;\n observerIdChange: number;\n boxStateChange: string;\n playgroundSizeChange: DOMRect;\n onReconnected: void;\n removeScenes: string;\n cursorMove: CursorMovePayload;\n updateManagerRect: undefined;\n focusedChange: { focused: string | undefined, prev: string | undefined };\n rootDirRemoved: undefined;\n};\n\nexport type EmitterType = Emittery<EmitterEvent>;\nexport const emitter: EmitterType = new Emittery();\n\nexport type PublicEvent = {\n mainViewModeChange: ViewVisionMode;\n boxStateChange: `${TELE_BOX_STATE}`;\n darkModeChange: boolean;\n prefersColorSchemeChange: TeleBoxColorScheme;\n cameraStateChange: CameraState;\n mainViewScenePathChange: string;\n mainViewSceneIndexChange: number;\n focusedChange: string | undefined;\n mainViewScenesLengthChange: number;\n canRedoStepsChange: number;\n canUndoStepsChange: number;\n loadApp: LoadAppEvent;\n};\n\nexport type MountParams = {\n room: Room | Player;\n container?: HTMLElement;\n /** 白板高宽比例, 默认为 9 / 16 */\n containerSizeRatio?: number;\n /** 显示 PS 透明背景,默认 true */\n chessboard?: boolean;\n collectorContainer?: HTMLElement;\n collectorStyles?: Partial<CSSStyleDeclaration>;\n overwriteStyles?: string;\n cursor?: boolean;\n debug?: boolean;\n disableCameraTransform?: boolean;\n prefersColorScheme?: TeleBoxColorScheme;\n};\n\nexport type CallbacksType = Emittery<PublicEvent>;\nexport const callbacks: CallbacksType = new Emittery();\n\nexport const reconnectRefresher = new ReconnectRefresher({ emitter });\n\nexport type AddPageParams = {\n after?: boolean;\n scene?: SceneDefinition;\n}\n\nexport class WindowManager extends InvisiblePlugin<WindowMangerAttributes> {\n public static kind = \"WindowManager\";\n public static displayer: Displayer;\n public static wrapper?: HTMLElement;\n public static playground?: HTMLElement;\n public static container?: HTMLElement;\n public static debug = false;\n public static containerSizeRatio = DEFAULT_CONTAINER_RATIO;\n private static isCreated = false;\n\n public version = __APP_VERSION__;\n public dependencies = __APP_DEPENDENCIES__;\n\n public appListeners?: AppListeners;\n\n public readonly?: boolean;\n public emitter: Emittery<PublicEvent> = callbacks;\n public appManager?: AppManager;\n public cursorManager?: CursorManager;\n public viewMode = ViewMode.Broadcaster;\n public isReplay = isPlayer(this.displayer);\n\n private boxManager?: BoxManager;\n private static params?: MountParams;\n\n private containerResizeObserver?: ContainerResizeObserver;\n\n constructor(context: InvisiblePluginContext) {\n super(context);\n WindowManager.displayer = context.displayer;\n (window as any).NETLESS_DEPS = __APP_DEPENDENCIES__;\n }\n\n public static async mount(params: MountParams): Promise<WindowManager> {\n const room = params.room;\n WindowManager.container = params.container;\n const containerSizeRatio = params.containerSizeRatio;\n const debug = params.debug;\n\n const cursor = params.cursor;\n WindowManager.params = params;\n WindowManager.displayer = params.room;\n checkVersion();\n let manager: WindowManager | undefined = undefined;\n if (isRoom(room)) {\n if (room.phase !== RoomPhase.Connected) {\n throw new Error(\"[WindowManager]: Room only Connected can be mount\");\n }\n if (room.phase === RoomPhase.Connected && room.isWritable) {\n // redo undo 需要设置这个属性\n room.disableSerialization = false;\n }\n manager = await this.initManager(room);\n }\n if (WindowManager.isCreated) {\n throw new Error(\"[WindowManager]: Already created cannot be created again\");\n }\n\n this.debug = Boolean(debug);\n log(\"Already insert room\", manager);\n\n if (isRoom(this.displayer)) {\n if (!manager) {\n throw new Error(\"[WindowManager]: init InvisiblePlugin failed\");\n }\n } else {\n await pRetry(\n async count => {\n manager = (await room.getInvisiblePlugin(WindowManager.kind)) as WindowManager;\n if (!manager) {\n log(`manager is empty. retrying ${count}`);\n throw new Error();\n }\n },\n { retries: 10 }\n );\n }\n\n if (!manager) {\n throw new Error(\"[WindowManager]: create manager failed\");\n }\n\n if (containerSizeRatio) {\n WindowManager.containerSizeRatio = containerSizeRatio;\n }\n await manager.ensureAttributes();\n\n manager.appManager = new AppManager(manager);\n manager.cursorManager = new CursorManager(manager.appManager, Boolean(cursor));\n\n if (params.container) {\n manager.bindContainer(params.container);\n }\n\n replaceRoomFunction(room, manager);\n emitter.emit(\"onCreated\");\n WindowManager.isCreated = true;\n try {\n await initDb();\n } catch (error) {\n console.warn(\"[WindowManager]: indexedDB open failed\");\n console.log(error);\n }\n return manager;\n }\n\n private static async initManager(room: Room): Promise<WindowManager> {\n let manager = room.getInvisiblePlugin(WindowManager.kind) as WindowManager;\n if (!manager) {\n if (isRoom(room)) {\n if (room.isWritable === false) {\n try {\n await room.setWritable(true);\n } catch (error) {\n throw new Error(\"[WindowManger]: room must be switched to be writable\");\n }\n manager = (await room.createInvisiblePlugin(\n WindowManager,\n {}\n )) as WindowManager;\n manager.ensureAttributes();\n await wait(500);\n await room.setWritable(false);\n } else {\n manager = (await room.createInvisiblePlugin(\n WindowManager,\n {}\n )) as WindowManager;\n }\n }\n }\n return manager;\n }\n\n private static initContainer(\n manager: WindowManager,\n container: HTMLElement,\n chessboard: boolean | undefined,\n overwriteStyles: string | undefined\n ) {\n if (!WindowManager.container) {\n WindowManager.container = container;\n }\n const { playground, wrapper, sizer, mainViewElement } = setupWrapper(container);\n WindowManager.playground = playground;\n if (chessboard) {\n sizer.classList.add(\"netless-window-manager-chess-sizer\");\n }\n if (overwriteStyles) {\n const style = document.createElement(\"style\");\n style.textContent = overwriteStyles;\n playground.appendChild(style);\n }\n manager.containerResizeObserver = ContainerResizeObserver.create(\n playground,\n sizer,\n wrapper,\n emitter\n );\n WindowManager.wrapper = wrapper;\n return mainViewElement;\n }\n\n public bindContainer(container: HTMLElement) {\n if (WindowManager.isCreated && WindowManager.container) {\n if (WindowManager.container.firstChild) {\n container.appendChild(WindowManager.container.firstChild);\n }\n } else {\n if (WindowManager.params) {\n const params = WindowManager.params;\n const mainViewElement = WindowManager.initContainer(\n this,\n container,\n params.chessboard,\n params.overwriteStyles\n );\n const boxManager = createBoxManager(this, callbacks, emitter, {\n collectorContainer: params.collectorContainer,\n collectorStyles: params.collectorStyles,\n prefersColorScheme: params.prefersColorScheme,\n });\n this.boxManager = boxManager;\n this.appManager?.setBoxManager(boxManager);\n this.bindMainView(mainViewElement, params.disableCameraTransform);\n if (WindowManager.wrapper) {\n this.cursorManager?.setupWrapper(WindowManager.wrapper);\n }\n }\n }\n emitter.emit(\"updateManagerRect\");\n this.appManager?.refresh();\n this.appManager?.resetMaximized();\n this.appManager?.resetMinimized();\n this.appManager?.displayerWritableListener(!this.room.isWritable);\n WindowManager.container = container;\n }\n\n public bindCollectorContainer(container: HTMLElement) {\n if (WindowManager.isCreated && this.boxManager) {\n this.boxManager.setCollectorContainer(container);\n } else {\n if (WindowManager.params) {\n WindowManager.params.collectorContainer = container;\n }\n }\n }\n\n /**\n * 注册插件\n */\n public static register<AppOptions = any, SetupResult = any, Attributes = any>(\n params: RegisterParams<AppOptions, SetupResult, Attributes>\n ): Promise<void> {\n return appRegister.register(params);\n }\n\n /**\n * 创建一个 app 至白板\n */\n public async addApp<T = any>(params: AddAppParams<T>): Promise<string | undefined> {\n if (this.appManager) {\n if (!params.kind || typeof params.kind !== \"string\") {\n throw new ParamsInvalidError();\n }\n const appImpl = await appRegister.appClasses.get(params.kind)?.();\n if (appImpl && appImpl.config?.singleton) {\n if (this.appManager.appProxies.has(params.kind)) {\n throw new AppCreateError();\n }\n }\n const isDynamicPPT = this.setupScenePath(params, this.appManager);\n if (isDynamicPPT === undefined) {\n return;\n }\n if (params?.options?.scenePath) {\n params.options.scenePath = ensureValidScenePath(params.options.scenePath);\n }\n const appId = await this.appManager.addApp(params, Boolean(isDynamicPPT));\n return appId;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n private setupScenePath(params: AddAppParams, appManager: AppManager): boolean | undefined {\n let isDynamicPPT = false;\n if (params.options) {\n const { scenePath, scenes } = params.options;\n if (scenePath) {\n if (!isValidScenePath(scenePath)) {\n throw new InvalidScenePath();\n }\n const apps = Object.keys(this.apps || {});\n for (const appId of apps) {\n const appScenePath = appManager.store.getAppScenePath(appId);\n if (appScenePath && appScenePath === scenePath) {\n console.warn(`[WindowManager]: ScenePath ${scenePath} Already opened`);\n if (this.boxManager) {\n const topBox = this.boxManager.getTopBox();\n if (topBox) {\n this.boxManager.setZIndex(appId, topBox.zIndex + 1, false);\n }\n }\n return;\n }\n }\n }\n if (scenePath && scenes && scenes.length > 0) {\n if (this.isDynamicPPT(scenes)) {\n isDynamicPPT = true;\n if (!entireScenes(this.displayer)[scenePath]) {\n this.room?.putScenes(scenePath, scenes);\n }\n } else {\n if (!entireScenes(this.displayer)[scenePath]) {\n this.room?.putScenes(scenePath, [{ name: scenes[0].name }]);\n }\n }\n }\n if (scenePath && scenes === undefined) {\n this.room?.putScenes(scenePath, [{}]);\n }\n }\n return isDynamicPPT;\n }\n\n /**\n * 设置 mainView 的 ScenePath, 并且切换白板为可写状态\n */\n public async setMainViewScenePath(scenePath: string): Promise<void> {\n if (this.appManager) {\n await this.appManager.setMainViewScenePath(scenePath);\n }\n }\n\n /**\n * 设置 mainView 的 SceneIndex, 并且切换白板为可写状态\n */\n public async setMainViewSceneIndex(index: number): Promise<void> {\n if (this.appManager) {\n await this.appManager.setMainViewSceneIndex(index);\n }\n }\n\n public async nextPage(): Promise<boolean> {\n if (this.appManager) {\n const nextIndex = this.mainViewSceneIndex + 1;\n if (nextIndex >= this.mainViewScenesLength) {\n console.warn(`[WindowManager]: current page is the last page`);\n return false;\n };\n await this.appManager.setMainViewSceneIndex(nextIndex);\n return true;\n } else {\n return false;\n }\n }\n\n public async prevPage(): Promise<boolean> {\n if (this.appManager) {\n const prevIndex = this.mainViewSceneIndex - 1;\n if (prevIndex < 0) {\n console.warn(`[WindowManager]: current page is the first page`);\n return false;\n };\n await this.appManager.setMainViewSceneIndex(prevIndex);\n return true;\n } else {\n return false;\n }\n }\n\n public async addPage(params?: AddPageParams): Promise<void> {\n if (this.appManager) {\n const after = params?.after;\n const scene = params?.scene;\n if (after) {\n const nextIndex = this.mainViewSceneIndex + 1;\n this.room.putScenes(ROOT_DIR, [scene || {}], nextIndex);\n } else {\n this.room.putScenes(ROOT_DIR, [scene || {}]);\n }\n }\n }\n\n /**\n * 返回 mainView 的 ScenePath\n */\n public getMainViewScenePath(): string | undefined {\n return this.appManager?.store.getMainViewScenePath();\n }\n\n /**\n * 返回 mainView 的 SceneIndex\n */\n public getMainViewSceneIndex(): number {\n return this.appManager?.store.getMainViewSceneIndex();\n }\n\n /**\n * 设置所有 app 的 readonly 模式\n */\n public setReadonly(readonly: boolean): void {\n this.readonly = readonly;\n this.boxManager?.setReadonly(readonly);\n }\n\n /**\n * 切换 mainView 为可写\n */\n public switchMainViewToWriter(): Promise<void> | undefined {\n return this.appManager?.mainViewProxy.mainViewClickHandler();\n }\n\n /**\n * app destroy 回调\n */\n public onAppDestroy(kind: string, listener: (error: Error) => void): void {\n addEmitterOnceListener(`destroy-${kind}`, listener);\n }\n\n /**\n * 设置 ViewMode\n */\n public setViewMode(mode: ViewMode): void {\n if (!this.canOperate) return;\n if (mode === ViewMode.Broadcaster) {\n this.appManager?.mainViewProxy.setCameraAndSize();\n this.appManager?.mainViewProxy.start();\n }\n if (mode === ViewMode.Freedom) {\n this.appManager?.mainViewProxy.stop();\n }\n this.viewMode = mode;\n }\n\n public setBoxState(boxState: TeleBoxState): void {\n if (!this.canOperate) return;\n switch (boxState) {\n case \"normal\":\n this.setMaximized(false);\n this.setMinimized(false);\n break;\n case \"maximized\":\n this.setMaximized(true);\n this.setMinimized(false);\n break;\n case \"minimized\":\n this.setMinimized(true);\n break;\n default:\n break;\n }\n }\n\n public setMaximized(maximized: boolean): void {\n if (!this.canOperate) return;\n this.boxManager?.setMaximized(maximized, false);\n }\n\n public setMinimized(minimized: boolean): void {\n if (!this.canOperate) return;\n this.boxManager?.setMinimized(minimized, false);\n }\n\n public get mainView(): View {\n if (this.appManager) {\n return this.appManager.mainViewProxy.view;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get camera(): Camera {\n if (this.appManager) {\n return this.appManager.mainViewProxy.view.camera;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get cameraState(): CameraState {\n if (this.appManager) {\n return this.appManager.mainViewProxy.cameraState;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get apps(): Apps | undefined {\n return this.appManager?.store.apps();\n }\n\n public get boxState(): TeleBoxState | undefined {\n if (this.appManager) {\n return this.appManager.boxManager?.boxState;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get darkMode(): boolean {\n return Boolean(this.appManager?.boxManager?.darkMode);\n }\n\n public get prefersColorScheme(): TeleBoxColorScheme | undefined {\n if (this.appManager) {\n return this.appManager.boxManager?.prefersColorScheme;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get focused(): string | undefined {\n return this.attributes.focus;\n }\n\n public get focusedView(): View | undefined {\n return this.appManager?.focusApp?.view || this.mainView;\n }\n\n public get mainViewSceneIndex(): number {\n return this.appManager?.store.getMainViewSceneIndex();\n }\n\n public get mainViewSceneDir(): string {\n if (this.appManager) {\n return this.appManager?.getMainViewSceneDir();\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get topApp(): string | undefined {\n return this.boxManager?.getTopBox()?.id;\n }\n\n public get mainViewScenesLength(): number {\n return this.appManager?.mainViewScenesLength || 0;\n }\n\n public get canRedoSteps(): number {\n const focused = this.focused;\n if (focused) {\n return this.appManager?.focusApp?.view?.canRedoSteps || 0;\n } else {\n return this.mainView.canRedoSteps;\n }\n }\n\n public get canUndoSteps(): number {\n const focused = this.focused;\n if (focused) {\n return this.appManager?.focusApp?.view?.canUndoSteps || 0;\n } else {\n return this.mainView.canUndoSteps;\n }\n }\n\n /**\n * 查询所有的 App\n */\n public queryAll(): AppProxy[] {\n return Array.from(this.appManager?.appProxies.values() || []);\n }\n\n /**\n * 查询单个 App\n */\n public queryOne(appId: string): AppProxy | undefined {\n return this.appManager?.appProxies.get(appId);\n }\n\n /**\n * 关闭 APP\n */\n public async closeApp(appId: string): Promise<void> {\n return this.appManager?.closeApp(appId);\n }\n\n public moveCamera(\n camera: Partial<Camera> & { animationMode?: AnimationMode | undefined }\n ): void {\n const pureCamera = omit(camera, [\"animationMode\"]);\n const mainViewCamera = { ...this.mainView.camera };\n if (isEqual({ ...mainViewCamera, ...pureCamera }, mainViewCamera)) return;\n this.mainView.moveCamera(camera);\n this.appManager?.dispatchInternalEvent(Events.MoveCamera, camera);\n setTimeout(() => {\n this.appManager?.mainViewProxy.setCameraAndSize();\n }, 500);\n }\n\n public moveCameraToContain(\n rectangle: Rectangle &\n Readonly<{\n animationMode?: AnimationMode;\n }>\n ): void {\n this.mainView.moveCameraToContain(rectangle);\n this.appManager?.dispatchInternalEvent(Events.MoveCameraToContain, rectangle);\n setTimeout(() => {\n this.appManager?.mainViewProxy.setCameraAndSize();\n }, 500);\n }\n\n public convertToPointInWorld(point: Point): Point {\n return this.mainView.convertToPointInWorld(point);\n }\n\n public setCameraBound(cameraBound: CameraBound): void {\n this.mainView.setCameraBound(cameraBound);\n }\n\n public override onDestroy(): void {\n this._destroy();\n }\n\n public override destroy(): void {\n this._destroy();\n }\n\n private _destroy() {\n this.containerResizeObserver?.disconnect();\n this.appManager?.destroy();\n this.cursorManager?.destroy();\n WindowManager.container = undefined;\n WindowManager.wrapper = undefined;\n WindowManager.isCreated = false;\n if (WindowManager.playground) {\n WindowManager.playground.parentNode?.removeChild(WindowManager.playground);\n }\n WindowManager.params = undefined;\n log(\"Destroyed\");\n }\n\n private bindMainView(divElement: HTMLDivElement, disableCameraTransform: boolean | undefined) {\n if (this.appManager) {\n this.appManager.bindMainView(divElement, Boolean(disableCameraTransform));\n this.cursorManager?.setMainViewDivElement(divElement);\n }\n }\n\n public get canOperate(): boolean {\n if (isRoom(this.displayer)) {\n return (\n (this.displayer as Room).isWritable &&\n (this.displayer as Room).phase === RoomPhase.Connected\n );\n } else {\n return false;\n }\n }\n\n public get room(): Room {\n return this.displayer as Room;\n }\n\n public safeSetAttributes(attributes: any): void {\n if (this.canOperate) {\n this.setAttributes(attributes);\n }\n }\n\n public safeUpdateAttributes(keys: string[], value: any): void {\n if (this.canOperate) {\n this.updateAttributes(keys, value);\n }\n }\n\n public setPrefersColorScheme(scheme: TeleBoxColorScheme): void {\n this.appManager?.boxManager?.setPrefersColorScheme(scheme);\n }\n\n public cleanCurrentScene(): void {\n this.focusedView?.cleanCurrentScene();\n }\n\n public redo(): number {\n return this.focusedView?.redo() || 0;\n }\n\n public undo(): number {\n return this.focusedView?.undo() || 0;\n }\n\n public delete(): void {\n this.focusedView?.delete();\n }\n\n public copy(): void {\n this.focusedView?.copy();\n }\n\n public paste(): void {\n this.focusedView?.paste();\n }\n\n public duplicate(): void {\n this.focusedView?.duplicate();\n }\n\n public insertText(x: number, y: number, text: string | undefined): string {\n return this.focusedView?.insertText(x, y, text) || \"\";\n }\n\n public insertImage(info: ImageInformation): void {\n return this.focusedView?.insertImage(info);\n }\n\n public completeImageUpload(uuid: string, url: string): void {\n return this.focusedView?.completeImageUpload(uuid, url);\n }\n\n public lockImage(uuid: string, locked: boolean): void {\n return this.focusedView?.lockImage(uuid, locked);\n }\n\n public lockImages(locked: boolean): void {\n return this.focusedView?.lockImages(locked);\n }\n\n private isDynamicPPT(scenes: SceneDefinition[]) {\n const sceneSrc = scenes[0]?.ppt?.src;\n return sceneSrc?.startsWith(\"pptx://\");\n }\n\n private async ensureAttributes() {\n if (isNull(this.attributes)) {\n await wait(50);\n }\n if (isObject(this.attributes)) {\n if (!this.attributes[Fields.Apps]) {\n this.safeSetAttributes({ [Fields.Apps]: {} });\n }\n if (!this.attributes[Fields.Cursors]) {\n this.safeSetAttributes({ [Fields.Cursors]: {} });\n }\n const sceneState = this.displayer.state.sceneState;\n if (!this.attributes[\"_mainScenePath\"]) {\n this.safeSetAttributes({ _mainScenePath: sceneState.scenePath });\n }\n if (!this.attributes[\"_mainSceneIndex\"]) {\n this.safeSetAttributes({ _mainSceneIndex: sceneState.index });\n }\n }\n }\n}\n\nsetupBuiltin();\n\nexport * from \"./typings\";\n\nexport { BuiltinApps } from \"./BuiltinApps\";\n","import { debounce, isFunction } from \"lodash\";\nimport { log } from \"./Utils/log\";\nimport { RoomPhase } from \"white-web-sdk\";\nimport type { Room } from \"white-web-sdk\";\nimport type { EmitterType } from \"./index\";\n\nexport type ReconnectRefresherContext = {\n emitter: EmitterType;\n};\n\n// 白板重连之后会刷新所有的对象,导致 listener 失效, 所以这里在重连之后重新对所有对象进行监听\nexport class ReconnectRefresher {\n private phase?: RoomPhase;\n private room: Room | undefined;\n private reactors: Map<string, any> = new Map();\n private disposers: Map<string, any> = new Map();\n\n constructor(private ctx: ReconnectRefresherContext) {}\n\n public setRoom(room: Room | undefined) {\n this.room = room;\n this.phase = room?.phase;\n room?.callbacks.off(\"onPhaseChanged\", this.onPhaseChanged);\n room?.callbacks.on(\"onPhaseChanged\", this.onPhaseChanged);\n }\n\n public setContext(ctx: ReconnectRefresherContext) {\n this.ctx = ctx;\n }\n\n private onPhaseChanged = (phase: RoomPhase) => {\n if (phase === RoomPhase.Connected && this.phase === RoomPhase.Reconnecting) {\n this.onReconnected();\n }\n this.phase = phase;\n };\n\n private onReconnected = debounce(() => {\n log(\"onReconnected refresh reactors\");\n this.releaseDisposers();\n this.reactors.forEach((func, id) => {\n if (isFunction(func)) {\n this.disposers.set(id, func());\n }\n });\n this.ctx.emitter.emit(\"onReconnected\", undefined);\n }, 3000);\n\n private releaseDisposers() {\n this.disposers.forEach(disposer => {\n if (isFunction(disposer)) {\n disposer();\n }\n });\n this.disposers.clear();\n }\n\n public add(id: string, func: any) {\n if (isFunction(func)) {\n this.reactors.set(id, func);\n this.disposers.set(id, func());\n }\n }\n\n public remove(id: string) {\n if (this.reactors.has(id)) {\n this.reactors.delete(id);\n }\n const disposer = this.disposers.get(id);\n if (disposer) {\n if (isFunction(disposer)) {\n disposer();\n }\n this.disposers.delete(id);\n }\n }\n\n public hasReactor(id: string) {\n return this.reactors.has(id);\n }\n\n public destroy() {\n this.room?.callbacks.off(\"onPhaseChanged\", this.onPhaseChanged);\n this.releaseDisposers();\n }\n}\n"],"names":["Events","Events2","AppAttributes","AppAttributes2","AppEvents","AppEvents2","AppStatus","CursorState","CursorState2","MIN_WIDTH","MIN_HEIGHT","constructor","initInterval","setInterval","invoke","push","item","list","this","timer","length","currentInvoker","shift","then","catch","error","message","destroy","db","store","initDb","async","Promise","resolve","reject","request","indexedDB","open","onerror","e2","onupgradeneeded","event","db2","target","result","objectStoreNames","contains","createObjectStore","keyPath","createIndex","unique","onsuccess","setItem","key","val","payload","kind","sourceCode","transaction","objectStore","add","getItem","index","get","getScript","url","resource","options","timeout","controller","AbortController","id2","setTimeout","abort","response","fetch","__spreadProps","signal","headers","fetchWithTimeout","text2","text","executeScript","appName","Function","window","appRegister","Map","params","registered","set","srcOrAppOrFunction","src","downloadApp","appClass","name","emit","status","reason","includes","define","amd","loadApp","__esModule","default","Error","appClasses","app","appClassesCache","addHooks","emitter2","createKindEmitter","kind2","kindEmitters","has","Emittery","setViewFocusScenePath","view","focusScenePath","setScenePath","room","scenePath","isWritable","state","sceneState","debounce","callbacks2","mode","makeValidScenePath","displayer","scenes","entireScenes","scene","firstSceneName","parseSceneDir","sceneList","split","pop","sceneDir","join","getVersionNumber","version","versionString","map","s2","padStart","parseInt","wait","time","manager","authorId","observerId","data","eventName","AppMove","appMoveHandler","AppResize","appResizeHandler","AppBoxStateChange","boxStateChangeHandler","SetMainViewScenePath","setMainViewScenePathHandler","MoveCamera","moveCameraHandler","MoveCameraToContain","moveCameraToContainHandler","CursorMove","cursorMoveHandler","boxManager","moveBox","resizeBox","Object","assign","skipUpdate","refreshViewSize","nextScenePath","mainView","isEqual","omit","__spreadValues","camera","moveCamera","moveCameraToContain","addListeners","addMagixEventListener","mainMagixEventListener","removeListeners","removeMagixEventListener","onObjectByEvent","object","func","listenUpdated","listener","events","unlistenUpdated","reaction","fireImmediately","safeListenPropsUpdated","getProps","callback","onDestroyed","disposeListenUpdated","disposeReaction","props","isObject","onObjectRemoved","UpdateEventKind","Removed","Inserted","plainObjectKeys","keys","Boolean","Set","listeners","size","dispatch","forEach","addListener","removeListener","delete","STORAGE_NS","context","defaultState","SideEffectManager","WeakMap","StorageEvent","_context","id","_state","rawState","_getRawState","getIsWritable","getAttributes","updateAttributes","setState","rawValue","JSON","parse","stringify","isRef","v","_refMap","_sideEffect","addDisposer","_updateProperties","bind","_destroyed","warn","addStateChangedListener","handler","onStateChanged","ensureState","reduce","value","v2","_lastValue","_setRawState","refValue","k","genUID","__isRef","emptyStorage","mapValues","noop","deleteStorage","flushAll","defaultValue","actions","diffs","i2","action","oldValue","newValue","curValue","k2","appId","appProxy","appOptions","autorun","toJS","listenDisposed","unlistenDisposed","isReplay","attributes","appAttr","getAppAttributes","isDynamicPPT","getAppInitPath","canOperate","box","getBox","BoxNotCreatedError","safeSetAttributes","safeUpdateAttributes","setFullPath","getRoom","dom","getView","divElement","storeId","storage","Storage","emitter","on","args","dispatchMagixEvent","appEmitter","isAddApp","_storage","Fields","Fields2","focus","Focus","setContext","apps","Apps","getAppState","State","getMaximized","getMinimized","setupAppAttributes","attrNames","pick","attrs","createdAt","Date","now","Size","Position","SceneIndex","updateAppState","stateName","cleanAppAttributes","cleanFocus","getAppSceneIndex","getAppScenePath","getMainViewScenePath","getMainViewSceneIndex","getBoxState","BoxState","setMainViewScenePath","_mainScenePath","setMainViewSceneIndex","_mainSceneIndex","getMainViewCamera","MainViewCamera","getMainViewSize","MainViewSize","setMainViewCamera","setMainViewSize","size2","updateCursor","uid","position","Cursors","updateCursorState","cursorState","getCursorState","cleanCursor","setMainViewFocusPath","log","WindowManager","debug","appProxies","viewManager","sceneIndex","maximized","minimized","zIndex","x","y","width","height","appId2","refresher","stateKey","appState","appAttributes","setZIndex","fullPath","setFocusScenePathHandler","appListener","makeAppEventListener","initScenes","createView","readonly","getFullScenePath","FullPath","getFullScenePathFromScenes","dir","getScenePath","path","appImpl","appParams","setupApp","BoxManagerNotFoundError","AppContext","appContext","once","WindowCreated","boxInitState","getAppInitState","updateBoxState","onAny","appAttributesUpdateListener","setup","appResult","notifyApp","afterSetupApp","fixMobileSize","createBox","smartPosition","ZIndex","focusBox","intrinsicWidth","intrinsicHeight","setBoxInitState","onSeek","currentAppState","AppProxy","baseInsertApp","emitAppSceneStateChange","emitAppIsWritableChange","setBoxMinSize","minWidth","minwidth","minHeight","minheight","setBoxTitle","title","fullScenePath","needCloseBox","cleanAttrs","error2","stack","clearListeners","closeBox","scenePathType","ScenePathType","None","removeScenes","destroyView","appStatus","remove","close","views","release","setViewScenePath","clear","setDefaultCameraBound","setCameraBound","maxContentMode","minContentMode","mainViewCamera","moveCameraToContian","mainViewSize","mainViewClickHandler","cameraState","createMainView","moveCameraSizeByAttributes","addMainViewListener","start","setCameraAndSize","playgroundSizeChangeListener","sizeChangeHandler","sideEffectManager","off","started","addCameraListener","cameraReaction","mainViewScenePath","onReconnect","rebind","disableCameraTransform","stop","mainViewIsAddListener","addEventListener","mainViewClickListener","removeMainViewListener","removeEventListener","blurAllBox","callbacks","onCameraUpdatedByDevice","onCameraOrSizeUpdated","removeCameraListener","isEmpty","originX","originY","animationMode","AnimationMode","Immediately","scale","centerX","centerY","needScale","focused","addViewCallbacks","onCanRedoStepsUpdate","onCanUndoStepsUpdate","focusApp","getAppProxy","redoListener","undoListener","canRedoSteps","canUndoSteps","steps","prevFocused","disposeViewCallbacks","disposePrevFocusViewRedoUndoListeners","changed","prev","addRedoUndoListeners","windowManger","AppCreateQueue","isRecreate","callbacksNode","dispose","createScenesCallback","onAddScene","mainViewScenesLength","scenesCallback","onRemoveScene","ids","startsWith","isReadonly","isManualWritable","setReadonly","disableSerialization","pageName","replace","findIndex","isInteger","dispatchInternalEvent","mainViewProxy","MainViewProxy","ViewManager","appListeners","AppListeners","displayerStateListener","reconnectRefresher","setRoom","appCreateQueue","onCreated","onReconnected","isPlayer","attributesUpdateCallback","onAppDelete","createRootDirScenesCallback","onRootDirRemoved","closeApp","isRoom","getMainViewSceneDir","boxEventListener","setMaximized","setMinimized","mainSceneIndex","_prevSceneIndex","_prevFocused","mainScenePath","displayerWritableListener","redoUndo","RedoUndo","container","appsWithCreatedAt","orderBy","StartCreate","focusByAttributes","refresh","setBoxManager","resetMaximized","resetMinimized","bindMainView","needFocus","beforeAddApp","afterAddApp","impl","config","singleton","v4","slice","genAppId","setAppFocus","intrinsicX","intrinsicY","Page","_setMainViewScenePath","Dir","validScenePath","updateSceneIndex","dispatchSetMainViewScenePath","safeDispatchMagixEvent","boxSize","focusAppId","reconnected","Array","from","values","all","notifyContainerRectUpdate","rect","offAny","ResizeObserver","ResizeObserverPolyfill","sizer","wrapper","containerResizeObserver","ContainerResizeObserver","observePlaygroundSize","updateSizer","getBoundingClientRect","containerRect","contentRect","observe","containerSizeRatio","classList","toggle","style","disconnect","getOwnPropertySymbols","hasOwnProperty","prototype","propIsEnumerable","propertyIsEnumerable","TypeError","objectAssign","test1","String","getOwnPropertyNames","test2","fromCharCode","n2","test3","letter","err","shouldUseNative","source","symbols","to","toObject","arguments","call","l","require$$0","n","Symbol","for","p","q","r","t","u","w","z","A","B","iterator","a2","b2","c","encodeURIComponent","D","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","E","refs","updater","F","isReactComponent","C","forceUpdate","G","I","H","isPureReactComponent","J","current","K","L","ref","__self","__source","d2","g2","f2","children","h","m2","defaultProps","$$typeof","type","_owner","P","Q","keyPrefix","count","U","isArray","T","next","done","a3","escape","toString","X","N","aa","R","Y","ba","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","ReactCurrentOwner","IsSomeRendererActing","W","V","toArray","only","O","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","Provider","Consumer","M","render","_ctor","_status","_result","compare","Z","useCallback","useContext","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","e","defineProperty","defineProperties","i","getOwnPropertyDescriptors","s","o","t2","enumerable","configurable","writable","a","m","exports","e3","t3","i3","fn","s3","n3","o3","r2","l2","_events","_eventsCount","create","__proto__","eventNames","r3","concat","listenerCount","apply","u2","o2","removeAllListeners","prefixed","EventEmitter","f","indexOf","g","b","requestAnimationFrame","Math","max","$","delta","timestamp","_","WeakSet","cancel","splice","process","schedule","c2","S","min","Number","toFixed","test","parseFloat","transform","endsWith","j","red","hue","substring","lastIndexOf","round","green","blue","alpha","saturation","lightness","substr","ee","onRead","onRender","uncachedValues","useCache","e4","hasCSSVariable","te","ie","toLowerCase","se","re","ne","oe","ae","document","le","he","createElement","charAt","toUpperCase","ce","de","ue","ve","ge","be","color","backgroundColor","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderRadius","radius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","maxWidth","maxHeight","top","right","bottom","left","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginRight","marginBottom","marginLeft","rotate","rotateX","rotateY","rotateZ","scaleX","scaleY","scaleZ","skew","skewX","skewY","distance","translateX","translateY","translateZ","perspective","opacity","originZ","fillOpacity","strokeOpacity","numOctaves","xe","ye","we","$e","Ce","enableHardwareAcceleration","isDashCase","allowTransformNone","pe","ze","sort","fe","l3","h2","trim","transformOrigin","Be","Me","element","preparseOutput","me","getComputedStyle","getPropertyValue","buildStyles","setProperty","scrollLeft","scrollTop","Ee","ke","Se","Ne","_e","attrX","attrY","pathLength","pathSpacing","pathOffset","Re","Te","Ie","getAttribute","buildAttrs","setAttribute","Oe","pageYOffset","pageXOffset","scrollTo","De","querySelector","HTMLElement","click","SVGElement","getBBox","tagName","getTotalLength","Le","Ae","He","We","je","Pe","Ye","random","disposers","flush","clearTimeout","clearInterval","Je","Qe","Ke","et","tt","it","st","rt","nt","ot","Fe","Ze","require","_value","setValue","_subscribers","subscribe","derive","qe","addBeforeDestroy","_beforeDestroys","t4","bindSideEffect","combine","e5","i4","s4","e6","s5","createVal","stopPropagation","cancelable","preventDefault","touches","Light","Dark","Auto","Normal","Minimized","Maximized","DarkMode","PrefersColorScheme","Close","Blur","Move","Resize","IntrinsicMove","IntrinsicResize","VisualResize","Readonly","Destroyed","Maximize","Minimize","North","South","West","East","NorthWest","NorthEast","SouthEast","SouthWest","ut","buttons","onEvent","onDragStart","namespace","$btns","sideEffect","Xe","lastTitleBarClick","clientX","clientY","handleTitleBarClick","button","dataset","teleTitleBarNoDblClick","abs","lastTitleBarTouch","handleTitleBarTouch","iconClassName","wrapClassName","isActive","$dragArea","renderDragArea","setTitle","$title","textContent","$titleBar","className","teleBoxHandle","appendChild","teleTitleBarBtnIndex","isNaN","passive","dragHandle","dt","mt","prefersColorScheme","darkMode","visible","resizable","draggable","p2","fence","fixRatio","x2","y2","w2","titleBar","$2","content","C2","footer","z2","styles","B2","_2","innerWidth","innerHeight","collectorRect","M2","_renderSideEffect","handleTrackStart","_handleTrackStart","_valSideEffectBinder","Ue","E2","_delegateEvents","S2","R2","matchMedia","matches","bt","N2","T2","L2","I2","O2","D2","A2","V2","H2","W2","j2","P2","Y2","X2","F2","lt","Z2","q2","G2","U2","J2","pt","Q2","K2","ee2","$userContent","$userFooter","$userStyles","_state$","_minSize$","_size$","_intrinsicSize$","_visualSize$","_coord$","_intrinsicCoord$","$box","_darkMode$","setMinWidth","setMinHeight","resize","move","mount","unmount","mountContent","set$userContent","unmountContent","mountFooter","set$userFooter","unmountFooter","getUserStyles","mountStyles","set$userStyles","unmountStyles","ft","_readonly$","_draggable$","vt","_resizable$","_focus$","_visible$","display","_zIndex$","Ve","teleBoxID","absoluteWidth","absoluteHeight","_minimized$","_containerRect$","_collectorRect$","$content","_$userStyles$","_$userContent$","$footer","_$userFooter$","_renderResizeHandlers","pageX","pageY","ct","d3","m3","m4","wt","$t","onClick","handleCollectorClick","_readonly","_visible","_darkMode","$collector","setVisible","setDarkMode","setStyles","backgroundImage","Focused","Blurred","Created","boxes","focusedBox","$titles","firstElementChild","setContainerRect","setBoxes","updateTitles","super","nextElementSibling","insertBefore","replaceChild","renderTitles","currentTarget","scrollBy","deltaY","behavior","root","body","collector","boxes$","topBox$","setPrefersColorScheme","maxTitleBar","setFence","Ct","setCollectorRect","parentElement","makeBoxTop","zt","removeTopBox","focusTopBox","gt","topBox","query","filter","teleBoxMatcher","queryOne","find","update","updateBox","updateAll","getBoxIndex","removeAll","setFocus","blurBox","blurAll","every","setResizable","setDraggable","setFixRatio","createTeleBoxManagerConfig","teleBoxManager","setupBoxManager","_prefersColorScheme$","colorScheme","getTopBox","updateManagerRect","getMainView","createBoxConfig","TELE_BOX_STATE","initManagerState","TeleBoxManager","collectorContainer","setCollectorContainer","TeleBoxCollector","collectorStyles","setCollector","boxIsFocus","getFocusBox","fns","run","thing","src_url_equal_anchor","current_component","element_src","href","node","anchor","parentNode","removeChild","createTextNode","attribute","removeAttribute","wholeText","important","component","dirty_components","binding_callbacks","render_callbacks","flush_callbacks","resolved_promise","update_scheduled","flushing","seen_callbacks","$$","fragment","before_update","dirty","ctx","after_update","add_render_callback","outroing","instance2","create_fragment2","not_equal","append_styles","parent_component","bound","blank_object","on_mount","on_destroy","on_disconnect","skip_bound","ready","ret","rest","hydrate","nodes","element2","childNodes","detach","intro","block","local","customElement","new_on_destroy","is_function","cursorName","appliance","avatar","theme","cursorTagBackgroundColor","hasTagName","hasAvatar","isLaserPointer","ApplianceNames","laserPointer","entries","hasName","$destroy","detaching","d","$on","$set","$$props","obj","$$set","ApplianceMap","pencil","selector","eraser","shape","memberId","cursorManager","wrapperRect","autoHidden","moveCursor","focusView","viewRect","viewCamera","hide","updateMember","createCursor","cursor","point","screen","convertPointToScreen","member","memberState","currentApplianceName","strokeColor","nickName","cursorTextColor","memberColor","memberCursorName","memberAvatar","cursorTagName","App","initProps","memberApplianceName","getIcon","memberTheme","memberCursorTextColor","memberCursorTagBackgroundColor","memberOpacity","memberTagName","roomMembers","findMemberByUid","updateComponent","cursorInstances","enableCursor","cursorInstance","initCursorInstance","Leave","leave","canMoveCursor","Cursor","throttle","pointerType","isPrimary","getType","convertToPointInWorld","mainViewElement","hideCursor","setupWrapper","onCursorMove","updateContainerRect","mouseMoveListener","mouseLeaveListener","setMainViewDivElement","div","getPoint","deleteCursor","delegateRemoveScenes","originRemoveScenes","delegateSeekToProgressTime","player","originSeek","seekToProgressTime","seekResult","__defProp2","__defProps2","__getOwnPropDescs2","__getOwnPropSymbols2","__hasOwnProp2","__propIsEnum2","__defNormalProp2","__spreadValues2","prop","__spreadProps2","copyProperty","property","ignoreNonConfigurable","toDescriptor","getOwnPropertyDescriptor","fromDescriptor","canCopyProperty","wrappedToString","withName","fromBody","toStringDescriptor","toStringName","mimicFn_1","Reflect","ownKeys","fromPrototype","getPrototypeOf","setPrototypeOf","newToString","debounceFn","inputFunction","maxWait","Infinity","before","after","maxTimeout","debouncedFunction","arguments_","maxLater","shouldCallNow","wait2","runningOnBrowser","isBot","navigator","userAgent","supportsIntersectionObserver","supportsClassList","isHiDpi","devicePixelRatio","defaultSettings","elements_selector","threshold","thresholds","data_src","data_srcset","data_sizes","data_bg","data_bg_hidpi","data_bg_multi","data_bg_multi_hidpi","data_poster","class_applied","class_loading","class_loaded","class_error","class_entered","class_exited","unobserve_completed","unobserve_entered","cancel_on_exit","callback_enter","callback_exit","callback_applied","callback_loading","callback_loaded","callback_error","callback_finish","callback_cancel","use_native","getExtendedSettings","customSettings","createInstance","classObj","eventString","CustomEvent","detail","instance","createEvent","initCustomEvent","dispatchEvent","SRC","ORIGINALS","getData","getStatus","setStatus","attrName","setData","resetStatus","hasEmptyStatus","hasStatusNative","statusesAfterLoading","safeCallback","arg1","arg2","arg3","addClass","removeClass","RegExp","getTempImage","llTempImage","unobserve","observer","_observer","updateLoadingCount","loadingCount","setToLoadCount","toLoadCount","getSourceTags","parentTag","sourceTags","childTag","forEachPictureSource","parent","forEachVideoSource","attrsSrc","attrsSrcPoster","attrsSrcSrcsetSizes","hasOriginalAttrs","getOriginalAttrs","deleteOriginalAttrs","setOriginalsObject","originals","restoreOriginalAttrs","manageLoading","settings","setAttributeIfValue","setImageAttributes","setMultiBackground","bg1xValue","bgHiDpiValue","bgDataValue","setSourcesFunctions","IMG","imgEl","sourceTag","IFRAME","iframe","VIDEO","videoEl","sourceEl","load","elementsWithLoadEvent","checkFinish","isSomethingLoading","haveElementsToLoad","llEvLisnrs","hasEventListeners","removeEventListeners","eventListeners","doneHandler","addOneShotEventListeners","elementToListenTo","loadHandler2","errorHandler2","loadEventName","goingNative","loadBackground","loadRegular","setSourcesFunction","hasLoadEvent","loadNative","removeImageAttributes","restoreImg","restoreFunctions","iframeEl","restoreAttributes","restoreFunction","restore","cancelLoading","entry","hasStatusLoading","onEnter","dontLoad","hadStartedLoading","tagsWithNativeLazy","HTMLImageElement","intersectionHandler","isIntersecting","intersectionRatio","onExit","setObserver","IntersectionObserver","rootMargin","getObserverSettings","nodeSet","queryElements","querySelectorAll","hasError","hasStatusError","getElementsToLoad","elements","excludeManagedElements","retryLazyLoad","LazyLoad","_settings","givenNodeset","elementsToLoad","elementsToObserve","loadAll","restoreAll","optionsItem","lazyLoadOptions","pages","onNewPageIndex","onPlay","pageIndex","isShowPreview","isSmallBox","previewLazyLoad","$preview","$pageNumberInput","disabled","setPageIndex","setSmallBox","renderContent","renderFooter","renderPreviewMask","renderPreview","pageClassName","pageNameClassName","page","_a","previewSRC","thumbnail","$page","$name","$img","ev","stopImmediatePropagation","togglePreview","$previewMask","some","$btnSidebar","renderFooterBtn","NS","$svg","createElementNS","$path","sidebarSVG","$pageJumps","$btnPageBack","arrowLeftSVG","$btnPlay","playSVG","pauseSVG","returnPlay","$btnPageNext","arrowRightSVG","$pageNumber","select","$totalPage","$icon","$iconActive","$btn","$previewPage","offsetTop","_b","_c","velocity","paused","_animationFrameID","_loopTimestamp","looper","frames","floor","stepper","onStep","stiffness","damping","stepTo","pause","fSpring","fDamper","newVelocity","newCurrent","lastVisit","pageOffsetY","setScale","requestIdleCallback","cancelSchedule","cancelIdleCallback","els","maxElCount","gcTimer","gc","sortedEls","getEl","el","PageEl","pageEl","_hwaTimeout","NaN","_turnOffHWA","$pages","pagesScrollTop","containerWidth","containerHeight","URL","searchParams","pagesIntrinsicYs","pagesMinHeight","pagesIntrinsicWidth","pagesIntrinsicHeight","_calcScale","_calcThreshold","onPageIndexChanged","pageScrollIndex","findScrollPageIndex","pageElManager","PageElManager","renderPages","setContainerSize","pagesScrollTo","force","clamp","_turnOnHWA","startIndex","endIndex","$parent","ceil","pagesWidth","pagesHeight","scrollbarMinHeight","scrollbarHeight","_calcScrollbarHeight","onDragScroll","$scrollbar","renderScrollbar","_updateScrollbarHeight","trackStart","draggingClassName","startTop","startY","flattenEvent","tracking","ev2","offsetY","trackEnd","newHeight","whiteboardView","pageScrollTop","mountWhiteboard","onUserScroll","userScrolling","scrollToPage","_onUserScroll","debouncedOnUserScroll","pageRenderer","updateUserScroll","viewer","DocsViewer","PageRenderer","scrollbar","ScrollBar","pageScrollTop2","pageScrollTo","pageScrollStepper","Stepper","setupScrollListener","renderRatioHeight","syncPageScrollTop","renderWhiteboardView","boxHeight","titleBarSupposedHeight","titleBarActualHeight","footerSupposedHeight","footerActualHeight","emptySpace","titleBarHeight","footerHeight","$whiteboardView","capture","scrollTopPageToEl","scrollTopElToPage","elScrollTop","elScrollTo","halfWbHeight","handleCameraUpdate","wbWidth","wbHeight","handleSizeUpdate","newPageScrollTop","disposerID","dFn","onPlayPPT","pptNextStep","_scaleDocsToFitImpl","getPageIndex","_scaleDocsToFitDebounced","scaleDocsToFit","jumpToPage","getDisplayer","reset","initScenePath","getInitScenePath","getScenes","pptState","globalState","__pptState","setGlobalState","uuid","disableAutoPlay","renderMask","$mask","mountView","NetlessAppDocsViewer","ppt","previewURL","docsViewer","DynamicDocsViewer","contentWidth","contentHeight","pageWidth","pageHeight","diff","StaticDocsViewer","_a2","MessageChannel","unstable_now","performance","console","cancelAnimationFrame","port2","port1","onmessage","postMessage","sortIndex","startTime","expirationTime","priorityLevel","delay","require$$1","require$$2","onError","da","ea","fa","ha","ia","la","ma","na","pa","qa","sa","extractEvents","eventTypes","ta","phasedRegistrationNames","ua","registrationName","va","dependencies","wa","ra","ya","za","Aa","Ba","stateNode","Ia","Fa","Ja","Ka","Ea","La","Na","Oa","Pa","Qa","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","Ua","Va","xlinkHref","Wa","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","Sa","Ra","setAttributeNS","Ya","Za","$a","ab","bb","cb","eb","fb","gb","hb","ib","jb","kb","lb","mb","displayName","pb","tag","_debugOwner","_debugSource","fileName","lineNumber","return","nodeName","_valueTracker","sb","getValue","stopTracking","tb","checked","defaultChecked","_wrapperState","initialChecked","rb","initialValue","controlled","Xa","Db","ownerDocument","activeElement","Children","Fb","selected","defaultSelected","dangerouslySetInnerHTML","Mb","Nb","Pb","Qb","namespaceURI","innerHTML","valueOf","firstChild","MSApp","execUnsafeLocalFunction","lastChild","nodeType","nodeValue","Tb","animationend","Sb","animationiteration","animationstart","transitionend","Ub","Vb","animation","transition","Xb","Wb","Yb","Zb","$b","ac","bc","alternate","effectTag","memoizedState","dehydrated","dc","child","fc","sibling","kc","_dispatchListeners","_dispatchInstances","isPropagationStopped","oa","isPersistent","ic","lc","srcElement","correspondingUseElement","pc","topLevelType","nativeEvent","targetInst","ancestors","eventSystemFlags","containerInfo","tc","nc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","blockedOn","pointerId","Kc","Nc","ec","unstable_runWithPriority","priority","Rc","Qc","Sc","unstable_scheduleCallback","unstable_NormalPriority","Tc","b3","Uc","Wc","Yc","Zc","$c","bubbled","captured","eventPriority","ad","bd","cd","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","Ha","Mc","Oc","rc","sc","jd","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","order","orphans","tabSize","widows","zoom","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeWidth","kd","ld","nd","menuitem","area","base","br","col","embed","hr","img","input","keygen","link","meta","param","track","wbr","is","qd","cc","ud","offset","nextSibling","wd","compareDocumentPosition","td","HTMLIFrameElement","contentWindow","location","contentEditable","Dd","Ed","autoFocus","__html","Hd","Id","previousSibling","Ld","Md","Nd","Od","Kd","Sd","dispatchConfig","_targetInst","Rd","Vd","Ud","Yd","Zd","$d","Interface","isDefaultPrevented","defaultPrevented","returnValue","eventPool","destructor","getPooled","cancelBubble","persist","eventPhase","bubbles","timeStamp","isTrusted","extend","documentMode","beforeInput","compositionEnd","compositionStart","compositionUpdate","keyCode","locale","Xd","which","ctrlKey","altKey","metaKey","char","date","datetime","email","month","number","password","range","search","tel","week","change","yb","Pd","detachEvent","attachEvent","Ge","oc","_isInputEventSupported","Alt","Control","Meta","Shift","getModifierState","screenX","screenY","shiftKey","relatedTarget","fromElement","toElement","movementX","movementY","pressure","tangentialPressure","tiltX","tiltY","twist","mouseEnter","mouseLeave","pointerEnter","pointerLeave","defaultView","parentWindow","af","cf","df","ef","ff","gf","hf","yd","selectionStart","end","selectionEnd","anchorNode","getSelection","anchorOffset","focusNode","focusOffset","bf","kf","onSelect","jf","lf","animationName","elapsedTime","pseudoElement","mf","clipboardData","nf","charCode","pf","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Scroll","MozPrintableKey","qf","rf","of","repeat","sf","dataTransfer","tf","targetTouches","changedTouches","uf","vf","deltaX","wheelDeltaX","wheelDeltaY","wheelDelta","deltaZ","deltaMode","wf","Qd","xa","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","yf","zf","Af","Bf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","childContextTypes","getChildContext","__reactInternalMemoizedMergedChildContext","Ff","If","Jf","Kf","unstable_cancelCallback","Lf","unstable_requestPaint","Mf","Nf","unstable_getCurrentPriorityLevel","Of","unstable_ImmediatePriority","Pf","Qf","Rf","unstable_LowPriority","Sf","unstable_IdlePriority","Tf","Uf","unstable_shouldYield","Vf","Wf","Xf","Yf","Zf","$f","bg","fg","gg","jg","kg","lg","mg","childExpirationTime","firstContext","observedBits","responders","tg","updateQueue","baseState","baseQueue","shared","pending","effects","suspenseConfig","vg","ca","Dg","Eg","Component","Jg","_reactInternalFiber","Gg","wg","Hg","shouldComponentUpdate","contextType","sg","Cf","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","zg","componentDidMount","Og","_stringRef","lastEffect","nextEffect","firstEffect","Sg","Tg","elementType","Pg","Ug","implementation","Vg","f3","Wg","nb","k3","g3","D3","Qg","Xg","Rg","Yg","Zg","$g","ah","bh","documentElement","Ob","ch","memoizedProps","revealOrder","responder","jh","kh","lh","mh","ph","qh","rh","sh","O$1","queue","P$1","uh","lastRenderedReducer","eagerReducer","eagerState","Bg","Ag","lastRenderedState","th","vh","zh","deps","Ah","nh","Ch","Dh","Hh","ag","readContext","useDebugValue","useResponder","useDeferredValue","useTransition","Kh","Eh","yh","Jh","ih","Nh","Lh","Fh","Ih","Gh","Mh","wh","Bh","xh","Oh","Ph","Qh","Sh","pendingProps","Th","Jd","Vh","Gd","Yh","rg","oh","$h","bi","ci","di","Lg","Ng","Mg","Kg","ig","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","gi","Hf","getDerivedStateFromError","pendingContext","Ef","ni","pi","qi","ii","retryTime","fallback","unstable_avoidThisFallback","Uh","isBackwards","rendering","renderingStartTime","last","tail","tailExpiration","tailMode","ki","hh","Df","eh","Wh","wasMultiple","multiple","rd","onclick","sd","pd","zb","Gb","Ib","md","Rb","Hb","ti","ui","vi","wi","T$1","yi","og","ri","gh","qb","Bi","__reactInternalSnapshotBeforeUpdate","Cg","Fd","Vc","Li","componentWillUnmount","Di","Ni","Oi","Qi","Ri","_reactRootContainer","Ki","Bb","Ti","Vi","Wi","Zi","componentDidCatch","aj","Ci","componentStack","Rj","bj","cj","dj","kj","lj","mj","nj","oj","Yi","qj","rj","sj","tj","uj","vj","wj","hg","timeoutMs","xj","yj","xi","lastExpiredTime","Aj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","eg","zj","dg","Bj","Cj","Ej","Fj","X$1","finishedWork","finishedExpirationTime","lastSuspendedTime","Ij","timeoutHandle","Jj","busyMinDurationMs","busyDelayMs","pingCache","Oj","Ai","Xi","ub","$i","Pj","Xc","Qj","si","U$1","zi","Sj","firstSuspendedTime","xd","rangeCount","wb","activeElementDetached","focusedElem","selectionRange","Y$1","Mi","vd","createRange","setStart","removeAllRanges","addRange","setEnd","Ji","vb","Uj","Gi","cg","Vj","Ii","hidden","Gf","ji","mi","Fg","Xj","fi","Zh","ai","Xh","fh","ei","dh","xg","qg","unstable_observedBits","Zj","pendingChildren","dk","ak","Jc","_internalRoot","ck","hasAttribute","fk","hk","gk","jk","ek","form","Mj","Ga","Dj","lk","Wd","Da","mc","findFiberByHostInstance","__REACT_DEVTOOLS_GLOBAL_HOOK__","isDisabled","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","Yj","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","hc","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","bundleType","rendererPackageName","kk","ik","checkDCE","currentTime","hostTime","muted","volume","currentTimeMaxError","syncInterval","retryInterval","verbose","beginTimestamp","progressTime","calibrationTimestamp","global","self","toStringTag","leading","trailing","seeking","mobileSeeking","hoverTime","secondsPrefix","minutesPrefix","seekPause","handleTouchSeeking","changeCurrentTimePosition","handleSeeking","setTrackWidthState","trackWidth","offsetWidth","handleTrackHover","seekHoverPosition","mouseSeekingHandler","setSeeking","onMouseUp","mobileTouchSeekingHandler","setMobileSeeking","renderBufferProgress","buffered","getPositionStyle","bufferColor","renderProgress","sliderColor","renderHoverProgress","getSeekHoverPosition","sliderHoverColor","renderThumb","isThumbActive","getThumbHandlerPosition","thumbColor","onMouseDown","onSeekStart","play","onSeekEnd","total","onChange","getHoverTimePosition","limitTimeTooltipBySides","secondsToTime","mm","ss","getHoverTime","drawHoverTime","hideHoverTime","onMouseMove","onMouseLeave","onTouchStart","onTouchEnd","stageVolume","updateVolumeTimer","onVolumeSeeking","onClickOperationButton","operationButton","operationVolumeButton","handleClickVolume","setVolume","changeTime","setCurrentTime","onVolumeChange","changeVolume","seekVolume","onVolumeSeekStart","onVolumeSeekEnd","onProgressSeekStart","isPlayerSeeking","onProgressSeekEnd","isVolumeHover","duration","onMouseEnter","putAttributes","plugin","alertMask","createRef","controllerHiddenTimer","syncPlayerTimer","retryCount","decreaseRetryTimer","noSoundSyncCount","showController","controllerVisible","debounceHidingController","isEnabled","resetPlayer","autoplay","NoSound","syncPlayerWithAttributes","catchPlayFail","decreaseRetryCount","initPlayer","MediaError","fixPlayFail","poster","pathname","one","gracefullyUpdate","onPlayer","setupAlert","setupReload","isShowingPoster","bufferedPercent","alt","VERSION","unmountComponentAtNode","BuiltinApps","AppDocsViewer","MediaPlayer","AppMediaPlayer","phase","RoomPhase","Connected","Reconnecting","releaseDisposers","reactors","isFunction","onPhaseChanged","disposer","hasReactor","InvisiblePlugin","ViewMode","Broadcaster","NETLESS_DEPS","WhiteVersion","WhiteWebSDKInvalidError","initManager","_WindowManager","isCreated","pRetry","getInvisiblePlugin","retries","ensureAttributes","appManager","AppManager","CursorManager","bindContainer","disable","scenePreview","fillSceneSnapshot","generateScreenshot","setMemberState","redo","undo","cleanCurrentScene","copy","paste","duplicate","insertImage","completeImageUpload","insertText","lockImage","lockImages","setWritable","createInvisiblePlugin","chessboard","overwriteStyles","playground","style2","initContainer","BoxManager","bindCollectorContainer","register","ParamsInvalidError","AppCreateError","setupScenePath","addApp","AppManagerNotInitError","isValidScenePath","InvalidScenePath","appScenePath","putScenes","nextIndex","mainViewSceneIndex","prevIndex","switchMainViewToWriter","onAppDestroy","setViewMode","Freedom","viewMode","setBoxState","boxState","queryAll","pureCamera","rectangle","cameraBound","onDestroy","_destroy","setAttributes","scheme","focusedView","info","locked","sceneSrc","isNull"],"mappings":"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"}
|