@netless/window-manager 0.4.16 → 0.4.17
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/CHANGELOG.md +5 -1
- package/dist/AppManager.d.ts +1 -0
- package/dist/index.es.js +3 -3
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +3 -3
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/AppManager.ts +5 -4
- package/src/InternalEmitter.ts +1 -1
- package/src/Utils/RoomHacker.ts +6 -2
- package/.eslintignore +0 -4
- package/.eslintrc.js +0 -28
- package/.idea/inspectionProfiles/Project_Default.xml +0 -7
- package/.idea/modules.xml +0 -8
- package/.idea/vcs.xml +0 -6
- package/.idea/window-manager.iml +0 -12
- package/.vscode/settings.json +0 -22
package/dist/index.umd.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.umd.js","sources":["../src/constants.ts","../src/callback.ts","../src/Utils/AppCreateQueue.ts","../src/InternalEmitter.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/PageState.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 RootDirRemoved = \"RootDirRemoved\",\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 = \"/\";\nexport const INIT_DIR = \"/init\";\n\nexport const SETUP_APP_DELAY = 50;\n","import Emittery from \"emittery\";\nimport type { TeleBoxColorScheme, TELE_BOX_STATE } from \"@netless/telebox-insider\";\nimport type { CameraState, SceneState, ViewVisionMode } from \"white-web-sdk\";\nimport type { LoadAppEvent } from \"./Register\";\nimport type { PageState } from \"./PageState\";\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 ready: undefined; // 所有 APP 创建完毕时触发\n sceneStateChange: SceneState;\n pageStateChange: PageState;\n};\n\nexport type CallbacksType = Emittery<PublicEvent>;\nexport const callbacks: CallbacksType = new Emittery();\n","import { callbacks } from \"../callback\";\nimport type { AppProxy } from \"../AppProxy\";\nimport { SETUP_APP_DELAY } from \"../constants\";\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 public isEmit = false;\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.invoked();\n })\n .catch(error => {\n console.error(`[WindowManager]: create app error: ${error.message}`);\n this.invoked();\n });\n }\n }\n\n private invoked = () => {\n this.currentInvoker = undefined;\n if (this.list.length === 0) {\n this.clear();\n this.emitReady();\n }\n }\n\n private clear = () => {\n clearInterval(this.timer);\n this.timer = undefined;\n }\n\n public emitReady() {\n if (!this.isEmit) {\n setTimeout(() => {\n callbacks.emit(\"ready\");\n }, SETUP_APP_DELAY);\n }\n this.isEmit = true;\n }\n\n public empty() {\n this.list = [];\n this.clear();\n }\n\n public destroy() {\n if (this.timer) {\n this.clear();\n }\n }\n}\n","import Emittery from \"emittery\";\nimport type { AppInitState, CursorMovePayload } from \"./index\";\n\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 seekStart: undefined;\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 setReadonly: boolean;\n changePageState: undefined;\n};\n\nexport type EmitterType = Emittery<EmitterEvent>;\nexport const emitter: EmitterType = new Emittery();","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 \"../callback\";\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\nexport type SyncRegisterAppPayload = { kind: string, src: string, name: string | undefined };\nexport type SyncRegisterApp = (payload: SyncRegisterAppPayload) => void;\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 private syncRegisterApp: SyncRegisterApp | null = null;\n\n public setSyncRegisterApp(fn: SyncRegisterApp) {\n this.syncRegisterApp = fn;\n }\n\n public onSyncRegisterAppChange = (payload: SyncRegisterAppPayload) => {\n this.register({ kind: payload.kind, src: payload.src });\n }\n\n public async register(params: RegisterParams): Promise<void> {\n this.appClassesCache.delete(params.kind);\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, params.name)) 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 if (this.syncRegisterApp) {\n this.syncRegisterApp({ kind: params.kind, src: srcOrAppOrFunction, name: params.name });\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 unregister(kind: string) {\n this.appClasses.delete(kind);\n this.appClassesCache.delete(kind);\n this.registered.delete(kind);\n const kindEmitter = this.kindEmitters.get(kind);\n if (kindEmitter) {\n kindEmitter.clearListeners();\n this.kindEmitters.delete(kind);\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 \"../InternalEmitter\";\nimport { ROOT_DIR } from \"../constants\";\nimport { ScenePathType } from \"white-web-sdk\";\nimport { v4 } from \"uuid\";\nimport type { PublicEvent } from \"../callback\";\nimport type { Displayer, ViewVisionMode, Room, View , SceneDefinition} from \"white-web-sdk\";\nimport type Emittery from \"emittery\";\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 const nextScenePath = scenePath === \"/\" ? \"\" : scenePath;\n room.setScenePath(nextScenePath);\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\nexport const putScenes = (room: Room | undefined, path: string, scenes: SceneDefinition[]) => {\n return room?.putScenes(path, scenes);\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 } from \"./callback\";\nimport { emitter } from \"./InternalEmitter\";\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 case Events.RootDirRemoved: {\n this.rootDirRemovedHandler();\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 private rootDirRemovedHandler = () => {\n this.manager.createRootDirScenesCallback();\n this.manager.mainViewProxy.rebind();\n emitter.emit(\"rootDirRemoved\");\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 { BoxNotCreatedError } from \"./Utils/error\";\nimport { Storage } from \"./App/Storage\";\nimport {\n autorun,\n listenDisposed,\n listenUpdated,\n reaction,\n unlistenDisposed,\n unlistenUpdated,\n toJS,\n} from \"white-web-sdk\";\nimport type {\n Room,\n SceneDefinition,\n View,\n EventListener as WhiteEventListener,\n} 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 type {\n MagixEventAddListener,\n MagixEventDispatcher,\n MagixEventRemoveListener,\n} 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: HTMLElement): void => {\n const view = this.getView();\n if (view) {\n view.divElement = dom as HTMLDivElement;\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\"\n ? (this.appOptions as () => TAppOptions)()\n : 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 const appScopeEvent = `${this.appId}:${args[0]}`;\n return this.manager.room?.dispatchMagixEvent(appScopeEvent, args[1]);\n };\n\n /** Listen to events from others clients (and self messages). */\n public addMagixEventListener: MagixEventAddListener<TMagixEventPayloads> = (\n event,\n handler,\n options\n ) => {\n const appScopeEvent = `${this.appId}:${event}`;\n this.manager.displayer.addMagixEventListener(\n appScopeEvent,\n handler as WhiteEventListener,\n options\n );\n return () =>\n this.manager.displayer.removeMagixEventListener(\n appScopeEvent,\n handler as WhiteEventListener\n );\n };\n\n /** Remove a Magix event listener. */\n public removeMagixEventListener = this.manager.displayer.removeMagixEventListener.bind(\n this.manager.displayer\n ) 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 Registered = \"registered\",\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, SETUP_APP_DELAY } 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 \"./InternalEmitter\";\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 }, SETUP_APP_DELAY);\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 async onSeek(time: number) {\n this.appEmitter.emit(\"seek\", time).catch(err => {\n console.log(`[WindowManager]: emit seek error: ${err.message}`)\n });\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 console.log(\"setViewFocusScenePath\", this.kind, this.id, fullPath)\n if (fullPath && this.view) {\n setViewFocusScenePath(this.view, fullPath);\n }\n return fullPath;\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 console.log(\"put closeApp\", 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 } from \"../callback\";\nimport { createView } from \"./ViewManager\";\nimport { debounce, isEmpty, isEqual } from \"lodash\";\nimport { emitter } from \"../InternalEmitter\";\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 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.addMainViewListener();\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 this.mainViewIsAddListener = false;\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 } from \"./callback\";\nimport { emitter } from \"./InternalEmitter\";\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, INIT_DIR, 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 } from \"./callback\";\nimport { emitter } from \"./InternalEmitter\";\nimport { Fields, store } from \"./AttributesDelegate\";\nimport { get, isInteger, orderBy } from \"lodash\";\nimport { log } from \"./Utils/log\";\nimport { MainViewProxy } from \"./View/MainView\";\nimport { onObjectRemoved, safeListenPropsUpdated } from \"./Utils/Reactive\";\nimport { reconnectRefresher, WindowManager } from \"./index\";\nimport { RedoUndo } from \"./RedoUndo\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport { ViewManager } from \"./View/ViewManager\";\nimport type { SyncRegisterAppPayload } from \"./Register\";\nimport type { EmitterEvent } from \"./InternalEmitter\";\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 {\n Displayer,\n DisplayerState,\n Room,\n ScenesCallbacksNode,\n SceneState,\n} from \"white-web-sdk\";\nimport type { AddAppParams, BaseInsertParams, TeleBoxRect } 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 public sceneState: SceneState | null = null;\n\n public rootDirRemoving = false;\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\n if (isPlayer(this.displayer)) {\n emitter.on(\"seekStart\", this.onPlayerSeekStart);\n emitter.on(\"seek\", this.onPlayerSeekDone);\n }\n\n emitter.on(\"removeScenes\", this.onRemoveScenes);\n emitter.on(\"setReadonly\", this.onReadonlyChanged);\n\n this.createRootDirScenesCallback();\n\n appRegister.setSyncRegisterApp(payload => {\n this.safeUpdateAttributes([Fields.Registered, payload.kind], payload);\n });\n }\n\n private onRemoveScenes = async (scenePath: string) => {\n // 如果移除根目录就把 scenePath 设置为初始值\n if (scenePath === ROOT_DIR) {\n await this.onRootDirRemoved();\n this.dispatchInternalEvent(Events.RootDirRemoved);\n return;\n }\n // 如果移除的 path 跟 MainViewScenePath 相同就取当前目录的当前 index\n const mainViewScenePath = this.store.getMainViewScenePath();\n if (this.room && mainViewScenePath) {\n if (mainViewScenePath === scenePath) {\n const nextPath = this.callbacksNode?.scenes[this.store.getMainViewSceneIndex()];\n this.setMainViewScenePath(`/${nextPath}` || INIT_DIR);\n }\n }\n };\n\n /**\n * 根目录被删除时所有的 scene 都会被删除.\n * 所以需要关掉所有开启了 view 的 app\n */\n public async onRootDirRemoved(needClose = true) {\n this.rootDirRemoving = true;\n this.setMainViewScenePath(INIT_DIR);\n\n this.createRootDirScenesCallback();\n \n for (const [id, appProxy] of this.appProxies.entries()) {\n if (appProxy.view) {\n await this.closeApp(id, needClose);\n }\n }\n // 删除了根目录的 scenes 之后 mainview 需要重新绑定, 否则主白板会不能渲染\n this.mainViewProxy.rebind();\n\n emitter.emit(\"rootDirRemoved\");\n this.rootDirRemoving = false;\n }\n\n private onReadonlyChanged = () => {\n this.appProxies.forEach(appProxy => {\n appProxy.emitAppIsWritableChange();\n });\n };\n\n private onPlayerSeekStart = async () => {\n await this.closeAll();\n };\n\n private onPlayerSeekDone = async (time: number) => {\n await this.attributesUpdateCallback(this.attributes.apps);\n this.appProxies.forEach(appProxy => {\n appProxy.onSeek(time);\n });\n };\n\n public 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: this.onSceneChange,\n onRemoveScene: this.onSceneChange,\n });\n if (this.callbacksNode) {\n this.updateSceneState(this.callbacksNode);\n this.mainViewScenesLength = this.callbacksNode.scenes.length;\n if (isRecreate) {\n this.emitMainViewScenesChange(this.callbacksNode.scenes.length);\n }\n }\n };\n\n private onSceneChange = (node: ScenesCallbacksNode) => {\n this.mainViewScenesLength = node.scenes.length;\n this.updateSceneState(node);\n this.emitMainViewScenesChange(this.mainViewScenesLength);\n };\n\n private emitMainViewScenesChange = (length: number) => {\n callbacks.emit(\"mainViewScenesLengthChange\", length);\n emitter.emit(\"changePageState\");\n };\n\n private updateSceneState = (node: ScenesCallbacksNode) => {\n const currentIndex = this.store.getMainViewSceneIndex() || 0;\n const sceneName = node.scenes[currentIndex];\n this.sceneState = {\n scenePath: `${ROOT_DIR}${sceneName}`,\n contextPath: node.path,\n index: currentIndex,\n scenes: node.scenes.map(scene => {\n return {\n name: scene,\n };\n }),\n sceneName: sceneName,\n };\n callbacks.emit(\"sceneStateChange\", this.sceneState);\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 this.onMinimized(minimized);\n });\n });\n this.refresher?.add(\"mainViewIndex\", () => {\n return autorun(() => {\n const mainSceneIndex = get(this.attributes, \"_mainSceneIndex\");\n this.onMainViewIndexChange(mainSceneIndex);\n });\n });\n this.refresher?.add(\"focusedChange\", () => {\n return autorun(() => {\n const focused = get(this.attributes, \"focus\");\n this.onFocusChange(focused);\n });\n });\n this.refresher?.add(\"registeredChange\", () => {\n return autorun(() => {\n const registered = get(this.attributes, Fields.Registered);\n this.onRegisteredChange(registered);\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 this.resetScenePath(mainScenePath);\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 private onMainViewIndexChange = (index: number) => {\n if (index !== undefined && this._prevSceneIndex !== index) {\n callbacks.emit(\"mainViewSceneIndexChange\", index);\n emitter.emit(\"changePageState\");\n if (this.callbacksNode) {\n this.updateSceneState(this.callbacksNode);\n }\n this._prevSceneIndex = index;\n }\n }\n\n private onFocusChange = (focused: string | undefined) => {\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 /**\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 if (appIds.length === 0) {\n this.appCreateQueue.emitReady();\n }\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 try {\n const appAttributes = this.attributes[id];\n if (!appAttributes) {\n throw new Error(\"appAttributes is undefined\");\n }\n this.appCreateQueue.push(() => {\n this.appStatus.set(id, AppStatus.StartCreate);\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 private onRegisteredChange = (registered: Record<string, SyncRegisterAppPayload>) => {\n if (!registered) return;\n Object.entries(registered).forEach(([kind, payload]) => {\n if (!appRegister.appClasses.has(kind)) {\n appRegister.register({\n kind,\n src: payload.src,\n name: payload.name,\n });\n }\n });\n };\n\n private onMinimized = (minimized: boolean | undefined) => {\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 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 = async (apps: any) => {\n const ids = Object.keys(apps);\n for (const [id, appProxy] of this.appProxies.entries()) {\n if (!ids.includes(id)) {\n await appProxy.destroy(true, false, true);\n }\n }\n };\n\n private closeAll = async () => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n for (const [_, appProxy] of this.appProxies.entries()) {\n await appProxy.destroy(true, false, true);\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 private resetScenePath(scenePath: string) {\n const sceneState = this.displayer.state.sceneState;\n if (sceneState.scenePath !== scenePath) {\n setScenePath(this.room, scenePath);\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, needClose = true) {\n const appProxy = this.appProxies.get(appId);\n if (appProxy) {\n appProxy.destroy(true, needClose, 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 \"./InternalEmitter\";\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)<=5&&Math.abs(e.clientY-this.lastTitleBarClick.clientY)<=5&&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)<=10&&Math.abs(r-this.lastTitleBarTouch.clientY)<=10&&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(){const e=super.render(),{x:t,y:i,width:s}=this.containerRect;e.style.transform=`translate(${t}px, ${i}px)`,e.style.width=s+\"px\",e.classList.add(this.wrapClassName(\"max-titlebar\")),e.classList.toggle(this.wrapClassName(\"max-titlebar-maximized\"),this.state===Ke.Maximized),e.classList.toggle(this.wrapClassName(\"readonly\"),this.readonly),e.classList.add(this.wrapClassName(this.darkMode?\"color-scheme-dark\":\"color-scheme-light\"));const r=document.createElement(\"div\");return r.classList.add(this.wrapClassName(\"titles-area\")),e.insertBefore(r,e.firstElementChild),this.updateTitles(),e}destroy(){super.destroy(),this.$titles=void 0,this.boxes.length=0,this.focusedBox=void 0}updateTitles(){this.$titleBar&&this.state===Ke.Maximized&&(this.$titleBar.classList.toggle(this.wrapClassName(\"max-titlebar-single-title\"),1===this.boxes.length),1===this.boxes.length?this.setTitle(this.boxes[0].title):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 } 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\";\nimport type { CallbacksType } from \"./callback\";\nimport type { EmitterType } from \"./InternalEmitter\";\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,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAgrSURBVHgB7ZprTBRXFIDP7gIt8lQppTwE5V0KaAn6o1pqNGkDDTEmTUhsgKRp+gNJw68CFkLbVC2QkDS+gD8KJdWmARvbFBNNWpuIRGPFWBXQRMPDqIki+KLATs+ZnTvcvXtnX8w2beJJToaduTP3fHPOPffcOwC8kP+2WCDwIvahGFxTuN8KmNSZmULPNjLeqF9F8rdPkIEGEn+r+vjx46LQ0NA8/Dsader58+e/h4WFDWntFO7ot6fMFAt3JLWi2lCDpqamCux2+2+KROj82NhYGrXT2lu5Z/DP/deFByElA4Pv3LlTiHY/nJ6eVnbv3q1s2bJFyc7OVrZu3arU1dUp4+PjxPUQoT+g9tp9PkMFgpo9kxljHRoaWp2Xl3duYmIiurKyEvDoclNCQgIcPnxYPc7MzHwcGRnZhaft4Ag7O9fUbRhaITCie4lgcnNzT7qDIaHz27dvh+vXr0NEREQneqoCHKFnAR+8ZCaQGGq2CxcurCGYycnJZHcwTNAzUFFRoUJFRUV1IFQ5OKBsXB9uxSwgl0TQ3d29Yt26dccwoyVXV1d7hGEiQmGi2AzOUHx/hob4K2yuYS9G987s7OwPISEh7xPM6dOnwVfBsIMjR45AZmbmo5s3b76Xnp7+J55egMVxBSAZT0v1ED+76yn66dOnLQSzd+9ev2BIyFP0MjBco1JTU/sxfFeDazp3cYgZHmKqdoaGNISHh9fv378fSJcqlPV6e3sBJ+I/goOD34VFL0k95Y+HxPHCYGxmw5DQ2NuzZw8EBQVtunXr1jvgwUP+hhz/QDXMMCNVE8zx48dNg2FCz6QQjI2N/RA8VBFmANnu3btXihnpG8pM9fX1EAi5du0aeWkVOAMBCF7yN+R0z4yOjq6NiYlpp9CgdBtIwXpPH6vgDKWLt0CygtM6MDCwBuUYZSKaOCksAiVY9wFOBePgDOOytPAGSKzNVCCC2bBhw69YdK7ypgpYimzbtk2dl7CM+hFcveOUHDylbTFO1YdhFbByx44dA1QFUP0VSJj4+Hjo6+sDq9U6iEmHKvFZTedQ50GYbN15SITVlwNlZWUnLRZL8s6dOwMOQ9UCTtKTra2ttdppt9V2kMF5cbmsjxuM43bMNrmUzc6fP6+GQiDGDoOJi4ubwb4qm5ubafyIE6nLxGqTPEsGo1cBOGNX0TyDYafC0CyOaxcVziyh53Z2dkJycvLMvn37PmpoaBgFR4jxYSbWdVIgI89Iq4CjR48CZjlYv369+tssqI6ODsjPz4f+/v668vLycxrEHHfkYdwC8SB6mGEV8Cl64cuuri5oa2tTG+EyGjZu3AiXLl1qefDgwV8lJSUFZkDV1tZCcXExXLx4sbWoqKgPFj0zx8GI9ZwO5W4M6ekZYeqpaqbqmaSqqkpNpcPDw4dwzfM9nrLduHEjEs+X0XV/Sx96LnqE1kLtBQUF3eDwCO8dGQyzV5rl+JyuegfXI29jRotiRlKnpFghHMzKyjqotVXS0tLacKPjF3bdHxjSq1evduAkepAD+ZsDYlC8V5w8ZBVg+PPq2MGMlkInqE4joTf45MmT4YyMjAPcA+ltLSQlJX2BafxnX6HI29QeK44TOTk57mCYZ0QoJ8OBM4yB6dkNkwGlSygsLFQvYtYB3BTMxFL+M+0eFgZqp4mJiU2+QKGX1fGIk/QIrn0aYXGsyDxjmAyMhO2jhaCGoUbX1NSkLSwsPMJqV8Fspu6lIZS6OYhjiOLwdU7fQM1HfRPD7wS1obZ0j0xpb4726Z49ezaJf2/S7s9ATUGNR41BjdJseRnke3WGwhrRTS9pD1mOGoeG15BxOOfoxuCkp0Ih6NeaEaSZGlieJyiCoc1FgsGldokGk8nBvAKOrWIGQ5uPsm0tt0BWDiicAaGuGhkZ+YqMw9StGzU4OKhCnT179hNsswY1FTXdE5QEJhc1S3tGogazXLOBwQSBl3tzIhQPtAL1VQJCTcNx8y1vHIUghSKFZE9PT7H2dlM1b+Wgrr1y5Uq77J75+fnplpaWMg2ch4nlYEI5z7hdensDpI4hrYNErcMMXJ32koG4ztf3pultz83NjWG99Ra2WQ0OL2VjZjwgeufUqVOqV8+cOdPIwdBLSNJeHg8TAh5WqJ6EfSmgt7IMNRJ1JThiOlnrOAMHshprmMKdoGSCpb9s3B3SYLIFGIqICJB7xisYi+RvfiypXw40DWGdlJaWRmMd141hk8V2OWm7ieYTXhBc3+BgaZyqAISjOYxSMVvXsBTNlzdiNQDgRao2AtK3pjggpmrqbGpqSsLPIN/dv38/gaBwUjTshMHcvn27JyUlpRmc5xpPMD599LIYnLNyUKKndKjGxsakXbt2deMCLIE8IVvs0YRM1fjdu3d/wrXN5+BcnzEgvor2uN3rjzAYMp5lPEoQlE5fA0fWo8GfhlCbKVFQ1pKNIfzcOHH58mWqaimVUwJI0+6n59D4pIlzmdZPMPiZzXjDjX47Le5g0Uu8x2zgPqWyKpjVe7x3+AUbq9NYjQbgp2dsBud5o8TP7d5kHAWcQchQfoEmLgn8HjOiBIF7o5hI1x6CEbLNP3bdqYAF44JzyWLzcN1i8DcT/o3awbm8Fz3DAy2A62INwPV/E3wWdx5inmBHuwChCBD6R2JwHge80TIQRQLjt7e8DTkGZgfX8cUMZTDAteFDkveaIlzjX9ySQs8X18r2t2VHUURPKoICmDR+eCO9aSdmOIub3/w9RgpgUpiJhvraXpa6jZKHGEqyusw0GLFzX+5RhN/8kYnMSNMMfyH/V/kHST6OYVElTPAAAAAASUVORK5CYII=\"","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 } from \"../InternalEmitter\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport { throttle } from \"lodash\";\nimport { WindowManager } from \"../index\";\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 =\n 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 type { AppManager } from \"./AppManager\";\nimport { callbacks } from \"./callback\";\nimport { emitter } from \"./InternalEmitter\";\n\nexport type PageState = {\n index: number;\n length: number;\n};\n\nexport class PageStateImpl {\n constructor(private manager: AppManager) {\n emitter.on(\"changePageState\", () => {\n callbacks.emit(\"pageStateChange\", this.toObject());\n });\n }\n\n public get index(): number {\n return this.manager?.store.getMainViewSceneIndex() || 0;\n }\n\n public get length(): number {\n return this.manager?.mainViewScenesLength || 0;\n }\n\n public toObject(): PageState {\n return {\n index: this.index,\n length: this.length,\n };\n }\n}\n","import { emitter } from \"../InternalEmitter\";\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.canUndoSteps;\n },\n });\n\n Object.defineProperty(room, \"canRedoSteps\", {\n get() {\n return manager.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 // seek 时需要先关闭所有的 app 防止内部使用的 mobx 出现错误\n await emitter.emit(\"seekStart\");\n const seekResult = await originSeek.call(player, time);\n emitter.emit(\"seek\", time); \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};\nfunction mimicFunction(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}\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 mimicFunction(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 = /* @__PURE__ */ 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}\nvar resizeObservers = [];\nvar hasActiveObservations = function() {\n return resizeObservers.some(function(ro) {\n return ro.activeTargets.length > 0;\n });\n};\nvar hasSkippedObservations = function() {\n return resizeObservers.some(function(ro) {\n return ro.skippedTargets.length > 0;\n });\n};\nvar msg = \"ResizeObserver loop completed with undelivered notifications.\";\nvar deliverResizeLoopError = function() {\n var event;\n if (typeof ErrorEvent === \"function\") {\n event = new ErrorEvent(\"error\", {\n message: msg\n });\n } else {\n event = document.createEvent(\"Event\");\n event.initEvent(\"error\", false, false);\n event.message = msg;\n }\n window.dispatchEvent(event);\n};\nvar ResizeObserverBoxOptions;\n(function(ResizeObserverBoxOptions2) {\n ResizeObserverBoxOptions2[\"BORDER_BOX\"] = \"border-box\";\n ResizeObserverBoxOptions2[\"CONTENT_BOX\"] = \"content-box\";\n ResizeObserverBoxOptions2[\"DEVICE_PIXEL_CONTENT_BOX\"] = \"device-pixel-content-box\";\n})(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {}));\nvar freeze = function(obj) {\n return Object.freeze(obj);\n};\nvar ResizeObserverSize = function() {\n function ResizeObserverSize2(inlineSize, blockSize) {\n this.inlineSize = inlineSize;\n this.blockSize = blockSize;\n freeze(this);\n }\n return ResizeObserverSize2;\n}();\nvar DOMRectReadOnly = function() {\n function DOMRectReadOnly2(x, y, width, height) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n this.top = this.y;\n this.left = this.x;\n this.bottom = this.top + this.height;\n this.right = this.left + this.width;\n return freeze(this);\n }\n DOMRectReadOnly2.prototype.toJSON = function() {\n var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height;\n return { x, y, top, right, bottom, left, width, height };\n };\n DOMRectReadOnly2.fromRect = function(rectangle) {\n return new DOMRectReadOnly2(rectangle.x, rectangle.y, rectangle.width, rectangle.height);\n };\n return DOMRectReadOnly2;\n}();\nvar isSVG = function(target) {\n return target instanceof SVGElement && \"getBBox\" in target;\n};\nvar isHidden = function(target) {\n if (isSVG(target)) {\n var _a = target.getBBox(), width = _a.width, height = _a.height;\n return !width && !height;\n }\n var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight;\n return !(offsetWidth || offsetHeight || target.getClientRects().length);\n};\nvar isElement = function(obj) {\n var _a, _b;\n if (obj instanceof Element) {\n return true;\n }\n var scope = (_b = (_a = obj) === null || _a === void 0 ? void 0 : _a.ownerDocument) === null || _b === void 0 ? void 0 : _b.defaultView;\n return !!(scope && obj instanceof scope.Element);\n};\nvar isReplacedElement = function(target) {\n switch (target.tagName) {\n case \"INPUT\":\n if (target.type !== \"image\") {\n break;\n }\n case \"VIDEO\":\n case \"AUDIO\":\n case \"EMBED\":\n case \"OBJECT\":\n case \"CANVAS\":\n case \"IFRAME\":\n case \"IMG\":\n return true;\n }\n return false;\n};\nvar global = typeof window !== \"undefined\" ? window : {};\nvar cache = /* @__PURE__ */ new WeakMap();\nvar scrollRegexp = /auto|scroll/;\nvar verticalRegexp = /^tb|vertical/;\nvar IE = /msie|trident/i.test(global.navigator && global.navigator.userAgent);\nvar parseDimension = function(pixel) {\n return parseFloat(pixel || \"0\");\n};\nvar size = function(inlineSize, blockSize, switchSizes) {\n if (inlineSize === void 0) {\n inlineSize = 0;\n }\n if (blockSize === void 0) {\n blockSize = 0;\n }\n if (switchSizes === void 0) {\n switchSizes = false;\n }\n return new ResizeObserverSize((switchSizes ? blockSize : inlineSize) || 0, (switchSizes ? inlineSize : blockSize) || 0);\n};\nvar zeroBoxes = freeze({\n devicePixelContentBoxSize: size(),\n borderBoxSize: size(),\n contentBoxSize: size(),\n contentRect: new DOMRectReadOnly(0, 0, 0, 0)\n});\nvar calculateBoxSizes = function(target, forceRecalculation) {\n if (forceRecalculation === void 0) {\n forceRecalculation = false;\n }\n if (cache.has(target) && !forceRecalculation) {\n return cache.get(target);\n }\n if (isHidden(target)) {\n cache.set(target, zeroBoxes);\n return zeroBoxes;\n }\n var cs = getComputedStyle(target);\n var svg = isSVG(target) && target.ownerSVGElement && target.getBBox();\n var removePadding = !IE && cs.boxSizing === \"border-box\";\n var switchSizes = verticalRegexp.test(cs.writingMode || \"\");\n var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || \"\");\n var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || \"\");\n var paddingTop = svg ? 0 : parseDimension(cs.paddingTop);\n var paddingRight = svg ? 0 : parseDimension(cs.paddingRight);\n var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom);\n var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft);\n var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth);\n var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth);\n var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth);\n var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth);\n var horizontalPadding = paddingLeft + paddingRight;\n var verticalPadding = paddingTop + paddingBottom;\n var horizontalBorderArea = borderLeft + borderRight;\n var verticalBorderArea = borderTop + borderBottom;\n var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight;\n var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth;\n var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0;\n var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0;\n var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness;\n var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness;\n var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea;\n var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea;\n var boxes = freeze({\n devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes),\n borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes),\n contentBoxSize: size(contentWidth, contentHeight, switchSizes),\n contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight)\n });\n cache.set(target, boxes);\n return boxes;\n};\nvar calculateBoxSize = function(target, observedBox, forceRecalculation) {\n var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize;\n switch (observedBox) {\n case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:\n return devicePixelContentBoxSize;\n case ResizeObserverBoxOptions.BORDER_BOX:\n return borderBoxSize;\n default:\n return contentBoxSize;\n }\n};\nvar ResizeObserverEntry = function() {\n function ResizeObserverEntry2(target) {\n var boxes = calculateBoxSizes(target);\n this.target = target;\n this.contentRect = boxes.contentRect;\n this.borderBoxSize = freeze([boxes.borderBoxSize]);\n this.contentBoxSize = freeze([boxes.contentBoxSize]);\n this.devicePixelContentBoxSize = freeze([boxes.devicePixelContentBoxSize]);\n }\n return ResizeObserverEntry2;\n}();\nvar calculateDepthForNode = function(node) {\n if (isHidden(node)) {\n return Infinity;\n }\n var depth = 0;\n var parent = node.parentNode;\n while (parent) {\n depth += 1;\n parent = parent.parentNode;\n }\n return depth;\n};\nvar broadcastActiveObservations = function() {\n var shallowestDepth = Infinity;\n var callbacks2 = [];\n resizeObservers.forEach(function processObserver(ro) {\n if (ro.activeTargets.length === 0) {\n return;\n }\n var entries = [];\n ro.activeTargets.forEach(function processTarget(ot) {\n var entry = new ResizeObserverEntry(ot.target);\n var targetDepth = calculateDepthForNode(ot.target);\n entries.push(entry);\n ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox);\n if (targetDepth < shallowestDepth) {\n shallowestDepth = targetDepth;\n }\n });\n callbacks2.push(function resizeObserverCallback() {\n ro.callback.call(ro.observer, entries, ro.observer);\n });\n ro.activeTargets.splice(0, ro.activeTargets.length);\n });\n for (var _i = 0, callbacks_1 = callbacks2; _i < callbacks_1.length; _i++) {\n var callback = callbacks_1[_i];\n callback();\n }\n return shallowestDepth;\n};\nvar gatherActiveObservationsAtDepth = function(depth) {\n resizeObservers.forEach(function processObserver(ro) {\n ro.activeTargets.splice(0, ro.activeTargets.length);\n ro.skippedTargets.splice(0, ro.skippedTargets.length);\n ro.observationTargets.forEach(function processTarget(ot) {\n if (ot.isActive()) {\n if (calculateDepthForNode(ot.target) > depth) {\n ro.activeTargets.push(ot);\n } else {\n ro.skippedTargets.push(ot);\n }\n }\n });\n });\n};\nvar process = function() {\n var depth = 0;\n gatherActiveObservationsAtDepth(depth);\n while (hasActiveObservations()) {\n depth = broadcastActiveObservations();\n gatherActiveObservationsAtDepth(depth);\n }\n if (hasSkippedObservations()) {\n deliverResizeLoopError();\n }\n return depth > 0;\n};\nvar trigger;\nvar callbacks = [];\nvar notify = function() {\n return callbacks.splice(0).forEach(function(cb) {\n return cb();\n });\n};\nvar queueMicroTask = function(callback) {\n if (!trigger) {\n var toggle_1 = 0;\n var el_1 = document.createTextNode(\"\");\n var config = { characterData: true };\n new MutationObserver(function() {\n return notify();\n }).observe(el_1, config);\n trigger = function() {\n el_1.textContent = \"\" + (toggle_1 ? toggle_1-- : toggle_1++);\n };\n }\n callbacks.push(callback);\n trigger();\n};\nvar queueResizeObserver = function(cb) {\n queueMicroTask(function ResizeObserver2() {\n requestAnimationFrame(cb);\n });\n};\nvar watching = 0;\nvar isWatching = function() {\n return !!watching;\n};\nvar CATCH_PERIOD = 250;\nvar observerConfig = { attributes: true, characterData: true, childList: true, subtree: true };\nvar events = [\n \"resize\",\n \"load\",\n \"transitionend\",\n \"animationend\",\n \"animationstart\",\n \"animationiteration\",\n \"keyup\",\n \"keydown\",\n \"mouseup\",\n \"mousedown\",\n \"mouseover\",\n \"mouseout\",\n \"blur\",\n \"focus\"\n];\nvar time = function(timeout) {\n if (timeout === void 0) {\n timeout = 0;\n }\n return Date.now() + timeout;\n};\nvar scheduled = false;\nvar Scheduler = function() {\n function Scheduler2() {\n var _this = this;\n this.stopped = true;\n this.listener = function() {\n return _this.schedule();\n };\n }\n Scheduler2.prototype.run = function(timeout) {\n var _this = this;\n if (timeout === void 0) {\n timeout = CATCH_PERIOD;\n }\n if (scheduled) {\n return;\n }\n scheduled = true;\n var until = time(timeout);\n queueResizeObserver(function() {\n var elementsHaveResized = false;\n try {\n elementsHaveResized = process();\n } finally {\n scheduled = false;\n timeout = until - time();\n if (!isWatching()) {\n return;\n }\n if (elementsHaveResized) {\n _this.run(1e3);\n } else if (timeout > 0) {\n _this.run(timeout);\n } else {\n _this.start();\n }\n }\n });\n };\n Scheduler2.prototype.schedule = function() {\n this.stop();\n this.run();\n };\n Scheduler2.prototype.observe = function() {\n var _this = this;\n var cb = function() {\n return _this.observer && _this.observer.observe(document.body, observerConfig);\n };\n document.body ? cb() : global.addEventListener(\"DOMContentLoaded\", cb);\n };\n Scheduler2.prototype.start = function() {\n var _this = this;\n if (this.stopped) {\n this.stopped = false;\n this.observer = new MutationObserver(this.listener);\n this.observe();\n events.forEach(function(name) {\n return global.addEventListener(name, _this.listener, true);\n });\n }\n };\n Scheduler2.prototype.stop = function() {\n var _this = this;\n if (!this.stopped) {\n this.observer && this.observer.disconnect();\n events.forEach(function(name) {\n return global.removeEventListener(name, _this.listener, true);\n });\n this.stopped = true;\n }\n };\n return Scheduler2;\n}();\nvar scheduler = new Scheduler();\nvar updateCount = function(n) {\n !watching && n > 0 && scheduler.start();\n watching += n;\n !watching && scheduler.stop();\n};\nvar skipNotifyOnElement = function(target) {\n return !isSVG(target) && !isReplacedElement(target) && getComputedStyle(target).display === \"inline\";\n};\nvar ResizeObservation = function() {\n function ResizeObservation2(target, observedBox) {\n this.target = target;\n this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX;\n this.lastReportedSize = {\n inlineSize: 0,\n blockSize: 0\n };\n }\n ResizeObservation2.prototype.isActive = function() {\n var size2 = calculateBoxSize(this.target, this.observedBox, true);\n if (skipNotifyOnElement(this.target)) {\n this.lastReportedSize = size2;\n }\n if (this.lastReportedSize.inlineSize !== size2.inlineSize || this.lastReportedSize.blockSize !== size2.blockSize) {\n return true;\n }\n return false;\n };\n return ResizeObservation2;\n}();\nvar ResizeObserverDetail = function() {\n function ResizeObserverDetail2(resizeObserver, callback) {\n this.activeTargets = [];\n this.skippedTargets = [];\n this.observationTargets = [];\n this.observer = resizeObserver;\n this.callback = callback;\n }\n return ResizeObserverDetail2;\n}();\nvar observerMap = /* @__PURE__ */ new WeakMap();\nvar getObservationIndex = function(observationTargets, target) {\n for (var i = 0; i < observationTargets.length; i += 1) {\n if (observationTargets[i].target === target) {\n return i;\n }\n }\n return -1;\n};\nvar ResizeObserverController = function() {\n function ResizeObserverController2() {\n }\n ResizeObserverController2.connect = function(resizeObserver, callback) {\n var detail = new ResizeObserverDetail(resizeObserver, callback);\n observerMap.set(resizeObserver, detail);\n };\n ResizeObserverController2.observe = function(resizeObserver, target, options) {\n var detail = observerMap.get(resizeObserver);\n var firstObservation = detail.observationTargets.length === 0;\n if (getObservationIndex(detail.observationTargets, target) < 0) {\n firstObservation && resizeObservers.push(detail);\n detail.observationTargets.push(new ResizeObservation(target, options && options.box));\n updateCount(1);\n scheduler.schedule();\n }\n };\n ResizeObserverController2.unobserve = function(resizeObserver, target) {\n var detail = observerMap.get(resizeObserver);\n var index = getObservationIndex(detail.observationTargets, target);\n var lastObservation = detail.observationTargets.length === 1;\n if (index >= 0) {\n lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1);\n detail.observationTargets.splice(index, 1);\n updateCount(-1);\n }\n };\n ResizeObserverController2.disconnect = function(resizeObserver) {\n var _this = this;\n var detail = observerMap.get(resizeObserver);\n detail.observationTargets.slice().forEach(function(ot) {\n return _this.unobserve(resizeObserver, ot.target);\n });\n detail.activeTargets.splice(0, detail.activeTargets.length);\n };\n return ResizeObserverController2;\n}();\nvar ResizeObserver$1 = function() {\n function ResizeObserver2(callback) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (typeof callback !== \"function\") {\n throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n }\n ResizeObserverController.connect(this, callback);\n }\n ResizeObserver2.prototype.observe = function(target, options) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.observe(this, target, options);\n };\n ResizeObserver2.prototype.unobserve = function(target) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.unobserve(this, target);\n };\n ResizeObserver2.prototype.disconnect = function() {\n ResizeObserverController.disconnect(this);\n };\n ResizeObserver2.toString = function() {\n return \"function ResizeObserver () { [polyfill code] }\";\n };\n return ResizeObserver2;\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, pagesIntrinsicWidth) {\n this.scale = 1;\n this.lastVisit = Date.now();\n this.pageOffsetY = 0;\n this.pageOffsetX = 0;\n this.visible = true;\n this.index = index;\n this.page = page;\n this.scale = scale;\n this.pageOffsetX = (pagesIntrinsicWidth - page.width) / 2;\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 = `translate(${this.pageOffsetX * this.scale}px, ${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 = `translate(${this.pageOffsetX * this.scale}px, ${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, pagesIntrinsicWidth, scale) {\n this.pages = pages;\n this.pagesIntrinsicWidth = pagesIntrinsicWidth;\n this.scale = scale;\n this.els = /* @__PURE__ */ 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, this.pagesIntrinsicWidth);\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, pagesIntrinsicWidth, 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 ResizeObserver = window.ResizeObserver || ResizeObserver$1;\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 const debouncedRenderRatioHeight = this.debounce(this.renderRatioHeight.bind(this), {\n wait: 80\n });\n this.sideEffect.add(() => {\n const observer = new ResizeObserver(debouncedRenderRatioHeight);\n observer.observe(this.viewer.$content);\n return () => observer.disconnect();\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 pRetry from \"p-retry\";\nimport { AppManager } from \"./AppManager\";\nimport { appRegister } from \"./Register\";\nimport { callbacks } from \"./callback\";\nimport { checkVersion, setupWrapper } from \"./Helper\";\nimport { ContainerResizeObserver } from \"./ContainerResizeObserver\";\nimport { createBoxManager } from \"./BoxManager\";\nimport { CursorManager } from \"./Cursor\";\nimport { DEFAULT_CONTAINER_RATIO, Events, INIT_DIR, ROOT_DIR } from \"./constants\";\nimport { emitter } from \"./InternalEmitter\";\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 { PageStateImpl } from \"./PageState\";\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 {\n addEmitterOnceListener,\n ensureValidScenePath,\n entireScenes,\n isValidScenePath,\n putScenes,\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 CameraState,\n Player,\n ImageInformation,\n SceneState,\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\";\nimport type { PublicEvent } from \"./Callback\";\nimport type Emittery from \"emittery\";\nimport type { PageState } from \"./PageState\";\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 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 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 private _pageState?: PageStateImpl;\n\n private boxManager?: BoxManager;\n private static params?: MountParams;\n\n private containerResizeObserver?: ContainerResizeObserver;\n public containerSizeRatio = WindowManager.containerSizeRatio;\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._pageState = new PageStateImpl(manager.appManager);\n manager.cursorManager = new CursorManager(manager.appManager, Boolean(cursor));\n if (containerSizeRatio) {\n manager.containerSizeRatio = containerSizeRatio;\n }\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 static get registered() {\n return appRegister.registered;\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 * 注销插件\n */\n public static unregister(kind: string) {\n return appRegister.unregister(kind);\n }\n\n /**\n * 创建一个 app 至白板\n */\n public async addApp<T = any>(params: AddAppParams<T>): Promise<string | undefined> {\n if (this.appManager) {\n // 移除根目录时需要做一些异步的释放操作 addApp 需要等待释放完成才可以继续添加\n if (this.appManager.rootDirRemoving) {\n return new Promise((resolve, reject) => {\n emitter.once(\"rootDirRemoved\").then(async () => {\n try {\n const appId = await this._addApp(params);\n resolve(appId);\n } catch (error) {\n reject(error.message);\n }\n });\n });\n } else {\n return this._addApp(params);\n }\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n private 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 putScenes(this.room, scenePath, scenes);\n }\n } else {\n if (!entireScenes(this.displayer)[scenePath]) {\n putScenes(this.room, scenePath, [{ name: scenes[0].name }]);\n }\n }\n }\n if (scenePath && scenes === undefined) {\n putScenes(this.room, 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 emitter.emit(\"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 (mode === ViewMode.Broadcaster) {\n if (this.canOperate) {\n this.appManager?.mainViewProxy.setCameraAndSize();\n }\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._pageState?.index || 0;\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._pageState?.length || 0;\n }\n\n public get canRedoSteps(): number {\n return this.focusedView?.canRedoSteps || 0;\n }\n\n public get canUndoSteps(): number {\n return this.focusedView?.canUndoSteps || 0;\n }\n\n public get sceneState(): SceneState {\n if (this.appManager) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return this.appManager.sceneState!;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get pageState(): PageState {\n if (this._pageState) {\n return this._pageState.toObject();\n } else {\n throw new AppManagerNotInitError();\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 if (!this.attributes[\"_mainScenePath\"]) {\n this.safeSetAttributes({ _mainScenePath: INIT_DIR });\n }\n if (!this.attributes[\"_mainSceneIndex\"]) {\n this.safeSetAttributes({ _mainSceneIndex: 0 });\n }\n if (!this.attributes[Fields.Registered]) {\n this.safeSetAttributes({ [Fields.Registered]: {} });\n }\n }\n }\n}\n\nsetupBuiltin();\n\nexport * from \"./typings\";\n\nexport { BuiltinApps } from \"./BuiltinApps\";\nexport type { PublicEvent } from \"./callback\";\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 \"./InternalEmitter\";\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","MagixEventName","AppAttributes","AppAttributes2","AppEvents","AppEvents2","AppStatus","CursorState","CursorState2","REQUIRE_VERSION","MIN_WIDTH","MIN_HEIGHT","ROOT_DIR","INIT_DIR","callbacks","Emittery","constructor","currentInvoker","this","list","length","clear","emitReady","timer","initInterval","setInterval","invoke","push","item","shift","then","invoked","catch","error","message","isEmit","emit","empty","destroy","emitter","DatabaseName","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","register","src","setSyncRegisterApp","fn","syncRegisterApp","params","appClassesCache","delete","registered","set","srcOrAppOrFunction","downloadApp","appClass","name","status","reason","includes","define2","define","amd","loadApp","__esModule","default","Error","appClasses","app","addHooks","emitter2","createKindEmitter","unregister","kind2","kindEmitter","kindEmitters","clearListeners","has","setViewFocusScenePath","view","focusScenePath","setScenePath","room","scenePath","isWritable","state","sceneState","nextScenePath","callbacks2","mode","makeValidScenePath","displayer","scenes","entireScenes","scene","firstSceneName","putScenes","path","parseSceneDir","sceneList","split","pop","sceneDir","join","getVersionNumber","version","versionString","map","s2","padStart","parseInt","wait","time2","manager","authorId","observerId","data","eventName","AppMove","appMoveHandler","AppResize","appResizeHandler","AppBoxStateChange","boxStateChangeHandler","SetMainViewScenePath","setMainViewScenePathHandler","MoveCamera","moveCameraHandler","MoveCameraToContain","moveCameraToContainHandler","CursorMove","cursorMoveHandler","RootDirRemoved","rootDirRemovedHandler","boxManager","moveBox","resizeBox","Object","assign","skipUpdate","refreshViewSize","mainView","isEqual","omit","__spreadValues","camera","moveCamera","moveCameraToContain","createRootDirScenesCallback","mainViewProxy","rebind","addListeners","addMagixEventListener","mainMagixEventListener","removeListeners","removeMagixEventListener","onObjectByEvent","object","func","listenUpdated","listener","events2","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","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","on","args","appScopeEvent","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","debounce","appListener","makeAppEventListener","initScenes","createView","readonly","getFullScenePath","FullPath","getFullScenePathFromScenes","dir","getScenePath","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","err","currentAppState","AppProxy","baseInsertApp","emitAppSceneStateChange","emitAppIsWritableChange","setBoxMinSize","minWidth","minwidth","minHeight","minheight","setBoxTitle","title","fullScenePath","needCloseBox","cleanAttrs","error2","stack","closeBox","scenePathType","ScenePathType","None","removeScenes","destroyView","appStatus","remove","close","views","release","setViewScenePath","setDefaultCameraBound","setCameraBound","maxContentMode","minContentMode","mainViewCamera","moveCameraToContian","mainViewSize","mainViewClickHandler","cameraState","createMainView","moveCameraSizeByAttributes","start","setCameraAndSize","playgroundSizeChangeListener","sizeChangeHandler","sideEffectManager","off","started","addMainViewListener","addCameraListener","cameraReaction","mainViewScenePath","onReconnect","disableCameraTransform","stop","mainViewIsAddListener","addEventListener","mainViewClickListener","removeMainViewListener","removeEventListener","blurAllBox","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","onRootDirRemoved","dispatchInternalEvent","nextPath","callbacksNode","closeAll","attributesUpdateCallback","onSeek","isRecreate","dispose","createScenesCallback","onAddScene","onSceneChange","onRemoveScene","updateSceneState","mainViewScenesLength","emitMainViewScenesChange","node","currentIndex","sceneName","contextPath","_prevSceneIndex","_prevFocused","entries","setMinimized","ids","_2","startsWith","isReadonly","isManualWritable","setReadonly","disableSerialization","pageName","replace","findIndex","isInteger","MainViewProxy","ViewManager","appListeners","AppListeners","displayerStateListener","reconnectRefresher","setRoom","appCreateQueue","onCreated","onReconnected","isPlayer","onPlayerSeekStart","onPlayerSeekDone","onRemoveScenes","onReadonlyChanged","Registered","needClose","rootDirRemoving","closeApp","isRoom","getMainViewSceneDir","boxEventListener","onAppDelete","setMaximized","onMinimized","mainSceneIndex","onMainViewIndexChange","onFocusChange","onRegisteredChange","mainScenePath","resetScenePath","displayerWritableListener","redoUndo","RedoUndo","container","appIds","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","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","isReactComponent","C","forceUpdate","F","I","H","G","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","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","innerWidth","innerHeight","collectorRect","M2","_renderSideEffect","handleTrackStart","_handleTrackStart","_valSideEffectBinder","Ue","E2","events","_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","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","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","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","Reflect","ownKeys","fromPrototype","getPrototypeOf","setPrototypeOf","newToString","debounceFn","inputFunction","maxWait","Infinity","before","after","maxTimeout","debouncedFunction","arguments_","maxLater","shouldCallNow","wait2","ResizeObserverBoxOptions","ResizeObserverBoxOptions2","resizeObservers","msg","trigger","freeze","ResizeObserverSize","inlineSize","blockSize","DOMRectReadOnly","toJSON","_a","fromRect","rectangle","DOMRectReadOnly2","isSVG","isHidden","_b","offsetWidth","offsetHeight","getClientRects","isElement","Element","scope","ownerDocument","defaultView","global","cache","scrollRegexp","verticalRegexp","IE","navigator","userAgent","parseDimension","pixel","switchSizes","zeroBoxes","devicePixelContentBoxSize","borderBoxSize","contentBoxSize","calculateBoxSizes","forceRecalculation","cs","svg","ownerSVGElement","removePadding","boxSizing","writingMode","canScrollVertically","overflowY","canScrollHorizontally","overflowX","borderTop","borderRight","borderBottom","horizontalPadding","verticalPadding","horizontalBorderArea","verticalBorderArea","horizontalScrollbarThickness","clientHeight","verticalScrollbarThickness","clientWidth","widthReduction","heightReduction","contentWidth","contentHeight","borderBoxWidth","borderBoxHeight","devicePixelRatio","calculateBoxSize","observedBox","DEVICE_PIXEL_CONTENT_BOX","BORDER_BOX","ResizeObserverEntry","calculateDepthForNode","depth","parent","broadcastActiveObservations","shallowestDepth","ro","activeTargets","ot2","entry","targetDepth","lastReportedSize","observer","_i","callbacks_1","gatherActiveObservationsAtDepth","skippedTargets","observationTargets","some","ErrorEvent","createEvent","initEvent","dispatchEvent","queueMicroTask","toggle_1","el_1","MutationObserver","cb2","characterData","watching","observerConfig","childList","subtree","time","scheduled","scheduler","_this","stopped","until","elementsHaveResized","Scheduler2","updateCount","ResizeObservation","CONTENT_BOX","isReplacedElement","ResizeObservation2","ResizeObserverDetail","resizeObserver2","observerMap","getObservationIndex","ResizeObserverController","connect","detail","firstObservation","unobserve","lastObservation","ResizeObserverController2","ResizeObserver$1","ResizeObserver2","runningOnBrowser","isBot","supportsIntersectionObserver","supportsClassList","isHiDpi","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","instance","initCustomEvent","SRC","SRCSET","SIZES","POSTER","ORIGINALS","statusLoading","statusLoaded","statusApplied","statusError","statusNative","dataPrefix","statusDataName","getData","getStatus","setStatus","attrName","setData","resetStatus","hasEmptyStatus","hasStatusNative","statusesAfterLoading","safeCallback","arg1","arg2","arg3","addClass","removeClass","RegExp","getTempImage","llTempImage","_observer","updateLoadingCount","loadingCount","setToLoadCount","toLoadCount","getSourceTags","parentTag","sourceTags","childTag","forEachPictureSource","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","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","previewSRC","thumbnail","$page","$name","$img","ev","stopImmediatePropagation","togglePreview","$previewMask","$btnSidebar","renderFooterBtn","NS","$svg","createElementNS","$path","sidebarSVG","$pageJumps","$btnPageBack","arrowLeftSVG","$btnPlay","playSVG","pauseSVG","returnPlay","$btnPageNext","arrowRightSVG","$pageNumber","select","$totalPage","$icon","$iconActive","$btn","$previewPage","offsetTop","_c","velocity","paused","_animationFrameID","_loopTimestamp","looper","frames","floor","stepper","onStep","stiffness","damping","stepTo","pause","fSpring","fDamper","newVelocity","newCurrent","pagesIntrinsicWidth","lastVisit","pageOffsetY","pageOffsetX","setScale","requestIdleCallback","cancelSchedule","cancelIdleCallback","els","maxElCount","gcTimer","gc","sortedEls","getEl","el","PageEl","pageEl","_hwaTimeout","NaN","_turnOffHWA","$pages","pagesScrollTop","containerWidth","containerHeight","URL","searchParams","pagesIntrinsicYs","pagesMinHeight","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","RATIO_BASE_CONTAINER_HEIGHT","whiteboardView","pageScrollTop","mountWhiteboard","onUserScroll","userScrolling","scrollToPage","_onUserScroll","debouncedOnUserScroll","pageRenderer","updateUserScroll","viewer","DocsViewer","PageRenderer","scrollbar","ScrollBar","pageScrollTop2","pageScrollTo","pageScrollStepper","Stepper","setupScrollListener","debouncedRenderRatioHeight","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","pageWidth","pageHeight","diff","StaticDocsViewer","_a2","MessageChannel","exports3","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","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","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","Bd","Cd","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","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","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","fj","gj","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","Dj","lk","xa","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","self","toStringTag","leading","trailing","seeking","mobileSeeking","hoverTime","secondsPrefix","minutesPrefix","seekPause","handleTouchSeeking","changeCurrentTimePosition","handleSeeking","setTrackWidthState","trackWidth","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","_WindowManager","NETLESS_DEPS","WhiteVersion","WhiteWebSDKInvalidError","initManager","isCreated","pRetry","getInvisiblePlugin","retries","ensureAttributes","appManager","AppManager","_pageState","PageStateImpl","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","_addApp","AppManagerNotInitError","ParamsInvalidError","AppCreateError","setupScenePath","addApp","isValidScenePath","InvalidScenePath","appScenePath","nextIndex","mainViewSceneIndex","prevIndex","switchMainViewToWriter","onAppDestroy","setViewMode","Freedom","viewMode","setBoxState","boxState","focusedView","queryAll","pureCamera","cameraBound","onDestroy","_destroy","setAttributes","scheme","info","uuid2","locked","sceneSrc","isNull"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"index.umd.js","sources":["../src/constants.ts","../src/callback.ts","../src/Utils/AppCreateQueue.ts","../src/InternalEmitter.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/PageState.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 RootDirRemoved = \"RootDirRemoved\",\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 = \"/\";\nexport const INIT_DIR = \"/init\";\n\nexport const SETUP_APP_DELAY = 50;\n","import Emittery from \"emittery\";\nimport type { TeleBoxColorScheme, TELE_BOX_STATE } from \"@netless/telebox-insider\";\nimport type { CameraState, SceneState, ViewVisionMode } from \"white-web-sdk\";\nimport type { LoadAppEvent } from \"./Register\";\nimport type { PageState } from \"./PageState\";\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 ready: undefined; // 所有 APP 创建完毕时触发\n sceneStateChange: SceneState;\n pageStateChange: PageState;\n};\n\nexport type CallbacksType = Emittery<PublicEvent>;\nexport const callbacks: CallbacksType = new Emittery();\n","import { callbacks } from \"../callback\";\nimport type { AppProxy } from \"../AppProxy\";\nimport { SETUP_APP_DELAY } from \"../constants\";\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 public isEmit = false;\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.invoked();\n })\n .catch(error => {\n console.error(`[WindowManager]: create app error: ${error.message}`);\n this.invoked();\n });\n }\n }\n\n private invoked = () => {\n this.currentInvoker = undefined;\n if (this.list.length === 0) {\n this.clear();\n this.emitReady();\n }\n }\n\n private clear = () => {\n clearInterval(this.timer);\n this.timer = undefined;\n }\n\n public emitReady() {\n if (!this.isEmit) {\n setTimeout(() => {\n callbacks.emit(\"ready\");\n }, SETUP_APP_DELAY);\n }\n this.isEmit = true;\n }\n\n public empty() {\n this.list = [];\n this.clear();\n }\n\n public destroy() {\n if (this.timer) {\n this.clear();\n }\n }\n}\n","import Emittery from \"emittery\";\nimport type { AppInitState, CursorMovePayload } from \"./index\";\n\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 seekStart: undefined;\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 setReadonly: boolean;\n changePageState: undefined;\n};\n\nexport type EmitterType = Emittery<EmitterEvent>;\nexport const emitter: EmitterType = new Emittery();\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 \"../callback\";\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\nexport type SyncRegisterAppPayload = { kind: string, src: string, name: string | undefined };\nexport type SyncRegisterApp = (payload: SyncRegisterAppPayload) => void;\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 private syncRegisterApp: SyncRegisterApp | null = null;\n\n public setSyncRegisterApp(fn: SyncRegisterApp) {\n this.syncRegisterApp = fn;\n }\n\n public onSyncRegisterAppChange = (payload: SyncRegisterAppPayload) => {\n this.register({ kind: payload.kind, src: payload.src });\n }\n\n public async register(params: RegisterParams): Promise<void> {\n this.appClassesCache.delete(params.kind);\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, params.name)) 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 if (this.syncRegisterApp) {\n this.syncRegisterApp({ kind: params.kind, src: srcOrAppOrFunction, name: params.name });\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 unregister(kind: string) {\n this.appClasses.delete(kind);\n this.appClassesCache.delete(kind);\n this.registered.delete(kind);\n const kindEmitter = this.kindEmitters.get(kind);\n if (kindEmitter) {\n kindEmitter.clearListeners();\n this.kindEmitters.delete(kind);\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 \"../InternalEmitter\";\nimport { ROOT_DIR } from \"../constants\";\nimport { ScenePathType } from \"white-web-sdk\";\nimport { v4 } from \"uuid\";\nimport type { PublicEvent } from \"../callback\";\nimport type { Displayer, ViewVisionMode, Room, View , SceneDefinition} from \"white-web-sdk\";\nimport type Emittery from \"emittery\";\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 const nextScenePath = scenePath === \"/\" ? \"\" : scenePath;\n room.setScenePath(nextScenePath);\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\nexport const putScenes = (room: Room | undefined, path: string, scenes: SceneDefinition[]) => {\n return room?.putScenes(path, scenes);\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 } from \"./callback\";\nimport { emitter } from \"./InternalEmitter\";\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 case Events.RootDirRemoved: {\n this.rootDirRemovedHandler();\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 private rootDirRemovedHandler = () => {\n this.manager.createRootDirScenesCallback();\n this.manager.mainViewProxy.rebind();\n emitter.emit(\"rootDirRemoved\");\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 { BoxNotCreatedError } from \"./Utils/error\";\nimport { Storage } from \"./App/Storage\";\nimport {\n autorun,\n listenDisposed,\n listenUpdated,\n reaction,\n unlistenDisposed,\n unlistenUpdated,\n toJS,\n} from \"white-web-sdk\";\nimport type {\n Room,\n SceneDefinition,\n View,\n EventListener as WhiteEventListener,\n} 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 type {\n MagixEventAddListener,\n MagixEventDispatcher,\n MagixEventRemoveListener,\n} 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: HTMLElement): void => {\n const view = this.getView();\n if (view) {\n view.divElement = dom as HTMLDivElement;\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\"\n ? (this.appOptions as () => TAppOptions)()\n : 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 const appScopeEvent = `${this.appId}:${args[0]}`;\n return this.manager.room?.dispatchMagixEvent(appScopeEvent, args[1]);\n };\n\n /** Listen to events from others clients (and self messages). */\n public addMagixEventListener: MagixEventAddListener<TMagixEventPayloads> = (\n event,\n handler,\n options\n ) => {\n const appScopeEvent = `${this.appId}:${event}`;\n this.manager.displayer.addMagixEventListener(\n appScopeEvent,\n handler as WhiteEventListener,\n options\n );\n return () =>\n this.manager.displayer.removeMagixEventListener(\n appScopeEvent,\n handler as WhiteEventListener\n );\n };\n\n /** Remove a Magix event listener. */\n public removeMagixEventListener = this.manager.displayer.removeMagixEventListener.bind(\n this.manager.displayer\n ) 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 Registered = \"registered\",\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, SETUP_APP_DELAY } 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 \"./InternalEmitter\";\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 }, SETUP_APP_DELAY);\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 async onSeek(time: number) {\n this.appEmitter.emit(\"seek\", time).catch(err => {\n console.log(`[WindowManager]: emit seek error: ${err.message}`)\n });\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 console.log(\"setViewFocusScenePath\", this.kind, this.id, fullPath)\n if (fullPath && this.view) {\n setViewFocusScenePath(this.view, fullPath);\n }\n return fullPath;\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 console.log(\"put closeApp\", 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 } from \"../callback\";\nimport { createView } from \"./ViewManager\";\nimport { debounce, isEmpty, isEqual } from \"lodash\";\nimport { emitter } from \"../InternalEmitter\";\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 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.addMainViewListener();\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 this.mainViewIsAddListener = false;\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 } from \"./callback\";\nimport { emitter } from \"./InternalEmitter\";\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, INIT_DIR, 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 } from \"./callback\";\nimport { emitter } from \"./InternalEmitter\";\nimport { Fields, store } from \"./AttributesDelegate\";\nimport { get, isInteger, orderBy } from \"lodash\";\nimport { log } from \"./Utils/log\";\nimport { MainViewProxy } from \"./View/MainView\";\nimport { onObjectRemoved, safeListenPropsUpdated } from \"./Utils/Reactive\";\nimport { reconnectRefresher, WindowManager } from \"./index\";\nimport { RedoUndo } from \"./RedoUndo\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport { ViewManager } from \"./View/ViewManager\";\nimport type { SyncRegisterAppPayload } from \"./Register\";\nimport type { EmitterEvent } from \"./InternalEmitter\";\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 {\n Displayer,\n DisplayerState,\n Room,\n ScenesCallbacksNode,\n SceneState,\n} from \"white-web-sdk\";\nimport type { AddAppParams, BaseInsertParams, TeleBoxRect } 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 public sceneState: SceneState | null = null;\n\n public rootDirRemoving = false;\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\n if (isPlayer(this.displayer)) {\n emitter.on(\"seekStart\", this.onPlayerSeekStart);\n emitter.on(\"seek\", this.onPlayerSeekDone);\n }\n\n emitter.on(\"removeScenes\", this.onRemoveScenes);\n emitter.on(\"setReadonly\", this.onReadonlyChanged);\n\n this.createRootDirScenesCallback();\n\n appRegister.setSyncRegisterApp(payload => {\n this.safeUpdateAttributes([Fields.Registered, payload.kind], payload);\n });\n }\n\n private onRemoveScenes = async (scenePath: string) => {\n // 如果移除根目录就把 scenePath 设置为初始值\n if (scenePath === ROOT_DIR) {\n await this.onRootDirRemoved();\n this.dispatchInternalEvent(Events.RootDirRemoved);\n return;\n }\n // 如果移除的 path 跟 MainViewScenePath 相同就取当前目录的当前 index\n const mainViewScenePath = this.store.getMainViewScenePath();\n if (this.room && mainViewScenePath) {\n if (mainViewScenePath === scenePath) {\n const nextPath = this.callbacksNode?.scenes[this.store.getMainViewSceneIndex()];\n this.setMainViewScenePath(`/${nextPath}` || INIT_DIR);\n }\n }\n };\n\n /**\n * 根目录被删除时所有的 scene 都会被删除.\n * 所以需要关掉所有开启了 view 的 app\n */\n public async onRootDirRemoved(needClose = true) {\n this.setMainViewScenePath(INIT_DIR);\n this.createRootDirScenesCallback();\n \n for (const [id, appProxy] of this.appProxies.entries()) {\n if (appProxy.view) {\n await this.closeApp(id, needClose);\n }\n }\n // 删除了根目录的 scenes 之后 mainview 需要重新绑定, 否则主白板会不能渲染\n this.mainViewProxy.rebind();\n emitter.emit(\"rootDirRemoved\");\n this.updateRootDirRemoving(false);\n }\n\n private onReadonlyChanged = () => {\n this.appProxies.forEach(appProxy => {\n appProxy.emitAppIsWritableChange();\n });\n };\n\n private onPlayerSeekStart = async () => {\n await this.closeAll();\n };\n\n private onPlayerSeekDone = async (time: number) => {\n await this.attributesUpdateCallback(this.attributes.apps);\n this.appProxies.forEach(appProxy => {\n appProxy.onSeek(time);\n });\n };\n\n public 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: this.onSceneChange,\n onRemoveScene: this.onSceneChange,\n });\n if (this.callbacksNode) {\n this.updateSceneState(this.callbacksNode);\n this.mainViewScenesLength = this.callbacksNode.scenes.length;\n if (isRecreate) {\n this.emitMainViewScenesChange(this.callbacksNode.scenes.length);\n }\n }\n };\n\n private onSceneChange = (node: ScenesCallbacksNode) => {\n this.mainViewScenesLength = node.scenes.length;\n this.updateSceneState(node);\n this.emitMainViewScenesChange(this.mainViewScenesLength);\n };\n\n private emitMainViewScenesChange = (length: number) => {\n callbacks.emit(\"mainViewScenesLengthChange\", length);\n emitter.emit(\"changePageState\");\n };\n\n private updateSceneState = (node: ScenesCallbacksNode) => {\n const currentIndex = this.store.getMainViewSceneIndex() || 0;\n const sceneName = node.scenes[currentIndex];\n this.sceneState = {\n scenePath: `${ROOT_DIR}${sceneName}`,\n contextPath: node.path,\n index: currentIndex,\n scenes: node.scenes.map(scene => {\n return {\n name: scene,\n };\n }),\n sceneName: sceneName,\n };\n callbacks.emit(\"sceneStateChange\", this.sceneState);\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 this.onMinimized(minimized);\n });\n });\n this.refresher?.add(\"mainViewIndex\", () => {\n return autorun(() => {\n const mainSceneIndex = get(this.attributes, \"_mainSceneIndex\");\n this.onMainViewIndexChange(mainSceneIndex);\n });\n });\n this.refresher?.add(\"focusedChange\", () => {\n return autorun(() => {\n const focused = get(this.attributes, \"focus\");\n this.onFocusChange(focused);\n });\n });\n this.refresher?.add(\"registeredChange\", () => {\n return autorun(() => {\n const registered = get(this.attributes, Fields.Registered);\n this.onRegisteredChange(registered);\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 this.resetScenePath(mainScenePath);\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 private onMainViewIndexChange = (index: number) => {\n if (index !== undefined && this._prevSceneIndex !== index) {\n callbacks.emit(\"mainViewSceneIndexChange\", index);\n emitter.emit(\"changePageState\");\n if (this.callbacksNode) {\n this.updateSceneState(this.callbacksNode);\n }\n this._prevSceneIndex = index;\n }\n }\n\n private onFocusChange = (focused: string | undefined) => {\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 /**\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 if (appIds.length === 0) {\n this.appCreateQueue.emitReady();\n }\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 try {\n const appAttributes = this.attributes[id];\n if (!appAttributes) {\n throw new Error(\"appAttributes is undefined\");\n }\n this.appCreateQueue.push(() => {\n this.appStatus.set(id, AppStatus.StartCreate);\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 private onRegisteredChange = (registered: Record<string, SyncRegisterAppPayload>) => {\n if (!registered) return;\n Object.entries(registered).forEach(([kind, payload]) => {\n if (!appRegister.appClasses.has(kind)) {\n appRegister.register({\n kind,\n src: payload.src,\n name: payload.name,\n });\n }\n });\n };\n\n private onMinimized = (minimized: boolean | undefined) => {\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 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 = async (apps: any) => {\n const ids = Object.keys(apps);\n for (const [id, appProxy] of this.appProxies.entries()) {\n if (!ids.includes(id)) {\n await appProxy.destroy(true, false, true);\n }\n }\n };\n\n private closeAll = async () => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n for (const [_, appProxy] of this.appProxies.entries()) {\n await appProxy.destroy(true, false, true);\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 private resetScenePath(scenePath: string) {\n const sceneState = this.displayer.state.sceneState;\n if (sceneState.scenePath !== scenePath) {\n setScenePath(this.room, scenePath);\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, needClose = true) {\n const appProxy = this.appProxies.get(appId);\n if (appProxy) {\n appProxy.destroy(true, needClose, 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 updateRootDirRemoving = (removing: boolean) => {\n this.rootDirRemoving = removing;\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 \"./InternalEmitter\";\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)<=5&&Math.abs(e.clientY-this.lastTitleBarClick.clientY)<=5&&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)<=10&&Math.abs(r-this.lastTitleBarTouch.clientY)<=10&&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(){const e=super.render(),{x:t,y:i,width:s}=this.containerRect;e.style.transform=`translate(${t}px, ${i}px)`,e.style.width=s+\"px\",e.classList.add(this.wrapClassName(\"max-titlebar\")),e.classList.toggle(this.wrapClassName(\"max-titlebar-maximized\"),this.state===Ke.Maximized),e.classList.toggle(this.wrapClassName(\"readonly\"),this.readonly),e.classList.add(this.wrapClassName(this.darkMode?\"color-scheme-dark\":\"color-scheme-light\"));const r=document.createElement(\"div\");return r.classList.add(this.wrapClassName(\"titles-area\")),e.insertBefore(r,e.firstElementChild),this.updateTitles(),e}destroy(){super.destroy(),this.$titles=void 0,this.boxes.length=0,this.focusedBox=void 0}updateTitles(){this.$titleBar&&this.state===Ke.Maximized&&(this.$titleBar.classList.toggle(this.wrapClassName(\"max-titlebar-single-title\"),1===this.boxes.length),1===this.boxes.length?this.setTitle(this.boxes[0].title):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 } 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\";\nimport type { CallbacksType } from \"./callback\";\nimport type { EmitterType } from \"./InternalEmitter\";\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 } from \"../InternalEmitter\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport { throttle } from \"lodash\";\nimport { WindowManager } from \"../index\";\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 =\n 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 type { AppManager } from \"./AppManager\";\nimport { callbacks } from \"./callback\";\nimport { emitter } from \"./InternalEmitter\";\n\nexport type PageState = {\n index: number;\n length: number;\n};\n\nexport class PageStateImpl {\n constructor(private manager: AppManager) {\n emitter.on(\"changePageState\", () => {\n callbacks.emit(\"pageStateChange\", this.toObject());\n });\n }\n\n public get index(): number {\n return this.manager?.store.getMainViewSceneIndex() || 0;\n }\n\n public get length(): number {\n return this.manager?.mainViewScenesLength || 0;\n }\n\n public toObject(): PageState {\n return {\n index: this.index,\n length: this.length,\n };\n }\n}\n","import { emitter } from \"../InternalEmitter\";\nimport { isPlayer } from \"white-web-sdk\";\nimport type { WindowManager } from \"../index\";\nimport type { Camera, Room, Player, PlayerSeekingResult } from \"white-web-sdk\";\nimport { ROOT_DIR } from \"../constants\";\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.canUndoSteps;\n },\n });\n\n Object.defineProperty(room, \"canRedoSteps\", {\n get() {\n return manager.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, manager);\n }\n};\n\nconst delegateRemoveScenes = (room: Room, manager: WindowManager) => {\n const originRemoveScenes = room.removeScenes;\n room.removeScenes = (scenePath: string) => {\n if (scenePath === ROOT_DIR) {\n manager.appManager?.updateRootDirRemoving(true);\n }\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 // seek 时需要先关闭所有的 app 防止内部使用的 mobx 出现错误\n await emitter.emit(\"seekStart\");\n const seekResult = await originSeek.call(player, time);\n emitter.emit(\"seek\", time); \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};\nfunction mimicFunction(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}\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 mimicFunction(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 = /* @__PURE__ */ 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}\nvar resizeObservers = [];\nvar hasActiveObservations = function() {\n return resizeObservers.some(function(ro) {\n return ro.activeTargets.length > 0;\n });\n};\nvar hasSkippedObservations = function() {\n return resizeObservers.some(function(ro) {\n return ro.skippedTargets.length > 0;\n });\n};\nvar msg = \"ResizeObserver loop completed with undelivered notifications.\";\nvar deliverResizeLoopError = function() {\n var event;\n if (typeof ErrorEvent === \"function\") {\n event = new ErrorEvent(\"error\", {\n message: msg\n });\n } else {\n event = document.createEvent(\"Event\");\n event.initEvent(\"error\", false, false);\n event.message = msg;\n }\n window.dispatchEvent(event);\n};\nvar ResizeObserverBoxOptions;\n(function(ResizeObserverBoxOptions2) {\n ResizeObserverBoxOptions2[\"BORDER_BOX\"] = \"border-box\";\n ResizeObserverBoxOptions2[\"CONTENT_BOX\"] = \"content-box\";\n ResizeObserverBoxOptions2[\"DEVICE_PIXEL_CONTENT_BOX\"] = \"device-pixel-content-box\";\n})(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {}));\nvar freeze = function(obj) {\n return Object.freeze(obj);\n};\nvar ResizeObserverSize = function() {\n function ResizeObserverSize2(inlineSize, blockSize) {\n this.inlineSize = inlineSize;\n this.blockSize = blockSize;\n freeze(this);\n }\n return ResizeObserverSize2;\n}();\nvar DOMRectReadOnly = function() {\n function DOMRectReadOnly2(x, y, width, height) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n this.top = this.y;\n this.left = this.x;\n this.bottom = this.top + this.height;\n this.right = this.left + this.width;\n return freeze(this);\n }\n DOMRectReadOnly2.prototype.toJSON = function() {\n var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height;\n return { x, y, top, right, bottom, left, width, height };\n };\n DOMRectReadOnly2.fromRect = function(rectangle) {\n return new DOMRectReadOnly2(rectangle.x, rectangle.y, rectangle.width, rectangle.height);\n };\n return DOMRectReadOnly2;\n}();\nvar isSVG = function(target) {\n return target instanceof SVGElement && \"getBBox\" in target;\n};\nvar isHidden = function(target) {\n if (isSVG(target)) {\n var _a = target.getBBox(), width = _a.width, height = _a.height;\n return !width && !height;\n }\n var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight;\n return !(offsetWidth || offsetHeight || target.getClientRects().length);\n};\nvar isElement = function(obj) {\n var _a, _b;\n if (obj instanceof Element) {\n return true;\n }\n var scope = (_b = (_a = obj) === null || _a === void 0 ? void 0 : _a.ownerDocument) === null || _b === void 0 ? void 0 : _b.defaultView;\n return !!(scope && obj instanceof scope.Element);\n};\nvar isReplacedElement = function(target) {\n switch (target.tagName) {\n case \"INPUT\":\n if (target.type !== \"image\") {\n break;\n }\n case \"VIDEO\":\n case \"AUDIO\":\n case \"EMBED\":\n case \"OBJECT\":\n case \"CANVAS\":\n case \"IFRAME\":\n case \"IMG\":\n return true;\n }\n return false;\n};\nvar global = typeof window !== \"undefined\" ? window : {};\nvar cache = /* @__PURE__ */ new WeakMap();\nvar scrollRegexp = /auto|scroll/;\nvar verticalRegexp = /^tb|vertical/;\nvar IE = /msie|trident/i.test(global.navigator && global.navigator.userAgent);\nvar parseDimension = function(pixel) {\n return parseFloat(pixel || \"0\");\n};\nvar size = function(inlineSize, blockSize, switchSizes) {\n if (inlineSize === void 0) {\n inlineSize = 0;\n }\n if (blockSize === void 0) {\n blockSize = 0;\n }\n if (switchSizes === void 0) {\n switchSizes = false;\n }\n return new ResizeObserverSize((switchSizes ? blockSize : inlineSize) || 0, (switchSizes ? inlineSize : blockSize) || 0);\n};\nvar zeroBoxes = freeze({\n devicePixelContentBoxSize: size(),\n borderBoxSize: size(),\n contentBoxSize: size(),\n contentRect: new DOMRectReadOnly(0, 0, 0, 0)\n});\nvar calculateBoxSizes = function(target, forceRecalculation) {\n if (forceRecalculation === void 0) {\n forceRecalculation = false;\n }\n if (cache.has(target) && !forceRecalculation) {\n return cache.get(target);\n }\n if (isHidden(target)) {\n cache.set(target, zeroBoxes);\n return zeroBoxes;\n }\n var cs = getComputedStyle(target);\n var svg = isSVG(target) && target.ownerSVGElement && target.getBBox();\n var removePadding = !IE && cs.boxSizing === \"border-box\";\n var switchSizes = verticalRegexp.test(cs.writingMode || \"\");\n var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || \"\");\n var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || \"\");\n var paddingTop = svg ? 0 : parseDimension(cs.paddingTop);\n var paddingRight = svg ? 0 : parseDimension(cs.paddingRight);\n var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom);\n var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft);\n var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth);\n var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth);\n var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth);\n var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth);\n var horizontalPadding = paddingLeft + paddingRight;\n var verticalPadding = paddingTop + paddingBottom;\n var horizontalBorderArea = borderLeft + borderRight;\n var verticalBorderArea = borderTop + borderBottom;\n var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight;\n var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth;\n var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0;\n var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0;\n var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness;\n var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness;\n var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea;\n var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea;\n var boxes = freeze({\n devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes),\n borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes),\n contentBoxSize: size(contentWidth, contentHeight, switchSizes),\n contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight)\n });\n cache.set(target, boxes);\n return boxes;\n};\nvar calculateBoxSize = function(target, observedBox, forceRecalculation) {\n var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize;\n switch (observedBox) {\n case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:\n return devicePixelContentBoxSize;\n case ResizeObserverBoxOptions.BORDER_BOX:\n return borderBoxSize;\n default:\n return contentBoxSize;\n }\n};\nvar ResizeObserverEntry = function() {\n function ResizeObserverEntry2(target) {\n var boxes = calculateBoxSizes(target);\n this.target = target;\n this.contentRect = boxes.contentRect;\n this.borderBoxSize = freeze([boxes.borderBoxSize]);\n this.contentBoxSize = freeze([boxes.contentBoxSize]);\n this.devicePixelContentBoxSize = freeze([boxes.devicePixelContentBoxSize]);\n }\n return ResizeObserverEntry2;\n}();\nvar calculateDepthForNode = function(node) {\n if (isHidden(node)) {\n return Infinity;\n }\n var depth = 0;\n var parent = node.parentNode;\n while (parent) {\n depth += 1;\n parent = parent.parentNode;\n }\n return depth;\n};\nvar broadcastActiveObservations = function() {\n var shallowestDepth = Infinity;\n var callbacks2 = [];\n resizeObservers.forEach(function processObserver(ro) {\n if (ro.activeTargets.length === 0) {\n return;\n }\n var entries = [];\n ro.activeTargets.forEach(function processTarget(ot) {\n var entry = new ResizeObserverEntry(ot.target);\n var targetDepth = calculateDepthForNode(ot.target);\n entries.push(entry);\n ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox);\n if (targetDepth < shallowestDepth) {\n shallowestDepth = targetDepth;\n }\n });\n callbacks2.push(function resizeObserverCallback() {\n ro.callback.call(ro.observer, entries, ro.observer);\n });\n ro.activeTargets.splice(0, ro.activeTargets.length);\n });\n for (var _i = 0, callbacks_1 = callbacks2; _i < callbacks_1.length; _i++) {\n var callback = callbacks_1[_i];\n callback();\n }\n return shallowestDepth;\n};\nvar gatherActiveObservationsAtDepth = function(depth) {\n resizeObservers.forEach(function processObserver(ro) {\n ro.activeTargets.splice(0, ro.activeTargets.length);\n ro.skippedTargets.splice(0, ro.skippedTargets.length);\n ro.observationTargets.forEach(function processTarget(ot) {\n if (ot.isActive()) {\n if (calculateDepthForNode(ot.target) > depth) {\n ro.activeTargets.push(ot);\n } else {\n ro.skippedTargets.push(ot);\n }\n }\n });\n });\n};\nvar process = function() {\n var depth = 0;\n gatherActiveObservationsAtDepth(depth);\n while (hasActiveObservations()) {\n depth = broadcastActiveObservations();\n gatherActiveObservationsAtDepth(depth);\n }\n if (hasSkippedObservations()) {\n deliverResizeLoopError();\n }\n return depth > 0;\n};\nvar trigger;\nvar callbacks = [];\nvar notify = function() {\n return callbacks.splice(0).forEach(function(cb) {\n return cb();\n });\n};\nvar queueMicroTask = function(callback) {\n if (!trigger) {\n var toggle_1 = 0;\n var el_1 = document.createTextNode(\"\");\n var config = { characterData: true };\n new MutationObserver(function() {\n return notify();\n }).observe(el_1, config);\n trigger = function() {\n el_1.textContent = \"\" + (toggle_1 ? toggle_1-- : toggle_1++);\n };\n }\n callbacks.push(callback);\n trigger();\n};\nvar queueResizeObserver = function(cb) {\n queueMicroTask(function ResizeObserver2() {\n requestAnimationFrame(cb);\n });\n};\nvar watching = 0;\nvar isWatching = function() {\n return !!watching;\n};\nvar CATCH_PERIOD = 250;\nvar observerConfig = { attributes: true, characterData: true, childList: true, subtree: true };\nvar events = [\n \"resize\",\n \"load\",\n \"transitionend\",\n \"animationend\",\n \"animationstart\",\n \"animationiteration\",\n \"keyup\",\n \"keydown\",\n \"mouseup\",\n \"mousedown\",\n \"mouseover\",\n \"mouseout\",\n \"blur\",\n \"focus\"\n];\nvar time = function(timeout) {\n if (timeout === void 0) {\n timeout = 0;\n }\n return Date.now() + timeout;\n};\nvar scheduled = false;\nvar Scheduler = function() {\n function Scheduler2() {\n var _this = this;\n this.stopped = true;\n this.listener = function() {\n return _this.schedule();\n };\n }\n Scheduler2.prototype.run = function(timeout) {\n var _this = this;\n if (timeout === void 0) {\n timeout = CATCH_PERIOD;\n }\n if (scheduled) {\n return;\n }\n scheduled = true;\n var until = time(timeout);\n queueResizeObserver(function() {\n var elementsHaveResized = false;\n try {\n elementsHaveResized = process();\n } finally {\n scheduled = false;\n timeout = until - time();\n if (!isWatching()) {\n return;\n }\n if (elementsHaveResized) {\n _this.run(1e3);\n } else if (timeout > 0) {\n _this.run(timeout);\n } else {\n _this.start();\n }\n }\n });\n };\n Scheduler2.prototype.schedule = function() {\n this.stop();\n this.run();\n };\n Scheduler2.prototype.observe = function() {\n var _this = this;\n var cb = function() {\n return _this.observer && _this.observer.observe(document.body, observerConfig);\n };\n document.body ? cb() : global.addEventListener(\"DOMContentLoaded\", cb);\n };\n Scheduler2.prototype.start = function() {\n var _this = this;\n if (this.stopped) {\n this.stopped = false;\n this.observer = new MutationObserver(this.listener);\n this.observe();\n events.forEach(function(name) {\n return global.addEventListener(name, _this.listener, true);\n });\n }\n };\n Scheduler2.prototype.stop = function() {\n var _this = this;\n if (!this.stopped) {\n this.observer && this.observer.disconnect();\n events.forEach(function(name) {\n return global.removeEventListener(name, _this.listener, true);\n });\n this.stopped = true;\n }\n };\n return Scheduler2;\n}();\nvar scheduler = new Scheduler();\nvar updateCount = function(n) {\n !watching && n > 0 && scheduler.start();\n watching += n;\n !watching && scheduler.stop();\n};\nvar skipNotifyOnElement = function(target) {\n return !isSVG(target) && !isReplacedElement(target) && getComputedStyle(target).display === \"inline\";\n};\nvar ResizeObservation = function() {\n function ResizeObservation2(target, observedBox) {\n this.target = target;\n this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX;\n this.lastReportedSize = {\n inlineSize: 0,\n blockSize: 0\n };\n }\n ResizeObservation2.prototype.isActive = function() {\n var size2 = calculateBoxSize(this.target, this.observedBox, true);\n if (skipNotifyOnElement(this.target)) {\n this.lastReportedSize = size2;\n }\n if (this.lastReportedSize.inlineSize !== size2.inlineSize || this.lastReportedSize.blockSize !== size2.blockSize) {\n return true;\n }\n return false;\n };\n return ResizeObservation2;\n}();\nvar ResizeObserverDetail = function() {\n function ResizeObserverDetail2(resizeObserver, callback) {\n this.activeTargets = [];\n this.skippedTargets = [];\n this.observationTargets = [];\n this.observer = resizeObserver;\n this.callback = callback;\n }\n return ResizeObserverDetail2;\n}();\nvar observerMap = /* @__PURE__ */ new WeakMap();\nvar getObservationIndex = function(observationTargets, target) {\n for (var i = 0; i < observationTargets.length; i += 1) {\n if (observationTargets[i].target === target) {\n return i;\n }\n }\n return -1;\n};\nvar ResizeObserverController = function() {\n function ResizeObserverController2() {\n }\n ResizeObserverController2.connect = function(resizeObserver, callback) {\n var detail = new ResizeObserverDetail(resizeObserver, callback);\n observerMap.set(resizeObserver, detail);\n };\n ResizeObserverController2.observe = function(resizeObserver, target, options) {\n var detail = observerMap.get(resizeObserver);\n var firstObservation = detail.observationTargets.length === 0;\n if (getObservationIndex(detail.observationTargets, target) < 0) {\n firstObservation && resizeObservers.push(detail);\n detail.observationTargets.push(new ResizeObservation(target, options && options.box));\n updateCount(1);\n scheduler.schedule();\n }\n };\n ResizeObserverController2.unobserve = function(resizeObserver, target) {\n var detail = observerMap.get(resizeObserver);\n var index = getObservationIndex(detail.observationTargets, target);\n var lastObservation = detail.observationTargets.length === 1;\n if (index >= 0) {\n lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1);\n detail.observationTargets.splice(index, 1);\n updateCount(-1);\n }\n };\n ResizeObserverController2.disconnect = function(resizeObserver) {\n var _this = this;\n var detail = observerMap.get(resizeObserver);\n detail.observationTargets.slice().forEach(function(ot) {\n return _this.unobserve(resizeObserver, ot.target);\n });\n detail.activeTargets.splice(0, detail.activeTargets.length);\n };\n return ResizeObserverController2;\n}();\nvar ResizeObserver$1 = function() {\n function ResizeObserver2(callback) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (typeof callback !== \"function\") {\n throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n }\n ResizeObserverController.connect(this, callback);\n }\n ResizeObserver2.prototype.observe = function(target, options) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.observe(this, target, options);\n };\n ResizeObserver2.prototype.unobserve = function(target) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.unobserve(this, target);\n };\n ResizeObserver2.prototype.disconnect = function() {\n ResizeObserverController.disconnect(this);\n };\n ResizeObserver2.toString = function() {\n return \"function ResizeObserver () { [polyfill code] }\";\n };\n return ResizeObserver2;\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, pagesIntrinsicWidth) {\n this.scale = 1;\n this.lastVisit = Date.now();\n this.pageOffsetY = 0;\n this.pageOffsetX = 0;\n this.visible = true;\n this.index = index;\n this.page = page;\n this.scale = scale;\n this.pageOffsetX = (pagesIntrinsicWidth - page.width) / 2;\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 = `translate(${this.pageOffsetX * this.scale}px, ${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 = `translate(${this.pageOffsetX * this.scale}px, ${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, pagesIntrinsicWidth, scale) {\n this.pages = pages;\n this.pagesIntrinsicWidth = pagesIntrinsicWidth;\n this.scale = scale;\n this.els = /* @__PURE__ */ 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, this.pagesIntrinsicWidth);\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, pagesIntrinsicWidth, 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 ResizeObserver = window.ResizeObserver || ResizeObserver$1;\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 const debouncedRenderRatioHeight = this.debounce(this.renderRatioHeight.bind(this), {\n wait: 80\n });\n this.sideEffect.add(() => {\n const observer = new ResizeObserver(debouncedRenderRatioHeight);\n observer.observe(this.viewer.$content);\n return () => observer.disconnect();\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 pRetry from \"p-retry\";\nimport { AppManager } from \"./AppManager\";\nimport { appRegister } from \"./Register\";\nimport { callbacks } from \"./callback\";\nimport { checkVersion, setupWrapper } from \"./Helper\";\nimport { ContainerResizeObserver } from \"./ContainerResizeObserver\";\nimport { createBoxManager } from \"./BoxManager\";\nimport { CursorManager } from \"./Cursor\";\nimport { DEFAULT_CONTAINER_RATIO, Events, INIT_DIR, ROOT_DIR } from \"./constants\";\nimport { emitter } from \"./InternalEmitter\";\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 { PageStateImpl } from \"./PageState\";\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 {\n addEmitterOnceListener,\n ensureValidScenePath,\n entireScenes,\n isValidScenePath,\n putScenes,\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 CameraState,\n Player,\n ImageInformation,\n SceneState,\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\";\nimport type { PublicEvent } from \"./Callback\";\nimport type Emittery from \"emittery\";\nimport type { PageState } from \"./PageState\";\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 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 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 private _pageState?: PageStateImpl;\n\n private boxManager?: BoxManager;\n private static params?: MountParams;\n\n private containerResizeObserver?: ContainerResizeObserver;\n public containerSizeRatio = WindowManager.containerSizeRatio;\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._pageState = new PageStateImpl(manager.appManager);\n manager.cursorManager = new CursorManager(manager.appManager, Boolean(cursor));\n if (containerSizeRatio) {\n manager.containerSizeRatio = containerSizeRatio;\n }\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 static get registered() {\n return appRegister.registered;\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 * 注销插件\n */\n public static unregister(kind: string) {\n return appRegister.unregister(kind);\n }\n\n /**\n * 创建一个 app 至白板\n */\n public async addApp<T = any>(params: AddAppParams<T>): Promise<string | undefined> {\n if (this.appManager) {\n // 移除根目录时需要做一些异步的释放操作 addApp 需要等待释放完成才可以继续添加\n if (this.appManager.rootDirRemoving) {\n return new Promise((resolve, reject) => {\n emitter.once(\"rootDirRemoved\").then(async () => {\n try {\n const appId = await this._addApp(params);\n resolve(appId);\n } catch (error) {\n reject(error.message);\n }\n });\n });\n } else {\n return this._addApp(params);\n }\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n private 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 putScenes(this.room, scenePath, scenes);\n }\n } else {\n if (!entireScenes(this.displayer)[scenePath]) {\n putScenes(this.room, scenePath, [{ name: scenes[0].name }]);\n }\n }\n }\n if (scenePath && scenes === undefined) {\n putScenes(this.room, 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 emitter.emit(\"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 (mode === ViewMode.Broadcaster) {\n if (this.canOperate) {\n this.appManager?.mainViewProxy.setCameraAndSize();\n }\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._pageState?.index || 0;\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._pageState?.length || 0;\n }\n\n public get canRedoSteps(): number {\n return this.focusedView?.canRedoSteps || 0;\n }\n\n public get canUndoSteps(): number {\n return this.focusedView?.canUndoSteps || 0;\n }\n\n public get sceneState(): SceneState {\n if (this.appManager) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return this.appManager.sceneState!;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get pageState(): PageState {\n if (this._pageState) {\n return this._pageState.toObject();\n } else {\n throw new AppManagerNotInitError();\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 if (!this.attributes[\"_mainScenePath\"]) {\n this.safeSetAttributes({ _mainScenePath: INIT_DIR });\n }\n if (!this.attributes[\"_mainSceneIndex\"]) {\n this.safeSetAttributes({ _mainSceneIndex: 0 });\n }\n if (!this.attributes[Fields.Registered]) {\n this.safeSetAttributes({ [Fields.Registered]: {} });\n }\n }\n }\n}\n\nsetupBuiltin();\n\nexport * from \"./typings\";\n\nexport { BuiltinApps } from \"./BuiltinApps\";\nexport type { PublicEvent } from \"./callback\";\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 \"./InternalEmitter\";\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","MagixEventName","AppAttributes","AppAttributes2","AppEvents","AppEvents2","AppStatus","CursorState","CursorState2","REQUIRE_VERSION","MIN_WIDTH","MIN_HEIGHT","ROOT_DIR","INIT_DIR","callbacks","Emittery","constructor","currentInvoker","this","list","length","clear","emitReady","timer","initInterval","setInterval","invoke","push","item","shift","then","invoked","catch","error","message","isEmit","emit","empty","destroy","emitter","DatabaseName","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","register","src","setSyncRegisterApp","fn","syncRegisterApp","params","appClassesCache","delete","registered","set","srcOrAppOrFunction","downloadApp","appClass","name","status","reason","includes","define2","define","amd","loadApp","__esModule","default","Error","appClasses","app","addHooks","emitter2","createKindEmitter","unregister","kind2","kindEmitter","kindEmitters","clearListeners","has","setViewFocusScenePath","view","focusScenePath","setScenePath","room","scenePath","isWritable","state","sceneState","nextScenePath","callbacks2","mode","makeValidScenePath","displayer","scenes","entireScenes","scene","firstSceneName","putScenes","path","parseSceneDir","sceneList","split","pop","sceneDir","join","getVersionNumber","version","versionString","map","s2","padStart","parseInt","wait","time2","manager","authorId","observerId","data","eventName","AppMove","appMoveHandler","AppResize","appResizeHandler","AppBoxStateChange","boxStateChangeHandler","SetMainViewScenePath","setMainViewScenePathHandler","MoveCamera","moveCameraHandler","MoveCameraToContain","moveCameraToContainHandler","CursorMove","cursorMoveHandler","RootDirRemoved","rootDirRemovedHandler","boxManager","moveBox","resizeBox","Object","assign","skipUpdate","refreshViewSize","mainView","isEqual","omit","__spreadValues","camera","moveCamera","moveCameraToContain","createRootDirScenesCallback","mainViewProxy","rebind","addListeners","addMagixEventListener","mainMagixEventListener","removeListeners","removeMagixEventListener","onObjectByEvent","object","func","listenUpdated","listener","events2","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","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","on","args","appScopeEvent","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","debounce","appListener","makeAppEventListener","initScenes","createView","readonly","getFullScenePath","FullPath","getFullScenePathFromScenes","dir","getScenePath","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","err","currentAppState","AppProxy","baseInsertApp","emitAppSceneStateChange","emitAppIsWritableChange","setBoxMinSize","minWidth","minwidth","minHeight","minheight","setBoxTitle","title","fullScenePath","needCloseBox","cleanAttrs","error2","stack","closeBox","scenePathType","ScenePathType","None","removeScenes","destroyView","appStatus","remove","close","views","release","setViewScenePath","setDefaultCameraBound","setCameraBound","maxContentMode","minContentMode","mainViewCamera","moveCameraToContian","mainViewSize","mainViewClickHandler","cameraState","createMainView","moveCameraSizeByAttributes","start","setCameraAndSize","playgroundSizeChangeListener","sizeChangeHandler","sideEffectManager","off","started","addMainViewListener","addCameraListener","cameraReaction","mainViewScenePath","onReconnect","disableCameraTransform","stop","mainViewIsAddListener","addEventListener","mainViewClickListener","removeMainViewListener","removeEventListener","blurAllBox","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","onRootDirRemoved","dispatchInternalEvent","nextPath","callbacksNode","closeAll","attributesUpdateCallback","onSeek","isRecreate","dispose","createScenesCallback","onAddScene","onSceneChange","onRemoveScene","updateSceneState","mainViewScenesLength","emitMainViewScenesChange","node","currentIndex","sceneName","contextPath","_prevSceneIndex","_prevFocused","entries","setMinimized","ids","_2","startsWith","isReadonly","isManualWritable","setReadonly","disableSerialization","pageName","replace","findIndex","isInteger","removing","rootDirRemoving","MainViewProxy","ViewManager","appListeners","AppListeners","displayerStateListener","reconnectRefresher","setRoom","appCreateQueue","onCreated","onReconnected","isPlayer","onPlayerSeekStart","onPlayerSeekDone","onRemoveScenes","onReadonlyChanged","Registered","needClose","closeApp","updateRootDirRemoving","isRoom","getMainViewSceneDir","boxEventListener","onAppDelete","setMaximized","onMinimized","mainSceneIndex","onMainViewIndexChange","onFocusChange","onRegisteredChange","mainScenePath","resetScenePath","displayerWritableListener","redoUndo","RedoUndo","container","appIds","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","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","isReactComponent","C","forceUpdate","F","I","H","G","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","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","innerWidth","innerHeight","collectorRect","M2","_renderSideEffect","handleTrackStart","_handleTrackStart","_valSideEffectBinder","Ue","E2","events","_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","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","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","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","appManager","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","Reflect","ownKeys","fromPrototype","getPrototypeOf","setPrototypeOf","newToString","debounceFn","inputFunction","maxWait","Infinity","before","after","maxTimeout","debouncedFunction","arguments_","maxLater","shouldCallNow","wait2","ResizeObserverBoxOptions","ResizeObserverBoxOptions2","resizeObservers","msg","trigger","freeze","ResizeObserverSize","inlineSize","blockSize","DOMRectReadOnly","toJSON","_a","fromRect","rectangle","DOMRectReadOnly2","isSVG","isHidden","_b","offsetWidth","offsetHeight","getClientRects","isElement","Element","scope","ownerDocument","defaultView","global","cache","scrollRegexp","verticalRegexp","IE","navigator","userAgent","parseDimension","pixel","switchSizes","zeroBoxes","devicePixelContentBoxSize","borderBoxSize","contentBoxSize","calculateBoxSizes","forceRecalculation","cs","svg","ownerSVGElement","removePadding","boxSizing","writingMode","canScrollVertically","overflowY","canScrollHorizontally","overflowX","borderTop","borderRight","borderBottom","horizontalPadding","verticalPadding","horizontalBorderArea","verticalBorderArea","horizontalScrollbarThickness","clientHeight","verticalScrollbarThickness","clientWidth","widthReduction","heightReduction","contentWidth","contentHeight","borderBoxWidth","borderBoxHeight","devicePixelRatio","calculateBoxSize","observedBox","DEVICE_PIXEL_CONTENT_BOX","BORDER_BOX","ResizeObserverEntry","calculateDepthForNode","depth","parent","broadcastActiveObservations","shallowestDepth","ro","activeTargets","ot2","entry","targetDepth","lastReportedSize","observer","_i","callbacks_1","gatherActiveObservationsAtDepth","skippedTargets","observationTargets","some","ErrorEvent","createEvent","initEvent","dispatchEvent","queueMicroTask","toggle_1","el_1","MutationObserver","cb2","characterData","watching","observerConfig","childList","subtree","time","scheduled","scheduler","_this","stopped","until","elementsHaveResized","Scheduler2","updateCount","ResizeObservation","CONTENT_BOX","isReplacedElement","ResizeObservation2","ResizeObserverDetail","resizeObserver2","observerMap","getObservationIndex","ResizeObserverController","connect","detail","firstObservation","unobserve","lastObservation","ResizeObserverController2","ResizeObserver$1","ResizeObserver2","runningOnBrowser","isBot","supportsIntersectionObserver","supportsClassList","isHiDpi","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","instance","initCustomEvent","SRC","SRCSET","SIZES","POSTER","ORIGINALS","statusLoading","statusLoaded","statusApplied","statusError","statusNative","dataPrefix","statusDataName","getData","getStatus","setStatus","attrName","setData","resetStatus","hasEmptyStatus","hasStatusNative","statusesAfterLoading","safeCallback","arg1","arg2","arg3","addClass","removeClass","RegExp","getTempImage","llTempImage","_observer","updateLoadingCount","loadingCount","setToLoadCount","toLoadCount","getSourceTags","parentTag","sourceTags","childTag","forEachPictureSource","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","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","previewSRC","thumbnail","$page","$name","$img","ev","stopImmediatePropagation","togglePreview","$previewMask","$btnSidebar","renderFooterBtn","NS","$svg","createElementNS","$path","sidebarSVG","$pageJumps","$btnPageBack","arrowLeftSVG","$btnPlay","playSVG","pauseSVG","returnPlay","$btnPageNext","arrowRightSVG","$pageNumber","select","$totalPage","$icon","$iconActive","$btn","$previewPage","offsetTop","_c","velocity","paused","_animationFrameID","_loopTimestamp","looper","frames","floor","stepper","onStep","stiffness","damping","stepTo","pause","fSpring","fDamper","newVelocity","newCurrent","pagesIntrinsicWidth","lastVisit","pageOffsetY","pageOffsetX","setScale","requestIdleCallback","cancelSchedule","cancelIdleCallback","els","maxElCount","gcTimer","gc","sortedEls","getEl","el","PageEl","pageEl","_hwaTimeout","NaN","_turnOffHWA","$pages","pagesScrollTop","containerWidth","containerHeight","URL","searchParams","pagesIntrinsicYs","pagesMinHeight","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","RATIO_BASE_CONTAINER_HEIGHT","whiteboardView","pageScrollTop","mountWhiteboard","onUserScroll","userScrolling","scrollToPage","_onUserScroll","debouncedOnUserScroll","pageRenderer","updateUserScroll","viewer","DocsViewer","PageRenderer","scrollbar","ScrollBar","pageScrollTop2","pageScrollTo","pageScrollStepper","Stepper","setupScrollListener","debouncedRenderRatioHeight","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","pageWidth","pageHeight","diff","StaticDocsViewer","_a2","MessageChannel","exports3","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","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","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","Bd","Cd","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","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","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","fj","gj","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","Dj","lk","xa","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","self","toStringTag","leading","trailing","seeking","mobileSeeking","hoverTime","secondsPrefix","minutesPrefix","seekPause","handleTouchSeeking","changeCurrentTimePosition","handleSeeking","setTrackWidthState","trackWidth","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","_WindowManager","NETLESS_DEPS","WhiteVersion","WhiteWebSDKInvalidError","initManager","isCreated","pRetry","getInvisiblePlugin","retries","ensureAttributes","AppManager","_pageState","PageStateImpl","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","_addApp","AppManagerNotInitError","ParamsInvalidError","AppCreateError","setupScenePath","addApp","isValidScenePath","InvalidScenePath","appScenePath","nextIndex","mainViewSceneIndex","prevIndex","switchMainViewToWriter","onAppDestroy","setViewMode","Freedom","viewMode","setBoxState","boxState","focusedView","queryAll","pureCamera","cameraBound","onDestroy","_destroy","setAttributes","scheme","info","uuid2","locked","sceneSrc","isNull"],"mappings":"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"}
|